faccessat: Move AC_LIBOBJ invocation to module description.
[gnulib.git] / ChangeLog
1 2011-11-08  Bruno Haible  <bruno@clisp.org>
2
3         faccessat: Move AC_LIBOBJ invocation to module description.
4         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
5         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
6         invocation from here...
7         * modules/faccessat (configure.ac): ... to here. Invoke
8         gl_PREREQ_FACCESSAT.
9
10 2011-11-08  Bruno Haible  <bruno@clisp.org>
11
12         faccessat: Simplify autoconf macro.
13         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
14         gl_FUNC_EUIDACCESS.
15
16 2011-11-08  Bruno Haible  <bruno@clisp.org>
17
18         renameat: Fix dependencies.
19         * modules/renameat (Depends-on): Add stdbool.
20
21 2011-11-08  Bruno Haible  <bruno@clisp.org>
22
23         mkfifoat: Fix module description.
24         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
25         not gl_UNISTD_MODULE_INDICATOR.
26
27 2011-11-08  Bruno Haible  <bruno@clisp.org>
28
29         fstatat: Remove unused dependency.
30         * modules/fstatat (Depends-on): Remove fstat.
31
32 2011-11-08  Simon Josefsson  <simon@josefsson.org>
33
34         GNUmakefile: behave when Makefile is missing.
35         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
36
37 2011-11-08  Bruno Haible  <bruno@clisp.org>
38
39         openat: Conditionalize dependencies.
40         * lib/openat.c: Reduce the scope of some #includes.
41         * modules/openat (Depends-on): Add conditions.
42
43 2011-11-07  Jim Meyering  <meyering@redhat.com>
44
45         maint.mk: extract GPG key ID without using a temporary file
46         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
47         without using a temporary file.  Based on a suggestion from Werner Koch
48         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
49
50 2011-11-07  Eric Blake  <eblake@redhat.com>
51
52         grantpt: fix typo
53         * lib/stdlib.in.h (grantpt): Check correct function.
54
55         maint.mk: silence new syntax check
56         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
57
58 2011-11-06  Bruno Haible  <bruno@clisp.org>
59
60         Doc about floating-point and math API.
61         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
62         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
63
64 2011-11-06  Bruno Haible  <bruno@clisp.org>
65
66         stdalign tests: Skip the test when compiled by Sun C.
67         * tests/test-stdalign.c (main): Skip the test on Sun C.
68
69 2011-11-06  Bruno Haible  <bruno@clisp.org>
70
71         ansi-c++-opt: Complete the 2011-06-05 change.
72         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
73         does not support namespaces, set the variable to "no", not to ":".
74
75 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76
77         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
78
79 2011-11-06  Bruno Haible  <bruno@clisp.org>
80
81         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
82         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
83         (minus_zerol) [HP-UX]: New macro.
84         (unary_minus) [HP-UX]: New function.
85         (copysignl) [HP-UX]: Use unary_minus function.
86
87 2011-11-06  Bruno Haible  <bruno@clisp.org>
88
89         ldexp, ldexpf, ldexpl: Enhance tests.
90         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
91         and tests/test-ldexpl.c.
92         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
93         LDEXP, MIN_EXP, MAX_EXP): New macros.
94         Include test-ldexp.h.
95         (main): Just call test_function.
96         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
97         infinity.h, nan.h.
98         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
99         MAX_EXP): New macros.
100         Include test-ldexp.h.
101         (x, y): Remove variables.
102         (main): Just call test_function.
103         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
104         infinity.h, nan.h.
105         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
106         MAX_EXP): New macros.
107         Include test-ldexp.h.
108         (x, y): Remove variables.
109         (main): Just call test_function.
110         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
111         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
112         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
113         (Depends-on): Add isnand-nolibm, signbit, float.
114         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
115         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
116         (Depends-on): Add isnanf-nolibm, signbit, float.
117
118 2011-11-06  Bruno Haible  <bruno@clisp.org>
119
120         math tests: Cosmetics.
121         * tests/test-math-c++.cc: Reorder declarations.
122
123 2011-11-05  Bruno Haible  <bruno@clisp.org>
124
125         fma*: Simplify test.
126         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
127         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
128
129         Tests for module 'fmal'.
130         * modules/fmal-tests: New file.
131         * tests/test-fmal1.c: New file.
132         * tests/test-fmal2.c: New file.
133
134         New module 'fmal'.
135         * lib/math.in.h (fmal): New declaration.
136         * lib/fmal.c: New file.
137         * m4/fmal.m4: New file.
138         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
139         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
140         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
141         REPLACE_FMAL.
142         * modules/fmal: New file.
143         * doc/posix-functions/fmal.texi: Mention the new module and the various
144         bugs.
145
146         Tests for module 'fmaf'.
147         * modules/fmaf-tests: New file.
148         * tests/test-fmaf1.c: New file.
149         * tests/test-fmaf2.c: New file.
150
151         New module 'fmaf'.
152         * lib/math.in.h (fmaf): New declaration.
153         * lib/fmaf.c: New file.
154         * m4/fmaf.m4: New file.
155         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
156         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
157         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
158         REPLACE_FMAF.
159         * modules/fmaf: New file.
160         * doc/posix-functions/fmaf.texi: Mention the new module and the various
161         bugs.
162
163         Tests for module 'fma'.
164         * modules/fma-tests: New file.
165         * tests/test-fma1.c: New file.
166         * tests/test-fma1.h: New file.
167         * tests/test-fma2.c: New file.
168         * tests/test-fma2.h: New file.
169
170         New module 'fma'.
171         * lib/math.in.h (fma): New declaration.
172         * lib/fma.c: New file.
173         * m4/fma.m4: New file.
174         * m4/fegetround.m4: New file.
175         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
176         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
177         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
178         REPLACE_FMA.
179         * modules/fma: New file.
180         * doc/posix-functions/fma.texi: Mention the new module and the various
181         bugs.
182
183         Extend gl_MATHFUNC.
184         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
185         Support 'void' as argument type.
186         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
187
188 2011-11-05  Jim Meyering  <meyering@redhat.com>
189
190         maint.mk: also prohibit inclusion of dirent.h without use
191         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
192
193 2011-11-05  Bruno Haible  <bruno@clisp.org>
194
195         ldexpl tests: Avoid test failure on MSVC 9.
196         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
197         value. Needed in order to enforce the conversion from a value greater
198         than LDBL_MAX to Infinity.
199
200 2011-11-05  Bruno Haible  <bruno@clisp.org>
201
202         New modules 'at-internal', 'openat-h', split off from module 'openat'.
203         * modules/at-internal: New file, extracted from modules/openat.
204         * modules/openat-h: New file.
205         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
206         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
207         * modules/openat (Description): Add reference to POSIX function.
208         (Files): Remove lib/openat.h, lib/openat-proc.c.
209         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
210         intprops, unistd.
211         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
212         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
213         gl_FCNTL_MODULE_INDICATOR.
214         (Include): Remove unistd.h, openat.h.
215         * modules/areadlinkat (Files): Add lib/at-func.c.
216         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
217         openat-die, openat-h, save-cwd.
218         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
219         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
220         openat-die, openat-h, save-cwd, unistd.
221         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
222         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
223         openat-h, save-cwd. Remove fcntl-h, openat.
224         * modules/fchmodat (Files): Remove lib/openat.h.
225         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
226         openat, stdbool, unistd.
227         * modules/fchownat (Files): Remove lib/openat.h.
228         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
229         openat, stdbool, sys_stat.
230         * modules/fdopendir (Files): Remove lib/openat-priv.h,
231         lib/openat-proc.c.
232         (Depends-on): Add at-internal.
233         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
234         * modules/fstatat (Files): Remove lib/openat.h.
235         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
236         stdbool, unistd.
237         * modules/fts (Depends-on): Add openat-h.
238         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
239         openat.
240         * modules/mkdirat (Files): Remove lib/openat.h.
241         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
242         openat, stdbool, sys_stat.
243         * modules/mkfifoat (Files): Add lib/at-func.c.
244         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
245         openat-h, save-cwd. Remove fcntl-h, openat.
246         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
247         * modules/readlinkat (Files): Add lib/at-func.c.
248         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
249         openat-h, save-cwd. Remove fcntl-h, openat.
250         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
251         openat.
252         * modules/selinux-at (Files): Add lib/at-func.c.
253         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
254         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
255         * modules/symlinkat (Files): Add lib/at-func.c.
256         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
257         openat-h, save-cwd. Remove fcntl-h, openat.
258         * modules/unlinkat (Files): Remove lib/openat.h.
259         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
260         stdbool.
261         * modules/utimensat (Files): Add lib/at-func.c.
262         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
263         openat-die, openat-h, save-cwd.
264         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
265         * modules/fdutimensat-tests (Depends-on): Add openat.
266         * modules/fstatat-tests (Depends-on): Add openat-h.
267         * modules/readlinkat-tests (Depends-on): Add openat.
268         * modules/symlinkat-tests (Depends-on): Add openat.
269
270 2011-11-05  Bruno Haible  <bruno@clisp.org>
271
272         openat: Include <stdbool.h>.
273         * lib/openat.c: Include <stdbool.h>.
274
275 2011-11-04  Bruno Haible  <bruno@clisp.org>
276
277         fchownat, renameat, unlinkat: Fix dependencies.
278         * modules/fchownat (Depends-on): Add fstatat.
279         * modules/renameat (Depends-on): Likewise.
280         * modules/unlinkat (Depends-on): Likewise.
281
282 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
283
284         openat: remove direct dependency on dirent
285         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
286         and hasn't been needed ever since fdopendir was split into its own
287         module on 2009-08-31.
288         * modules/openat (Depends-on): Remove dirent.
289
290 2011-11-04  Bruno Haible  <bruno@clisp.org>
291
292         renameat: Optimize code size.
293         * modules/renameat (configure.ac): Don't compile at-func2.c if
294         REPLACE_RENAMEAT is 1.
295
296 2011-11-04  Bruno Haible  <bruno@clisp.org>
297
298         openat tests: Fix file list.
299         * modules/openat-tests (Files): Add tests/test-open.h.
300
301 2011-11-04  Bruno Haible  <bruno@clisp.org>
302
303         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
304         * modules/fchmodat (Depends-on): Add openat-die.
305         * modules/fchownat (Depends-on): Likewise.
306         * modules/linkat (Depends-on): Likewise.
307         * modules/renameat (Depends-on): Likewise.
308         * modules/openat (Depends-on): Add dirent.
309
310 2011-11-04  Jim Meyering  <meyering@redhat.com>
311
312         at-func*.c: fix comments
313         * lib/at-func2.c: Correct/improve first-line comment.
314         * lib/at-func.c: Correct grammar in first-line comment.
315
316 2011-11-04  Bruno Haible  <bruno@clisp.org>
317
318         New module 'mkdirat', split off from module 'openat'.
319         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
320         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
321         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
322         * modules/mkdirat: New file, extracted from modules/openat.
323         * modules/openat (Files): Remove lib/mkdirat.c.
324         (Depends-on): Remove mkdir.
325         (configure.ac): Remove AC_LIBOBJ of mkdirat.
326         (Include): Remove <sys/stat.h>.
327         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
328         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
329         tests/test-mkdir.h.
330         (Depends-on): Remove ignore-value.
331         (Makefile.am): Remove rules for test-mkdirat.
332         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
333         of module 'openat'.
334         * NEWS: Mention the change.
335
336 2011-11-04  Bruno Haible  <bruno@clisp.org>
337
338         closedir: Avoid warning on mingw.
339         * lib/closedir.c: Include <unistd.h>.
340
341 2011-11-04  Bruno Haible  <bruno@clisp.org>
342
343         New module 'fstatat', split off from module 'openat'.
344         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
345         defined.
346         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
347         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
348         gl_FUNC_FSTATAT.
349         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
350         * modules/fstatat: New file, extracted from modules/openat.
351         * modules/openat (Files): Remove lib/fstatat.c.
352         (Depends-on): Remove lstat.
353         (configure.ac): Remove AC_LIBOBJ of fstatat.
354         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
355         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
356         tests/test-lstat.h, tests/test-stat.h.
357         (Depends-on): Remove getcwd-lgpl.
358         (Makefile.am): Remove rules for test-fstatat.
359         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
360         of module 'openat'.
361         * NEWS: Mention the change.
362         * modules/getcwd (Depends-on): Add fstatat.
363         * modules/linkat (Depends-on): Likewise.
364         * modules/mkfifoat-tests (Depends-on): Likewise.
365         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
366
367 2011-11-03  Bruno Haible  <bruno@clisp.org>
368
369         New module 'unlinkat', split off from module 'openat'.
370         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
371         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
372         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
373         * modules/unlinkat: New file, extracted from modules/openat. Correct
374         the dependency conditions.
375         * modules/openat (Files): Remove lib/unlinkat.c.
376         (Depends-on): Remove rmdir, unlink.
377         (configure.ac): Remove AC_LIBOBJ of unlinkat.
378         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
379         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
380         tests/test-rmdir.h, tests/test-unlink.h.
381         (Depends-on): Remove unlinkdir.
382         (Makefile.am): Remove rules for test-unlinkat.
383         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
384         of module 'openat'.
385         * NEWS: Mention the change.
386         * modules/linkat-tests (Depends-on): Add unlinkat.
387         * modules/mkfifoat-tests (Depends-on): Likewise.
388         * modules/readlinkat-tests (Depends-on): Likewise.
389
390 2011-11-02  Bruno Haible  <bruno@clisp.org>
391
392         New module 'fchmodat', split off from module 'openat'.
393         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
394         defined.
395         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
396         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
397         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
398         * modules/fchmodat: New file, extracted from modules/openat.
399         * modules/openat (Files): Remove lib/fchmodat.c.
400         (configure.ac): Remove AC_LIBOBJ of fchmodat.
401         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
402         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
403         (Makefile.am): Remove rules for test-fchmodat.
404         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
405         of module 'openat'.
406         * NEWS: Mention the change.
407
408 2011-11-02  Jim Meyering  <meyering@redhat.com>
409
410         putenv: indent #definition of "environ" to placate cppi
411         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
412
413         gitlog-to-changelog: provide a ChangeLog-repair mechanism
414         Git logs are often treated as immutable, because editing them
415         changes the SHA1 checksums of all descendants.  Thus, errors in
416         git logs tend to stay there forever.  However, when we generate
417         a ChangeLog file -- typically for distribution -- from that git log,
418         we can actually make corrections in the generated file.  The key
419         lies in recording in machine-readable/applicable form the desired
420         corrections.  See --help for description and an example.
421         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
422         (usage): Describe it; alphabetize option descriptions.
423         (main): Honor the new option, carefully.
424
425 2011-11-01  Jim Meyering  <meyering@redhat.com>
426
427         gitlog-to-changelog: avoid an infloop
428         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
429         that ends up being empty.
430
431 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
432
433         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
434         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
435         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
436         contains (possibly-quoted) backslashes.  This should avoid
437         all-too-common shell bugs if COMPLICATED contains backslashes in
438         the "wrong" places.  Reported by David Evans in
439         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
440         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
441         because we want ASCII ranges.  Is there some reason we don't use
442         the C locale everywhere in this script?
443         (func_module, top level): Avoid unwanted pathname expansion when
444         $repo_url_prefix or $repo_url_suffix_repl contain shell
445         metacharacters like '?' and '*'.
446
447 2011-11-01  Bruno Haible  <bruno@clisp.org>
448
449         fchownat: Improve description.
450         * modules/fchownat (Description): Add link to function.
451
452 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
453
454         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
455         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
456         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
457         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
458
459 2011-11-01  Bruno Haible  <bruno@clisp.org>
460
461         alignof: Avoid collision with stdalign module.
462         * lib/alignof.h (alignof): Remove macro.
463         * NEWS: Mention the change.
464         Reported by Paul Eggert.
465
466 2011-11-01  Bruno Haible  <bruno@clisp.org>
467
468         New module 'fchownat', split off from module 'openat'.
469         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
470         defined.
471         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
472         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
473         invoke gl_FUNC_FCHOWNAT.
474         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
475         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
476         * modules/fchownat: New file, extracted from modules/openat.
477         * modules/openat (Files): Remove lib/fchownat.c.
478         (Depends-on): Remove lchown.
479         (configure.ac): Remove AC_LIBOBJ of fchownat.
480         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
481         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
482         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
483         (Depends-on): Remove mgetgroups, usleep, stat-time.
484         (configure.ac): Remove test for getegid.
485         (Makefile.am): Remove rules for test-fchownat.
486         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
487         of module 'openat'.
488         * NEWS: Mention the change.
489
490 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
491
492         stdalign: port better to MSVC and to Sun C 5.11
493         This fixes some of the problems reported by Bruno Haible in
494         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
495         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
496         shortcomings of MSVC and of Sun C 5.11.
497         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
498         around __declspec arg.
499         * modules/stdalign-tests (Files): Add tests/macros.h.
500         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
501         Include macros.h, for ASSERT.
502         (DECLARE_ALIGNED): Remove.
503         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
504         to catch bug), and to 1 if not (simplifies the rest of the code).
505         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
506         (CHECK_AUTO): Remove.
507         (CHECK_ALIGNED): Check only the alignment of the static vars,
508         since auto var alignment isn't supported by Sun C 5.11.
509         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
510         ASSERT failures are easier to diagnose.
511
512 2011-10-31  Bruno Haible  <bruno@clisp.org>
513
514         doc about some IRIX 5.3 problems.
515         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
516         on IRIX 5.3.
517         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
518         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
519         5.3.
520         * doc/posix-functions/grantpt.texi: Likewise.
521         * doc/posix-functions/unlockpt.texi: Likewise.
522         * doc/posix-functions/lgamma.texi: Likewise.
523         * doc/posix-functions/nextafter.texi: Likewise.
524         * doc/posix-functions/remainder.texi: Likewise.
525         * doc/posix-functions/select.texi: Mention misplaced declaration on
526         IRIX 5.3.
527         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
528
529 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
530
531         gitlog-to-changelog: fix git-log invocation.
532         git-log mishandles date strings before 1970-01-01 UTC, and there is
533         no use to specify --since=1970-01-01 by default anyway.
534         * build-aux/gitlog-to-changelog: By default, when no --since option
535         was given, do not specify explicit --since option to git-log.
536
537 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
538
539         gitlog-to-changelog: new option --append-dot.
540         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
541         first non-blank line of each commit message terminated with a dot.
542
543 2011-10-30  Bruno Haible  <bruno@clisp.org>
544
545         ffsl, ffsll: Avoid compilation error due to 'restrict'.
546         * lib/ffsl.h: Include <config.h>.
547         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
548
549 2011-10-30  Jim Meyering  <meyering@redhat.com>
550
551         GNUmakefile: reenable "make syntax-check" for most projects
552         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
553         build-aux variable", "syntax-check" would do nothing but succeed with
554         the "No version control files detected..." diagnostic (unless you
555         happened to override _build-aux via cfg.mk).
556         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
557         to precede inclusion of maint.mk.  Otherwise, these variables would
558         be used undefined in any project that does not override the default.
559
560 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
561
562         gitlog-to-changelog: treat a message with only blank lines as empty.
563         * build-aux/gitlog-to-changelog: Move the code that removes leading and
564         trailing blank lines before the code that issues a warning about an
565         empty commit message.
566
567 2011-10-30  Jim Meyering  <meyering@redhat.com>
568
569         test-parse-datetime.c: avoid new DST-related false positive test failure
570         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
571         based on the time/date we'll convert, not the current time.
572         Otherwise, the moment we cross a DST boundary like today's in
573         Europe, (CEST to CET), that offset ends up being one hour off.
574
575 2011-10-27  Bruno Haible  <bruno@clisp.org>
576
577         fstat: Tweak documentation.
578         * modules/fstat (Description): More precise description.
579
580 2011-10-27  Bruno Haible  <bruno@clisp.org>
581
582         Update documentation regarding 'largefile' module.
583         * doc/posix-functions/fstat.texi: Tweak wording.
584         * doc/posix-functions/opendir.texi: Mention that the module fixes the
585         problems with huge directories and/or small ino_t types.
586         * doc/posix-functions/readdir.texi: Likewise.
587         * doc/posix-functions/rewinddir.texi: Likewise.
588
589 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
590
591         maint.mk: don't maintain a second build-aux variable.
592         * maint.mk (build_aux): Removed.  The maintainer-makefile module
593         depends on GNUmakefile, which already maintains a cfg.mk
594         overridable $(_build-aux) for projects with a non-standard
595         build-aux directory location, although without the $(srcdir)
596         prefix.  Use that variable consistently instead of introducing a
597         second one.  Adjust all call sites.
598
599 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
600
601         Add stdalign module and use it in other modules.
602         This is based on a previous proposal by Bruno Haible
603         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
604
605         stdalign: new module
606         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
607         * modules/stdalign: New files.
608         * MODULES.html.sh (c1x_core_properties): Add stdalign.
609         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
610
611         stdalign-tests: new module
612         * modules/stdalign-tests, tests/test-stdalign.c: New files.
613
614         argp: use stdalign
615         * lib/argp-parse.c: Include <stdalign.h>.
616         (alignof): Remove.
617         * modules/argp (Depends-on): Add stdalign.
618
619         crypto libraries: use stdalign
620         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
621         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
622         Do not include <stdlib.h> twice, in md4.c.
623         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
624         because we are accessing a pointer's bit-pattern, not a size.
625         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
626         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
627         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
628         * modules/crypto/sha512: Likewise.
629
630         sys_socket: use stdalign, not alignof
631         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
632         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
633
634 2011-10-27  Bruno Haible  <bruno@clisp.org>
635
636         raise test: Avoid a test failure on Linux/MIPS.
637         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
638         because 99 is a valid signal on Linux/MIPS.
639
640 2011-10-27  Bruno Haible  <bruno@clisp.org>
641
642         nonblocking tests: Fix test failure on Linux/MIPS.
643         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
644         Set to 270000.
645
646 2011-10-27  Bruno Haible  <bruno@clisp.org>
647
648         utimensat: Work around problem on Linux/hppa.
649         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
650         values.
651         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
652
653 2011-10-25  Jim Meyering  <meyering@redhat.com>
654
655         maint.mk: fix a bug in sc_prohibit_stddef_without_use
656         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
657         after symbols like NULL, size_t, etc.
658         Reported by Alfred M. Szmidt.
659
660         maint.mk: exempt ENODATA from a syntax-check rule
661         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
662         from the sc_prohibit_always-defined_macros syntax-check rule.
663         Add a comment.  See this for more details:
664         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
665
666 2011-10-23  Jim Meyering  <meyering@redhat.com>
667
668         fts: close parent dir FD before returning from post-traversal fts_read
669         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
670         unlink A, even though an FD open on A remained.  This is suboptimal
671         (holding a file descriptor open longer than needed), but otherwise not
672         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
673         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
674         that represents a real problem: it causes the removal of A to fail
675         with e.g., "rm: cannot remove `A': Device or resource busy"
676
677         fts visits each directory twice and keeps a cache (fts_fd_ring) of
678         directory file descriptors.  After completing the final, FTS_DP,
679         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
680         cache, but then proceeded to add a new FD to it via the subsequent
681         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
682         final file descriptor would be closed only via fts_close's call to
683         fd_ring_clear.  Now, it is usually closed earlier, via the final
684         FTS_DP-returning fts_read call.
685         * lib/fts.c (restore_initial_cwd): New function, converted from
686         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
687         Update callers.
688         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
689         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
690
691 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
692             Bruno Haible  <bruno@clisp.org>
693             Jim Meyering  <jim@meyering.net>
694
695         readme-release: improve safety of release prep instructions.
696         * README-release: Don't git pull all branches when only master
697         is needed for the release process.
698         Run make maintainer-clean before changing trees and merging.
699         Don't try to run ./configure right after git pull in case files
700         that influence the bootstrap process have changed, move the
701         ./configure step to after running ./bootstrap.
702         Don't bootstrap "one last time"... it's the first time!
703
704 2011-10-22  Bruno Haible  <bruno@clisp.org>
705
706         errno, strerror-override: Support for MSVC 10.
707         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
708         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
709         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
710         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
711         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
712         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
713         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
714         Assign values compatible with MSVC 10.
715         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
716         New macros.
717         (GNULIB_defined_EWINSOCK): New macro.
718         * lib/strerror-override.c (strerror_override): Update accordingly.
719         * lib/strerror-override.h: Likewise.
720         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
721         longer equal to the corresponding errno value.
722         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
723
724 2011-10-22  Bruno Haible  <bruno@clisp.org>
725
726         perror: Recognize when test program crashes.
727         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
728         strerror, set gl_cv_func_perror_works to no.
729         Reported by Daniel Richard G. <skunk@iskunk.org>.
730
731         perror: Fix indentation.
732         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
733
734 2011-10-22  Bruno Haible  <bruno@clisp.org>
735
736         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
737         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
738         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
739         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
740         functions, not as a macro.
741         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
742         macros.
743         (isfinite, isinf, isnan, signbit): Check overloaded functions and
744         absence of macro.
745         Suggested by Eric Blake.
746         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
747
748 2011-10-21  Bruno Haible  <bruno@clisp.org>
749
750         relocatable-prog-wrapper: Don't leave object files behind.
751         * build-aux/install-reloc: Re-synchronize list of .o files to be
752         removed with list of compilation units.
753
754 2011-10-20  Bruno Haible  <bruno@clisp.org>
755
756         openpty, posix_openpt: Remove code duplication.
757         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
758         * lib/openpty.c: Include <stdlib.h>.
759         (openpty): Use posix_openpt on all platforms except IRIX.
760         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
761
762 2011-10-20  Bruno Haible  <bruno@clisp.org>
763
764         unlockpt: Detect invalid argument.
765         * lib/unlockpt.c: Include <fcntl.h>.
766         (unlockpt): Check whether fd is valid, using fcntl().
767         * modules/unlockpt (Depends-on): Add fcntl-h.
768
769 2011-10-20  Bruno Haible  <bruno@clisp.org>
770
771         openpty: Avoid compilation error on AIX 6.1.
772         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
773
774 2011-10-20  Bruno Haible  <bruno@clisp.org>
775
776         posix_openpt: Support for OpenBSD.
777         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
778         (posix_openpt) [OpenBSD]: New code.
779         * lib/grantpt.c: Include <fcntl.h>.
780         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
781         * modules/grantpt (Depends-on): Add fcntl-h.
782
783 2011-10-20  Bruno Haible  <bruno@clisp.org>
784
785         posix_openpt test: Coding style.
786         * tests/test-posix_openpt.c: Use GNU coding style.
787
788 2011-10-20  Bruno Haible  <bruno@clisp.org>
789
790         grantpt: Support --avoid=pt_chown.
791         * modules/grantpt (Files): Add lib/pty-private.h.
792
793 2011-10-20  Bruno Haible  <bruno@clisp.org>
794
795         posix_openpt: Fix autoconf macro.
796         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
797         unneeded check for _getpty.
798
799 2011-10-20  Bruno Haible  <bruno@clisp.org>
800
801         openpty: Update comments.
802         * lib/openpty.c: Add comments about Minix.
803
804 2011-10-19  Eric Blake  <eblake@redhat.com>
805
806         openpty: relax license
807         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
808
809         pt_chown: use configmake to simplify build
810         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
811
812         ptsname and others: relax license
813         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
814         * modules/unlockpt (License): Likewise.
815         * modules/pt_chown (License): Likewise.
816         * modules/ptsname (License): Likewise.
817         * modules/ttyname_r (License): Likewise.
818
819 2011-10-19  Jim Meyering  <meyering@redhat.com>
820
821         posix_openpt: remove spurious #endif
822         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
823
824 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
825
826         maint.mk: Respect $(build_aux) in web-manual rule.
827         * top/maint.mk (web-manual): Find gen-announce script in user's
828         $(build_aux) directory instead of hard-coding 'build-aux'.
829
830 2011-10-19  Bruno Haible  <bruno@clisp.org>
831
832         posix_openpt: Fix compilation error.
833         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
834         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
835         Mention the openpty module as an alternative.
836
837 2011-10-19  Bruno Haible  <bruno@clisp.org>
838
839         Support for old NeXTstep 3.3 frexp().
840         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
841         execution time of the test to 5 seconds.
842         Reported by Daniel Richard G. <skunk@iskunk.org>.
843
844 2011-10-19  Bruno Haible  <bruno@clisp.org>
845
846         Support for old NeXTstep 3.3 sed.
847         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
848         part, use /.../, not \|...|. Escape periods in the header file name.
849         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
850         Reported by Daniel Richard G. <skunk@iskunk.org>.
851
852 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
853
854         Support for old NeXTstep 3.3 gcc.
855         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
856         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
857         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
858         * lib/spawn.in.h (_Restrict_arr_): Likewise.
859         * lib/regex.h (_Restrict_arr_): Likewise.
860         * lib/regex_internal.h (re_token_t): Likewise.
861         * lib/regexec.c (check_node_accept_bytes): Likewise.
862         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
863
864 2011-10-18  Eric Blake  <eblake@redhat.com>
865
866         posix_openpt: new module
867         * modules/posix_openpt: New module.
868         * m4/posix_openpt.m4: New file.
869         * lib/posix_openpt.c: Likewise.
870         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
871         (gl_STDLIB_H_DEFAULTS): Set defaults.
872         * modules/stdlib (Makefile.am): Substitute macros.
873         * lib/stdlib.in.h (posix_openpt): Declare.
874         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
875         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
876         * modules/posix_openpt-tests: New test module.
877         * tests/test-posix_openpt.c: New test.
878
879 2011-10-15  Bruno Haible  <bruno@clisp.org>
880
881         xstrtoll: Fix compilation failure.
882         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
883         from lib/strtol.c.
884         * doc/posix-headers/limits.texi: Mention missing numerical limits on
885         some platforms.
886         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
887
888 2011-10-15  Bruno Haible  <bruno@clisp.org>
889
890         vasnprintf: Optimize bit search operation.
891         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
892         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
893         gl_DOUBLE_EXPONENT_LOCATION.
894         * modules/vasnprintf (Files): Add m4/exponentd.m4.
895         * modules/unistdio/u8-vasnprintf (Files): Likewise.
896         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
897         * modules/unistdio/u16-vasnprintf (Files): Likewise.
898         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
899         * modules/unistdio/u32-vasnprintf (Files): Likewise.
900         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
901         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
902         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
903
904 2011-10-15  Bruno Haible  <bruno@clisp.org>
905
906         vasnprintf: Fix comments.
907         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
908
909 2011-10-14  Bruno Haible  <bruno@clisp.org>
910
911         Tests for module 'integer_length_ll'.
912         * modules/integer_length_ll-tests: New file.
913         * tests/test-integer_length_ll.c: New file.
914
915         New module 'integer_length_ll'.
916         * lib/integer_length_ll.c: New file.
917         * modules/integer_length_ll: New file.
918
919 2011-10-14  Bruno Haible  <bruno@clisp.org>
920
921         Tests for module 'integer_length_l'.
922         * modules/integer_length_l-tests: New file.
923         * tests/test-integer_length_l.c: New file.
924
925         New module 'integer_length_l'.
926         * lib/integer_length_l.c: New file.
927         * modules/integer_length_l: New file.
928
929 2011-10-14  Bruno Haible  <bruno@clisp.org>
930
931         Tests for module 'integer_length'.
932         * modules/integer_length-tests: New file.
933         * tests/test-integer_length.c: New file.
934
935         New module 'integer_length'.
936         * lib/integer_length.h: New file.
937         * lib/integer_length.c: New file.
938         * modules/integer_length: New file.
939
940 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
941
942         popen: Fix dependency conditions.
943         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
944
945 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
946
947         perror: Fix autoconf test.
948         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
949         <stdlib.h> and <string.h>.
950
951 2011-10-14  Bruno Haible  <bruno@clisp.org>
952
953         ffsl: Optimize on 64-bit platforms.
954         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
955         unrolling.
956
957 2011-10-13  Bruno Haible  <bruno@clisp.org>
958
959         ffsl: Optimize on 32-bit platforms.
960         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
961         use ffs() without a loop.
962
963         ffsl, ffsll: Optimize for GCC.
964         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
965         * lib/ffsl.c (GCC_BUILTIN): New macro.
966         * lib/ffsll.c (GCC_BUILTIN): Likewise.
967
968 2011-10-13  Bruno Haible  <bruno@clisp.org>
969
970         ffs, bcopy, memset: Support symbol renaming via config.h.
971         * lib/ffs.c: Include <config.h>.
972         * lib/bcopy.c: Likewise.
973         * lib/memset.c: Likewise.
974
975 2011-10-10  Bruno Haible  <bruno@clisp.org>
976
977         atanl: Simplify for platforms where 'long double' == 'double'.
978         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
979         alternative implementation.
980         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
981         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
982         * modules/atanl (Depends-on): Add atan. Update conditions.
983
984 2011-10-10  Bruno Haible  <bruno@clisp.org>
985
986         acosl: Simplify for platforms where 'long double' == 'double'.
987         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
988         alternative implementation.
989         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
990         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
991         * modules/acosl (Depends-on): Add acos. Update conditions.
992
993 2011-10-10  Bruno Haible  <bruno@clisp.org>
994
995         asinl: Simplify for platforms where 'long double' == 'double'.
996         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
997         alternative implementation.
998         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
999         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1000         * modules/asinl (Depends-on): Add asin. Update conditions.
1001
1002 2011-10-10  Bruno Haible  <bruno@clisp.org>
1003
1004         tanl: Simplify for platforms where 'long double' == 'double'.
1005         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1006         implementation.
1007         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1008         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1009         * modules/tanl (Depends-on): Add tan. Update conditions.
1010         (configure.ac): Don't compile trigl.c if
1011         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1012
1013 2011-10-10  Bruno Haible  <bruno@clisp.org>
1014
1015         cosl: Simplify for platforms where 'long double' == 'double'.
1016         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1017         implementation.
1018         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1019         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1020         * modules/cosl (Depends-on): Add cos. Update conditions.
1021         (configure.ac): Don't compile sincosl.c and trigl.c if
1022         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1023
1024 2011-10-10  Bruno Haible  <bruno@clisp.org>
1025
1026         sinl: Simplify for platforms where 'long double' == 'double'.
1027         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1028         implementation.
1029         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1030         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1031         * modules/sinl (Depends-on): Add sin. Update conditions.
1032         (configure.ac): Don't compile sincosl.c and trigl.c if
1033         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1034
1035 2011-10-10  Bruno Haible  <bruno@clisp.org>
1036
1037         logl: Simplify for platforms where 'long double' == 'double'.
1038         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1039         implementation.
1040         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1041         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1042         * modules/logl (Depends-on): Add log. Update conditions.
1043
1044 2011-10-10  Bruno Haible  <bruno@clisp.org>
1045
1046         expl: Simplify for platforms where 'long double' == 'double'.
1047         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1048         implementation.
1049         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1050         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1051         * modules/expl (Depends-on): Add exp. Update conditions.
1052
1053 2011-10-10  Bruno Haible  <bruno@clisp.org>
1054
1055         sqrtl: Simplify for platforms where 'long double' == 'double'.
1056         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1057         alternative implementation.
1058         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1059         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1060         * modules/sqrtl (Depends-on): Update conditions.
1061
1062 2011-10-10  Bruno Haible  <bruno@clisp.org>
1063
1064         ldexpl: Simplify for platforms where 'long double' == 'double'.
1065         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1066         alternative implementation.
1067         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1068         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1069         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
1070
1071 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
1072
1073         ffsll: set correct witness
1074         * modules/ffsll (configure.ac): Fix typo.
1075
1076 2011-10-10  Bruno Haible  <bruno@clisp.org>
1077
1078         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
1079         * lib/printf-frexpl.c: Include <config.h>.
1080         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1081         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
1082         second time.
1083         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
1084         gl_LONG_DOUBLE_VS_DOUBLE.
1085         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
1086         conditions.
1087
1088 2011-10-10  Bruno Haible  <bruno@clisp.org>
1089
1090         frexpl: Simplify for platforms where 'long double' == 'double'.
1091         * lib/frexpl.c: Include <config.h>.
1092         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1093         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1094         time.
1095         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1096         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1097         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
1098         * modules/frexpl (Depends-on): Add frexp. Update conditions.
1099         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
1100         conditions.
1101
1102 2011-10-10  Jim Meyering  <meyering@redhat.com>
1103
1104         test-renameat: don't leave behind a temporary file
1105         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
1106           ERROR: files left in build directory after distclean:
1107           ./gltests/test-renameat.too
1108           make[1]: *** [distcleancheck] Error 1
1109         Reported by Tom G. Christensen.
1110
1111 2011-10-09  Bruno Haible  <bruno@clisp.org>
1112
1113         rint: Determine RINT_LIBM correctly on AIX 7.
1114         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
1115         directly, not only through a function pointer. Also accept an optional
1116         4th argument with extra code.
1117         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
1118         rintf() call by gcc when optimizing.
1119
1120         mathfunc.m4: Refactor.
1121         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
1122         m4 variable.
1123
1124 2011-10-09  Bruno Haible  <bruno@clisp.org>
1125
1126         rintl: Simplify for platforms where 'long double' == 'double'.
1127         * lib/rintl.c: Include <config.h>.
1128         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1129         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1130         time.
1131         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1132         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1133         * modules/rintl (Depends-on): Add rint. Update conditions.
1134
1135 2011-10-09  Bruno Haible  <bruno@clisp.org>
1136
1137         roundl: Simplify for platforms where 'long double' == 'double'.
1138         * lib/roundl.c: Include <config.h>.
1139         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1140         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1141         time.
1142         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1143         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1144         * modules/roundl (Depends-on): Add round. Update conditions.
1145
1146 2011-10-09  Bruno Haible  <bruno@clisp.org>
1147
1148         truncl: Simplify for platforms where 'long double' == 'double'.
1149         * lib/truncl.c: Include <config.h>.
1150         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1151         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1152         time.
1153         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1154         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1155         * modules/truncl (Depends-on): Add trunc. Update conditions.
1156
1157 2011-10-09  Bruno Haible  <bruno@clisp.org>
1158
1159         ceill: Simplify for platforms where 'long double' == 'double'.
1160         * lib/ceill.c: Include <config.h>.
1161         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1162         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1163         time.
1164         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1165         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1166         * modules/ceill (Depends-on): Add ceil. Update conditions.
1167
1168 2011-10-09  Bruno Haible  <bruno@clisp.org>
1169
1170         floorl: Simplify for platforms where 'long double' == 'double'.
1171         * lib/floorl.c: Include <config.h>.
1172         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1173         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1174         time.
1175         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1176         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1177         * modules/floorl (Depends-on): Add floor. Update conditions.
1178
1179 2011-10-09  Bruno Haible  <bruno@clisp.org>
1180
1181         rint: Fix ordering constraints.
1182         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
1183         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1184         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1185
1186 2011-10-09  Bruno Haible  <bruno@clisp.org>
1187
1188         copysignl: Simplify for platforms where 'long double' == 'double'.
1189         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1190         alternative.
1191         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1192         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1193         * modules/copysignl (Depends-on): Add copysign. Update conditions.
1194
1195 2011-10-09  Bruno Haible  <bruno@clisp.org>
1196
1197         Tests for module 'rintl'.
1198         * modules/rintl-tests: New file.
1199         * tests/test-rintl.c: New file.
1200
1201         New module 'rintl'.
1202         * lib/math.in.h (rintl): New declaration.
1203         * lib/rintl.c: New file.
1204         * m4/rintl.m4: New file.
1205         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
1206         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
1207         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
1208         * modules/rintl: New file.
1209         * tests/test-math-c++.cc: Check the declaration of rintl.
1210         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1211         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
1212         * doc/posix-functions/rintl.texi: Mention the new module.
1213
1214 2011-10-09  Bruno Haible  <bruno@clisp.org>
1215
1216         Tests for module 'rintf'.
1217         * modules/rintf-tests: New file.
1218         * tests/test-rintf.c: New file.
1219
1220         New module 'rintf'.
1221         * lib/math.in.h (rintf): New declaration.
1222         * lib/rintf.c: New file.
1223         * m4/rintf.m4: New file.
1224         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
1225         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
1226         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
1227         * modules/rintf: New file.
1228         * tests/test-math-c++.cc: Check the declaration of rintf.
1229         * doc/posix-functions/rintf.texi: Mention the new module.
1230
1231 2011-10-09  Bruno Haible  <bruno@clisp.org>
1232
1233         rint: Support for MSVC.
1234         * lib/math.in.h (rint): New declaration.
1235         * lib/rint.c: New file.
1236         * m4/rint.m4: New file.
1237         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
1238         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
1239         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
1240         * modules/rint (Description): Fix.
1241         (Files): Add lib/rint.c, m4/rint.m4.
1242         (Depends-on): Add math.
1243         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
1244         gl_MATH_MODULE_INDICATOR.
1245         * tests/test-math-c++.cc: Check the declaration of rint.
1246         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1247         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
1248         * doc/posix-functions/rint.texi: Mention the replacement provided by
1249         the module.
1250
1251         rint tests: More tests.
1252         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
1253         minus-zero.h, infinity.h, nan.h.
1254         (main): Skip the test if the current rounding mode is not standard. Add
1255         tests for negative numbers, minus zero, infinity, NaN.
1256         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
1257         tests/nan.h.
1258         (Depends-on): Add isnand-nolibm.
1259
1260 2011-10-09  Bruno Haible  <bruno@clisp.org>
1261
1262         Tests for module 'copysignl'.
1263         * modules/copysignl-tests: New file.
1264         * tests/test-copysignl.c: New file.
1265
1266         New module 'copysignl'.
1267         * lib/math.in.h (copysignl): New declaration.
1268         * lib/copysignl.c: New file.
1269         * m4/copysignl.m4: New file.
1270         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
1271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
1272         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
1273         HAVE_COPYSIGNL.
1274         * modules/copysignl: New file.
1275         * tests/test-math-c++.cc: Check the declaration of copysignl.
1276         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1277         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
1278         * doc/posix-functions/copysignl.texi: Mention the new module.
1279
1280 2011-10-09  Bruno Haible  <bruno@clisp.org>
1281
1282         Tests for module 'copysignf'.
1283         * modules/copysignf-tests: New file.
1284         * tests/test-copysignf.c: New file.
1285
1286         New module 'copysignf'.
1287         * lib/math.in.h (copysignf): New declaration.
1288         * lib/copysignf.c: New file.
1289         * m4/copysignf.m4: New file.
1290         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
1291         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
1292         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
1293         HAVE_COPYSIGNF.
1294         * modules/copysignf: New file.
1295         * tests/test-math-c++.cc: Check the declaration of copysignf.
1296         * doc/posix-functions/copysignf.texi: Mention the new module.
1297
1298 2011-10-09  Bruno Haible  <bruno@clisp.org>
1299
1300         Ensure that HAVE_* variables are set to 1 before they are set to 0.
1301         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
1302         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
1303         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1304         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
1305         gl_SIGNAL_H_DEFAULTS.
1306
1307 2011-10-09  Bruno Haible  <bruno@clisp.org>
1308
1309         poll: Make macro safer.
1310         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
1311         ac_cv_header_poll_h is not set.
1312
1313 2011-10-09  Bruno Haible  <bruno@clisp.org>
1314
1315         copysign: Provide replacement.
1316         * lib/math.in.h (copysign): New declaration.
1317         * lib/copysign.c: New file.
1318         * m4/copysign.m4: New file.
1319         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
1320         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
1321         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
1322         HAVE_COPYSIGN.
1323         * modules/copysign (Description): Clarify.
1324         (Files): Add lib/copysign.c, m4/copysign.m4.
1325         (Depends-on): Add math, signbit.
1326         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
1327         gl_MATH_MODULE_INDICATOR.
1328         * tests/test-math-c++.cc: Check the declaration of copysign.
1329         * doc/posix-functions/copysign.texi: Mention the effects of the module
1330         on Minix and MSVC.
1331
1332 2011-10-09  Bruno Haible  <bruno@clisp.org>
1333
1334         isinf: Ensure macro on AIX 5.1.
1335         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
1336         macro.
1337         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
1338
1339 2011-10-09  Bruno Haible  <bruno@clisp.org>
1340
1341         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
1342         * modules/snprintf-posix-tests (configure.ac): Require
1343         gl_LONG_DOUBLE_VS_DOUBLE.
1344         * modules/sprintf-posix-tests (configure.ac): Likewise.
1345         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
1346         * modules/vasprintf-posix-tests (configure.ac): Likewise.
1347         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
1348         * modules/vsprintf-posix-tests (configure.ac): Likewise.
1349         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
1350         tests on platforms where 'long double' is the same as 'double'.
1351         * tests/test-sprintf-posix.h (test_function): Likewise.
1352         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1353         * tests/test-vasprintf-posix.c (test_function): Likewise.
1354
1355         *printf: Fix for platforms where 'long double' == 'double'.
1356         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1357         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
1358         * modules/dprintf-posix (Files): Add m4/math_h.m4.
1359         * modules/fprintf-posix (Files): Likewise.
1360         * modules/obstack-printf-posix (Files): Likewise.
1361         * modules/snprintf-posix (Files): Likewise.
1362         * modules/sprintf-posix (Files): Likewise.
1363         * modules/vasnprintf (Files): Likewise.
1364         * modules/vasnprintf-posix (Files): Likewise.
1365         * modules/vasprintf-posix (Files): Likewise.
1366         * modules/vdprintf-posix (Files): Likewise.
1367         * modules/vfprintf-posix (Files): Likewise.
1368         * modules/vsnprintf-posix (Files): Likewise.
1369         * modules/vsprintf-posix (Files): Likewise.
1370         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1371         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1372         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1373         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1374         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1375         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1376         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1377
1378         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
1379         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
1380         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1381         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
1382         'long double'.
1383         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
1384
1385         isinf: Fix for platforms where 'long double' == 'double'.
1386         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1387         Don't blindly assume 80-bit 'long double'.
1388
1389         isfinite: Fix for platforms where 'long double' == 'double'.
1390         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1391         Don't blindly assume 80-bit 'long double'.
1392
1393         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
1394         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
1395         * modules/isfinite-tests (configure.ac): Require
1396         gl_LONG_DOUBLE_VS_DOUBLE.
1397         * modules/isinf-tests (configure.ac): Likewise.
1398         * modules/isnan-tests (configure.ac): Likewise.
1399         * modules/isnanl-tests (configure.ac): Likewise.
1400         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
1401         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
1402         tests on platforms where 'long double' is the same as 'double'.
1403         * tests/test-isinf.c (test_isinfl): Likewise.
1404         * tests/test-isnan.c (test_long_double): Likewise.
1405         * tests/test-isnanl.h (main): Likewise.
1406
1407 2011-10-08  Bruno Haible  <bruno@clisp.org>
1408
1409         Tests for module 'tanhf'.
1410         * modules/tanhf-tests: New file.
1411         * tests/test-tanhf.c: New file.
1412
1413         New module 'tanhf'.
1414         * lib/math.in.h (tanhf): New declaration.
1415         * lib/tanhf.c: New file.
1416         * m4/tanhf.m4: New file.
1417         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
1418         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
1419         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
1420         * modules/tanhf: New file.
1421         * tests/test-math-c++.cc: Check the declaration of tanhf.
1422         * doc/posix-functions/tanhf.texi: Mention the new module.
1423
1424         tanh: Use a .m4 file.
1425         * m4/tanh.m4: New file.
1426         * modules/tanh (Files): Add it.
1427         (configure.ac): Just invoke gl_FUNC_TANH.
1428
1429 2011-10-08  Bruno Haible  <bruno@clisp.org>
1430
1431         Tests for module 'coshf'.
1432         * modules/coshf-tests: New file.
1433         * tests/test-coshf.c: New file.
1434
1435         New module 'coshf'.
1436         * lib/math.in.h (coshf): New declaration.
1437         * lib/coshf.c: New file.
1438         * m4/coshf.m4: New file.
1439         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1440         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1441         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1442         * modules/coshf: New file.
1443         * tests/test-math-c++.cc: Check the declaration of coshf.
1444         * doc/posix-functions/coshf.texi: Mention the new module.
1445
1446         cosh: Use a .m4 file.
1447         * m4/cosh.m4: New file.
1448         * modules/cosh (Files): Add it.
1449         (configure.ac): Just invoke gl_FUNC_COSH.
1450
1451 2011-10-08  Bruno Haible  <bruno@clisp.org>
1452
1453         Tests for module 'sinhf'.
1454         * modules/sinhf-tests: New file.
1455         * tests/test-sinhf.c: New file.
1456
1457         New module 'sinhf'.
1458         * lib/math.in.h (sinhf): New declaration.
1459         * lib/sinhf.c: New file.
1460         * m4/sinhf.m4: New file.
1461         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1462         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1463         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1464         * modules/sinhf: New file.
1465         * tests/test-math-c++.cc: Check the declaration of sinhf.
1466         * doc/posix-functions/sinhf.texi: Mention the new module.
1467
1468         sinh: Use a .m4 file.
1469         * m4/sinh.m4: New file.
1470         * modules/sinh (Files): Add it.
1471         (configure.ac): Just invoke gl_FUNC_SINH.
1472
1473 2011-10-08  Bruno Haible  <bruno@clisp.org>
1474
1475         Tests for module 'atan2f'.
1476         * modules/atan2f-tests: New file.
1477         * tests/test-atan2f.c: New file.
1478
1479         New module 'atan2f'.
1480         * lib/math.in.h (atan2f): New declaration.
1481         * lib/atan2f.c: New file.
1482         * m4/atan2f.m4: New file.
1483         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1484         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1485         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1486         * modules/atan2f: New file.
1487         * tests/test-math-c++.cc: Check the declaration of atan2f.
1488         * doc/posix-functions/atan2f.texi: Mention the new module.
1489
1490         atan2: Use a .m4 file.
1491         * m4/atan2.m4: New file.
1492         * modules/atan2 (Files): Add it.
1493         (configure.ac): Just invoke gl_FUNC_ATAN2.
1494
1495 2011-10-08  Bruno Haible  <bruno@clisp.org>
1496
1497         Tests for module 'atanf'.
1498         * modules/atanf-tests: New file.
1499         * tests/test-atanf.c: New file.
1500
1501         New module 'atanf'.
1502         * lib/math.in.h (atanf): New declaration.
1503         * lib/atanf.c: New file.
1504         * m4/atanf.m4: New file.
1505         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1506         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1507         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1508         * modules/atanf: New file.
1509         * tests/test-math-c++.cc: Check the declaration of atanf.
1510         * doc/posix-functions/atanf.texi: Mention the new module.
1511
1512         atan: Use a .m4 file.
1513         * m4/atan.m4: New file.
1514         * modules/atan (Files): Add it.
1515         (configure.ac): Just invoke gl_FUNC_ATAN.
1516
1517 2011-10-08  Bruno Haible  <bruno@clisp.org>
1518
1519         Tests for module 'acosf'.
1520         * modules/acosf-tests: New file.
1521         * tests/test-acosf.c: New file.
1522
1523         New module 'acosf'.
1524         * lib/math.in.h (acosf): New declaration.
1525         * lib/acosf.c: New file.
1526         * m4/acosf.m4: New file.
1527         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1528         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1529         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1530         * modules/acosf: New file.
1531         * tests/test-math-c++.cc: Check the declaration of acosf.
1532         * doc/posix-functions/acosf.texi: Mention the new module.
1533
1534         acos: Use a .m4 file.
1535         * m4/acos.m4: New file.
1536         * modules/acos (Files): Add it.
1537         (configure.ac): Just invoke gl_FUNC_ACOS.
1538
1539 2011-10-08  Bruno Haible  <bruno@clisp.org>
1540
1541         Tests for module 'asinf'.
1542         * modules/asinf-tests: New file.
1543         * tests/test-asinf.c: New file.
1544
1545         New module 'asinf'.
1546         * lib/math.in.h (asinf): New declaration.
1547         * lib/asinf.c: New file.
1548         * m4/asinf.m4: New file.
1549         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1550         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1551         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1552         * modules/asinf: New file.
1553         * tests/test-math-c++.cc: Check the declaration of asinf.
1554         * doc/posix-functions/asinf.texi: Mention the new module.
1555
1556         asin: Use a .m4 file.
1557         * m4/asin.m4: New file.
1558         * modules/asin (Files): Add it.
1559         (configure.ac): Just invoke gl_FUNC_ASIN.
1560
1561 2011-10-08  Bruno Haible  <bruno@clisp.org>
1562
1563         Tests for module 'tanf'.
1564         * modules/tanf-tests: New file.
1565         * tests/test-tanf.c: New file.
1566
1567         New module 'tanf'.
1568         * lib/math.in.h (tanf): New declaration.
1569         * lib/tanf.c: New file.
1570         * m4/tanf.m4: New file.
1571         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1572         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1573         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1574         * modules/tanf: New file.
1575         * tests/test-math-c++.cc: Check the declaration of tanf.
1576         * doc/posix-functions/tanf.texi: Mention the new module.
1577
1578         tan: Use a .m4 file.
1579         * m4/tan.m4: New file.
1580         * modules/tan (Files): Add it.
1581         (configure.ac): Just invoke gl_FUNC_TAN.
1582
1583 2011-10-08  Bruno Haible  <bruno@clisp.org>
1584
1585         Tests for module 'cosf'.
1586         * modules/cosf-tests: New file.
1587         * tests/test-cosf.c: New file.
1588
1589         New module 'cosf'.
1590         * lib/math.in.h (cosf): New declaration.
1591         * lib/cosf.c: New file.
1592         * m4/cosf.m4: New file.
1593         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1594         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1595         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1596         * modules/cosf: New file.
1597         * tests/test-math-c++.cc: Check the declaration of cosf.
1598         * doc/posix-functions/cosf.texi: Mention the new module.
1599
1600         cos: Use a .m4 file.
1601         * m4/cos.m4: New file.
1602         * modules/cos (Files): Add it.
1603         (configure.ac): Just invoke gl_FUNC_COS.
1604
1605 2011-10-08  Bruno Haible  <bruno@clisp.org>
1606
1607         Tests for module 'sinf'.
1608         * modules/sinf-tests: New file.
1609         * tests/test-sinf.c: New file.
1610
1611         New module 'sinf'.
1612         * lib/math.in.h (sinf): New declaration.
1613         * lib/sinf.c: New file.
1614         * m4/sinf.m4: New file.
1615         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1616         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1617         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1618         * modules/sinf: New file.
1619         * tests/test-math-c++.cc: Check the declaration of sinf.
1620         * doc/posix-functions/sinf.texi: Mention the new module.
1621
1622         sin: Use a .m4 file.
1623         * m4/sin.m4: New file.
1624         * modules/sin (Files): Add it.
1625         (configure.ac): Just invoke gl_FUNC_SIN.
1626
1627 2011-10-08  Bruno Haible  <bruno@clisp.org>
1628
1629         Tests for module 'powf'.
1630         * modules/powf-tests: New file.
1631         * tests/test-powf.c: New file.
1632
1633         New module 'powf'.
1634         * lib/math.in.h (powf): New declaration.
1635         * lib/powf.c: New file.
1636         * m4/powf.m4: New file.
1637         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1638         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1639         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1640         * modules/powf: New file.
1641         * tests/test-math-c++.cc: Check the declaration of powf.
1642         * doc/posix-functions/powf.texi: Mention the new module.
1643
1644         pow: Use a .m4 file.
1645         * m4/pow.m4: New file.
1646         * modules/pow (Files): Add it.
1647         (configure.ac): Just invoke gl_FUNC_POW.
1648
1649 2011-10-08  Bruno Haible  <bruno@clisp.org>
1650
1651         Tests for module 'log10f'.
1652         * modules/log10f-tests: New file.
1653         * tests/test-log10f.c: New file.
1654
1655         New module 'log10f'.
1656         * lib/math.in.h (log10f): New declaration.
1657         * lib/log10f.c: New file.
1658         * m4/log10f.m4: New file.
1659         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1660         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1661         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1662         * modules/log10f: New file.
1663         * tests/test-math-c++.cc: Check the declaration of log10f.
1664         * doc/posix-functions/log10f.texi: Mention the new module.
1665
1666         log10: Use a .m4 file.
1667         * m4/log10.m4: New file.
1668         * modules/log10 (Files): Add it.
1669         (configure.ac): Just invoke gl_FUNC_LOG10.
1670
1671 2011-10-08  Bruno Haible  <bruno@clisp.org>
1672
1673         Tests for module 'logf'.
1674         * modules/logf-tests: New file.
1675         * tests/test-logf.c: New file.
1676
1677         New module 'logf'.
1678         * lib/math.in.h (logf): New declaration.
1679         * lib/logf.c: New file.
1680         * m4/logf.m4: New file.
1681         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1682         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1683         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1684         * modules/logf: New file.
1685         * tests/test-math-c++.cc: Check the declaration of logf.
1686         * doc/posix-functions/logf.texi: Mention the new module.
1687
1688         log: Use a .m4 file.
1689         * m4/log.m4: New file.
1690         * modules/log (Files): Add it.
1691         (configure.ac): Just invoke gl_FUNC_LOG.
1692
1693 2011-10-08  Bruno Haible  <bruno@clisp.org>
1694
1695         Tests for module 'expf'.
1696         * modules/expf-tests: New file.
1697         * tests/test-expf.c: New file.
1698
1699         New module 'expf'.
1700         * lib/math.in.h (expf): New declaration.
1701         * lib/expf.c: New file.
1702         * m4/expf.m4: New file.
1703         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1704         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1705         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1706         * modules/expf: New file.
1707         * tests/test-math-c++.cc: Check the declaration of expf.
1708         * doc/posix-functions/expf.texi: Mention the new module.
1709
1710         exp: Use a .m4 file.
1711         * m4/exp.m4: New file.
1712         * modules/exp (Files): Add it.
1713         (configure.ac): Just invoke gl_FUNC_EXP.
1714
1715 2011-10-08  Bruno Haible  <bruno@clisp.org>
1716
1717         Tests for module 'sqrtf'.
1718         * modules/sqrtf-tests: New file.
1719         * tests/test-sqrtf.c: New file.
1720
1721         New module 'sqrtf'.
1722         * lib/math.in.h (sqrtf): New declaration.
1723         * lib/sqrtf.c: New file.
1724         * m4/sqrtf.m4: New file.
1725         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1726         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1727         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1728         * modules/sqrtf: New file.
1729         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1730         * doc/posix-functions/sqrtf.texi: Mention the new module.
1731
1732 2011-10-08  Bruno Haible  <bruno@clisp.org>
1733
1734         Tests: Avoid link failures w.r.t. libintl.
1735         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1736         $(LIBINTL).
1737         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1738         $(LIBINTL).
1739         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1740         against $(LIBINTL).
1741         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1742         $(LIBINTL).
1743         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1744         $(LIBINTL).
1745         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1746
1747 2011-10-08  Bruno Haible  <bruno@clisp.org>
1748
1749         pow tests: Defeat compiler optimizations.
1750         * tests/test-pow.c (main): Assign arguments to x and y before use.
1751
1752 2011-10-08  Bruno Haible  <bruno@clisp.org>
1753
1754         gnulib-tool: Improve last commit.
1755         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1756         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1757         ignore dependencies that are not among the modules list.
1758
1759 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1760
1761         gnulib-tool: don't follow dependencies to avoided modules
1762         This fixes a bug that is related to the previous one.
1763         * gnulib-tool (func_modules_transitive_closure)
1764         (func_emit_autoconf_snippets):
1765         Check whether a dependency is acceptable before using it.
1766         (--extract-dependencies): Report an error if --avoid is also used,
1767         since this combination of options is not yet supported.
1768
1769         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1770         Problem reported by Peter Dyballa in
1771         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1772         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1773         when echoing "$condition".
1774
1775 2011-10-07  Bruno Haible  <bruno@clisp.org>
1776
1777         Fix documentation about math functions on MacOS X.
1778         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1779         MacOS X 10.5.
1780         * doc/posix-functions/fdim.texi: Likewise.
1781         * doc/posix-functions/feclearexcept.texi: Likewise.
1782         * doc/posix-functions/fegetenv.texi: Likewise.
1783         * doc/posix-functions/fegetround.texi: Likewise.
1784         * doc/posix-functions/feholdexcept.texi: Likewise.
1785         * doc/posix-functions/feraiseexcept.texi: Likewise.
1786         * doc/posix-functions/fesetenv.texi: Likewise.
1787         * doc/posix-functions/fesetround.texi: Likewise.
1788         * doc/posix-functions/fetestexcept.texi: Likewise.
1789         * doc/posix-functions/feupdateenv.texi: Likewise.
1790         * doc/posix-functions/fmax.texi: Likewise.
1791         * doc/posix-functions/fmin.texi: Likewise.
1792         * doc/posix-functions/log2.texi: Likewise.
1793         * doc/posix-functions/modff.texi: Likewise.
1794         * doc/posix-functions/nan.texi: Likewise.
1795         * doc/posix-functions/nanf.texi: Likewise.
1796         * doc/posix-functions/nextafterf.texi: Likewise.
1797         * doc/posix-functions/remquo.texi: Likewise.
1798
1799 2011-10-07  Bruno Haible  <bruno@clisp.org>
1800
1801         modff: Drop assumption about library that defines modff.
1802         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1803         AC_CHECK_FUNCS.
1804         * modules/modff (Files): Add m4/mathfunc.m4.
1805
1806 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1807
1808         raise tests: Avoid a GCC warning.
1809         * tests/test-raise.c (handler): Use _Noreturn.
1810
1811 2011-10-07  Bruno Haible  <bruno@clisp.org>
1812
1813         Tests for module 'ldexpf'.
1814         * modules/ldexpf-tests: New file.
1815         * tests/test-ldexpf.c: New file.
1816
1817         New module 'ldexpf'.
1818         * lib/math.in.h (ldexpf): New declaration.
1819         * lib/ldexpf.c: New file.
1820         * m4/ldexpf.m4: New file.
1821         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1822         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1823         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1824         * modules/ldexpf: New file.
1825         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1826         * doc/posix-functions/ldexpf.texi: Mention the new module.
1827
1828 2011-10-06  Bruno Haible  <bruno@clisp.org>
1829
1830         frexpf: Work around problems on IRIX and mingw.
1831         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1833         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1834         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1835         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1836         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1837         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1838
1839 2011-10-06  Bruno Haible  <bruno@clisp.org>
1840
1841         fabsf: Drop assumption about library that defines fabsf.
1842         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
1843         AC_CHECK_FUNCS.
1844         * modules/fabsf (Files): Add m4/mathfunc.m4.
1845
1846 2011-10-06  Bruno Haible  <bruno@clisp.org>
1847
1848         frexpf: Drop assumption about library that defines frexpf.
1849         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
1850         'int *', 'float *', 'long double *', 'float', 'long double'.
1851         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
1852         AC_CHECK_FUNCS.
1853         * modules/frexpf (Files): Add m4/mathfunc.m4.
1854
1855         Tests for module 'frexpf'.
1856         * modules/frexpf-tests: New file.
1857         * tests/test-frexpf.c: New file.
1858
1859         New module 'frexpf'.
1860         * lib/math.in.h (frexpf): New declaration.
1861         * lib/frexpf.c: New file.
1862         * m4/frexpf.m4: New file.
1863         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
1864         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
1865         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
1866         * modules/frexpf: New file.
1867         * tests/test-math-c++.cc: Check the declaration of frexpf.
1868         * doc/posix-functions/frexpf.texi: Mention the new module.
1869
1870 2011-10-06  Bruno Haible  <bruno@clisp.org>
1871
1872         math: Sort function declarations of math.in.h.
1873         * lib/math.in.h (frexp, logb): Move declarations.
1874
1875 2011-10-05  Bruno Haible  <bruno@clisp.org>
1876
1877         Tests for module 'modff'.
1878         * modules/modff-tests: New file.
1879         * tests/test-modff.c: New file.
1880
1881         New module 'modff'.
1882         * lib/math.in.h (modff): New declaration.
1883         * lib/modff.c: New file.
1884         * m4/modff.m4: New file.
1885         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
1886         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
1887         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
1888         * modules/modff: New file.
1889         * tests/test-math-c++.cc: Check the declaration of modff.
1890         * doc/posix-functions/modff.texi: Mention the new module.
1891
1892         modf tests: Make test sharper.
1893         * tests/test-modf.c (main): Strengthen upper bound.
1894
1895         modf: Use a .m4 file.
1896         * m4/modf.m4: New file.
1897         * modules/modf (Files): Add it.
1898         (configure.ac): Just invoke gl_FUNC_MODF.
1899
1900 2011-10-05  Bruno Haible  <bruno@clisp.org>
1901
1902         Tests for module 'fmodf'.
1903         * modules/fmodf-tests: New file.
1904         * tests/test-fmodf.c: New file.
1905
1906         New module 'fmodf'.
1907         * lib/math.in.h (fmodf): New declaration.
1908         * lib/fmodf.c: New file.
1909         * m4/fmodf.m4: New file.
1910         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
1911         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
1912         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
1913         * modules/fmodf: New file.
1914         * tests/test-math-c++.cc: Check the declaration of fmodf.
1915         * doc/posix-functions/fmodf.texi: Mention the new module.
1916
1917         fmod: Use a .m4 file.
1918         * m4/fmod.m4: New file.
1919         * modules/fmod (Files): Add it.
1920         (configure.ac): Just invoke gl_FUNC_FMOD.
1921
1922 2011-10-05  Bruno Haible  <bruno@clisp.org>
1923
1924         Tests for module 'fabsf'.
1925         * modules/fabsf-tests: New file.
1926         * tests/test-fabsf.c: New file.
1927
1928         New module 'fabsf'.
1929         * lib/math.in.h (fabsf): New declaration.
1930         * lib/fabsf.c: New file.
1931         * m4/fabsf.m4: New file.
1932         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
1933         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
1934         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
1935         * modules/fabsf: New file.
1936         * tests/test-math-c++.cc: Check the declaration of fabsf.
1937         * doc/posix-functions/fabsf.texi: Mention the new module.
1938
1939         fabs: Use a .m4 file.
1940         * m4/fabs.m4: New file.
1941         * modules/fabs (Files): Add it.
1942         (configure.ac): Just invoke gl_FUNC_FABS.
1943
1944 2011-10-05  Jim Meyering  <meyering@redhat.com>
1945
1946         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
1947         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
1948         ls -lL regression introduced in coreutils-8.12, it does so at the
1949         cost of an additional stat call in the common case.  Besides, now
1950         that the kernel change that prompted commit 95f7c57f has been reverted
1951         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
1952         we have no use for commit 95f7c57f, "file-has-acl: use
1953         acl_extended_file_nofollow if available".
1954
1955 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
1956
1957         file-has-acl: revert unintended change in behavior of ls -L
1958         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
1959         derived from...
1960         (file_has_acl): ...code here.  Call it.
1961         This problem was introduced with 2011-07-22 commit 95f7c57f,
1962         "file-has-acl: use acl_extended_file_nofollow if available".
1963         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
1964
1965 2011-10-03  Bruno Haible  <bruno@clisp.org>
1966
1967         poll: Avoid link errors on MSVC.
1968         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
1969         * modules/poll (Depends-on): Add sockets.
1970         (Link): New section.
1971         * NEWS: Mention the change.
1972         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
1973         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
1974         $(LIB_POLL) instead of $(LIBSOCKET).
1975
1976 2011-10-03  Bruno Haible  <bruno@clisp.org>
1977
1978         sys_select tests: Fix link error on MSVC 9.
1979         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
1980         with $(LIB_SELECT) instead of $(LIBSOCKET).
1981
1982 2011-10-03  Bruno Haible  <bruno@clisp.org>
1983
1984         sys_select: Fix compilation error on mingw.
1985         * lib/sys_select.in.h: On native Windows, include <io.h>.
1986
1987 2011-10-03  Bruno Haible  <bruno@clisp.org>
1988
1989         wmemset: Support for MSVC.
1990         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
1991         whether wmemset() exists.
1992
1993 2011-10-03  Bruno Haible  <bruno@clisp.org>
1994
1995         wmemmove: Support for MSVC.
1996         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
1997         whether wmemmove() exists.
1998
1999 2011-10-03  Bruno Haible  <bruno@clisp.org>
2000
2001         wmemcpy: Support for MSVC.
2002         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
2003         whether wmemcpy() exists.
2004
2005 2011-10-03  Bruno Haible  <bruno@clisp.org>
2006
2007         wmemcmp: Support for MSVC.
2008         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
2009         whether wmemcmp() exists.
2010
2011 2011-10-03  Bruno Haible  <bruno@clisp.org>
2012
2013         wmemchr: Support for MSVC.
2014         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
2015         whether wmemchr() exists.
2016
2017 2011-10-03  Bruno Haible  <bruno@clisp.org>
2018
2019         glthread/*, strsignal: Support for MSVC.
2020         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
2021         including <winsock.h> on MSVC 9.
2022         * lib/glthread/lock.h: Likewise.
2023         * lib/glthread/thread.h: Likewise.
2024         * lib/glthread/tls.h: Likewise.
2025         * lib/glthread/yield.h: Likewise.
2026         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
2027         if HAVE_UNISTD_H is false.
2028         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
2029
2030 2011-10-03  Bruno Haible  <bruno@clisp.org>
2031
2032         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
2033         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
2034         Set to 100000.
2035
2036 2011-10-03  Bruno Haible  <bruno@clisp.org>
2037
2038         acl: Fix specification.
2039         * lib/file-has-acl.c (file_has_acl): Fix specification.
2040
2041 2011-10-03  Bruno Haible  <bruno@clisp.org>
2042
2043         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
2044         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
2045         (compute_curr_prefix, shared_library_fullname,
2046         find_shared_library_fullname, get_shared_library_fullname, relocate):
2047         Use it together with PIC && INSTALLDIR.
2048         Reported by <jojelino@gmail.com>
2049         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
2050
2051 2011-10-01  Jim Meyering  <meyering@redhat.com>
2052
2053         maint.mk: adjust a release-related rule not to require use of gzip
2054         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
2055         Instead, check each file in $(DIST_ARCHIVES).  This is better for
2056         projects that build only .tar.xz files.  Also fix an erroneous test.
2057
2058         test-linkat: don't leave behind a temporary file
2059         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
2060         Otherwise, coreutils' "make distcheck" would fail with this:
2061           Only in /c/cu/tests/torture/coreutils/test/\
2062             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
2063           make[2]: *** [my-distcheck] Error 1
2064
2065         float, math: add omitted file
2066         * lib/itold.c: Add file, required for yesterday's float change.
2067
2068 2011-10-01  Bruno Haible  <bruno@clisp.org>
2069
2070         isinf: Fix for OpenBSD/x86.
2071         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
2072         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
2073         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
2074
2075 2011-10-01  Bruno Haible  <bruno@clisp.org>
2076
2077         isfinite: Fix syntax error in configure test.
2078         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
2079
2080         isfinite: Fix typo.
2081         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
2082         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
2083
2084 2011-10-01  Bruno Haible  <bruno@clisp.org>
2085
2086         nonblocking tests: Fix test failure on Linux/IA-64.
2087         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
2088         Set to 270000.
2089
2090 2011-10-01  Bruno Haible  <bruno@clisp.org>
2091
2092         mkfifoat tests: Fix a test failure on mingw.
2093         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
2094         with error ENOSYS.
2095
2096 2011-09-30  Bruno Haible  <bruno@clisp.org>
2097
2098         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
2099         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
2100         'long double'. Set REPLACE_ITOLD.
2101         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
2102         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
2103         * lib/itold.c: New file.
2104         * modules/float (Files): Add lib/itold.c.
2105         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
2106         (Makefile.am): Substitute REPLACE_ITOLD.
2107         * modules/math (Depends-on): Add float.
2108         (Makefile.am): Substitute REPLACE_ITOLD.
2109         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
2110         * doc/posix-headers/math.texi: Likewise.
2111         * doc/posix-functions/logl.texi: Likewise.
2112
2113 2011-09-30  Bruno Haible  <bruno@clisp.org>
2114
2115         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
2116         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
2117         Set to 140000.
2118
2119 2011-09-30  Bruno Haible  <bruno@clisp.org>
2120
2121         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
2122         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
2123         invocation, say "right after AC_PROG_CC_STDC", not "right after
2124         AC_PROG_CC".
2125         Reported by Gary V. Vaughan <gary@gnu.org>.
2126
2127 2011-09-30  Bruno Haible  <bruno@clisp.org>
2128
2129         Centralize C99 requirement.
2130         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
2131         * modules/stdarg (configure.ac-early): Invoke it instead of
2132         AC_PROG_CC_STDC.
2133         Reported by Gary V. Vaughan and Paul Eggert.
2134
2135 2011-09-29  Bruno Haible  <bruno@clisp.org>
2136
2137         float: Fix LDBL_MAX value on Linux/PowerPC.
2138         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
2139         on Linux/PowerPC.
2140         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
2141         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
2142         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
2143         platform.
2144         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
2145
2146 2011-09-29  Bruno Haible  <bruno@clisp.org>
2147
2148         doc: Improve doc about gl_EARLY.
2149         * doc/gnulib-tool.texi (Initial import): Mention where to place an
2150         AC_PROG_CC_STDC invocation.
2151         Reported by Gary V. Vaughan <gary@gnu.org>.
2152
2153 2011-09-28  Bruno Haible  <bruno@clisp.org>
2154
2155         fgetc, fputc, fread, fwrite tests: Fix link error.
2156         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
2157         on non-MSVC platforms.
2158         * tests/test-fputc.c (main): Likewise.
2159         * tests/test-fread.c (main): Likewise.
2160         * tests/test-fwrite.c (main): Likewise.
2161         Reported by Jim Meyering.
2162
2163 2011-09-27  Bruno Haible  <bruno@clisp.org>
2164
2165         fputc, fwrite tests: Avoid test failure on MSVC.
2166         * tests/test-fgetc.c: Include msvc-inval.h.
2167         (main): Invoke gl_msvc_inval_ensure_handler.
2168         * tests/test-fputc.c: Include msvc-inval.h.
2169         (main): Invoke gl_msvc_inval_ensure_handler.
2170         * tests/test-fread.c: Include msvc-inval.h.
2171         (main): Invoke gl_msvc_inval_ensure_handler.
2172         * tests/test-fwrite.c: Include msvc-inval.h.
2173         (main): Invoke gl_msvc_inval_ensure_handler.
2174         * modules/fgetc-tests (Depends-on): Add msvc-inval.
2175         * modules/fputc-tests (Depends-on): Likewise.
2176         * modules/fread-tests (Depends-on): Likewise.
2177         * modules/fwrite-tests (Depends-on): Likewise.
2178
2179 2011-09-27  Bruno Haible  <bruno@clisp.org>
2180
2181         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
2182         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
2183         (raise): Remove older, duplicated declaration.
2184         (_gl_raise_SIGPIPE): New declaration.
2185         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
2186         (rpl_raise): Remove function.
2187         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
2188         a gnulib-defined SIGPIPE here.
2189         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
2190         'sigprocmask' has detected missing signal-blocking and the module
2191         'sigpipe' is enabled.
2192         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2193
2194 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
2195
2196         base64-tests: avoid memory leak
2197         * tests/test-base64.c (main): Plug memory leak.
2198
2199         base32: new module
2200         * modules/base32: New module.
2201         * lib/base32.c: New file.
2202         * lib/base32.h: Likewise.
2203         * m4/base32.m4: Likewise.
2204         * modules/base32-tests: New test.
2205         * tests/test-base32.c: Likewise.
2206         * MODULES.html.sh (Misc): Mention it.
2207
2208 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2209
2210         gnulib: use more-standard license notice wording
2211         * gnulib-tool (func_emit_copyright_notice): When emitting a
2212         license notice into a file, use the standard wording as suggested
2213         by the current information for GNU maintainers, except say "file"
2214         rather than "program".  The new wording gives a license version
2215         number, which addresses an issue raised by Glenn Morris in
2216         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
2217         * m4/onceonly.m4: Use that same wording here, too.
2218
2219         dup2: minor simplification
2220         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
2221         as lib/dup2.c no longer uses 'inline'.
2222
2223 2011-09-25  Bruno Haible  <bruno@clisp.org>
2224
2225         strings: Fix compilation error on MSVC.
2226         * lib/strings.in.h: Include <stddef.h> for size_t.
2227
2228 2011-09-25  Bruno Haible  <bruno@clisp.org>
2229
2230         fflush et al.: Document limitation on MSVC.
2231         * doc/posix-functions/fflush.texi: Document possible crash in handling
2232         mode other than DEFAULT_HANDLING.
2233         * doc/posix-functions/fgetc.texi: Likewise.
2234         * doc/posix-functions/fputc.texi: Likewise.
2235         * doc/posix-functions/fread.texi: Likewise.
2236         * doc/posix-functions/fwrite.texi: Likewise.
2237
2238 2011-09-25  Bruno Haible  <bruno@clisp.org>
2239
2240         msvc-inval: Allow three invalid parameter handling modes.
2241         * lib/msvc-inval.h: Don't include <stdlib.h> here.
2242         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
2243         macros.
2244         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
2245         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
2246         SANE_LIBRARY_HANDLING as a no-op.
2247         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
2248         <stdlib.h>.
2249         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
2250
2251 2011-09-25  Bruno Haible  <bruno@clisp.org>
2252
2253         msvc-inval: Make handler multithread-safe.
2254         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
2255         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
2256         declarations.
2257         (gl_msvc_inval_current): New declaration.
2258         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2259         Operate on the structure returned by gl_msvc_inval_current().
2260         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
2261         Remove varaiables.
2262         (tls_index, tls_initialized): New variables.
2263         (not_per_thread): New variable.
2264         (gl_msvc_inval_current): New function.
2265         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
2266         returned by gl_msvc_inval_current().
2267
2268 2011-09-25  Bruno Haible  <bruno@clisp.org>
2269
2270         msvc-inval: Install handler globally.
2271         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
2272         !_MSC_VER.
2273         (gl_msvc_invalid_parameter_handler): Remove declaration.
2274         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
2275         declarations.
2276         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2277         Install the handler globally, don't uninstall it.
2278         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
2279         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
2280         currently valid, call RaiseException instead.
2281         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
2282         for !_MSC_VER.
2283
2284 2011-09-25  Bruno Haible  <bruno@clisp.org>
2285
2286         strerror_r-posix: Fix for MSVC 9.
2287         * lib/strerror_r.c (local_snprintf): New function.
2288         (snprintf): Define to local_snprintf, not to _snprintf.
2289
2290 2011-09-25  Bruno Haible  <bruno@clisp.org>
2291
2292         ftruncate: Support for MSVC 9.
2293         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
2294         (chsize_nothrow): New function.
2295         (chsize): Redefine as a macro.
2296         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
2297         * modules/ftruncate (Depends-on): Add msvc-inval.
2298
2299 2011-09-25  Bruno Haible  <bruno@clisp.org>
2300
2301         New module 'fstat'.
2302         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
2303         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
2304         * lib/fchdir.c (rpl_fstat): Remove function.
2305         * m4/fstat.m4: New file.
2306         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
2307         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
2308         declared.
2309         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
2310         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
2311         * modules/fstat: New file.
2312         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
2313         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
2314         is set.
2315         * doc/posix-functions/fstat.texi: Mention the new module and the
2316         problem on MSVC.
2317         * NEWS: Mention the change.
2318         * modules/acl (Depends-on): Add fstat.
2319         * modules/chdir-safer (Depends-on): Likewise.
2320         * modules/chown (Depends-on): Likewise.
2321         * modules/copy-file (Depends-on): Likewise.
2322         * modules/fchdir (Depends-on): Likewise.
2323         * modules/fdopendir (Depends-on): Likewise.
2324         * modules/fopen (Depends-on): Likewise.
2325         * modules/fts (Depends-on): Likewise.
2326         * modules/getcwd (Depends-on): Likewise.
2327         * modules/isapipe (Depends-on): Likewise.
2328         * modules/linkat (Depends-on): Likewise.
2329         * modules/lseek (Depends-on): Likewise.
2330         * modules/mkdir-p (Depends-on): Likewise.
2331         * modules/open (Depends-on): Likewise.
2332         * modules/openat (Depends-on): Likewise.
2333         * modules/read-file (Depends-on): Likewise.
2334         * modules/renameat (Depends-on): Likewise.
2335         * modules/utimens (Depends-on): Likewise.
2336
2337 2011-09-25  Bruno Haible  <bruno@clisp.org>
2338
2339         linkat: Fix compilation on MSVC 9.
2340         * lib/linkat.c: Don't include <stdint.h>.
2341
2342 2011-09-25  Bruno Haible  <bruno@clisp.org>
2343
2344         fclose: Support for MSVC 9.
2345         * lib/fclose.c: Include msvc-inval.h.
2346         (fclose_nothrow): New function.
2347         (rpl_fclose): Use it.
2348         * modules/fclose (Depends-on): Add msvc-inval.
2349         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2350
2351 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2352
2353         dup2: minor simplifications
2354         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
2355         that it's a performance win.
2356         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
2357         ! defined __CYGWIN__)" to "ifdef F_GETFL".
2358
2359 2011-09-24  Jim Meyering  <meyering@redhat.com>
2360
2361         test-futimens: avoid a warning from gcc -Wshadow
2362         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
2363         to avoid a shadowing warning.
2364
2365 2011-09-24  Bruno Haible  <bruno@clisp.org>
2366
2367         fdopen: Support for MSVC 9.
2368         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
2369         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
2370         * lib/fdopen.c: Include msvc-inval.h.
2371         (fdopen_nothrow): New function.
2372         (rpl_fdopen): Use it.
2373         * modules/fdopen (Depends-on): Add msvc-inval.
2374         * modules/fclose-tests (Depends-on): Add fdopen.
2375         * modules/fflush-tests (Depends-on): Likewise.
2376         * modules/fgetc-tests (Depends-on): Likewise.
2377         * modules/fputc-tests (Depends-on): Likewise.
2378         * modules/fread-tests (Depends-on): Likewise.
2379         * modules/freopen-tests (Depends-on): Likewise.
2380         * modules/fseeko-tests (Depends-on): Likewise.
2381         * modules/ftello-tests (Depends-on): Likewise.
2382         * modules/fwrite-tests  (Depends-on): Likewise.
2383         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2384
2385 2011-09-24  Bruno Haible  <bruno@clisp.org>
2386
2387         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
2388         * modules/fgetc-tests (Depends-on): Add unistd.
2389         * modules/fputc-tests (Depends-on): Likewise.
2390         * modules/fread-tests (Depends-on): Likewise.
2391         * modules/fwrite-tests (Depends-on): Likewise.
2392
2393 2011-09-24  Bruno Haible  <bruno@clisp.org>
2394
2395         dup: Simplify autoconf test.
2396         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
2397         on gl_MSVC_INVAL's result.
2398
2399 2011-09-24  Bruno Haible  <bruno@clisp.org>
2400
2401         Tests for function fwrite().
2402         * modules/fwrite-tests: New file.
2403         * tests/test-fwrite.c: New file.
2404         * modules/stdio-tests (Depends-on): Add fwrite-tests.
2405
2406         Tests for function fread().
2407         * modules/fread-tests: New file.
2408         * tests/test-fread.c: New file.
2409         * modules/stdio-tests (Depends-on): Add fread-tests.
2410
2411         Activate fputc tests.
2412         * modules/stdio-tests (Depends-on): Add fputc-tests.
2413
2414         Enhance fgetc, fputc tests.
2415         * tests/test-fgetc.c (main): Also test the stream's error indicator.
2416         * tests/test-fputc.c (main): Likewise.
2417
2418 2011-09-24  Bruno Haible  <bruno@clisp.org>
2419
2420         write: Support for MSVC 9.
2421         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2422         is not 1.
2423         * lib/write.c (write_nothrow): New function.
2424         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
2425         not 1. Use write_nothrow.
2426         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
2427         invalid parameter handler.
2428         (gl_PREREQ_WRITE): New macro.
2429         * modules/write (Depends-on): Add msvc-inval.
2430         (configure.ac): Invoke gl_PREREQ_WRITE.
2431         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2432
2433 2011-09-24  Bruno Haible  <bruno@clisp.org>
2434
2435         read: Fix last commit.
2436         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2437
2438 2011-09-24  Bruno Haible  <bruno@clisp.org>
2439
2440         dup2: Fix last commit.
2441         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2442         (rpl_dup2): Disable fcntl workaround on native Windows.
2443
2444         sigprocmask: Make code safer.
2445         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2446         section that changes macro definitions for this compilation unit.
2447
2448 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2449
2450         dup2: clarify by coalescing Windows-specific material
2451         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2452         "msvc-nothrow.h"' to the Windows-specific section, so that the
2453         Emacs source need not contain these include files.
2454         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2455         Windows-specific fixes into this function rather than just the
2456         nothrow fix, as this shortens and clarifies the code.  Always
2457         define as a function, as that's a bit cleaner than having it be
2458         sometimes a function and sometimes a macro.
2459         (rpl_dup2): Move the Windows-specific stuff out of here and into
2460         ms_windows_dup2.  Don't protect the Haiku-related fix with
2461         "#if !defined __linux__", as the same code also works around
2462         a Linux kernel bug, and it doesn't add any system calls on any
2463         platform.  Add comment about FreeBSD 6.1.
2464
2465         sigprocmask: move #include directive
2466         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2467         Windows-specific section, so that the Emacs source need not
2468         contain msvc-inval.h.
2469
2470 2011-09-23  Bruno Haible  <bruno@clisp.org>
2471
2472         read: Support for MSVC 9.
2473         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2474         is not 1.
2475         * lib/read.c (read_nothrow): New function.
2476         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2477         read_nothrow.
2478         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2479         invalid parameter handler.
2480         (gl_PREREQ_READ): New macro.
2481         * modules/read (Depends-on): Add msvc-inval.
2482         (configure.ac): Invoke gl_PREREQ_READ.
2483         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2484
2485 2011-09-23  Bruno Haible  <bruno@clisp.org>
2486
2487         close: Support for MSVC 9.
2488         * lib/close.c: Include <errno.h>, msvc-inval.h.
2489         (close_nothrow): New function.
2490         (rpl_close): Use it.
2491         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2492         invalid parameter handler.
2493         * modules/close (Depends-on): Add msvc-inval.
2494         * modules/dup2-tests (Depends-on): Add close.
2495         * modules/dup3-tests (Depends-on): Likewise.
2496         * modules/fcntl-tests (Depends-on): Likewise.
2497         * modules/spawn-pipe-tests (Depends-on): Likewise.
2498         * modules/unistd-safer-tests (Depends-on): Likewise.
2499         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2500
2501 2011-09-23  Bruno Haible  <bruno@clisp.org>
2502
2503         New module 'dup'.
2504         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2505         Allow replacement.
2506         * lib/dup.c: New file.
2507         * lib/fchdir.c (rpl_dup): Remove function.
2508         * m4/dup.m4: New file.
2509         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2510         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2511         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2512         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2513         * modules/dup: New file.
2514         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2515         'dup' module is in use.
2516         * modules/fdopendir (Depends-on): Add dup.
2517         * modules/fdutimensat-tests (Depends-on): Likewise.
2518         * modules/fts (Depends-on): Likewise.
2519         * modules/futimens-tests (Depends-on): Likewise.
2520         * modules/posix_spawnp-tests (Depends-on): Likewise.
2521         * modules/unistd-safer-tests (Depends-on): Likewise.
2522         * modules/utimens-tests (Depends-on): Likewise.
2523         * doc/posix-functions/dup.texi: Mention the new module and the problem
2524         on MSVC.
2525
2526 2011-09-23  Bruno Haible  <bruno@clisp.org>
2527
2528         getdtablesize: Support for MSVC 9.
2529         * lib/getdtablesize.c: Include msvc-inval.h.
2530         (_setmaxstdio_nothrow): New function.
2531         (_setmaxstdio): Redefine it.
2532         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2533         * modules/getdtablesize (Depends-on): Add msvc-inval.
2534         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2535
2536 2011-09-23  Bruno Haible  <bruno@clisp.org>
2537
2538         signal-h: Rename from signal.
2539         * modules/signal-h: Renamed from modules/signal.
2540         * modules/pthread_sigmask (Depends-on): Update.
2541         * modules/raise (Depends-on): Likewise.
2542         * modules/sigaction (Depends-on): Likewise.
2543         * modules/sigpipe (Depends-on): Likewise.
2544         * modules/sigprocmask (Depends-on): Likewise.
2545         * modules/sys_select (Depends-on): Likewise.
2546         * modules/signal-h-tests: Renamed from modules/signal-tests.
2547         (Files, Depends-on, Makefile.am): Update.
2548         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2549         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2550         (Files, Makefile.am): Update.
2551         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2552         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2553         * modules/signal: New placeholder file.
2554         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2555         * doc/posix-headers/signal.texi: Update.
2556         * NEWS: Mention the change.
2557
2558 2011-09-23  Bruno Haible  <bruno@clisp.org>
2559
2560         sigprocmask: Avoid crashes through signal() on MSVC 9.
2561         * lib/sigprocmask.c: Include msvc-inval.h.
2562         (signal_nothrow): New function.
2563         (signal): Redefine it.
2564         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2565         * modules/sigprocmask (Depends-on): Add msvc-inval.
2566         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2567
2568 2011-09-23  Bruno Haible  <bruno@clisp.org>
2569
2570         Tests for module 'raise'.
2571         * modules/raise-tests: New file.
2572         * tests/test-raise.c: New file.
2573
2574         raise: Support for MSVC.
2575         * lib/signal.in.h (raise): New declaration.
2576         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2577         for native Windows platforms.
2578         * m4/raise.m4: New file.
2579         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2580         HAVE_RAISE, REPLACE_RAISE.
2581         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2582         REPLACE_RAISE.
2583         * modules/raise (Status, Notice): Remove fields.
2584         (Files): Add m4/raise.m4.
2585         (Depends-on): Add signal, msvc-inval.
2586         (configure.ac): Use the common idioms.
2587         (Maintainer): Add me.
2588         * tests/test-signal-c++.cc: Check the signature of raise.
2589         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2590
2591 2011-09-23  Bruno Haible  <bruno@clisp.org>
2592
2593         pipe2: Fix compilation on pre-C99 compilers.
2594         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2595
2596 2011-09-23  Bruno Haible  <bruno@clisp.org>
2597
2598         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2599         * lib/msvc-nothrow.h: New file.
2600         * lib/msvc-nothrow.c: New file.
2601         * m4/msvc-nothrow.m4: New file.
2602         * modules/msvc-nothrow: New file.
2603         * lib/dup2.c: Include msvc-nothrow.h.
2604         (rpl_dup2): No need to protect _get_osfhandle call here.
2605         * lib/accept4.c: Include msvc-nothrow.h.
2606         * lib/error.c: Likewise.
2607         * lib/fcntl.c: Likewise.
2608         * lib/lseek.c: Likewise.
2609         * lib/nonblocking.c: Likewise.
2610         * lib/poll.c: Likewise.
2611         * lib/read.c: Likewise.
2612         * lib/select.c: Likewise.
2613         * lib/sockets.h: Likewise.
2614         * lib/sockets.c: Likewise.
2615         * lib/stdio-read.c: Likewise.
2616         * lib/stdio-write.c: Likewise.
2617         * lib/write.c: Likewise.
2618         * lib/w32sock.h: Likewise.
2619         * lib/w32spawn.h: Likewise.
2620         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2621         * lib/fsync.c: Likewise.
2622         * lib/isapipe.c: Likewise.
2623         * modules/dup2 (Depends-on): Add msvc-nothrow.
2624         * modules/accept4 (Depends-on): Likewise.
2625         * modules/error (Depends-on): Likewise.
2626         * modules/fcntl (Depends-on): Likewise.
2627         * modules/lseek (Depends-on): Likewise.
2628         * modules/nonblocking (Depends-on): Likewise.
2629         * modules/poll (Depends-on): Likewise.
2630         * modules/read (Depends-on): Likewise.
2631         * modules/select (Depends-on): Likewise.
2632         * modules/sockets (Depends-on): Likewise.
2633         * modules/sigpipe (Depends-on): Likewise.
2634         * modules/write (Depends-on): Likewise.
2635         * modules/accept (Depends-on): Likewise.
2636         * modules/bind (Depends-on): Likewise.
2637         * modules/connect (Depends-on): Likewise.
2638         * modules/gethostname (Depends-on): Likewise.
2639         * modules/getpeername (Depends-on): Likewise.
2640         * modules/getsockname (Depends-on): Likewise.
2641         * modules/getsockopt (Depends-on): Likewise.
2642         * modules/ioctl (Depends-on): Likewise.
2643         * modules/listen (Depends-on): Likewise.
2644         * modules/recv (Depends-on): Likewise.
2645         * modules/recvfrom (Depends-on): Likewise.
2646         * modules/send (Depends-on): Likewise.
2647         * modules/sendto (Depends-on): Likewise.
2648         * modules/setsockopt (Depends-on): Likewise.
2649         * modules/shutdown (Depends-on): Likewise.
2650         * modules/socket (Depends-on): Likewise.
2651         * modules/execute (Depends-on): Likewise.
2652         * modules/spawn-pipe (Depends-on): Likewise.
2653         * modules/flock (Depends-on): Likewise.
2654         * modules/fsync (Depends-on): Likewise.
2655         * modules/isapipe (Depends-on): Likewise.
2656         * tests/test-cloexec.c: Include msvc-nothrow.h.
2657         * tests/test-dup-safer.c: Likewise.
2658         * tests/test-dup2.c: Likewise.
2659         * tests/test-dup3.c: Likewise.
2660         * tests/test-fcntl.c: Likewise.
2661         * tests/test-pipe.c: Likewise.
2662         * tests/test-pipe2.c: Likewise.
2663         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2664         * modules/unistd-safer-tests (Depends-on): Likewise.
2665         * modules/dup2-tests (Depends-on): Likewise.
2666         * modules/dup3-tests (Depends-on): Likewise.
2667         * modules/fcntl-tests (Depends-on): Likewise.
2668         * modules/pipe-posix-tests (Depends-on): Likewise.
2669         * modules/pipe2-tests (Depends-on): Likewise.
2670
2671 2011-09-23  Bruno Haible  <bruno@clisp.org>
2672
2673         dup2: Make code more maintainable.
2674         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2675         (rpl_dup2): Use it.
2676         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2677         * modules/dup2 (configure.ac): Invoke it.
2678         Reported by Paul Eggert.
2679
2680 2011-09-23  Bruno Haible  <bruno@clisp.org>
2681
2682         msvc-inval: Fix compilation error.
2683         * lib/msvc-inval.h: Include <excpt.h>.
2684
2685 2011-09-23  Bruno Haible  <bruno@clisp.org>
2686
2687         mkdir: Tweak for MSVC 9.
2688         * lib/sys_stat.in.h: Update comments.
2689         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2690
2691         Tests for module 'chdir'.
2692         * modules/chdir-tests: New file.
2693         * tests/test-chdir.c: New file.
2694
2695         New module 'chdir'.
2696         * modules/chdir: New file.
2697         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2698         (chdir): New declaration.
2699         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2700         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2701         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2702         * tests/test-unistd-c++.cc: Check signature of chdir.
2703         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2704         * modules/chdir-long (Depends-on): Add chdir.
2705         * modules/fchdir (Depends-on): Likewise.
2706         * modules/rename (Depends-on): Likewise.
2707         * modules/savewd (Depends-on): Likewise.
2708
2709         rmdir: Support for mingw, MSVC 9.
2710         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2711         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2712
2713         getcwd: Tweak for MSVC 9.
2714         * lib/unistd.in.h: Update comments.
2715         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2716
2717 2011-09-22  Bruno Haible  <bruno@clisp.org>
2718
2719         strerror_r-posix: Avoid a link error on MSVC.
2720         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2721         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2722
2723 2011-09-22  Bruno Haible  <bruno@clisp.org>
2724
2725         select: Avoid link errors on MSVC.
2726         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2727         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2728         * modules/pselect (Link): Likewise.
2729         * NEWS: Mention the change.
2730         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2731         test-select-stdin against $(LIB_SELECT).
2732         * modules/pselect-tests (Makefile.am): Link test-pselect against
2733         $(LIB_SELECT).
2734
2735 2011-09-22  Bruno Haible  <bruno@clisp.org>
2736
2737         select: Avoid compilation error on MSVC.
2738         * lib/select.c: Don't include <stdbool.h>.
2739
2740 2011-09-21  Bruno Haible  <bruno@clisp.org>
2741
2742         Consolidate all uses of PATH_MAX in *.m4 files.
2743         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2744         macros.
2745         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2746         and gl_PATHMAX_SNIPPET.
2747         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2748         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2749         * modules/chdir-long (Files): Add m4/pathmax.m4.
2750         * modules/getcwd (Files): Likewise.
2751
2752 2011-09-21  Bruno Haible  <bruno@clisp.org>
2753
2754         ftruncate: Un-deprecate, concentrate on Win32 support.
2755         * modules/ftruncate (Status, Notice): Remove sections.
2756         (Depends-on): Add largefile.
2757         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2758         non-mingw platforms.
2759         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2760         include <io.h>.
2761         * modules/perror-tests (Depends-on): Add ftruncate.
2762         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2763         'ftruncate' module.
2764
2765 2011-09-21  Bruno Haible  <bruno@clisp.org>
2766
2767         Add dependencies to new dirent related modules.
2768         * modules/opendir (Depends-on): Add closedir.
2769         * modules/getcwd (Depends-on): Add opendir, closedir.
2770         * modules/dirent-safer-tests (Depends-on): Likewise.
2771         * modules/fdopendir-tests (Depends-on): Likewise.
2772         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2773         * modules/renameat-tests (Depends-on): Likewise.
2774
2775 2011-09-21  Bruno Haible  <bruno@clisp.org>
2776
2777         opendir: Avoid compilation error on mingw.
2778         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2779         * modules/opendir (Depends-on): Add unistd.
2780
2781 2011-09-21  Bruno Haible  <bruno@clisp.org>
2782
2783         ftruncate tests: Avoid a test failure on mingw.
2784         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2785
2786 2011-09-21  Bruno Haible  <bruno@clisp.org>
2787
2788         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2789         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2790         native Windows.
2791
2792 2011-09-21  Bruno Haible  <bruno@clisp.org>
2793
2794         New module 'fdopen'.
2795         * lib/stdio.in.h (fdopen): New declaration.
2796         * lib/fdopen.c: New file.
2797         * m4/fdopen.m4: New file.
2798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2799         REPLACE_FDOPEN.
2800         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2801         REPLACE_FDOPEN.
2802         * modules/fdopen: New file.
2803         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2804         * tests/test-stdio-c++.cc: Check signature of fdopen.
2805         * doc/posix-functions/fdopen.texi: Mention the new module.
2806
2807 2011-09-21  Bruno Haible  <bruno@clisp.org>
2808
2809         unlockpt tests: Avoid test failure on NetBSD 5.1.
2810         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2811         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2812
2813 2011-09-21  Bruno Haible  <bruno@clisp.org>
2814
2815         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2816         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2817         * tests/test-getlogin_r.c (main): Likewise.
2818
2819 2011-09-20  Bruno Haible  <bruno@clisp.org>
2820
2821         time tests: Don't require pid_t.
2822         * doc/posix-headers/time.texi: Revert last change.
2823         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2824         * tests/test-time.c: Comment out the check for pid_t.
2825
2826 2011-09-20  Bruno Haible  <bruno@clisp.org>
2827
2828         fsync tests: Avoid a test failure on mingw.
2829         * tests/test-fsync.c (main): Allow a failure with EIO.
2830
2831 2011-09-20  Bruno Haible  <bruno@clisp.org>
2832
2833         euidaccess: Update comments.
2834         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2835
2836 2011-09-20  Bruno Haible  <bruno@clisp.org>
2837
2838         Ensure EBADF returns for socket functions on mingw.
2839         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2840         descriptor is invalid.
2841         * lib/bind.c (rpl_bind): Likewise.
2842         * lib/connect.c (rpl_connect): Likewise.
2843         * lib/getpeername.c (rpl_getpeername): Likewise.
2844         * lib/getsockname.c (rpl_getsockname): Likewise.
2845         * lib/getsockopt.c (rpl_getsockopt): Likewise.
2846         * lib/listen.c (rpl_listen): Likewise.
2847         * lib/recv.c (rpl_recv): Likewise.
2848         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2849         * lib/send.c (rpl_send): Likewise.
2850         * lib/sendto.c (rpl_sendto): Likewise.
2851         * lib/setsockopt.c (rpl_setsockopt): Likewise.
2852         * lib/shutdown.c (rpl_shutdown): Likewise.
2853
2854 2011-09-20  Bruno Haible  <bruno@clisp.org>
2855
2856         select tests: EBADF tests.
2857         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
2858         test_bad_fd): New functions.
2859         (test_function): Invoke also test_bad_fd.
2860
2861 2011-09-20  Bruno Haible  <bruno@clisp.org>
2862
2863         Tests for module 'posix_spawn_file_actions_addopen.
2864         * modules/posix_spawn_file_actions_addopen-tests: New file.
2865         * tests/test-posix_spawn_file_actions_addopen.c: New file.
2866
2867         Tests for module 'posix_spawn_file_actions_adddup2'.
2868         * modules/posix_spawn_file_actions_adddup2-tests: New file.
2869         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
2870
2871         Tests for module 'posix_spawn_file_actions_addclose'.
2872         * modules/posix_spawn_file_actions_addclose-tests: New file.
2873         * tests/test-posix_spawn_file_actions_addclose.c: New file.
2874
2875 2011-09-20  Bruno Haible  <bruno@clisp.org>
2876
2877         Tests for module 'unlockpt'.
2878         * modules/unlockpt-tests: New file.
2879         * tests/test-unlockpt.c: New file.
2880         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2881
2882         Tests for module 'grantpt'.
2883         * modules/grantpt-tests: New file.
2884         * tests/test-grantpt.c: New file.
2885         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2886
2887 2011-09-20  Bruno Haible  <bruno@clisp.org>
2888
2889         freopen tests: EBADF tests.
2890         * tests/test-freopen.c: Include errno.h, unistd.h.
2891         (main): Add tests for EBADF, commented out for the moment.
2892
2893         fclose tests: EBADF tests.
2894         * tests/test-fclose.c (main): Add tests for EBADF.
2895
2896         fflush tests: EBADF tests.
2897         * tests/test-fflush.c: Include errno.h, macros.h.
2898         (main): Add tests for EBADF.
2899
2900         ftello tests: EBADF tests.
2901         * tests/test-ftello4.sh: New file.
2902         * tests/test-ftello4.c: New file.
2903         * modules/ftello-tests (Files): Add them.
2904         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
2905
2906         fseeko tests: EBADF tests.
2907         * tests/test-fseeko4.sh: New file.
2908         * tests/test-fseeko4.c: New file.
2909         * modules/fseeko-tests (Files): Add them.
2910         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
2911
2912         Tests for function fputc().
2913         * modules/fputc-tests: New file.
2914         * tests/test-fputc.c: New file.
2915         * modules/stdio-tests (Depends-on): Add fputc-tests.
2916
2917         Tests for function fgetc().
2918         * modules/fgetc-tests: New file.
2919         * tests/test-fgetc.c: New file.
2920         * modules/stdio-tests (Depends-on): Add fgetc-tests.
2921
2922         Tests for function fdopen().
2923         * modules/fdopen-tests: New file.
2924         * tests/test-fdopen.c: New file.
2925         * modules/stdio-tests (Depends-on): Add fdopen-tests.
2926
2927         Tests for module 'vdprintf'.
2928         * modules/vdprintf-tests: New file.
2929         * tests/test-vdprintf.c: New file.
2930
2931         Tests for module 'dprintf'.
2932         * modules/dprintf-tests: New file.
2933         * tests/test-dprintf.c: New file.
2934
2935 2011-09-20  Bruno Haible  <bruno@clisp.org>
2936
2937         Tests for module 'ioctl'.
2938         * modules/ioctl-tests: New file.
2939         * tests/test-ioctl.c: New file.
2940
2941 2011-09-20  Bruno Haible  <bruno@clisp.org>
2942
2943         fcntl tests: EBADF tests.
2944         * tests/test-fcntl.c (main): Add more tests for EBADF.
2945
2946 2011-09-20  Bruno Haible  <bruno@clisp.org>
2947
2948         utimensat tests: EBADF tests.
2949         * tests/test-utimensat.c (main): Add tests for EBADF.
2950
2951         renameat tests: EBADF tests.
2952         * tests/test-renameat.c (main): Add tests for EBADF.
2953
2954         mkfifoat tests: EBADF tests.
2955         * tests/test-mkfifoat.c (main): Add tests for EBADF.
2956
2957         readlinkat tests: EBADF tests.
2958         * tests/test-readlinkat.c (main): Add tests for EBADF.
2959
2960         symlinkat tests: EBADF tests.
2961         * tests/test-symlinkat.c (main): Add tests for EBADF.
2962
2963         linkat tests: EBADF tests.
2964         * tests/test-linkat.c (main): Add tests for EBADF.
2965
2966         Tests for module 'faccessat'.
2967         * modules/faccessat-tests: New file.
2968         * tests/test-faccessat.c: New file.
2969
2970         fdopendir tests: EBADF tests.
2971         * tests/test-fdopendir.c (main): Add more tests for EBADF.
2972
2973         openat tests: EBADF tests.
2974         * tests/test-fchownat.c (main): Add tests for EBADF.
2975         * tests/test-fstatat.c (main): Likewise.
2976         * tests/test-mkdirat.c (main): Likewise.
2977         * tests/test-openat.c (main): Likewise.
2978         * tests/test-unlinkat.c (main): Likewise.
2979         * tests/test-fchmodat.c: New file.
2980         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
2981         (Makefile.am): Also run 'test-fchmodat'.
2982
2983 2011-09-20  Bruno Haible  <bruno@clisp.org>
2984
2985         utimens, futimens, fdutimensat tests: EBADF tests.
2986         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
2987
2988         Tests for function fstat().
2989         * modules/fstat-tests: New file.
2990         * tests/test-fstat.c: New file.
2991         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
2992
2993 2011-09-20  Bruno Haible  <bruno@clisp.org>
2994
2995         test-ttyname_r tests: EBADF tests.
2996         * tests/test-ttyname_r.c (main): Add tests for EBADF.
2997
2998         Tests for module 'isatty'.
2999         * modules/isatty-tests: New file.
3000         * tests/test-isatty.c: New file.
3001
3002         Tests for module 'write'.
3003         * modules/write-tests: New file.
3004         * tests/test-write.c: New file.
3005
3006         Tests for module 'read'.
3007         * modules/read-tests: New file.
3008         * tests/test-read.c: New file.
3009
3010         pwrite tests: EBADF tests.
3011         * tests/test-pwrite.c (main): Add tests for EBADF.
3012
3013         pread tests: EBADF tests.
3014         * tests/test-pread.c (main): Add tests for EBADF.
3015
3016         lseek tests: EBADF tests.
3017         * tests/test-lseek.c (main): Add more tests for EBADF.
3018
3019         Tests for module 'ftruncate'.
3020         * modules/ftruncate-tests: New file.
3021         * tests/test-ftruncate.sh: New file.
3022         * tests/test-ftruncate.c: New file.
3023
3024         fsync tests: EBADF tests.
3025         * tests/test-fsync.c (main): Add more tests for EBADF.
3026
3027         fdatasync tests: EBADF tests.
3028         * tests/test-fdatasync.c (main): Add more tests for EBADF.
3029
3030         Tests for module 'fchown'.
3031         * modules/fchown-tests: New file.
3032         * tests/test-fchown.c: New file.
3033
3034         Tests for module 'fchmod'.
3035         * modules/fchmod-tests: New file.
3036         * tests/test-fchmod.c: New file.
3037
3038         fchdir tests: EBADF tests.
3039         * tests/test-fchdir.c (main): Add more tests for EBADF.
3040
3041         dup2 tests: EBADF tests.
3042         * tests/test-dup2.c (main): Add more tests for EBADF.
3043
3044         Tests for module 'dup'.
3045         * modules/dup-tests: New file.
3046         * tests/test-dup.c: New file.
3047
3048         Tests for module 'close'.
3049         * modules/close-tests: New file.
3050         * tests/test-close.c: New file.
3051
3052 2011-09-20  Bruno Haible  <bruno@clisp.org>
3053
3054         Tests for module 'shutdown'.
3055         * modules/shutdown-tests: New file.
3056         * tests/test-shutdown.c: New file.
3057
3058         Tests for module 'setsockopt'.
3059         * modules/setsockopt-tests: New file.
3060         * tests/test-setsockopt.c: New file.
3061
3062         Tests for module 'sendto'.
3063         * modules/sendto-tests: New file.
3064         * tests/test-sendto.c: New file.
3065
3066         Tests for module 'send'.
3067         * modules/send-tests: New file.
3068         * tests/test-send.c: New file.
3069
3070         Tests for module 'recvfrom'.
3071         * modules/recvfrom-tests: New file.
3072         * tests/test-recvfrom.c: New file.
3073
3074         Tests for module 'recv'.
3075         * modules/recv-tests: New file.
3076         * tests/test-recv.c: New file.
3077
3078         Tests for module 'listen'.
3079         * modules/listen-tests: New file.
3080         * tests/test-listen.c: New file.
3081
3082         Tests for module 'getsockopt'.
3083         * modules/getsockopt-tests: New file.
3084         * tests/test-getsockopt.c: New file.
3085
3086         Tests for module 'getsockname'.
3087         * modules/getsockname-tests: New file.
3088         * tests/test-getsockname.c: New file.
3089
3090         Tests for module 'getpeername'.
3091         * modules/getpeername-tests: New file.
3092         * tests/test-getpeername.c: New file.
3093
3094         Tests for module 'connect'.
3095         * modules/connect-tests: New file.
3096         * tests/test-connect.c: New file.
3097
3098         Tests for module 'bind'.
3099         * modules/bind-tests: New file.
3100         * tests/test-bind.c: New file.
3101
3102         accept4 tests: Fix for native Windows.
3103         * tests/test-accept4.c: Include sockets.h.
3104         (main): Invoke gl_sockets_startup.
3105         * modules/accept4-tests (Depends-on): Add sockets.
3106
3107         accept tests: Fix for native Windows.
3108         * tests/test-accept.c: Include sockets.h.
3109         (main): Invoke gl_sockets_startup.
3110         * modules/accept-tests (Depends-on): Add sockets.
3111
3112 2011-09-19  Bruno Haible  <bruno@clisp.org>
3113
3114         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
3115         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
3116         do...while(0).
3117         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
3118         Suggested by Paul Eggert.
3119
3120 2011-09-19  Bruno Haible  <bruno@clisp.org>
3121
3122         sched: Ensure pid_t is defined.
3123         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
3124         not define pid_t.
3125         * lib/sched.in.h: Include <sys/types.h>.
3126         * doc/posix-headers/sched.texi: Mention the pid_t problem.
3127         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3128
3129 2011-09-19  Bruno Haible  <bruno@clisp.org>
3130
3131         msvc-inval: Ensure the entire expansion is a single statement.
3132         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
3133         of braces.
3134
3135 2011-09-19  Jim Meyering  <meyering@redhat.com>
3136
3137         tests: use printf, not echo in init.sh's warn_ function
3138         * tests/init.sh (warn_): Use printf, not echo.  The latter would
3139         misbehave when given strings containing a backslash or starting
3140         with e.g., -n.  James Youngman suggested setting IFS.
3141
3142 2011-09-19  Eric Blake  <eblake@redhat.com>
3143
3144         futimens: enhance test
3145         * tests/test-futimens.h (test_futimens): Also check for EBADF on
3146         closed non-negative fd.
3147
3148         date: accept 'hence' as opposite of 'ago'
3149         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
3150         * tests/test-parse-datetime.c (main): Enhance test.
3151         Suggested by Jesse Wilson.
3152
3153 2011-09-19  Jim Meyering  <meyering@redhat.com>
3154
3155         getcwd: don't fail in a deep directory on a system without openat
3156         Before this change, getcwd would fail when called from a directory
3157         of depth PATH_MAX / 3 or greater.  That was due to the fact that
3158         the non-openat implementation used "..", "../..", "../../..", etc.
3159         to access ancestor directories.  With too many, that string would
3160         be longer than PATH_MAX.
3161         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
3162         using gnulib's openat replacement.
3163         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
3164         we're using the replacement function.
3165
3166 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
3167
3168         maint.mk: avoid warnings from perl about missing files
3169         * top/maint.mk (def_sym_regex): Ignore files listed in
3170         $(gl_other_headers_) that do not exist, say because a project
3171         does not use a corresponding module.
3172
3173 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3174
3175         stat: use pathmax.h only if needed
3176         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
3177         This is better for Emacs, which does not have a mingw port and
3178         therefore can avoid the pathmax module.
3179
3180         utimens: remove dependency on dup2
3181         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
3182         to work around the Linux kernel bug.
3183         * modules/utimens (Depends-on): Remove dup2.
3184
3185 2011-09-18  Bruno Haible  <bruno@clisp.org>
3186
3187         inet_ntop, inet_pton: Look for it also in libresolv.
3188         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
3189         libnsl, search for it in libresolv.
3190         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3191         Needed on Solaris 7.
3192
3193 2011-09-18  Bruno Haible  <bruno@clisp.org>
3194
3195         accept, accept4 tests: Avoid link error on Solaris.
3196         * modules/accept-tests (Makefile.am): Link test-accept against
3197         $(LIBSOCKET).
3198         * modules/accept4-tests (Makefile.am): Link test-accept4 against
3199         $(LIBSOCKET).
3200
3201         accept4: Avoid link error on Solaris.
3202         * modules/accept4 (Link): New section.
3203
3204         socket functions: Avoid link errors on Solaris.
3205         * modules/accept (Depends-on): Add socketlib.
3206         (Link): New section.
3207         * modules/bind (Depends-on): Add socketlib.
3208         (Link): New section.
3209         * modules/connect (Depends-on): Add socketlib.
3210         (Link): New section.
3211         * modules/getpeername (Depends-on): Add socketlib.
3212         (Link): New section.
3213         * modules/getsockname (Depends-on): Add socketlib.
3214         (Link): New section.
3215         * modules/getsockopt (Depends-on): Add socketlib.
3216         (Link): New section.
3217         * modules/listen (Depends-on): Add socketlib.
3218         (Link): New section.
3219         * modules/recv (Depends-on): Add socketlib.
3220         (Link): New section.
3221         * modules/recvfrom (Depends-on): Add socketlib.
3222         (Link): New section.
3223         * modules/send (Depends-on): Add socketlib.
3224         (Link): New section.
3225         * modules/sendto (Depends-on): Add socketlib.
3226         (Link): New section.
3227         * modules/setsockopt (Depends-on): Add socketlib.
3228         (Link): New section.
3229         * modules/shutdown (Depends-on): Add socketlib.
3230         (Link): New section.
3231         * modules/socket (Depends-on): Add socketlib.
3232         (Link): New section.
3233
3234 2011-09-18  Bruno Haible  <bruno@clisp.org>
3235
3236         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
3237         * tests/test-ptsname.c (main): Terminate the test if it takes longer
3238         than 5 seconds.
3239         * modules/ptsname-tests (configure.ac): Test for alarm.
3240
3241 2011-09-18  Bruno Haible  <bruno@clisp.org>
3242
3243         posix_spawn_file_actions_add*: Fix module dependencies.
3244         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
3245         posix_spawn_file_actions_init.
3246         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
3247         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
3248
3249 2011-09-18  Bruno Haible  <bruno@clisp.org>
3250
3251         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
3252         * tests/test-rename.h (test_rename): Allow error code EEXIST.
3253         * tests/test-renameat.c (main): Likewise.
3254
3255 2011-09-18  Bruno Haible  <bruno@clisp.org>
3256
3257         Tests for module 'accept4'.
3258         * modules/accept4-tests: New file.
3259         * tests/test-accept4.c: New file.
3260
3261 2011-09-18  Bruno Haible  <bruno@clisp.org>
3262
3263         Tests for module 'accept'.
3264         * modules/accept-tests: New file.
3265         * tests/test-accept.c: New file.
3266
3267 2011-09-18  Bruno Haible  <bruno@clisp.org>
3268
3269         dup2: Support for MSVC.
3270         * lib/dup2.c: Include msvc-inval.h.
3271         (rpl_dup2): Handle invalid parameter notifications during dup2 and
3272         _get_osfhandle calls.
3273         * modules/dup2 (Depends-on): Add msvc-inval.
3274         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
3275
3276         New module 'msvc-inval'.
3277         * lib/msvc-inval.h: New file.
3278         * lib/msvc-inval.c: New file.
3279         * m4/msvc-inval.m4: New file.
3280         * modules/msvc-inval: New file.
3281
3282 2011-09-17  Bruno Haible  <bruno@clisp.org>
3283
3284         Tests for module 'pclose'.
3285         * modules/pclose-tests: New file.
3286
3287         New module 'pclose'.
3288         * lib/stdio.in.h (pclose): New declaration.
3289         * lib/pclose.c: New file.
3290         * m4/pclose.m4: New file.
3291         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
3292         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
3293         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
3294         * modules/pclose: New file.
3295         * modules/popen-tests (Depends-on): Add pclose.
3296         * modules/popen-safer-tests (Depends-on): Likewise.
3297         * doc/posix-functions/pclose.texi: Mention the new module.
3298
3299 2011-09-17  Bruno Haible  <bruno@clisp.org>
3300
3301         popen: Support for MSVC.
3302         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
3303         * lib/popen.c (popen): Provide alternate definition for native Windows.
3304         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
3305         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
3306         * modules/popen (Depends-on, configure.ac): Update condition.
3307         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
3308         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
3309         fixed.
3310
3311 2011-09-17  Bruno Haible  <bruno@clisp.org>
3312
3313         isnanl, isnand, isnanf: Work around MSVC bug.
3314         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
3315
3316 2011-09-17  Bruno Haible  <bruno@clisp.org>
3317
3318         sys_socket tests: Fix recent mistake.
3319         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
3320
3321 2011-09-17  Bruno Haible  <bruno@clisp.org>
3322
3323         putenv: Support for MSVC.
3324         * modules/putenv (Depends-on): Add environ.
3325         * lib/putenv.c (environ): Disable declaration.
3326         * lib/unistd.in.h: Update comment.
3327
3328 2011-09-17  Bruno Haible  <bruno@clisp.org>
3329
3330         math: Avoid macro redefinition warnings on MSVC.
3331         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
3332         Undefine before redefining.
3333
3334 2011-09-17  Bruno Haible  <bruno@clisp.org>
3335
3336         doc: Mention functions which are declared as macros.
3337         * doc/posix-functions/*[fl].texi: Mention that some functions are
3338         defined as macros with arguments only.
3339
3340 2011-09-17  Bruno Haible  <bruno@clisp.org>
3341
3342         Add dependencies to new dirent related modules.
3343         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
3344         * modules/fts (Depends-on): Likewise.
3345         * modules/glob (Depends-on): Likewise.
3346         * modules/savedir (Depends-on): Likewise.
3347         * modules/scandir (Depends-on): Likewise.
3348         * modules/dirent-safer (Depends-on): Add opendir, closedir.
3349         * modules/fdopendir (Depends-on): Add opendir.
3350
3351 2011-09-17  Bruno Haible  <bruno@clisp.org>
3352
3353         inet_pton: Support for MSVC on Windows Vista or newer.
3354         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
3355         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
3356         HAVE_DECL_INET_PTON is defined.
3357         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3358         On platforms with <winsock2.h>, test whether inet_pton is declared in
3359         <ws2tcpip.h>. If so, arrange to replace it.
3360         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3361         REPLACE_INET_PTON.
3362         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
3363         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
3364         (Depends-on, configure.ac): Update condition.
3365         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
3366
3367 2011-09-17  Bruno Haible  <bruno@clisp.org>
3368
3369         inet_ntop: Support for MSVC on Windows Vista or newer.
3370         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
3371         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
3372         HAVE_DECL_INET_NTOP is defined.
3373         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3374         On platforms with <winsock2.h>, test whether inet_ntop is declared in
3375         <ws2tcpip.h>. If so, arrange to replace it.
3376         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3377         REPLACE_INET_NTOP.
3378         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
3379         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
3380         (Depends-on, configure.ac): Update condition.
3381         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
3382
3383 2011-09-16  Eric Blake  <eblake@redhat.com>
3384
3385         test-fsync: yet another enhancement
3386         * tests/test-fsync.c (main): Also test behavior on read-only text
3387         file.
3388
3389 2011-09-16  Bruno Haible  <bruno@clisp.org>
3390
3391         Enhance fsync, fdatasync tests.
3392         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
3393         * tests/test-fdatasync.c (main): Likewise.
3394
3395 2011-09-16  Bruno Haible  <bruno@clisp.org>
3396
3397         Support for MSVC compiler: Ensure mode_t gets defined.
3398         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
3399         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3400         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3401         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
3402         * tests/test-fcntl-h.c: Check that mode_t is defined.
3403         * tests/test-sys_stat.c: Likewise.
3404         * tests/test-sys_types.c: Likewise.
3405         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
3406         * doc/posix-headers/sys_stat.texi: Likewise.
3407         * doc/posix-headers/sys_types.texi: Likewise.
3408
3409 2011-09-16  Bruno Haible  <bruno@clisp.org>
3410
3411         sys_stat: Support for MSVC.
3412         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
3413         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
3414         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
3415         MSVC.
3416
3417 2011-09-16  Bruno Haible  <bruno@clisp.org>
3418
3419         Support for MSVC compiler: Ensure off_t gets defined.
3420         * lib/unistd.in.h: Include <sys/types.h>.
3421         * tests/test-fcntl-h.c: Check that off_t is defined.
3422         * tests/test-sys_stat.c: Likewise.
3423         * tests/test-sys_types.c: Likewise.
3424
3425 2011-09-16  Eric Blake  <eblake@redhat.com>
3426
3427         fdatasync: port to Solaris
3428         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
3429         * modules/fdatasync (Link): Document it.
3430         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3431
3432         fdatasync: port to MacOS X 10.7
3433         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3434         declared.
3435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3436         * modules/unistd (Makefile.am): Substitute it.
3437         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3438         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3439
3440         fdatasync: minor improvements
3441         * modules/fdatasync (Depends-on): Add condition for fsync.
3442         * lib/fdatasync.c (fdatasync): Add comment.
3443         * tests/test-unistd-c++.cc: Test fdatasync.
3444
3445         unistd: update refs to newer POSIX
3446         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3447         Suggested by Bruno Haible.
3448
3449         fdatasync: new module
3450         * modules/fsync (Description): Document difference to fdatasync.
3451         * modules/fdatasync: New module.
3452         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3453         * lib/fdatasync.c (fdatasync): Likewise.
3454         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3455         defaults.
3456         * modules/unistd (Makefile.am): Set witnesses.
3457         * lib/unistd.in.h (fdatasync): Declare.
3458         * MODULES.html.sh: Document it.
3459         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3460         * modules/fdatasync-tests: New test.
3461         * tests/test-fdatasync.c: Likewise.
3462
3463 2011-09-16  Eric Blake  <eblake@redhat.com>
3464
3465         test-fsync: enhance tests
3466         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3467         * tests/test-fsync.c (main): Enhance test.
3468
3469 2011-09-15  Bruno Haible  <bruno@clisp.org>
3470
3471         Support for MSVC compiler: Ensure ssize_t gets defined.
3472         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3473         * doc/posix-headers/stdio.texi: Likewise.
3474         * modules/stdio (Depends-on): Add ssize_t.
3475         * modules/sys_socket (Depends-on): Likewise.
3476         * modules/sys_types (Depends-on): Likewise.
3477         * modules/sys_uio (Depends-on): Likewise.
3478         * modules/unistd (Depends-on): Likewise.
3479         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3480         * tests/test-sys_types.c: Check that ssize_t is defined.
3481
3482 2011-09-14  Bruno Haible  <bruno@clisp.org>
3483
3484         Avoid using #, the m4 comment starter character, near brackets.
3485         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3486         delimiter character in sed expressions.
3487         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3488         Suggested by Eric Blake.
3489
3490         Properly quote AC_CHECK_DECLS' 4th argument.
3491         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3492         argument.
3493         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3494         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3495         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3496         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3497         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3498         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3499         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3500         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3501         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3502         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3503         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3504         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3505         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3506         * m4/isinf.m4 (gl_ISINF): Likewise.
3507         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3508         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3509         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3510         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3511         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3512         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3513         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3514         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3515         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3516         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3517         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3518         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3519         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3520         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3521         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3522         Reported by Eric Blake.
3523
3524         Properly quote AC_CHECK_DECL's 4th argument.
3525         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3526         argument.
3527         * m4/argp.m4 (gl_ARGP): Likewise.
3528         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3529         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3530         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3531         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3532         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3533         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3534         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3535         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3536         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3537         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3538         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3539         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3540         Reported by Eric Blake.
3541
3542 2011-09-14  Eric Blake  <eblake@redhat.com>
3543
3544         opendir: avoid compile warning
3545         * lib/opendir.c (includes): Always include errno.h.
3546         Reported by Tatsuro MATSUOKA.
3547
3548 2011-09-14  Jim Meyering  <meyering@redhat.com>
3549
3550         maint.mk: sc_tight_scope: propagate failure from sub-make
3551         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3552         Reported by Martin von Gagern.
3553
3554 2011-09-13  Bruno Haible  <bruno@clisp.org>
3555
3556         tempname: Support for MSVC.
3557         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3558         MSVC.
3559         * modules/tempname (Depends-on): Add fcntl-h.
3560
3561 2011-09-13  Bruno Haible  <bruno@clisp.org>
3562
3563         sys_time: Support for MSVC.
3564         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3565         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3566         include <winsock2.h>.
3567         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3568         function declarations that collide with POSIX.
3569         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3570         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3571
3572 2011-09-13  Bruno Haible  <bruno@clisp.org>
3573
3574         stat: Support for MSVC.
3575         * lib/stat.c: Include pathmax.h.
3576         * modules/stat (Depends-on): Add pathmax.
3577
3578         pathmax: Support for native Windows.
3579         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3580
3581 2011-09-12  Bruno Haible  <bruno@clisp.org>
3582
3583         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3584         * lib/dirent.in.h (struct dirent): New type.
3585         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3586         DT_WHT): New macros.
3587         (DIR): New type.
3588         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3589         (readdir, rewinddir): New declarations.
3590         * lib/dirent-private.h: New file.
3591         * lib/opendir.c: New file.
3592         * lib/readdir.c: New file.
3593         * lib/rewinddir.c: New file.
3594         * lib/closedir.c: New file.
3595         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3596         * m4/opendir.m4: New file.
3597         * m4/readdir.m4: New file.
3598         * m4/rewinddir.m4: New file.
3599         * m4/closedir.m4: New file.
3600         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3601         REPLACE_CLOSEDIR here.
3602         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3603         readdir, rewinddir are declared.
3604         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3605         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3606         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3607         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3608         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3609         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3610         * modules/opendir: New file.
3611         * modules/readdir: New file.
3612         * modules/rewinddir: New file.
3613         * modules/closedir: New file.
3614         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3615         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3616         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3617         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3618         * NEWS: Mention the 'fchdir' change.
3619
3620 2011-09-11  Bruno Haible  <bruno@clisp.org>
3621
3622         asm-underscore.m4: Support for MSVC.
3623         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3624         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3625
3626 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3627
3628         Doc about crypt functions.
3629         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3630         needing for _GNU_SOURCE to get crypt.
3631         * doc/posix-functions/encrypt.texi: Likewise.
3632         * doc/posix-functions/setkey.texi: Likewise.
3633
3634 2011-09-11  Bruno Haible  <bruno@clisp.org>
3635
3636         doc: Update regarding MSVC 9.
3637         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3638         tested".
3639         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3640         * doc/posix-headers/*.texi: Likewise.
3641         * doc/pastposix-functions/*.texi: Likewise.
3642         * doc/glibc-functions/*.texi: Likewise.
3643         * doc/glibc-headers/*.texi: Likewise.
3644
3645 2011-09-11  Bruno Haible  <bruno@clisp.org>
3646
3647         unistd et al.: Don't assume <unistd.h> exists.
3648         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3649         does not exist.
3650         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3651         exist. But include <stdlib.h>.
3652         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3653         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3654         symlink() does not exist.
3655         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3656         include <io.h> instead.
3657         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3658         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3659         include <direct.h> instead.
3660         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3661         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3662         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3663         <io.h> instead.
3664         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3665         correctly if the system does not have hard links.
3666         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3667         <direct.h> instead.
3668         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3669         it when looking for function declarations.
3670         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3671         <direct.h> and <io.h> instead.
3672         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3673
3674 2011-09-11  Bruno Haible  <bruno@clisp.org>
3675
3676         strcase: Support for MSVC.
3677         * modules/strcase (Status, Notice): Remove obsoletion mark.
3678         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3679         * doc/posix-functions/strncasecmp.texi: Likewise.
3680
3681         strings: Don't assume <strings.h> exists.
3682         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3683         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3684         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3685         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3686
3687 2011-09-11  Bruno Haible  <bruno@clisp.org>
3688
3689         dirent: Don't assume <dirent.h> exists.
3690         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3691         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3692         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3693         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3694
3695 2011-09-11  Bruno Haible  <bruno@clisp.org>
3696
3697         Fix wint_t on MSVC.
3698         * lib/wchar.in.h (wint_t): On MSVC, override it.
3699         * lib/wctype.in.h (wint_t): Likewise.
3700         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3701         MSVC.
3702         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3703         * doc/posix-headers/wctype.texi: Likewise.
3704
3705 2011-09-11  Bruno Haible  <bruno@clisp.org>
3706
3707         sys_types: Fix typo.
3708         * lib/sys_types.in.h: Fix typo in comment.
3709         Reported by Paul Eggert.
3710
3711         Support for MSVC compiler: Ensure size_t gets defined.
3712         * modules/strings (Depends-on): Add 'sys_types'.
3713         * modules/sys_uio (Depends-on): Likewise.
3714         * lib/sys_uio.in.h: Update comment.
3715
3716         C++ tests for module 'sys_types'.
3717         * modules/sys_types-c++-tests: New file.
3718         * tests/test-sys_types-c++.cc: New file.
3719
3720         Tests for module 'sys_types'.
3721         * modules/sys_types-tests: New file.
3722         * tests/test-sys_types.c: New file.
3723
3724         New module 'sys_types'.
3725         * lib/sys_types.in.h: New file.
3726         * m4/sys_types_h.m4: New file.
3727         * modules/sys_types: New file.
3728         * doc/posix-headers/sys_types.texi: Mention the new module and the
3729         size_t problem on MSVC 9.
3730
3731 2011-09-11  Bruno Haible  <bruno@clisp.org>
3732
3733         Support for MSVC compiler: Avoid division by a literal 0.
3734         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3735         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3736         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3737         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3738         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3739         * tests/infinity.h: New file.
3740         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3741         on MSVC.
3742         * tests/test-ceilf1.c: Include infinity.h.
3743         (main): Use Infinityf.
3744         * tests/test-ceil1.c: Include infinity.h.
3745         (main): Use Infinityd.
3746         * tests/test-ceill.c: Include infinity.h.
3747         (main): Use Infinityl.
3748         * tests/test-dprintf-posix.c: Include infinity.h.
3749         (test_function): Use Infinityd.
3750         * tests/test-floorf1.c: Include infinity.h.
3751         (main): Use Infinityf.
3752         * tests/test-floor1.c: Include infinity.h.
3753         (main): Use Infinityd.
3754         * tests/test-floorl.c: Include infinity.h.
3755         (main): Use Infinityl.
3756         * tests/test-fprintf-posix.c: Include infinity.h.
3757         (test_function): Use Infinityd.
3758         * tests/test-frexp.c: Include infinity.h.
3759         (main): Use Infinityd.
3760         * tests/test-frexpl.c: Include infinity.h.
3761         (main): Use Infinityl.
3762         * tests/test-isfinite.c: Include infinity.h.
3763         (test_isfinitef): Use Infinityf.
3764         (test_isfinited): Use Infinityd.
3765         (test_isfinitel): Use Infinityl.
3766         * tests/test-isinf.c: Include infinity.h.
3767         (test_isinff): Use Infinityf.
3768         (test_isinfd): Use Infinityd.
3769         (test_isinfl): Use Infinityl.
3770         * tests/test-isnan.c: Include infinity.h.
3771         (test_float): Use Infinityf.
3772         (test_double): Use Infinityd.
3773         (test_long_double): Use Infinityl.
3774         * tests/test-isnanf.h: Include infinity.h.
3775         (main): Use Infinityf.
3776         * tests/test-isnand.h: Include infinity.h.
3777         (main): Use Infinityd.
3778         * tests/test-isnanl.h: Include infinity.h.
3779         (main): Use Infinityl.
3780         * tests/test-ldexpl.c: Include infinity.h.
3781         (main): Use Infinityl.
3782         * tests/test-printf-posix.h: Include infinity.h.
3783         (test_function): Use Infinityd.
3784         * tests/test-roundf1.c: Include infinity.h.
3785         (main): Use Infinityf.
3786         * tests/test-round1.c: Include infinity.h.
3787         (main): Use Infinityd.
3788         * tests/test-roundl.c: Include infinity.h.
3789         (main): Use Infinityl.
3790         * tests/test-signbit.c: Include infinity.h.
3791         (test_signbitf): Use Infinityf.
3792         (test_signbitd): Use Infinityd.
3793         (test_signbitl): Use Infinityl.
3794         * tests/test-snprintf-posix.h: Include infinity.h.
3795         (test_function): Use Infinityd, Infinityl.
3796         * tests/test-sprintf-posix.h: Include infinity.h.
3797         (test_function): Use Infinityd, Infinityl.
3798         * tests/test-truncf1.c: Include infinity.h.
3799         (main): Use Infinityf.
3800         * tests/test-trunc1.c: Include infinity.h.
3801         (main): Use Infinityd.
3802         * tests/test-truncl.c: Include infinity.h.
3803         (main): Use Infinityl.
3804         * tests/test-vasnprintf-posix.c: Include infinity.h.
3805         (test_function): Use Infinityd, Infinityl.
3806         * tests/test-vasprintf-posix.c: Include infinity.h.
3807         (test_function): Use Infinityd, Infinityl.
3808         * modules/ceilf-tests (Files): Add tests/infinity.h.
3809         * modules/ceil-tests (Files): Likewise.
3810         * modules/ceill-tests (Files): Likewise.
3811         * modules/dprintf-posix-tests (Files): Likewise.
3812         * modules/floorf-tests (Files): Likewise.
3813         * modules/floor-tests (Files): Likewise.
3814         * modules/floorl-tests (Files): Likewise.
3815         * modules/fprintf-posix-tests (Files): Likewise.
3816         * modules/frexp-tests (Files): Likewise.
3817         * modules/frexp-nolibm-tests (Files): Likewise.
3818         * modules/frexpl-tests (Files): Likewise.
3819         * modules/frexpl-nolibm-tests (Files): Likewise.
3820         * modules/isfinite-tests (Files): Likewise.
3821         * modules/isinf-tests (Files): Likewise.
3822         * modules/isnan-tests (Files): Likewise.
3823         * modules/isnanf-tests (Files): Likewise.
3824         * modules/isnanf-nolibm-tests (Files): Likewise.
3825         * modules/isnand-tests (Files): Likewise.
3826         * modules/isnand-nolibm-tests (Files): Likewise.
3827         * modules/isnanl-tests (Files): Likewise.
3828         * modules/isnanl-nolibm-tests (Files): Likewise.
3829         * modules/ldexpl-tests (Files): Likewise.
3830         * modules/printf-posix-tests (Files): Likewise.
3831         * modules/roundf-tests (Files): Likewise.
3832         * modules/round-tests (Files): Likewise.
3833         * modules/roundl-tests (Files): Likewise.
3834         * modules/signbit-tests (Files): Likewise.
3835         * modules/snprintf-posix-tests (Files): Likewise.
3836         * modules/sprintf-posix-tests (Files): Likewise.
3837         * modules/truncf-tests (Files): Likewise.
3838         * modules/trunc-tests (Files): Likewise.
3839         * modules/truncl-tests (Files): Likewise.
3840         * modules/vasnprintf-posix-tests (Files): Likewise.
3841         * modules/vasprintf-posix-tests (Files): Likewise.
3842         * modules/vdprintf-posix-tests (Files): Likewise.
3843         * modules/vfprintf-posix-tests (Files): Likewise.
3844         * modules/vprintf-posix-tests (Files): Likewise.
3845         * modules/vsnprintf-posix-tests (Files): Likewise.
3846         * modules/vsprintf-posix-tests (Files): Likewise.
3847         * modules/xprintf-posix-tests (Files): Likewise.
3848
3849 2011-09-11  Bruno Haible  <bruno@clisp.org>
3850
3851         Ensure pid_t gets defined.
3852         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
3853         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3854         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3855         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3856         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3857         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3858         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3859         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3860         * tests/test-fcntl-h.c: Check that pid_t is defined.
3861         * tests/test-sched.c: Likewise.
3862         * tests/test-termios.c: Likewise.
3863         * tests/test-time.c: Likewise.
3864         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
3865         * doc/posix-headers/signal.texi: Likewise.
3866         * doc/posix-headers/sys_types.texi: Likewise.
3867         * doc/posix-headers/time.texi: Likewise.
3868
3869 2011-09-11  Bruno Haible  <bruno@clisp.org>
3870
3871         acl: Fix compilation on Solaris 10 (older version).
3872         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
3873         of ACE_EVERYONE.
3874         * lib/set-mode-acl.c (qset_acl): Likewise.
3875         Reported by Christian Jullien <eligis@orange.fr>.
3876
3877 2011-09-10  Bruno Haible  <bruno@clisp.org>
3878
3879         iconv, unsetenv: Add support for MSVC compiler.
3880         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
3881         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
3882
3883 2011-09-10  Bruno Haible  <bruno@clisp.org>
3884
3885         *printf: Add support for MSVC compiler.
3886         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
3887         handles the exception caused by the %n directive. When cross-compiling,
3888         guess no on native Windows.
3889         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3890         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
3891         emulate it through vsnprintf.
3892         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
3893         * doc/posix-functions/dprintf.texi: Update documentation regarding
3894         MSVC 9.
3895         * doc/posix-functions/fprintf.texi: Likewise.
3896         * doc/posix-functions/printf.texi: Likewise.
3897         * doc/posix-functions/snprintf.texi: Likewise.
3898         * doc/posix-functions/sprintf.texi: Likewise.
3899         * doc/posix-functions/swprintf.texi: Likewise.
3900         * doc/posix-functions/vdprintf.texi: Likewise.
3901         * doc/posix-functions/vfprintf.texi: Likewise.
3902         * doc/posix-functions/vprintf.texi: Likewise.
3903         * doc/posix-functions/vsnprintf.texi: Likewise.
3904         * doc/posix-functions/vsprintf.texi: Likewise.
3905         * doc/glibc-functions/asprintf.texi: Likewise.
3906         * doc/glibc-functions/obstack_printf.texi: Likewise.
3907         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3908         * doc/glibc-functions/vasprintf.texi: Likewise.
3909
3910 2011-09-10  Bruno Haible  <bruno@clisp.org>
3911
3912         nocrash: Add support for native Windows.
3913         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
3914
3915 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
3916             Bruno Haible  <bruno@clisp.org>
3917
3918         absolute-header, include-next: Add support for MSVC compiler.
3919         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
3920         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
3921         directory separator in #line directives.
3922         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
3923         recognize also backslash as directory separator in #line directives.
3924
3925 2011-09-08  Jim Meyering  <meyering@redhat.com>
3926
3927         maint.mk: mark the post-release commit log with "maint: " prefix
3928         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
3929         one-line commit-log summary.
3930
3931 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
3932             Bruno Haible  <bruno@clisp.org>
3933
3934         Doc about crypt functions.
3935         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
3936         systems.
3937         * doc/posix-functions/encrypt.texi: Likewise.
3938         * doc/posix-functions/setkey.texi: Likewise.
3939
3940 2011-09-08  Simon Josefsson  <simon@josefsson.org>
3941
3942         * lib/gc.h: Fix copyright header.
3943
3944 2011-09-07  Bruno Haible  <bruno@clisp.org>
3945
3946         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
3947         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
3948         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
3949
3950 2011-09-07  Bruno Haible  <bruno@clisp.org>
3951
3952         openat: Work around compilation error with OSF/1 5.1 DTK cc.
3953         * lib/fopen.c: Use different syntax for include of <stdio.h>.
3954         * lib/freopen.c: Likewise.
3955         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
3956         * lib/lstat.c: Likewise.
3957         * lib/stat.c: Likewise.
3958         * lib/open.c: Use different syntax for include of <fcntl.h>.
3959         * lib/openat.c: Include fcntl.h again, explicitly.
3960
3961 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
3962
3963         parse-datetime: document the newly accepted format
3964         * doc/parse-datetime.texi (Combined date and time of day items):
3965         New section.
3966
3967 2011-09-06  Bruno Haible  <bruno@clisp.org>
3968
3969         acl: Fix a test failure on newer Solaris 10 with ZFS.
3970         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
3971         ENOSYS as no ACL.
3972         Reported by Jim Meyering.
3973
3974 2011-09-06  Bruno Haible  <bruno@clisp.org>
3975
3976         acl: Update for AIX >= 5.3 with NFS.
3977         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
3978         ENOSYS as no ACL.
3979
3980         acl: Fix a test failure on AIX >= 5.3 with NFS.
3981         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
3982         as no ACL.
3983
3984 2011-09-06  Bruno Haible  <bruno@clisp.org>
3985
3986         acl: Fix a test failure on IRIX 6.5 with NFS.
3987         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
3988         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
3989         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
3990         * lib/copy-acl.c (qcopy_acl): Likewise.
3991
3992 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3993
3994         openat: port to AIX 7.1 with large files
3995         AIX 7.1 does a "#define openat open64at" if large files are in use,
3996         so we can't simply #undef openat.  Use the orig_openat trick (similar
3997         to orig_open in lib/open.c) to work around the problem.  Problem
3998         reported by Kevin Brott for GNU tar, in the thread containing
3999         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
4000         * lib/openat.c (__need_system_fcntl_h): Define first.
4001         Include <fcntl.h> and <sys/types.h> before undefining.
4002         (orig_openat) [HAVE_OPENAT]: New inline function.
4003         (openat) [HAVE_OPENAT]: Do not undef.
4004         (rpl_openat): Use orig_openat, not openat.
4005
4006 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
4007             Bruno Haible  <bruno@clisp.org>
4008
4009         acl: Avoid errors on NonStop Kernel.
4010         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
4011         ENOTSUP errors.
4012
4013 2011-09-05  Bruno Haible  <bruno@clisp.org>
4014
4015         acl: Clean up Solaris code.
4016         * lib/acl-internal.h: Remove no-op #if.
4017         * lib/file-has-acl.c: Likewise.
4018         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
4019         * lib/copy-acl.c (qcopy_acl): Likewise.
4020
4021 2011-09-05  Bruno Haible  <bruno@clisp.org>
4022
4023         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
4024         binaries built on the original Solaris 10.
4025         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
4026         trivial.
4027
4028 2011-09-05  Bruno Haible  <bruno@clisp.org>
4029
4030         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4031         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
4032         10.
4033         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
4034         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
4035         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
4036         instead of acl_get, facl_get, acl_set, facl_set.
4037
4038 2011-09-05  Bruno Haible  <bruno@clisp.org>
4039
4040         copy-file: Try unit tests on more file systems.
4041         * tests/test-copy-file-1.sh: New file.
4042         * tests/test-copy-file-2.sh: New file.
4043         * modules/copy-file-tests (Files): Add them.
4044         (Makefile.am): Add them to TESTS.
4045
4046         acl: Try unit tests on more file systems.
4047         * tests/test-file-has-acl-1.sh: New file.
4048         * tests/test-file-has-acl-2.sh: New file.
4049         * tests/test-set-mode-acl-1.sh: New file.
4050         * tests/test-set-mode-acl-2.sh: New file.
4051         * tests/test-copy-acl-1.sh: New file.
4052         * tests/test-copy-acl-2.sh: New file.
4053         * modules/acl-tests (Files): Add them.
4054         (Makefile.am): Add them to TESTS.
4055
4056 2011-09-04  Bruno Haible  <bruno@clisp.org>
4057
4058         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4059         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
4060         10.
4061         (OLD_ALLOW, OLD_DENY): New macros.
4062         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
4063         ACE_ACCESS_ALLOWED_ACE_TYPE.
4064         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
4065         ACE_ACCESS_DENIED_ACE_TYPE.
4066         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
4067         (NEW_ACE_EXECUTE): Fix value.
4068         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
4069         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
4070         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
4071         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
4072         NEW_ACE_SYNCHRONIZE): New macros.
4073         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
4074         instead of acl_fromtext, acl_set, facl_set.
4075         Fixes a coreutils/tests/cp/perm failure.
4076
4077 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
4078
4079         openat: test for fstatat (..., 0) bug
4080         Further testing with tar suggests that fstatat (..., 0)
4081         does not work in general, on AIX 7.1; see
4082         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
4083         So, give up entirely on AIX 7.1's fstatat, and fall back on our
4084         replacement fstatat (which is what older AIX releases were using
4085         anyway).
4086         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
4087         use is now changed to orig_fstatat.  This was probably the right
4088         thing to do anyway.
4089         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
4090         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
4091         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
4092         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
4093         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
4094         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
4095         if the bug is found.
4096
4097         openat: test for fstatat (AT_FDCWD, ..., 0) bug
4098         This tests for another fstatat bug on AIX 7.1:
4099         fstatat (AT_FDCWD, ..., 0) does not work.  See
4100         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
4101         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
4102         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
4103         (rpl_fstatat): Adjust so that it works around either (or both)
4104         bugs if present.
4105         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
4106
4107 2011-09-03  Karl Berry  <karl@gnu.org>
4108
4109         * doc/regex.texi (Character Class Operators): Avoid literal ":"
4110         in index entries.
4111
4112 2011-09-02  Bruno Haible  <bruno@clisp.org>
4113
4114         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
4115         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
4116         values of AR, ARFLAGS, RANLIB.
4117         Reported by John W. Eaton <jwe@gnu.org> for Octave.
4118
4119 2011-09-02  Bruno Haible  <bruno@clisp.org>
4120
4121         Find 'ar' program that fits with --host argument.
4122         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
4123
4124 2011-09-02  Bruno Haible  <bruno@clisp.org>
4125
4126         tests: init.sh: Support any non-GNU diff.
4127         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
4128         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
4129         Solaris 8.
4130
4131 2011-09-02  Bruno Haible  <bruno@clisp.org>
4132
4133         tests: init.sh: work also with any non-GNU diff that supports -u
4134         * tests/init.sh: Relax check for diff -u support.
4135         Rather than checking for GNU diff via --version, simply check
4136         for support for -u itself.  Useful at least on OpenBSD 4.9,
4137         AIX 7.1, IRIX 6.5, and Solaris 10.
4138
4139 2011-09-01  Bruno Haible  <bruno@clisp.org>
4140
4141         strtoimax, strtoumax: Document problem on HP-UX 11.
4142         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
4143         * doc/posix-functions/strtoumax.texi: Likewise.
4144
4145 2011-09-01  Bruno Haible  <bruno@clisp.org>
4146
4147         strtoumax: Avoid link error on OSF/1 with DTK cc.
4148         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
4149         defined as a function.
4150         * modules/strtoumax (Depends-on, configure.ac): Test only whether
4151         strtoumax is defined, not whether it is declared.
4152
4153 2011-09-01  Bruno Haible  <bruno@clisp.org>
4154
4155         strtoimax: Avoid link error on OSF/1 with DTK cc.
4156         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
4157         defined as a function.
4158         * modules/strtoimax (Depends-on, configure.ac): Test only whether
4159         strtoimax is defined, not whether it is declared.
4160
4161 2011-09-01  Bruno Haible  <bruno@clisp.org>
4162
4163         imaxdiv: Avoid link error on OSF/1 with DTK cc.
4164         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
4165         as a function.
4166         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
4167         whether it is declared.
4168
4169 2011-09-01  Bruno Haible  <bruno@clisp.org>
4170
4171         imaxabs: Avoid link error on OSF/1 with DTK cc.
4172         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
4173         as a function.
4174         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
4175         whether it is declared.
4176
4177 2011-09-01  Bruno Haible  <bruno@clisp.org>
4178
4179         Tests for module 'strtoumax'.
4180         * modules/strtoumax-tests: New file.
4181         * tests/test-strtoumax.c: New file.
4182
4183         Tests for module 'strtoimax'.
4184         * modules/strtoimax-tests: New file.
4185         * tests/test-strtoimax.c: New file.
4186
4187         Tests for module 'imaxdiv'.
4188         * modules/imaxdiv-tests: New file.
4189         * tests/test-imaxdiv.c: New file.
4190
4191         Tests for module 'imaxabs'.
4192         * modules/imaxabs-tests: New file.
4193         * tests/test-imaxabs.c: New file.
4194
4195 2011-09-01  Bruno Haible  <bruno@clisp.org>
4196
4197         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4198         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
4199         pthread_create.
4200
4201 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4202
4203         openat: work around AIX 7.1 fstatat issue
4204         This should fix the problem that was not properly fixed
4205         in the previous change, dated 2011-08-30.
4206         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
4207         __need_system_stat_h defined.
4208         (orig_fstatat) [HAVE_FSTATAT]: New function.
4209         (rpl_fstatat): Go back to the old way of doing things,
4210         except call orig_fstatat instead of fstatat.
4211         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
4212         Remove unnecessary check whether fstatat fills in st_size etc.
4213
4214 2011-09-01  Bruno Haible  <bruno@clisp.org>
4215
4216         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
4217         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
4218         just include the system's header.
4219
4220 2011-08-31  Jim Meyering  <meyering@redhat.com>
4221
4222         tests: avoid spurious assertion failure in test-float.c on ppc64
4223         * tests/test-float.c (test_long_double): Comment out an assertion,
4224         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
4225         with gcc-4.4.4.
4226
4227         maint: indent with spaces, not TABs
4228         I need to get in the habit of running gnulib's "make check".
4229         Both of these would have been caught.
4230         * m4/largefile.m4: Indent with spaces, not TABs.
4231         * lib/parse-datetime.y (iso_8601_time): Likewise.
4232         Spotted by Pádraig Brady.
4233
4234         test-parse-datetime.c: accommodate a relatively strict gcc warning
4235         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
4236         to avoid a warning from gcc's -Werror=missing-declarations.
4237         Insert a few spaces-before-funcall-parenthesis.
4238
4239 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
4240
4241         parse-datetime: accept ISO 8601 date and time rep with "T" separator
4242         The parser now accepts ISO 8601 date-time strings with "T" as the
4243         separator.  It has long parsed dates like "2004-02-29 16:21:42"
4244         with a space between the date and time strings.  Now it also parses
4245         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
4246         variants like "2004-02-29T16:21:42.333-07:00"
4247         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
4248         of day representation using the 'T' separator character.
4249         * doc/parse-datetime.texi (General date syntax): replace use of
4250         deprecated --iso-8601 option with --rfc-3339 in example of date
4251         command output formats that can be parsed.
4252         * tests/test-parse-datetime.c (tm_diff): New function, taken from
4253         lib/parse-datetime.y.
4254         (gmt_offset): New function.
4255         (main): Add additional test cases to validate ISO8601 extended
4256         date and time of day parsing.
4257
4258 2011-08-31  Bruno Haible  <bruno@clisp.org>
4259
4260         freopen: Documentation.
4261         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
4262         name.
4263         Reported by Claudio Bley <claudio.bley@gmail.com>.
4264
4265 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
4266
4267         freopen: Don't crash if the filename argument is NULL.
4268         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
4269         NULL.
4270
4271 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4272
4273         openat: work around AIX 7.1 fstatat bug
4274         Problem reported by Kevin Brott for GNU tar, in the thread containing
4275         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
4276         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
4277         FSTATAT_ST_SIZE_ETC_BROKEN.
4278         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
4279         rpl_fstatat.
4280         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
4281         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
4282         AC_CHECK_FUNCS_ONCE for fstatat.
4283         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
4284         fchmodat, mkdirat, openat and unlinkat.
4285
4286 2011-08-30  Bruno Haible  <bruno@clisp.org>
4287
4288         Avoid endless recursions if config.h includes some header files.
4289         * lib/fopen.c (__need_FILE): Define already before including config.h.
4290         * lib/freopen.c (__need_FILE): Likewise.
4291         * lib/open.c (__need_system_fcntl_h): Likewise.
4292         * lib/stat.c (__need_system_sys_stat_h): Likewise.
4293         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
4294         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4295
4296 2011-08-25  Karl Berry  <karl@gnu.org>
4297
4298         * config/srclist.txt (ylwrap): new try.
4299         * build-aux/ylwrap: new file.
4300
4301 2011-08-23  Bruno Haible  <bruno@clisp.org>
4302
4303         tmpdir: Use a good default directory on native Windows.
4304         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
4305         (P_tmpdir): Default to _P_tmpdir on native Windows.
4306         (path_search): On native Windows, try the value returned by GetTempPath
4307         before trying P_tmpdir.
4308         * modules/tmpdir (Depends-on): Add pathmax.
4309         Suggested by John Darrington <john@darrington.wattle.id.au>.
4310
4311 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
4312
4313         doc: fix typo in README-release
4314         * top/README-release: Capitalize first word of a sentence.
4315
4316 2011-08-19  Jim Meyering  <meyering@redhat.com>
4317
4318         fts: do not exhaust memory when processing million-entry directories
4319         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
4320         directory would require about 256*N bytes of memory.  Thus, it was
4321         easy to construct a directory too large to be processed by any of
4322         those tools.  With this change, fts' maximum memory utilization is
4323         now limited to around 30MB.
4324         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
4325         (fts_read): When we've processed the final entry (i.e., when
4326         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
4327         using the parent entry to read any remaining entries.  Dispatch
4328         depending on what fts_build returns:
4329         - NULL+stop, aka failure: stop
4330         - NULL otherwise: move up in the dir hierarchy
4331         - non-NULL: handle this new entry
4332         (fts_build): Declare and use new local, continue_readdir.
4333         Prepare to be called from fts_read, when the entries
4334         from a partially-read directory have just been exhausted.
4335         In that case, we'll skip the opendir and instead use the parent's
4336         fts_dirp and derive dir_fd from that.
4337         Finally, in the readdir loop, if we read max_entries entries,
4338         exit the loop ensuring *not* to call closedir.  This is required
4339         so that fts_dirp can be reused on a subsequent call.
4340         Prompted by Ben England's report of memory exhaustion in find
4341         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
4342
4343         maint: fts: move decl of `dp' down into while loop; split a long line
4344         * lib/fts.c (fts_build): No semantic change.
4345
4346         fts: add/use new struct member, fts_dirp
4347         We are about to use this to manage any directory with
4348         too many entries to read all of them into memory at once.
4349         To do that, we'll need to save the DIR* pointer in each
4350         affected FTSENT struct.
4351         * lib/fts_.h: Include <dirent.h>.
4352         (struct FTSENT) [fts_dirp]: New member.
4353         * lib/fts.c (closedir_and_clear): Define.
4354         Use it in place of closedir so that we are sure to
4355         clear the new fts_dirp member when done with it.
4356         (fts_alloc): Initialize the new member.
4357         (fts_lfree): Free, if needed.
4358
4359         maint: fts: give __opendir2 a new parameter and rename
4360         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
4361         than surreptitiously using sole caller's "dir_fd".
4362         (fts_opendir): Rename from __opendir2.
4363
4364         maint: fts.c: remove __opendir2's now-unused parameter, oflag
4365         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
4366
4367         maint: fts.c: correct off-by-one indentation
4368         * lib/fts.c (fts_build): Correct indentation, change style
4369         of a couple of block comments, and bracing style.
4370
4371         maint: fts.c: move __opendir2 #define "up" out of function body
4372         * lib/fts.c (__opendir2): Move "up".  No semantic change.
4373
4374         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
4375         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
4376         out for a long time and besides was useful only on BSD systems.
4377
4378 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4379
4380         regex: port to Stratus OpenVOS
4381         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
4382         define to empty, rather than attempting nonportable optimizations.
4383         Problem reported by Paul Green in:
4384         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
4385         and fix suggested by Eric Blake in:
4386         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
4387
4388 2011-08-17  Eric Blake  <eblake@redhat.com>
4389
4390         getcwd: fix test failures on mingw
4391         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
4392         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
4393         test if long directory cannot be created, and allow mingw errno.
4394
4395         getcwd-lgpl: fix m4 to match relaxed test for BSD
4396         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
4397         (gl_FUNC_GETCWD_SIGNATURE): New macro.
4398         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
4399         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
4400         signature problem.
4401
4402         getcwd: fix compilation on mingw64
4403         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
4404         getcwd.
4405         Reported by Marc-André Lureau.
4406
4407         pipe2: silence compiler warning
4408         * lib/pipe2.c (pipe2): Hide label if it is not used.
4409
4410 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
4411
4412         relocatable-prog: fix link error
4413         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
4414         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
4415         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
4416         into modules/relocatable-lib without noticing that
4417         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
4418         also needs to build relocatable.c.
4419
4420 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4421
4422         getaddrinfo: fix sh typo in gai_strerrorA decl checking
4423         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
4424         shell code: it contained a 'break' that was not in a loop.
4425         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
4426         via a shell-language loop; this may have been true in old Autoconf
4427         versions, but it's not true in Autoconf 2.68.  I found this bug
4428         when testing coreutils git on Solaris 8, whose shell complains
4429         about the syntax error.
4430
4431 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4432
4433         * lib/base64.c: Fix comment to reference RFC 4648.
4434         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4435         <gvtulder@gmail.com>.
4436
4437 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4438
4439         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4440
4441         po/Makefile.in.in: fix make -q problem
4442         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4443         rule, since there's no file named 'check-macro-version' and its
4444         use as a file breaks make -q.
4445         (all): Don't depend on check-macro-version.
4446         (CHECK_MACRO_VERSION): New macro.
4447         (stamp-po): Use it.
4448
4449         configmake: fix make -q problem
4450         * modules/configmake (configmake.h): Update configmake.h's time stamp
4451         even if the file does not change.  Otherwise, 'make -q' fails.
4452         Problem reported by Simon Josefsson in
4453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4454
4455 2011-08-11  Jim Meyering  <meyering@redhat.com>
4456
4457         git-version-gen: correct the advice in a comment
4458         * build-aux/git-version-gen: Correct comment.
4459         Don't recommend to list .tarball-version in .gitignore.
4460
4461 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4462
4463         base64: fix off-by-one buffer size bug
4464         Problem and (trivial) fix reported by Gijs van Tulder in
4465         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4466         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4467         * tests/test-base64.c (main): Catch the bug.
4468
4469 2011-08-10  Eric Blake  <eblake@redhat.com>
4470
4471         closein: correct comments
4472         * lib/closein.c (close_stdin): Improve comments.
4473
4474 2011-08-09  Bruno Haible  <bruno@clisp.org>
4475
4476         More tests for 'fseeko'.
4477         * tests/test-fseeko3.c: New file, from Eric Blake.
4478         * tests/test-fseeko3.sh: New file.
4479         * modules/fseeko-tests (Files): Add them.
4480         (TESTS): Add test-fseeko3.sh.
4481         (check_PROGRAMS): Add test-fseeko3.
4482
4483 2011-08-09  Eric Blake  <eblake@redhat.com>
4484
4485         fseeko: remove unneeded hack
4486         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4487
4488         fseeko: fix bug on glibc
4489         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4490         Reported by John W. Eaton.
4491
4492 2011-08-08  Bruno Haible  <bruno@clisp.org>
4493
4494         unictype/base: Fix interoperability with preinstalled libunistring.
4495         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4496         Reported by Simon Josefsson.
4497
4498 2011-08-08  Bruno Haible  <bruno@clisp.org>
4499
4500         iswblank: Detect declaration correctly.
4501         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4502         AC_CHECK_DECLS invocation.
4503
4504 2011-08-08  Bruno Haible  <bruno@clisp.org>
4505
4506         tcgetsid: Detect declaration correctly.
4507         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4508         AC_CHECK_DECLS invocation.
4509         Reported by Simon Josefsson.
4510
4511 2011-08-08  Eric Blake  <eblake@redhat.com>
4512
4513         largefile: fix typo that regressed large file support
4514         * modules/largefile (configure.ac-early): Fix section name.
4515
4516 2011-08-06  Karl Berry  <karl@gnu.org>
4517
4518         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4519         a separate module.
4520
4521 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4522
4523         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4524         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4525         get prototype for free.
4526
4527 2011-08-04  Bruno Haible  <bruno@clisp.org>
4528
4529         Tests for module 'pathmax'.
4530         * modules/pathmax-tests: New file.
4531         * tests/test-pathmax.c: New file.
4532
4533         canonicalize-lgpl: Support larger filenames on the Hurd.
4534         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4535         Reported by Paul Eggert.
4536
4537         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4538         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4539         * lib/chdir-long.h: Include pathmax.h.
4540         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4541         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4542         (PATH_MAX): Remove code that is done by pathmax.h.
4543         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4544         * lib/tmpfile.c: Add a comment.
4545         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4546         * modules/chdir-long (Depends-on): Add pathmax.
4547         * modules/getcwd (Depends-on): Add pathmax.
4548         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4549         is not defined.
4550         * doc/posix-headers/limits.texi: Mention the pathmax module.
4551         * NEWS: Mention the change.
4552
4553 2011-08-02  Bruno Haible  <bruno@clisp.org>
4554
4555         pthread_sigmask: Actually use results of gl_THREADLIB.
4556         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4557         gl_THREADLIB, not gl_[]THREADLIB.
4558         Reported by Eric Blake.
4559
4560 2011-08-02  Jim Meyering  <meyering@redhat.com>
4561
4562         maint.mk: relax the default _gl_TS_function_match regexp
4563         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4564         space between function name and "(" in an "extern" declaration.
4565         That would fail to match a decl with no space there: extern void foo();
4566
4567 2011-07-31  Iain Nicol  <iain@thenicols.net>
4568
4569         git-version-gen: document that EXTRA_DIST must include .version
4570         * build-aux/git-version-gen: In the how-to-use comment, document
4571         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4572         will fail when run from an unpacked distribution tarball.
4573
4574 2011-08-01  Bruno Haible  <bruno@clisp.org>
4575
4576         wctype-h: Fix last change.
4577         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4578         REPLACE_TOWLOWER to 0.
4579         Reported by Sam Steingold <sds@gnu.org>.
4580
4581 2011-07-31  Bruno Haible  <bruno@clisp.org>
4582
4583         frexpl: Update autoconf test.
4584         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4585         according to changes of 2011-06-20.
4586
4587 2011-07-31  Bruno Haible  <bruno@clisp.org>
4588
4589         sys_utsname: Add support for Minix.
4590         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4591         <sys/utsname.h>.
4592         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4593         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4594
4595 2011-07-31  Bruno Haible  <bruno@clisp.org>
4596
4597         strings: Add support for Minix.
4598         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4599         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4600         * doc/posix-headers/strings.texi: Document the Minix problem.
4601
4602 2011-07-31  Bruno Haible  <bruno@clisp.org>
4603
4604         wctype-h: Add support for Minix.
4605         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4606         REPLACE_TOWLOWER.
4607         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4608         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4609         REPLACE_ISWCNTRL.
4610
4611 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4612
4613         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4614         This is a performance improvement for 64-bit hosts: it causes the
4615         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4616
4617 2011-07-31  Bruno Haible  <bruno@clisp.org>
4618
4619         stdioext: Add support for Minix.
4620         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4621         * lib/fpurge.c (fpurge): Likewise.
4622         * lib/freadahead.c (freadahead): Likewise.
4623         * lib/freadable.c (freadable): Likewise.
4624         * lib/freading.c (freading): Likewise.
4625         * lib/freadptr.c (freadptr): Likewise.
4626         * lib/freadseek.c (freadptrinc): Likewise.
4627         * lib/fseeko.c (rpl_fseeko): Likewise.
4628         * lib/fseterr.c (fseterr): Likewise.
4629         * lib/fwritable.c (fwritable): Likewise.
4630         * lib/fwriting.c (fwriting): Likewise.
4631         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4632         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4633
4634 2011-07-31  Bruno Haible  <bruno@clisp.org>
4635
4636         errno: Port to Minix.
4637         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4638         ECONNABORTED are defined.
4639         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4640         GNULIB_defined_ECONNABORTED): New macros.
4641         * lib/strerror-override.h (strerror_override): Test also
4642         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4643         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4644         ECONNABORTED.
4645         * doc/posix-headers/errno.texi: Mention the Minix problem.
4646
4647 2011-07-31  Bruno Haible  <bruno@clisp.org>
4648
4649         Work around declaration collisions on Minix.
4650         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4651         defined, set REPLACE_MBSINIT.
4652         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4653         defined, set REPLACE_MBRTOWC.
4654         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4655         set REPLACE_MBRLEN.
4656         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4657         defined, set REPLACE_MBSRTOWCS.
4658         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4659         defined, set REPLACE_WCRTOMB.
4660         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4661         defined, set REPLACE_WCSRTOMBS.
4662
4663 2011-07-31  Bruno Haible  <bruno@clisp.org>
4664
4665         Add support for Minix with ACK compiler.
4666         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4667         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4668         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4669
4670 2011-07-31  Bruno Haible  <bruno@clisp.org>
4671
4672         Documentation about Minix.
4673         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4674         * doc/glibc-headers/*.texi: Likewise.
4675         * doc/posix-functions/*.texi: Likewise.
4676         * doc/glibc-functions/*.texi: Likewise.
4677
4678 2011-07-31  Bruno Haible  <bruno@clisp.org>
4679
4680         snippet/warn-on-use: Fix indentation.
4681         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4682
4683 2011-07-25  Jim Meyering  <meyering@redhat.com>
4684
4685         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4686         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4687         commands.
4688
4689 2011-07-27  Jim Meyering  <meyering@redhat.com>
4690
4691         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4692         * top/maint.mk (gl_extract_significant_defines_): Now that
4693         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4694         gnulib/lib/signal.in.h, and now that we recommend to
4695         define-if-undefined those two symbols in application code,
4696         we must filter them out of the "significant" list.
4697         This avoids a "make syntax-check" failure in coreutils.
4698
4699 2011-07-26  Eric Blake  <eblake@redhat.com>
4700
4701         warnings: add comments about previous patch
4702         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4703         * m4/include_next.m4: Likewise.
4704         * m4/warn-on-use.m4: Likewise.
4705         * m4/warnings.m4: Likewise, and simplify use.
4706         Suggested by Stefano Lattarini.
4707
4708         include-next, warnings: support older autoconf
4709         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4710         AS_VAR_PUSHDEF in a way that works with older autoconf.
4711         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4712         Reported by Daniel P. Berrange.
4713
4714 2011-07-25  Bruno Haible  <bruno@clisp.org>
4715
4716         fseek, ftell: Fix doc.
4717         * doc/posix-functions/fseek.texi: Reword statement about
4718         AC_SYS_LARGEFILE.
4719         * doc/posix-functions/ftell.texi: Likewise.
4720
4721 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4722             Bruno Haible  <bruno@clisp.org>
4723
4724         Add dependencies to the 'largefile' module.
4725         * modules/fopen (Depends-on): Add 'largefile'.
4726         * modules/freopen (Depends-on): Likewise.
4727         * modules/fseeko (Depends-on): Likewise.
4728         * modules/ftello (Depends-on): Likewise.
4729         * modules/glob (Depends-on): Likewise.
4730         * modules/lseek (Depends-on): Likewise.
4731         * modules/lstat (Depends-on): Likewise.
4732         * modules/mkostemp (Depends-on): Likewise.
4733         * modules/mkostemps (Depends-on): Likewise.
4734         * modules/mkstemp (Depends-on): Likewise.
4735         * modules/mkstemps (Depends-on): Likewise.
4736         * modules/open (Depends-on): Likewise.
4737         * modules/openat (Depends-on): Likewise.
4738         * modules/pread (Depends-on): Likewise.
4739         * modules/pwrite (Depends-on): Likewise.
4740         * modules/scandir (Depends-on): Likewise.
4741         * modules/stat (Depends-on): Likewise.
4742         * modules/tmpfile (Depends-on): Likewise.
4743         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4744         since the containing module now depends on the largefile module.
4745         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4746         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4747         off_t is fixed by gnulib.
4748         * doc/posix-functions/freopen.texi: Likewise.
4749         * doc/posix-functions/fseeko.texi: Likewise.
4750         * doc/posix-functions/fstatat.texi: Likewise.
4751         * doc/posix-functions/ftello.texi: Likewise.
4752         * doc/posix-functions/glob.texi: Likewise.
4753         * doc/posix-functions/lseek.texi: Likewise.
4754         * doc/posix-functions/lstat.texi: Likewise.
4755         * doc/posix-functions/mkstemp.texi: Likewise.
4756         * doc/posix-functions/open.texi: Likewise.
4757         * doc/posix-functions/openat.texi: Likewise.
4758         * doc/posix-functions/pread.texi: Likewise.
4759         * doc/posix-functions/pwrite.texi: Likewise.
4760         * doc/posix-functions/scandir.texi: Likewise.
4761         * doc/posix-functions/stat.texi: Likewise.
4762         * doc/posix-functions/tmpfile.texi: Likewise.
4763         * doc/glibc-functions/mkostemp.texi: Likewise.
4764         * doc/glibc-functions/mkostemps.texi: Likewise.
4765         * doc/glibc-functions/mkstemps.texi: Likewise.
4766
4767 2011-07-25  Bruno Haible  <bruno@clisp.org>
4768
4769         fcntl: Move AC_LIBOBJ invocation to module description.
4770         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4771         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4772
4773         fcntl: Remove call-in from fchdir.m4.
4774         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4775         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4776
4777         dup3: Remove potential call-in from fchdir.m4.
4778         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4779         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4780
4781         dup2: Move AC_LIBOBJ invocation to module description.
4782         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4783         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4784         Don't invoke AC_LIBOBJ.
4785         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4786
4787         dup2: Remove call-in from fchdir.m4.
4788         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4789         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4790
4791         fclose: Move AC_LIBOBJ invocation to module description.
4792         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4793         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4794         to 1.
4795         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4796
4797         fclose: Remove call-in from close.m4.
4798         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4799         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4800
4801         close: Move AC_LIBOBJ invocation to module description.
4802         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4803         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4804         1.
4805         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4806
4807         close: Remove call-in from fchdir.m4.
4808         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4809         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4810
4811         open: Move AC_LIBOBJ invocation to module description.
4812         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4813         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4814         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4815
4816         open: Remove call-in from fchdir.m4.
4817         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4818         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4819
4820         fchdir: Start to remove gl_REPLACE_* idiom.
4821         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4822         (gl_FUNC_FCHDIR): Invoke it.
4823
4824 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4825
4826         * lib/ftell.c (ftell): Comment out cast.
4827
4828         close: use gl_REPLACE_FCLOSE only if defined
4829         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4830         is defined.  The close module doesn't depend on the fclose module
4831         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4833         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4834
4835 2011-07-24  Jim Meyering  <meyering@redhat.com>
4836
4837         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4838         * tests/test-select.h (test_function): Declare as "static".
4839
4840 2011-07-24  Bruno Haible  <bruno@clisp.org>
4841
4842         doc: Mention the effects of AC_SYS_LARGEFILE.
4843         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
4844         on this function.
4845         * doc/posix-functions/aio_error.texi: Likewise.
4846         * doc/posix-functions/aio_fsync.texi: Likewise.
4847         * doc/posix-functions/aio_read.texi: Likewise.
4848         * doc/posix-functions/aio_return.texi: Likewise.
4849         * doc/posix-functions/aio_suspend.texi: Likewise.
4850         * doc/posix-functions/aio_write.texi: Likewise.
4851         * doc/posix-functions/fgetpos.texi: Likewise.
4852         * doc/posix-functions/fopen.texi: Likewise.
4853         * doc/posix-functions/freopen.texi: Likewise.
4854         * doc/posix-functions/fsetpos.texi: Likewise.
4855         * doc/posix-functions/fstatvfs.texi: Likewise.
4856         * doc/posix-functions/ftruncate.texi: Likewise.
4857         * doc/posix-functions/ftw.texi: Likewise.
4858         * doc/posix-functions/getrlimit.texi: Likewise.
4859         * doc/posix-functions/glob.texi: Likewise.
4860         * doc/posix-functions/lio_listio.texi: Likewise.
4861         * doc/posix-functions/lockf.texi: Likewise.
4862         * doc/posix-functions/mkstemp.texi: Likewise.
4863         * doc/posix-functions/mmap.texi: Likewise.
4864         * doc/posix-functions/nftw.texi: Likewise.
4865         * doc/posix-functions/openat.texi: Likewise.
4866         * doc/posix-functions/opendir.texi: Likewise.
4867         * doc/posix-functions/posix_fadvise.texi: Likewise.
4868         * doc/posix-functions/posix_fallocate.texi: Likewise.
4869         * doc/posix-functions/pread.texi: Likewise.
4870         * doc/posix-functions/pwrite.texi: Likewise.
4871         * doc/posix-functions/readdir.texi: Likewise.
4872         * doc/posix-functions/readdir_r.texi: Likewise.
4873         * doc/posix-functions/rewinddir.texi: Likewise.
4874         * doc/posix-functions/scandir.texi: Likewise.
4875         * doc/posix-functions/seekdir.texi: Likewise.
4876         * doc/posix-functions/setrlimit.texi: Likewise.
4877         * doc/posix-functions/statvfs.texi: Likewise.
4878         * doc/posix-functions/telldir.texi: Likewise.
4879         * doc/posix-functions/tmpfile.texi: Likewise.
4880         * doc/posix-functions/truncate.texi: Likewise.
4881         * doc/glibc-functions/fallocate.texi: Likewise.
4882         * doc/glibc-functions/fstatfs.texi: Likewise.
4883         * doc/glibc-functions/fts_children.texi: Likewise.
4884         * doc/glibc-functions/fts_read.texi: Likewise.
4885         * doc/glibc-functions/getdirentries.texi: Likewise.
4886         * doc/glibc-functions/mkostemp.texi: Likewise.
4887         * doc/glibc-functions/mkostemps.texi: Likewise.
4888         * doc/glibc-functions/mkstemps.texi: Likewise.
4889         * doc/glibc-functions/preadv.texi: Likewise.
4890         * doc/glibc-functions/pwritev.texi: Likewise.
4891         * doc/glibc-functions/sendfile.texi: Likewise.
4892         * doc/glibc-functions/statfs.texi: Likewise.
4893
4894 2011-07-24  Bruno Haible  <bruno@clisp.org>
4895
4896         doc: Fix typo.
4897         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
4898
4899 2011-07-24  Bruno Haible  <bruno@clisp.org>
4900
4901         doc: Mention fsusage.
4902         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
4903
4904 2011-07-24  Bruno Haible  <bruno@clisp.org>
4905
4906         doc: Mention new glibc headers and functions.
4907         * doc/glibc-headers/gshadow.texi: New file.
4908         * doc/glibc-functions/endsgent.texi: New file.
4909         * doc/glibc-functions/fgetsgent.texi: New file.
4910         * doc/glibc-functions/fgetsgent_r.texi: New file.
4911         * doc/glibc-functions/getsgent.texi: New file.
4912         * doc/glibc-functions/getsgent_r.texi: New file.
4913         * doc/glibc-functions/getsgnam.texi: New file.
4914         * doc/glibc-functions/getsgnam_r.texi: New file.
4915         * doc/glibc-functions/putsgent.texi: New file.
4916         * doc/glibc-functions/setsgent.texi: New file.
4917         * doc/glibc-functions/sgetsgent.texi: New file.
4918         * doc/glibc-functions/sgetsgent_r.texi: New file.
4919         * doc/glibc-functions/malloc_info.texi: New file.
4920         * doc/glibc-functions/preadv.texi: New file.
4921         * doc/glibc-functions/pwritev.texi: New file.
4922         * doc/glibc-functions/register_printf_modifier.texi: New file.
4923         * doc/glibc-functions/register_printf_specifier.texi: New file.
4924         * doc/glibc-functions/register_printf_type.texi: New file.
4925         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
4926         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
4927         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
4928         * doc/glibc-functions/pthread_getname_np.texi: New file.
4929         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
4930         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
4931         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
4932         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
4933         * doc/glibc-functions/pthread_setname_np.texi: New file.
4934         * doc/glibc-functions/pthread_sigqueue.texi: New file.
4935         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
4936         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
4937         * doc/glibc-functions/qsort_r.texi: New file.
4938         * doc/glibc-functions/quick_exit.texi: New file.
4939         * doc/glibc-functions/syncfs.texi: New file.
4940         * doc/gnulib.texi: Include them.
4941         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
4942         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
4943         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
4944         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
4945         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
4946         * doc/glibc-functions/execvpe.texi: Likewise.
4947
4948 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4949
4950         ftell: don't include <unistd.h>
4951         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
4952         guaranteed to define off_t, and the ftell module depends on the
4953         stdio module.
4954
4955         ftell: do not assume wraparound signed arithmetic
4956         * lib/ftell.c: Include <limits.h>.
4957         (ftell): Don't assume wraparound signed arithmetic.
4958
4959 2011-07-24  Bruno Haible  <bruno@clisp.org>
4960
4961         close: No longer depend on module 'fclose'.
4962         * modules/close (Depends-on): Remove fclose.
4963         * NEWS: Mention the change.
4964         Suggested by Sam Steingold <sds@gnu.org>.
4965
4966 2011-07-24  Bruno Haible  <bruno@clisp.org>
4967
4968         fsusage: Enable large volume support on AIX >= 5.2.
4969         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
4970         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
4971         instead of STAT_STATVFS.
4972         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
4973
4974         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
4975         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
4976         f_blocks field only on MacOS X.
4977
4978         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
4979         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
4980         * modules/fsusage (Depends-on): Add largefile.
4981
4982 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4983
4984         * README: Modernize discussion of signed integers.
4985         Assuming overflow wraparound is no longer safe.
4986         Mention ones' complement and signed magnitude.
4987
4988 2011-07-22  Bruno Haible  <bruno@clisp.org>
4989
4990         select tests, pselect tests: Refactor.
4991         * tests/test-select.h: New file, extracted from tests/test-select.c.
4992         (select_fn): New type.
4993         (test, do_select, do_select_nowait, do_select_wait, test_tty,
4994         test_connect_first, test_accept_first, test_pair, test_socket_pair,
4995         test_pipe): Add my_select argument.
4996         (test_function): Renamed from main. Add my_select argument.
4997         * tests/test-select.c: Move most code to tests/test-select.h. Include
4998         test-select.h.
4999         * modules/select-tests (Files): Add tests/test-select.h.
5000         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
5001         (my_select, main): New functions.
5002         * modules/pselect-tests (Files): Add tests/test-select.h,
5003         tests/macros.h, tests/signature.h.
5004         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
5005         (configure.ac): Check for <sys/wait.h>.
5006
5007 2011-07-22  Bruno Haible  <bruno@clisp.org>
5008
5009         sys_select tests: Check the signature of FD_*.
5010         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
5011         signature tests from here...
5012         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
5013         here.
5014         * modules/sys_select-tests (Files): Add tests/signature.h.
5015
5016 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5017
5018         largefile: new module, replacing large-inode
5019         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
5020         * MODULES.html.sh: Add largefile, remove large-inode.
5021         * modules/largefile, m4/largefile.m4: New files.
5022         * modules/large-inode, m4/large-inode.m4: Remove.
5023
5024         fsusage: port to MacOS X 10.7 with 4 TiB file systems
5025         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
5026         implementations that use only 32 bits to count blocks.
5027         On typical hosts with 1024-byte blocks, this fails with file
5028         systems as small as 4 TiB.  Problem reported by Herb Wartens
5029         <http://debbugs.gnu.org/9140> and this should also fix a similar
5030         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
5031
5032         large-inode: New module
5033         * MODULES.html.sh: Add it.
5034         * modules/large-inode, m4/large-inode.m4: New files.
5035
5036         extensions: Enable extensions on MacOS X 10.5 and later.
5037         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
5038
5039 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
5040
5041         file-has-acl: use acl_extended_file_nofollow if available
5042         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
5043         (acl_extended_file): New macro.
5044         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
5045         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
5046
5047 2011-07-21  Bruno Haible  <bruno@clisp.org>
5048
5049         Declare system functions in a way that works with C++.
5050         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
5051         declare fdopendir as extern "C".
5052         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
5053         declare frexpl as extern "C".
5054         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
5055         declare gai_strerror as extern "C".
5056         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
5057         programs, declare gai_strerror as extern "C".
5058         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
5059         declare getlogin_r as extern "C".
5060         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
5061         as extern "C".
5062         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
5063         declare ldexpl as extern "C".
5064         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
5065         as extern "C".
5066         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
5067         program, declare getmntinfo as extern "C".
5068         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
5069         stpncpy as extern "C".
5070         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
5071         program, declare __xpg_strerror_r as extern "C".
5072         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
5073         strndup as extern "C".
5074         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
5075         declare memset and bzero as extern "C".
5076         Reported by Sam Steingold <sds@gnu.org>.
5077
5078 2011-07-12  Jim Meyering  <meyering@redhat.com>
5079
5080         maint.mk: prohibit inclusion of "verify.h" without use
5081         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
5082
5083 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5084
5085         timer-time: A new module to check for timer_settime()
5086         * m4/timer_time.m4: Check for the posix function.
5087         * modules/timer-time: Add the new module.
5088         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
5089         Mention it.
5090
5091 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
5092             Bruno Haible  <bruno@clisp.org>
5093
5094         pthread_sigmask: assume POSIX threads if --avoid=threadlib
5095         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
5096         not defined, assume POSIX threads and look for pthread_sigmask in
5097         $LIBS, without changing $CPPFLAGS.
5098
5099 2011-07-19  Bruno Haible  <bruno@clisp.org>
5100
5101         strstr: Update cross-compilation guess.
5102         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
5103         CPUs, guess no, in view of glibc
5104         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
5105         Suggested by Eric Blake. Reported by Reuben Thomas.
5106
5107 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5108
5109         getopt-gnu: suppress core dumps from detection code
5110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
5111         to suppress core dumps that may well occur on glibc systems.
5112         * modules/getopt-gnu: Depend on nocrash.
5113
5114 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5115
5116         pthread_sigmask: ensure usleep is declared
5117         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
5118         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
5119
5120 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5121
5122         doc: Document NonStop portability issues.
5123         * doc/posix-functions/sigaction.texi (sigaction):
5124         * doc/posix-headers/signal.texi (signal.h):
5125         Document NonStop.  See Joachim Schmitz in
5126         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
5127
5128 2011-07-15  Bruno Haible  <bruno@clisp.org>
5129
5130         ffsl, ffsll: Avoid unportable behaviour.
5131         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
5132
5133 2011-07-15  Bruno Haible  <bruno@clisp.org>
5134
5135         ffs: More tests.
5136         * tests/test-ffs.c (NBITS): New macro.
5137         (main): Add more tests.
5138         * tests/test-ffsl.c (NBITS): New macro.
5139         (main): Add more tests.
5140         * tests/test-ffsll.c (NBITS): New macro.
5141         (main): Add more tests.
5142
5143 2011-07-15  Eric Blake  <eblake@redhat.com>
5144
5145         ffsl, ffsll: new modules
5146         * modules/ffsl: New file.
5147         * modules/ffsll: Likewise.
5148         * m4/ffsl.m4: Likewise.
5149         * m4/ffsll.m4: Likewise.
5150         * lib/ffsl.c: Likewise.
5151         * lib/ffsl.h: Likewise.
5152         * lib/ffsll.c: Likewise.
5153         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
5154         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
5155         * modules/string (Makefile.am): Substitute witnesses.
5156         * lib/strings.in.h (ffsl, ffsll): Declare.
5157         * modules/ffsl-tests: New test file.
5158         * modules/ffsll-tests: Likewise.
5159         * tests/test-ffsl.c: Likewise.
5160         * tests/test-ffsll.c: Likewise.
5161         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5162         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
5163         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
5164
5165         ffs: fix m4 prerequisite
5166         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
5167
5168         ffs: avoid undefined behavior
5169         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
5170         * tests/test-ffs.c (naive, main): Avoid signed shifts.
5171         Reported by Bruno Haible.
5172
5173 2011-07-12  Bruno Haible  <bruno@clisp.org>
5174
5175         pthread_sigmask: Rely on module 'threadlib'.
5176         * modules/pthread_sigmask (Depends-on): Add threadlib.
5177         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
5178         is defined.
5179
5180 2011-07-12  Bruno Haible  <bruno@clisp.org>
5181
5182         regex: Depend on module 'strcase'.
5183         * modules/regex (Depends-on): Add strcase, for strcasecmp().
5184
5185 2011-07-12  Jim Meyering  <meyering@redhat.com>
5186
5187         warn-on-use: fix typo in file name
5188         * modules/snippet/warn-on-use (Files): Correct file name:
5189         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
5190
5191 2011-07-12  Bruno Haible  <bruno@clisp.org>
5192
5193         strings: Document module.
5194         * doc/posix-headers/strings.texi: Mention module 'strings'.
5195
5196 2011-07-12  Bruno Haible  <bruno@clisp.org>
5197
5198         Rename module '_Noreturn' to 'snippet/_Noreturn'.
5199         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
5200         (Files, Makefile.am): Update.
5201         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
5202         * modules/stdlib (Depends-on): Update.
5203
5204 2011-07-12  Bruno Haible  <bruno@clisp.org>
5205
5206         * NEWS: Mention the changes.
5207
5208         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
5209         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
5210         (Files, Makefile.am): Update.
5211         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
5212         * modules/arpa_inet (Depends-on): Update.
5213         * modules/ctype (Depends-on): Update.
5214         * modules/dirent (Depends-on): Update.
5215         * modules/fcntl-h (Depends-on): Update.
5216         * modules/glob (Depends-on): Update.
5217         * modules/iconv-h (Depends-on): Update.
5218         * modules/inttypes-incomplete (Depends-on): Update.
5219         * modules/langinfo (Depends-on): Update.
5220         * modules/locale (Depends-on): Update.
5221         * modules/math (Depends-on): Update.
5222         * modules/netdb (Depends-on): Update.
5223         * modules/poll-h (Depends-on): Update.
5224         * modules/pty (Depends-on): Update.
5225         * modules/search (Depends-on): Update.
5226         * modules/signal (Depends-on): Update.
5227         * modules/spawn (Depends-on): Update.
5228         * modules/stdio (Depends-on): Update.
5229         * modules/stdlib (Depends-on): Update.
5230         * modules/string (Depends-on): Update.
5231         * modules/strings (Depends-on): Update.
5232         * modules/sys_file (Depends-on): Update.
5233         * modules/sys_ioctl (Depends-on): Update.
5234         * modules/sys_select (Depends-on): Update.
5235         * modules/sys_socket (Depends-on): Update.
5236         * modules/sys_stat (Depends-on): Update.
5237         * modules/sys_time (Depends-on): Update.
5238         * modules/sys_times (Depends-on): Update.
5239         * modules/sys_utsname (Depends-on): Update.
5240         * modules/sys_wait (Depends-on): Update.
5241         * modules/termios (Depends-on): Update.
5242         * modules/time (Depends-on): Update.
5243         * modules/unistd (Depends-on): Update.
5244         * modules/wchar (Depends-on): Update.
5245         * modules/wctype-h (Depends-on): Update.
5246         * MODULES.html.sh (Support for building libraries and executables):
5247         Update.
5248
5249         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
5250         * modules/snippet/unused-parameter: Renamed from
5251         modules/unused-parameter.
5252         (Files, Makefile.am): Update.
5253         * build-aux/snippet/unused-parameter.h: Renamed from
5254         build-aux/unused-parameter.h.
5255         * modules/selinux-h (Depends-on): Update.
5256         * modules/unistr/base (Depends-on): Update.
5257         * MODULES.html.sh (Core language properties): Update.
5258
5259         Rename module 'link-warning' to 'snippet/link-warning'.
5260         * modules/snippet/link-warning: Renamed from modules/link-warning.
5261         (Files, Makefile.am): Update.
5262         * build-aux/snippet/link-warning.h: Renamed from
5263         build-aux/link-warning.h.
5264         * MODULES.html.sh (Support for building libraries and executables):
5265         Update.
5266
5267         Rename module 'c++defs' to 'snippet/c++defs'.
5268         * modules/snippet/c++defs: Renamed from modules/c++defs.
5269         (Files, Makefile.am): Update.
5270         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
5271         * modules/arpa_inet (Depends-on): Update.
5272         * modules/ctype (Depends-on): Update.
5273         * modules/dirent (Depends-on): Update.
5274         * modules/fcntl-h (Depends-on): Update.
5275         * modules/glob (Depends-on): Update.
5276         * modules/iconv-h (Depends-on): Update.
5277         * modules/langinfo (Depends-on): Update.
5278         * modules/locale (Depends-on): Update.
5279         * modules/math (Depends-on): Update.
5280         * modules/netdb (Depends-on): Update.
5281         * modules/poll-h (Depends-on): Update.
5282         * modules/pty (Depends-on): Update.
5283         * modules/search (Depends-on): Update.
5284         * modules/signal (Depends-on): Update.
5285         * modules/spawn (Depends-on): Update.
5286         * modules/stdio (Depends-on): Update.
5287         * modules/stdlib (Depends-on): Update.
5288         * modules/string (Depends-on): Update.
5289         * modules/strings (Depends-on): Update.
5290         * modules/sys_ioctl (Depends-on): Update.
5291         * modules/sys_select (Depends-on): Update.
5292         * modules/sys_socket (Depends-on): Update.
5293         * modules/sys_stat (Depends-on): Update.
5294         * modules/sys_time (Depends-on): Update.
5295         * modules/sys_wait (Depends-on): Update.
5296         * modules/termios (Depends-on): Update.
5297         * modules/time (Depends-on): Update.
5298         * modules/unistd (Depends-on): Update.
5299         * modules/wchar (Depends-on): Update.
5300         * modules/wctype-h (Depends-on): Update.
5301
5302         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
5303         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
5304         (Files, Makefile.am): Update.
5305         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
5306         * modules/argv-iter (Depends-on): Update.
5307         * modules/arpa_inet (Depends-on): Update.
5308         * modules/dirent (Depends-on): Update.
5309         * modules/fcntl-h (Depends-on): Update.
5310         * modules/fnmatch (Depends-on): Update.
5311         * modules/getopt-posix (Depends-on): Update.
5312         * modules/glob (Depends-on): Update.
5313         * modules/iconv-h (Depends-on): Update.
5314         * modules/inttypes-incomplete (Depends-on): Update.
5315         * modules/locale (Depends-on): Update.
5316         * modules/math (Depends-on): Update.
5317         * modules/netdb (Depends-on): Update.
5318         * modules/search (Depends-on): Update.
5319         * modules/signal (Depends-on): Update.
5320         * modules/spawn (Depends-on): Update.
5321         * modules/stdio (Depends-on): Update.
5322         * modules/stdlib (Depends-on): Update.
5323         * modules/string (Depends-on): Update.
5324         * modules/strings (Depends-on): Update.
5325         * modules/sys_socket (Depends-on): Update.
5326         * modules/sys_stat (Depends-on): Update.
5327         * modules/sys_time (Depends-on): Update.
5328         * modules/sys_times (Depends-on): Update.
5329         * modules/sys_utsname (Depends-on): Update.
5330         * modules/time (Depends-on): Update.
5331         * modules/unistd (Depends-on): Update.
5332         * modules/wchar (Depends-on): Update.
5333         * MODULES.html.sh (Support for building libraries and executables):
5334         Update.
5335
5336 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5337
5338         Improvements on _Noreturn and related modules.
5339
5340         modules/_Exit-tests: test _Noreturn too
5341         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
5342         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
5343         (main): Use them.
5344
5345         stdnoreturn, stdnoreturn-tests: remove modules
5346         They're not needed here and a bit premature for use elsewhere.  See
5347         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
5348         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5349         * tests/test-stdnoreturn.c: Remove files.
5350         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
5351         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
5352         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
5353         and using noreturn.
5354         * modules/openat, modules/sigpipe-die, modules/xalloc:
5355         * modules/xmemdup0, modules/xstrtol:
5356         Remove dependency on stdnoreturn.
5357
5358         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
5359         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
5360         Reparenthesize to avoid GCC warning.
5361         Support Microsoft's syntax.
5362         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
5363
5364         _Noreturn-tests: remove module
5365         * modules/_Noreturn-tests: Remove.
5366         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
5367         * tests/test-_Noreturn.c: Remove.
5368         * tests/test-stdnoreturn.c: Merge from the old
5369         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
5370
5371 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5372
5373         _Noreturn, stdnoreturn, and related modules.
5374
5375         * top/maint.mk: Adjust to new noreturn support.
5376         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
5377         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
5378
5379         xalloc: use stdnoreturn.h
5380         * lib/xalloc.h: Include <stdnoreturn.h>.
5381         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5382         * modules/xalloc (Depends-on): Add stdnoreturn.
5383
5384         xstrtol: use stdnoreturn.h
5385         * lib/xstrtol.h: Include <stdnoreturn.h>.
5386         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5387         * modules/xstrtol (Depends-on): Add stdnoreturn.
5388
5389         xmemdup0: use stdnoreturn.h
5390         * lib/xmemdup0.h: Include <stdnoreturn.h>.
5391         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5392         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
5393
5394         sigpipe-die: use stdnoreturn.h
5395         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
5396         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5397         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
5398
5399         openat: use stdnoreturn.h
5400         * lib/openat.h: Include <stdnoreturn.h>.
5401         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5402         * modules/openat (Depends-on): Add stdnoreturn.
5403
5404         * lib/openat-die.c (openat_save_fail): Modernize comment.
5405
5406         * lib/xalloc-die.c (xalloc_die): Modernize comment.
5407
5408         * lib/glthread/thread.h: Modernize comment.
5409
5410         obstack: use _Noreturn
5411         * lib/obstack.c (__attribute__): Remove macro.
5412         (print_and_abort): Use _Noreturn.
5413
5414         c-stack: use _Noreturn
5415         * lib/c-stack.c (die, overflow_handler, segv_handler):
5416         Use _Noreturn rather than __attribute__((noreturn)).
5417
5418         argmatch-tests, exclude_tests: use _Noreturn
5419         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
5420         Remove.
5421         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
5422
5423         stdlib: use _Noreturn
5424         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
5425         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
5426         * modules/stdlib (Depends-on): Add _Noreturn.
5427         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
5428
5429         stdnoreturn-tests: new module
5430         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5431
5432         stdnoreturn: new module
5433         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5434         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5435
5436         _Noreturn-tests: new module
5437         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5438
5439         _Noreturn: new module
5440         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5441         New section, mentioning it.
5442         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5443
5444         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5445
5446 2011-07-11  Eric Blake  <eblake@redhat.com>
5447
5448         ffs: new module
5449         * modules/ffs: New file.
5450         * m4/ffs.m4: Likewise.
5451         * lib/ffs.c: Likewise.
5452         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5453         * modules/strings (Makefile.am): Substitute witness.
5454         (Depends-on): Add c++defs.
5455         * lib/strings.in.h (ffs): Declare.
5456         * modules/ffs-tests: New test file.
5457         * tests/test-ffs.c: Test new module.
5458         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5459         * doc/posix-functions/ffs.texi (ffs): Likewise.
5460
5461         regex: avoid compiler warning
5462         * lib/regex.c (includes): Include <strings.h>, for use of
5463         strcasecmp in regcomp.c.
5464         Reported by Joachim Schmitz.
5465
5466 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5467
5468         stdint: respect system's intmax_t if INTMAX_MAX
5469         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5470         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5471         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5472         long but int64_t is long long, and where we will clash with the
5473         system intmax_t if we override it.  See
5474         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5475         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5476         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5477         similarly for UINTMAX_C.
5478
5479 2011-07-08  Bruno Haible  <bruno@clisp.org>
5480
5481         pthread_sigmask tests: Avoid a compiler warning.
5482         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5483         non-zero.
5484
5485         sigprocmask tests: A better way to avoid a compiler warning.
5486         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5487         (main): Complain if system() returns non-zero.
5488         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5489
5490 2011-07-08  Bruno Haible  <bruno@clisp.org>
5491
5492         pthread_sigmask: Work around IRIX bug.
5493         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5494         bug.
5495         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5496         there may be unblocked pending signals.
5497         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5498
5499 2011-07-08  Bruno Haible  <bruno@clisp.org>
5500
5501         pthread_sigmask: Work around Cygwin bug.
5502         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5503         bug.
5504         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5505         the system's pthread_sigmask function.
5506         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5507
5508 2011-07-08  Bruno Haible  <bruno@clisp.org>
5509
5510         pthread_sigmask: Work around bug in single-threaded implementation.
5511         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5512         FreeBSD, HP-UX, Solaris bug.
5513         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5514         * lib/pthread_sigmask.c: Include <stddef.h>.
5515         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5516         the system's pthread_sigmask function.
5517         * modules/pthread_sigmask (configure.ac): Invoke
5518         gl_PREREQ_PTHREAD_SIGMASK.
5519         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5520         HP-UX, Solaris.
5521
5522 2011-07-08  Eric Blake  <eblake@redhat.com>
5523
5524         test-sigprocmask: avoid compiler warning
5525         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5526         * tests/test-sigprocmask.c (main): Use it to silence warning.
5527         Reported by Jim Meyering.
5528
5529         test-snprintf: avoid compiler warning
5530         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5531         * tests/test-vsnprintf.c (main): Likewise.
5532         Reported by Jim Meyering.
5533
5534 2011-07-08  Bruno Haible  <bruno@clisp.org>
5535
5536         Tests for module 'pthread_sigmask'.
5537         * modules/pthread_sigmask-tests: New file.
5538         * tests/test-pthread_sigmask1.c: New file, based on
5539         tests/test-sigprocmask.c.
5540         * tests/test-pthread_sigmask2.c: New file.
5541
5542 2011-07-08  Jim Meyering  <meyering@redhat.com>
5543
5544         test-getopt.h: avoid warning about an unused variable
5545         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5546
5547 2011-07-07  Jim Meyering  <meyering@redhat.com>
5548
5549         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5550         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5551         now that it no longer contains leading TABs.
5552         Remove unused "url=FIXME" statement.
5553
5554 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5555
5556         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5557         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5558         When gl_THREADLIB is not in use, assume that the POSIX sematics
5559         are desired.  This is better for Emacs, which uses POSIX semantics
5560         on GNUish and/or POSIXish platforms, and does not use threads at
5561         all otherwise.
5562
5563         pthread_sigmask: fix typo when testing for libraries
5564         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5565         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5566
5567 2011-07-08  Eric Blake  <eblake@redhat.com>
5568
5569         fts: introduce FTS_NOATIME
5570         * lib/fts_.h (FTS_NOATIME): New bit flag.
5571         (FTS_OPTIONMASK): Adjust.
5572         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5573         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5574
5575 2011-07-08  Bruno Haible  <bruno@clisp.org>
5576
5577         Tests for module 'thread'.
5578         * modules/thread-tests: New file.
5579         * tests/test-thread_self.c: New file.
5580         * tests/test-thread_create.cc: New file.
5581
5582 2011-07-08  Bruno Haible  <bruno@clisp.org>
5583
5584         thread: Avoid gcc warnings when using gl_thread_self().
5585         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5586         'void *'.
5587         (gl_thread_self_pointer): Update.
5588
5589 2011-07-07  Bruno Haible  <bruno@clisp.org>
5590
5591         signal-c++-tests: Check declaration of pthread_sigmask.
5592         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5593         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5594         $(LIB_PTHREAD_SIGMASK).
5595
5596 2011-07-07  Bruno Haible  <bruno@clisp.org>
5597
5598         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5599         * lib/signal.in.h (pthread_sigmask): Override if
5600         REPLACE_PTHREAD_SIGMASK is 1.
5601         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5602         REPLACE_PTHREAD_SIGMASK.
5603         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5604         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5605         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5606         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5607         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5608
5609 2011-07-07  Bruno Haible  <bruno@clisp.org>
5610
5611         pthread_sigmask: Ensure declaration in <signal.h>.
5612         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5613         include <pthread.h>.
5614         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5615         problem.
5616
5617 2011-07-07  Bruno Haible  <bruno@clisp.org>
5618
5619         pthread_sigmask: Document the module.
5620         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5621
5622 2011-07-07  Bruno Haible  <bruno@clisp.org>
5623
5624         pthread_sigmask: Follow gnulib conventions.
5625         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5626         gl_PTHREAD_SIGMASK.
5627         * modules/pthread_sigmask (configure.ac): Update.
5628
5629 2011-07-07  Bruno Haible  <bruno@clisp.org>
5630
5631         pthread_sigmask: Make declaration C++ safe.
5632         * lib/signal.in.h: In two special conditions, just do an #include_next.
5633         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5634         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5635         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5636         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5637         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5638         not REPLACE_PTHREAD_MASK.
5639         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5640         not REPLACE_PTHREAD_MASK.
5641         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5642
5643 2011-07-07  Bruno Haible  <bruno@clisp.org>
5644
5645         pthread_sigmask: Fix return value.
5646         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5647         * lib/pthread_sigmask.c: New file.
5648         * modules/pthread_sigmask (Files): Add it.
5649         (configure.ac): Invoke AC_LIBOBJ.
5650
5651 2011-07-07  Eric Blake  <eblake@redhat.com>
5652
5653         getopt: more portable argv creation
5654         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5655         const, use char arrays rather than strings.
5656         Suggested by Paul Eggert.
5657
5658 2011-07-07  Bruno Haible  <bruno@clisp.org>
5659
5660         Tests for module 'sigprocmask'.
5661         * modules/sigprocmask-tests: New file.
5662         * tests/test-sigprocmask.c: New file.
5663
5664 2011-07-07  Bruno Haible  <bruno@clisp.org>
5665
5666         float tests: Tweak.
5667         * tests/test-float.c (main): Tweak skip message.
5668
5669 2011-07-07  Eric Blake  <eblake@redhat.com>
5670
5671         getopt: avoid compiler warning during configure
5672         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5673         assigning string literals to non-const pointer.
5674
5675         getopt-gnu: avoid crash in glibc getopt
5676         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5677         * tests/test-getopt.h (test_getopt): Enhance test.
5678         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5679         * doc/posix-functions/getopt.texi (getopt): Document it.
5680         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5681         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5682         Likewise.
5683
5684 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5685
5686         getopt: handle W; without long options in getopt [BZ #12922]
5687         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5688         but no long options are defined, just return 'W'.
5689
5690 2011-07-07  Bruno Haible  <bruno@clisp.org>
5691
5692         Avoid literal tabs.
5693         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5694         variable containing a tab instead of a literal tab.
5695         Reported by Jim Meyering.
5696
5697 2011-07-07  Bruno Haible  <bruno@clisp.org>
5698
5699         Comments.
5700         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5701
5702 2011-07-06  Bruno Haible  <bruno@clisp.org>
5703
5704         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5705         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5706         <winsock2.h>.
5707         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5708         lib/sys_socket.in.h.
5709         (close, gethostname): Hide declarations from <winsock2.h>.
5710         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5711         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5712         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5713         (select): Don't override if gnulib's <sys/select.h> was already
5714         included.
5715         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5716         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5717         setsockopt, shutdown, select): Tweak indentation.
5718
5719 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5720
5721         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5722         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5723         in an application that does not use the sys_select module.
5724
5725 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5726
5727         poll: do not return 0 on timeout=-1
5728         * lib/poll.c: Loop with yield if no events occured
5729
5730 2011-07-06  Eric Blake  <eblake@redhat.com>
5731
5732         pthread_sigmask: always replace when not using pthread
5733         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5734         replacement when using some threading other than pthread.  Fix
5735         logic bug.
5736
5737 2011-07-06  Bruno Haible  <bruno@clisp.org>
5738
5739         Comments.
5740         * m4/printf.m4: Update comments about mingw.
5741
5742 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5743
5744         sys_select: define sigset_t more portably
5745         * lib/sys_select.in.h: Always include <sys/types.h>, since
5746         we now need sigset_t and mingw defines it there.
5747         Include <signal.h> before split inclusion guard, to avoid
5748         mishaps on Solaris, whose <signal.h> eventually includes us.
5749         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5750         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5751         which come from ...
5752         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5753         gl_CHECK_TYPE_SIGSET_T.
5754         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5755         does the real work.
5756         * modules/sys_select (Depends-on): Add 'signal'.
5757
5758         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5759         Suggested by Bruno Haible.
5760
5761         pselect: Use pthread_sigmask, not sigprocmask.
5762         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5763         multithreaded apps better than sigprocmask does.
5764         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5765         sigprocmask directly.
5766
5767 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5768
5769         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5770         Don't #undef,  since we don't need any underlying pselect.
5771         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5772         (Depends-on): Add select.
5773         (Link): Add $(LIBSOCKET).
5774         These changes suggested by Bruno Haible.
5775
5776         pselect: document better
5777         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5778         * doc/posix-functions/pselect.texi (pselect): Document new module.
5779
5780         pthread_sigmask: new module
5781         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5782         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5783         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5784         This is done only as a macro; I don't know how well that'll
5785         work for C++.  Move <sys/types.h> include before the include_next,
5786         to avoid mishap on Solaris.
5787         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5788         * modules/signal (Makefile.am): Substitute the check's results.
5789         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5790
5791         test-pselect: new module
5792         * modules/pselect-tests, tests/test-pselect.c: New files.
5793         * tests/test-select.c, tests/test-sys_select-c++.cc:
5794         If TEST_PSELECT is defined, test pselect instead of testing select.
5795
5796         * tests/test-sys_select.c (sigset_t): Test for it, too.
5797         Suggested by Bruno Haible.
5798
5799 2011-07-05  Eric Blake  <eblake@redhat.com>
5800
5801         snprintf: guarantee %1$d, for libintl
5802         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5803         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5804         * doc/posix-functions/snprintf.texi (snprintf): Update.
5805         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5806         * tests/test-snprintf.c (main): Enhance test.
5807         * tests/test-vsnprintf.c (main): Likewise.
5808
5809 2011-07-05  Jim Meyering  <meyering@redhat.com>
5810
5811         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5812         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5813         per Bruno's request, to accommodate this idiom (no space after "#")
5814         even when the function is inside an #if block:
5815         char *
5816         gets (char *s)
5817         #undef gets
5818         {
5819           ...
5820         }
5821
5822 2011-07-04  Jim Meyering  <meyering@redhat.com>
5823
5824         maint: indent with spaces, not TABs, and add a rule to check this
5825         * tests/test-userspec.c: Indent with spaces, not TABs.
5826         * tests/test-argp.c: Likewise.
5827         * tests/test-c-stack2.sh: Likewise.
5828         * tests/test-parse-duration.sh: Likewise
5829         * m4/strtod.m4: Likewise.
5830         * m4/alloca.m4: Likewise.
5831         * m4/pselect.m4: Likewise.
5832         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5833
5834 2011-07-03  Jim Meyering  <meyering@redhat.com>
5835
5836         maint.mk: correct omissions in prohibit_argmatch_without_use check
5837         This rule would mistakenly report that argmatch.h is included without
5838         use even when both the argmatch and invalid_arg macro were used.
5839         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5840         of argmatch and invalid_arg.
5841
5842 2011-07-03  Bruno Haible  <bruno@clisp.org>
5843
5844         Comments about EINTR.
5845         * lib/safe-read.h: Explain the purpose of this module.
5846         * lib/safe-write.h: Likewise.
5847         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
5848         module.
5849         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
5850         module.
5851         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5852
5853 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5854
5855         xnanosleep: Rewrite to use new dtotimespec module.
5856         It has the conversion code that used to be in xnanosleep.
5857         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
5858         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
5859         (TIME_T_MAX): Remove.
5860         (xnanosleep): Rewrite in terms of dtotimespec.
5861         * modules/xnanosleep (Depends-on): Add dtotimespec.
5862         Remove intprops, stdbool.
5863
5864         timespec-add, timespec-sub: new modules
5865         * lib/timespec.h (timespec_add, timespec_sub): New decls.
5866         * lib/timespec-add.c, lib/timespec-sub.c:
5867         * modules/timespec-add, modules/timespec-sub: New files.
5868
5869         dtotimespec: new module
5870         * lib/timespec.h (dtotimespec): New decl.
5871         * lib/dtotimespec.c, modules/dtotimespec: New files.
5872
5873         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
5874
5875         pselect: new module
5876         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
5877         (pselect): New decls.
5878         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
5879         since the standard pselect decl uses 'restrict'.
5880         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
5881         HAVE_PSELECT, REPLACE_PSELECT.
5882         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
5883         HAVE_PSELECT, REPLACE_PSELECT.
5884         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
5885
5886         sys_select: don't depend on sys_socket
5887         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
5888         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
5889         This fix works on GNU and GNU-like platforms, but has not been tested
5890         on native Windows.
5891         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
5892         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
5893         gl_HEADER_SYS_SOCKET.
5894         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
5895         gl_PREREQ_SYS_H_WINSOCK2.
5896
5897 2011-06-29  Eric Blake  <eblake@redhat.com>
5898
5899         pipe2: fix C89 compile problem
5900         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
5901         Reported by Bruno Haible.
5902
5903         pipe, pipe2: don't corrupt fd on error
5904         * lib/pipe.c (pipe): Leave fd unchanged on error.
5905         * lib/pipe2.c (pipe2): Likewise.
5906         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
5907         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
5908
5909 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
5910
5911         mmap-anon: do not use regular expressions inadvertently
5912         * m4/mmap-anon.m4: Remove trailing period from strings sought
5913         in the output.
5914
5915 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5916
5917         nanosleep: fix integer overflow problem
5918         * lib/nanosleep.c (my_usleep): Don't assume signed integer
5919         arithmetic wraps around on overflow.
5920
5921         nanosleep: simplify carrying
5922         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
5923         first call to the underyling nanosleep, not for the last one.
5924         This doesn't fix any bugs, but it simplifies the computation of
5925         the remaining delay.  Found while auditing integer overflow issues.
5926
5927         dup2: remove test for existence of fcntl
5928         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
5929         "#if HAVE_FCNTL", in the configure-time test program.
5930         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
5931         and therefore speeds up "configure" a bit.  Found while
5932         adding the dup2 module to Emacs.
5933
5934 2011-06-24  Eric Blake  <eblake@redhat.com>
5935
5936         maint.mk: enhance useless header checks
5937         * top/maint.mk (_sc_header_without_use): Check both include
5938         styles.
5939         (sc_prohibit_assert_without_use)
5940         (sc_prohibit_close_stream_without_use)
5941         (sc_prohibit_getopt_without_use)
5942         (sc_prohibit_quotearg_without_use)
5943         (sc_prohibit_quote_without_use)
5944         (sc_prohibit_long_options_without_use)
5945         (sc_prohibit_inttostr_without_use)
5946         (sc_prohibit_ignore_value_without_use)
5947         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
5948         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
5949         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
5950         (sc_prohibit_hash_pjw_without_use)
5951         (sc_prohibit_safe_read_without_use)
5952         (sc_prohibit_argmatch_without_use)
5953         (sc_prohibit_canonicalize_without_use)
5954         (sc_prohibit_root_dev_ino_without_use)
5955         (sc_prohibit_openat_without_use)
5956         (sc_prohibit_c_ctype_without_use)
5957         (sc_prohibit_signal_without_use)
5958         (sc_prohibit_stdio--_without_use)
5959         (sc_prohibit_stdio-safer_without_use)
5960         (sc_prohibit_strings_without_use)
5961         (sc_prohibit_intprops_without_use)
5962         (sc_prohibit_stddef_without_use)
5963         (sc_prohibit_xfreopen_without_use): Update clients.
5964
5965 2011-06-24  Jim Meyering  <meyering@redhat.com>
5966
5967         syntax-check: keep one maint.mk rule in sync with its header
5968         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
5969         of the bug Eric has just fixed, with today's commit 25e4c2ec.
5970         I prefer to avoid temporary files here, so use <(...), but that
5971         is not supported by /bin/sh, so...
5972         (SHELL): Define to /bin/bash.
5973
5974 2011-06-24  Eric Blake  <eblake@redhat.com>
5975
5976         maint.mk: update sc_prohibit_intprops_without_use
5977         * top/maint.mk (_intprops_names): Match recent changes.
5978
5979 2011-06-24  Bruno Haible  <bruno@clisp.org>
5980
5981         strerror-override: No-op tweak.
5982         * lib/strerror-override.h (strerror_override): Reorder conditions,
5983         for consistency with lib/strerror-override.c.
5984
5985 2011-06-23  Eric Blake  <eblake@redhat.com>
5986
5987         maint.mk: test further PATH_MAX issues
5988         * top/maint.mk (sc_prohibit_path_max_array): Rename...
5989         (sc_prohibit_path_max_allocation): ...and also test alloca.
5990         Suggested by Jim Meyering.
5991
5992 2011-06-22  Eric Blake  <eblake@redhat.com>
5993
5994         maint.mk: add syntax-check to avoid char[PATH_MAX]
5995         * top/maint.mk (sc_prohibit_path_max_array): New rule.
5996
5997         stat: be robust to PATH_MAX definition
5998         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
5999         * modules/stat (Depends-on): Add verify.
6000
6001         link: work around IRIX bug
6002         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
6003         * lib/link.c (rpl_link): Work around it.
6004         * tests/test-link.h (test_link): Enhance test.
6005         * doc/posix-functions/link.texi (link): Document the bug.
6006
6007         getopt: silence clang warning
6008         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
6009         dereference.
6010         Reported by Gustavo Martin Domato.
6011
6012 2011-06-22  Jim Meyering  <meyering@redhat.com>
6013
6014         bootstrap: do not insert a blank line into each .gitignore file
6015         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
6016
6017 2011-06-21  Eric Blake  <eblake@redhat.com>
6018
6019         perror: test for output mismatch
6020         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
6021         perror on IRIX.
6022
6023         strerror_r: fix OpenBSD behavior on out-of-range
6024         * lib/strerror_r.c (strerror_r): Always use maximal string.
6025         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6026
6027         strerror_r: fix OpenBSD behavior on 0
6028         * lib/strerror-override.c (strerror_override): Also override 0
6029         when needed.
6030         * lib/strerror-override.h (strerror_override): Likewise.
6031         * lib/strerror.c (strerror): Simplify, now that 0 override is done
6032         earlier.
6033         * lib/strerror_r.c (strerror_r): Likewise.
6034         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
6035         behavior...
6036         (gl_FUNC_STRERROR_0): ...into new macro.
6037         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
6038         is overridden.
6039         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
6040         * modules/strerror-override (Files): Add strerror.m4.
6041         (configure.ac): Also provide override for 0 when needed.
6042         * doc/posix-functions/strerror.texi (strerror): Document this.
6043         * doc/posix-functions/perror.texi (perror): Likewise.
6044
6045         perror: adjust array size
6046         * modules/perror (Depends-on): Add strerror-override.
6047         * lib/perror.c (perror): Use it to avoid magic number.
6048
6049         strerror-override: reduce size
6050         * lib/strerror-override.c (strerror_override): Use fewer lines.
6051
6052 2011-06-20  Bruno Haible  <bruno@clisp.org>
6053
6054         pathmax: Ensure correct value for PATH_MAX on HP-UX.
6055         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
6056
6057 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6058
6059         alloca: port to compilers that can optimize like GCC 4.6.0
6060         * lib/alloca.c (find_stack_direction): New signature, taken from
6061         Autoconf git.  This works with GCC 4.6.0.  This code should never
6062         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
6063         be used with other compilers that optimize as well as GCC 4.6.0 does.
6064         (alloca): Adjust to new signature.
6065         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
6066         New macro, which patches Autoconf in a similar way.
6067
6068         c-stack: stop worrying about stack direction
6069         * lib/c-stack.c (find_stack_direction): Remove.
6070         (segv_handler): Don't worry about stack direction growth, as it's
6071         too much of a pain to configure this correctly, given how compilers
6072         are optimizing-away our stack-growth detection code.  Instead, assume
6073         that any access to just before or just after the stack is OK.
6074         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6075         Don't require AC_FUNC_ALLOCA; no longer needed.
6076
6077 2011-06-20  Eric Blake  <eblake@redhat.com>
6078
6079         test-stat: don't allocate PATH_MAX bytes
6080         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
6081         PATH_MAX-sized buffer.
6082         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
6083         * modules/stat-tests (Depends-on): Likewise.
6084         * tests/test-fstatat.c (includes): Drop pathmax.h.
6085         * tests/test-stat.c (includes): Likewise.
6086         Reported by Bruno Haible.
6087
6088 2011-06-20  Bruno Haible  <bruno@clisp.org>
6089
6090         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
6091         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
6092         * lib/float.c: New file.
6093         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
6094         REPLACE_FLOAT_LDBL.
6095         * modules/float (Files): Add lib/float.c.
6096         (configure.ac): Invoke AC_LIBOBJ.
6097         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
6098
6099 2011-06-20  Bruno Haible  <bruno@clisp.org>
6100
6101         Tests for module 'float'.
6102         * modules/float-tests: New file.
6103         * tests/test-float.c: New file.
6104
6105 2011-06-19  Bruno Haible  <bruno@clisp.org>
6106
6107         isinf: Coding style.
6108         * lib/isinf.c: Use GNU coding style.
6109
6110 2011-06-19  Bruno Haible  <bruno@clisp.org>
6111
6112         linkat test: Avoid test failure on AIX 7.1.
6113         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
6114         * tests/test-link.h (test_link): Likewise.
6115
6116 2011-06-19  Bruno Haible  <bruno@clisp.org>
6117
6118         pread test: Avoid test failure on OpenBSD 4.9.
6119         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
6120
6121 2011-06-19  Bruno Haible  <bruno@clisp.org>
6122
6123         sprintf-posix: Fix test failure on AIX 7.1.
6124         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
6125         * doc/posix-functions/dprintf.texi: Mention limited precision problem
6126         on AIX.
6127         * doc/posix-functions/fprintf.texi: Likewise.
6128         * doc/posix-functions/printf.texi: Likewise.
6129         * doc/posix-functions/snprintf.texi: Likewise.
6130         * doc/posix-functions/sprintf.texi: Likewise.
6131         * doc/posix-functions/vdprintf.texi: Likewise.
6132         * doc/posix-functions/vfprintf.texi: Likewise.
6133         * doc/posix-functions/vprintf.texi: Likewise.
6134         * doc/posix-functions/vsnprintf.texi: Likewise.
6135         * doc/posix-functions/vsprintf.texi: Likewise.
6136
6137 2011-06-19  Bruno Haible  <bruno@clisp.org>
6138
6139         roundl-ieee: Fix test failure on AIX 7.1.
6140         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
6141         * doc/posix-functions/roundl.texi: Mention problem with negative
6142         arguments.
6143
6144 2011-06-19  Bruno Haible  <bruno@clisp.org>
6145
6146         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6147         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
6148         * doc/posix-functions/round.texi: Mention problem with negative
6149         arguments.
6150         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
6151
6152 2011-06-19  Bruno Haible  <bruno@clisp.org>
6153
6154         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6155         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
6156         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
6157         * doc/posix-functions/roundf.texi: Mention problem with negative
6158         arguments.
6159         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
6160
6161 2011-06-19  Bruno Haible  <bruno@clisp.org>
6162
6163         ceilf-ieee: Work around bug on MacOS X 10.5.
6164         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
6165
6166         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
6167         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
6168         IEEE compliant, avoid compiler optimizations.
6169         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6170         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6171         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6172         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6173         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6174         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6175         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6176         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6177         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6178         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6179
6180 2011-06-19  Bruno Haible  <bruno@clisp.org>
6181
6182         ceilf-ieee: Work around bug on AIX 7.1.
6183         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
6184         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
6185
6186 2011-06-19  Bruno Haible  <bruno@clisp.org>
6187
6188         ceil-ieee: Work around bug on AIX 7.1.
6189         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
6190         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
6191
6192 2011-06-18  Bruno Haible  <bruno@clisp.org>
6193
6194         fsync test: Avoid test failure on MacOS X and AIX.
6195         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
6196         EINVAL.
6197
6198 2011-06-18  Bruno Haible  <bruno@clisp.org>
6199
6200         openat, fdopendir tests: Fix link errors.
6201         * modules/openat-tests (Depends-on): Add progname.
6202         * modules/fdopendir-tests (Depends-on): Likewise.
6203         * tests/test-fchownat.c: Include progname.h.
6204         (main): Call set_program_name.
6205         * tests/test-fstatat.c: Include progname.h.
6206         (main): Call set_program_name.
6207         * tests/test-mkdirat.c: Include progname.h.
6208         (main): Call set_program_name.
6209         * tests/test-openat.c: Include progname.h.
6210         (main): Call set_program_name.
6211         * tests/test-unlinkat.c: Include progname.h.
6212         (main): Call set_program_name.
6213         * tests/test-fdopendir.c: Include progname.h.
6214         (main): Call set_program_name.
6215
6216 2011-06-18  Bruno Haible  <bruno@clisp.org>
6217
6218         Doc update.
6219         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
6220         HP-UX.
6221         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
6222
6223 2011-06-18  Bruno Haible  <bruno@clisp.org>
6224
6225         getcwd tests: Avoid compilation error on HP-UX 11.31.
6226         * modules/getcwd-tests (Depends-on): Add pathmax.
6227         * tests/test-getcwd.c: Include pathmax.h.
6228
6229 2011-06-18  Bruno Haible  <bruno@clisp.org>
6230
6231         isfinite, isinf: Fix link error on AIX 6 and 7.
6232         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
6233         needed, also test the macro with a 'float' argument.
6234         * m4/isinf.m4 (gl_ISINF): Likewise.
6235
6236 2011-06-18  Bruno Haible  <bruno@clisp.org>
6237
6238         getloadavg: Don't clobber LIBS. Regression from previous commit.
6239         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
6240         AC_CHECK_LIB from here...
6241         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
6242         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
6243         gl_func_getloadavg_done.
6244         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6245
6246 2011-06-18  Bruno Haible  <bruno@clisp.org>
6247
6248         clean-temp: Improve documentation.
6249         * lib/clean-temp.h: Explain better how to use this module.
6250         Reported by John Darrington <john@darrington.wattle.id.au>.
6251
6252 2011-06-17  Bruno Haible  <bruno@clisp.org>
6253
6254         pread, pwrite: Avoid cc warning on AIX.
6255         * lib/unistd.in.h (pread): Undefine before defining as a macro.
6256         (pwrite): Likewise.
6257
6258 2011-06-17  Bruno Haible  <bruno@clisp.org>
6259
6260         spawn-pipe tests: Fix link error.
6261         * tests/test-spawn-pipe-child.c: Undefine fprintf.
6262         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6263
6264 2011-06-17  Bruno Haible  <bruno@clisp.org>
6265
6266         Tests: Remove unnecessary dependency.
6267         * modules/canonicalize-tests (Depends-on): Remove progname.
6268         * modules/chown-tests (Depends-on): Likewise.
6269         * modules/dirname-tests (Depends-on): Likewise.
6270         * modules/fdopendir-tests (Depends-on): Likewise.
6271         * modules/fdutimensat-tests (Depends-on): Likewise.
6272         * modules/hash-tests (Depends-on): Likewise.
6273         * modules/lchown-tests (Depends-on): Likewise.
6274         * modules/linkat-tests (Depends-on): Likewise.
6275         * modules/renameat-tests (Depends-on): Likewise.
6276         * modules/spawn-pipe-tests (Depends-on): Likewise.
6277         * modules/utimensat-tests (Depends-on): Likewise.
6278
6279 2011-06-17  Bruno Haible  <bruno@clisp.org>
6280
6281         spawn-pipe tests: Fix link error.
6282         * tests/test-spawn-pipe-child.c: Undefine fflush.
6283
6284 2011-06-17  Bruno Haible  <bruno@clisp.org>
6285
6286         Fix tests link errors.
6287         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
6288         * modules/chown-tests (Makefile.am): Don't link test-chown with
6289         LIBINTL.
6290         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
6291         LIBINTL.
6292         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
6293         LIBINTL.
6294         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
6295         LIBINTL.
6296
6297 2011-06-16  Bruno Haible  <bruno@clisp.org>
6298
6299         crypto/gc-sha1: Fix recent regression.
6300         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
6301         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
6302
6303         crypto/gc-md5: Fix recent regression.
6304         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
6305
6306         crypto/gc-md4: Fix recent regression.
6307         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
6308         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
6309
6310         crypto/gc-arctwo: Fix recent regression.
6311         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
6312         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
6313
6314         crypto/gc-rijndael: Fix recent regression.
6315         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
6316         (configure.ac): Invoke AC_LIBOBJ here.
6317         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
6318         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6319
6320         crypto/gc-hmac-sha1: Fix recent regression.
6321         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
6322         (configure.ac): Invoke AC_LIBOBJ here.
6323         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
6324         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6325
6326         crypto/gc-hmac-md5: Fix recent regression.
6327         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
6328         (configure.ac): Invoke AC_LIBOBJ here.
6329         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
6330         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6331
6332         crypto/gc-des: Fix recent regression.
6333         * modules/crypto/gc-des (Files): Remove m4/des.m4.
6334         (configure.ac): Invoke AC_LIBOBJ here.
6335         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
6336         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6337
6338         crypto/gc-arcfour: Fix recent regression.
6339         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
6340         (configure.ac): Invoke AC_LIBOBJ here.
6341         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
6342         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6343
6344 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
6345
6346         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
6347         After the 2011-05-21 change, this macro requires
6348         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
6349         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6350
6351 2011-06-16  Bruno Haible  <bruno@clisp.org>
6352
6353         fprintftime: Move AC_LIBOBJ invocations to module description.
6354         * m4/fprintftime.m4: Remove file.
6355         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
6356         (configure.ac): Remove gl_FPRINTFTIME call.
6357         (Makefile.am): Augment lib_SOURCES.
6358         Reported by Jim Meyering.
6359
6360 2011-06-16  Bruno Haible  <bruno@clisp.org>
6361
6362         tmpfile-safer: Finish 2011-05-23 commit.
6363         * m4/stdio-safer.m4: Really remove file.
6364         Reported by Jim Meyering.
6365
6366 2011-06-16  Bruno Haible  <bruno@clisp.org>
6367
6368         syntax-check: Fix typo.
6369         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
6370         printf-posix.m4.
6371         Reported by Jim Meyering.
6372
6373 2011-06-13  Jim Meyering  <meyering@redhat.com>
6374
6375         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
6376         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
6377
6378 2011-05-23  Bruno Haible  <bruno@clisp.org>
6379
6380         yesno: Move AC_LIBOBJ invocations to module description.
6381         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
6382         * modules/yesno (Makefile.am): Augment lib_SOURCES.
6383
6384 2011-05-23  Bruno Haible  <bruno@clisp.org>
6385
6386         xstrtol: Move AC_LIBOBJ invocations to module description.
6387         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
6388         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
6389
6390 2011-05-23  Bruno Haible  <bruno@clisp.org>
6391
6392         xstrtold: Move AC_LIBOBJ invocations to module description.
6393         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
6394         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
6395
6396 2011-05-23  Bruno Haible  <bruno@clisp.org>
6397
6398         xstrtod: Move AC_LIBOBJ invocations to module description.
6399         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
6400         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
6401
6402 2011-05-23  Bruno Haible  <bruno@clisp.org>
6403
6404         xnanosleep: Move AC_LIBOBJ invocations to module description.
6405         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
6406         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
6407
6408 2011-05-23  Bruno Haible  <bruno@clisp.org>
6409
6410         xgetcwd: Move AC_LIBOBJ invocations to module description.
6411         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
6412         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
6413
6414 2011-05-23  Bruno Haible  <bruno@clisp.org>
6415
6416         xalloc: Move AC_LIBOBJ invocations to module description.
6417         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
6418         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
6419
6420 2011-05-23  Bruno Haible  <bruno@clisp.org>
6421
6422         write-any-file: Move AC_LIBOBJ invocations to module description.
6423         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
6424         invocation.
6425         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
6426
6427 2011-05-23  Bruno Haible  <bruno@clisp.org>
6428
6429         utimens: Move AC_LIBOBJ invocations to module description.
6430         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6431         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6432
6433 2011-05-23  Bruno Haible  <bruno@clisp.org>
6434
6435         utimecmp: Move AC_LIBOBJ invocations to module description.
6436         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6437         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6438
6439 2011-05-23  Bruno Haible  <bruno@clisp.org>
6440
6441         userspec: Move AC_LIBOBJ invocations to module description.
6442         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6443         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6444
6445 2011-05-23  Bruno Haible  <bruno@clisp.org>
6446
6447         unlinkdir: Move AC_LIBOBJ invocations to module description.
6448         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6449         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6450
6451 2011-05-23  Bruno Haible  <bruno@clisp.org>
6452
6453         unistd-safer: Move AC_LIBOBJ invocations to module description.
6454         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6455         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6456
6457 2011-05-23  Bruno Haible  <bruno@clisp.org>
6458
6459         tempname: Move AC_LIBOBJ invocations to module description.
6460         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6461         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6462
6463 2011-05-23  Bruno Haible  <bruno@clisp.org>
6464
6465         strftime: Move AC_LIBOBJ invocations to module description.
6466         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6467         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6468
6469 2011-05-23  Bruno Haible  <bruno@clisp.org>
6470
6471         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6472         * m4/stdlib-safer.m4: Remove file.
6473         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6474         (configure.ac): Remove gl_STDLIB_SAFER call.
6475         (Makefile.am): Augment lib_SOURCES.
6476
6477 2011-05-23  Bruno Haible  <bruno@clisp.org>
6478
6479         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6480         * m4/stdio-safer.m4: Remove file.
6481         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6482         (configure.ac): Remove gl_TMPFILE_SAFER call.
6483         (Makefile.am): Augment lib_SOURCES.
6484
6485 2011-05-23  Bruno Haible  <bruno@clisp.org>
6486
6487         popen-safer: Move AC_LIBOBJ invocations to module description.
6488         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6489         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6490         (configure.ac): Remove gl_POPEN_SAFER call.
6491         (Makefile.am): Augment lib_SOURCES.
6492
6493 2011-05-23  Bruno Haible  <bruno@clisp.org>
6494
6495         freopen-safer: Move AC_LIBOBJ invocations to module description.
6496         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6497         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6498         (configure.ac): Remove gl_FREOPEN_SAFER call.
6499         (Makefile.am): Augment lib_SOURCES.
6500
6501 2011-05-23  Bruno Haible  <bruno@clisp.org>
6502
6503         fopen-safer: Move AC_LIBOBJ invocations to module description.
6504         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6505         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6506         (configure.ac): Remove gl_FOPEN_SAFER call.
6507         (Makefile.am): Augment lib_SOURCES.
6508
6509 2011-05-23  Bruno Haible  <bruno@clisp.org>
6510
6511         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6512         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6513         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6514
6515 2011-05-23  Bruno Haible  <bruno@clisp.org>
6516
6517         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6518         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6519         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6520
6521 2011-05-23  Bruno Haible  <bruno@clisp.org>
6522
6523         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6524         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6525         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6526
6527 2011-05-23  Bruno Haible  <bruno@clisp.org>
6528
6529         settime: Move AC_LIBOBJ invocations to module description.
6530         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6531         * modules/settime (Makefile.am): Augment lib_SOURCES.
6532
6533 2011-05-23  Bruno Haible  <bruno@clisp.org>
6534
6535         savedir: Move AC_LIBOBJ invocations to module description.
6536         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6537         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6538
6539 2011-05-23  Bruno Haible  <bruno@clisp.org>
6540
6541         save-cwd: Move AC_LIBOBJ invocations to module description.
6542         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6543         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6544
6545 2011-05-23  Bruno Haible  <bruno@clisp.org>
6546
6547         same: Move AC_LIBOBJ invocations to module description.
6548         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6549         * modules/same (Makefile.am): Augment lib_SOURCES.
6550
6551 2011-05-23  Bruno Haible  <bruno@clisp.org>
6552
6553         safe-write: Move AC_LIBOBJ invocations to module description.
6554         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6555         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6556         instead of gl_SAFE_WRITE.
6557         (Makefile.am): Augment lib_SOURCES.
6558
6559 2011-05-23  Bruno Haible  <bruno@clisp.org>
6560
6561         safe-read: Move AC_LIBOBJ invocations to module description.
6562         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6563         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6564         of gl_SAFE_READ.
6565         (Makefile.am): Augment lib_SOURCES.
6566
6567 2011-05-23  Bruno Haible  <bruno@clisp.org>
6568
6569         safe-alloc: Move AC_LIBOBJ invocations to module description.
6570         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6571         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6572
6573 2011-05-23  Bruno Haible  <bruno@clisp.org>
6574
6575         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6576         * m4/rijndael.m4: Remove file.
6577         * modules/crypto/rijndael (Files): Remove it.
6578         (configure.ac): Remove gl_RIJNDAEL call.
6579         (Makefile.am): Augment lib_SOURCES.
6580
6581 2011-05-23  Bruno Haible  <bruno@clisp.org>
6582
6583         readtokens: Move AC_LIBOBJ invocations to module description.
6584         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6585         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6586
6587 2011-05-23  Bruno Haible  <bruno@clisp.org>
6588
6589         read-file: Move AC_LIBOBJ invocations to module description.
6590         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6591         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6592         of gl_FUNC_READ_FILE.
6593         (Makefile.am): Augment lib_SOURCES.
6594
6595 2011-05-23  Bruno Haible  <bruno@clisp.org>
6596
6597         quotearg: Move AC_LIBOBJ invocations to module description.
6598         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6599         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6600
6601 2011-05-23  Bruno Haible  <bruno@clisp.org>
6602
6603         quote: Move AC_LIBOBJ invocations to module description.
6604         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6605         * modules/quote (Makefile.am): Augment lib_SOURCES.
6606
6607 2011-05-23  Bruno Haible  <bruno@clisp.org>
6608
6609         posixver: Move AC_LIBOBJ invocations to module description.
6610         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6611         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6612
6613 2011-05-23  Bruno Haible  <bruno@clisp.org>
6614
6615         posixtm: Move AC_LIBOBJ invocations to module description.
6616         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6617         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6618
6619 2011-05-23  Bruno Haible  <bruno@clisp.org>
6620
6621         physmem: Move AC_LIBOBJ invocations to module description.
6622         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6623         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6624
6625 2011-05-23  Bruno Haible  <bruno@clisp.org>
6626
6627         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6628         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6629         invocation.
6630         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6631
6632 2011-05-23  Bruno Haible  <bruno@clisp.org>
6633
6634         mpsort: Move AC_LIBOBJ invocations to module description.
6635         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6636         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6637
6638 2011-05-23  Bruno Haible  <bruno@clisp.org>
6639
6640         modechange: Move AC_LIBOBJ invocations to module description.
6641         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6642         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6643
6644 2011-05-23  Bruno Haible  <bruno@clisp.org>
6645
6646         mkdir-p: Move AC_LIBOBJ invocations to module description.
6647         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6648         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6649
6650 2011-05-23  Bruno Haible  <bruno@clisp.org>
6651
6652         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6653         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6654         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6655
6656 2011-05-23  Bruno Haible  <bruno@clisp.org>
6657
6658         mgetgroups: Move AC_LIBOBJ invocations to module description.
6659         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6660         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6661
6662 2011-05-23  Bruno Haible  <bruno@clisp.org>
6663
6664         memxor: Move AC_LIBOBJ invocations to module description.
6665         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6666         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6667
6668 2011-05-23  Bruno Haible  <bruno@clisp.org>
6669
6670         memcoll: Move AC_LIBOBJ invocations to module description.
6671         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6672         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6673
6674 2011-05-23  Bruno Haible  <bruno@clisp.org>
6675
6676         memcasecmp: Move AC_LIBOBJ invocations to module description.
6677         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6678         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6679
6680 2011-05-23  Bruno Haible  <bruno@clisp.org>
6681
6682         crypto/md5: Move AC_LIBOBJ invocations to module description.
6683         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6684         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6685
6686 2011-05-23  Bruno Haible  <bruno@clisp.org>
6687
6688         crypto/md4: Move AC_LIBOBJ invocations to module description.
6689         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6690         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6691
6692 2011-05-23  Bruno Haible  <bruno@clisp.org>
6693
6694         crypto/md2: Move AC_LIBOBJ invocations to module description.
6695         * m4/md2.m4: Remove file.
6696         * modules/crypto/md2 (Files): Remove it.
6697         (configure.ac): Remove gl_MD2 call.
6698         (Makefile.am): Augment lib_SOURCES.
6699
6700 2011-05-23  Bruno Haible  <bruno@clisp.org>
6701
6702         long-options: Move AC_LIBOBJ invocations to module description.
6703         * m4/long-options.m4: Remove file.
6704         * modules/long-options (Files): Remove it.
6705         (configure.ac): Remove gl_LONG_OPTIONS call.
6706         (Makefile.am): Augment lib_SOURCES.
6707
6708 2011-05-23  Bruno Haible  <bruno@clisp.org>
6709
6710         i-ring: Move AC_LIBOBJ invocations to module description.
6711         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6712         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6713
6714 2011-05-23  Bruno Haible  <bruno@clisp.org>
6715
6716         idcache: Move AC_LIBOBJ invocations to module description.
6717         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6718         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6719
6720 2011-05-23  Bruno Haible  <bruno@clisp.org>
6721
6722         human: Move AC_LIBOBJ invocations to module description.
6723         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6724         * modules/human (Makefile.am): Augment lib_SOURCES.
6725
6726 2011-05-23  Bruno Haible  <bruno@clisp.org>
6727
6728         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6729         * m4/hmac-sha1.m4: Remove file.
6730         * modules/crypto/hmac-sha1 (Files): Remove it.
6731         (configure.ac): Remove gl_HMAC_SHA1 call.
6732         (Makefile.am): Augment lib_SOURCES.
6733
6734 2011-05-23  Bruno Haible  <bruno@clisp.org>
6735
6736         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6737         * m4/hmac-md5.m4: Remove file.
6738         * modules/crypto/hmac-md5 (Files): Remove it.
6739         (configure.ac): Remove gl_HMAC_MD5 call.
6740         (Makefile.am): Augment lib_SOURCES.
6741
6742 2011-05-23  Bruno Haible  <bruno@clisp.org>
6743
6744         hash: Move AC_LIBOBJ invocations to module description.
6745         * m4/hash.m4: Remove file.
6746         * modules/hash (Files): Remove it.
6747         (configure.ac): Remove gl_HASH call.
6748         (Makefile.am): Augment lib_SOURCES.
6749
6750 2011-05-23  Bruno Haible  <bruno@clisp.org>
6751
6752         hard-locale: Move AC_LIBOBJ invocations to module description.
6753         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6754         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6755
6756 2011-05-23  Bruno Haible  <bruno@clisp.org>
6757
6758         getugroups: Move AC_LIBOBJ invocations to module description.
6759         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6760         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6761
6762 2011-05-23  Bruno Haible  <bruno@clisp.org>
6763
6764         gettime: Move AC_LIBOBJ invocations to module description.
6765         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6766         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6767
6768 2011-05-23  Bruno Haible  <bruno@clisp.org>
6769
6770         getndelim2: Move AC_LIBOBJ invocations to module description.
6771         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6772         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6773
6774 2011-05-23  Bruno Haible  <bruno@clisp.org>
6775
6776         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6777         * m4/gc-pbkdf2-sha1.m4: Remove file.
6778         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6779         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6780         (Makefile.am): Augment lib_SOURCES.
6781
6782 2011-05-23  Bruno Haible  <bruno@clisp.org>
6783
6784         fts: Move AC_LIBOBJ invocations to module description.
6785         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6786         * modules/fts (configure.ac): ... to here.
6787
6788 2011-05-23  Bruno Haible  <bruno@clisp.org>
6789
6790         file-type: Move AC_LIBOBJ invocations to module description.
6791         * m4/file-type.m4: Remove file.
6792         * modules/file-type (Files): Remove it.
6793         (configure.ac): Remove gl_FILE_TYPE call.
6794         (Makefile.am): Augment lib_SOURCES.
6795
6796 2011-05-23  Bruno Haible  <bruno@clisp.org>
6797
6798         filenamecat*: Respect rules for use of AC_LIBOBJ.
6799         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6800         Remove AC_LIBOBJ invocation.
6801         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6802         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6803
6804 2011-05-23  Bruno Haible  <bruno@clisp.org>
6805
6806         filemode: Move AC_LIBOBJ invocations to module description.
6807         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6808         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6809
6810 2011-05-23  Bruno Haible  <bruno@clisp.org>
6811
6812         openat-safer: Move AC_LIBOBJ invocations to module description.
6813         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6814         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6815
6816 2011-05-23  Bruno Haible  <bruno@clisp.org>
6817
6818         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6819         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6820         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6821
6822 2011-05-23  Bruno Haible  <bruno@clisp.org>
6823
6824         exclude: Move AC_LIBOBJ invocations to module description.
6825         * m4/exclude.m4: Remove file.
6826         * modules/exclude (Files): Remove it.
6827         (configure.ac): Remove gl_EXCLUDE call.
6828         (Makefile.am): Augment lib_SOURCES.
6829
6830 2011-05-23  Bruno Haible  <bruno@clisp.org>
6831
6832         dirname*: Respect rules for use of AC_LIBOBJ.
6833         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6834         invocations.
6835         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6836         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6837
6838 2011-05-23  Bruno Haible  <bruno@clisp.org>
6839
6840         dirent-safer: Move AC_LIBOBJ invocations to module description.
6841         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
6842         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
6843
6844 2011-05-23  Bruno Haible  <bruno@clisp.org>
6845
6846         crypto/des: Move AC_LIBOBJ invocations to module description.
6847         * m4/des.m4: Remove file.
6848         * modules/crypto/des (Files): Remove it.
6849         (configure.ac): Remove gl_DES call.
6850         (Makefile.am): Augment lib_SOURCES.
6851
6852 2011-05-23  Bruno Haible  <bruno@clisp.org>
6853
6854         cycle-check: Move AC_LIBOBJ invocations to module description.
6855         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
6856         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
6857
6858 2011-05-23  Bruno Haible  <bruno@clisp.org>
6859
6860         c-strtold: Move AC_LIBOBJ invocations to module description.
6861         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
6862         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
6863
6864 2011-05-23  Bruno Haible  <bruno@clisp.org>
6865
6866         c-strtod: Move AC_LIBOBJ invocations to module description.
6867         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
6868         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
6869
6870 2011-05-23  Bruno Haible  <bruno@clisp.org>
6871
6872         crc: Move AC_LIBOBJ invocations to module description.
6873         * m4/crc.m4: Remove file.
6874         * modules/crc (Files): Remove it.
6875         (configure.ac): Remove gl_CRC call.
6876         (Makefile.am): Augment lib_SOURCES.
6877
6878 2011-05-23  Bruno Haible  <bruno@clisp.org>
6879
6880         close-stream: Move AC_LIBOBJ invocations to module description.
6881         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
6882         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
6883
6884 2011-05-23  Bruno Haible  <bruno@clisp.org>
6885
6886         closeout: Move AC_LIBOBJ invocations to module description.
6887         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
6888         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6889
6890 2011-05-23  Bruno Haible  <bruno@clisp.org>
6891
6892         closein: Move AC_LIBOBJ invocations to module description.
6893         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
6894         * modules/closein (Makefile.am): Augment lib_SOURCES.
6895
6896 2011-05-23  Bruno Haible  <bruno@clisp.org>
6897
6898         cloexec: Move AC_LIBOBJ invocations to module description.
6899         * m4/cloexec.m4: Remove file.
6900         * modules/cloexec (Files): Remove it.
6901         (configure.ac): Remove gl_CLOEXEC call.
6902         (Makefile.am): Augment lib_SOURCES.
6903
6904 2011-05-23  Bruno Haible  <bruno@clisp.org>
6905
6906         check-version: Move AC_LIBOBJ invocations to module description.
6907         * m4/check-version.m4: Remove file.
6908         * modules/check-version (Files): Remove it.
6909         (configure.ac): Remove gl_CHECK_VERSION call.
6910         (Makefile.am): Augment lib_SOURCES.
6911
6912 2011-05-23  Bruno Haible  <bruno@clisp.org>
6913
6914         chdir-safer: Move AC_LIBOBJ invocations to module description.
6915         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
6916         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
6917
6918 2011-05-23  Bruno Haible  <bruno@clisp.org>
6919
6920         canonicalize: Move AC_LIBOBJ invocations to module description.
6921         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
6922         AC_LIBOBJ invocation.
6923         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
6924
6925 2011-05-23  Bruno Haible  <bruno@clisp.org>
6926
6927         canon-host: Move AC_LIBOBJ invocations to module description.
6928         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
6929         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
6930         instead of gl_CANON_HOST.
6931         (Makefile.am): Augment lib_SOURCES.
6932
6933 2011-05-23  Bruno Haible  <bruno@clisp.org>
6934
6935         backupfile: Move AC_LIBOBJ invocations to module description.
6936         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
6937         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
6938
6939 2011-05-23  Bruno Haible  <bruno@clisp.org>
6940
6941         argmatch: Move AC_LIBOBJ invocations to module description.
6942         * m4/argmatch.m4: Remove file.
6943         * modules/argmatch (Files): Remove it.
6944         (configure.ac): Remove gl_ARGMATCH call.
6945         (Makefile.am): Augment lib_SOURCES.
6946
6947 2011-05-23  Bruno Haible  <bruno@clisp.org>
6948
6949         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
6950         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
6951         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
6952
6953 2011-05-23  Bruno Haible  <bruno@clisp.org>
6954
6955         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
6956         * m4/arcfour.m4: Remove file.
6957         * modules/crypto/arcfour (Files): Remove it.
6958         (configure.ac): Remove gl_ARCFOUR call.
6959         (Makefile.am): Augment lib_SOURCES.
6960
6961 2011-05-22  Bruno Haible  <bruno@clisp.org>
6962
6963         write: Move AC_LIBOBJ invocations to module description.
6964         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
6965         * modules/write (configure.ac): ... to here.
6966
6967 2011-05-22  Bruno Haible  <bruno@clisp.org>
6968
6969         wmemset: Move AC_LIBOBJ invocations to module description.
6970         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
6971         here...
6972         * modules/wmemset (configure.ac): ... to here.
6973
6974 2011-05-22  Bruno Haible  <bruno@clisp.org>
6975
6976         wmemmove: Move AC_LIBOBJ invocations to module description.
6977         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
6978         here...
6979         * modules/wmemmove (configure.ac): ... to here.
6980
6981 2011-05-22  Bruno Haible  <bruno@clisp.org>
6982
6983         wmemcpy: Move AC_LIBOBJ invocations to module description.
6984         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
6985         here...
6986         * modules/wmemcpy (configure.ac): ... to here.
6987
6988 2011-05-22  Bruno Haible  <bruno@clisp.org>
6989
6990         wmemcmp: Move AC_LIBOBJ invocations to module description.
6991         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
6992         here...
6993         * modules/wmemcmp (configure.ac): ... to here.
6994
6995 2011-05-22  Bruno Haible  <bruno@clisp.org>
6996
6997         wmemchr: Move AC_LIBOBJ invocations to module description.
6998         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
6999         here...
7000         * modules/wmemchr (configure.ac): ... to here.
7001
7002 2011-05-22  Bruno Haible  <bruno@clisp.org>
7003
7004         wcswidth: Move AC_LIBOBJ invocations to module description.
7005         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
7006         here...
7007         * modules/wcswidth (configure.ac): ... to here.
7008
7009 2011-05-22  Bruno Haible  <bruno@clisp.org>
7010
7011         wcwidth: Respect rules for use of AC_LIBOBJ.
7012         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
7013         invocation from here...
7014         * modules/wcwidth (configure.ac): ... to here.
7015         (Depends-on): Update conditions.
7016
7017 2011-05-22  Bruno Haible  <bruno@clisp.org>
7018
7019         wctype: Move AC_LIBOBJ invocations to module description.
7020         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
7021         invocation from here...
7022         * modules/wctype (configure.ac): ... to here.
7023         (Depends-on): Update conditions.
7024
7025 2011-05-22  Bruno Haible  <bruno@clisp.org>
7026
7027         wctrans: Move AC_LIBOBJ invocations to module description.
7028         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
7029         invocation from here...
7030         * modules/wctrans (configure.ac): ... to here.
7031
7032 2011-05-22  Bruno Haible  <bruno@clisp.org>
7033
7034         wctomb: Move AC_LIBOBJ invocations to module description.
7035         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
7036         invocations from here...
7037         * modules/wctomb (configure.ac): ... to here.
7038
7039 2011-05-22  Bruno Haible  <bruno@clisp.org>
7040
7041         wctob: Move AC_LIBOBJ invocations to module description.
7042         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
7043         gl_PREREQ_WCTOB invocations from here...
7044         * modules/wctob (configure.ac): ... to here.
7045         (Depends-on): Update conditions.
7046
7047 2011-05-22  Bruno Haible  <bruno@clisp.org>
7048
7049         wcsxfrm: Move AC_LIBOBJ invocations to module description.
7050         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
7051         here...
7052         * modules/wcsxfrm (configure.ac): ... to here.
7053
7054 2011-05-22  Bruno Haible  <bruno@clisp.org>
7055
7056         wcstok: Move AC_LIBOBJ invocations to module description.
7057         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
7058         * modules/wcstok (configure.ac): ... to here.
7059
7060 2011-05-22  Bruno Haible  <bruno@clisp.org>
7061
7062         wcsstr: Move AC_LIBOBJ invocations to module description.
7063         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
7064         * modules/wcsstr (configure.ac): ... to here.
7065
7066 2011-05-22  Bruno Haible  <bruno@clisp.org>
7067
7068         wcsspn: Move AC_LIBOBJ invocations to module description.
7069         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
7070         * modules/wcsspn (configure.ac): ... to here.
7071
7072 2011-05-22  Bruno Haible  <bruno@clisp.org>
7073
7074         wcsrtombs: Move AC_LIBOBJ invocations to module description.
7075         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
7076         gl_PREREQ_WCSRTOMBS invocations from here...
7077         * modules/wcsrtombs (configure.ac): ... to here.
7078
7079 2011-05-22  Bruno Haible  <bruno@clisp.org>
7080
7081         wcsrchr: Move AC_LIBOBJ invocations to module description.
7082         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
7083         here...
7084         * modules/wcsrchr (configure.ac): ... to here.
7085
7086 2011-05-22  Bruno Haible  <bruno@clisp.org>
7087
7088         wcspbrk: Move AC_LIBOBJ invocations to module description.
7089         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
7090         here...
7091         * modules/wcspbrk (configure.ac): ... to here.
7092
7093 2011-05-22  Bruno Haible  <bruno@clisp.org>
7094
7095         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
7096         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
7097         gl_PREREQ_WCSNRTOMBS invocations from here...
7098         * modules/wcsnrtombs (configure.ac): ... to here.
7099
7100 2011-05-22  Bruno Haible  <bruno@clisp.org>
7101
7102         wcsnlen: Move AC_LIBOBJ invocations to module description.
7103         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
7104         here...
7105         * modules/wcsnlen (configure.ac): ... to here.
7106
7107 2011-05-22  Bruno Haible  <bruno@clisp.org>
7108
7109         wcsncpy: Move AC_LIBOBJ invocations to module description.
7110         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
7111         here...
7112         * modules/wcsncpy (configure.ac): ... to here.
7113
7114 2011-05-22  Bruno Haible  <bruno@clisp.org>
7115
7116         wcsncmp: Move AC_LIBOBJ invocations to module description.
7117         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
7118         here...
7119         * modules/wcsncmp (configure.ac): ... to here.
7120
7121 2011-05-22  Bruno Haible  <bruno@clisp.org>
7122
7123         wcsncat: Move AC_LIBOBJ invocations to module description.
7124         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
7125         here...
7126         * modules/wcsncat (configure.ac): ... to here.
7127
7128 2011-05-22  Bruno Haible  <bruno@clisp.org>
7129
7130         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
7131         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
7132         from here...
7133         * modules/wcsncasecmp (configure.ac): ... to here.
7134
7135 2011-05-22  Bruno Haible  <bruno@clisp.org>
7136
7137         wcslen: Move AC_LIBOBJ invocations to module description.
7138         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
7139         * modules/wcslen (configure.ac): ... to here.
7140
7141 2011-05-22  Bruno Haible  <bruno@clisp.org>
7142
7143         wcsdup: Move AC_LIBOBJ invocations to module description.
7144         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
7145         * modules/wcsdup (configure.ac): ... to here.
7146
7147 2011-05-22  Bruno Haible  <bruno@clisp.org>
7148
7149         wcscspn: Move AC_LIBOBJ invocations to module description.
7150         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
7151         here...
7152         * modules/wcscspn (configure.ac): ... to here.
7153
7154 2011-05-22  Bruno Haible  <bruno@clisp.org>
7155
7156         wcscpy: Move AC_LIBOBJ invocations to module description.
7157         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
7158         * modules/wcscpy (configure.ac): ... to here.
7159
7160 2011-05-22  Bruno Haible  <bruno@clisp.org>
7161
7162         wcscoll: Move AC_LIBOBJ invocations to module description.
7163         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
7164         here...
7165         * modules/wcscoll (configure.ac): ... to here.
7166
7167 2011-05-22  Bruno Haible  <bruno@clisp.org>
7168
7169         wcscmp: Move AC_LIBOBJ invocations to module description.
7170         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
7171         * modules/wcscmp (configure.ac): ... to here.
7172
7173 2011-05-22  Bruno Haible  <bruno@clisp.org>
7174
7175         wcschr: Move AC_LIBOBJ invocations to module description.
7176         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
7177         * modules/wcschr (configure.ac): ... to here.
7178
7179 2011-05-22  Bruno Haible  <bruno@clisp.org>
7180
7181         wcscat: Move AC_LIBOBJ invocations to module description.
7182         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
7183         * modules/wcscat (configure.ac): ... to here.
7184
7185 2011-05-22  Bruno Haible  <bruno@clisp.org>
7186
7187         wcscasecmp: Move AC_LIBOBJ invocations to module description.
7188         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
7189         here...
7190         * modules/wcscasecmp (configure.ac): ... to here.
7191
7192 2011-05-22  Bruno Haible  <bruno@clisp.org>
7193
7194         wcrtomb: Move AC_LIBOBJ invocations to module description.
7195         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
7196         invocations from here...
7197         * modules/wcrtomb (configure.ac): ... to here.
7198
7199 2011-05-22  Bruno Haible  <bruno@clisp.org>
7200
7201         wcpncpy: Move AC_LIBOBJ invocations to module description.
7202         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
7203         here...
7204         * modules/wcpncpy (configure.ac): ... to here.
7205
7206 2011-05-22  Bruno Haible  <bruno@clisp.org>
7207
7208         wcpcpy: Move AC_LIBOBJ invocations to module description.
7209         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
7210         * modules/wcpcpy (configure.ac): ... to here.
7211
7212 2011-05-22  Bruno Haible  <bruno@clisp.org>
7213
7214         waitpid: Move AC_LIBOBJ invocations to module description.
7215         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
7216         invocation from here...
7217         * modules/waitpid (configure.ac): ... to here.
7218
7219 2011-05-22  Bruno Haible  <bruno@clisp.org>
7220
7221         utimensat: Move AC_LIBOBJ invocations to module description.
7222         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
7223         here...
7224         * modules/utimensat (configure.ac): ... to here.
7225
7226 2011-05-22  Bruno Haible  <bruno@clisp.org>
7227
7228         usleep: Move AC_LIBOBJ invocations to module description.
7229         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
7230         here...
7231         * modules/usleep (configure.ac): ... to here.
7232
7233 2011-05-22  Bruno Haible  <bruno@clisp.org>
7234
7235         unlockpt: Move AC_LIBOBJ invocations to module description.
7236         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
7237         gl_PREREQ_UNLOCKPT invocations from here...
7238         * modules/unlockpt (configure.ac): ... to here.
7239
7240 2011-05-22  Bruno Haible  <bruno@clisp.org>
7241
7242         unlink: Respect rules for use of AC_LIBOBJ.
7243         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
7244         * modules/unlink (configure.ac): ... to here.
7245
7246 2011-05-22  Bruno Haible  <bruno@clisp.org>
7247
7248         uname: Move AC_LIBOBJ invocations to module description.
7249         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
7250         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
7251         here...
7252         * modules/uname (configure.ac): ... to here.
7253
7254 2011-05-22  Bruno Haible  <bruno@clisp.org>
7255
7256         ttyname_r: Move AC_LIBOBJ invocations to module description.
7257         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
7258         gl_PREREQ_TTYNAME_R invocations from here...
7259         * modules/ttyname_r (configure.ac): ... to here.
7260
7261 2011-05-22  Bruno Haible  <bruno@clisp.org>
7262
7263         tsearch: Move AC_LIBOBJ invocations to module description.
7264         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
7265         invocations from here...
7266         * modules/tsearch (configure.ac): ... to here.
7267
7268 2011-05-22  Bruno Haible  <bruno@clisp.org>
7269
7270         towctrans: Move AC_LIBOBJ invocations to module description.
7271         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
7272         AC_LIBOBJ invocation from here...
7273         * modules/towctrans (configure.ac): ... to here.
7274
7275 2011-05-22  Bruno Haible  <bruno@clisp.org>
7276
7277         tmpfile: Move AC_LIBOBJ invocations to module description.
7278         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
7279         invocations from here...
7280         * modules/tmpfile (configure.ac): ... to here.
7281
7282 2011-05-22  Bruno Haible  <bruno@clisp.org>
7283
7284         times: Move AC_LIBOBJ invocations to module description.
7285         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
7286         * modules/times (configure.ac): ... to here.
7287
7288 2011-05-22  Bruno Haible  <bruno@clisp.org>
7289
7290         time_r: Move AC_LIBOBJ invocations to module description.
7291         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
7292         invocations from here...
7293         * modules/time_r (configure.ac): ... to here.
7294
7295 2011-05-22  Bruno Haible  <bruno@clisp.org>
7296
7297         timegm: Move AC_LIBOBJ invocations to module description.
7298         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
7299         invocations from here...
7300         * modules/timegm (configure.ac): ... to here.
7301
7302 2011-05-22  Bruno Haible  <bruno@clisp.org>
7303
7304         tcgetsid: Move AC_LIBOBJ invocations to module description.
7305         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
7306         and gl_PREREQ_TCGETSID invocations from here...
7307         * modules/tcgetsid (configure.ac): ... to here.
7308         (Depends-on): Update conditions.
7309
7310 2011-05-22  Bruno Haible  <bruno@clisp.org>
7311
7312         symlinkat: Move AC_LIBOBJ invocations to module description.
7313         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
7314         here...
7315         * modules/symlinkat (configure.ac): ... to here.
7316
7317 2011-05-22  Bruno Haible  <bruno@clisp.org>
7318
7319         symlink: Move AC_LIBOBJ invocations to module description.
7320         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
7321         here...
7322         * modules/symlink (configure.ac): ... to here.
7323
7324 2011-05-22  Bruno Haible  <bruno@clisp.org>
7325
7326         strverscmp: Move AC_LIBOBJ invocations to module description.
7327         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
7328         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
7329         from here...
7330         * modules/strverscmp (configure.ac): ... to here.
7331
7332 2011-05-22  Bruno Haible  <bruno@clisp.org>
7333
7334         strtok_r: Move AC_LIBOBJ invocations to module description.
7335         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
7336         and gl_PREREQ_STRTOK_R invocations from here...
7337         * modules/strtok_r (configure.ac): ... to here.
7338         (Depends-on): Update conditions.
7339
7340 2011-05-22  Bruno Haible  <bruno@clisp.org>
7341
7342         strtoumax: Move AC_LIBOBJ invocations to module description.
7343         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
7344         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
7345         from here...
7346         * modules/strtoumax (configure.ac): ... to here.
7347
7348 2011-05-22  Bruno Haible  <bruno@clisp.org>
7349
7350         strtoimax: Move AC_LIBOBJ invocations to module description.
7351         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
7352         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
7353         from here...
7354         * modules/strtoimax (configure.ac): ... to here.
7355
7356 2011-05-22  Bruno Haible  <bruno@clisp.org>
7357
7358         strtoull: Move AC_LIBOBJ invocations to module description.
7359         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
7360         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
7361         from here...
7362         * modules/strtoull (configure.ac): ... to here.
7363
7364 2011-05-22  Bruno Haible  <bruno@clisp.org>
7365
7366         strtoll: Move AC_LIBOBJ invocations to module description.
7367         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
7368         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
7369         here...
7370         * modules/strtoll (configure.ac): ... to here.
7371
7372 2011-05-22  Bruno Haible  <bruno@clisp.org>
7373
7374         strtoul: Move AC_LIBOBJ invocations to module description.
7375         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
7376         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7377         * modules/strtoul (configure.ac): ... to here.
7378
7379 2011-05-22  Bruno Haible  <bruno@clisp.org>
7380
7381         strtol: Move AC_LIBOBJ invocations to module description.
7382         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
7383         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7384         * modules/strtol (configure.ac): ... to here.
7385
7386 2011-05-22  Bruno Haible  <bruno@clisp.org>
7387
7388         strtod: Move AC_LIBOBJ invocations to module description.
7389         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
7390         invocations from here...
7391         * modules/strtod (configure.ac): ... to here.
7392
7393 2011-05-22  Bruno Haible  <bruno@clisp.org>
7394
7395         strstr*: Move AC_LIBOBJ invocations to module description.
7396         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
7397         invocations from here...
7398         * modules/strstr-simple (configure.ac): ... to here.
7399         * modules/strstr (configure.ac): ... and here.
7400
7401 2011-05-22  Bruno Haible  <bruno@clisp.org>
7402
7403         strsignal: Move AC_LIBOBJ invocations to module description.
7404         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
7405         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
7406         * modules/strsignal (configure.ac): ... to here.
7407         (Depends-on): Update conditions.
7408
7409 2011-05-22  Bruno Haible  <bruno@clisp.org>
7410
7411         strsep: Move AC_LIBOBJ invocations to module description.
7412         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
7413         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
7414         here...
7415         * modules/strsep (configure.ac): ... to here.
7416
7417 2011-05-22  Bruno Haible  <bruno@clisp.org>
7418
7419         strptime: Move AC_LIBOBJ invocations to module description.
7420         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
7421         gl_PREREQ_STRPTIME invocations from here...
7422         * modules/strptime (configure.ac): ... to here.
7423
7424 2011-05-22  Bruno Haible  <bruno@clisp.org>
7425
7426         strpbrk: Move AC_LIBOBJ invocations to module description.
7427         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
7428         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
7429         here...
7430         * modules/strpbrk (configure.ac): ... to here.
7431
7432 2011-05-22  Bruno Haible  <bruno@clisp.org>
7433
7434         strnlen: Move AC_LIBOBJ invocations to module description.
7435         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7436         invocations from here...
7437         * modules/strnlen (configure.ac): ... to here.
7438
7439 2011-05-22  Bruno Haible  <bruno@clisp.org>
7440
7441         strndup: Move AC_LIBOBJ invocations to module description.
7442         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7443         invocations from here...
7444         * modules/strndup (configure.ac): ... to here.
7445         (Depends-on): Update conditions.
7446
7447 2011-05-22  Bruno Haible  <bruno@clisp.org>
7448
7449         strncat: Move AC_LIBOBJ invocations to module description.
7450         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7451         invocations from here...
7452         * modules/strncat (configure.ac): ... to here.
7453
7454 2011-05-22  Bruno Haible  <bruno@clisp.org>
7455
7456         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7457         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7458         invocations from here...
7459         * modules/strdup (configure.ac): ... to here.
7460         * modules/strdup-posix (configure.ac): ... and here.
7461
7462 2011-05-22  Bruno Haible  <bruno@clisp.org>
7463
7464         strcspn: Move AC_LIBOBJ invocations to module description.
7465         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7466         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7467         here...
7468         * modules/strcspn (configure.ac): ... to here.
7469
7470 2011-05-22  Bruno Haible  <bruno@clisp.org>
7471
7472         strchrnul: Move AC_LIBOBJ invocations to module description.
7473         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7474         gl_PREREQ_STRCHRNUL invocations from here...
7475         * modules/strchrnul (configure.ac): ... to here.
7476
7477 2011-05-22  Bruno Haible  <bruno@clisp.org>
7478
7479         strcasestr*: Move AC_LIBOBJ invocations to module description.
7480         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7481         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7482         * modules/strcasestr-simple (configure.ac): ... to here.
7483         * modules/strcasestr (configure.ac): ... and here.
7484
7485 2011-05-22  Bruno Haible  <bruno@clisp.org>
7486
7487         strcase: Move AC_LIBOBJ invocations to module description.
7488         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7489         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7490         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7491         gl_PREREQ_STRNCASECMP invocations from here...
7492         * modules/strcase (configure.ac): ... to here.
7493
7494 2011-05-22  Bruno Haible  <bruno@clisp.org>
7495
7496         stpncpy: Move AC_LIBOBJ invocations to module description.
7497         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7498         here...
7499         * modules/stpncpy (configure.ac): ... to here.
7500
7501 2011-05-22  Bruno Haible  <bruno@clisp.org>
7502
7503         stpcpy: Move AC_LIBOBJ invocations to module description.
7504         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7505         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7506         here...
7507         * modules/stpcpy (configure.ac): ... to here.
7508
7509 2011-05-21  Bruno Haible  <bruno@clisp.org>
7510
7511         stat: Move AC_LIBOBJ invocations to module description.
7512         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7513         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7514         here...
7515         * modules/stat (configure.ac): ... to here.
7516
7517 2011-05-21  Bruno Haible  <bruno@clisp.org>
7518
7519         sleep: Move AC_LIBOBJ invocations to module description.
7520         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7521         * modules/sleep (configure.ac): ... to here.
7522
7523 2011-05-21  Bruno Haible  <bruno@clisp.org>
7524
7525         signbit: Move AC_LIBOBJ invocations to module description.
7526         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7527         * modules/signbit (configure.ac): ... to here.
7528
7529 2011-05-21  Bruno Haible  <bruno@clisp.org>
7530
7531         sigprocmask: Move AC_LIBOBJ invocations to module description.
7532         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7533         gl_PREREQ_SIGPROMASK invocations from here...
7534         * modules/sigprocmask (configure.ac): ... to here.
7535
7536 2011-05-21  Bruno Haible  <bruno@clisp.org>
7537
7538         sigaction: Move AC_LIBOBJ invocations to module description.
7539         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7540         gl_PREREQ_SIGACTION invocations from here...
7541         * modules/sigaction (configure.ac): ... to here.
7542
7543 2011-05-21  Bruno Haible  <bruno@clisp.org>
7544
7545         sig2str: Move AC_LIBOBJ invocations to module description.
7546         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7547         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7548         here...
7549         * modules/sig2str (configure.ac): ... to here.
7550
7551 2011-05-21  Bruno Haible  <bruno@clisp.org>
7552
7553         setlocale: Move AC_LIBOBJ invocations to module description.
7554         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7555         gl_PREREQ_SETLOCALE invocations from here...
7556         * modules/setlocale (configure.ac): ... to here.
7557
7558 2011-05-21  Bruno Haible  <bruno@clisp.org>
7559
7560         unsetenv: Move AC_LIBOBJ invocations to module description.
7561         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7562         and gl_PREREQ_UNSETENV invocations from here...
7563         * modules/unsetenv (configure.ac): ... to here.
7564         (Depends-on): Update.
7565
7566 2011-05-21  Bruno Haible  <bruno@clisp.org>
7567
7568         setenv: Move AC_LIBOBJ invocations to module description.
7569         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7570         here...
7571         * modules/setenv (configure.ac): ... to here.
7572
7573 2011-05-21  Bruno Haible  <bruno@clisp.org>
7574
7575         selinux-h: Move AC_LIBOBJ invocations to module description.
7576         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7577         AC_LIBOBJ invocation from here...
7578         * modules/selinux-h (configure.ac): ... to here.
7579
7580 2011-05-21  Bruno Haible  <bruno@clisp.org>
7581
7582         select: Respect rules for use of AC_LIBOBJ.
7583         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7584         here...
7585         * modules/select (configure.ac): ... to here.
7586
7587 2011-05-21  Bruno Haible  <bruno@clisp.org>
7588
7589         scandir: Move AC_LIBOBJ invocations to module description.
7590         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7591         invocations from here...
7592         * modules/scandir (configure.ac): ... to here.
7593
7594 2011-05-21  Bruno Haible  <bruno@clisp.org>
7595
7596         rpmatch: Move AC_LIBOBJ invocations to module description.
7597         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7598         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7599         here...
7600         * modules/rpmatch (configure.ac): ... to here.
7601
7602 2011-05-21  Bruno Haible  <bruno@clisp.org>
7603
7604         rmdir: Respect rules for use of AC_LIBOBJ.
7605         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7606         * modules/rmdir (configure.ac): ... to here.
7607
7608 2011-05-21  Bruno Haible  <bruno@clisp.org>
7609
7610         renameat: Move AC_LIBOBJ invocations to module description.
7611         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7612         here...
7613         * modules/renameat (configure.ac): ... to here.
7614
7615 2011-05-21  Bruno Haible  <bruno@clisp.org>
7616
7617         rename: Respect rules for use of AC_LIBOBJ.
7618         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7619         here...
7620         * modules/rename (configure.ac): ... to here.
7621
7622 2011-05-21  Bruno Haible  <bruno@clisp.org>
7623
7624         remove: Move AC_LIBOBJ invocations to module description.
7625         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7626         here...
7627         * modules/remove (configure.ac): ... to here.
7628
7629 2011-05-21  Bruno Haible  <bruno@clisp.org>
7630
7631         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7632         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7633         macro.
7634         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7635         * modules/relocatable-lib (configure.ac): ... to here.
7636         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7637         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7638
7639 2011-05-21  Bruno Haible  <bruno@clisp.org>
7640
7641         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7642         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7643         here...
7644         * modules/relocatable-prog (configure.ac): ... to here.
7645
7646 2011-05-21  Bruno Haible  <bruno@clisp.org>
7647
7648         regex: Move AC_LIBOBJ invocations to module description.
7649         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7650         invocations from here...
7651         * modules/regex (configure.ac): ... to here.
7652
7653 2011-05-21  Bruno Haible  <bruno@clisp.org>
7654
7655         realloc-*: Move AC_LIBOBJ invocations to module description.
7656         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7657         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7658         AC_LIBOBJ invocations from here...
7659         * modules/realloc-gnu (configure.ac): ... to here.
7660         * modules/realloc-posix (configure.ac): ... and here.
7661
7662 2011-05-21  Bruno Haible  <bruno@clisp.org>
7663
7664         readutmp: Move AC_LIBOBJ invocations to module description.
7665         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7666         * modules/readutmp (configure.ac): ... to here.
7667
7668 2011-05-21  Bruno Haible  <bruno@clisp.org>
7669
7670         readlinkat: Move AC_LIBOBJ invocations to module description.
7671         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7672         here...
7673         * modules/readlinkat (configure.ac): ... to here.
7674
7675 2011-05-21  Bruno Haible  <bruno@clisp.org>
7676
7677         readlink: Move AC_LIBOBJ invocations to module description.
7678         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7679         gl_PREREQ_READLINK invocations from here...
7680         * modules/readlink (configure.ac): ... to here.
7681
7682 2011-05-21  Bruno Haible  <bruno@clisp.org>
7683
7684         readline: Move AC_LIBOBJ invocations to module description.
7685         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7686         gl_PREREQ_READLINE invocations from here...
7687         * modules/readline (configure.ac): ... to here.
7688
7689 2011-05-21  Bruno Haible  <bruno@clisp.org>
7690
7691         read: Move AC_LIBOBJ invocations to module description.
7692         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7693         * modules/read (configure.ac): ... to here.
7694
7695 2011-05-21  Bruno Haible  <bruno@clisp.org>
7696
7697         rawmemchr: Move AC_LIBOBJ invocations to module description.
7698         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7699         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7700         from here...
7701         * modules/rawmemchr (configure.ac): ... to here.
7702
7703 2011-05-21  Bruno Haible  <bruno@clisp.org>
7704
7705         random_r: Move AC_LIBOBJ invocations to module description.
7706         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7707         gl_PREREQ_RANDOM_R invocations from here...
7708         * modules/random_r (configure.ac): ... to here.
7709
7710 2011-05-21  Bruno Haible  <bruno@clisp.org>
7711
7712         pwrite: Move AC_LIBOBJ invocations to module description.
7713         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7714         * modules/pwrite (configure.ac): ... to here.
7715
7716 2011-05-21  Bruno Haible  <bruno@clisp.org>
7717
7718         putenv: Move AC_LIBOBJ invocations to module description.
7719         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7720         * modules/putenv (configure.ac): ... to here.
7721
7722 2011-05-21  Bruno Haible  <bruno@clisp.org>
7723
7724         login_tty: Move AC_LIBOBJ invocations to module description.
7725         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7726         * modules/login_tty (configure.ac): ... to here.
7727
7728 2011-05-21  Bruno Haible  <bruno@clisp.org>
7729
7730         openpty: Move AC_LIBOBJ invocations to module description.
7731         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7732         * modules/openpty (configure.ac): ... to here.
7733
7734 2011-05-21  Bruno Haible  <bruno@clisp.org>
7735
7736         forkpty: Move AC_LIBOBJ invocations to module description.
7737         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7738         * modules/forkpty (configure.ac): ... to here.
7739
7740 2011-05-21  Bruno Haible  <bruno@clisp.org>
7741
7742         ptsname: Move AC_LIBOBJ invocations to module description.
7743         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7744         invocations from here...
7745         * modules/ptsname (configure.ac): ... to here.
7746
7747 2011-05-21  Bruno Haible  <bruno@clisp.org>
7748
7749         pread: Move AC_LIBOBJ invocations to module description.
7750         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7751         * modules/pread (configure.ac): ... to here.
7752
7753 2011-05-21  Bruno Haible  <bruno@clisp.org>
7754
7755         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7756         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7757         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7758         * modules/posix_spawn (configure.ac): ... to here.
7759         * modules/posix_spawnp (configure.ac): ... and here.
7760
7761 2011-05-21  Bruno Haible  <bruno@clisp.org>
7762
7763         popen: Move AC_LIBOBJ invocations to module description.
7764         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7765         invocations from here...
7766         * modules/popen (configure.ac): ... to here.
7767
7768 2011-05-21  Bruno Haible  <bruno@clisp.org>
7769
7770         poll: Move AC_LIBOBJ invocations to module description.
7771         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7772         invocations from here...
7773         * modules/poll (configure.ac): ... to here.
7774
7775 2011-05-21  Bruno Haible  <bruno@clisp.org>
7776
7777         pipe-posix: Move AC_LIBOBJ invocations to module description.
7778         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7779         * modules/pipe-posix (configure.ac): ... to here.
7780
7781 2011-05-21  Bruno Haible  <bruno@clisp.org>
7782
7783         openat: Respect rules for use of AC_LIBOBJ.
7784         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7785         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7786         * modules/openat (configure.ac): ... to here.
7787
7788 2011-05-21  Bruno Haible  <bruno@clisp.org>
7789
7790         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7791         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7792         invocation from here...
7793         * modules/obstack-printf (configure.ac): ... to here.
7794         * modules/obstack-printf-posix (configure.ac): ... and here.
7795
7796 2011-05-21  Bruno Haible  <bruno@clisp.org>
7797
7798         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7799         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7800         from here...
7801         * modules/nl_langinfo (configure.ac): ... to here.
7802
7803 2011-05-21  Bruno Haible  <bruno@clisp.org>
7804
7805         nanosleep: Move AC_LIBOBJ invocations to module description.
7806         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7807         gl_PREREQ_NANOSLEEP invocations from here...
7808         * modules/nanosleep (configure.ac): ... to here.
7809
7810 2011-05-21  Bruno Haible  <bruno@clisp.org>
7811
7812         mountlist: Move AC_LIBOBJ invocations to module description.
7813         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7814         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7815         * modules/mountlist (configure.ac): ... to here.
7816
7817 2011-05-21  Bruno Haible  <bruno@clisp.org>
7818
7819         mktime: Respect rules for use of AC_LIBOBJ.
7820         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7821         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7822         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7823         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7824         * modules/mktime (configure.ac): ... to here.
7825         * modules/mktime-internal (configure.ac): ... and here.
7826         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7827
7828 2011-05-21  Bruno Haible  <bruno@clisp.org>
7829
7830         mkstemps: Move AC_LIBOBJ invocations to module description.
7831         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7832         here...
7833         * modules/mkstemps (configure.ac): ... to here.
7834
7835 2011-05-21  Bruno Haible  <bruno@clisp.org>
7836
7837         mkstemp: Move AC_LIBOBJ invocations to module description.
7838         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7839         gl_PREREQ_MKSTEMP invocations from here...
7840         * modules/mkstemp (configure.ac): ... to here.
7841
7842 2011-05-21  Bruno Haible  <bruno@clisp.org>
7843
7844         mkostemps: Move AC_LIBOBJ invocations to module description.
7845         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
7846         here...
7847         * modules/mkostemps (configure.ac): ... to here.
7848
7849 2011-05-21  Bruno Haible  <bruno@clisp.org>
7850
7851         mkostemp: Move AC_LIBOBJ invocations to module description.
7852         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
7853         gl_PREREQ_MKOSTEMP invocations from here...
7854         * modules/mkostemp (configure.ac): ... to here.
7855
7856 2011-05-21  Bruno Haible  <bruno@clisp.org>
7857
7858         mknod: Move AC_LIBOBJ invocations to module description.
7859         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
7860         * modules/mknod (configure.ac): ... to here.
7861
7862 2011-05-21  Bruno Haible  <bruno@clisp.org>
7863
7864         mkfifoat: Move AC_LIBOBJ invocations to module description.
7865         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
7866         here...
7867         * modules/mkfifoat (configure.ac): ... to here.
7868
7869 2011-05-21  Bruno Haible  <bruno@clisp.org>
7870
7871         mkfifo: Respect rules for use of AC_LIBOBJ.
7872         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
7873         here...
7874         * modules/mkfifo (configure.ac): ... to here.
7875
7876 2011-05-21  Bruno Haible  <bruno@clisp.org>
7877
7878         mkdtemp: Move AC_LIBOBJ invocations to module description.
7879         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
7880         invocations from here...
7881         * modules/mkdtemp (configure.ac): ... to here.
7882
7883 2011-05-21  Bruno Haible  <bruno@clisp.org>
7884
7885         mkdir: Move AC_LIBOBJ invocations to module description.
7886         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
7887         * modules/mkdir (configure.ac): ... to here.
7888
7889 2011-05-21  Bruno Haible  <bruno@clisp.org>
7890
7891         memset: Move AC_LIBOBJ invocations to module description.
7892         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
7893         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
7894         here...
7895         * modules/memset (configure.ac): ... to here.
7896
7897 2011-05-21  Bruno Haible  <bruno@clisp.org>
7898
7899         memrchr: Move AC_LIBOBJ invocations to module description.
7900         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
7901         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
7902         here...
7903         * modules/memrchr (configure.ac): ... to here.
7904
7905 2011-05-21  Bruno Haible  <bruno@clisp.org>
7906
7907         mempcpy: Move AC_LIBOBJ invocations to module description.
7908         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
7909         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
7910         here...
7911         * modules/mempcpy (configure.ac): ... to here.
7912
7913 2011-05-21  Bruno Haible  <bruno@clisp.org>
7914
7915         memmove: Move AC_LIBOBJ invocations to module description.
7916         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
7917         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
7918         here...
7919         * modules/memmove (configure.ac): ... to here.
7920
7921 2011-05-21  Bruno Haible  <bruno@clisp.org>
7922
7923         memmem*: Move AC_LIBOBJ invocations to module description.
7924         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
7925         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
7926         here...
7927         (gl_FUNC_MEMMEM): ... and here...
7928         * modules/memmem-simple (configure.ac): ... to here.
7929         * modules/memmem (configure.ac): ... and here.
7930
7931 2011-05-21  Bruno Haible  <bruno@clisp.org>
7932
7933         memcpy: Move AC_LIBOBJ invocations to module description.
7934         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
7935         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
7936         here...
7937         * modules/memcpy (configure.ac): ... to here.
7938
7939 2011-05-21  Bruno Haible  <bruno@clisp.org>
7940
7941         memcmp: Simplify autoconf macro.
7942         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
7943         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
7944         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
7945
7946 2011-05-21  Bruno Haible  <bruno@clisp.org>
7947
7948         memcmp: Move AC_LIBOBJ invocations to module description.
7949         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
7950         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
7951         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
7952         * modules/memcmp (configure.ac): ... to here.
7953         (Depends-on): Update conditions.
7954
7955 2011-05-21  Bruno Haible  <bruno@clisp.org>
7956
7957         memchr: Respect rules for use of AC_LIBOBJ.
7958         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
7959         invocations from here...
7960         * modules/memchr (configure.ac): ... to here.
7961
7962 2011-05-21  Bruno Haible  <bruno@clisp.org>
7963
7964         mbtowc: Move AC_LIBOBJ invocations to module description.
7965         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
7966         invocations from here...
7967         * modules/mbtowc (configure.ac): ... to here.
7968
7969 2011-05-21  Bruno Haible  <bruno@clisp.org>
7970
7971         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
7972         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
7973         gl_PREREQ_MBSRTOWCS invocations from here...
7974         * modules/mbsrtowcs (configure.ac): ... to here.
7975
7976 2011-05-21  Bruno Haible  <bruno@clisp.org>
7977
7978         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
7979         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
7980         gl_PREREQ_MBSNRTOWCS invocations from here...
7981         * modules/mbsnrtowcs (configure.ac): ... to here.
7982
7983 2011-05-21  Bruno Haible  <bruno@clisp.org>
7984
7985         mbsinit: Move AC_LIBOBJ invocations to module description.
7986         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
7987         invocations from here...
7988         * modules/mbsinit (configure.ac): ... to here.
7989
7990 2011-05-21  Bruno Haible  <bruno@clisp.org>
7991
7992         mbrlen: Move AC_LIBOBJ invocations to module description.
7993         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
7994         invocations from here...
7995         * modules/mbrlen (configure.ac): ... to here.
7996
7997 2011-05-21  Bruno Haible  <bruno@clisp.org>
7998
7999         mbrtowc: Respect rules for use of AC_LIBOBJ.
8000         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
8001         invocations from here...
8002         * modules/mbrtowc (configure.ac): ... to here.
8003
8004 2011-05-21  Bruno Haible  <bruno@clisp.org>
8005
8006         malloc-*: Move AC_LIBOBJ invocations to module description.
8007         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
8008         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
8009         AC_LIBOBJ invocations from here...
8010         * modules/malloc-gnu (configure.ac): ... to here.
8011         * modules/malloc-posix (configure.ac): ... and here.
8012
8013 2011-05-21  Bruno Haible  <bruno@clisp.org>
8014
8015         lstat, openat: Respect rules for use of AC_LIBOBJ.
8016         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
8017         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
8018         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
8019         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
8020         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
8021         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
8022         here.
8023         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
8024
8025 2011-05-21  Bruno Haible  <bruno@clisp.org>
8026
8027         lseek: Move AC_LIBOBJ invocations to module description.
8028         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
8029         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8030         * modules/lseek (configure.ac): ... to here.
8031
8032 2011-05-21  Bruno Haible  <bruno@clisp.org>
8033
8034         linkat: Move AC_LIBOBJ invocations to module description.
8035         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
8036         here...
8037         * modules/linkat (configure.ac): ... to here.
8038
8039 2011-05-21  Bruno Haible  <bruno@clisp.org>
8040
8041         link: Respect rules for use of AC_LIBOBJ.
8042         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
8043         * modules/link (configure.ac): ... to here.
8044
8045 2011-05-21  Bruno Haible  <bruno@clisp.org>
8046
8047         lchown: Move AC_LIBOBJ invocations to module description.
8048         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8049         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8050         * modules/lchown (configure.ac): ... to here.
8051
8052 2011-05-21  Bruno Haible  <bruno@clisp.org>
8053
8054         iswctype: Move AC_LIBOBJ invocations to module description.
8055         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
8056         here...
8057         * modules/iswctype (configure.ac): ... to here.
8058
8059 2011-05-21  Bruno Haible  <bruno@clisp.org>
8060
8061         iswblank: Move AC_LIBOBJ invocations to module description.
8062         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
8063         here...
8064         * modules/iswblank (configure.ac): ... to here.
8065
8066 2011-05-21  Bruno Haible  <bruno@clisp.org>
8067
8068         atanl: Move AC_LIBOBJ invocations to module description.
8069         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
8070         * modules/atanl (configure.ac): ... to here.
8071
8072 2011-05-21  Bruno Haible  <bruno@clisp.org>
8073
8074         acosl: Move AC_LIBOBJ invocations to module description.
8075         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
8076         * modules/acosl (configure.ac): ... to here.
8077
8078 2011-05-21  Bruno Haible  <bruno@clisp.org>
8079
8080         asinl: Respect rules for use of AC_LIBOBJ.
8081         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
8082         * modules/asinl (configure.ac): ... to here.
8083
8084 2011-05-21  Bruno Haible  <bruno@clisp.org>
8085
8086         tanl: Move AC_LIBOBJ invocations to module description.
8087         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
8088         * modules/tanl (configure.ac): ... to here.
8089
8090 2011-05-21  Bruno Haible  <bruno@clisp.org>
8091
8092         cosl: Move AC_LIBOBJ invocations to module description.
8093         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
8094         * modules/cosl (configure.ac): ... to here.
8095
8096 2011-05-21  Bruno Haible  <bruno@clisp.org>
8097
8098         sinl: Move AC_LIBOBJ invocations to module description.
8099         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
8100         * modules/sinl (configure.ac): ... to here.
8101
8102 2011-05-21  Bruno Haible  <bruno@clisp.org>
8103
8104         logl: Move AC_LIBOBJ invocations to module description.
8105         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
8106         * modules/logl (configure.ac): ... to here.
8107
8108 2011-05-21  Bruno Haible  <bruno@clisp.org>
8109
8110         expl: Move AC_LIBOBJ invocations to module description.
8111         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
8112         * modules/expl (configure.ac): ... to here.
8113
8114 2011-05-21  Bruno Haible  <bruno@clisp.org>
8115
8116         roundl: Move AC_LIBOBJ invocations to module description.
8117         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
8118         * modules/roundl (configure.ac): ... to here.
8119
8120 2011-05-21  Bruno Haible  <bruno@clisp.org>
8121
8122         round: Move AC_LIBOBJ invocations to module description.
8123         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
8124         * modules/round (configure.ac): ... to here.
8125
8126 2011-05-21  Bruno Haible  <bruno@clisp.org>
8127
8128         roundf: Move AC_LIBOBJ invocations to module description.
8129         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
8130         * modules/roundf (configure.ac): ... to here.
8131
8132 2011-05-21  Bruno Haible  <bruno@clisp.org>
8133
8134         truncl: Move AC_LIBOBJ invocations to module description.
8135         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
8136         * modules/truncl (configure.ac): ... to here.
8137
8138 2011-05-21  Bruno Haible  <bruno@clisp.org>
8139
8140         trunc: Move AC_LIBOBJ invocations to module description.
8141         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
8142         * modules/trunc (configure.ac): ... to here.
8143
8144 2011-05-21  Bruno Haible  <bruno@clisp.org>
8145
8146         truncf: Move AC_LIBOBJ invocations to module description.
8147         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
8148         * modules/truncf (configure.ac): ... to here.
8149
8150 2011-05-21  Bruno Haible  <bruno@clisp.org>
8151
8152         ceill: Move AC_LIBOBJ invocations to module description.
8153         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
8154         * modules/ceill (configure.ac): ... to here.
8155
8156 2011-05-21  Bruno Haible  <bruno@clisp.org>
8157
8158         ceil: Move AC_LIBOBJ invocations to module description.
8159         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
8160         * modules/ceil (configure.ac): ... to here.
8161
8162 2011-05-21  Bruno Haible  <bruno@clisp.org>
8163
8164         ceilf: Move AC_LIBOBJ invocations to module description.
8165         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
8166         * modules/ceilf (configure.ac): ... to here.
8167
8168 2011-05-21  Bruno Haible  <bruno@clisp.org>
8169
8170         floorl: Respect rules for use of AC_LIBOBJ.
8171         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
8172         * modules/floorl (configure.ac): ... to here.
8173
8174 2011-05-21  Bruno Haible  <bruno@clisp.org>
8175
8176         floor: Respect rules for use of AC_LIBOBJ.
8177         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
8178         * modules/floor (configure.ac): ... to here.
8179
8180 2011-05-21  Bruno Haible  <bruno@clisp.org>
8181
8182         floorf: Move AC_LIBOBJ invocations to module description.
8183         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
8184         * modules/floorf (configure.ac): ... to here.
8185
8186 2011-05-20  Bruno Haible  <bruno@clisp.org>
8187
8188         sqrtl: Respect rules for use of AC_LIBOBJ.
8189         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
8190         * modules/sqrtl (configure.ac): ... to here.
8191
8192 2011-05-20  Bruno Haible  <bruno@clisp.org>
8193
8194         ldexpl: Respect rules for use of AC_LIBOBJ.
8195         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
8196         * modules/ldexpl (configure.ac): ... to here.
8197
8198 2011-05-20  Bruno Haible  <bruno@clisp.org>
8199
8200         frexpl*: Respect rules for use of AC_LIBOBJ.
8201         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
8202         invocation from here...
8203         * modules/frexpl (configure.ac): ... to here.
8204         * modules/frexpl-nolibm (configure.ac): ... and here.
8205
8206 2011-05-20  Bruno Haible  <bruno@clisp.org>
8207
8208         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
8209         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
8210         invocation from here...
8211         * modules/frexp (configure.ac): ... to here.
8212         * modules/frexp-nolibm (configure.ac): ... and here.
8213
8214 2011-05-20  Bruno Haible  <bruno@clisp.org>
8215
8216         isnan: Respect rules for use of AC_LIBOBJ.
8217         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
8218         invocations here.
8219         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
8220         REPLACE_ISNAN.
8221         * modules/isnand (configure.ac): Likewise.
8222         * modules/isnanl (configure.ac): Likewise.
8223
8224 2011-05-20  Bruno Haible  <bruno@clisp.org>
8225
8226         isnanl*: Respect rules for use of AC_LIBOBJ.
8227         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
8228         invocation from here...
8229         * modules/isnanl (configure.ac): ... to here.
8230         * modules/isnanl-nolibm (configure.ac): ... and here.
8231
8232 2011-05-20  Bruno Haible  <bruno@clisp.org>
8233
8234         isnand*: Move AC_LIBOBJ invocations to module description.
8235         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
8236         invocation from here...
8237         * modules/isnand (configure.ac): ... to here.
8238         * modules/isnand-nolibm (configure.ac): ... and here.
8239
8240 2011-05-20  Bruno Haible  <bruno@clisp.org>
8241
8242         isnanf*: Move AC_LIBOBJ invocations to module description.
8243         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
8244         invocation from here...
8245         * modules/isnanf (configure.ac): ... to here.
8246         * modules/isnanf-nolibm (configure.ac): ... and here.
8247
8248 2011-05-20  Bruno Haible  <bruno@clisp.org>
8249
8250         isnan*: Separate the AC_LIBOBJ invocations.
8251         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
8252         AC_LIBOBJ invocation.
8253         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
8254         here.
8255         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
8256         AC_LIBOBJ invocation.
8257         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
8258         here.
8259         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
8260         AC_LIBOBJ invocation.
8261         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
8262         here.
8263         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
8264
8265 2011-05-08  Bruno Haible  <bruno@clisp.org>
8266
8267         isinf: Move AC_LIBOBJ invocations to module description.
8268         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
8269         * modules/isinf (configure.ac): ... to here.
8270
8271 2011-05-08  Bruno Haible  <bruno@clisp.org>
8272
8273         isfinite: Move AC_LIBOBJ invocations to module description.
8274         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
8275         * modules/isfinite (configure.ac): ... to here.
8276
8277 2011-05-08  Bruno Haible  <bruno@clisp.org>
8278
8279         isblank: Move AC_LIBOBJ invocations to module description.
8280         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
8281         here...
8282         * modules/isblank (configure.ac): ... to here.
8283
8284 2011-05-08  Bruno Haible  <bruno@clisp.org>
8285
8286         isapipe: Move AC_LIBOBJ invocations to module description.
8287         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
8288         gl_PREREQ_ISAPIPE invocations from here...
8289         * modules/isapipe (configure.ac): ... to here.
8290         (Depends-on): Update condition.
8291
8292 2011-05-08  Bruno Haible  <bruno@clisp.org>
8293
8294         ioctl: Move AC_LIBOBJ invocations to module description.
8295         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
8296         invocations from here...
8297         * modules/ioctl (configure.ac): ... to here.
8298         (Depends-on): Update condition.
8299
8300 2011-05-08  Bruno Haible  <bruno@clisp.org>
8301
8302         imaxdiv: Move AC_LIBOBJ invocations to module description.
8303         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
8304         invocations from here...
8305         * modules/imaxdiv (configure.ac): ... to here.
8306
8307 2011-05-08  Bruno Haible  <bruno@clisp.org>
8308
8309         imaxabs: Move AC_LIBOBJ invocations to module description.
8310         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
8311         invocations from here...
8312         * modules/imaxabs (configure.ac): ... to here.
8313
8314 2011-05-08  Bruno Haible  <bruno@clisp.org>
8315
8316         getaddrinfo: Move AC_LIBOBJ invocations to module description.
8317         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
8318         AC_LIBOBJ invocations from here...
8319         * modules/getaddrinfo (configure.ac): ... to here.
8320         (Depends-on): Add conditions.
8321
8322 2011-05-08  Bruno Haible  <bruno@clisp.org>
8323
8324         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8325         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
8326         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8327         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
8328         (gl_PREREQ_INET_PTON): ... from here.
8329         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
8330         gl_PREREQ_INET_PTON here.
8331         (Depends-on): Update condition.
8332
8333 2011-05-08  Bruno Haible  <bruno@clisp.org>
8334
8335         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8336         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
8337         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8338         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
8339         (gl_PREREQ_INET_NTOP): ... from here.
8340         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
8341         gl_PREREQ_INET_NTOP here.
8342         (Depends-on): Update condition.
8343
8344 2011-05-08  Bruno Haible  <bruno@clisp.org>
8345
8346         iconv_open: Move AC_LIBOBJ invocations to module description.
8347         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
8348         AC_LIBOBJ invocations from here...
8349         * modules/iconv_open (configure.ac): ... to here.
8350
8351 2011-05-08  Bruno Haible  <bruno@clisp.org>
8352
8353         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
8354         If module 'iconv_open' is among the main modules and module
8355         'iconv_open-utf' is among the tests dependencies, then
8356         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
8357         return the special iconv_t values. Therefore iconv() and iconv_close()
8358         must support these special iconv_t values, already in lib, not only in
8359         tests.
8360         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
8361         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
8362         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
8363         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
8364         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
8365         (Depends-on): Add the dependencies of iconv_open-utf.
8366         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
8367         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
8368         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
8369
8370 2011-05-08  Bruno Haible  <bruno@clisp.org>
8371
8372         group-member: Move AC_LIBOBJ invocations to module description.
8373         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
8374         gl_PREREQ_GROUP_MEMBER invocations from here...
8375         * modules/group-member (configure.ac): ... to here.
8376
8377 2011-05-08  Bruno Haible  <bruno@clisp.org>
8378
8379         grantpt: Move AC_LIBOBJ invocations to module description.
8380         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
8381         invocations from here...
8382         * modules/grantpt (configure.ac): ... to here.
8383
8384 2011-05-08  Bruno Haible  <bruno@clisp.org>
8385
8386         glob: Move AC_LIBOBJ invocations to module description.
8387         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
8388         from here...
8389         * modules/glob (configure.ac): ... to here.
8390
8391 2011-05-08  Bruno Haible  <bruno@clisp.org>
8392
8393         getusershell: Move AC_LIBOBJ invocations to module description.
8394         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
8395         Move AC_LIBOBJ invocation from here...
8396         * modules/getusershell (configure.ac): ... to here.
8397         (Depends-on): Update condition.
8398
8399 2011-05-08  Bruno Haible  <bruno@clisp.org>
8400
8401         gettimeofday: Move AC_LIBOBJ invocations to module description.
8402         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
8403         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
8404         gl_PREREQ_GETTIMEOFDAY invocations from here...
8405         * modules/gettimeofday (configure.ac): ... to here.
8406
8407 2011-05-08  Bruno Haible  <bruno@clisp.org>
8408
8409         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
8410         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
8411         just gl_FUNC_TZSET.
8412         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
8413         (gl_FUNC_TZSET_CLOBBER): Remove actions.
8414         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
8415         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
8416
8417 2011-05-08  Bruno Haible  <bruno@clisp.org>
8418
8419         getsubopt: Move AC_LIBOBJ invocations to module description.
8420         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
8421         gl_PREREQ_GETSUBOPT invocations from here...
8422         * modules/getsubopt (configure.ac): ... to here.
8423
8424 2011-05-08  Bruno Haible  <bruno@clisp.org>
8425
8426         getpass-gnu: Move AC_LIBOBJ invocations to module description.
8427         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
8428         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
8429         * modules/getpass-gnu (configure.ac): ... to here.
8430
8431 2011-05-08  Bruno Haible  <bruno@clisp.org>
8432
8433         getpass: Move AC_LIBOBJ invocations to module description.
8434         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8435         gl_PREREQ_GETPASS invocations from here...
8436         * modules/getpass (configure.ac): ... to here.
8437
8438 2011-05-08  Bruno Haible  <bruno@clisp.org>
8439
8440         getpagesize: Move AC_LIBOBJ invocations to module description.
8441         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8442         from here...
8443         * modules/getpagesize (configure.ac): ... to here.
8444
8445 2011-05-08  Bruno Haible  <bruno@clisp.org>
8446
8447         getopt: Move AC_LIBOBJ invocations to module description.
8448         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8449         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8450         invocations from here...
8451         * modules/getopt-gnu (configure.ac): ... to here.
8452         * modules/getopt-posix (configure.ac): ... and here.
8453         (Depends-on): Update condition.
8454
8455 2011-05-08  Bruno Haible  <bruno@clisp.org>
8456
8457         getopt, argp: Respect rules for use of AC_LIBOBJ.
8458         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8459         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8460         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8461         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8462
8463 2011-05-08  Bruno Haible  <bruno@clisp.org>
8464
8465         getlogin_r: Move AC_LIBOBJ invocations to module description.
8466         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8467         gl_PREREQ_GETLOGIN_R invocations from here...
8468         * modules/getlogin_r (configure.ac): ... to here.
8469
8470 2011-05-08  Bruno Haible  <bruno@clisp.org>
8471
8472         getlogin: Move AC_LIBOBJ invocations to module description.
8473         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8474         here...
8475         * modules/getlogin (configure.ac): ... to here.
8476
8477 2011-05-08  Bruno Haible  <bruno@clisp.org>
8478
8479         getloadavg: Move AC_LIBOBJ invocations to module description.
8480         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8481         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8482         * modules/getloadavg (configure.ac): ... to here.
8483
8484 2011-05-08  Bruno Haible  <bruno@clisp.org>
8485
8486         gethrxtime: Move AC_LIBOBJ invocations to module description.
8487         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8488         LIB_GETHRXTIME from here...
8489         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8490         invocations from here...
8491         * modules/gethrxtime (configure.ac): ... to here.
8492
8493 2011-05-08  Bruno Haible  <bruno@clisp.org>
8494
8495         gethostname: Move AC_LIBOBJ invocations to module description.
8496         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8497         gl_PREREQ_GETHOSTNAME invocations from here...
8498         * modules/gethostname (configure.ac): ... to here.
8499
8500 2011-05-08  Bruno Haible  <bruno@clisp.org>
8501
8502         getgroups: Move AC_LIBOBJ invocations to module description.
8503         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8504         here...
8505         * modules/getgroups (configure.ac): ... to here.
8506
8507 2011-05-08  Bruno Haible  <bruno@clisp.org>
8508
8509         getdtablesize: Move AC_LIBOBJ invocations to module description.
8510         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8511         invocation from here...
8512         * modules/getdtablesize (configure.ac): ... to here.
8513
8514 2011-05-08  Bruno Haible  <bruno@clisp.org>
8515
8516         getdomainname: Move AC_LIBOBJ invocations to module description.
8517         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8518         gl_PREREQ_GETDOMAINNAME invocations from here...
8519         * modules/getdomainname (configure.ac): ... to here.
8520
8521 2011-05-08  Bruno Haible  <bruno@clisp.org>
8522
8523         getline: Move AC_LIBOBJ invocations to module description.
8524         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8525         invocations from here...
8526         * modules/getline (configure.ac): ... to here.
8527
8528 2011-05-08  Bruno Haible  <bruno@clisp.org>
8529
8530         getline: Simplify.
8531         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8532         It's already handled through the module dependency.
8533
8534 2011-05-08  Bruno Haible  <bruno@clisp.org>
8535
8536         getdelim: Move AC_LIBOBJ invocations to module description.
8537         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8538         and gl_PREREQ_GETDELIM invocations from here...
8539         * modules/getdelim (configure.ac): ... to here.
8540         (Depends-on): Fix condition.
8541
8542 2011-05-08  Bruno Haible  <bruno@clisp.org>
8543
8544         getcwd: Move AC_LIBOBJ invocations to module description.
8545         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8546         invocations from here...
8547         * modules/getcwd (configure.ac): ... to here.
8548
8549 2011-05-08  Bruno Haible  <bruno@clisp.org>
8550
8551         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8552         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8553         here...
8554         * modules/getcwd-lgpl (configure.ac): ... to here.
8555
8556 2011-05-07  Bruno Haible  <bruno@clisp.org>
8557
8558         crypto/gc: Move AC_LIBOBJ invocations to module description.
8559         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8560         * modules/crypto/gc (configure.ac): ... to here.
8561
8562 2011-05-07  Bruno Haible  <bruno@clisp.org>
8563
8564         fwriting: Move AC_LIBOBJ invocations to module description.
8565         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8566         here...
8567         * modules/fwriting (configure.ac): ... to here.
8568
8569 2011-05-07  Bruno Haible  <bruno@clisp.org>
8570
8571         fwritable: Move AC_LIBOBJ invocations to module description.
8572         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8573         here...
8574         * modules/fwritable (configure.ac): ... to here.
8575
8576 2011-05-07  Bruno Haible  <bruno@clisp.org>
8577
8578         futimens: Move AC_LIBOBJ invocations to module description.
8579         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8580         here...
8581         * modules/futimens (configure.ac): ... to here.
8582
8583 2011-05-07  Bruno Haible  <bruno@clisp.org>
8584
8585         ftruncate: Move AC_LIBOBJ invocations to module description.
8586         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8587         gl_PREREQ_FTRUNCATE invocations from here...
8588         * modules/ftruncate (configure.ac): ... to here.
8589
8590 2011-05-07  Bruno Haible  <bruno@clisp.org>
8591
8592         fsync: Move AC_LIBOBJ invocations to module description.
8593         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8594         invocations from here...
8595         * modules/fsync (configure.ac): ... to here.
8596
8597 2011-05-07  Bruno Haible  <bruno@clisp.org>
8598
8599         fsusage: Move AC_LIBOBJ invocations to module description.
8600         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8601         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8602         * modules/fsusage (configure.ac): ... to here.
8603
8604 2011-05-07  Bruno Haible  <bruno@clisp.org>
8605
8606         freopen: Move AC_LIBOBJ invocations to module description.
8607         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8608         invocations from here...
8609         * modules/freopen (configure.ac): ... to here.
8610
8611 2011-05-07  Bruno Haible  <bruno@clisp.org>
8612
8613         free: Move AC_LIBOBJ invocations to module description.
8614         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8615         invocations from here...
8616         * modules/free (configure.ac): ... to here.
8617
8618 2011-05-07  Bruno Haible  <bruno@clisp.org>
8619
8620         freadable: Move AC_LIBOBJ invocations to module description.
8621         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8622         here...
8623         * modules/freadable (configure.ac): ... to here.
8624
8625 2011-05-07  Bruno Haible  <bruno@clisp.org>
8626
8627         fpurge: Move AC_LIBOBJ invocations to module description.
8628         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8629         invocations from here...
8630         * modules/fpurge (configure.ac): ... to here.
8631
8632 2011-05-07  Bruno Haible  <bruno@clisp.org>
8633
8634         fpending: Move AC_LIBOBJ invocations to module description.
8635         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8636         gl_FUNC_FPENDING.
8637         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8638         invocations from here...
8639         * modules/fpending (configure.ac): ... to here.
8640
8641 2011-05-07  Bruno Haible  <bruno@clisp.org>
8642
8643         fopen: Move AC_LIBOBJ invocations to module description.
8644         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8645         invocations from here...
8646         * modules/fopen (configure.ac): ... to here.
8647
8648 2011-05-07  Bruno Haible  <bruno@clisp.org>
8649
8650         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8651         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8652         gl_FUNC_FNMATCH_POSIX.
8653         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8654         invocations from here...
8655         * modules/fnmatch (configure.ac): ... to here.
8656         * modules/fnmatch-gnu (configure.ac): ... and here.
8657
8658 2011-05-07  Bruno Haible  <bruno@clisp.org>
8659
8660         flock: Move AC_LIBOBJ invocations to module description.
8661         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8662         invocations from here...
8663         * modules/flock (configure.ac): ... to here.
8664
8665 2011-05-07  Bruno Haible  <bruno@clisp.org>
8666
8667         fileblocks: Move AC_LIBOBJ invocations to module description.
8668         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8669         gl_PREREQ_FILEBLOCKS invocations from here...
8670         * modules/fileblocks (configure.ac): ... to here.
8671
8672 2011-05-06  Bruno Haible  <bruno@clisp.org>
8673
8674         fflush: Move AC_LIBOBJ invocations to module description.
8675         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8676         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8677         invocations from here...
8678         * modules/fflush (configure.ac): ... to here.
8679
8680 2011-05-06  Bruno Haible  <bruno@clisp.org>
8681
8682         fdopendir: Move AC_LIBOBJ invocations to module description.
8683         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8684         here...
8685         * modules/fdopendir (configure.ac): ... to here.
8686         (Depends-on): Improve conditions.
8687
8688 2011-05-06  Bruno Haible  <bruno@clisp.org>
8689
8690         _Exit: Move AC_LIBOBJ invocations to module description.
8691         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8692         invocations from here...
8693         * modules/_Exit (configure.ac): ... to here.
8694
8695 2011-05-21  Bruno Haible  <bruno@clisp.org>
8696
8697         euidaccess: Respect rules for use of AC_LIBOBJ.
8698         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8699         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8700         from here...
8701         * modules/euidaccess (configure.ac): ... to here.
8702
8703 2011-05-06  Bruno Haible  <bruno@clisp.org>
8704
8705         error: Move AC_LIBOBJ invocations to module description.
8706         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8707         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8708         invocations from here...
8709         * modules/error (configure.ac): ... to here.
8710
8711 2011-05-06  Bruno Haible  <bruno@clisp.org>
8712
8713         duplocale: Move AC_LIBOBJ invocations to module description.
8714         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8715         gl_PREREQ_DUPLOCALE invocations from here...
8716         * modules/duplocale (configure.ac): ... to here.
8717
8718 2011-05-05  Bruno Haible  <bruno@clisp.org>
8719
8720         dirfd: Move AC_LIBOBJ invocations to module description.
8721         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8722         gl_FUNC_DIRFD.
8723         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8724         here...
8725         * modules/dirfd (configure.ac): ... to here.
8726         (Depends-on): Fix condition.
8727
8728 2011-05-05  Bruno Haible  <bruno@clisp.org>
8729
8730         chown: Respect rules for use of AC_LIBOBJ.
8731         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8732         * modules/chown (configure.ac): ... to here.
8733
8734 2011-05-05  Bruno Haible  <bruno@clisp.org>
8735
8736         chdir-long: Move AC_LIBOBJ invocations to module description.
8737         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8738         gl_PREREQ_CHDIR_LONG invocations from here...
8739         * modules/chdir-long (configure.ac): ... to here.
8740
8741 2011-05-05  Bruno Haible  <bruno@clisp.org>
8742
8743         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8744         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8745         from here...
8746         * modules/canonicalize-lgpl (configure.ac): ... to here.
8747
8748 2011-05-05  Bruno Haible  <bruno@clisp.org>
8749
8750         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8751         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8752         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8753         REPLACE_CALLOC.
8754         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8755         * modules/calloc-gnu (configure.ac): Likewise.
8756
8757 2011-05-05  Bruno Haible  <bruno@clisp.org>
8758
8759         btowc: Move AC_LIBOBJ invocations to module description.
8760         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8761         invocations from here...
8762         * modules/btowc (configure.ac): ... to here.
8763
8764 2011-05-21  Bruno Haible  <bruno@clisp.org>
8765
8766         atexit: Move AC_LIBOBJ invocations to module description.
8767         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8768         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8769         here...
8770         * modules/atexit (configure.ac): ... to here.
8771
8772 2011-05-05  Bruno Haible  <bruno@clisp.org>
8773
8774         atoll: Move AC_LIBOBJ invocations to module description.
8775         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8776         invocations from here...
8777         * modules/atoll (configure.ac): ... to here.
8778
8779 2011-05-05  Bruno Haible  <bruno@clisp.org>
8780
8781         argz: Move AC_LIBOBJ invocations to module description.
8782         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8783         * modules/argz (configure.ac): ... to here.
8784
8785 2011-05-05  Bruno Haible  <bruno@clisp.org>
8786
8787         alphasort: Move AC_LIBOBJ invocations to module description.
8788         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8789         gl_PREREQ_ALPHASORT invocations from here...
8790         * modules/alphasort (configure.ac): ... to here.
8791
8792 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8793
8794         verify: new macro verify_expr; verify_true deprecated
8795         * NEWS: Mention this.
8796         * doc/verify.texi (Compile-time Assertions): Document this.
8797         * lib/verify.h (verify_true): Deprecate.
8798         (verify_expr): New macro.
8799         * tests/test-verify.c (function): Test verify_expr.
8800
8801 2011-06-14  Jim Meyering  <meyering@redhat.com>
8802
8803         init.sh: give more portable redirection-related advice in a comment
8804         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8805         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8806         for lots of discussion.  Stefano Lattarini suggested the solution
8807         of putting "9>&2" after the command.  Reported by Bruno Haible.
8808
8809 2011-06-13  Bruno Haible  <bruno@clisp.org>
8810
8811         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8812         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8813         'none'.
8814
8815 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8816
8817         ftoastr: use strtof only if HAVE_STRTOF
8818         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8819         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8820         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8821         * modules/ftoastr (configure.ac): Check for strtof.
8822
8823 2011-06-13  Bruno Haible  <bruno@clisp.org>
8824
8825         gnulib-tool: Addendum to 2011-06-08 commit.
8826         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8827         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8828
8829 2011-06-13  Bruno Haible  <bruno@clisp.org>
8830
8831         fseeko: Provide a non-inline replacement of fseek().
8832         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8833         * modules/fseeko (Depends-on): Add fseek.
8834         * modules/fseek (License): Change to LGPLv2+.
8835
8836 2011-06-13  Bruno Haible  <bruno@clisp.org>
8837
8838         ftello: Provide a non-inline replacement of ftell().
8839         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8840         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8841         not have ftello() (such as on mingw).
8842         * modules/ftello (Depends-on): Add ftell.
8843         * modules/ftell (License): Change to LGPLv2+.
8844
8845 2011-05-07  Bruno Haible  <bruno@clisp.org>
8846
8847         ftell: Move AC_LIBOBJ invocations to module description.
8848         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
8849         * modules/ftell (configure.ac): ... to here.
8850
8851 2011-05-07  Bruno Haible  <bruno@clisp.org>
8852
8853         ftello: Respect rules for use of AC_LIBOBJ.
8854         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
8855         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
8856         here...
8857         * modules/ftello (configure.ac): ... to here.
8858
8859 2011-05-07  Bruno Haible  <bruno@clisp.org>
8860
8861         fseeko: Simplify.
8862         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
8863         (gl_FUNC_FSEEKO): Inline it here.
8864
8865 2011-05-07  Bruno Haible  <bruno@clisp.org>
8866
8867         fseek: Move AC_LIBOBJ invocations to module description.
8868         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
8869         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8870         * modules/fseek (configure.ac): ... to here.
8871
8872 2011-05-07  Bruno Haible  <bruno@clisp.org>
8873
8874         fseek: Respect rules for use of AC_LIBOBJ.
8875         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
8876         here...
8877         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
8878
8879 2011-05-07  Bruno Haible  <bruno@clisp.org>
8880
8881         fseeko: Respect rules for use of AC_LIBOBJ.
8882         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
8883         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
8884         here...
8885         * modules/fseeko (configure.ac): ... to here.
8886
8887 2011-06-13  Bruno Haible  <bruno@clisp.org>
8888
8889         gnulib-tool: Allow comments in the 'Depends-on' section.
8890         * doc/gnulib.texi (Module description): Mention comment syntax in the
8891         Depends-on section.
8892         * gnulib-tool (func_get_dependencies): Filter out comment lines.
8893
8894 2011-06-13  Bruno Haible  <bruno@clisp.org>
8895
8896         file-set.h: guard __attibute__ use, now that it's not always defined
8897         * lib/file-set.h (record_file): Use __attribute__ only with compiler
8898         versions that support it.  This fixes a coreutils build failure with
8899         the vendor cc on HP-UX 11.31.
8900
8901 2011-06-12  Bruno Haible  <bruno@clisp.org>
8902
8903         acl: Add support for HP-UX >= 11.11 JFS ACLs.
8904         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
8905         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
8906         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
8907         (acl, aclsort): New declarations.
8908         (aclv_nontrivial): New declaration.
8909         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
8910         (file_has_acl): Read also the second kind of HP-UX ACLs.
8911         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
8912         kind of HP-UX ACLs if the first kind fails.
8913         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
8914         second kind of HP-UX ACLs.
8915         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
8916         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
8917         agree.
8918         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8919         hpuxjfs.
8920         Handle hpuxjfs.
8921         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8922         hpuxjfs.
8923         Handle hpuxjfs.
8924         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8925         (func_test_same_acls): Use both lsacl and getacl.
8926         Handle hpuxjfs.
8927         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8928         (func_test_same_acls): Use both lsacl and getacl.
8929         Handle hpuxjfs.
8930
8931 2011-06-12  Bruno Haible  <bruno@clisp.org>
8932
8933         acl: Complete the 2010-08-10 fix.
8934         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
8935         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
8936         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
8937         explicitly.
8938         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
8939         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
8940
8941 2011-06-12  Bruno Haible  <bruno@clisp.org>
8942
8943         spawn-pipe tests: Comments.
8944         * tests/test-spawn-pipe-child.c (main): Update comment.
8945         Reported by James Youngman <jay@gnu.org>.
8946
8947 2011-06-11  James Youngman  <jay@gnu.org>
8948
8949         New module 'stat-size'.
8950         * modules/stat-size: New module.  Provides macros for accessing
8951         file size information in instances of struct stat.  Depends on the
8952         fileblocks module because it calls st_blocks.
8953         * lib/stat-size.h: New file, adapted from coreutils' system.h.
8954         * doc/gnulib.texi: Include stat-size.texi.
8955         * doc/stat-size.texi: Documentation for this module.
8956         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
8957         * m4/fileblocks.m4: Mention that stat-size depends on the call to
8958         AC_STRUCT_ST_BLOCKS.
8959
8960 2011-06-09  Bruno Haible  <bruno@clisp.org>
8961
8962         thread: Support pthreads-win32.
8963         * lib/glthread/thread.h (gl_thread_self): Define differently on
8964         pthreads-win32.
8965         (gl_null_thread): New declaration.
8966         (gl_thread_self_pointer): New macro.
8967         * lib/glthread/thread.c (gl_null_thread): New constant.
8968         * tests/test-lock.c: Use gl_thread_self_pointer instead of
8969         gl_thread_self.
8970         * tests/test-tls.c: Likewise.
8971         Suggested by Paul Eggert. Reported by Eric Blake.
8972
8973 2011-06-09  Bruno Haible  <bruno@clisp.org>
8974
8975         thread: Fix confusion between NULL and 0.
8976         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
8977         Reported by Paul Eggert.
8978
8979 2011-06-09  Bruno Haible  <bruno@clisp.org>
8980
8981         spawn-pipe tests: Avoid test failure on HP-UX 11.
8982         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
8983         is closed.
8984
8985 2011-06-09  Bruno Haible  <bruno@clisp.org>
8986
8987         acl tests: Fix compilation error on HP-UX 11.
8988         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
8989
8990 2011-06-09  Bruno Haible  <bruno@clisp.org>
8991
8992         rmdir: Avoid test failure on HP-UX 10.20.
8993         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
8994         EEXIST.
8995
8996 2011-06-08  Eric Blake  <eblake@redhat.com>
8997
8998         perror: fix test on mingw
8999         * modules/perror-tests (Depends-on): Add dup2.
9000
9001         strerror_r-posix: fix on MacOS
9002         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
9003         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
9004         logic bug.
9005         * lib/strerror_r.c (strerror_r): Fix the bug.
9006         * lib/strerror.c (strerror): Likewise.
9007         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
9008         problem.
9009         * doc/posix-functions/strerror.texi (strerror): Likewise.
9010         * doc/posix-functions/perror.texi (perror): Likewise.
9011         * tests/test-strerror.c (main): Enhance test.
9012         * tests/test-strerror_r.c (main): Likewise.
9013
9014 2011-06-08  Bruno Haible  <bruno@clisp.org>
9015
9016         gnulib-tool: Better isolation between different gnulib-tool invocations.
9017         * gnulib-tool: New option --witness-c-macro.
9018         (witness_c_macro): New variable.
9019         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
9020         AM_CPPFLAGS define it as a C macro.
9021         (func_emit_tests_Makefile_am): Likewise.
9022         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
9023         read it from there.
9024         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
9025         m4_define, not AC_DEFUN.
9026         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
9027         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
9028         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
9029         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
9030         s|...|...|, to substitute the values of the GNULIB_* module indicator
9031         variables.
9032         * modules/dirent (Makefile.am): Likewise.
9033         * modules/fcntl-h (Makefile.am): Likewise.
9034         * modules/iconv-h (Makefile.am): Likewise.
9035         * modules/langinfo (Makefile.am): Likewise.
9036         * modules/locale (Makefile.am): Likewise.
9037         * modules/math (Makefile.am): Likewise.
9038         * modules/netdb (Makefile.am): Likewise.
9039         * modules/poll-h (Makefile.am): Likewise.
9040         * modules/pty (Makefile.am): Likewise.
9041         * modules/search (Makefile.am): Likewise.
9042         * modules/signal (Makefile.am): Likewise.
9043         * modules/spawn (Makefile.am): Likewise.
9044         * modules/stdio (Makefile.am): Likewise.
9045         * modules/stdlib (Makefile.am): Likewise.
9046         * modules/string (Makefile.am): Likewise.
9047         * modules/sys_ioctl (Makefile.am): Likewise.
9048         * modules/sys_select (Makefile.am): Likewise.
9049         * modules/sys_socket (Makefile.am): Likewise.
9050         * modules/sys_stat (Makefile.am): Likewise.
9051         * modules/sys_times (Makefile.am): Likewise.
9052         * modules/sys_utsname (Makefile.am): Likewise.
9053         * modules/sys_wait (Makefile.am): Likewise.
9054         * modules/termios (Makefile.am): Likewise.
9055         * modules/time (Makefile.am): Likewise.
9056         * modules/unistd (Makefile.am): Likewise.
9057         * modules/wchar (Makefile.am): Likewise.
9058
9059 2011-06-08  Eric Blake  <eblake@redhat.com>
9060
9061         strerror: simplify replacement
9062         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
9063         * modules/strerror (configure.ac): No prereqs needed here...
9064         * modules/strerror-override (configure.ac): ...but this needs it.
9065         (Files): Add file for needed prereq macro.
9066
9067 2011-06-08  Bruno Haible  <bruno@clisp.org>
9068
9069         strerror_r-posix: Tweaks.
9070         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
9071         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
9072         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
9073         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
9074         (gl_FUNC_STRERROR_R): ... to here.
9075         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
9076
9077 2011-06-07  Eric Blake  <eblake@redhat.com>
9078
9079         perror: document fixed bugs
9080         * doc/posix-functions/perror.texi (perror): Document recent
9081         patches.
9082
9083 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
9084
9085         stat-time: get_stat_birthtime failure is better-defined
9086         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
9087         return a timestamp whose tv_sec and tv_nsec values are both -1.
9088         Previously, the spec said only that the tv_nsec value was negative.
9089         This upward-compatible change simplifies GNU tar a bit.
9090
9091 2011-06-07  Eric Blake  <eblake@redhat.com>
9092
9093         strerror_r-posix: work around cygwin 1.7.9
9094         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
9095         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
9096         bug without replacing strerror_r.
9097         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
9098         strerror_r is buggy, but without requiring strerror_r compilation.
9099         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
9100
9101         test-perror: relax test to ignore cygwin bug
9102         * tests/test-perror2.c (main): Relax test on requiring detection
9103         of stream errors, and use unbuffered stream.
9104         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
9105         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
9106         * doc/posix-functions/fputc.texi (fputc): Likewise.
9107         * doc/posix-functions/fputs.texi (fputs): Likewise.
9108         * doc/posix-functions/fputws.texi (fputws): Likewise.
9109         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
9110         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
9111         * doc/posix-functions/getopt.texi (getopt): Likewise.
9112         * doc/posix-functions/perror.texi (perror): Likewise.
9113         * doc/posix-functions/printf.texi (printf): Likewise.
9114         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
9115         * doc/posix-functions/psignal.texi (psignal): Likewise.
9116         * doc/posix-functions/putc.texi (putc): Likewise.
9117         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
9118         Likewise.
9119         * doc/posix-functions/putchar.texi (putchar): Likewise.
9120         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
9121         Likewise.
9122         * doc/posix-functions/puts.texi (puts): Likewise.
9123         * doc/posix-functions/putwc.texi (putwc): Likewise.
9124         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9125         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9126         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9127         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
9128         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9129         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9130         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9131         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
9132
9133 2011-05-22  Bruno Haible  <bruno@clisp.org>
9134
9135         strerror: Move AC_LIBOBJ invocations to module description.
9136         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
9137         gl_PREREQ_STRERROR invocations from here...
9138         * modules/strerror (configure.ac): ... to here.
9139
9140 2011-05-21  Bruno Haible  <bruno@clisp.org>
9141
9142         perror: Use common idiom.
9143         * modules/perror (configure.ac): Reorder statements.
9144
9145 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9146
9147         tests: fix usage message in 'mktempd_'
9148         * tests/init.sh (mktempd_): In the usage message, use literal
9149         'mktempd_', not '$ME' (which is even undefined), as the name of
9150         the subroutine.
9151
9152 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9153
9154         tests init: new function 'fatal_', for hard errors
9155         Before this patch, the only way offered by tests/init.sh to
9156         properly signal a hard error was the `framework_failure_'
9157         function.  But the error message issued by that function,
9158         as its name would suggest, refers to a set-up failure in the
9159         testsuite, while hard errors can obviously also be due to
9160         other reasons.  The best way to fix this inconsistency is to
9161         introduce a new function with a more general error message.
9162         * tests/init.sh (fatal_): New function.
9163
9164 2011-06-06  Eric Blake  <eblake@redhat.com>
9165
9166         canonicalize-lgpl: use common idiom
9167         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
9168         over newer POSIX -Rf.
9169         Reported by Bruno Haible.
9170
9171         canonicalize-lgpl: work around AIX realpath bug
9172         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
9173         * doc/posix-functions/realpath.texi (realpath): Document it.
9174         Reported by Bruno Haible.
9175
9176         strerror: work around FreeBSD bug
9177         * lib/strerror.c (strerror): Special case 0.
9178         Reported by Bruno Haible.
9179
9180         strerror-override: avoid bloating errno module
9181         * modules/errno (Files, configure.ac): Move replacement strings...
9182         * modules/strerror-override: ...to new module.
9183         * modules/strerror (Depends-on): Add strerror-override.
9184         * modules/strerror_r-posix (Depends-on): Likewise.
9185         * MODULES.html.sh: Document new module.
9186         Reported by Bruno Haible.
9187
9188 2011-06-06  Bruno Haible  <bruno@clisp.org>
9189
9190         spawn-pipe tests: Rename program.
9191         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
9192         * tests/test-spawn-pipe-child.c: Update comment.
9193         * tests/test-spawn-pipe.sh: Update.
9194         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
9195
9196         spawn-pipe tests: Link the child program only against libc.
9197         * tests/test-spawn-pipe-child.c: New file, extracted from
9198         tests/test-spawn-pipe.c.
9199         (main): Expect only one argument.
9200         (is_open): New function, copied from tests/test-pipe.c.
9201         * tests/test-spawn-pipe.c: Don't include <errno.h>.
9202         (child_main): Remove function.
9203         (test_pipe): Pass only one argument to the child program.
9204         (main): Remove child process code. Expect the child program's name as
9205         first argument.
9206         * tests/test-spawn-pipe.sh: Pass the child program's name as first
9207         argument.
9208         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
9209         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
9210         test-spawn-pipe-child against no libraries.
9211
9212 2011-06-06  Bruno Haible  <bruno@clisp.org>
9213
9214         careadlinkat: Avoid mismatch between ssize_t and int.
9215         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
9216         * lib/careadlinkat.c (careadlinkatcwd): Define always.
9217
9218 2011-06-06  Jim Meyering  <meyering@redhat.com>
9219
9220         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
9221         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
9222         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
9223
9224 2011-06-05  Bruno Haible  <bruno@clisp.org>
9225
9226         ansi-c++-opt: Interoperability with libtool.
9227         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
9228         set the variable to "no", not to ":".
9229         * NEWS: Mention the change.
9230
9231 2011-06-05  Bruno Haible  <bruno@clisp.org>
9232
9233         acl: Fix test failure on AIX 7.
9234         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
9235         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
9236
9237 2011-06-05  Bruno Haible  <bruno@clisp.org>
9238
9239         pipe-filter-ii: Fix test failure on AIX and IRIX.
9240         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
9241         with EAGAIN, retry with a smaller buffer size.
9242
9243 2011-06-05  Bruno Haible  <bruno@clisp.org>
9244
9245         localename: Fix link dependencies.
9246         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
9247         * modules/localename-tests (Makefile.am): Link test-localename with
9248         $(LIBTHREAD).
9249
9250 2011-06-05  Bruno Haible  <bruno@clisp.org>
9251
9252         error: Avoid gcc warning.
9253         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
9254
9255 2011-06-05  Bruno Haible  <bruno@clisp.org>
9256
9257         unsetenv: Avoid gcc warning.
9258         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
9259
9260 2011-06-05  Bruno Haible  <bruno@clisp.org>
9261
9262         setenv: Avoid gcc warning.
9263         * lib/setenv.c (setenv): Provide declaration if system lacks it.
9264
9265 2011-06-05  Bruno Haible  <bruno@clisp.org>
9266
9267         sys_select: Ensure memset is declared also on AIX 7.
9268         * lib/sys_select.in.h: Include <string.h> also on AIX.
9269         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
9270         self-contained also on AIX 7.1.
9271
9272 2011-06-04  Jim Meyering  <meyering@redhat.com>
9273
9274         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
9275         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
9276         function name, "error".
9277         (_gl_translatable_diag_func_re): New configurable variable.
9278
9279 2011-06-04  Bruno Haible  <bruno@clisp.org>
9280
9281         getopt: Avoid gcc warning.
9282         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
9283
9284 2011-06-04  Bruno Haible  <bruno@clisp.org>
9285
9286         strerror_r: Fix comments.
9287         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
9288         commit.
9289
9290 2011-06-04  Bruno Haible  <bruno@clisp.org>
9291
9292         perror: Fix compilation error.
9293         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
9294         Undefine fprintf, not sprintf.
9295         * modules/perror (Depends-on): Remove intprops, verify.
9296
9297 2011-06-04  Bruno Haible  <bruno@clisp.org>
9298
9299         setlocale: Enable replacement on Cygwin 1.5.
9300         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
9301         Cygwin 1.5.x.
9302         * doc/posix-functions/setlocale.texi: Mention that the problem with the
9303         LC_CTYPE category also exists on Cygwin 1.5.x.
9304
9305 2011-06-04  Bruno Haible  <bruno@clisp.org>
9306
9307         strerror-override: Don't disable symbol renamings.
9308         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
9309         * lib/strerror-override.c: Include config.h.
9310         (strerror_override): Don't undefine.
9311
9312 2011-06-03  Bruno Haible  <bruno@clisp.org>
9313
9314         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
9315         * lib/localename.h: Update copyright header.
9316         * lib/localename.c: Likewise.
9317         * lib/relocatable.h: Likewise.
9318         * lib/relocatable.c: Likewise.
9319
9320 2011-06-02  Bruno Haible  <bruno@clisp.org>
9321
9322         doc: Fix a module name.
9323         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
9324
9325 2011-06-02  Bruno Haible  <bruno@clisp.org>
9326
9327         pipe2: Remove dependency on 'nonblocking' module.
9328         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
9329         O_NONBLOCK is defined by gnulib.
9330         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
9331         is zero.
9332         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
9333         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
9334         defined by gnulib.
9335         (get_nonblocking_flag): New function.
9336         (main): Test O_NONBLOCK flag only if it is nonzero.
9337         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
9338
9339 2011-06-03  Jim Meyering  <meyering@redhat.com>
9340
9341         maint: three new prohibit-header-without-use rules
9342         Prohibit use of cloexec.h, posixver.h, same.h without use.
9343         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
9344         (sc_prohibit_posixver_without_use): Likewise.
9345         (sc_prohibit_same_without_use): Likewise.
9346
9347 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9348
9349         allocator: 'die' routine is now given requested size
9350         * lib/allocator.h (struct allocator.die): New size arg.
9351         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
9352         If the actual problem is an ssize_t limitation, not a size_t or
9353         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
9354
9355 2011-06-01  Eric Blake  <eblake@redhat.com>
9356
9357         strerror: drop strerror_r dependency
9358         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
9359         * lib/strerror-override.c (strerror_override): ...to new file.
9360         * lib/strerror-override.h: Add prototype.
9361         * lib/strerror-impl.h: Delete.
9362         * lib/strerror.c (strerror): New implementation.
9363         * modules/errno (Files): Add new files.
9364         (configure.ac): Compile new file as appropriate.
9365         * modules/strerror (Files): Drop unused file.
9366         (Depends-on): Drop strerror_r-posix.
9367         * MODULES.html.sh: Document strerror_r-posix.
9368         Requested by Sam Steingold.
9369
9370         perror: call strerror_r directly
9371         * modules/perror (Files): Drop strerror-impl.h.
9372         * lib/perror.c (perror): Use our own stack buffer, rather than
9373         calling a wrapper that uses static storage.
9374         * doc/posix-functions/perror.texi (perror): Document a limitation
9375         of our replacement.
9376
9377         strerror_r: fix includes for FreeBSD
9378         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
9379         since we use abort on some platforms.
9380         Reported by Matthias Bolte.
9381
9382 2011-05-31  Bruno Haible  <bruno@clisp.org>
9383
9384         Fix link errors in tests: openat-die uses gettext-h.
9385         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
9386         against $(LIBINTL).
9387         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
9388         against $(LIBINTL).
9389         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9390         $(LIBINTL).
9391         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
9392         against $(LIBINTL).
9393         * modules/linkat-tests (Makefile.am): Link test-linkat against
9394         $(LIBINTL).
9395         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
9396         $(LIBINTL).
9397         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
9398         against $(LIBINTL).
9399         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
9400         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
9401         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
9402         $(LIBINTL).
9403         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
9404         $(LIBINTL).
9405         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
9406         $(LIBINTL).
9407         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9408
9409 2011-05-31  Bruno Haible  <bruno@clisp.org>
9410
9411         Fix link errors in tests: wait-process uses gettext-h.
9412         * modules/nonblocking-pipe-tests (Makefile.am): Set
9413         test_nonblocking_pipe_main_LDADD.
9414         * modules/nonblocking-socket-tests (Makefile.am): Link
9415         test-nonblocking-socket-main against $(LIBINTL).
9416         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9417
9418 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9419
9420         assert-h: work around 'verify' incompatibility
9421         * lib/verify.h: Use @...@ directives, not ifdef.
9422         * modules/assert-h (assert.h): Implement the directives.
9423         (assert.h): Substitute the symbol-prefix more consistently.
9424
9425 2011-05-29  Jim Meyering  <meyering@redhat.com>
9426
9427         trim: remove three superfluous assignments
9428         * lib/trim.c (trim2): Remove three superfluous assignments
9429         and correct brace positioning.
9430
9431 2011-05-29  Bruno Haible  <bruno@clisp.org>
9432
9433         wctype-h: Avoid namespace pollution on Solaris 2.6.
9434         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9435         identifiers.
9436         * doc/posix-headers/wctype.texi: Mention the problem.
9437         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9438
9439 2011-05-28  Jim Meyering  <meyering@redhat.com>
9440
9441         parse-datetime.y: accommodate -Wstrict-overflow
9442         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9443         placate -Wstrict-overflow.
9444
9445         trim: avoid a warning from -O2 -Wstrict-overflow
9446         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9447
9448 2011-05-29  Bruno Haible  <bruno@clisp.org>
9449
9450         gnulib-tool: Fix bug in yesterday's commit.
9451         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9452         twice.
9453
9454 2011-05-29  Bruno Haible  <bruno@clisp.org>
9455
9456         Allow multiple gnulib generated include files to be combined.
9457         * gnulib-tool (func_compute_include_guard_prefix): New function.
9458         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9459         ${gl_include_guard_prefix} references.
9460         (func_import, func_create_testdir): Invoke
9461         func_compute_include_guard_prefix.
9462         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9463         * lib/ctype.in.h: Likewise.
9464         * lib/dirent.in.h: Likewise.
9465         * lib/errno.in.h: Likewise.
9466         * lib/fcntl.in.h: Likewise.
9467         * lib/float.in.h: Likewise.
9468         * lib/getopt.in.h: Likewise.
9469         * lib/iconv.in.h: Likewise.
9470         * lib/langinfo.in.h: Likewise.
9471         * lib/locale.in.h: Likewise.
9472         * lib/math.in.h: Likewise.
9473         * lib/netdb.in.h: Likewise.
9474         * lib/netinet_in.in.h: Likewise.
9475         * lib/poll.in.h: Likewise.
9476         * lib/pthread.in.h: Likewise.
9477         * lib/pty.in.h: Likewise.
9478         * lib/sched.in.h: Likewise.
9479         * lib/se-selinux.in.h: Likewise.
9480         * lib/search.in.h: Likewise.
9481         * lib/signal.in.h: Likewise.
9482         * lib/spawn.in.h: Likewise.
9483         * lib/stdarg.in.h: Likewise.
9484         * lib/stddef.in.h: Likewise.
9485         * lib/stdint.in.h: Likewise.
9486         * lib/stdio.in.h: Likewise.
9487         * lib/stdlib.in.h: Likewise.
9488         * lib/string.in.h: Likewise.
9489         * lib/strings.in.h: Likewise.
9490         * lib/sys_file.in.h: Likewise.
9491         * lib/sys_ioctl.in.h: Likewise.
9492         * lib/sys_select.in.h: Likewise.
9493         * lib/sys_socket.in.h: Likewise.
9494         * lib/sys_stat.in.h: Likewise.
9495         * lib/sys_time.in.h: Likewise.
9496         * lib/sys_times.in.h: Likewise.
9497         * lib/sys_uio.in.h: Likewise.
9498         * lib/sys_utsname.in.h: Likewise.
9499         * lib/sys_wait.in.h: Likewise.
9500         * lib/sysexits.in.h: Likewise.
9501         * lib/termios.in.h: Likewise.
9502         * lib/time.in.h: Likewise.
9503         * lib/unistd.in.h: Likewise.
9504         * lib/wchar.in.h: Likewise.
9505         * lib/wctype.in.h: Likewise.
9506         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9507         * modules/ctype (Makefile.am): Likewise.
9508         * modules/dirent (Makefile.am): Likewise.
9509         * modules/errno (Makefile.am): Likewise.
9510         * modules/fcntl-h (Makefile.am): Likewise.
9511         * modules/float (Makefile.am): Likewise.
9512         * modules/getopt-posix (Makefile.am): Likewise.
9513         * modules/iconv-h (Makefile.am): Likewise.
9514         * modules/langinfo (Makefile.am): Likewise.
9515         * modules/locale (Makefile.am): Likewise.
9516         * modules/math (Makefile.am): Likewise.
9517         * modules/netdb (Makefile.am): Likewise.
9518         * modules/netinet_in (Makefile.am): Likewise.
9519         * modules/poll-h (Makefile.am): Likewise.
9520         * modules/pthread (Makefile.am): Likewise.
9521         * modules/pty (Makefile.am): Likewise.
9522         * modules/sched (Makefile.am): Likewise.
9523         * modules/search (Makefile.am): Likewise.
9524         * modules/selinux-h (Makefile.am): Likewise.
9525         * modules/signal (Makefile.am): Likewise.
9526         * modules/spawn (Makefile.am): Likewise.
9527         * modules/stdarg (Makefile.am): Likewise.
9528         * modules/stddef (Makefile.am): Likewise.
9529         * modules/stdint (Makefile.am): Likewise.
9530         * modules/stdio (Makefile.am): Likewise.
9531         * modules/stdlib (Makefile.am): Likewise.
9532         * modules/string (Makefile.am): Likewise.
9533         * modules/strings (Makefile.am): Likewise.
9534         * modules/sys_file (Makefile.am): Likewise.
9535         * modules/sys_ioctl (Makefile.am): Likewise.
9536         * modules/sys_select (Makefile.am): Likewise.
9537         * modules/sys_socket (Makefile.am): Likewise.
9538         * modules/sys_stat (Makefile.am): Likewise.
9539         * modules/sys_time (Makefile.am): Likewise.
9540         * modules/sys_times (Makefile.am): Likewise.
9541         * modules/sys_uio (Makefile.am): Likewise.
9542         * modules/sys_utsname (Makefile.am): Likewise.
9543         * modules/sys_wait (Makefile.am): Likewise.
9544         * modules/sysexits (Makefile.am): Likewise.
9545         * modules/termios (Makefile.am): Likewise.
9546         * modules/time (Makefile.am): Likewise.
9547         * modules/unistd (Makefile.am): Likewise.
9548         * modules/wchar (Makefile.am): Likewise.
9549         * modules/wctype-h (Makefile.am): Likewise.
9550         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9551
9552 2011-05-29  Bruno Haible  <bruno@clisp.org>
9553
9554         assert-h: Allow multiple gnulib generated replacements to coexist.
9555         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9556
9557 2011-05-29  Bruno Haible  <bruno@clisp.org>
9558
9559         argp: Allow coexistence with strerror_r-posix module.
9560         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9561         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9562         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9563         not the glibc signature.
9564
9565 2011-05-28  Bruno Haible  <bruno@clisp.org>
9566
9567         gnulib-tool: Alternative structure of testdirs, similar to --import.
9568         * gnulib-tool: New option --single-configure.
9569         (func_usage): Document it.
9570         (single_configure): New variable.
9571         (func_modules_transitive_closure_separately,
9572         func_modules_transitive_closure_separately,
9573         func_determine_use_libtests, func_modules_add_dummy_separately,
9574         func_modules_to_filelist_separately): New functions, extracted from
9575         func_import.
9576         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9577         (func_import): Use the new functions.
9578         (func_create_testdir): Set final_modules. Handle $single_configure =
9579         true case.
9580
9581 2011-05-28  Bruno Haible  <bruno@clisp.org>
9582
9583         getloadavg: Remove an unreliable safety check.
9584         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9585         getloadavg.c is in place.
9586         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9587         Reported by Sam Steingold <sds@gnu.org>.
9588
9589 2011-05-28  Bruno Haible  <bruno@clisp.org>
9590
9591         doc: Cleanup yet another file produced by texinfo.tex.
9592         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9593
9594 2011-05-28  Bruno Haible  <bruno@clisp.org>
9595
9596         Finish the conditional dependencies mechanism.
9597         * gnulib-tool: New option --no-conditional-dependencies.
9598         (func_usage): Document it. Don't mark --conditional-dependencies as
9599         experimental.
9600         (cond_dependencies): The possible values can now be true, false, empty.
9601         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9602         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9603         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9604
9605 2011-05-28  Bruno Haible  <bruno@clisp.org>
9606
9607         doc: Use a recent texinfo.tex.
9608         * doc/Makefile (tex_opts): New variable.
9609         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9610
9611 2011-05-28  Jim Meyering  <meyering@redhat.com>
9612
9613         intprops.h: adjust comment to match code change
9614         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9615         only once, it *may* have side effects.  Also fix an unrelated typo.
9616         (_GL_INT_SIGNED): Likewise.
9617
9618 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9619
9620         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9621
9622 2011-05-26  Bruno Haible  <bruno@clisp.org>
9623
9624         mbsrchr: Avoid collision with system function on Interix.
9625         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9626         Reported by Markus Duft <mduft@gentoo.org>.
9627
9628 2011-05-15  James Youngman  <jay@gnu.org>
9629
9630         getopt: for ambiguous options, enumerate the possibilities.
9631         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9632         the ambiguous options when an ambiguous prefix is given. This was
9633         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9634         glibc change was
9635         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9636
9637 2011-05-25  Eric Blake  <eblake@redhat.com>
9638
9639         getcwd: work around mingw bug
9640         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9641         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9642         Reported by Matthias Bolte.
9643
9644 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9645
9646         test-intprops: disable -Wtype-limits diagnostics
9647         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9648         diagnostics.  Otherwise, the integer overflow macros generate many
9649         diagnostics.  Reported by Jim Meyering in
9650         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9651
9652         intprops: shorten, to pacify gcc -Woverlength-strings
9653         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9654         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9655         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9656         likely to run afoul of C compiler limits for string constant lengths.
9657         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9658
9659 2011-05-24  Eric Blake  <eblake@redhat.com>
9660
9661         docs: document recently fixed glibc printf bug
9662         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9663         * doc/posix-functions/printf.texi (printf): Likewise.
9664         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9665         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9666
9667         closein-tests: convert to init.sh
9668         * modules/closein-tests (Files): Add init.sh
9669         * tests/test-closein.sh Use it.
9670
9671         yesno-tests: convert to init.sh
9672         * modules/yesno-tests (Files): Add init.sh.
9673         * tests/test-yesno.sh: Use it.
9674
9675         atexit-tests: ensure reliable exit status
9676         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9677         Reported by Bruno Haible.
9678
9679 2011-05-24  Bruno Haible  <bruno@clisp.org>
9680
9681         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9682         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9683         gl_PREREQ_STRERROR_R invocations from here...
9684         * modules/strerror_r-posix (configure.ac): ... to here.
9685
9686 2011-05-24  Eric Blake  <eblake@redhat.com>
9687
9688         strerror_r: fix missing header
9689         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9690
9691         strerror_r: fix AIX test failures
9692         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9693         ERANGE failure.
9694
9695         strerror_r: fix Solaris test failures
9696         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9697         failures.
9698         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9699
9700         strerror_r: enforce POSIX recommendations
9701         * lib/strerror_r.c (safe_copy): New helper method.
9702         (strerror_r): Guarantee a non-empty string.
9703         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9704         recent POSIX rulings and to match our strerror guarantees.
9705         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9706
9707 2011-05-24  Jim Meyering  <meyering@redhat.com>
9708
9709         test-perror2.c: avoid warning about unused variable
9710         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9711
9712 2011-05-24  Eric Blake  <eblake@redhat.com>
9713
9714         perror: avoid spurious test failure on HP-UX
9715         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9716
9717         tests: fix logic bug in init.sh
9718         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9719         shell.
9720
9721 2011-05-24  Jim Meyering  <meyering@redhat.com>
9722
9723         utimensat: do not reference an out-of-scope buffer
9724         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9725         declared in an inner scope, yet "times" would be dereferenced outside
9726         the scope in which "ts" was valid.
9727         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9728         of ts[2] "out/up", so that the use of aliased "times" (via
9729         "times = ts;") does not end up referencing an out-of-scope "ts"
9730
9731         opendir-safer.c: don't clobber errno; don't close negative FD
9732         * lib/opendir-safer.c (opendir_safer):
9733         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9734         file descriptor, and more importantly, don't clobber the
9735         offending errno value with EINVAL.  Before, upon failure
9736         of dup_safer, we would pass the negative file descriptor to
9737         fdopendir, which would clobber errno.
9738
9739 2011-05-23  Bruno Haible  <bruno@clisp.org>
9740
9741         idcache: Fix module description.
9742         * modules/idcache (Include): Set to "idcache.h".
9743
9744 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9745
9746         gnulib-tool: fix portability problem with MacOS sed
9747         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9748         before the "}".  Problem reported by Leo in
9749         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9750         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9751         sed_extract_condition1, sed_extract_condition2.
9752
9753 2011-05-23  Bruno Haible  <bruno@clisp.org>
9754
9755         hash: Simplify autoconf macro.
9756         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9757
9758 2011-05-23  Bruno Haible  <bruno@clisp.org>
9759
9760         getugroups: Fix module description.
9761         * modules/getugroups (Include): Set to "getugroups.h".
9762
9763 2011-05-23  Bruno Haible  <bruno@clisp.org>
9764
9765         linkat: Simplify autoconf macro.
9766         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9767
9768 2011-05-23  Bruno Haible  <bruno@clisp.org>
9769             Eric Blake  <eblake@redhat.com>
9770
9771         linkat, renameat: Update dependencies.
9772         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9773         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9774         symlinkat.
9775
9776 2011-05-23  Jim Meyering  <meyering@redhat.com>
9777
9778         maint.mk: more tight_scope improvements
9779         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9780         (_gl_TS_headers): Define only in if-0'd block.
9781         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9782         sometimes we must *not* use it.  Adjust uses accordingly.
9783         (sc_tight_scope): Use much simpler grep-based test to determine
9784         whether we skip this rule.
9785
9786         maint.mk: generalize/improve the tight-scope rule
9787         * top/maint.mk: Emit a warning when the test is skipped.
9788         (_gl_TS_dir): Add $(srcdir)/ prefix.
9789         (_gl_TS_function_match): Simplify, rather than trying
9790         to enumerate common types.  Otherwise, it would fail to match an
9791         "extern unsigned char const *" declaration in idutils.
9792         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9793         a way to support use of that type of macro.
9794         (_gl_TS_var_match): Simplify regexp.
9795         (_gl_TS_obj_files): New configurable variable.
9796         (_gl_TS_headers): Likewise.
9797
9798 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9799
9800         verify: fix bug when gnulib <assert.h> is also included
9801         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9802         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9803         Perhaps there's a better way, but this fixes the immediate problem.
9804         Problem reported by Bruno Haible in
9805         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9806
9807 2011-05-22  Bruno Haible  <bruno@clisp.org>
9808
9809         xgetcwd: Simplify autoconf macro.
9810         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9811
9812 2011-05-22  Bruno Haible  <bruno@clisp.org>
9813
9814         New module 'mktime-internal'.
9815         * modules/mktime-internal: New file.
9816         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9817         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9818         mktime_internal as a C macro if libc has __mktime_internal.
9819         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9820         conditions.
9821         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9822
9823 2011-05-22  Bruno Haible  <bruno@clisp.org>
9824
9825         timegm: Correct mktime replacement statements.
9826         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9827         defining mktime as a C macro. This completes a 2009-07-28 commit.
9828
9829 2011-05-22  Bruno Haible  <bruno@clisp.org>
9830
9831         timegm: Simplify autoconf macro.
9832         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9833
9834 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9835
9836         clock-time: change to LGPLv2+.
9837         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9838         BSD-like but we have no mark for that; this is good enough for now.
9839
9840 2011-05-21  Bruno Haible  <bruno@clisp.org>
9841
9842         strerror_r: Fix comments.
9843         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
9844
9845 2011-05-21  Bruno Haible  <bruno@clisp.org>
9846
9847         relocatable-prog-wrapper: Fix possible link error.
9848         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
9849         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
9850         (gl_FUNC_SETENV): ... to here.
9851         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
9852         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
9853
9854 2011-05-21  Bruno Haible  <bruno@clisp.org>
9855
9856         relocatable-prog-wrapper: Assume strerror() exists.
9857         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
9858         m4/strerror.m4.
9859         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
9860         * lib/relocwrapper.c: Remove mention of strerror module.
9861         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
9862         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
9863         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
9864         C macro.
9865
9866 2011-05-21  Bruno Haible  <bruno@clisp.org>
9867
9868         select: Simplify replacement idiom.
9869         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
9870         Win32 platforms.
9871         * lib/sys_select.in.h (select): Simplify accordingly.
9872         * modules/select (Depends-on): Likewise.
9873
9874 2011-05-21  Bruno Haible  <bruno@clisp.org>
9875
9876         mkdir-p: Simplify autoconf macro.
9877         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
9878         gl_FUNC_LCHOWN.
9879
9880 2011-05-21  Eric Blake  <eblake@redhat.com>
9881
9882         strerror_r: avoid clobbering strerror on cygwin
9883         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
9884         fall back instead to sys_errlist.
9885         * modules/strerror (configure.ac): Add witness.
9886         * tests/test-strerror_r.c (main): Enhance test.
9887         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9888         * tests/test-perror2.c (main): Free memory before exit.
9889
9890 2011-05-21  Bruno Haible  <bruno@clisp.org>
9891
9892         mkdtemp: Use gnulib naming conventions.
9893         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
9894         * modules/mkdtemp (configure.ac): Update.
9895
9896 2011-05-20  Eric Blake  <eblake@redhat.com>
9897
9898         strerror_r: avoid corrupting errno on Solaris
9899         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
9900         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9901
9902         strerror_r: avoid compiler warning
9903         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
9904
9905         strerror_r: simplify AIX code
9906         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
9907
9908         test-perror: avoid spurious failure on FreeBSD
9909         * modules/perror-tests (Depends-on): Add strerror, now that
9910         strerror_r no longer pulls it in.
9911
9912 2011-05-20  Bruno Haible  <bruno@clisp.org>
9913
9914         strerror_r-posix: Remove unused dependencies.
9915         * modules/strerror_r-posix (Depends-on): Remove strerror.
9916         Reported by Eric Blake.
9917
9918 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9919
9920         intprops: remove assumption about A|B representation
9921         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
9922         is a valid integer if both A and B are.  Although this is true for
9923         all known practical hosts, the C standard doesn't guarantee it,
9924         and the code need not assume it.  Also, this change may work around
9925         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
9926         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
9927
9928 2011-05-20  Eric Blake  <eblake@redhat.com>
9929
9930         perror: work around FreeBSD bug
9931         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
9932         is broken.  Move AC_LIBOBJ...
9933         * modules/perror (configure.ac): Here.
9934         * doc/posix-functions/perror.texi (perror): Document this.
9935         * tests/test-perror2.c (main): Enhance test.
9936
9937         test-perror: check for strerror interactions
9938         * tests/macros.h (STREQ): Add macro.
9939         * modules/perror-tests (Files): Add second test.
9940         * tests/test-perror2.c (main): New file.
9941         * doc/posix-functions/perror.texi (perror): Document glibc bug.
9942
9943         test-perror: rewrite to use init script
9944         * modules/perror-tests (Files): Add init.sh.
9945         * tests/test-perror.sh: Use temporary directory.
9946
9947 2011-05-20  Jim Meyering  <meyering@redhat.com>
9948
9949         maint: replace misused "a" with "an"
9950         * doc/intprops.texi: "a integer"
9951         * doc/regex.texi: "a explanation"
9952         * lib/alignof.h: "a object"
9953         * lib/argmatch.h: "a explanation"
9954         * lib/argp-help.c: "a option" and "a OPTION_DOC"
9955         * lib/stdint.in.h: "a integer"
9956         * lib/userspec.c: "a owner"
9957         * doc/gnulib.texi: Fix "a idea", and reword.
9958
9959 2011-05-19  Jim Meyering  <meyering@redhat.com>
9960
9961         maint: correct misuse of "a" and "an"
9962         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
9963         * lib/argp-help.c: "an docum...": s/an/a/
9964         * lib/argp-parse.c: "An vector": s/An/A/
9965         * lib/execute.c: "an native": s/an/a/
9966         * lib/spawn-pipe.c: Likewise.
9967         * lib/gc.h: "an Gc_rc": s/an/a/
9968         * lib/unigbrk.in.h: "an grapheme": s/an/a/
9969         * lib/fts.c: "an stat.st_dev": s/an/a/
9970
9971 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9972
9973         intprops-tests: work around HP-UX 11.23 cc bug with constants
9974         * tests/test-intprops.c (VERIFY): New macro.
9975         (main): Use it, instead of verify, to work around the compiler bug; see
9976         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9977
9978         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
9979         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
9980         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
9981         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
9982         (_GL_REMAINDER_OVERFLOW): Use it.
9983
9984         intprops-tests: revert unsigned part of previous change
9985         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
9986         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
9987         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
9988         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
9989
9990 2011-05-19  Bruno Haible  <bruno@clisp.org>
9991
9992         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
9993         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
9994         strerror_r() returned without filling the buffer.
9995         Reported by Eric Blake.
9996
9997 2011-05-19  Eric Blake  <eblake@redhat.com>
9998
9999         strerror_r: guarantee unchanged errno
10000         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
10001         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
10002         failure.
10003         * tests/test-strerror_r.c (main): Enhance test.
10004
10005 2011-05-19  Bruno Haible  <bruno@clisp.org>
10006
10007         strerror_r: Reorder #if blocks.
10008         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
10009         for consistency with the previous commit.
10010
10011 2011-05-19  Bruno Haible  <bruno@clisp.org>
10012
10013         perror: Avoid clobbering the strerror buffer when possible.
10014         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
10015         * lib/strerror.c: Include it.
10016         * modules/strerror (Files): Add lib/strerror-impl.h.
10017         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
10018         (my_strerror): New function, defined through lib/strerror-impl.h.
10019         (perror): Use it instead of strerror.
10020         * modules/perror (Files): Add lib/strerror-impl.h.
10021         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
10022
10023 2011-05-19  Eric Blake  <eblake@redhat.com>
10024
10025         strerror_r: fix on newer cygwin
10026         * lib/strerror_r.c (strerror_r): Cygwin now has
10027         __xpg_strerror_r, use it.
10028
10029 2011-05-19  Bruno Haible  <bruno@clisp.org>
10030
10031         strerror_r: Avoid clobbering the strerror buffer when possible.
10032         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
10033         (sys_nerr, sys_errlist): New declarations.
10034         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
10035         HP-UX, native Win32, IRIX, and 32-bit Solaris.
10036         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
10037
10038 2011-05-19  Bruno Haible  <bruno@clisp.org>
10039
10040         strerror_r: Fix test failure on mingw.
10041         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
10042         EXTEND_STRERROR_R.
10043         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
10044         macros from errno.in.h instead.
10045
10046 2011-05-19  Eric Blake  <eblake@redhat.com>
10047
10048         strerror: relax test for Solaris
10049         * tests/test-strerror.c (main): Permit Solaris behavior.
10050         * tests/test-strerror_r.c (main): Likewise.
10051
10052         strerror: enforce POSIX ruling on strerror(0)
10053         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
10054         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10055         * lib/strerror_r.c (rpl_strerror_r): Work around it.
10056         * doc/posix-functions/strerror.texi (strerror): Document it.
10057         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
10058         * tests/test-strerror.c (main): Strengthen test.
10059         * tests/test-strerror_r.c (main): Likewise.
10060
10061 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10062
10063         intprop-tests: port to older and more-pedantic compilers
10064         * modules/intprops-tests (Files): Add tests/macros.h.
10065         * tests/test-intprops.c: Include macros.h.
10066         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
10067         it's no longer documented to expand to an integer constant expression.
10068         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
10069         argument is floating point, as it's no longer documented to expand
10070         to an integer constant expression in that case.
10071         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
10072         compiler bugs reported by Bruno Haible.  See
10073         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10074         (U0, U1): New constants, to work around the same bugs.  Also,
10075         in tests, use e.g., "(unsigned int) 39" rather than "39u".
10076
10077         intprops: work around C compiler bugs
10078         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
10079         bug in Sun C 5.11 2010/08/13 and other compilers; see
10080         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10081
10082         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
10083         * doc/intprops.texi (Integer Type Determination): Fix
10084         documentation for TYPE_IS_INTEGER: it returns an constant
10085         expression, not an integer constant expression.  Fix doc for
10086         TYPE_SIGNED: it returns an integer constant expression only if its
10087         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
10088         hardly worth documented that way....)
10089
10090 2011-05-18  Bruno Haible  <bruno@clisp.org>
10091
10092         strerror_r: Avoid clobbering the strerror buffer when possible.
10093         * lib/strerror_r.c (strerror_r): Merge the three implementations.
10094         Handle gnulib defined errno values here. When strerror() returns NULL
10095         or an empty string, return EINVAL.
10096         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
10097         gnulib defined errno values here.
10098         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
10099
10100 2011-05-18  Eric Blake  <eblake@redhat.com>
10101
10102         fnmatch: avoid compiler warning
10103         * lib/fnmatch_loop.c (FCT): Use correct type.
10104         Reported by Matthias Bolte.
10105
10106 2011-05-13  Jim Meyering  <meyering@redhat.com>
10107
10108         maint.mk: three new prohibit_<HDR>_without_use rules
10109         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
10110         (sc_prohibit_stdio-safer_without_use): Likewise.
10111         (sc_prohibit_xfreopen_without_use): Likewise.
10112
10113 2011-05-17  Jim Meyering  <meyering@redhat.com>
10114
10115         announce-gen: fail if the NEWS delta is empty
10116         If there's nothing noteworthy in NEWS, then either you forgot
10117         or you shouldn't be releasing.
10118         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
10119
10120 2011-05-17  Pádraig Brady <P@draigBrady.com>
10121
10122         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
10123         reserved symbols starting with double underscore from the check.
10124
10125 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10126
10127         intprops: add doc
10128         * doc/intprops.texi: New file, documenting intprops.
10129         * doc/gnulib.texi (Particular Modules): Include it.
10130
10131         verify: add doc to gnulib manual and fix example
10132         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
10133         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
10134         (Compile-time Assertions): Fix example so it can't overflow.
10135
10136 2011-05-17  Jim Meyering  <meyering@redhat.com>
10137
10138         warnings.m4: don't usurp save_CPPFLAGS variable name
10139         * m4/warnings.m4: Prefix local temporary variable name with gl_.
10140
10141         doc: fix typo
10142         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
10143
10144 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10145             Bruno Haible  <bruno@clisp.org>
10146
10147         doc: Tweak recent change.
10148         * README (Portability guidelines): Tweak new text.
10149         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
10150         Interix 6.1.
10151
10152 2011-05-16  Eric Blake  <eblake@redhat.com>
10153
10154         inttypes: avoid autoconf warning
10155         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
10156         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10157
10158 2011-05-16  Sam Steingold <sds@gnu.org>
10159         and Eric Blake  <eblake@redhat.com>
10160
10161         vc-list-files: accept multiple directory operands
10162         * build-aux/vc-list-files: Iterate over all remaining operands.
10163
10164 2011-05-16  Bruno Haible  <bruno@clisp.org>
10165
10166         Fix confusion regarding deprecated modules.
10167         * modules/calloc (Status, Notice): Mark module as deprecated, not
10168         obsolete.
10169         * modules/fnmatch-posix (Status, Notice): Likewise.
10170         * modules/getdate (Status, Notice): Likewise.
10171         * modules/getopt (Status, Notice): Likewise.
10172         * modules/malloc (Status, Notice): Likewise.
10173         * modules/pipe (Status, Notice): Likewise.
10174         * modules/realloc (Status, Notice): Likewise.
10175         * modules/rename-dest-slash (Status, Notice): Likewise.
10176         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
10177         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
10178         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
10179         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
10180         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
10181
10182 2011-05-16  Bruno Haible  <bruno@clisp.org>
10183
10184         doc: List the target platforms.
10185         * doc/gnulib-intro.texi (Target Platforms): New section.
10186         * doc/gnulib.texi (Introduction): Update menu.
10187         * README (Portability guidelines): Refer to the new section. Update
10188         statement about oldest supported environment. Remove rationale why
10189         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
10190         unportable C89 function.
10191         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
10192         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
10193
10194 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10195
10196         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
10197
10198 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10199
10200         intprops-tests: new module
10201         * modules/intprops-tests, tests/test-intprops.c: New files.
10202
10203         intprops: add safe, portable integer overflow checking
10204         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
10205         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
10206         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
10207         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
10208         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
10209         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
10210         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
10211         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
10212         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
10213         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
10214         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
10215
10216 2011-05-12  James Youngman  <jay@gnu.org>
10217
10218         Add a test for glibc's Bugzilla bug #12378.
10219         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
10220         doesn't allow the literal matching of a lone "[" (which is
10221         required by POSIX).
10222         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
10223
10224 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
10225
10226         Sync glibc change fixing Bugzilla bug #12378.
10227         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
10228         beginning and fall back to matching as normal character if the
10229         string ends before the matching ']' is found.  This is what POSIX
10230         requires.
10231
10232 2011-05-13  Eric Blake  <eblake@redhat.com>
10233
10234         getcwd-lgpl: relax test for FreeBSD
10235         * doc/posix-functions/getcwd.texi (getcwd): Document portability
10236         issue.
10237         * tests/test-getcwd-lgpl.c (main): Relax test.
10238         Reported by Matthias Bolte.
10239
10240 2011-05-11  Eric Blake  <eblake@redhat.com>
10241
10242         test-fflush: silence compiler warning
10243         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
10244
10245 2011-05-11  Bruno Haible  <bruno@clisp.org>
10246
10247         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
10248         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
10249         * modules/canonicalize (Depends-on): Add 'nocrash'.
10250         * modules/canonicalize-lgpl (Depends-on): Likewise.
10251         * doc/posix-functions/realpath.texi: Update platforms list.
10252         Reported by Ryan Schmidt <ryandesign@macports.org>.
10253
10254 2011-05-11  Bruno Haible  <bruno@clisp.org>
10255
10256         group-member: Declare function in <unistd.h>.
10257         * lib/unistd.in.h (group_member): New declaration.
10258         * lib/group-member.h: Remove file.
10259         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
10260         * tests/test-unistd-c++.cc: Check signature of group_member.
10261         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
10262         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
10263         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
10264         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
10265         HAVE_GROUP_MEMBER.
10266         * modules/group-member (Files): Remove lib/group-member.h.
10267         (Depends-on): Add unistd. Specify conditions.
10268         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10269         (Include): Change to <unistd.h>.
10270         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
10271         HAVE_GROUP_MEMBER.
10272         * NEWS: Mention the change.
10273         * lib/euidaccess.c: Don't include group-member.h.
10274
10275 2011-05-11  Bruno Haible  <bruno@clisp.org>
10276
10277         group-member: Document module.
10278         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
10279         module.
10280
10281 2011-05-11  Bruno Haible  <bruno@clisp.org>
10282
10283         fclose: Fix mistake earlier today.
10284         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
10285
10286 2011-05-11  Eric Blake  <eblake@redhat.com>
10287
10288         fclose: preserve fflush errors
10289         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
10290         Reported by Jim Meyering.
10291
10292         bootstrap: support a prereq of 'rpcgen -' on RHEL5
10293         * build-aux/bootstrap (check_versions): When no specific version
10294         is required, merely check that the app produces an exit status
10295         that indicates its existence.
10296
10297         maint.mk: drop redundant check
10298         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
10299         the same but better.
10300
10301 2011-05-11  Bruno Haible  <bruno@clisp.org>
10302
10303         fclose: Fix possible link error.
10304         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
10305         unregister_shadow_fd. Improve comments.
10306         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
10307         Eric Blake.
10308
10309 2011-05-11  Jim Meyering  <meyering@redhat.com>
10310
10311         maint.mk: improve "can not" detection and generalize rule name
10312         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
10313         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
10314         Use the same technique as in sc_prohibit_doubled_word, so that
10315         we recognize "can not" also when the words are separated by a newline.
10316         Suggested by Eric Blake.
10317         (perl_filename_lineno_text_): Define.  Factored out of...
10318         (prohibit_doubled_word_): ...here.  Use the new definition.
10319         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
10320         (prohibit_undesirable_word_seq_RE_): New overridable variable.
10321         (ignore_undesirable_word_sequence_RE_): New overridable variable.
10322
10323 2011-05-10  Eric Blake  <eblake@redhat.com>
10324
10325         fclose: avoid double close race when possible
10326         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
10327         all but WINDOWS_SOCKETS.
10328
10329 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
10330
10331         openat: correct new comment
10332         * lib/openat-proc.c (openat_proc_name): Correct the comment.
10333
10334 2011-05-10  Jim Meyering  <meyering@redhat.com>
10335
10336         openat: add comments
10337         * lib/openat-proc.c (openat_proc_name): Add comments,
10338         mostly from Eric Blake.
10339
10340 2011-05-09  Eric Blake  <eblake@redhat.com>
10341
10342         openat: reduce syscalls in first probe of /proc
10343         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
10344         be a directory.  Simplify the probe for .. bugs.
10345         * modules/openat (Depends-on): Drop same-inode.
10346         Reported by Bastien ROUCARIES.
10347
10348 2011-05-09  Jim Meyering  <meyering@redhat.com>
10349
10350         maint.mk: change semantics/name of tight_scope variables
10351         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
10352         Rename variables to align with semantics that make them more useful.
10353
10354         maint.mk: tweak new rule's name not to impinge
10355         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
10356         (sc_tight_scope): Use new rule name rather than $@-0.
10357
10358         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
10359         * top/maint.mk (sc_tight_scope): New rule.
10360         (sc_tight_scope-0): New rule, ifdef'd out.
10361         (_gl_TS_dir): Default.
10362         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
10363         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
10364
10365 2011-05-09  Simon Josefsson  <simon@josefsson.org>
10366
10367         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
10368         Haible <bruno@clisp.org>.
10369
10370 2011-05-08  Bruno Haible  <bruno@clisp.org>
10371
10372         Comments.
10373         * m4/isnanf.m4: Add comment.
10374         * m4/isnanl.m4: Likewise.
10375
10376 2011-05-08  Bruno Haible  <bruno@clisp.org>
10377
10378         glob: Remove obsolete macro.
10379         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
10380
10381 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10382
10383         intprops: Sun C 5.11 supports __typeof__
10384         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
10385         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
10386         which is new.
10387         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
10388
10389         intprops: switch to usual gnulib indenting and naming
10390         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
10391         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
10392
10393         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
10394
10395 2011-05-08  Jim Meyering  <meyering@redhat.com>
10396
10397         maint.mk: suppress "Entering/Leaving directory" diag in announcement
10398         * top/maint.mk (release-prep): Use make's --no-print-directory
10399         option when generating the announcement.  This eliminates the
10400         pesky "make[2]: Entering/Leaving directory" diagnostics in the
10401         generated announcement template.
10402
10403 2011-05-08  Bruno Haible  <bruno@clisp.org>
10404
10405         tzset: Fix gettimeofday wrapper on Solaris 2.6.
10406         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
10407         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
10408
10409 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
10410
10411         ignore-value, verify: Omit include files from lib_SOURCES.
10412         * modules/ignore-value, modules/verify (Makefile.am):
10413         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
10414         that leads Automake to duplicate use of am__objects_... variables
10415         in Makefile.in.  See
10416         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
10417
10418 2011-05-07  Bruno Haible  <bruno@clisp.org>
10419
10420         fclose: Simplify autoconf macro.
10421         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
10422         defined.
10423
10424 2011-05-07  Bruno Haible  <bruno@clisp.org>
10425
10426         canonicalize-lgpl: Fix autoconf macro ordering bug.
10427         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
10428         gl_STDLIB_H_DEFAULTS.
10429
10430 2011-05-06  Eric Blake  <eblake@redhat.com>
10431
10432         maintainer-makefile: make sc_po_check easier to tune
10433         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10434         to probe for strings, such as an alternate location for gnulib.
10435
10436         fclose: guarantee behavior on seekable stdin
10437         * modules/fclose (Depends-on): Add fflush.
10438         * doc/posix-functions/fclose.texi (fclose): Document this.
10439         * tests/test-fclose.c (main): Make test for this unconditional.
10440
10441 2011-05-06  Bruno Haible  <bruno@clisp.org>
10442
10443         fflush, fpurge: Relicense under LGPLv2+.
10444         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10445         * modules/fpurge (License): Likewise.
10446         With permission from Eric Blake and Jim Meyering.
10447         Suggested by Eric Blake.
10448
10449 2011-05-06  Karl Berry  <karl@gnu.org>
10450
10451         * MODULES.html.sh (func_all_modules): remove exit.
10452
10453 2011-05-06  Jim Meyering  <meyering@redhat.com>
10454
10455         maint.mk: use info-gnu@ as the default only for a stable release
10456         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10457         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10458         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10459         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10460
10461 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10462
10463         assert-h: new module, which supports C1X-style static_assert
10464         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10465         * lib/verify.h: Revamp so that this can be copied into assert.h,
10466         while retaining the ability to use it standalone as before.
10467         Rename private identifiers so as not to encroach on the
10468         standard C namespace, since this is now used by assert.h.
10469         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10470         the old verify_true.
10471         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10472         the old verify_true.  Use _GL_VERIFY_TYPE.
10473         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10474         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10475         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10476         defined when this file is copied into the replacement assert.h.
10477         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10478         and _Static_assert is not built in.
10479         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10480         defined, and use the new macros mentioned above.
10481         * doc/posix-headers/assert.texi: Document this.
10482
10483 2011-05-05  Bruno Haible  <bruno@clisp.org>
10484
10485         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10486         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10487         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10488         gl_REPLACE_FCLOSE here.
10489         * modules/fflush (Depends-on): Remove fclose.
10490         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10491         combination with module 'fclose'.
10492
10493 2011-05-05  Bruno Haible  <bruno@clisp.org>
10494
10495         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10496         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10497         gl_FUNC_FFLUSH.
10498         (gl_FUNC_FFLUSH): Use it.
10499         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10500         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10501         gl_REPLACE_FSEEKO here.
10502
10503 2011-05-05  Bruno Haible  <bruno@clisp.org>
10504
10505         tzset: Relicense under LGPL.
10506         * modules/tzset (License): Change to LGPL.
10507         No agreement needed; it's a no-op.
10508
10509         strtoimax, strtoumax: Relicense under LGPL.
10510         * modules/strtoimax (License): Change to LGPL.
10511         * modules/strtoumax (License): Likewise.
10512         With permission from Jim Meyering, Paul Eggert:
10513         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10514         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10515
10516         getgroups: Relicense under LGPL.
10517         * modules/getgroups (License): Change to LGPL.
10518         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10520         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10521         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10522
10523         nanosleep: Relicense under LGPL.
10524         * modules/nanosleep (License): Change to LGPL.
10525         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10526         Haible:
10527         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10528         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10529         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10530         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10531
10532         futimens: Relicense under LGPL.
10533         * modules/futimens (License): Change to LGPL.
10534         With permission from Eric Blake:
10535         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10536
10537         fflush: Relicense under LGPL.
10538         * modules/fflush (License): Change to LGPL.
10539         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10540         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10541         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10542         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10543
10544         tmpfile: Relicense under LGPL.
10545         * modules/tmpfile (License): Change to LGPL.
10546         With permission from Ben Pfaff:
10547         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10548
10549         isfinite: Relicense under LGPL.
10550         * modules/isfinite (License): Change to LGPL.
10551         With permission from Ben Pfaff, Bruno Haible:
10552         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10553         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10554
10555         acosl..tanl: Relicense under LGPL.
10556         * modules/acosl (License): Change to LGPL.
10557         * modules/asinl (License): Likewise.
10558         * modules/atanl (License): Likewise.
10559         * modules/cosl (License): Likewise.
10560         * modules/expl (License): Likewise.
10561         * modules/logl (License): Likewise.
10562         * modules/sinl (License): Likewise.
10563         * modules/sqrtl (License): Likewise.
10564         * modules/tanl (License): Likewise.
10565         Source code originally from glibc and Paolo Bonzini. Agreements:
10566         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10567         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10568
10569 2011-05-05  Bruno Haible  <bruno@clisp.org>
10570
10571         signal: Define sighandler_t.
10572         * lib/signal.in.h (sighandler_t): New type.
10573         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10574         whether sighandler_t is defined.
10575         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10576         * modules/signal (Depends-on): Add extensions.
10577         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10578         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10579         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10580
10581 2011-05-05  Eric Blake  <eblake@redhat.com>
10582
10583         maint: remove useless REPLACE_*_H macros
10584         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10585         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10586         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10587         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10588         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10589         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10590         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10591         * m4/btowc.m4: Update callers.
10592         * m4/dirfd.m4: Likewise.
10593         * m4/duplocale.m4: Likewise.
10594         * m4/fchdir.m4: Likewise.
10595         * m4/fdopendir.m4: Likewise.
10596         * m4/inet_ntop.m4: Likewise.
10597         * m4/inet_pton.m4: Likewise.
10598         * m4/ioctl.m4: Likewise.
10599         * m4/mbrlen.m4: Likewise.
10600         * m4/mbrtowc.m4: Likewise.
10601         * m4/mbsinit.m4: Likewise.
10602         * m4/mbsnrtowcs.m4: Likewise.
10603         * m4/mbsrtowcs.m4: Likewise.
10604         * m4/poll.m4: Likewise.
10605         * m4/setlocale.m4: Likewise.
10606         * m4/wcrtomb.m4: Likewise.
10607         * m4/wcsnrtombs.m4: Likewise.
10608         * m4/wcsrtombs.m4: Likewise.
10609         * m4/wctob.m4: Likewise.
10610         * m4/wcwidth.m4: Likewise.
10611         * modules/posix_spawn: Likewise.
10612         * modules/posix_spawn_file_actions_addclose: Likewise.
10613         * modules/posix_spawn_file_actions_adddup2: Likewise.
10614         * modules/posix_spawn_file_actions_addopen: Likewise.
10615         * modules/posix_spawn_file_actions_destroy: Likewise.
10616         * modules/posix_spawn_file_actions_init: Likewise.
10617         * modules/posix_spawnattr_destroy: Likewise.
10618         * modules/posix_spawnattr_getflags: Likewise.
10619         * modules/posix_spawnattr_getpgroup: Likewise.
10620         * modules/posix_spawnattr_getschedparam: Likewise.
10621         * modules/posix_spawnattr_getschedpolicy: Likewise.
10622         * modules/posix_spawnattr_getsigdefault: Likewise.
10623         * modules/posix_spawnattr_getsigmask: Likewise.
10624         * modules/posix_spawnattr_init: Likewise.
10625         * modules/posix_spawnattr_setflags: Likewise.
10626         * modules/posix_spawnattr_setpgroup: Likewise.
10627         * modules/posix_spawnattr_setschedparam: Likewise.
10628         * modules/posix_spawnattr_setschedpolicy: Likewise.
10629         * modules/posix_spawnattr_setsigdefault: Likewise.
10630         * modules/posix_spawnattr_setsigmask: Likewise.
10631         * modules/posix_spawnp: Likewise.
10632
10633 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10634
10635         Add option to do-release-commit-and-tag to specify branch.
10636         * build-aux/do-release-commit-and-tag: Add --branch.
10637
10638 2011-05-03  Bruno Haible  <bruno@clisp.org>
10639
10640         Avoid unnecessary compilation units, through conditional dependencies.
10641         * modules/accept (Depends-on): Add conditions to the dependencies.
10642         * modules/acosl (Depends-on): Likewise.
10643         * modules/argz (Depends-on): Likewise.
10644         * modules/asinl (Depends-on): Likewise.
10645         * modules/atanl (Depends-on): Likewise.
10646         * modules/atoll (Depends-on): Likewise.
10647         * modules/bind (Depends-on): Likewise.
10648         * modules/btowc (Depends-on): Likewise.
10649         * modules/canonicalize-lgpl (Depends-on): Likewise.
10650         * modules/ceil (Depends-on): Likewise.
10651         * modules/ceilf (Depends-on): Likewise.
10652         * modules/ceill (Depends-on): Likewise.
10653         * modules/chdir-long (Depends-on): Likewise.
10654         * modules/chown (Depends-on): Likewise.
10655         * modules/close (Depends-on): Likewise.
10656         * modules/connect (Depends-on): Likewise.
10657         * modules/cosl (Depends-on): Likewise.
10658         * modules/dirfd (Depends-on): Likewise.
10659         * modules/dprintf (Depends-on): Likewise.
10660         * modules/dprintf-posix (Depends-on): Likewise.
10661         * modules/error (Depends-on): Likewise.
10662         * modules/euidaccess (Depends-on): Likewise.
10663         * modules/expl (Depends-on): Likewise.
10664         * modules/faccessat (Depends-on): Likewise.
10665         * modules/fchdir (Depends-on): Likewise.
10666         * modules/fclose (Depends-on): Likewise.
10667         * modules/fcntl (Depends-on): Likewise.
10668         * modules/fdopendir (Depends-on): Likewise.
10669         * modules/fflush (Depends-on): Likewise.
10670         * modules/floor (Depends-on): Likewise.
10671         * modules/floorf (Depends-on): Likewise.
10672         * modules/floorl (Depends-on): Likewise.
10673         * modules/fnmatch (Depends-on): Likewise.
10674         * modules/fopen (Depends-on): Likewise.
10675         * modules/fprintf-posix (Depends-on): Likewise.
10676         * modules/frexp (Depends-on): Likewise.
10677         * modules/frexp-nolibm (Depends-on): Likewise.
10678         * modules/frexpl (Depends-on): Likewise.
10679         * modules/frexpl-nolibm (Depends-on): Likewise.
10680         * modules/fseek (Depends-on): Likewise.
10681         * modules/fsusage (Depends-on): Likewise.
10682         * modules/ftell (Depends-on): Likewise.
10683         * modules/ftello (Depends-on): Likewise.
10684         * modules/futimens (Depends-on): Likewise.
10685         * modules/getcwd (Depends-on): Likewise.
10686         * modules/getcwd-lgpl (Depends-on): Likewise.
10687         * modules/getdelim (Depends-on): Likewise.
10688         * modules/getdomainname (Depends-on): Likewise.
10689         * modules/getgroups (Depends-on): Likewise.
10690         * modules/gethostname (Depends-on): Likewise.
10691         * modules/getline (Depends-on): Likewise.
10692         * modules/getlogin_r (Depends-on): Likewise.
10693         * modules/getopt-posix (Depends-on): Likewise.
10694         * modules/getpeername (Depends-on): Likewise.
10695         * modules/getsockname (Depends-on): Likewise.
10696         * modules/getsockopt (Depends-on): Likewise.
10697         * modules/getsubopt (Depends-on): Likewise.
10698         * modules/getusershell (Depends-on): Likewise.
10699         * modules/glob (Depends-on): Likewise.
10700         * modules/grantpt (Depends-on): Likewise.
10701         * modules/iconv_open (Depends-on): Likewise.
10702         * modules/iconv_open-utf (Depends-on): Likewise.
10703         * modules/inet_ntop (Depends-on): Likewise.
10704         * modules/inet_pton (Depends-on): Likewise.
10705         * modules/ioctl (Depends-on): Likewise.
10706         * modules/isapipe (Depends-on): Likewise.
10707         * modules/isfinite (Depends-on): Likewise.
10708         * modules/isinf (Depends-on): Likewise.
10709         * modules/lchown (Depends-on): Likewise.
10710         * modules/ldexpl (Depends-on): Likewise.
10711         * modules/link (Depends-on): Likewise.
10712         * modules/linkat (Depends-on): Likewise.
10713         * modules/listen (Depends-on): Likewise.
10714         * modules/logl (Depends-on): Likewise.
10715         * modules/lstat (Depends-on): Likewise.
10716         * modules/mbrlen (Depends-on): Likewise.
10717         * modules/mbrtowc (Depends-on): Likewise.
10718         * modules/mbsinit (Depends-on): Likewise.
10719         * modules/mbsnrtowcs (Depends-on): Likewise.
10720         * modules/mbsrtowcs (Depends-on): Likewise.
10721         * modules/mbtowc (Depends-on): Likewise.
10722         * modules/memcmp (Depends-on): Likewise.
10723         * modules/mkdir (Depends-on): Likewise.
10724         * modules/mkdtemp (Depends-on): Likewise.
10725         * modules/mkfifo (Depends-on): Likewise.
10726         * modules/mkfifoat (Depends-on): Likewise.
10727         * modules/mknod (Depends-on): Likewise.
10728         * modules/mkostemp (Depends-on): Likewise.
10729         * modules/mkostemps (Depends-on): Likewise.
10730         * modules/mkstemp (Depends-on): Likewise.
10731         * modules/mkstemps (Depends-on): Likewise.
10732         * modules/mktime (Depends-on): Likewise.
10733         * modules/nanosleep (Depends-on): Likewise.
10734         * modules/open (Depends-on): Likewise.
10735         * modules/openat (Depends-on): Likewise.
10736         * modules/perror (Depends-on): Likewise.
10737         * modules/poll (Depends-on): Likewise.
10738         * modules/popen (Depends-on): Likewise.
10739         * modules/posix_spawn (Depends-on): Likewise.
10740         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10741         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10742         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10743         * modules/posix_spawnp (Depends-on): Likewise.
10744         * modules/pread (Depends-on): Likewise.
10745         * modules/printf-posix (Depends-on): Likewise.
10746         * modules/ptsname (Depends-on): Likewise.
10747         * modules/putenv (Depends-on): Likewise.
10748         * modules/pwrite (Depends-on): Likewise.
10749         * modules/readline (Depends-on): Likewise.
10750         * modules/readlink (Depends-on): Likewise.
10751         * modules/readlinkat (Depends-on): Likewise.
10752         * modules/recv (Depends-on): Likewise.
10753         * modules/recvfrom (Depends-on): Likewise.
10754         * modules/regex (Depends-on): Likewise.
10755         * modules/remove (Depends-on): Likewise.
10756         * modules/rename (Depends-on): Likewise.
10757         * modules/renameat (Depends-on): Likewise.
10758         * modules/rmdir (Depends-on): Likewise.
10759         * modules/round (Depends-on): Likewise.
10760         * modules/roundf (Depends-on): Likewise.
10761         * modules/roundl (Depends-on): Likewise.
10762         * modules/rpmatch (Depends-on): Likewise.
10763         * modules/select (Depends-on): Likewise.
10764         * modules/send (Depends-on): Likewise.
10765         * modules/sendto (Depends-on): Likewise.
10766         * modules/setenv (Depends-on): Likewise.
10767         * modules/setlocale (Depends-on): Likewise.
10768         * modules/setsockopt (Depends-on): Likewise.
10769         * modules/shutdown (Depends-on): Likewise.
10770         * modules/sigaction (Depends-on): Likewise.
10771         * modules/signbit (Depends-on): Likewise.
10772         * modules/sigprocmask (Depends-on): Likewise.
10773         * modules/sinl (Depends-on): Likewise.
10774         * modules/sleep (Depends-on): Likewise.
10775         * modules/snprintf (Depends-on): Likewise.
10776         * modules/snprintf-posix (Depends-on): Likewise.
10777         * modules/socket (Depends-on): Likewise.
10778         * modules/sprintf-posix (Depends-on): Likewise.
10779         * modules/sqrtl (Depends-on): Likewise.
10780         * modules/stat (Depends-on): Likewise.
10781         * modules/strchrnul (Depends-on): Likewise.
10782         * modules/strdup-posix (Depends-on): Likewise.
10783         * modules/strerror (Depends-on): Likewise.
10784         * modules/strerror_r-posix (Depends-on): Likewise.
10785         * modules/strndup (Depends-on): Likewise.
10786         * modules/strnlen (Depends-on): Likewise.
10787         * modules/strptime (Depends-on): Likewise.
10788         * modules/strsep (Depends-on): Likewise.
10789         * modules/strsignal (Depends-on): Likewise.
10790         * modules/strstr-simple (Depends-on): Likewise.
10791         * modules/strtod (Depends-on): Likewise.
10792         * modules/strtoimax (Depends-on): Likewise.
10793         * modules/strtok_r (Depends-on): Likewise.
10794         * modules/strtoumax (Depends-on): Likewise.
10795         * modules/symlink (Depends-on): Likewise.
10796         * modules/symlinkat (Depends-on): Likewise.
10797         * modules/tanl (Depends-on): Likewise.
10798         * modules/tcgetsid (Depends-on): Likewise.
10799         * modules/tmpfile (Depends-on): Likewise.
10800         * modules/trunc (Depends-on): Likewise.
10801         * modules/truncf (Depends-on): Likewise.
10802         * modules/truncl (Depends-on): Likewise.
10803         * modules/uname (Depends-on): Likewise.
10804         * modules/unlink (Depends-on): Likewise.
10805         * modules/unlockpt (Depends-on): Likewise.
10806         * modules/unsetenv (Depends-on): Likewise.
10807         * modules/usleep (Depends-on): Likewise.
10808         * modules/utimensat (Depends-on): Likewise.
10809         * modules/vasprintf (Depends-on): Likewise.
10810         * modules/vdprintf (Depends-on): Likewise.
10811         * modules/vdprintf-posix (Depends-on): Likewise.
10812         * modules/vfprintf-posix (Depends-on): Likewise.
10813         * modules/vprintf-posix (Depends-on): Likewise.
10814         * modules/vsnprintf (Depends-on): Likewise.
10815         * modules/vsnprintf-posix (Depends-on): Likewise.
10816         * modules/vsprintf-posix (Depends-on): Likewise.
10817         * modules/wcrtomb (Depends-on): Likewise.
10818         * modules/wcscasecmp (Depends-on): Likewise.
10819         * modules/wcscspn (Depends-on): Likewise.
10820         * modules/wcsdup (Depends-on): Likewise.
10821         * modules/wcsncasecmp (Depends-on): Likewise.
10822         * modules/wcsnrtombs (Depends-on): Likewise.
10823         * modules/wcspbrk (Depends-on): Likewise.
10824         * modules/wcsrtombs (Depends-on): Likewise.
10825         * modules/wcsspn (Depends-on): Likewise.
10826         * modules/wcsstr (Depends-on): Likewise.
10827         * modules/wcstok (Depends-on): Likewise.
10828         * modules/wcswidth (Depends-on): Likewise.
10829         * modules/wctob (Depends-on): Likewise.
10830         * modules/wctomb (Depends-on): Likewise.
10831         * modules/wctype (Depends-on): Likewise.
10832         * modules/wcwidth (Depends-on): Likewise.
10833         * modules/write (Depends-on): Likewise.
10834
10835 2011-05-03  Bruno Haible  <bruno@clisp.org>
10836
10837         Support for conditional dependencies.
10838         * doc/gnulib.texi (Module description): Document the syntax of
10839         conditional dependencies.
10840         * gnulib-tool: New option --conditional-dependencies.
10841         (func_usage): Document it.
10842         (cond_dependencies): New variable.
10843         (func_get_automake_snippet_conditional,
10844         func_get_automake_snippet_unconditional): New functions, extracted from
10845         func_get_automake_snippet.
10846         (func_get_automake_snippet): Use them.
10847         (sed_first_32_chars): New variable.
10848         (func_module_shellfunc_name): New function.
10849         (func_module_shellvar_name): New function.
10850         (func_module_conditional_name): New function.
10851         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
10852         func_cond_module_condition): New functions.
10853         (func_modules_transitive_closure): Add support for conditional
10854         dependencies.
10855         (func_emit_lib_Makefile_am): For a conditional module, enclose the
10856         conditional automake snippet in an automake conditional.
10857         (func_emit_autoconf_snippets): Emit shell functions that contain the
10858         code for conditional modules.
10859         (func_import, func_create_testdir): Update specification.
10860
10861 2011-05-03  Eric Blake  <eblake@redhat.com>
10862
10863         test-getaddrinfo: report error information
10864         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
10865
10866 2011-05-03  Jim Meyering  <meyering@redhat.com>
10867
10868         bootstrap: avoid build failure when $GZIP is set
10869         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
10870         program name.  If defined at all, it is supposed to list gzip options.
10871         Reported by Alan Curry in http://debbugs.gnu.org/8609
10872
10873 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
10874
10875         readme-release: new module with release instructions
10876         * modules/readme-release: New module.
10877         * top/README-release: New file, from coreutils, grep, diffutils.
10878         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10879
10880 2011-05-02  Eric Blake  <eblake@redhat.com>
10881
10882         fflush: also replace fclose when fixing fflush
10883         * modules/fflush (Depends-on): Add fclose.
10884         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
10885         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
10886         memstreams with no backing fd.
10887         * doc/posix-functions/fclose.texi (fclose): Document the use of
10888         fflush module to fix the bug.
10889         * tests/test-fclose.c (main): Relax test when fclose is used in
10890         isolation.
10891
10892         fclose: add some tests
10893         * modules/fclose-tests: New test module.
10894         * tests/test-fclose.c: New file.
10895         * doc/posix-functions/fclose.texi (fclose): Document the bug.
10896
10897         fclose: reduced dependencies
10898         * modules/fclose (Depends-on): Switch from fflush/fseeko to
10899         simpler lseek.
10900         * lib/fclose.c (rpl_fclose): Likewise.
10901         Reported by Simon Josefsson.
10902
10903         exit: drop remaining clients
10904         * modules/argmatch (Depends-on): Replace exit with stdlib.
10905         * modules/copy-file (Depends-on): Likewise.
10906         * modules/execute (Depends-on): Likewise.
10907         * modules/exitfail (Depends-on): Likewise.
10908         * modules/obstack (Depends-on): Likewise.
10909         * modules/pagealign_alloc (Depends-on): Likewise.
10910         * modules/pipe-filter-gi (Depends-on): Likewise.
10911         * modules/pipe-filter-ii (Depends-on): Likewise.
10912         * modules/savewd (Depends-on): Likewise.
10913         * modules/spawn-pipe (Depends-on): Likewise.
10914         * modules/wait-process (Depends-on): Likewise.
10915         * modules/xsetenv (Depends-on): Likewise.
10916         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
10917         * modules/git-merge-changelog (Depends-on): Likewise.
10918         * modules/long-options (Depends-on): Likewise.
10919         * modules/pt_chown (Depends-on): Likewise.
10920         * modules/sysexits (Depends-on): Likewise.
10921
10922         freading: relax license from LGPLv3+ to LGPLv2+
10923         * modules/freading (License): Relax LGPL version.
10924
10925 2011-05-02  Bruno Haible  <bruno@clisp.org>
10926
10927         fchdir: Remove unused dependencies.
10928         * modules/fchdir (Depends-on): Remove include_next.
10929
10930 2011-05-02  Bruno Haible  <bruno@clisp.org>
10931
10932         gnulib-tool: Refactor.
10933         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
10934         from func_emit_autoconf_snippets.
10935         (func_emit_autoconf_snippets): Use it.
10936
10937 2011-05-02  Simon Josefsson  <simon@josefsson.org>
10938
10939         * NEWS: Document removal of 'exit'.
10940         * modules/exit: Remove file.
10941
10942 2011-05-01  Bruno Haible  <bruno@clisp.org>
10943
10944         Update DEPENDENCIES.
10945         * DEPENDENCIES (gettext): Recommend the newest release.
10946         Reported by Simon Josefsson.
10947
10948 2011-05-01  Bruno Haible  <bruno@clisp.org>
10949
10950         gnulib-tool: Reduce code duplication.
10951         * gnulib-tool (func_emit_autoconf_snippets): New function.
10952         (func_import, func_create_testdir): Use it.
10953
10954 2011-04-30  Eric Blake  <eblake@redhat.com>
10955
10956         fclose: don't fail on non-seekable input stream
10957         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
10958         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
10959         since fflush is allowed to fail in that case.
10960
10961 2011-04-30  Bruno Haible  <bruno@clisp.org>
10962
10963         dup3: cleanup
10964         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
10965
10966 2011-04-30  Bruno Haible  <bruno@clisp.org>
10967
10968         netdb: Make it work in C++ mode.
10969         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
10970         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
10971         module.
10972         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
10973         gl_MODULE_INDICATOR_FOR_TESTS.
10974         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
10975         * modules/netdb-c++-tests: New file.
10976         * tests/test-netdb-c++.cc: New file.
10977
10978 2011-04-30  Bruno Haible  <bruno@clisp.org>
10979
10980         New modules 'vfscanf', 'vscanf'.
10981         * modules/vfscanf: New file.
10982         * modules/vscanf: New file.
10983         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
10984         here.
10985         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
10986         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
10987
10988 2011-04-30  Bruno Haible  <bruno@clisp.org>
10989
10990         passfd: Add comments.
10991         * lib/passfd.c: Add comments about platforms.
10992
10993 2011-04-30  Bruno Haible  <bruno@clisp.org>
10994
10995         sys_uio: Make <sys/uio.h> self-contained.
10996         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
10997         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
10998
10999 2011-04-30  Bruno Haible  <bruno@clisp.org>
11000
11001         sys_socket: Ensure 'struct iovec' definition.
11002         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
11003         <sys/socket.h>.
11004         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
11005
11006 2011-04-30  Bruno Haible  <bruno@clisp.org>
11007
11008         sys_uio: Protect definition of 'struct iovec'.
11009         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
11010         it as a C struct.
11011
11012 2011-04-30  Bruno Haible  <bruno@clisp.org>
11013
11014         manywarnings: fix indentation
11015         * m4/manywarnings.m4: Indent by 2 spaces consistently.
11016
11017 2011-04-30  Pádraig Brady <P@draigBrady.com>
11018
11019         manywarnings: add -Wno-missing-field-initializers if needed.
11020         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
11021         option if it's needed to allow initialization with { 0, }
11022
11023 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
11024
11025         announce-gen: cosmetic improvement
11026         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
11027
11028 2011-04-29  Jim Meyering  <meyering@redhat.com>
11029
11030         vc-list-files: indent with spaces, not TABs
11031         * build-aux/vc-list-files: Convert leading TABs to spaces,
11032         to match the style of most other files in gnulib.
11033
11034         announce-gen: indent with spaces, not TABs
11035         * build-aux/announce-gen: Convert all TABs to spaces, to match
11036         the style of most other files in gnulib.
11037
11038 2011-04-29  Eric Blake  <eblake@redhat.com>
11039
11040         quotearg: avoid uninitialized variable use
11041         * lib/quotearg.c (quoting_options_from_style): Initialize
11042         remaining fields, and ensure that custom styles are only used via
11043         quoting_options rather than quoting_style.
11044
11045 2011-04-29  Jim Meyering  <meyering@redhat.com>
11046
11047         maint.mk: remove unused VC-tag variable
11048         * top/maint.mk (VC-tag): Remove unused variable.
11049
11050 2011-04-29  Bruno Haible  <bruno@clisp.org>
11051
11052         netdb: fix gai_strerror replacements
11053         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
11054         * modules/netdb: Substitute it.
11055
11056 2011-04-29  Jim Meyering  <meyering@redhat.com>
11057
11058         test-getcwd.c: avoid new set-but-not-used warning
11059         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
11060         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
11061         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
11062         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
11063
11064         test-hash.c: avoid a new shadowing warning
11065         * tests/test-hash.c (main): Don't shadow "dup".
11066
11067 2011-04-28  Eric Blake  <eblake@redhat.com>
11068
11069         getaddrinfo: fix gai_strerror signature
11070         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
11071         and work around mingw with UNICODE defined.
11072         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
11073         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
11074         * modules/netdb (Makefile.am): Substitute it.
11075         * lib/netdb.in.h (gai_strerror): Declare replacement.
11076         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
11077         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
11078         the fix.
11079
11080         getsockopt: avoid compiler warning
11081         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
11082         Reported by Matthias Bolte.
11083
11084         tests: drop unused link dependency
11085         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
11086         * modules/dirent-safer-tests (Makefile.am): Likewise.
11087         * modules/fdopendir-tests (Makefile.am): Likewise.
11088         * modules/mkfifoat-tests (Makefile.am): Likewise.
11089         * modules/openat-safer-tests (Makefile.am): Likewise.
11090         * modules/openat-tests (Makefile.am): Likewise.
11091         * modules/readlinkat-tests (Makefile.am): Likewise.
11092         * modules/symlinkat-tests (Makefile.am): Likewise.
11093         * modules/linkat-tests (Makefile.am): Likewise.
11094         (Depends-on): Switch to filenamecat-lgpl.
11095         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
11096         LIBINTL.
11097         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
11098         * tests/test-linkat.c (main): Don't require xalloc.
11099
11100         hash, mgetgroups: drop xalloc dependency
11101         * lib/hash.c (includes): Adjust includes.
11102         * lib/mgetgroups.c (includes): Likewise.
11103         (xgetgroups): Move...
11104         * lib/xgetgroups.c: ...to new file.
11105         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
11106         * modules/xgetgroups: New file, split from...
11107         * modules/mgetgroups: ...here.
11108         (Depends-on): Add xalloc-oversized.
11109         * modules/hash (Depends-on): Likewise.
11110         * modules/hash-tests (Depends-on): Drop xalloc.
11111         (test_hash_LDADD): Drop unused library.
11112         * tests/test-hash.c (main): Break xalloc dependency.
11113         (includes): Drop unused include.
11114
11115         xalloc-oversized: new module
11116         * modules/xalloc-oversized: New module.
11117         * modules/xalloc (Depends-on): Add it.
11118         * lib/xalloc.h (xalloc_oversized): Move...
11119         * lib/xalloc-oversized.h: ...into new file.
11120
11121         utimecmp: drop dependency on xmalloc
11122         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
11123         due to memory pressure.
11124         * modules/utimecmp (Depends-on): Drop xalloc.
11125
11126 2011-04-27  Eric Blake  <eblake@redhat.com>
11127
11128         getcwd: fix mingw bugs
11129         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
11130         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
11131         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
11132
11133 2011-04-27  Bruno Haible  <bruno@clisp.org>
11134
11135         mkstemps: Ensure declaration on MacOS X 10.5.
11136         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
11137         * doc/glibc-functions/mkstemps.texi: Document header file problem on
11138         MacOS X.
11139
11140 2011-04-27  Bruno Haible  <bruno@clisp.org>
11141
11142         mkstemp: More documentation.
11143         * doc/posix-functions/mkstemp.texi: Document header file problem on
11144         MacOS X.
11145
11146 2011-04-27  Bruno Haible  <bruno@clisp.org>
11147
11148         mkstemp: Tweak configure message when cross-compiling.
11149         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
11150         result as a guess.
11151
11152 2011-04-27  Bruno Haible  <bruno@clisp.org>
11153
11154         clean-temp: Clarify what it does.
11155         * lib/clean-temp.h: Add more comments.
11156         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
11157         module.
11158         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
11159         * doc/glibc-functions/mkstemps.texi: Likewise.
11160         * doc/glibc-functions/mkostemps.texi: Likewise.
11161
11162 2011-04-27  Eric Blake  <eblake@redhat.com>
11163
11164         fchdir: avoid extra chdir and fix test
11165         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
11166         getcwd-lgpl.
11167         * lib/fchdir.c (get_name): Any absolute name will do; it does not
11168         have to be canonical.
11169         (canonicalize_file_name): Drop unused macro.
11170         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
11171
11172         filenamecat-lgpl: fix licence
11173         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
11174         when it was first created.
11175
11176         linkat, renameat: add missing dependency
11177         * modules/linkat (Depends-on): Require getcwd-lgpl.
11178         * modules/renameat (Depends-on): Likewise.
11179
11180         tests: reduce dependencies
11181         * tests/test-linkat.c (main): Use lighter-weight getcwd.
11182         * tests/test-renameat.c (main): Likewise.
11183         * modules/linkat-tests (Depends-on): Relax dependency.
11184         * modules/renameat-tests (Depends-on): Likewise.
11185         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
11186         dependency explicit.
11187
11188         save-cwd: reduce default dependency
11189         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
11190         * lib/save-cwd.c: Update comments.
11191         * NEWS: Document the semantic change.
11192
11193         getcwd: enhance tests
11194         * tests/test-getcwd-lgpl.c: New file, taken from...
11195         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
11196         repeat long path stress tests from m4 probe.
11197         * modules/getcwd-lgpl-tests: New module.
11198         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
11199         * m4/getcwd-abort-bug.m4: Update comment.
11200         * m4/getcwd-path-max.m4: Likewise.
11201
11202         getcwd-lgpl: new module
11203         * modules/getcwd-lgpl: New module.
11204         * lib/getcwd-lgpl.c: New file.
11205         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11206         * MODULES.html.sh (lacking POSIX:2008): Likewise.
11207         * modules/getcwd (configure.ac): Set C witness.
11208         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
11209
11210         getcwd: tweak comments
11211         * m4/getcwd-abort-bug.m4: Fix comments.
11212         * m4/getcwd-path-max.m4: Likewise.
11213         * m4/getcwd.m4: Likewise.
11214
11215 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11216         and Eric Blake  <eblake@redhat.com>
11217
11218         mkstemp: replace if system version uses wrong permissions
11219         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
11220         read/write mode bits set in file created by mkstemp.
11221         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
11222
11223 2011-04-27  Eric Blake  <eblake@redhat.com>
11224
11225         passfd: avoid compiler warning
11226         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
11227         Reported by Laine Stump.
11228
11229 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
11230
11231         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
11232         required by the NetBSD (and perhaps other 4.4BSD derived) join.
11233
11234 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11235         and Eric Blake  <eblake@redhat.com>
11236
11237         mkstemp: mention clean-temp module
11238         * lib/mkstemp.c: Add comment.
11239         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
11240
11241 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
11242
11243         inttypes: also provide default values for 32-bit tests
11244         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
11245         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
11246
11247 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11248
11249         strtoumax: remove dependency on strtoimax
11250         This is like the strtoull change of yesterday.
11251         * modules/strtoumax (Files): Add lib/strtoimax.c.
11252         (Depends-on): Remove strtoimax and add verify.
11253
11254         inttypes-incomplete: new module
11255         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
11256         all but the PRI* and SCN* parts of gl_INTTYPES_H.
11257         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
11258         of gl_INTTYPES_H.
11259         (gl_INTTYPES_H): Rewrite in terms of these new macros.
11260         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
11261         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
11262         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
11263         * modules/strtoumax, modules/xstrtol (Depends-on):
11264         Depend on inttypes-incomplete, not inttypes.
11265         * modules/inttypes-incomplete: New module, containing the contents
11266         of the old modules/inttypes module, except that the Files: section
11267         omits m4/inttypes-pri.m4, and the configure.ac section invokes
11268         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
11269         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
11270         (Depends-on): Depend only on inttypes-incomplete.
11271         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
11272
11273         inttypes: omit now-redundant strtoimax and strtoumax work
11274         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
11275         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
11276
11277         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
11278         This supports apps that need pointers to strtoimax and strtoumax,
11279         and ports to HP-UX 11.00 64.bit, which has macros that expand to
11280         nonexistent functions.  See
11281         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
11282         et seq.
11283         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
11284         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
11285         a macro.
11286         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11287
11288 2011-04-25  Simon Josefsson  <simon@josefsson.org>
11289
11290         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
11291
11292 2011-04-25  Bruno Haible  <bruno@clisp.org>
11293
11294         strtol, strtoul: Mark modules as obsolete.
11295         * modules/strtol (Status, Notice): New sections.
11296         * modules/strtoul (Status, Notice): New sections.
11297
11298 2011-04-25  Bruno Haible  <bruno@clisp.org>
11299
11300         strtod: Remove check for strtod, unless supporting old platforms.
11301         * modules/strtod-obsolete: New file.
11302         * m4/strtod-obsolete.m4: New file.
11303         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
11304         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
11305         * modules/strtod (Depends-on): Add strtod-obsolete.
11306         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
11307
11308 2011-04-25  Bruno Haible  <bruno@clisp.org>
11309
11310         strcase: Make module obsolete.
11311         * modules/strcase (Status, Notice): New sections.
11312
11313 2011-04-25  Bruno Haible  <bruno@clisp.org>
11314
11315         dup2: Remove check for dup2, unless supporting old obsolete platforms.
11316         * modules/dup2-obsolete: New file.
11317         * m4/dup2-obsolete.m4: New file.
11318         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
11319         gl_FUNC_DUP2_OBSOLETE is not also defined.
11320         * modules/dup2 (Depends-on): Add dup2-obsolete.
11321         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
11322
11323 2011-04-25  Bruno Haible  <bruno@clisp.org>
11324
11325         strnlen: Avoid memchr related link error on old obsolete platforms.
11326         * modules/memchr-obsolete: New file.
11327         * m4/memchr-obsolete.m4: New file.
11328         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
11329         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
11330         * modules/memchr (Depends-on): Add memchr-obsolete.
11331         * modules/strnlen (Depends-on): Likewise.
11332         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
11333
11334 2011-04-25  Jim Meyering  <meyering@redhat.com>
11335
11336         maint.mk: makefile_at_at_check extend and clean up
11337         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
11338         in addition to */Makefile.am.
11339         Exempt legitimate uses of @VAR@ notation, e.g.,
11340         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
11341         Remove obsolete coreutils-specific comment.
11342         Prompted by discussion here:
11343         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
11344
11345 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11346
11347         strtoul: remove dependency on strtol
11348         This is so that 'configure' need not check for strtol merely because
11349         the application needs strtoul.
11350         * modules/strtoul (Files): Add lib/strtol.c.
11351         (Depends-on): Remove strtol.
11352
11353         strtoull: remove dependency on strtoul
11354         This is like the strtoll change.
11355         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
11356         (Depends-on): Remove strtoul.
11357
11358         strtoll: remove dependency on strtol
11359         This is so that 'configure' need not check for strtol merely because
11360         the application needs strtoll.
11361         * modules/strtoll (Files): Add lib/strtol.c.
11362         (Depends-on): Remove strtol.
11363
11364 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11365
11366         inttypes: Move some configure check to module 'imaxdiv'.
11367         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
11368         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
11369         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
11370
11371 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11372
11373         inttypes: Move some configure check to module 'imaxabs'.
11374         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
11375         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
11376         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
11377
11378 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11379
11380         inttypes: Remove configure tests that are not needed since 2009-12-31.
11381         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
11382         gl_cv_header_working_inttypes_h.
11383
11384 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11385
11386         * modules/strnlen (Depends-on): Remove memchr.
11387         The strnlen implementation doesn't need the memchr module's fixes; see
11388         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
11389
11390         strtol: remove dependency on wchar
11391         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
11392         * modules/strtol (Depends-on): Remove wchar.
11393
11394 2011-04-21  Eric Blake  <eblake@redhat.com>
11395
11396         passfd: fix test regression on Linux
11397         * modules/passfd-tests (configure.ac): Correct socketpair check.
11398
11399         passfd: speed up configure and drop unused code
11400         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
11401         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
11402         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
11403         Instead of probing at configure for unix_scm_rights_bsd44_way,
11404         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
11405         check to a struct member probe.
11406         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
11407         (sendfd, recvfd): Update preprocessor checks.
11408         * modules/passfd (Files): Reflect rename, and drop unused file.
11409         (Depends-on): Drop unused dependency.
11410
11411         passfd: allow compilation on mingw
11412         * modules/sys_socket (Depends-on): Add sys_uio.
11413         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
11414         iovec and a minimal struct msghdr.
11415         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
11416         * tests/test-sys_socket.c (main): Enhance test.
11417         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
11418         guaranteed to provide what we need.
11419         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
11420         * modules/passfd-tests (Depends-on): Add sys_wait.
11421         * tests/test-passfd.c (main): Skip test on mingw, for now.
11422         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
11423         partial 'struct msghdr' implementation.
11424
11425         sys_uio: new module
11426         * modules/sys_uio: New module.
11427         * modules/sys_uio-tests: Likewise.
11428         * lib/sys_uio.in.h: New file.
11429         * m4/sys_uio_h.m4: Likewise.
11430         * tests/test-sys_uio.c: Likewise.
11431         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11432         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11433
11434 2011-04-20  Jim Meyering  <meyering@redhat.com>
11435
11436         useless-if-before-free: avoid false-positive
11437         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11438         disjunct so that it too requires a terminating ";".  Without that,
11439         this script would identify as useless one statement from gcc that
11440         was not:
11441           if (aligned_ptr)
11442             free (((void **) aligned_ptr) [-1]);
11443
11444 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11445
11446         doc: update users.txt.
11447         * users.txt: Add barcode.
11448
11449 2011-04-19  Bruno Haible  <bruno@clisp.org>
11450
11451         ioctl: Remove link dependency on native Windows.
11452         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11453         (gl_close_fn, gl_ioctl_fn): New types.
11454         (struct fd_hook): Renamed from struct close_hook. Change type of
11455         private_close_fn field. Add private_ioctl_fn field.
11456         (close_hook_fn): Add parameter for primary close method.
11457         (execute_close_hooks, execute_all_close_hooks): Likewise.
11458         (ioctl_hook_fn): New type.
11459         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11460         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11461         argument.
11462         (unregister_fd_hook): Renamed from unregister_close_hook.
11463         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11464         Don't include <unistd.h>.
11465         (close): Remove undef.
11466         (anchor): Update.
11467         (execute_close_hooks): Add argument for primary close method.
11468         (execute_all_close_hooks): Likewise.
11469         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11470         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11471         argument. Allow each argument to be NULL.
11472         (unregister_fd_hook): Renamed from unregister_close_hook.
11473         * lib/close.c (rpl_close): Pass 'close' function pointer to
11474         execute_all_close_hooks.
11475         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11476         (primary_ioctl): New function.
11477         (ioctl): Don't call ioctlsocket here. Instead, call
11478         execute_all_ioctl_hooks.
11479         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11480         close method.
11481         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11482         (fd_sockets_hook): Renamed from close_sockets_hook.
11483         (gl_sockets_startup, gl_sockets_cleanup): Update.
11484         * modules/fd-hook: Renamed from modules/close-hook. Update.
11485         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11486         * modules/sockets (Depends-on): Likewise.
11487         * modules/ioctl (Depends-on): Add fd-hook.
11488         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11489         GNULIB_SOCKET.
11490
11491 2011-04-19  Bruno Haible  <bruno@clisp.org>
11492
11493         Move the support of O_NONBLOCK in open() to the 'open' module.
11494         * modules/nonblocking (Depends-on): Remove 'open'.
11495         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11496         gl_cv_have_open_O_NONBLOCK.
11497         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11498         O_NONBLOCK support.
11499         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11500
11501 2011-04-17  Bruno Haible  <bruno@clisp.org>
11502
11503         pipe2: Simplify code.
11504         * lib/pipe2.c (pipe2): Reduce code duplication.
11505
11506 2011-04-17  Bruno Haible  <bruno@clisp.org>
11507
11508         nonblocking: Add comment.
11509         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11510
11511 2011-04-17  Bruno Haible  <bruno@clisp.org>
11512
11513         nonblocking: Add tests for sockets.
11514         * tests/test-nonblocking-socket.sh: New file.
11515         * tests/test-nonblocking-socket-main.c: New file.
11516         * tests/test-nonblocking-socket-child.c: New file.
11517         * tests/test-nonblocking-socket.h: New file.
11518         * tests/socket-server.h: New file.
11519         * tests/socket-client.h: New file.
11520         * modules/nonblocking-socket-tests: New file.
11521         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11522
11523 2011-04-17  Bruno Haible  <bruno@clisp.org>
11524
11525         nonblocking: Add tests for pipes.
11526         * tests/test-nonblocking-pipe.sh: New file.
11527         * tests/test-nonblocking-pipe-main.c: New file.
11528         * tests/test-nonblocking-pipe-child.c: New file.
11529         * tests/test-nonblocking-pipe.h: New file.
11530         * tests/test-nonblocking-writer.h: New file.
11531         * tests/test-nonblocking-reader.h: New file.
11532         * tests/test-nonblocking-misc.h: New file.
11533         * modules/nonblocking-pipe-tests: New file.
11534         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11535
11536 2011-04-16  Bruno Haible  <bruno@clisp.org>
11537
11538         gettext: Clarify the needed programmer actions.
11539         * modules/gettext (Notice): New field.
11540         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11541
11542 2011-04-16  Bruno Haible  <bruno@clisp.org>
11543
11544         strchrnul: Tweak last commit.
11545         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11546         bug.
11547         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11548         as in _GL_FUNCDECL_SYS.
11549         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11550         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11551
11552 2011-04-15  Eric Blake  <eblake@redhat.com>
11553
11554         strchrnul: work around cygwin bug
11555         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11556         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11557         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11558         * modules/string (Makefile.am): Substitute it.
11559         * lib/string.in.h (strchrnul): Use it.
11560
11561 2011-04-15  Bruno Haible  <bruno@clisp.org>
11562
11563         Don't require lib/stdio-write.c when only module 'stdio' is used.
11564         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11565         invocation.
11566         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11567
11568 2011-04-14  Bruno Haible  <bruno@clisp.org>
11569
11570         Support non-blocking pipe I/O in read() on native Windows.
11571         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11572         (read): New declaration.
11573         * lib/read.c: New file.
11574         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11575         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11576         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11577         vscanf): New declarations.
11578         * lib/stdio-read.c: New file.
11579         * m4/read.m4: New file.
11580         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11581         REPLACE_READ.
11582         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11583         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11584         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11585         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11586         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11587         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11588         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11589         * modules/read: New file.
11590         * modules/nonblocking (Files): Add lib/stdio-read.c.
11591         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11592         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11593         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11594         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11595         * modules/pread (Depends-on): Add read.
11596         * modules/safe-read (Depends-on): Likewise.
11597         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11598         gets, scanf, vfscanf, vscanf): Verify signatures.
11599         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11600         problem with non-blocking pipes.
11601         * doc/posix-functions/fgetc.texi: Likewise.
11602         * doc/posix-functions/fgets.texi: Likewise.
11603         * doc/posix-functions/fread.texi: Likewise.
11604         * doc/posix-functions/fscanf.texi: Likewise.
11605         * doc/posix-functions/getc.texi: Likewise.
11606         * doc/posix-functions/getchar.texi: Likewise.
11607         * doc/posix-functions/gets.texi: Likewise.
11608         * doc/posix-functions/scanf.texi: Likewise.
11609         * doc/posix-functions/vfscanf.texi: Likewise.
11610         * doc/posix-functions/vscanf.texi: Likewise.
11611
11612 2011-04-14  Bruno Haible  <bruno@clisp.org>
11613
11614         Support non-blocking pipe I/O in write() on native Windows.
11615         * lib/write.c (rpl_write): Split a write request that failed merely
11616         because the byte count was larger than the pipe buffer's size.
11617         * doc/posix-functions/write.texi: Mention the problem with large byte
11618         counts.
11619
11620 2011-04-14  Bruno Haible  <bruno@clisp.org>
11621
11622         wchar: Ensure that wchar_t gets defined on uClibc.
11623         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11624         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11625
11626 2011-04-13  Bruno Haible  <bruno@clisp.org>
11627
11628         safe-write, full-read: Avoid unnecessary compilation units.
11629         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11630         (Depends-on): Remove safe-read. Add ssize_t.
11631         * modules/full-read (Files): Add lib/full-write.c.
11632         (Depends-on): Add full-write.
11633
11634 2011-04-13  Bruno Haible  <bruno@clisp.org>
11635
11636         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11637         * modules/pwrite (Depends-on): Add 'write'.
11638
11639 2011-04-13  Bruno Haible  <bruno@clisp.org>
11640
11641         Support non-blocking pipe I/O in write() on native Windows.
11642         * lib/unistd.in.h (write): Enable replacement also if
11643         GNULIB_UNISTD_H_NONBLOCKING is 1.
11644         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11645         (rpl_write): When failing to write on a non-blocking pipe, change
11646         errno from ENOSPC to EAGAIN.
11647         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11648         putchar, puts, vfprintf, vprintf): Enable replacement also if
11649         GNULIB_STDIO_H_NONBLOCKING is 1.
11650         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11651         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11652         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11653         CALL_WITH_SIGPIPE_EMULATION.
11654         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11655         * m4/nonblocking.m4: New file.
11656         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11657         for non-blocking I/O support.
11658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11659         GNULIB_UNISTD_H_NONBLOCKING.
11660         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11661         required for non-blocking I/O support.
11662         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11663         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11664         lib/stdio-write.c, m4/asm-underscore.m4.
11665         (Depends-on): Add stdio, unistd.
11666         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11667         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11668         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11669         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11670         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11671         problem with non-blocking pipes.
11672         * doc/posix-functions/fputc.texi: Likewise.
11673         * doc/posix-functions/fputs.texi: Likewise.
11674         * doc/posix-functions/fwrite.texi: Likewise.
11675         * doc/posix-functions/printf.texi: Likewise.
11676         * doc/posix-functions/putc.texi: Likewise.
11677         * doc/posix-functions/putchar.texi: Likewise.
11678         * doc/posix-functions/puts.texi: Likewise.
11679         * doc/posix-functions/vfprintf.texi: Likewise.
11680         * doc/posix-functions/vprintf.texi: Likewise.
11681         * doc/posix-functions/write.texi: Likewise.
11682
11683 2011-04-10  Jim Meyering  <meyering@redhat.com>
11684
11685         maint.mk: prohibit doubled words
11686         Detect them also when they're separated by a newline.
11687         There are 3 ways to customize it:
11688           - disable the test on a per file basis, as usual with rules using
11689             $(VC_LIST_EXCEPT)
11690           - replace the default doubled-word-selecting regexp (affects all files)
11691           - ignore a particular file-vs-doubled-word match
11692         I nearly used that last one to ignore the "is is" match in
11693         coreutils' NEWS file, since the text was "ls -is is ..."
11694         To do that, I would have added this line to cfg.mk:
11695           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11696         but it would have ignored any "is is" match in NEWS.
11697         Low probability, but still...
11698         Instead, I changed the text, slightly:
11699           -  ls -is is now consistent with ls -lis in ignoring values returned
11700           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11701         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11702         (prohibit_doubled_word_): Define.
11703         (sc_prohibit_doubled_word): New rule.
11704         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11705
11706 2011-04-10  Jim Meyering  <meyering@redhat.com>
11707
11708         maint: fix doubled-word typo in comment
11709         * m4/gethostname.m4: s/is is/it is/
11710         * m4/getdomainname.m4: Likewise.
11711
11712 2011-04-10  Jim Meyering  <meyering@redhat.com>
11713
11714         maint: remove doubled word: s/it it/it/
11715         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11716
11717 2011-04-10  Jim Meyering  <meyering@redhat.com>
11718
11719         maint.mk: remove useless semicolon and backslash
11720         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11721         semicolon and backslash.
11722
11723 2011-04-10  Bruno Haible  <bruno@clisp.org>
11724
11725         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11726         * modules/stdint-tests (Depends-on): Add wchar.
11727
11728 2011-04-10  Jim Meyering  <meyering@redhat.com>
11729
11730         maint: remove doubled words in comments, e.g., s/a a/a/
11731         * lib/strptime.c (day_of_the_week): s/the the/the/
11732         * tests/test-chown.h (test_chown): s/a a/a/
11733
11734         test-chown.h: correct a cast
11735         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11736         when the destination is a stat.st_gid.
11737
11738 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11739
11740         getaddrinfo: Fix test for sa_len member.
11741         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11742         include <sys/types.h> before <sys/socket.h>.
11743
11744 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11745
11746         maint: change "can not" to "cannot"
11747         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11748         boundaries.
11749
11750 2011-04-09  Jim Meyering  <meyering@redhat.com>
11751
11752         maint: change "a a" to "a"
11753         * tests/test-lchown.h (test_lchown): s/a a/a/
11754
11755         maint.mk: prohibit \<the the\>
11756         * top/maint.mk (sc_prohibit_the_the): New rule.
11757
11758         maint: fix "the the" in comment
11759         * lib/count-one-bits.h: s/the the/the/
11760
11761         maint: change "can not" to "cannot"
11762         But do not change the occurrences in maintain.texi or in
11763         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11764         * doc/gnulib-tool.texi: s/can not/cannot/
11765         * doc/posix-functions/accept.texi (accept): Likewise.
11766         * doc/posix-functions/socket.texi (socket): Likewise.
11767         * lib/mbrtowc.c: Likewise.
11768
11769         maint.mk: prohibit use of "can not"
11770         * top/maint.mk (sc_prohibit_can_not): New rule.
11771         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11772
11773 2011-04-09  Bruno Haible  <bruno@clisp.org>
11774
11775         careadlinkat: Guard against misuse of careadlinkatcwd.
11776         * lib/careadlinkat.c: Include <stdlib.h>.
11777         (careadlinkatcwd): Check that the fd argument is as expected.
11778
11779 2011-04-09  Bruno Haible  <bruno@clisp.org>
11780
11781         careadlinkat: Use common coding style.
11782         * lib/careadlinkat.c: Move gnulib includes after system includes.
11783
11784 2011-04-09  Bruno Haible  <bruno@clisp.org>
11785
11786         careadlinkat: Clarify specification.
11787         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11788         (careadlinkatcwd): Add comment.
11789         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11790
11791 2011-04-09  Bruno Haible  <bruno@clisp.org>
11792
11793         areadlinkat: Avoid link error on many platforms.
11794         * modules/areadlinkat (Depends-on): Add areadlink.
11795
11796 2011-04-09  Bruno Haible  <bruno@clisp.org>
11797
11798         allocator, careadlinkat: Fix double-inclusion guard.
11799         * lib/allocator.h: Fix double-inclusion guard.
11800         * lib/careadlinkat.h: Likewise.
11801
11802 2011-04-09  Bruno Haible  <bruno@clisp.org>
11803
11804         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11805         * lib/relocwrapper.c: Update dependencies hierarchy.
11806         * build-aux/install-reloc: Update list of files to be compiled.
11807         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11808         lib/allocator.[hc].
11809
11810 2011-04-08  Eric Blake  <eblake@redhat.com>
11811
11812         strftime: silence gnulib-tool warning
11813         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11814
11815 2011-04-08  Bruno Haible  <bruno@clisp.org>
11816
11817         verify: Fix syntax error with GCC 4.6 in C++ mode.
11818         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11819         (HAVE_STATIC_ASSERT): New macro.
11820         (verify_true, verify): Use 'static_assert' if it is supported and
11821         '_Static_assert' is not supported.
11822
11823 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11824
11825         allocator: New module.
11826         * modules/allocator, lib/allocator.c: New files.
11827         * lib/allocator.h (stdlib_allocator): New decl.
11828         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11829         Remove.  Do not include <stdlib.h>.
11830         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11831         * modules/careadlinkat (Files): Remove lib/allocator.h.
11832         (Depends-on): Add allocator.
11833
11834         stdlib: let modules use system malloc, realloc
11835         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11836         if !_GL_USE_STDLIB_ALLOC.
11837         (malloc, realloc): Limit this change to a smaller scope.
11838
11839         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11840         (malloc, realloc): Don't #undef; no longer needed.
11841         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11842         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11843         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11844         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11845         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11846         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11847         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11848         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11849
11850         careadlinkat: rename members to avoid problem
11851         * lib/allocator.h (struct allocator): Rename members from
11852         malloc/realloc to allocate/reallocate, to avoid problems if malloc
11853         and realloc are #define'd.  Reported by Eric Blake in
11854         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
11855         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
11856
11857 2011-04-08  Eric Blake  <eblake@redhat.com>
11858
11859         nonblocking: reduce dependency
11860         * tests/test-nonblocking.c: Only test sockets when in use.
11861         * modules/nonblocking-tests (Depends-on): Drop socket.
11862         (Makefile.am): Link even if sockets are not present.
11863         * modules/pipe2-tests (Makefile.am): Likewise.
11864         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
11865
11866         pipe2: fix O_NONBLOCK support on mingw
11867         * modules/pipe2 (Depends-on): Add nonblocking.
11868         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
11869         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
11870         * tests/test-nonblocking.c (main): Likewise.
11871         * modules/pipe2-tests (Makefile.am): Avoid link failure.
11872
11873         fcntl-h: fix O_ACCMODE on cygwin
11874         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
11875         * lib/fcntl.in.h (O_ACCMODE): Fix it.
11876
11877         pipe-filter: drop O_NONBLOCK workarounds
11878         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
11879         * modules/pipe-filter-ii (Depends-on): Likewise.
11880         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
11881
11882         nonblocking: provide O_NONBLOCK for mingw
11883         * modules/nonblocking (Depends-on): Add open.
11884         (configure.ac): Set new witness macro.
11885         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
11886         * modules/fcntl-h (Makefile.am): Substitute it.
11887         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
11888         nonblocking module is in use.
11889         * lib/nonblocking.c: Adjust portability test.
11890         * lib/open.c (open): Don't let native open see gnulib flag.
11891         * tests/test-fcntl-h.c (main): Enhance test.
11892         * tests/test-open.h (test_open): Likewise.
11893         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
11894
11895         careadlinkat: fix compilation error on mingw
11896         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
11897         within struct allocator.
11898
11899 2011-04-06  Eric Blake  <eblake@redhat.com>
11900
11901         binary-io: relicense under LGPLv2+
11902         * modules/binary-io (License): Relax to LGPLv2+.
11903         Requested for libvirt, and required by pipe2.
11904
11905 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
11906
11907         verify: use _Static_assert if available
11908         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
11909         (verify_true, verify): Use it if available.  This generates better
11910         diagnostics with GCC 4.6.0 and later.
11911
11912 2011-04-05  Bruno Haible  <bruno@clisp.org>
11913
11914         Remove leftover generated .h files after config.status changed.
11915
11916         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
11917         GL_GENERATE_ALLOCA_H.
11918         * modules/alloca-opt (Makefile.am): Remove alloca.h if
11919         GL_GENERATE_ALLOCA_H evaluates to false.
11920
11921         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
11922         GL_GENERATE_ARGZ_H.
11923         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
11924         evaluates to false.
11925
11926         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
11927         GL_GENERATE_BYTESWAP_H.
11928         * modules/byteswap (Makefile.am): Remove byteswap.h if
11929         GL_GENERATE_BYTESWAP_H evaluates to false.
11930
11931         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
11932         GL_GENERATE_ERRNO_H.
11933         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
11934         evaluates to false.
11935
11936         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
11937         GL_GENERATE_FLOAT_H.
11938         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
11939         evaluates to false.
11940
11941         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
11942         GL_GENERATE_FNMATCH_H.
11943         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
11944         GL_GENERATE_FNMATCH_H evaluates to false.
11945
11946         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
11947         GL_GENERATE_GLOB_H.
11948         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
11949         evaluates to false.
11950
11951         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
11952         automake conditional GL_GENERATE_ICONV_H.
11953         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
11954         evaluates to false.
11955
11956         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
11957         GL_GENERATE_NETINET_IN_H.
11958         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
11959         GL_GENERATE_NETINET_IN_H evaluates to false.
11960
11961         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
11962         conditional GL_GENERATE_PTHREAD_H.
11963         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
11964         * modules/pthread (Makefile.am): Remove pthread.h if
11965         GL_GENERATE_PTHREAD_H evaluates to false.
11966
11967         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
11968         GL_GENERATE_SCHED_H.
11969         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
11970         evaluates to false.
11971
11972         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
11973         conditional GL_GENERATE_SELINUX_CONTEXT_H.
11974         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
11975         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
11976
11977         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
11978         GL_GENERATE_STDARG_H.
11979         * modules/stdarg (Makefile.am): Remove stdarg.h if
11980         GL_GENERATE_STDARG_H evaluates to false.
11981
11982         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
11983         GL_GENERATE_STDBOOL_H.
11984         * modules/stdbool (Makefile.am): Remove stdbool.h if
11985         GL_GENERATE_STDBOOL_H evaluates to false.
11986
11987         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
11988         conditional GL_GENERATE_STDDEF_H.
11989         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
11990         * modules/stddef (Makefile.am): Remove stddef.h if
11991         GL_GENERATE_STDDEF_H evaluates to false.
11992
11993         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
11994         GL_GENERATE_STDINT_H.
11995         * modules/stdint (Makefile.am): Remove stdint.h if
11996         GL_GENERATE_STDINT_H evaluates to false.
11997
11998         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
11999         GL_GENERATE_SYSEXITS_H.
12000         * modules/sysexits (Makefile.am): Remove sysexits.h if
12001         GL_GENERATE_SYSEXITS_H evaluates to false.
12002
12003         Reported by Karl Berry and Ralf Wildenhues.
12004
12005 2011-04-05  Bruno Haible  <bruno@clisp.org>
12006
12007         Ensure to rebuild generated .h files when config.status has changed.
12008         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
12009         config.status.
12010         * modules/ctype (Makefile.am): Likewise.
12011         * modules/dirent (Makefile.am): Likewise.
12012         * modules/errno (Makefile.am): Likewise.
12013         * modules/fcntl-h (Makefile.am): Likewise.
12014         * modules/float (Makefile.am): Likewise.
12015         * modules/getopt-posix (Makefile.am): Likewise.
12016         * modules/glob (Makefile.am): Likewise.
12017         * modules/iconv-h (Makefile.am): Likewise.
12018         * modules/inttypes (Makefile.am): Likewise.
12019         * modules/langinfo (Makefile.am): Likewise.
12020         * modules/locale (Makefile.am): Likewise.
12021         * modules/math (Makefile.am): Likewise.
12022         * modules/netdb (Makefile.am): Likewise.
12023         * modules/netinet_in (Makefile.am): Likewise.
12024         * modules/poll-h (Makefile.am): Likewise.
12025         * modules/pthread (Makefile.am): Likewise.
12026         * modules/pty (Makefile.am): Likewise.
12027         * modules/sched (Makefile.am): Likewise.
12028         * modules/search (Makefile.am): Likewise.
12029         * modules/selinux-h (Makefile.am): Likewise.
12030         * modules/signal (Makefile.am): Likewise.
12031         * modules/spawn (Makefile.am): Likewise.
12032         * modules/stdarg (Makefile.am): Likewise.
12033         * modules/stdbool (Makefile.am): Likewise.
12034         * modules/stddef (Makefile.am): Likewise.
12035         * modules/stdint (Makefile.am): Likewise.
12036         * modules/stdio (Makefile.am): Likewise.
12037         * modules/stdlib (Makefile.am): Likewise.
12038         * modules/string (Makefile.am): Likewise.
12039         * modules/strings (Makefile.am): Likewise.
12040         * modules/sys_file (Makefile.am): Likewise.
12041         * modules/sys_ioctl (Makefile.am): Likewise.
12042         * modules/sys_select (Makefile.am): Likewise.
12043         * modules/sys_socket (Makefile.am): Likewise.
12044         * modules/sys_stat (Makefile.am): Likewise.
12045         * modules/sys_time (Makefile.am): Likewise.
12046         * modules/sys_times (Makefile.am): Likewise.
12047         * modules/sys_utsname (Makefile.am): Likewise.
12048         * modules/sys_wait (Makefile.am): Likewise.
12049         * modules/sysexits (Makefile.am): Likewise.
12050         * modules/termios (Makefile.am): Likewise.
12051         * modules/time (Makefile.am): Likewise.
12052         * modules/unistd (Makefile.am): Likewise.
12053         * modules/wchar (Makefile.am): Likewise.
12054         * modules/wctype-h (Makefile.am): Likewise.
12055         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
12056
12057 2011-04-05  Bruno Haible  <bruno@clisp.org>
12058
12059         pipe2: Relicense under LGPLv2+.
12060         * modules/pipe2 (License): Change to LGPLv2+.
12061         Requested by Eric Blake, for libvirt.
12062
12063 2011-04-05  Bruce Korb  <bkorb@gnu.org>
12064
12065         bootstrap: compute gnulib_extra_files after updating build_aux
12066         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
12067         change build_aux or also supply gnulib_extra_files.  Handle correctly.
12068
12069 2011-04-05  Eric Blake  <eblake@redhat.com>
12070
12071         bootstrap: preserve git whitelist item sorting
12072         * build-aux/bootstrap (sort_patterns): New function.
12073         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
12074
12075 2011-04-05  Simon Josefsson  <simon@josefsson.org>
12076
12077         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
12078         sc_space_tab check.
12079
12080 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
12081
12082         areadlink, areadlinkat: rewrite in terms of careadlinkat
12083         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
12084         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
12085         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
12086         (malloc, realloc): Remove #undefs.
12087         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
12088         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
12089         readlink, ssize_t, stdint, unistd.
12090         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
12091         areadlink, stdint.
12092
12093         careadlinkat: new module
12094         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
12095         * modules/careadlinkat: New files, written by me with
12096         a review and feedback from Ben Pfaff in
12097         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
12098
12099 2011-04-01  Bruno Haible  <bruno@clisp.org>
12100
12101         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
12102         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
12103         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
12104         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
12105         Reported by Bruce Korb <bruce.korb@gmail.com>.
12106
12107 2011-04-01  Bruno Haible  <bruno@clisp.org>
12108
12109         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
12110         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
12111         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
12112         * modules/wcpcpy (Depends-on): Add extensions.
12113         * modules/wcpncpy (Depends-on): Likewise.
12114         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
12115         systems.
12116         * doc/posix-functions/wcpncpy.texi: Likewise.
12117         * doc/posix-functions/wcwidth.texi: Likewise.
12118
12119 2011-03-31  Eric Blake  <eblake@redhat.com>
12120
12121         nonblocking: fix mingw test failures
12122         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
12123         non-blocking flag on regular file.
12124         (get_nonblocking_flag): Set errno on invalid fd.
12125         * tests/test-nonblocking.c (main): Avoid test failure on
12126         directories if fchdir is not active.
12127         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
12128
12129 2011-03-31  Bruno Haible  <bruno@clisp.org>
12130
12131         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
12132         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
12133         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
12134         Reported by Simon Josefsson <simon@josefsson.org>.
12135
12136 2011-03-31  Bruno Haible  <bruno@clisp.org>
12137         and Eric Blake  <eblake@redhat.com>
12138
12139         nonblocking: new module
12140         * modules/nonblocking: New module.
12141         * modules/nonblocking-tests: Likewise.
12142         * lib/nonblocking.h: New file.
12143         * lib/nonblocking.c: Likewise.
12144         * tests/test-nonblocking.c: New test.
12145         * lib/ioctl.c (ioctl) [mingw]: Update comment.
12146
12147 2011-03-30  Bruno Haible  <bruno@clisp.org>
12148
12149         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
12150         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
12151         instead of 'printf' format for GCC >= 4.4.
12152         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
12153         (fprintf, printf, vfprintf, vprintf): Declare with
12154         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
12155         the system's vfprintf() function.
12156         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
12157
12158 2011-03-30  Eric Blake  <eblake@redhat.com>
12159
12160         passfd: fix scoping bug
12161         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
12162         before sendmsg/recvmsg.
12163
12164         passfd: standardize coding conventions
12165         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
12166         can be learned at compile time.
12167         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
12168         ifdefs.
12169         (sendfd, recvfd): Follow gnulib code conventions.
12170
12171         passfd: fix incorrect sendmsg arguments
12172         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
12173         incorrect msg_controllen value.
12174         * modules/passfd-tests (Depends-on): Check for alarm.
12175         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
12176         Reported by Bastien ROUCARIES.
12177
12178 2011-03-30  Bruno Haible  <bruno@clisp.org>
12179
12180         c-strcasestr: Relicense under LGPLv2+.
12181         * modules/c-strcasestr (License): Change to LGPLv2+.
12182         Requested by Eric Blake, for libvirt.
12183
12184 2011-03-30  Simon Josefsson  <simon@josefsson.org>
12185
12186         * users.txt: Add libidn2.  Fix libtasn1 link.
12187
12188 2011-03-30  Jim Meyering  <meyering@redhat.com>
12189
12190         tests: readlink* ("",... fails with EINVAL on newer kernels
12191         readlink and readlinkat have typically failed with ENOENT for
12192         the invalid, empty file name,  "".  However, with the advent
12193         of linux-2.6.39, they fail with EINVAL.
12194         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
12195         when operating on the empty file name.
12196         * tests/test-readlink.h (test_readlink): Likewise.
12197
12198 2011-03-29  Bruno Haible  <bruno@clisp.org>
12199
12200         Relicense some modules under LGPLv2+, for libidn2.
12201         * modules/array-mergesort (License): Change to LGPLv2+.
12202         * modules/c-strcaseeq (License): Likewise.
12203         * modules/striconveh (License): Likewise.
12204         * modules/striconveha (License): Likewise.
12205         * modules/uniconv/base (License): Likewise.
12206         * modules/uniconv/u8-conv-from-enc (License): Likewise.
12207         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
12208         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
12209         * modules/unictype/base (License): Likewise.
12210         * modules/unictype/bidiclass-of (License): Likewise.
12211         * modules/unictype/category-M (License): Likewise.
12212         * modules/unictype/category-none (License): Likewise.
12213         * modules/unictype/category-of (License): Likewise.
12214         * modules/unictype/category-test (License): Likewise.
12215         * modules/unictype/category-test-withtable (License): Likewise.
12216         * modules/unictype/combining-class (License): Likewise.
12217         * modules/unictype/joiningtype-of (License): Likewise.
12218         * modules/unictype/scripts (License): Likewise.
12219         * modules/uninorm/base (License): Likewise.
12220         * modules/uninorm/canonical-decomposition (License): Likewise.
12221         * modules/uninorm/composition (License): Likewise.
12222         * modules/uninorm/decompose-internal (License): Likewise.
12223         * modules/uninorm/decomposition-table (License): Likewise.
12224         * modules/uninorm/nfc (License): Likewise.
12225         * modules/uninorm/nfd (License): Likewise.
12226         * modules/uninorm/u32-normalize (License): Likewise.
12227         * modules/unistr/base (License): Likewise.
12228         * modules/unistr/u32-cpy (License): Likewise.
12229         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
12230         * modules/unistr/u32-to-u8 (License): Likewise.
12231         * modules/unistr/u32-uctomb (License): Likewise.
12232         * modules/unistr/u8-check (License): Likewise.
12233         * modules/unistr/u8-mblen (License): Likewise.
12234         * modules/unistr/u8-mbtouc (License): Likewise.
12235         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
12236         * modules/unistr/u8-mbtoucr (License): Likewise.
12237         * modules/unistr/u8-prev (License): Likewise.
12238         * modules/unistr/u8-strlen (License): Likewise.
12239         * modules/unistr/u8-to-u32 (License): Likewise.
12240         * modules/unistr/u8-uctomb (License): Likewise.
12241         * modules/unitypes (License): Likewise.
12242         Requested by Simon Josefsson.
12243
12244 2011-03-29  Simon Josefsson  <simon@josefsson.org>
12245
12246         lib-symbol-visibility: Add a notice.
12247         * modules/lib-symbol-visibility (Notice): New field.
12248
12249 2011-03-29  Bruno Haible  <bruno@clisp.org>
12250
12251         getaddrinfo: Doc fix.
12252         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
12253         section "fixed in Gnulib".
12254
12255 2011-03-28  Simon Josefsson  <simon@josefsson.org>
12256
12257         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
12258         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
12259
12260 2011-03-26  Bruno Haible  <bruno@clisp.org>
12261
12262         unictype/property-byname: Reduce the number of load-time relocations.
12263         * lib/unictype/pr_byname.c: Include <stdlib.h>.
12264         (UC_PROPERTY_INDEX_*): New enumeration values.
12265         (uc_property_byname): Convert an index from the lookup table to an
12266         uc_property_t.
12267         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
12268         values.
12269
12270 2011-03-26  Bruno Haible  <bruno@clisp.org>
12271
12272         unictype/property-byname: Allow omitted word separators and aliases.
12273         * lib/unictype/pr_byname.gperf: Add property names without word
12274         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
12275         for 'space'.
12276
12277 2011-03-26  Bruno Haible  <bruno@clisp.org>
12278
12279         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
12280         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
12281         also hyphens to space.
12282         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
12283         without spaces.
12284         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
12285
12286 2011-03-26  Bruno Haible  <bruno@clisp.org>
12287
12288         unictype/joiningtype-byname: Recognize long names as well.
12289         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
12290         a long name.
12291         * lib/unictype/joiningtype_byname.c: Include <string.h>,
12292         unictype/joiningtype_byname.h.
12293         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
12294         * lib/unictype/joiningtype_byname.gperf: New file.
12295         * modules/unictype/joiningtype-byname (Files): Add
12296         lib/unictype/joiningtype_byname.gperf.
12297         (Depends-on): Add gperf.
12298         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
12299         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
12300         long names.
12301
12302         Tests for module 'unictype/joiningtype-longname'.
12303         * modules/unictype/joiningtype-longname-tests: New file.
12304         * tests/unictype/test-joiningtype_longname.c: New file.
12305
12306         New module 'unictype/joiningtype-longname'.
12307         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
12308         * lib/unictype/joiningtype_longname.c: New file.
12309         * modules/unictype/joiningtype-longname: New file.
12310         * modules/unictype/joiningtype-all (Depends-on): Add
12311         unictype/joiningtype-longname.
12312
12313 2011-03-26  Bruno Haible  <bruno@clisp.org>
12314
12315         unictype/bidiclass-byname: Recognize long names as well.
12316         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
12317         name.
12318         * lib/unictype/bidi_byname.c: Include <string.h>,
12319         unictype/bidi_byname.h.
12320         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
12321         * lib/unictype/bidi_byname.gperf: New file.
12322         * modules/unictype/bidiclass-byname (Files): Add
12323         lib/unictype/bidi_byname.gperf.
12324         (Depends-on): Add gperf.
12325         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
12326         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
12327         long names.
12328
12329         Tests for module 'unictype/bidiclass-longname'.
12330         * modules/unictype/bidiclass-longname-tests: New file.
12331         * tests/unictype/test-bidi_longname.c: New file.
12332
12333         New module 'unictype/bidiclass-longname'.
12334         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
12335         * lib/unictype/bidi_longname.c: New file.
12336         * modules/unictype/bidiclass-longname: New file.
12337         * modules/unictype/bidiclass-all (Depends-on): Add
12338         unictype/bidiclass-longname.
12339
12340 2011-03-26  Bruno Haible  <bruno@clisp.org>
12341
12342         unictype/bidi*: Rename modules.
12343         * modules/unictype/bidiclass-all: Renamed from
12344         modules/unictype/bidicategory-all.
12345         * modules/unictype/bidiclass-name: Renamed from
12346         modules/unictype/bidiclass-name.
12347         (Description): Update.
12348         * modules/unictype/bidiclass-name-tests: Renamed from
12349         modules/unictype/bidicategory-name-tests.
12350         * modules/unictype/bidiclass-byname: Renamed from
12351         modules/unictype/bidicategory-byname.
12352         (Description): Update.
12353         * modules/unictype/bidiclass-byname-tests: Renamed from
12354         modules/unictype/bidicategory-byname-tests.
12355         * modules/unictype/bidiclass-of: Renamed from
12356         modules/unictype/bidicategory-of.
12357         (Description): Update.
12358         * modules/unictype/bidiclass-of-tests: Renamed from
12359         modules/unictype/bidicategory-of-tests.
12360         * modules/unictype/bidiclass-test: Renamed from
12361         modules/unictype/bidicategory-test.
12362         (Description): Update.
12363         * modules/unictype/bidiclass-test-tests: Renamed from
12364         modules/unictype/bidicategory-test-tests.
12365         * modules/unictype/bidicategory-all: New file, a simple redirection.
12366         * modules/unictype/bidicategory-name: Likewise.
12367         * modules/unictype/bidicategory-byname: Likewise.
12368         * modules/unictype/bidicategory-of: Likewise.
12369         * modules/unictype/bidicategory-test: Likewise.
12370         * modules/unictype/property-bidi-* (Dependencies): Update.
12371         * lib/unictype/bidi_*.c: Update comment.
12372
12373 2011-03-26  Bruno Haible  <bruno@clisp.org>
12374
12375         unictype/bidi*: Rename functions, part 2.
12376         * modules/unictype/bidicategory-name (configure.ac): Update required
12377         libunistring version.
12378         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
12379
12380 2011-03-25  Bruno Haible  <bruno@clisp.org>
12381
12382         New module 'unictype/combining-class-all'.
12383         * modules/unictype/combining-class-all: New file.
12384
12385         Tests for module 'unictype/combining-class-byname'.
12386         * modules/unictype/combining-class-byname-tests: New file.
12387         * tests/unictype/test-combiningclass_byname.c: New file.
12388
12389         New module 'unictype/combining-class-byname'.
12390         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
12391         * lib/unictype/combiningclass_byname.c: New file.
12392         * lib/unictype/combiningclass_byname.gperf: New file.
12393         * modules/unictype/combining-class-byname: New file.
12394
12395         Tests for module 'unictype/combining-class-longname'.
12396         * modules/unictype/combining-class-longname-tests: New file.
12397         * tests/unictype/test-combiningclass_longname.c: New file.
12398
12399         New module 'unictype/combining-class-longname'.
12400         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
12401         * lib/unictype/combiningclass_longname.c: New file.
12402         * modules/unictype/combining-class-longname: New file.
12403
12404         Tests for module 'unictype/combining-class-name'.
12405         * modules/unictype/combining-class-name-tests: New file.
12406         * tests/unictype/test-combiningclass_name.c: New file.
12407
12408         New module 'unictype/combining-class-name'.
12409         * lib/unictype.in.h (uc_combining_class_name): New declaration.
12410         * lib/unictype/combiningclass_name.c: New file.
12411         * modules/unictype/combining-class-name: New file.
12412
12413 2011-03-25  Bruno Haible  <bruno@clisp.org>
12414
12415         unictype/combining-class: Rename source files.
12416         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
12417         of unictype/combining.h.
12418         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
12419         Update.
12420         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
12421         * modules/unictype/combining-class (Description): Fix.
12422         (Files, Makefile.am): Update.
12423         * tests/unictype/test-combiningclass.c: Renamed from
12424         tests/unictype/test-combining.c.
12425         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
12426
12427 2011-03-25  Bruno Haible  <bruno@clisp.org>
12428
12429         unictype: Update list of canonical combining classes.
12430         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12431
12432 2011-03-25  Bruno Haible  <bruno@clisp.org>
12433
12434         unictype/category-byname: Recognize long names as well.
12435         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12436         a long name.
12437         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12438         unictype/categ_byname.h.
12439         (UC_CATEGORY_INDEX_*): New enumeration values.
12440         (uc_general_category_byname): Use uc_general_category_lookup and
12441         convert from index to value.
12442         * lib/unictype/categ_byname.gperf: New file.
12443         * modules/unictype/category-byname (Files): Add
12444         lib/unictype/categ_byname.gperf.
12445         (Depends-on): Add gperf.
12446         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12447         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12448         long names.
12449
12450         Tests for module 'unictype/category-longname'.
12451         * modules/unictype/category-longname-tests: New file.
12452         * tests/unictype/test-categ_longname.c: New file.
12453
12454         New module 'unictype/category-longname'.
12455         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12456         * lib/unictype/categ_longname.c: New file.
12457         * modules/unictype/category-longname: New file.
12458         * modules/unictype/category-all (Depends-on): Add it.
12459
12460 2011-03-25  Bruno Haible  <bruno@clisp.org>
12461
12462         Tests for module 'unictype/category-LC'.
12463         * modules/unictype/category-LC-tests: New file.
12464         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12465
12466         New module 'unictype/category-LC'.
12467         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12468         (UC_CATEGORY_LC): New declaration.
12469         (UC_CASED_LETTER): New macro.
12470         * lib/gen-uni-tables.c (is_category_LC): New function.
12471         (output_categories): Also handle category LC.
12472         (UC_CATEGORY_MASK_LC): New enumeration value.
12473         (general_category_byname): Also handle category LC.
12474         * lib/unictype/categ_LC.c: New file.
12475         * lib/unictype/categ_LC.h: New file, automatically generated.
12476         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12477         category LC.
12478         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12479         * modules/unictype/category-LC: New file.
12480         * modules/unictype/category-byname (Depends-on): Add
12481         unictype/category-LC.
12482         * modules/unictype/category-all (Depends-on): Likewise.
12483
12484 2011-03-25  Eric Blake  <eblake@redhat.com>
12485
12486         xmalloc: revert yesterday's regression
12487         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12488         realloc's underlying behavior (allowing allocation of zero-size
12489         objects, especially if malloc-gnu is also in use).
12490
12491 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12492
12493         maint.mk: add missing version to VC-tag
12494         * top/maint.mk: git tag was missing actual tag name; add it.
12495
12496         valgrind: do leak checking, and exit with code 1 on error (not 0)
12497         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12498         to VALGRIND.
12499
12500 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12501
12502         posix-modules: say what it does.
12503         * posix-modules: Add a line to the --help output saying what it does.
12504
12505 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12506
12507         xmalloc: Do not leak if underlying realloc is C99 compatible.
12508         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12509         This avoids a leak on C99-based systems.  See
12510         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12511
12512 2011-03-24  Eric Blake  <eblake@redhat.com>
12513
12514         realloc: document portability problem
12515         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12516         passing 0 size to realloc.
12517
12518 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12519
12520         doc: update users.txt
12521         * users.txt: Add cvsps, tmpwatch
12522
12523 2011-03-23  Matt Rice  <ratmice@gmail.com>
12524
12525         doc: update users.txt
12526         * users.txt: Add gdb.
12527
12528 2011-03-23  Jim Meyering  <meyering@redhat.com>
12529
12530         doc: update users.txt
12531         Looking through matches up to the following URL (there are still
12532         several more pages), I found several projects that use gnulib:
12533         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12534         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12535         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12536
12537 2011-03-22  Bruno Haible  <bruno@clisp.org>
12538
12539         unictype/bidi*: Rename functions.
12540         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12541         uc_bidi_class, uc_is_bidi_class): New declarations.
12542         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12543         uc_bidi_category_byname.
12544         (uc_bidi_category_byname): New function.
12545         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12546         u_bidi_category_name.
12547         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12548         (uc_bidi_category_name): New function.
12549         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12550         uc_bidi_category.
12551         (uc_bidi_category): New function.
12552         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12553         uc_is_bidi_category. Invoke uc_bidi_class.
12554         (uc_is_bidi_category): New function.
12555         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12556         instead of uc_bidi_category_byname.
12557         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12558         instead of uc_bidi_category_name.
12559         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12560         uc_bidi_category.
12561         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12562         instead of uc_is_bidi_category.
12563
12564 2011-03-21  Bruno Haible  <bruno@clisp.org>
12565
12566         New module 'unictype/joininggroup-all'.
12567         * modules/unictype/joininggroup-all: New file.
12568
12569         Tests for module 'unictype/joininggroup-of'.
12570         * modules/unictype/joininggroup-of-tests: New file.
12571         * tests/unictype/test-joininggroup_of.c: New file.
12572         * tests/unictype/test-joininggroup_of.h: New file, automatically
12573         generated by gen-uni-tables.
12574
12575         New module 'unictype/joininggroup-of'.
12576         * modules/unictype/joininggroup-of: New file.
12577         * lib/unictype/joininggroup_of.c: New file.
12578         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12579         gen-uni-tables.
12580
12581         Tests for module 'unictype/joininggroup-byname'.
12582         * modules/unictype/joininggroup-byname-tests: New file.
12583         * tests/unictype/test-joininggroup_byname.c: New file.
12584
12585         New module 'unictype/joininggroup-byname'.
12586         * modules/unictype/joininggroup-byname: New file.
12587         * lib/unictype/joininggroup_byname.c: New file.
12588         * lib/unictype/joininggroup_byname.gperf: New file.
12589
12590         Tests for module 'unictype/joininggroup-name'.
12591         * modules/unictype/joininggroup-name-tests: New file.
12592         * tests/unictype/test-joininggroup_name.c: New file.
12593
12594         New module 'unictype/joininggroup-name'.
12595         * modules/unictype/joininggroup-name: New file.
12596         * lib/unictype/joininggroup_name.c: New file.
12597         * lib/unictype/joininggroup_name.h: New file.
12598
12599         New module 'unictype/joiningtype-all'.
12600         * modules/unictype/joiningtype-all: New file.
12601
12602         Tests for module 'unictype/joiningtype-of'.
12603         * modules/unictype/joiningtype-of-tests: New file.
12604         * tests/unictype/test-joiningtype_of.c: New file.
12605         * tests/unictype/test-joiningtype_of.h: New file, automatically
12606         generated by gen-uni-tables.
12607
12608         New module 'unictype/joiningtype-of'.
12609         * modules/unictype/joiningtype-of: New file.
12610         * lib/unictype/joiningtype_of.c: New file.
12611         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12612         gen-uni-tables.
12613
12614         Tests for module 'unictype/joiningtype-byname'.
12615         * modules/unictype/joiningtype-byname-tests: New file.
12616         * tests/unictype/test-joiningtype_byname.c: New file.
12617
12618         New module 'unictype/joiningtype-byname'.
12619         * modules/unictype/joiningtype-byname: New file.
12620         * lib/unictype/joiningtype_byname.c: New file.
12621
12622         Tests for module 'unictype/joiningtype-name'.
12623         * modules/unictype/joiningtype-name-tests: New file.
12624         * tests/unictype/test-joiningtype_name.c: New file.
12625
12626         New module 'unictype/joiningtype-name'.
12627         * modules/unictype/joiningtype-name: New file.
12628         * lib/unictype/joiningtype_name.c: New file.
12629
12630         unictype: Add support for Arabic shaping properties.
12631         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12632         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12633         declarations.
12634         (UC_JOINING_GROUP_*): New enumeration values.
12635         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12636         declarations.
12637         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12638         (unicode_joining_type): New variable.
12639         (UC_JOINING_GROUP_*): New enumeration values.
12640         (unicode_joining_group): New variable.
12641         (fill_arabicshaping, joining_type_as_c_identifier,
12642         output_joining_type_test, output_joining_type,
12643         joining_group_as_c_identifier, output_joining_group_test,
12644         output_joining_group): New functions.
12645         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12646         fill_arabicshaping and output_joining_type_test, output_joining_type,
12647         output_joining_group_test, output_joining_group.
12648         Reported by Simon Josefsson.
12649
12650 2011-03-21  Jim Meyering  <meyering@redhat.com>
12651
12652         strftime: fix a bug in yesterday's change
12653         * lib/strftime.c (add): Accommodate width's initial value of -1.
12654         Otherwise, nstrftime would copy uninitialized data into
12655         the result buffer.
12656
12657 2011-03-21  Jim Meyering  <meyering@redhat.com>
12658
12659         tests: add strftime-tests module
12660         * tests/test-strftime.c: New file.
12661         * modules/strftime-tests: New module.
12662
12663 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12664
12665         strftime: don't assume a byte count fits in 'int'
12666         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12667         found this problem by static analysis, using gcc -Wstrict-overflow
12668         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12669         on an integer overflow having undefined behavior, but it turns out
12670         that the argument is a size, which might not fit in 'int' anyway,
12671
12672 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12673
12674         stdio: don't require ignore_value around fwrite
12675
12676         This patch works around libc bug 11959
12677         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12678         Without this patch, applications must often write
12679         ignore_value (fwrite (...)) even though the ignore_value is
12680         not helpful here.  It's common to write many objects, using
12681         fwrite/printf/etc., and then use ferror to detect output error.
12682
12683         I considered making this patch optional, but decided against it,
12684         because libc is obviously being inconsistent here: there is no
12685         reason libc should insist that user code must inspect fwrite
12686         return's value without also insisting that it inspect printf's,
12687         putchar's, etc.  If user code wants to have a strict style where
12688         all these functions' values are checked (so that ferror need not
12689         be checked), we could add support for that style in a new gnulib
12690         module, but in the meantime it's better to be consistent and to
12691         support common usage.
12692
12693         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12694         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12695         that we are compiling in checking mode, and if not C++, and
12696         if not already wrapping fwrite for some other reason.
12697         (fwrite): #define to rpl_fwrite if the latter is defined.
12698
12699 2011-03-20  Bruno Haible  <bruno@clisp.org>
12700
12701         verror: Fix compilation error introduced on 2011-02-13.
12702         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12703         instead of __attribute__.
12704         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12705
12706 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12707             Bruno Haible  <bruno@clisp.org>
12708
12709         socklen: do not depend on sys_socket
12710         While trying to modify Emacs to use gnulib's socklen module,
12711         I discovered a circular dependency: socklen depends on sys_socket
12712         and vice versa.  Emacs can use socklen, but it does not need
12713         sys_socket because it has its own substitute for sys/socket.h.
12714         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12715         gl_TYPE_SOCKLEN_T.
12716         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12717         gl_PREREQ_SYS_H_SOCKET.
12718         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12719         gl_PREREQ_SYS_H_SOCKET.
12720         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12721         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12722         * modules/socklen (Depends-on): Do not depend on sys_socket.
12723         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12724
12725 2011-03-20  Jim Meyering  <meyering@redhat.com>
12726
12727         maint.mk: sort file names *after* new transformation
12728         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12729         prefix would have led to an unwarranted failure in GNU parted.
12730         Sort after that transformation.
12731
12732 2011-03-19  Jim Meyering  <meyering@redhat.com>
12733
12734         maint.mk: fix po-file syntax-check rule
12735         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12736         Patch by Bruno Haible.
12737
12738 2011-03-19  Bruno Haible  <bruno@clisp.org>
12739
12740         socklen: Update comment.
12741         * m4/socklen.m4: Update comment about platforms.
12742
12743 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12744             Bruno Haible  <bruno@clisp.org>
12745
12746         inet_ntop, inet_pton: Simplify.
12747         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12748         documented to provide socklen_t and we already depend on sys_socket.
12749         * modules/inet_pton (Depends-on): Likewise.
12750         * lib/arpa_inet.in.h: Adjust comment.
12751
12752 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12753             Bruno Haible  <bruno@clisp.org>
12754
12755         netdb: Simplify.
12756         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12757         documented to provide socklen_t and we already depend on sys_socket.
12758         * lib/netdb.in.h: Adjust comment.
12759
12760 2011-03-19  Bruno Haible  <bruno@clisp.org>
12761
12762         sys_socket, netdb: Document problem with socklen_t.
12763         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12764         platforms.
12765         * doc/posix-headers/netdb.texi: Likewise.
12766
12767 2011-03-18  Eric Blake  <eblake@redhat.com>
12768
12769         maint.mk: let po check work in VPATH build
12770         * top/maint.mk (po_file): Allow cfg.mk override.
12771         (sc_po_check): Allow VPATH use.
12772         Reported by Jiri Denemark.
12773
12774 2011-03-16  Jim Meyering  <meyering@redhat.com>
12775
12776         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12777         Before, you would have had to create one .x-sc_ file per rule in order
12778         to exempt offending files.  Now, you may instead use a Make variable --
12779         usually defined in cfg.mk -- whose name identifies the affected rule.
12780         * top/maint.mk (_sc_excl): Define.
12781         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12782         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12783
12784 2011-03-13  Bruno Haible  <bruno@clisp.org>
12785
12786         ignore-value tests: Avoid warnings.
12787         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12788         empty for gcc < 3.4.
12789
12790 2011-03-13  Bruno Haible  <bruno@clisp.org>
12791
12792         passfd: Fix link error on Solaris.
12793         * modules/passfd (Description): Correct.
12794         (Depends-on): Add socketlib.
12795         (Link): New section.
12796         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12797
12798 2011-03-13  Bruno Haible  <bruno@clisp.org>
12799
12800         passfd: Fix link error on AIX 5.2.
12801         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12802
12803 2011-03-13  Bruno Haible  <bruno@clisp.org>
12804
12805         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12806         * lib/sys_socket.in.h: Include <stddef.h>.
12807         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12808         CMSG_FIRSTHDR. Remove unused variable.
12809
12810 2011-03-13  Bruno Haible  <bruno@clisp.org>
12811
12812         passfd: Fix compilation error on OpenBSD.
12813         * lib/passfd.c: Include <sys/uio.h>.
12814
12815 2011-03-13  Bruno Haible  <bruno@clisp.org>
12816
12817         passfd test: Fix warnings.
12818         * tests/test-passfd.c: Include <sys/wait.h>.
12819         (main): Fix typo.
12820
12821 2011-03-13  Bruno Haible  <bruno@clisp.org>
12822
12823         passfd module, part 4, tweaks.
12824         * tests/test-passfd.c: Reorder includes.
12825         (main): Fix perror and printf calls.
12826
12827 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12828
12829         passfd module, part 4.
12830         * modules/passfd-tests: New file.
12831         * tests/test-passfd.c: New file.
12832
12833 2011-03-13  Jim Meyering  <meyering@redhat.com>
12834
12835         Makefile: rely on GNU make; derive syntax-check rule names
12836         Rather than requiring that each sc_ rule be listed as a dependent
12837         of "check", use features of GNU make to derive the list.
12838         * Makefile (syntax-check-rules): Define.
12839         (check): Depend on the new variable, not the hard-coded list.
12840
12841 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
12842             Bruno Haible  <bruno@clisp.org>
12843
12844         passfd module, part 3.
12845         * lib/passfd.h (recvfd): Add a flags argument.
12846         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
12847         (recvfd): Add a flags argument.
12848         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
12849         exists.
12850         * modules/passfd (Depends-on): Add cloexec.
12851         Suggested by Eric Blake.
12852
12853 2011-03-13  Bruno Haible  <bruno@clisp.org>
12854
12855         passfd module, part 2, tweaks.
12856         * modules/passfd (Files): Reorder.
12857         (Depends-on): Remove errno.
12858         (Include): Remove <sys/socket.h>, <sys/un.h>.
12859         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
12860         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
12861         specification header. Include <sys/socket.h> always. Don't include
12862         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
12863         (sendfd): Clarify that it sets errno when it fails.
12864         (recvfd): Fix specification.
12865
12866 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12867
12868         passfd module, part 2.
12869         * modules/passfd: New file.
12870         * lib/passfd.h: New file.
12871         * lib/passfd.c: New file.
12872
12873 2011-03-12  Bruno Haible  <bruno@clisp.org>
12874
12875         wcswidth, mbswidth: Avoid integer overflow.
12876         * lib/wcswidth.c: Include <limits.h>.
12877         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
12878         * lib/mbswidth.c: Include <limits.h>.
12879         (mbsnwidth): Avoid 'int' overflow.
12880         Reported by Jim Meyering.
12881
12882 2011-03-12  Bruno Haible  <bruno@clisp.org>
12883
12884         futimens, utimensat: Avoid endless recursion on Solaris 10.
12885         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
12886         Solaris.
12887         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
12888         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
12889
12890 2011-03-11  Jim Meyering  <meyering@redhat.com>
12891
12892         maint.mk: relax a regexp to accommodate other formatting styles
12893         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
12894         between "ngettext" and the following "(".
12895
12896 2011-03-11  Pádraig Brady <P@draigBrady.com>
12897
12898         maint.mk: suppress a false positive warning
12899         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
12900         diagnostics are marked with ngettext.
12901
12902 2011-03-10  Eric Blake  <eblake@redhat.com>
12903
12904         wchar: add explicit dependencies, for Tru64
12905         * modules/mbmemcasecoll (Depends-on): Add wchar.
12906         * modules/mbtowc (Depends-on): Likewise.
12907         * modules/vasnprintf (Depends-on): Likewise.
12908         * modules/unistdio/u-printf-args (Depends-on): Likewise.
12909         * modules/wctomb (Depends-on): Likewise.
12910         Reported by Peter O'Gorman.
12911
12912 2011-03-08  Bruno Haible  <bruno@clisp.org>
12913
12914         passfd module, part 1, tweaks.
12915         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
12916         Improve indentation. Improve AC_MSG_CHECKING messages.
12917         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
12918         gl_SOCKET_FAMILIES.
12919
12920 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12921
12922         passfd module, part 1.
12923         * m4/afunix.m4: New file.
12924         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
12925         sockets.
12926
12927 2011-03-08  Bruno Haible  <bruno@clisp.org>
12928
12929         regex-quote: New API.
12930         * lib/regex-quote.h: Include <stdbool.h>.
12931         (struct regex_quote_spec): New type.
12932         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12933         New declarations.
12934         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12935         'const struct regex_quote_spec *' argument.
12936         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
12937         (pcre_special): New constant.
12938         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12939         New functions.
12940         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12941         'const struct regex_quote_spec *' argument.
12942         * modules/regex-quote (Depends-on): Add stdbool.
12943         * tests/test-regex-quote.c (check): Update for new API. Add test for
12944         anchored results.
12945         * NEWS: Mention the API change.
12946         Reported by Reuben Thomas and Eric Blake.
12947
12948 2011-03-06  Bruno Haible  <bruno@clisp.org>
12949
12950         regex-quote: Fix creation of POSIX extended regular expressions.
12951         * lib/regex-quote.c (ere_special): Add grouping and alternation
12952         operators.
12953
12954 2011-03-05  Bruno Haible  <bruno@clisp.org>
12955
12956         doc: Improve doc regarding autopoint vs. gnulib.
12957         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
12958         disable autopoint while running autoreconf.
12959         Suggested by Ralf Wildenhues.
12960
12961 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12962
12963         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
12964         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
12965
12966 2011-03-03  Bruce Korb  <bkorb@gnu.org>
12967
12968         parse-duration: remove xalloc.h dependency
12969         * lib/parse-duration.c (parse_period): handle NULL return from
12970         strdup instead of calling xstrdup().
12971         * modules/parse-duration: remove "xalloc" dependency
12972
12973 2011-03-03  Matthew Booth  <mbooth@redhat.com>
12974
12975         bootstrap: honor m4_base when running aclocal
12976         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
12977
12978 2011-03-02  Jim Meyering  <meyering@redhat.com>
12979
12980         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
12981         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
12982         on request from Matt Booth.
12983
12984 2011-03-01  Eric Blake  <eblake@redhat.com>
12985
12986         test-link: work on Hurd
12987         * tests/test-link.h (test_link): Hurd rejects linking directories
12988         with EISDIR instead of the POSIX-mandated EPERM.
12989
12990 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
12991
12992         stdio: simplify by moving files to printf-posix, sigpipe
12993         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
12994         since this symbol is needed only if printf is replaced.
12995         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
12996         Require gl_ASM_SYMBOL_PREFIX.
12997         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
12998         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
12999         (Depends-on): Add 'raise'.
13000         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
13001         * modules/stdio (Files): Remove lib/stdio-write.c,
13002         m4/asm-underscore.m4.
13003         (Depends-on): Remove 'raise'.
13004
13005         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
13006         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
13007         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
13008         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
13009
13010 2011-02-28  Bruno Haible  <bruno@clisp.org>
13011
13012         localcharset: Assume ANSI C behaviour of free().
13013         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
13014         calling free().
13015         Suggested by Simon Josefsson <simon@josefsson.org>.
13016
13017 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
13018             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
13019             Bruno Haible  <bruno@clisp.org>  (tiny change)
13020
13021         On Cygwin, use /proc file system instead of win32 API.
13022         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
13023         Win32 file names.
13024         (DllMain): Simplify by removing Cygwin specific code.
13025         (find_shared_library_fullname): Use Linux specific implementation also
13026         for Cygwin.
13027         (get_shared_library_fullname): Update accordingly.
13028         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
13029         Win32 file names.
13030         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
13031         Cygwin specific code.
13032
13033 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
13034             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
13035
13036         Fix OpenMP flag detection for various Fortran compilers.
13037         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
13038         OpenMP-conditional compilation construct, to force compile
13039         failure with missing OpenMP flag.
13040         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
13041
13042 2011-02-25  Eric Blake  <eblake@redhat.com>
13043
13044         strstr: expand test coverage
13045         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
13046         compilation.
13047         * tests/test-memmem.c (main): Duplicate tests.
13048         * tests/test-strcasestr.c (main): Likewise.
13049         * tests/test-c-strcasestr.c (main): Likewise.
13050
13051 2011-02-25  Jim Meyering  <meyering@redhat.com>
13052
13053         maint.mk: detect missing-NL-at-EOF, too
13054         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
13055         it also detects when a file lacks a newline at EOF.
13056         (require_exactly_one_NL_at_EOF_): Renamed from
13057         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
13058         since people may well have .x-sc_... file names tied to the
13059         existing name.  Suggested by Eric Blake.
13060
13061 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13062
13063         dirname: move m4/dos.m4 functionality into lib/dosname.h
13064
13065         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
13066         extracts symbols from it, puts them into config.h; but it's much
13067         easier to use the symbols directly.  filename.h already does this,
13068         but it disagrees with dos.m4 in some respects.  This patch
13069         introduces a different include file dosname.h that packages up
13070         dos.m4, and then later we can work on merging filename.h and
13071         dosname.h.  Applications that need only the easy-to-configure
13072         symbols should consider including dosname.h rather than dirname.h.
13073         * NEWS: Mention incompatible changes.
13074         * m4/dos.m4: Remove.
13075         * lib/dosname.h, modules/dosname: New files.
13076         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
13077         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
13078         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
13079         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
13080         Include dosname.h, not dirname.h.
13081         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
13082         Include dosname.h, for definitions of symbols like ISSLASH
13083         that used to be in config.h.
13084         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
13085         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13086         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13087         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13088         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
13089         * modules/rmdir (Files): Likewise.
13090         * modules/stat (Files): Likewise.
13091         * modules/unlink (Files): Likewise.
13092         * modules/dirname-lgpl (Depends-on): Add dosname.
13093         * modules/lstat (Depends-on): Likewise.
13094         * modules/openat (Depends-on): Likewise.
13095         * modules/rmdir (Depends-on): Likewise.
13096         * modules/savewd (Depends-on): Likewise.
13097         * modules/stat (Depends-on): Likewise.
13098         * modules/unlink (Depends-on): Likewise.
13099         * modules/openat (Depends-on): Remove dirname-lgpl.
13100         * modules/savewd (Depends-on): Likewise.
13101         * tests/test-dirname.c: Do not use removed symbols like
13102         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
13103         the remaining symbols, e.g., ISSLASH ('\\').
13104
13105 2011-02-25  Eric Blake  <eblake@redhat.com>
13106
13107         strstr: revert patches that introduced bug and pessimization
13108         * lib/str-two-way.h: Add another reference.
13109         (two_way_short_needle, two_way_long_needle): Revert changes from
13110         2011-02-24; they pessimize search speed.
13111         (critical_factorization): Partially revert changes from
13112         2010-06-22; they violate the requirement that the left half of the
13113         needle be smaller than the period of the needle.
13114
13115 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13116
13117         filenamecat: remove unnecessary dependency on dirname-lgpl
13118         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
13119         is no direct dependency, just an indirect one via filenamecat-lgpl.
13120
13121         remove: remove unnecessary use of m4/dos.m4
13122         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
13123         * modules/remove (FILES): Remove m4/dos.m4.
13124
13125         * lib/openat-proc.c: Don't include dirname.h; not needed.
13126
13127         backupfile: remove unnecessary use of m4/dos.m4
13128         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
13129         of its symbols are used by the backupfile code.  backupfile.c does
13130         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
13131         for the rare case of programs that want all their backup file
13132         names to live within 8+3 limits, and dos.m4 doesn't address that.
13133         * modules/backupfile (Files): Remove m4/dos.m4.
13134
13135 2011-02-24  Jim Meyering  <meyering@redhat.com>
13136
13137         strstr: fix a bug whereby strstr would mistakenly return NULL
13138         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
13139         in period calculation.
13140         (two_way_long_needle): Likewise.
13141         The original problem was reported by Mike Stump in
13142         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
13143         Ralf Wildenhues provided the short needle and haystack.
13144         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
13145         Add a more involved test to trigger the bug in two_way_long_needle.
13146
13147 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13148
13149         gnulib-tool: remove use of bold display in help screen
13150         * gnulib-tool (func_usage): Do not use bold display anymore in the
13151         help screen.  That was just meant to be a temporary emphasis for a
13152         backward-incompatible change.
13153
13154 2011-02-23  Bruno Haible  <bruno@clisp.org>
13155
13156         Fix misindentation of preprocessor directives.
13157         * lib/argp-namefrob.h: Reindent preprocessor directives.
13158         * lib/getopt_int.h (struct _getopt_data): Likewise.
13159         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
13160         * lib/vasnprintf.c (decode_long_double): Likewise.
13161         * tests/test-argmatch.c: Insert blank lines, for clarity.
13162         * tests/test-exclude.c: Likewise.
13163
13164 2011-02-22  Bruno Haible  <bruno@clisp.org>
13165
13166         ioctl: Fix for MacOS X in 64-bit mode.
13167         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
13168         value.
13169         Suggested by Eric Blake.
13170         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
13171
13172 2011-02-22  Jim Meyering  <meyering@redhat.com>
13173
13174         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
13175         * Makefile (sc_cpp_indent_check): Don't limit the check to files
13176         in lib/.
13177
13178 2011-02-22  Eric Blake  <eblake@redhat.com>
13179
13180         maint: avoid any CDPATH issue
13181         * Makefile (sc_cpp_indent_check): Anchor cd argument.
13182
13183         maint: adjust cpp indentation for my modules, as well
13184         * Makefile (sc_cpp_indent_check): Add my name.
13185         * lib/fbufmode.c: Filter through cppi.
13186         * lib/fpurge.c: Likewise.
13187         * lib/freadable.c: Likewise.
13188         * lib/freading.c: Likewise.
13189         * lib/fwritable.c: Likewise.
13190         * lib/fwriting.c: Likewise.
13191         * lib/sigaction.c: Likewise.
13192
13193 2011-02-22  Jim Meyering  <meyering@redhat.com>
13194
13195         maint: adjust cpp indentation to reflect nesting depth
13196         I.e., in a block of code that begins with an unnested "#if",
13197         put one space between the "#" in column 1 and following token.
13198         For example,
13199         -#include <sys/vfs.h>
13200         +# include <sys/vfs.h>
13201         Do this only in .c files that are part of a module I maintain.
13202         * lib/linkat.c: Filter through cppi.
13203         * lib/nanosleep.c: Likewise.
13204         * lib/openat.c: Likewise.
13205         * lib/openat-die.c: Likewise.
13206         * lib/dup3.c: Likewise.
13207         * lib/fchownat.c: Likewise.
13208         * lib/flock.c: Likewise.
13209         * lib/fsync.c: Likewise.
13210         * lib/fts.c: Likewise.
13211         * lib/getpass.c: Likewise.
13212         * lib/gettimeofday.c: Likewise.
13213         * lib/userspec.c: Likewise.
13214         * Makefile (sc_cpp_indent_check): New rule, to check this.
13215
13216 2011-02-22  Bruno Haible  <bruno@clisp.org>
13217
13218         New module 'wctomb'.
13219         * lib/stdlib.in.h (wctomb): New declaration.
13220         * lib/wctomb.c: New file.
13221         * lib/wctomb-impl.h: New file.
13222         * m4/wctomb.m4: New file.
13223         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
13224         REPLACE_WCTOMB.
13225         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
13226         REPLACE_WCTOMB.
13227         * modules/wctomb: New file.
13228         * tests/test-stdlib-c++.cc: Test signature of wctomb.
13229         * doc/posix-functions/wctomb.texi: Mention the new module.
13230         * modules/wctob (Depends-on): Add wctomb.
13231
13232 2011-02-22  Bruno Haible  <bruno@clisp.org>
13233
13234         New module 'mbtowc'.
13235         * lib/stdlib.in.h (mbtowc): New declaration.
13236         * lib/mbtowc.c: New file.
13237         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
13238         * m4/mbtowc.m4: New file.
13239         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
13240         REPLACE_MBTOWC.
13241         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
13242         REPLACE_MBTOWC.
13243         * modules/mbtowc: New file.
13244         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
13245         * doc/posix-functions/mbtowc.texi: Mention the new module.
13246         * modules/btowc (Depends-on): Add mbtowc.
13247
13248 2011-02-22  Bruno Haible  <bruno@clisp.org>
13249
13250         wcrtomb: Add more tests for native Windows platforms.
13251         * tests/test-wcrtomb-w32-1.sh: New file.
13252         * tests/test-wcrtomb-w32-2.sh: New file.
13253         * tests/test-wcrtomb-w32-3.sh: New file.
13254         * tests/test-wcrtomb-w32-4.sh: New file.
13255         * tests/test-wcrtomb-w32-5.sh: New file.
13256         * tests/test-wcrtomb-w32.c: New file.
13257         * modules/wcrtomb-tests (Files): Add them.
13258         (Makefile.am): Arrange to run these tests.
13259         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
13260         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
13261
13262 2011-02-20  Bruno Haible  <bruno@clisp.org>
13263
13264         wcrtomb: Enhance test.
13265         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
13266
13267 2011-02-20  Bruno Haible  <bruno@clisp.org>
13268
13269         mbrtowc: Tiny optimization.
13270         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
13271
13272 2011-02-20  Jim Meyering  <meyering@redhat.com>
13273
13274         test-exclude.c: remove unmatched #endif
13275         * tests/test-exclude.c: Remove stray #endif, left over from
13276         the change of a week ago.
13277
13278 2011-02-19  Jim Meyering  <meyering@redhat.com>
13279
13280         git-version-gen: skip "-dirty" check when appropriate
13281         * build-aux/git-version-gen: Don't run any git commands when the
13282         version string comes from .tarball-version.  Prior to this, we
13283         would run git update-index --refresh even from a just-unpacked
13284         tarball directory, and that could affect a .git/ directory in a
13285         parent of the build directory.  Reported by Mike Frysinger.
13286
13287 2011-02-19  Bruno Haible  <bruno@clisp.org>
13288
13289         unictype/property-byname: Reduce the size of the 'data' segment.
13290         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
13291
13292 2011-02-19  Bruno Haible  <bruno@clisp.org>
13293
13294         unictype/scripts: Reduce the size of the 'data' segment.
13295         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
13296         '%pic'.
13297         * lib/unictype/scripts_byname.gperf: Regenerated.
13298
13299 2011-02-19  Bruno Haible  <bruno@clisp.org>
13300
13301         stdint: Update documentation.
13302         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
13303
13304 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13305
13306         stdint: omit redundant check for wchar.h
13307         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
13308         always tests whether wchar.h exists, so remove the now-redundant test.
13309
13310 2011-02-18  Bruno Haible  <bruno@clisp.org>
13311
13312         stdint: Cut dependency to module 'wchar'.
13313         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
13314         include the necessary prerequisites.
13315         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
13316         * modules/stdint (Depends-on): Remove wchar.
13317         (Makefile.am): Substitute HAVE_WCHAR_H.
13318         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
13319
13320 2011-02-18  Eric Blake  <eblake@redhat.com>
13321
13322         longlong: skip, rather than fail, on cross-compilation
13323         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
13324         when cross-compiling; regression from 2011-02-16.
13325
13326 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13327
13328         * NEWS: Mention 2011-02-08 change to stdlib.
13329
13330 2011-02-17  Bruno Haible  <bruno@clisp.org>
13331
13332         getloadavg: Add comments about platforms.
13333         * m4/getloadavg.m4: Add comment.
13334         * lib/getloadavg.c: Likewise.
13335
13336 2011-02-17  Bruno Haible  <bruno@clisp.org>
13337
13338         getloadavg: Fix link error on Solaris 2.6.
13339         * modules/getloadavg (Link): New section.
13340         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
13341         linking test-getloadavg.
13342         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
13343         getloadavg.
13344
13345 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13346
13347         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
13348         It was 'int', but this doesn't match the IRIX 6.5 manual.
13349         Suggested by Bruno Haible in
13350         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
13351
13352 2011-02-17  Bruno Haible  <bruno@clisp.org>
13353
13354         havelib: Fix comments.
13355         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
13356         change.
13357
13358 2011-02-17  Bruno Haible  <bruno@clisp.org>
13359
13360         havelib: Update config.rpath.
13361         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
13362
13363 2011-02-17  Bruno Haible  <bruno@clisp.org>
13364
13365         getloadavg test: Add some plausibility checks.
13366         * tests/test-getloadavg.c (check_avg): Print a warning when the value
13367         is improbable.
13368
13369 2011-02-16  Eric Blake  <eblake@redhat.com>
13370
13371         maintainer-makefile: make syntax-check a no-op from tarballs
13372         * top/maint.mk (no-vc-detected): New rule.
13373         (local-checks-available): Use it to avoid hanging if someone tries
13374         'make syntax-check' from a tarball.  Also append to any non-syntax
13375         checks already defined in cfg.mk.
13376
13377 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13378
13379         longlong: tune, particularly for common case of c99
13380
13381         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
13382         or running anything if c99, or if unsigned long long int does not
13383         work.  In either case, we know the answer without further tests.
13384         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
13385         it at most once, and use its results for both long long int and
13386         unsigned long long int.  This is more likely to be efficient in
13387         the common case where the program wants to check for both long
13388         long int and unsigned long long int.
13389         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
13390         since the answer is already known.
13391
13392 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
13393
13394         getloadavg: set errno
13395         * lib/getloadavg.c: Set errno when returning -1.  If no other
13396         error number looks appropriate, set it to ENOSYS if the getloadavg
13397         looks like it can't possibly ever work, ENOTSUP otherwise.
13398         Suggested by Bruno Haible in
13399         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
13400
13401         getloadavg: trim unused parts and speed up 'configure'
13402         * NEWS: Document this.
13403         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
13404         always compiled if getloadavg is absent.
13405         Move test code to ...
13406         * tests/test-getloadavg.c: New file, containing previous
13407         contents of test from lib/getloadavg.c.  It also contains
13408         suggestions by Bruno Haible in
13409         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
13410         * modules/getloadavg-tests: New file.
13411         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
13412         Do tests in the same order as they're needed for getloadavg.c.
13413         Omit setgid-related tests that generate symbols KMEM_GROUP,
13414         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
13415         Do only the tests that are needed to see whether the system has
13416         getloadavg, moving the other tests into ...
13417         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
13418         NLIST_NAME_UNION; nobody should be using it.  Do not define
13419         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
13420         relevant, as the user of this module shouldn't care how getloadavg
13421         is implemented.
13422
13423         getloadavg: omit unused var
13424         * lib/getloadavg.c (getloadavg): Omit unused local variable.
13425
13426 2011-02-15  Jim Meyering  <meyering@redhat.com>
13427
13428         doc: update users.txt
13429         * users.txt: Update iwhd's URL.
13430
13431 2011-02-13  Bruno Haible  <bruno@clisp.org>
13432
13433         Consistent macro naming for macros that use GCC __attribute__.
13434         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13435         _ATTRIBUTE_NONNULL_.
13436         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13437         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13438         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13439         ATTRIBUTE_DEPRECATED.
13440         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13441         ATTRIBUTE_NORETURN.
13442         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13443         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13444         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13445         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13446         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13447         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13448         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13449         ATTRIBUTE_SENTINEL.
13450         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13451         ATTRIBUTE_RETURN_CHECK.
13452         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13453         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13454         ATTRIBUTE_NORETURN.
13455         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13456         Reported by Paul Eggert.
13457
13458 2011-02-13  Bruno Haible  <bruno@clisp.org>
13459
13460         Don't interfere with a program's definition of __attribute__.
13461         * lib/argp.h (__attribute__): Remove definition.
13462         (_GL_ATTRIBUTE_FORMAT): New macro.
13463         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13464         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13465         (_GL_ATTRIBUTE_FORMAT): New macro.
13466         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13467         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13468         GCC 3 or newer.
13469         * lib/error.h (__attribute__): Remove definition.
13470         (_GL_ATTRIBUTE_FORMAT): New macro.
13471         (error, error_at_line): Use it.
13472         * lib/hash.h (__attribute__): Remove definition.
13473         (ATTRIBUTE_WUR): Update definition. Define always.
13474         * lib/openat.h (__attribute__): Remove definition.
13475         (ATTRIBUTE_NORETURN): Update definition. Define always.
13476         * lib/sigpipe-die.h (__attribute__): Remove definition.
13477         (ATTRIBUTE_NORETURN): Update definition. Define always.
13478         * lib/vasnprintf.h (__attribute__): Remove definition.
13479         (_GL_ATTRIBUTE_FORMAT): New macro.
13480         (asnprintf, vasnprintf): Use it.
13481         * lib/xalloc.h (__attribute__): Remove definition.
13482         (ATTRIBUTE_NORETURN): Update definition. Define always.
13483         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13484         * lib/xmemdup0.h (__attribute__): Remove definition.
13485         (ATTRIBUTE_NORETURN): Update definition. Define always.
13486         * lib/xprintf.h (__attribute__): Remove definition.
13487         (_GL_ATTRIBUTE_FORMAT): New macro.
13488         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13489         * lib/xstrtol.h (__attribute__): Remove definition.
13490         (ATTRIBUTE_NORETURN): Update definition. Define always.
13491         * lib/xvasprintf.h (__attribute__): Remove definition.
13492         (_GL_ATTRIBUTE_FORMAT): New macro.
13493         (xasprintf, xvasprintf): Use it.
13494         * tests/test-argmatch.c (__attribute__): Remove definition.
13495         (ATTRIBUTE_NORETURN): Update definition. Define always.
13496         * tests/test-exclude.c (__attribute__): Remove definition.
13497         (ATTRIBUTE_NORETURN): Update definition. Define always.
13498         Reported by Paul Eggert.
13499
13500 2011-02-13  Bruno Haible  <bruno@clisp.org>
13501
13502         mbrtowc: Add more tests for native Windows platforms.
13503         * tests/test-mbrtowc-w32-1.sh: New file.
13504         * tests/test-mbrtowc-w32-2.sh: New file.
13505         * tests/test-mbrtowc-w32-3.sh: New file.
13506         * tests/test-mbrtowc-w32-4.sh: New file.
13507         * tests/test-mbrtowc-w32-5.sh: New file.
13508         * tests/test-mbrtowc-w32.c: New file.
13509         * modules/mbrtowc-tests (Files): Add them.
13510         (Makefile.am): Arrange to run these tests.
13511         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13512         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13513
13514 2011-02-13  Bruno Haible  <bruno@clisp.org>
13515
13516         mbrtowc: Work around native Windows bug.
13517         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13518         guess when no suitable locale for testing was found.
13519         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13520
13521 2011-02-13  Bruno Haible  <bruno@clisp.org>
13522
13523         mbsinit: Work around mingw bug.
13524         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13525         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13526         Windows.
13527         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13528
13529 2011-02-13  Bruno Haible  <bruno@clisp.org>
13530
13531         mbsinit: Don't crash for a NULL argument.
13532         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13533         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13534
13535 2011-02-13  Bruno Haible  <bruno@clisp.org>
13536
13537         Don't interfere with a program's definition of __attribute__.
13538         * lib/stdio.in.h (__attribute__): Remove definition.
13539         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13540         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13541         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13542         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13543         * lib/string.in.h (__attribute__): Remove definition.
13544         Reported by Paul Eggert.
13545
13546 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13547
13548         stdlib: don't get in the way of non-GCC __attribute__
13549         See thread starting at
13550         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13551         Revert previous stdlib change, installing the following instead:
13552         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13553         to get in the way of a non-GCC compiler that supports __attribute__.
13554         (_GL_ATTRIBUTE_RETURN): New macro.
13555         (_Exit): Use it instead of __attribute__.
13556
13557 2011-02-12  Bruno Haible  <bruno@clisp.org>
13558
13559         quotearg test: Avoid test failure on mingw.
13560         * tests/test-quotearg.sh: Convert the locale identifier from native
13561         Windows syntax to Unix syntax.
13562
13563 2011-02-12  Bruno Haible  <bruno@clisp.org>
13564
13565         setlocale: Prefer gnulib's override over libintl's override.
13566         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13567         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13568         GNULIB_defined_setlocale is set.
13569
13570 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13571
13572         stdlib: support non-GCC __attribute__
13573
13574         Fix a serious and tricky problem encountered when attempting to
13575         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13576         5.5, but it crashed due to memory corruption on Solaris 10 with
13577         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13578         bits that are otherwise zero.  This tagging is optional inside
13579         Emacs but is preferred and is used when __attribute__ ((__aligned
13580         (8))) works, as it does with both recent-enough GCC and with Sun C
13581         5.11.  However, Sun C 5.11 is not GCC and does not #define
13582         __GNUC__ and __GNUC_MINOR__.
13583
13584         When I added the getloadavg module to Emacs, it brought in
13585         stdlib.in.h, which contained this fragment:
13586
13587            #ifndef __attribute__
13588            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13589            #  define __attribute__(Spec)   /* empty */
13590            # endif
13591            #endif
13592
13593         When files that include <stdlib.h> were compiled with Sun C 5.11,
13594         the above code disabled __attribute__ ((__aligned (8))), which
13595         caused variables to not be properly aligned, which eventually led
13596         to the pointer corruption mentioned above.  (This was a bit hard
13597         to diagnose, unfortunately.)
13598
13599         Several "#define __attribute__(X) /* empty */" code snippets need
13600         to be eradicated from Gnulib to work with non-GCC compilers that
13601         support __attribute__.  The Autoconf way to do this is to test for
13602         each kind of attribute that we want support for, and selectively
13603         enable that in source code.
13604
13605         Fix this problem just for stdlib.h, by adding a test for the
13606         __noreturn__ attribute, and change stdlib.in.h to use that test
13607         when needed.  This technique can be easily generalized to the
13608         other *.in.h files and attributes, and a similar technique can be
13609         used for *.h and *.c files.  This patch is enough to solve the
13610         problem for Emacs + getloadavg, and I thought I'd publish it for
13611         feedback before undertaking further, similar fixes in other
13612         modules.
13613
13614         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13615         because it's not needed for stdlib.h.  It merely substitutes the
13616         value directly into stdlib.h.  We may well need to #define it, or
13617         similar symbols, for other modules, but it's nice to also have an
13618         option to not #define it for applications like Emacs that do not
13619         need it.
13620
13621         * lib/stdlib.in.h (__attribute__): Do not #define.
13622         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13623         be defined only if the _Exit module is also used.
13624         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13626         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13627         platforms.
13628         * modules/_Exit (Files): Add m4/attribute.m4.
13629         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13630         * m4/attribute.m4: New file.
13631
13632 2011-02-12  Bruno Haible  <bruno@clisp.org>
13633
13634         wcsrtombs: Work around bug on native Windows.
13635         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13636         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13637         instead of len.
13638         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13639
13640 2011-02-12  Bruno Haible  <bruno@clisp.org>
13641
13642         mbsrtowcs: Work around bug on native Windows.
13643         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13644         against mingw bug.
13645         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13646
13647 2011-02-12  Bruno Haible  <bruno@clisp.org>
13648
13649         Avoid setlocale bugs in tests.
13650         * modules/btowc (Dependencies): Add setlocale.
13651         * modules/c-strcase (Dependencies): Likewise.
13652         * modules/mbmemcasecmp (Dependencies): Likewise.
13653         * modules/mbmemcasecoll (Dependencies): Likewise.
13654         * modules/mbrtowc (Dependencies): Likewise.
13655         * modules/mbscasecmp (Dependencies): Likewise.
13656         * modules/mbscasestr (Dependencies): Likewise.
13657         * modules/mbschr (Dependencies): Likewise.
13658         * modules/mbscspn (Dependencies): Likewise.
13659         * modules/mbsinit (Dependencies): Likewise.
13660         * modules/mbsncasecmp (Dependencies): Likewise.
13661         * modules/mbsnrtowcs (Dependencies): Likewise.
13662         * modules/mbspbrk (Dependencies): Likewise.
13663         * modules/mbspcasecmp (Dependencies): Likewise.
13664         * modules/mbsrchr (Dependencies): Likewise.
13665         * modules/mbsrtowcs (Dependencies): Likewise.
13666         * modules/mbsspn (Dependencies): Likewise.
13667         * modules/mbsstr (Dependencies): Likewise.
13668         * modules/nl_langinfo (Dependencies): Likewise.
13669         * modules/quotearg (Dependencies): Likewise.
13670         * modules/unicase/locale-language (Dependencies): Likewise.
13671         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13672         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13673         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13674         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13675         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13676         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13677         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13678         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13679         * modules/vasnprintf-posix (Dependencies): Likewise.
13680         * modules/wcrtomb (Dependencies): Likewise.
13681         * modules/wcsnrtombs (Dependencies): Likewise.
13682         * modules/wcsrtombs (Dependencies): Likewise.
13683
13684 2011-02-12  Bruno Haible  <bruno@clisp.org>
13685
13686         setlocale: Workaround native Windows bug.
13687         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13688         succeeds but sets LC_CTYPE to "C", report a failure.
13689         * tests/test-setlocale2.sh: New file.
13690         * tests/test-setlocale2.c: New file.
13691         * modules/setlocale-tests (Files): Add the new files.
13692         (Makefile.am): Enable test-setlocale2.sh test.
13693         * doc/posix-functions/setlocale.texi: Mention workaround.
13694
13695 2011-02-11  Bruno Haible  <bruno@clisp.org>
13696
13697         Tests for module 'setlocale'.
13698         * modules/setlocale-tests: New file.
13699         * tests/test-setlocale1.sh: New file.
13700         * tests/test-setlocale1.c: New file.
13701
13702         New module 'setlocale'.
13703         * lib/locale.in.h (setlocale): New declaration.
13704         * lib/setlocale.c: New file, based on
13705         gettext/gettext-runtime/intl/setlocale.c.
13706         * m4/setlocale.m4: New file.
13707         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13708         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13709         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13710         REPLACE_SETLOCALE.
13711         * modules/setlocale: New file.
13712         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13713         * doc/posix-functions/setlocale.texi: Mention the new module.
13714
13715 2011-02-11  Bruno Haible  <bruno@clisp.org>
13716
13717         Prepare for locale dependent tests on mingw.
13718         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13719         because it has the wrong locale encoding.
13720         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13721         French_France.1252 instead of "fr".
13722         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13723         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13724         because it has the wrong locale encoding.
13725         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13726         native Windows, try Turkish_Turkey.65001.
13727         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13728         Chinese_China.54936.
13729
13730         Prepare for locale dependent tests on mingw.
13731         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13732         differently.
13733         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13734         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13735         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13736         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13737
13738 2011-02-11  Eric Blake  <eblake@redhat.com>
13739
13740         strptime: avoid compiler warnings
13741         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13742         compiler warnings about dead code.
13743         Reported by Daniel P. Berrange.
13744
13745 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13746
13747         doc: update users.txt
13748         * users.txt: Add rcs.
13749
13750 2011-02-10  John W. Eaton  <jwe@gnu.org>
13751
13752         doc: update users.txt
13753         * users.txt: Add octave.
13754
13755 2011-02-10  Jim Meyering  <meyering@redhat.com>
13756
13757         doc: update users.txt
13758         * users.txt: Add iwhd.
13759
13760 2011-02-09  Bruno Haible  <bruno@clisp.org>
13761
13762         gnulib-tool: Make copyright notice adjustment more robust.
13763         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13764         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13765         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13766         License".
13767         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13768
13769 2011-02-06  Bruno Haible  <bruno@clisp.org>
13770
13771         New module 'towctrans'.
13772         * modules/towctrans: New file.
13773         * lib/wctype.in.h (towctrans): New declaration.
13774         * lib/towctrans.c: New file.
13775         * lib/towctrans-impl.h: New file.
13776         * m4/towctrans.m4: New file.
13777         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13778         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13779         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13780         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13781         * doc/posix-functions/towctrans.texi: Mention the new module.
13782
13783 2011-02-06  Bruno Haible  <bruno@clisp.org>
13784
13785         New module 'wctrans'.
13786         * modules/wctrans: New file.
13787         * lib/wctype.in.h (wctrans): New declaration.
13788         * lib/wctrans.c: New file.
13789         * lib/wctrans-impl.h: New file.
13790         * m4/wctrans.m4: New file.
13791         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13792         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13793         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13794         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13795         * doc/posix-functions/wctrans.texi: Mention the new module.
13796
13797 2011-02-06  Bruno Haible  <bruno@clisp.org>
13798
13799         New module 'iswctype'.
13800         * modules/iswctype: New file.
13801         * lib/wctype.in.h (iswctype): New declaration.
13802         * lib/iswctype.c: New file.
13803         * lib/iswctype-impl.h: New file.
13804         * m4/iswctype.m4: New file.
13805         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13806         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13807         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13808         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13809         * doc/posix-functions/iswctype.texi: Mention the new module and the
13810         HP-UX 11.00 problem.
13811
13812 2011-02-06  Bruno Haible  <bruno@clisp.org>
13813
13814         New module 'wctype'.
13815         * modules/wctype: Change to represent the wctype() substitute.
13816         * lib/wctype.in.h (wctype): New declaration.
13817         * lib/wctype.c: New file.
13818         * lib/wctype-impl.h: New file.
13819         * m4/wctype.m4: New file.
13820         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13821         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13822         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13823         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13824         * doc/posix-functions/wctype.texi: Mention the new module and the
13825         HP-UX 11.00 problem.
13826
13827 2011-02-06  Bruno Haible  <bruno@clisp.org>
13828
13829         wctype-h: Ensure wctype_t and wctrans_t are defined.
13830         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13831         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13832         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13833         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13834         HAVE_WCTRANS_T.
13835         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13836
13837 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13838
13839         flock: fix license typo
13840
13841         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
13842         omitted.
13843
13844 2011-02-08  Bruno Haible  <bruno@clisp.org>
13845
13846         Split large sed scripts, for HP-UX sed.
13847         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
13848         to avoid HP-UX limit of 99 commands, in the near future.
13849         * modules/stdlib (Makefile.am): Likewise.
13850         * modules/unistd (Makefile.am): Likewise.
13851         * modules/wchar (Makefile.am): Likewise.
13852         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13853         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
13854         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
13855
13856 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13857             Bruno Haible  <bruno@clisp.org>
13858
13859         stdlib: improve random_r modularization
13860         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
13861         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
13862         you also need the random_r module to get this material right.
13863         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
13864         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
13865         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
13866
13867 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13868
13869         stdlib: don't depend on stdint
13870         * lib/stdlib.in.h: Don't include <stdint.h> merely because
13871         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
13872         be independent of whether stdint.h is needed.
13873         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
13874         here, instead of ...
13875         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
13876         struct random_data should be using the random_r module, not just
13877         the stdlib module (which wouldn't make sense: what package needs
13878         just struct random_data without also needing random_r?).
13879         * modules/stdlib (Depends-on): Remove stdint.
13880
13881         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
13882         See the thread rooted at
13883         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
13884         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
13885         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
13886         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
13887         __VMS)); previously it was always included (via fcntl--.h).
13888         (getloadavg): Do not use c_strtod.  Instead, approximate it by
13889         hand; this is good enough for load averages.  Also, do not use
13890         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
13891         flags directly if available and don't bother otherwise.  (Packages
13892         that need the extra reliability should use the modules that define
13893         these flags on older platforms that lack them.)
13894         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
13895         fcntl-safer.
13896
13897 2011-02-08  Jim Meyering  <meyering@redhat.com>
13898
13899         di-set.h, ino-map.h: add multiple-inclusion guard
13900         Technically, the guard is required only for ino-map.h, due to its
13901         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
13902         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
13903         * lib/ino-map.h: Likewise.
13904
13905 2011-02-06  Bruno Haible  <bruno@clisp.org>
13906
13907         iswblank: Ensure declaration on glibc systems.
13908         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
13909         * modules/iswblank (Dependencies): Add 'extensions'.
13910         * doc/posix-functions/iswblank.texi: Document the glibc problem.
13911
13912 2011-02-06  Bruno Haible  <bruno@clisp.org>
13913
13914         New module 'iswblank'.
13915         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
13916         * modules/iswblank: New file.
13917         * modules/wctype-h (Files): Remove lib/iswblank.c.
13918         (Makefile.am): Substitute GNULIB_ISWBLANK.
13919         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
13920         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
13921         (gl_WCTYPE_H_DEFAULTS): New macro.
13922         (gl_WCTYPE_H): Require it. Remove iswblank related code.
13923         * modules/iswblank-tests: New file.
13924         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
13925         * tests/test-wctype-h.c (main): Remove iswblank tests.
13926         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
13927         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
13928         of 'wctype-h'.
13929         * NEWS: Mention the change.
13930         * modules/mbchar (Depends-on): Add iswblank.
13931
13932 2011-02-08  Bruno Haible  <bruno@clisp.org>
13933
13934         di-set tests: Refactor.
13935         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
13936         unnecessary includes.
13937         (ASSERT): Remove macro.
13938         (main): Make C90 compliant by avoiding variable declaration after
13939         statement.
13940         * modules/di-set-tests (Files): Add tests/macros.h.
13941
13942 2011-02-08  Bruno Haible  <bruno@clisp.org>
13943
13944         ino-map tests: Refactor.
13945         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
13946         unnecessary includes.
13947         (ASSERT): Remove macro.
13948         (main): Make C90 compliant by avoiding variable declaration after
13949         statement.
13950         * modules/ino-map-tests (Files): Add tests/macros.h.
13951
13952 2011-02-08  Jim Meyering  <meyering@redhat.com>
13953
13954         di-set: add "const" to a cast
13955         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
13956         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
13957
13958 2011-02-06  Bruno Haible  <bruno@clisp.org>
13959
13960         Rename module 'wctype' to 'wctype-h'.
13961         * modules/wctype-h: Renamed from modules/wctype.
13962         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
13963         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
13964         (Files, Depends-on, Makefile.am): Update.
13965         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
13966         (Files, Makefile.am): Update.
13967         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
13968         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
13969         * doc/posix-headers/wctype.texi: Update.
13970         * doc/posix-functions/iswalnum.texi: Update.
13971         * doc/posix-functions/iswalpha.texi: Update.
13972         * doc/posix-functions/iswblank.texi: Update.
13973         * doc/posix-functions/iswcntrl.texi: Update.
13974         * doc/posix-functions/iswdigit.texi: Update.
13975         * doc/posix-functions/iswgraph.texi: Update.
13976         * doc/posix-functions/iswlower.texi: Update.
13977         * doc/posix-functions/iswprint.texi: Update.
13978         * doc/posix-functions/iswpunct.texi: Update.
13979         * doc/posix-functions/iswspace.texi: Update.
13980         * doc/posix-functions/iswupper.texi: Update.
13981         * doc/posix-functions/iswxdigit.texi: Update.
13982         * doc/posix-functions/towlower.texi: Update.
13983         * doc/posix-functions/towupper.texi: Update.
13984         * NEWS: Mention the change.
13985         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
13986         * modules/mbchar (Dependencies): Likewise.
13987         * modules/mbswidth (Dependencies): Likewise.
13988         * modules/quotearg (Dependencies): Likewise.
13989         * modules/regex (Dependencies): Likewise.
13990         * modules/wcscasecmp (Dependencies): Likewise.
13991         * modules/wcsncasecmp (Dependencies): Likewise.
13992         * modules/wcwidth (Dependencies): Likewise.
13993
13994 2011-02-06  Bruno Haible  <bruno@clisp.org>
13995
13996         New module 'wcswidth'.
13997         * modules/wcswidth: New file.
13998         * lib/wchar.in.h (wcswidth): New declaration.
13999         * lib/wcswidth.c: New file.
14000         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
14001         * m4/wcswidth.m4: New file.
14002         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
14003         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
14004         REPLACE_WCSWIDTH.
14005         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
14006         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
14007         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
14008         * doc/posix-functions/wcswidth.texi: Mention the new module.
14009
14010 2011-02-06  Bruno Haible  <bruno@clisp.org>
14011
14012         New module 'wcstok'.
14013         * modules/wcstok: New file.
14014         * lib/wchar.in.h (wcstok): New declaration.
14015         * lib/wcstok.c: New file.
14016         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
14017         * m4/wcstok.m4: New file.
14018         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
14019         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
14020         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
14021         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
14022         * doc/posix-functions/wcstok.texi: Mention the new module.
14023
14024 2011-02-06  Bruno Haible  <bruno@clisp.org>
14025
14026         New module 'wcsstr'.
14027         * modules/wcsstr: New file.
14028         * lib/wchar.in.h (wcsstr): New declaration.
14029         * lib/wcsstr.c: New file.
14030         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
14031         * m4/wcsstr.m4: New file.
14032         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
14033         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
14034         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
14035         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
14036         * doc/posix-functions/wcsstr.texi: Mention the new module.
14037
14038 2011-02-06  Bruno Haible  <bruno@clisp.org>
14039
14040         New module 'wcspbrk'.
14041         * modules/wcspbrk: New file.
14042         * lib/wchar.in.h (wcspbrk): New declaration.
14043         * lib/wcspbrk.c: New file.
14044         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
14045         * m4/wcspbrk.m4: New file.
14046         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
14047         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
14048         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
14049         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
14050         * doc/posix-functions/wcspbrk.texi: Mention the new module.
14051
14052 2011-02-06  Bruno Haible  <bruno@clisp.org>
14053
14054         New module 'wcsspn'.
14055         * modules/wcsspn: New file.
14056         * lib/wchar.in.h (wcsspn): New declaration.
14057         * lib/wcsspn.c: New file.
14058         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
14059         * m4/wcsspn.m4: New file.
14060         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
14061         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
14062         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
14063         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
14064         * doc/posix-functions/wcsspn.texi: Mention the new module.
14065
14066 2011-02-06  Bruno Haible  <bruno@clisp.org>
14067
14068         New module 'wcscspn'.
14069         * modules/wcscspn: New file.
14070         * lib/wchar.in.h (wcscspn): New declaration.
14071         * lib/wcscspn.c: New file.
14072         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
14073         * m4/wcscspn.m4: New file.
14074         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
14075         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
14076         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
14077         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
14078         * doc/posix-functions/wcscspn.texi: Mention the new module.
14079
14080 2011-02-06  Bruno Haible  <bruno@clisp.org>
14081
14082         New module 'wcsrchr'.
14083         * modules/wcsrchr: New file.
14084         * lib/wchar.in.h (wcsrchr): New declaration.
14085         * lib/wcsrchr.c: New file.
14086         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
14087         * m4/wcsrchr.m4: New file.
14088         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
14089         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
14090         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
14091         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
14092         * doc/posix-functions/wcsrchr.texi: Mention the new module.
14093
14094 2011-02-06  Bruno Haible  <bruno@clisp.org>
14095
14096         New module 'wcschr'.
14097         * modules/wcschr: New file.
14098         * lib/wchar.in.h (wcschr): New declaration.
14099         * lib/wcschr.c: New file.
14100         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
14101         * m4/wcschr.m4: New file.
14102         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
14103         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
14104         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
14105         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
14106         * doc/posix-functions/wcschr.texi: Mention the new module.
14107
14108 2011-02-06  Bruno Haible  <bruno@clisp.org>
14109
14110         New module 'wcsdup'.
14111         * modules/wcsdup: New file.
14112         * lib/wchar.in.h (wcsdup): New declaration.
14113         * lib/wcsdup.c: New file.
14114         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
14115         * m4/wcsdup.m4: New file.
14116         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
14117         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
14118         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
14119         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
14120         * doc/posix-functions/wcsdup.texi: Mention the new module.
14121
14122 2011-02-06  Bruno Haible  <bruno@clisp.org>
14123
14124         New module 'wcsxfrm'.
14125         * modules/wcsxfrm: New file.
14126         * lib/wchar.in.h (wcsxfrm): New declaration.
14127         * lib/wcsxfrm.c: New file.
14128         * lib/wcsxfrm-impl.h: New file.
14129         * m4/wcsxfrm.m4: New file.
14130         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
14131         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
14132         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
14133         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
14134         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
14135
14136 2011-02-06  Bruno Haible  <bruno@clisp.org>
14137
14138         New module 'wcscoll'.
14139         * modules/wcscoll: New file.
14140         * lib/wchar.in.h (wcscoll): New declaration.
14141         * lib/wcscoll.c: New file.
14142         * lib/wcscoll-impl.h: New file.
14143         * m4/wcscoll.m4: New file.
14144         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
14145         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
14146         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
14147         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
14148         * doc/posix-functions/wcscoll.texi: Mention the new module.
14149
14150 2011-02-06  Bruno Haible  <bruno@clisp.org>
14151
14152         New module 'wcsncasecmp'.
14153         * modules/wcsncasecmp: New file.
14154         * lib/wchar.in.h (wcsncasecmp): New declaration.
14155         * lib/wcsncasecmp.c: New file.
14156         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
14157         * m4/wcsncasecmp.m4: New file.
14158         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
14159         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
14160         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
14161         HAVE_WCSNCASECMP.
14162         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
14163         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
14164
14165 2011-02-06  Bruno Haible  <bruno@clisp.org>
14166
14167         New module 'wcscasecmp'.
14168         * modules/wcscasecmp: New file.
14169         * lib/wchar.in.h (wcscasecmp): New declaration.
14170         * lib/wcscasecmp.c: New file.
14171         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
14172         * m4/wcscasecmp.m4: New file.
14173         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
14174         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
14175         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
14176         HAVE_WCSCASECMP.
14177         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
14178         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
14179
14180 2011-02-05  Bruno Haible  <bruno@clisp.org>
14181
14182         New module 'wcsncmp'.
14183         * modules/wcsncmp: New file.
14184         * lib/wchar.in.h (wcsncmp): New declaration.
14185         * lib/wcsncmp.c: New file.
14186         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
14187         * m4/wcsncmp.m4: New file.
14188         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
14189         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
14190         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
14191         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
14192         * doc/posix-functions/wcsncmp.texi: Mention the new module.
14193
14194 2011-02-05  Bruno Haible  <bruno@clisp.org>
14195
14196         New module 'wcscmp'.
14197         * modules/wcscmp: New file.
14198         * lib/wchar.in.h (wcscmp): New declaration.
14199         * lib/wcscmp.c: New file.
14200         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
14201         * m4/wcscmp.m4: New file.
14202         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
14203         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
14204         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
14205         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
14206         * doc/posix-functions/wcscmp.texi: Mention the new module.
14207
14208 2011-02-05  Bruno Haible  <bruno@clisp.org>
14209
14210         New module 'wcsncat'.
14211         * modules/wcsncat: New file.
14212         * lib/wchar.in.h (wcsncat): New declaration.
14213         * lib/wcsncat.c: New file.
14214         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
14215         * m4/wcsncat.m4: New file.
14216         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
14217         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
14218         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
14219         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
14220         * doc/posix-functions/wcsncat.texi: Mention the new module.
14221
14222 2011-02-05  Bruno Haible  <bruno@clisp.org>
14223
14224         New module 'wcscat'.
14225         * modules/wcscat: New file.
14226         * lib/wchar.in.h (wcscat): New declaration.
14227         * lib/wcscat.c: New file.
14228         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
14229         * m4/wcscat.m4: New file.
14230         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
14231         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
14232         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
14233         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
14234         * doc/posix-functions/wcscat.texi: Mention the new module.
14235
14236 2011-02-05  Bruno Haible  <bruno@clisp.org>
14237
14238         New module 'wcpncpy'.
14239         * modules/wcpncpy: New file.
14240         * lib/wchar.in.h (wcpncpy): New declaration.
14241         * lib/wcpncpy.c: New file.
14242         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
14243         * m4/wcpncpy.m4: New file.
14244         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
14245         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
14246         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
14247         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
14248         * doc/posix-functions/wcpncpy.texi: Mention the new module.
14249
14250 2011-02-05  Bruno Haible  <bruno@clisp.org>
14251
14252         New module 'wcsncpy'.
14253         * modules/wcsncpy: New file.
14254         * lib/wchar.in.h (wcsncpy): New declaration.
14255         * lib/wcsncpy.c: New file.
14256         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
14257         * m4/wcsncpy.m4: New file.
14258         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
14259         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
14260         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
14261         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
14262         * doc/posix-functions/wcsncpy.texi: Mention the new module.
14263
14264 2011-02-05  Bruno Haible  <bruno@clisp.org>
14265
14266         New module 'wcpcpy'.
14267         * modules/wcpcpy: New file.
14268         * lib/wchar.in.h (wcpcpy): New declaration.
14269         * lib/wcpcpy.c: New file.
14270         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
14271         * m4/wcpcpy.m4: New file.
14272         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
14273         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
14274         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
14275         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
14276         * doc/posix-functions/wcpcpy.texi: Mention the new module.
14277
14278 2011-02-05  Bruno Haible  <bruno@clisp.org>
14279
14280         New module 'wcscpy'.
14281         * modules/wcscpy: New file.
14282         * lib/wchar.in.h (wcscpy): New declaration.
14283         * lib/wcscpy.c: New file.
14284         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
14285         * m4/wcscpy.m4: New file.
14286         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
14287         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
14288         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
14289         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
14290         * doc/posix-functions/wcscpy.texi: Mention the new module.
14291
14292 2011-02-05  Bruno Haible  <bruno@clisp.org>
14293
14294         New module 'wcsnlen'.
14295         * modules/wcsnlen: New file.
14296         * lib/wchar.in.h (wcsnlen): New declaration.
14297         * lib/wcsnlen.c: New file.
14298         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
14299         * m4/wcsnlen.m4: New file.
14300         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
14301         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
14302         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
14303         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
14304         * doc/posix-functions/wcsnlen.texi: Mention the new module.
14305
14306 2011-02-05  Bruno Haible  <bruno@clisp.org>
14307
14308         New module 'wcslen'.
14309         * modules/wcslen: New file.
14310         * lib/wchar.in.h (wcslen): New declaration.
14311         * lib/wcslen.c: New file.
14312         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
14313         * m4/wcslen.m4: New file.
14314         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
14315         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
14316         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
14317         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
14318         * doc/posix-functions/wcslen.texi: Mention the new module.
14319
14320 2011-02-05  Bruno Haible  <bruno@clisp.org>
14321
14322         New module 'wmemset'.
14323         * modules/wmemset: New file.
14324         * lib/wchar.in.h (wmemset): New declaration.
14325         * lib/wmemset.c: New file.
14326         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
14327         * m4/wmemset.m4: New file.
14328         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
14329         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
14330         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
14331         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
14332         * doc/posix-functions/wmemset.texi: Mention the new module.
14333
14334 2011-02-05  Bruno Haible  <bruno@clisp.org>
14335
14336         New module 'wmemmove'.
14337         * modules/wmemmove: New file.
14338         * lib/wchar.in.h (wmemmove): New declaration.
14339         * lib/wmemmove.c: New file.
14340         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
14341         * m4/wmemmove.m4: New file.
14342         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
14343         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
14344         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
14345         HAVE_WMEMMOVE.
14346         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
14347         * doc/posix-functions/wmemmove.texi: Mention the new module.
14348
14349 2011-02-05  Bruno Haible  <bruno@clisp.org>
14350
14351         New module 'wmemcpy'.
14352         * modules/wmemcpy: New file.
14353         * lib/wchar.in.h (wmemcpy): New declaration.
14354         * lib/wmemcpy.c: New file.
14355         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
14356         * m4/wmemcpy.m4: New file.
14357         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
14358         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
14359         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
14360         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
14361         * doc/posix-functions/wmemcpy.texi: Mention the new module.
14362
14363 2011-02-05  Bruno Haible  <bruno@clisp.org>
14364
14365         New module 'wmemcmp'.
14366         * modules/wmemcmp: New file.
14367         * lib/wchar.in.h (wmemcmp): New declaration.
14368         * lib/wmemcmp.c: New file.
14369         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
14370         * m4/wmemcmp.m4: New file.
14371         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
14372         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
14373         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
14374         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
14375         * doc/posix-functions/wmemcmp.texi: Mention the new module.
14376
14377 2011-02-07  Jim Meyering  <meyering@redhat.com>
14378
14379         di-set, ino-map: new modules, from coreutils
14380         * lib/di-set.c: New file.
14381         * lib/di-set.h: Likewise.
14382         * lib/ino-map.c: Likewise.
14383         * lib/ino-map.h: Likewise.
14384         * modules/di-set: Likewise.
14385         * modules/di-set-tests: Likewise.
14386         * modules/ino-map: Likewise.
14387         * modules/ino-map-tests: Likewise.
14388         * tests/test-di-set.c: Likewise.
14389         * tests/test-ino-map.c: Likewise.
14390
14391 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14392
14393         getloadavg: merge minor changes from Emacs
14394
14395         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
14396         (getloadavg): Use memset, not bzero.
14397
14398         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
14399         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
14400         clash (bug#86).
14401
14402 2010-11-14  Bruno Haible  <bruno@clisp.org>
14403
14404         Allow multiple gnulib generated replacements to coexist.
14405         * lib/getopt.in.h (struct option): Avoid identical redefinition.
14406         * lib/inttypes.in.h (imaxdiv_t): Likewise.
14407         * lib/langinfo.in.h (nl_item): Likewise.
14408         * lib/math.in.h (_NaN, NAN): Likewise.
14409         * lib/netdb.in.h (struct addrinfo): Likewise.
14410         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
14411         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
14412         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
14413         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
14414         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
14415         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
14416         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
14417         pthread_mutexattr_init, pthread_mutexattr_settype,
14418         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
14419         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
14420         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
14421         pthread_spin_trylock, pthread_spin_unlock): Likewise.
14422         * lib/sched.in.h (struct sched_param): Likewise.
14423         * lib/se-selinux.in.h (security_class_t, security_context_t,
14424         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
14425         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
14426         lsetfilecon, fsetfilecon, security_check_context,
14427         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
14428         Likewise.
14429         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14430         Likewise.
14431         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14432         _gl_function_taking_int_returning_void_t, union sigval,
14433         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14434         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14435         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14436         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14437         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14438         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14439         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14440         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14441         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14442         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14443         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14444         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14445         socklen_t, rpl_fd_isset): Likewise.
14446         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14447         * lib/sys_time.in.h (struct timeval): Likewise.
14448         * lib/sys_times.in.h (struct tms): Likewise.
14449         * lib/sys_utsname.in.h (struct utsname):
14450         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14451         * lib/unistd.in.h (getpagesize): Likewise.
14452         * lib/wchar.in.h (mbstate_t): Likewise.
14453         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14454         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14455         towlower, towupper): Likewise.
14456         Reported by Sam Steingold <sds@gnu.org>.
14457
14458 2011-02-05  Eric Blake  <eblake@redhat.com>
14459
14460         unsetenv: work around Haiku issues
14461         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14462         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14463
14464 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14465
14466         libposix: avoid calling error() within libposix
14467         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14468         is defined.
14469
14470 2011-02-05  Eric Blake  <eblake@redhat.com>
14471
14472         strerror_r-posix: port to cygwin
14473         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14474         implementation.
14475         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14476         * tests/test-strerror_r.c (main): Fix test.
14477         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14478         issue.
14479
14480 2011-02-05  Bruno Haible  <bruno@clisp.org>
14481
14482         New module 'wmemchr'.
14483         * modules/wmemchr: New file.
14484         * lib/wchar.in.h (wmemchr): New declaration.
14485         * lib/wmemchr.c: New file.
14486         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14487         * m4/wmemchr.m4: New file.
14488         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14489         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14490         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14491         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14492         * doc/posix-functions/wmemchr.texi: Mention the new module.
14493
14494 2011-02-04  Eric Blake  <eblake@redhat.com>
14495
14496         fdopendir: detect FreeBSD bug
14497         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14498         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14499
14500 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14501
14502         stdbool: do not define HAVE_STDBOOL_H
14503         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14504         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14505         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14506         imported from the latest Autoconf git.  It was motivated by Emacs,
14507         which uses gnulib but does not need HAVE_STDBOOL_H.
14508
14509 2011-02-04  Bruno Haible  <bruno@clisp.org>
14510
14511         wcsnrtombs: Prepare for new module wwcsnrtombs.
14512         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14513         * lib/wcsnrtombs.c: Include it.
14514         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14515
14516         wcsrtombs: Prepare for new module wwcsrtombs.
14517         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14518         * lib/wcsrtombs.c: Include it.
14519         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14520
14521         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14522         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14523         * lib/mbsnrtowcs.c: Include it.
14524         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14525
14526         mbsrtowcs: Prepare for new module mbsrtowwcs.
14527         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14528         * lib/mbsrtowcs.c: Include it.
14529         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14530
14531 2011-02-04  Bruno Haible  <bruno@clisp.org>
14532
14533         vasnprintf: Reduce use of malloc for small format strings.
14534         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14535         (arguments): Add room for the first 7 arguments.
14536         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14537         (char_directives, u8_directives, u16_directives, u32_directives): Add
14538         room for the first 7 directives.
14539         * lib/printf-parse.c: Include <string.h>.
14540         (PRINTF_PARSE): Change memory handling code so that it uses the first
14541         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14542         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14543         Reported by Pádraig Brady <P@draigbrady.com>.
14544
14545 2011-01-31  Eric Blake  <eblake@redhat.com>
14546
14547         dup2: work around Haiku bug
14548         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14549         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14550         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14551         * tests/test-dup2.c (main): Enhance test.
14552
14553 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14554
14555         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14556         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14557         declared by eglibc 2.11.2.
14558         * lib/stdio.in.h: Likewise.
14559
14560 2011-01-31  Eric Blake  <eblake@redhat.com>
14561
14562         ignore-value: add missing test dependency
14563         * tests/test-ignore-value.c: Revert previous change; stdio.h
14564         provides off_t.
14565         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14566
14567 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14568
14569         mktime: clarify long_int width checking
14570         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14571         the top level, to make it clearer that the assumption about
14572         long_int width is being checked.  See
14573         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14574
14575 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14576
14577         ignore-value: Fix self-test.
14578         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14579
14580 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14581
14582         TYPE_MAXIMUM: avoid theoretically undefined behavior
14583         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14584         negative number, which the C Standard says has undefined behavior.
14585         In practice this is not a problem, but might as well do it by the book.
14586         Reported by Rich Felker and Eric Blake; see
14587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14588         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14589         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14590         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14591         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14592         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14593         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14594
14595         mktime: #undef mktime before #defining it
14596         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14597
14598         mktime: systematically normalize tm_isdst comparisons
14599         * lib/mktime.c (isdst_differ): New function.
14600         (__mktime_internal): Use it systematically for all isdst comparisons.
14601         This completes the fix for libc BZ #6723, and removes the need for
14602         normalizing tm_isdst.  See
14603         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14604         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14605
14606         mktime: fix some integer overflow issues and sidestep the rest
14607
14608         This was prompted by a bug report by Benjamin Lindner for MinGW
14609         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14610         His bug is due to signed integer overflow (0 - INT_MIN), and I
14611         I scanned through mktime.c looking for other integer overflow
14612         problems, fixing all the bugs I found.
14613
14614         Although the C Standard says the resulting code is still not safe
14615         in the presence of integer overflow, in practice it should be good
14616         enough for all real-world two's-complement implementations, except
14617         for debugging environments that deliberately trap on integer
14618         overflow (e.g., gcc -ftrapv).
14619
14620         * lib/mktime.c (WRAPV): New macro.
14621         (SHR): Also check that long_int and time_t shift right in the
14622         usual way, before using the fast-but-unportable method.
14623         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14624         used.  The code already assumed two's complement, so there's
14625         no need to test for alternatives.  All uses removed.
14626         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14627         the C standard.  Problem reported by Rich Felker in
14628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14629         (twos_complement_arithmetic): Also check long_int and time_t.
14630         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14631         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14632         (__mktime_internal): Avoid integer overflow with unary subtraction
14633         in two instances where -1 - X is an adequate replacement for -X,
14634         since the calculations are approximate.
14635
14636 2011-01-29  Eric Blake  <eblake@redhat.com>
14637
14638         mktime: avoid infinite loop
14639         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14640         type; behavior is still undefined but portable to all known targets.
14641         Reported by Rich Felker.
14642
14643 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14644
14645         rename, unlink, same-inode: Relicense.
14646         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14647         * modules/unlink (License): Likewise.
14648         * modules/same-inode (License): Likewise.
14649
14650 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14651
14652         mktime: avoid problems on NetBSD 5 / i386
14653         * lib/mktime.c (long_int): New type.  This works around a problem
14654         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14655         but time_t is 64 bits, and where I expect the existing code is
14656         wrong in some cases.
14657         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14658         (ydhms_diff): Bring back the compile-time check for wide-enough
14659         year and yday.
14660
14661         mktime: fix misspelling in comment
14662         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14663         This merges all recent glibc changes of importance.
14664
14665 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14666
14667         move-if-change: cope with concurrent mv of identical file.
14668         * build-aux/move-if-change (CMPPROG): Accept environment
14669         variable as an override for `cmp'.
14670         (usage): Document CMPPROG.
14671         Adjust comparison to drop stdout.  Cope with failure of mv if
14672         the target file exists and is identical to the source, for
14673         parallel builds.
14674         Report from H.J. Lu against binutils in PR binutils/12283.
14675
14676 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14677
14678         * users.txt: Mention sharutils.
14679
14680 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14681
14682         * users.txt: Mention OATH Toolkit.
14683
14684 2011-01-27  Bruno Haible  <bruno@clisp.org>
14685
14686         Prepare for supporting FreeBSD 10.
14687         * build-aux/config.libpath: Remove handling of freebsd1*.
14688
14689 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14690
14691         Prepare for supporting FreeBSD 10.
14692         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14693         match FreeBSD 10.0.
14694
14695 2011-01-27  Bruno Haible  <bruno@clisp.org>
14696
14697         vma-iter, get-rusage-as: Add OpenBSD support.
14698         * modules/vma-iter (configure.ac): Test for mquery.
14699         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14700         * lib/vma-iter.c: Include <sys/mman.h>.
14701         (vma_iterate): Add an implementation based on mquery().
14702         * lib/resource-ext.h (get_rusage_as): Update comments.
14703         * lib/get-rusage-as.c: Likewise.
14704         * lib/get-rusage-data.c: Likewise.
14705
14706 2011-01-26  Karl Berry  <karl@gnu.org>
14707
14708         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14709         variables to make it easier to override the makeinfo program used.
14710
14711 2011-01-26  Eric Blake  <eblake@redhat.com>
14712
14713         fcntl: work around Haiku F_DUPFD bugs
14714         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14715         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14716         cloexec bit on duplication.
14717         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14718
14719 2011-01-26  Bruno Haible  <bruno@clisp.org>
14720
14721         Enable memory leak tests on AIX.
14722         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14723         * tests/test-fprintf-posix3.c (main): Likewise.
14724
14725 2011-01-26  Bruno Haible  <bruno@clisp.org>
14726
14727         Tests for module 'get-rusage-data'.
14728         * modules/get-rusage-data-tests: New file.
14729         * tests/test-get-rusage-data.c: New file.
14730
14731         New module 'get-rusage-data'.
14732         * lib/resource-ext.h (get_rusage_data): New declaration.
14733         * lib/get-rusage-data.c: New file.
14734         * modules/get-rusage-data: New file.
14735
14736 2011-01-25  Bruno Haible  <bruno@clisp.org>
14737
14738         get-rusage-as: Allow for easier testing.
14739         * lib/resource-ext.h (get_rusage_as): Add comment.
14740         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14741         (main): New function for interactive testing.
14742
14743 2011-01-25  Bruno Haible  <bruno@clisp.org>
14744
14745         vma-iter: Treat Haiku like BeOS.
14746         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14747         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14748
14749 2011-01-25  Eric Blake  <eblake@redhat.com>
14750
14751         c-stack: fix regression on cygwin when libsigsegv is present
14752         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14753
14754 2011-01-24  Bruno Haible  <bruno@clisp.org>
14755
14756         vma-iter: Avoid empty intervals.
14757         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14758         on an empty interval.
14759
14760 2011-01-24  Jim Meyering  <meyering@redhat.com>
14761
14762         u64: remove unnecessary #include
14763         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14764
14765 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14766
14767         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14768         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14769
14770 2011-01-23  Bruno Haible  <bruno@clisp.org>
14771
14772         New module 'vma-iter'.
14773         * lib/vma-iter.h: New file.
14774         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14775         * modules/vma-iter: New file.
14776         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14777         for get_rusage_as_via_iterator.
14778         (vma_iterate_callback): New function.
14779         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14780         * modules/get-rusage-as (Depends-on): Add vma-iter.
14781
14782 2011-01-23  Bruno Haible  <bruno@clisp.org>
14783
14784         uninorm: Tweak includes.
14785         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14786         Reported by Jim Meyering.
14787
14788 2011-01-23  Bruno Haible  <bruno@clisp.org>
14789
14790         get-rusage-as: Improve on NetBSD.
14791         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14792         /proc, like on FreeBSD.
14793
14794 2011-01-23  Jim Meyering  <meyering@redhat.com>
14795
14796         xreadlink.h: remove unnecessary #include
14797         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14798
14799         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14800         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14801
14802 2011-01-23  Bruno Haible  <bruno@clisp.org>
14803
14804         get-rusage-as: Fix bug.
14805         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14806         original limit when aborting the first loop.
14807
14808 2011-01-23  Bruno Haible  <bruno@clisp.org>
14809
14810         wctype: Ensure valid C syntax.
14811         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14812         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14813
14814 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14815
14816         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14817         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14818         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14819         as they are needed only for configure's test case.
14820         This removes two unnecessary symbols from config.h.
14821
14822         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14823         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14824         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14825         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14826         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14827         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14828         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14829         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14830         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14831         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14832         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14833         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14834         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14835         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14836         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14837         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14838         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14839         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14840
14841 2011-01-21  Eric Blake  <eblake@redhat.com>
14842
14843         maintainer-makefile: work with older git for submodule check
14844         * top/maint.mk (public-submodule-commit): Rewrite to avoid
14845         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
14846         Reported by Matthias Bolte.
14847
14848         bootstrap: minor portability fixes
14849         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
14850         (usage): Omit leading capital and trailing . on help phrases, per
14851         GNU Coding Standards.
14852         (check_versions, top level): Prefix messages with script name.
14853
14854 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
14855
14856         bootstrap: support --no-git option
14857         * build-aux/bootstrap: Add --no-git option, to be used when
14858         --gnulib-srcdir points to the exact desired checkout.
14859
14860 2011-01-21  Eric Blake  <eblake@redhat.com>
14861
14862         strerror_r-posix: work with glibc 2.13
14863         * lib/strerror_r.c (strerror_r): Fix return type.
14864
14865 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14866             Bruno Haible  <bruno@clisp.org>
14867
14868         uN_strstr: New unit tests.
14869         * modules/unistr/u8-strstr-tests: New file.
14870         * modules/unistr/u16-strstr-tests: New file.
14871         * modules/unistr/u32-strstr-tests: New file.
14872         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
14873         * tests/unistr/test-u8-strstr.c: New file.
14874         * tests/unistr/test-u16-strstr.c: New file.
14875         * tests/unistr/test-u32-strstr.c: New file.
14876
14877 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14878             Bruno Haible  <bruno@clisp.org>
14879
14880         Make uN_strstr functions O(n) worst-case.
14881         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
14882         16-bit and 32-bit unit cases, use the unibyte algorithm from
14883         lib/mbsstr.c.
14884         * lib/unistr/u8-strstr.c: Include <string.h>.
14885         (UNIT_IS_UINT8_T): New macro.
14886         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
14887         (U_STRLEN, U_STRNLEN): New macros.
14888         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
14889         (U_STRLEN, U_STRNLEN): New macros.
14890         * modules/unistr/u8-strstr (Depends-on): Add strstr.
14891         (configure.ac): Update required libunistring version.
14892         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
14893         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
14894         malloca.
14895         (configure.ac): Update required libunistring version.
14896         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
14897         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
14898         malloca.
14899         (configure.ac): Update required libunistring version.
14900
14901 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14902             Bruno Haible  <bruno@clisp.org>
14903
14904         Prepare for faster uN_strstr functions.
14905         * lib/str-kmp.h: Support definable UNITs.
14906         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
14907         needle_len argument.
14908         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
14909         * lib/mbscasestr.c (mbscasestr): Likewise.
14910
14911 2011-01-21  Pádraig Brady <P@draigBrady.com>
14912
14913         malloca-tests: make faster by unsetting MALLOC_PERTURB_
14914         * tests/test-malloca.c (main): Unset the environment variable
14915         to greatly speed up the test.
14916         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
14917         * modules/malloca-tests: Depend on unsetenv.
14918
14919 2011-01-21  Pádraig Brady <P@draigBrady.com>
14920
14921         ignore-value: remove stdint dependency
14922         * lib/ignore-value.h: Remove <stdint.h>
14923         * modules/ignore-value: Remove stdint dependency.
14924
14925 2011-01-21  Jim Meyering  <meyering@redhat.com>
14926
14927         maint.mk: adjust variable name to be consistent with other gl_ vars
14928         * top/maint.mk (gl_public_submodule_commit): Rename the variable
14929         to be lower case.
14930
14931 2011-01-20  Jim Meyering  <meyering@redhat.com>
14932
14933         maint.mk: make "check" depend on public-submodule-commit by default
14934         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
14935
14936 2011-01-20  Bruno Haible  <bruno@clisp.org>
14937
14938         mbfile, mbiter: Complete change from 2008-12-21.
14939         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
14940         * m4/mbiter.m4 (gl_MBITER): Likewise.
14941
14942 2011-01-20  Jim Meyering  <meyering@redhat.com>
14943
14944         init.sh: insert space between each function name and "()"
14945         * tests/init.sh: Make it a little easier to see that a function's
14946         name is "warn_", and not "warn" when looking at the first part of
14947         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
14948
14949 2011-01-20  Jim Meyering  <meyering@redhat.com>
14950
14951         mountlist: clean up code formatting
14952         * lib/mountlist.c (read_file_system_list): Split a long line,
14953         correct bracing style, use NULL in place of "(struct statfs *)0",
14954         don't parenthesize return value, add spaces around "=" and after
14955         ";-in-for-stmt".
14956
14957 2011-01-14  Markus Duft <mduft@gentoo.org>
14958
14959         mountlist: add support for Interix
14960         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
14961         Apply statvfs to all entries of /dev/fs.
14962         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
14963         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
14964
14965 2011-01-20  Jim Meyering  <meyering@redhat.com>
14966
14967         maint.mk: improve the public-submodule-commit rule
14968         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
14969         to suppress printing of its commands... unless V=1.
14970         Add git submodule's --quiet option to suppress printing of e.g.,
14971         "Entering gnulib" output.
14972         "cd" into $(srcdir) before running git submodule.
14973
14974 2011-01-20  Bruno Haible  <bruno@clisp.org>
14975
14976         include_next: Fix bug introduced on 2011-01-18.
14977         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
14978         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
14979         ac_cv_header_... variable if the second argument is not 'check'.
14980         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
14981         gl_NEXT_HEADERS_INTERNAL.
14982
14983 2011-01-20  Bruno Haible  <bruno@clisp.org>
14984
14985         Allow the user to avoid the GNULIB_TEST_* macros.
14986         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
14987         Suggested by Paul Eggert.
14988
14989 2011-01-14  Jim Meyering  <meyering@redhat.com>
14990
14991         bootstrap: avoid failure when there is no .gitmodules file
14992         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
14993         has been assigned to, even when its value is the empty string.
14994         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
14995         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
14996         Reported by John W. Eaton <jwe@gnu.org>.
14997
14998 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14999
15000         assume <ctype.h>, ..., <time.h> exist
15001         For years gnulib has been assuming the existence of the headers
15002         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
15003         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
15004         them, since they don't appear to be needed.
15005         * README (Portability guidelines): Document this.
15006         * lib/flock.c: Assume <fcntl.h> exists.
15007         * lib/regex_internal.h: Assume <locale.h> exists.
15008         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
15009         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
15010         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
15011         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
15012         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
15013         * m4/regex.m4 (gl_REGEX): Likewise.
15014         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
15015         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
15016         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
15017         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
15018         * tests/test-argp.c: Likewise.
15019         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
15020
15021         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
15022         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
15023         AA_APPLE_UNIVERSAL_BUILD.  See
15024         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
15025         * NEWS: Document this.
15026
15027 2011-01-19  Eric Blake  <eblake@redhat.com>
15028
15029         c-stack: assume stack overflow if SA_SIGINFO unsupported
15030         * lib/c-stack.c (SIGACTION_WORKS): Rename...
15031         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
15032         sigaction will work.
15033         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
15034         behavior match Linux.
15035         * tests/test-c-stack.c (main): Prefer NULL for pointers.
15036
15037         stdbool-tests: accomodate Haiku
15038         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
15039
15040         binary-io: fix O_TEXT on Haiku
15041         * modules/binary-io (Depends-on): Add fcntl-h.
15042         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
15043         than blindly undefining O_TEXT.
15044         Reported by Scott McCreary.
15045
15046 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15047
15048         include_next: do not check for standard headers like stddef.h
15049
15050         I found this problem when modifying Emacs to use gnulib.
15051         I noticed that it added HAVE_STDDEF_H to config.h, even though
15052         gnulib always assumes <stddef.h> exists as per README and this
15053         symbol is unnecessary.
15054         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
15055         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
15056         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
15057         faster for headers like stddef.h that are known to exist.
15058         (gl_CHECK_NEXT_HEADERS): Use it.
15059         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
15060         rather than gl_CHECK_NEXT_HEADERS.
15061         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
15062         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
15063
15064 2011-01-18  Eric Blake  <eblake@redhat.com>
15065
15066         ansi-c++-opt: skip C++ dependency style if C++ is unused
15067         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
15068         tests when we know C++ compilation is not desired.
15069         Reported by Scott McCreary.
15070
15071 2011-01-18  Bruno Haible  <bruno@clisp.org>
15072
15073         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
15074         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
15075         (main): Perform test also when getrlimit and setrlimit don't exist or
15076         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
15077         limiting the address space size using setrlimit, compare the address
15078         space size before and after the the test.
15079         * tests/test-dprintf-posix2.c: Likewise.
15080         * tests/test-fprintf-posix3.sh: Update skip messages.
15081         * tests/test-dprintf-posix2.sh: Likewise.
15082         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
15083         * modules/dprintf-posix-tests (Depends-on): Likewise.
15084         Reported by Bruce Korb <bkorb@gnu.org> and
15085         Gary V. Vaughan <gary@gnu.org>.
15086
15087 2011-01-18  Bruno Haible  <bruno@clisp.org>
15088
15089         get-rusage-as: Improvement for Cygwin.
15090         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
15091         areas that are merely reserved.
15092
15093 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15094
15095         strftime: remove dependencies on multibyte modules
15096
15097         strftime depended on mbrlen, mbsinit, and wchar, but these modules
15098         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
15099         only if __osf__ is defined, and I suspect OSF doesn't need these
15100         other modules.  If my guess is wrong, we'll need to come up with a
15101         variant of strftime that doesn't need the multibyte modules.
15102
15103         I discovered this problem when attempting modify Emacs to use the
15104         strftime module.  With the previous gnulib, this caused Emacs to
15105         need 31 new files, ranging from lib/config.charset to
15106         m4/wint_t.m4.  This was overkill and I expect would be offputting
15107         to the Emacs maintainers.  After this change, only 6 new files are
15108         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
15109         stdbool.m4, and tm_gmtoff.m4.
15110
15111         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
15112         Suggested by Bruno Haible in
15113         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
15114         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
15115         and do not check for wchar.h.
15116         * modules/strftime (Files): Remove m4/mbstate_t.m4.
15117         (Depends-on): Remove mbrlen, mbsinit, wchar.
15118
15119 2011-01-18  Bruno Haible  <bruno@clisp.org>
15120
15121         Tests for module 'get-rusage-as'.
15122         * modules/get-rusage-as-tests: New file.
15123         * tests/test-get-rusage-as.c: New file.
15124
15125         New module 'get-rusage-as'.
15126         * modules/get-rusage-as: New file.
15127         * lib/resource-ext.h: New file.
15128         * lib/get-rusage-as.c: New file.
15129
15130 2011-01-17  Eric Blake  <eblake@redhat.com>
15131
15132         sigaction: relax license from LGPLv3+ to LGPLv2+
15133         * modules/sigaction (License): Relax to LGPLv2+.
15134
15135 2011-01-14  Bruno Haible  <bruno@clisp.org>
15136
15137         filemode: Make function declarations usable in C++ mode.
15138         * lib/filemode.h: Enclose function declarations in extern "C" block.
15139         Reported by John W. Eaton <jwe@gnu.org>.
15140
15141 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
15142
15143         save-cwd: no longer include "xgetcwd.h"
15144         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
15145         This avoids a compilation failure in projects that use save-cwd
15146         without also using the xgetcwd module.
15147
15148 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15149
15150         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
15151         This is so that a program like Emacs, which needs only dtoastr,
15152         does not have to bother with distributing and compiling ftoastr
15153         and ldtoastr.
15154         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
15155         * modules/dtoastr, modules/ldtoastr: New files.
15156         * modules/ftoastr: Now works just for 'float'.
15157         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
15158         (Makefile.am): Remove ftoastr.h (not needed and no effect),
15159         dtoastr.c, ldtoastr.c.
15160
15161 2011-01-11  Jim Meyering  <meyering@redhat.com>
15162
15163         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
15164         There is no need to work around the lack of the fchdir function,
15165         since gnulib can now provide a replacement when required.
15166         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
15167         * modules/save-cwd (Depends-on): Add fchdir.
15168
15169 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15170
15171         openat, save-cwd: avoid xmalloc
15172
15173         This removes a direct (but undocumented) dependency of openat on
15174         xalloc, along with an indirect dependency via save-cwd.  It also
15175         removes a dependency of save-cwd on xgetcwd, and thereby
15176         indirectly on xalloc.  This change causes the openat substitute
15177         to fall back on save_cwd when memory is tight, and for save_cwd to
15178         fail instead of dying when memory is tight, but that's good enough.
15179         Problem and initial idea for fix reported by Bastien Roucaries in
15180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
15181
15182         * lib/openat-proc.c: Include stdlib.h (for malloc), not
15183         xalloc.h (for xmalloc).
15184         (openat_proc_name): Use malloc, not xmalloc.
15185         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
15186         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
15187
15188         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
15189         This avoids heap allocation for file names whose lengths are in
15190         the range 512..1023, with the upper bound increasing to at most
15191         4031 depending on the platform's PATH_MAX.  (We do not want
15192         pathmax.h here as it might supply a non-constant PATH_MAX.)
15193         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
15194         Perhaps they should be moved to malloca.h?
15195         (OPENAT_BUFFER_SIZE): Use them.
15196
15197 2011-01-10  Bruno Haible  <bruno@clisp.org>
15198
15199         doc: Update users.txt.
15200         * users.txt: Add recutils.
15201
15202 2011-01-09  Karl Berry  <karl@gnu.org>
15203
15204         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
15205
15206         * doc/configmake.texi: New file.
15207         * doc/gnulib.texi: Include it.
15208         * modules/configmake: Move documentation from here.
15209
15210 2011-01-09  Bruno Haible  <bruno@clisp.org>
15211
15212         Update to Unicode 6.0.0.
15213         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
15214         (get_lbp): Update for Unicode 6.0.0.
15215         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
15216         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
15217         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
15218         U+11001, U+11038..U+11046. Remove U+06DE.
15219         (uc_width): Fix bounds of planes.
15220         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15221         lib/uniwidth/width.c.
15222         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
15223         trailing whitespace removed.
15224         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
15225         without comments, but with the original copyright notice.
15226         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
15227         * lib/unicase/ignorable.h: Likewise.
15228         * lib/unicase/tocasefold.h: Likewise.
15229         * lib/unicase/tolower.h: Likewise.
15230         * lib/unicase/totitle.h: Likewise.
15231         * lib/unicase/toupper.h: Likewise.
15232         * lib/unictype/bidi_of.h: Likewise.
15233         * lib/unictype/blocks.h: Likewise.
15234         * lib/unictype/categ_C.h: Likewise.
15235         * lib/unictype/categ_Cn.h: Likewise.
15236         * lib/unictype/categ_L.h: Likewise.
15237         * lib/unictype/categ_Ll.h: Likewise.
15238         * lib/unictype/categ_Lm.h: Likewise.
15239         * lib/unictype/categ_Lo.h: Likewise.
15240         * lib/unictype/categ_Lu.h: Likewise.
15241         * lib/unictype/categ_M.h: Likewise.
15242         * lib/unictype/categ_Mc.h: Likewise.
15243         * lib/unictype/categ_Me.h: Likewise.
15244         * lib/unictype/categ_Mn.h: Likewise.
15245         * lib/unictype/categ_N.h: Likewise.
15246         * lib/unictype/categ_Nd.h: Likewise.
15247         * lib/unictype/categ_No.h: Likewise.
15248         * lib/unictype/categ_P.h: Likewise.
15249         * lib/unictype/categ_Po.h: Likewise.
15250         * lib/unictype/categ_S.h: Likewise.
15251         * lib/unictype/categ_Sc.h: Likewise.
15252         * lib/unictype/categ_Sk.h: Likewise.
15253         * lib/unictype/categ_Sm.h: Likewise.
15254         * lib/unictype/categ_So.h: Likewise.
15255         * lib/unictype/categ_of.h: Likewise.
15256         * lib/unictype/combining.h: Likewise.
15257         * lib/unictype/ctype_alnum.h: Likewise.
15258         * lib/unictype/ctype_alpha.h: Likewise.
15259         * lib/unictype/ctype_graph.h: Likewise.
15260         * lib/unictype/ctype_lower.h: Likewise.
15261         * lib/unictype/ctype_print.h: Likewise.
15262         * lib/unictype/ctype_punct.h: Likewise.
15263         * lib/unictype/ctype_upper.h: Likewise.
15264         * lib/unictype/decdigit.h: Likewise.
15265         * lib/unictype/digit.h: Likewise.
15266         * lib/unictype/numeric.h: Likewise.
15267         * lib/unictype/pr_alphabetic.h: Likewise.
15268         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15269         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15270         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15271         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15272         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15273         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15274         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15275         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15276         * lib/unictype/pr_case_ignorable.h: Likewise.
15277         * lib/unictype/pr_cased.h: Likewise.
15278         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
15279         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
15280         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
15281         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
15282         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
15283         * lib/unictype/pr_combining.h: Likewise.
15284         * lib/unictype/pr_composite.h: Likewise.
15285         * lib/unictype/pr_currency_symbol.h: Likewise.
15286         * lib/unictype/pr_decimal_digit.h: Likewise.
15287         * lib/unictype/pr_deprecated.h: Likewise.
15288         * lib/unictype/pr_format_control.h: Likewise.
15289         * lib/unictype/pr_grapheme_base.h: Likewise.
15290         * lib/unictype/pr_grapheme_extend.h: Likewise.
15291         * lib/unictype/pr_grapheme_link.h: Likewise.
15292         * lib/unictype/pr_id_continue.h: Likewise.
15293         * lib/unictype/pr_id_start.h: Likewise.
15294         * lib/unictype/pr_ideographic.h: Likewise.
15295         * lib/unictype/pr_lowercase.h: Likewise.
15296         * lib/unictype/pr_math.h: Likewise.
15297         * lib/unictype/pr_numeric.h: Likewise.
15298         * lib/unictype/pr_other_alphabetic.h: Likewise.
15299         * lib/unictype/pr_other_id_continue.h: Likewise.
15300         * lib/unictype/pr_other_math.h: Likewise.
15301         * lib/unictype/pr_punctuation.h: Likewise.
15302         * lib/unictype/pr_sentence_terminal.h: Likewise.
15303         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15304         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15305         * lib/unictype/pr_unified_ideograph.h: Likewise.
15306         * lib/unictype/pr_uppercase.h: Likewise.
15307         * lib/unictype/pr_xid_continue.h: Likewise.
15308         * lib/unictype/pr_xid_start.h: Likewise.
15309         * lib/unictype/scripts.h: Likewise.
15310         * lib/unictype/scripts_byname.gperf: Likewise.
15311         * lib/unictype/sy_java_ident.h: Likewise.
15312         * lib/unigbrk/gbrkprop.h: Likewise.
15313         * lib/unilbrk/lbrkprop1.h: Likewise.
15314         * lib/unilbrk/lbrkprop2.h: Likewise.
15315         * lib/uninorm/decomposition-table2.h: Likewise.
15316         * lib/uniwbrk/wbrkprop.h: Likewise.
15317         * tests/unicase/test-cased.c: Likewise.
15318         * tests/unicase/test-ignorable.c: Likewise.
15319         * tests/unicase/test-uc_tolower.c: Likewise.
15320         * tests/unicase/test-uc_totitle.c: Likewise.
15321         * tests/unicase/test-uc_toupper.c: Likewise.
15322         * tests/unictype/test-categ_C.c: Likewise.
15323         * tests/unictype/test-categ_Cn.c: Likewise.
15324         * tests/unictype/test-categ_L.c: Likewise.
15325         * tests/unictype/test-categ_Ll.c: Likewise.
15326         * tests/unictype/test-categ_Lm.c: Likewise.
15327         * tests/unictype/test-categ_Lo.c: Likewise.
15328         * tests/unictype/test-categ_Lu.c: Likewise.
15329         * tests/unictype/test-categ_M.c: Likewise.
15330         * tests/unictype/test-categ_Mc.c: Likewise.
15331         * tests/unictype/test-categ_Me.c: Likewise.
15332         * tests/unictype/test-categ_Mn.c: Likewise.
15333         * tests/unictype/test-categ_N.c: Likewise.
15334         * tests/unictype/test-categ_Nd.c: Likewise.
15335         * tests/unictype/test-categ_No.c: Likewise.
15336         * tests/unictype/test-categ_P.c: Likewise.
15337         * tests/unictype/test-categ_Po.c: Likewise.
15338         * tests/unictype/test-categ_S.c: Likewise.
15339         * tests/unictype/test-categ_Sc.c: Likewise.
15340         * tests/unictype/test-categ_Sk.c: Likewise.
15341         * tests/unictype/test-categ_Sm.c: Likewise.
15342         * tests/unictype/test-categ_So.c: Likewise.
15343         * tests/unictype/test-ctype_alnum.c: Likewise.
15344         * tests/unictype/test-ctype_alpha.c: Likewise.
15345         * tests/unictype/test-ctype_graph.c: Likewise.
15346         * tests/unictype/test-ctype_lower.c: Likewise.
15347         * tests/unictype/test-ctype_print.c: Likewise.
15348         * tests/unictype/test-ctype_punct.c: Likewise.
15349         * tests/unictype/test-ctype_upper.c: Likewise.
15350         * tests/unictype/test-decdigit.h: Likewise.
15351         * tests/unictype/test-digit.h: Likewise.
15352         * tests/unictype/test-numeric.h: Likewise.
15353         * tests/unictype/test-pr_alphabetic.c: Likewise.
15354         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15355         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
15356         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
15357         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15358         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15359         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15360         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15361         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15362         * tests/unictype/test-pr_case_ignorable.c: Likewise.
15363         * tests/unictype/test-pr_cased.c: Likewise.
15364         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
15365         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
15366         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
15367         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
15368         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
15369         * tests/unictype/test-pr_combining.c: Likewise.
15370         * tests/unictype/test-pr_composite.c: Likewise.
15371         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15372         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15373         * tests/unictype/test-pr_deprecated.c: Likewise.
15374         * tests/unictype/test-pr_format_control.c: Likewise.
15375         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15376         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15377         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15378         * tests/unictype/test-pr_id_continue.c: Likewise.
15379         * tests/unictype/test-pr_id_start.c: Likewise.
15380         * tests/unictype/test-pr_ideographic.c: Likewise.
15381         * tests/unictype/test-pr_lowercase.c: Likewise.
15382         * tests/unictype/test-pr_math.c: Likewise.
15383         * tests/unictype/test-pr_numeric.c: Likewise.
15384         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15385         * tests/unictype/test-pr_other_id_continue.c: Likewise.
15386         * tests/unictype/test-pr_other_math.c: Likewise.
15387         * tests/unictype/test-pr_punctuation.c: Likewise.
15388         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15389         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15390         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15391         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15392         * tests/unictype/test-pr_uppercase.c: Likewise.
15393         * tests/unictype/test-pr_xid_continue.c: Likewise.
15394         * tests/unictype/test-pr_xid_start.c: Likewise.
15395         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15396         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15397         changes.
15398         * lib/unictype/categ_Cc.h: Likewise.
15399         * lib/unictype/categ_Cf.h: Likewise.
15400         * lib/unictype/categ_Co.h: Likewise.
15401         * lib/unictype/categ_Cs.h: Likewise.
15402         * lib/unictype/categ_Lt.h: Likewise.
15403         * lib/unictype/categ_Nl.h: Likewise.
15404         * lib/unictype/categ_Pc.h: Likewise.
15405         * lib/unictype/categ_Pd.h: Likewise.
15406         * lib/unictype/categ_Pe.h: Likewise.
15407         * lib/unictype/categ_Pf.h: Likewise.
15408         * lib/unictype/categ_Pi.h: Likewise.
15409         * lib/unictype/categ_Ps.h: Likewise.
15410         * lib/unictype/categ_Z.h: Likewise.
15411         * lib/unictype/categ_Zl.h: Likewise.
15412         * lib/unictype/categ_Zp.h: Likewise.
15413         * lib/unictype/categ_Zs.h: Likewise.
15414         * lib/unictype/ctype_blank.h: Likewise.
15415         * lib/unictype/ctype_cntrl.h: Likewise.
15416         * lib/unictype/ctype_digit.h: Likewise.
15417         * lib/unictype/ctype_space.h: Likewise.
15418         * lib/unictype/ctype_xdigit.h: Likewise.
15419         * lib/unictype/mirror.h: Likewise.
15420         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15421         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15422         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15423         * lib/unictype/pr_bidi_control.h: Likewise.
15424         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15425         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15426         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15427         * lib/unictype/pr_bidi_pdf.h: Likewise.
15428         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15429         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15430         * lib/unictype/pr_dash.h: Likewise.
15431         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15432         * lib/unictype/pr_diacritic.h: Likewise.
15433         * lib/unictype/pr_extender.h: Likewise.
15434         * lib/unictype/pr_hex_digit.h: Likewise.
15435         * lib/unictype/pr_hyphen.h: Likewise.
15436         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15437         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15438         * lib/unictype/pr_ignorable_control.h: Likewise.
15439         * lib/unictype/pr_iso_control.h: Likewise.
15440         * lib/unictype/pr_join_control.h: Likewise.
15441         * lib/unictype/pr_left_of_pair.h: Likewise.
15442         * lib/unictype/pr_line_separator.h: Likewise.
15443         * lib/unictype/pr_logical_order_exception.h: Likewise.
15444         * lib/unictype/pr_non_break.h: Likewise.
15445         * lib/unictype/pr_not_a_character.h: Likewise.
15446         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15447         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15448         * lib/unictype/pr_other_id_start.h: Likewise.
15449         * lib/unictype/pr_other_lowercase.h: Likewise.
15450         * lib/unictype/pr_other_uppercase.h: Likewise.
15451         * lib/unictype/pr_paired_punctuation.h: Likewise.
15452         * lib/unictype/pr_paragraph_separator.h: Likewise.
15453         * lib/unictype/pr_pattern_syntax.h: Likewise.
15454         * lib/unictype/pr_pattern_white_space.h: Likewise.
15455         * lib/unictype/pr_private_use.h: Likewise.
15456         * lib/unictype/pr_quotation_mark.h: Likewise.
15457         * lib/unictype/pr_radical.h: Likewise.
15458         * lib/unictype/pr_soft_dotted.h: Likewise.
15459         * lib/unictype/pr_space.h: Likewise.
15460         * lib/unictype/pr_titlecase.h: Likewise.
15461         * lib/unictype/pr_variation_selector.h: Likewise.
15462         * lib/unictype/pr_white_space.h: Likewise.
15463         * lib/unictype/pr_zero_width.h: Likewise.
15464         * lib/unictype/sy_c_ident.h: Likewise.
15465         * lib/unictype/sy_c_whitespace.h: Likewise.
15466         * lib/unictype/sy_java_whitespace.h: Likewise.
15467         * lib/uninorm/composition-table.gperf: Likewise.
15468         * lib/uninorm/decomposition-table1.h: Likewise.
15469         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15470         LB8.
15471         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15472         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15473         * modules/unictype/*: Bump version number of expected libunistring
15474         version.
15475
15476 2011-01-09  Bruno Haible  <bruno@clisp.org>
15477
15478         Update to Unicode 5.2.0.
15479         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15480         trailing whitespace removed.
15481
15482 2011-01-09  Bruno Haible  <bruno@clisp.org>
15483
15484         New Unicode character properties, from Unicode 5.2.0.
15485         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15486         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15487         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15488         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15489         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15490         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15491         uc_is_property_cased, uc_is_property_case_ignorable,
15492         uc_is_property_changes_when_lowercased,
15493         uc_is_property_changes_when_uppercased,
15494         uc_is_property_changes_when_titlecased,
15495         uc_is_property_changes_when_casefolded,
15496         uc_is_property_changes_when_casemapped): New declarations.
15497         * lib/unictype/pr_byname.gperf: Add the new properties.
15498         * modules/unictype/property-byname (Depends-on): Depend on the new
15499         properties modules.
15500         * modules/unictype/property-all (Depends-on): Likewise.
15501         * MODULES.html.sh (Unicode string functions): Add
15502         unictype/property-case-ignorable, unictype/property-cased,
15503         unictype/property-changes-when-casefolded,
15504         unictype/property-changes-when-casemapped,
15505         unictype/property-changes-when-lowercased,
15506         unictype/property-changes-when-titlecased,
15507         unictype/property-changes-when-uppercased.
15508
15509         New module 'unictype/property-changes-when-casemapped'.
15510         * modules/unictype/property-changes-when-casemapped: New file.
15511         * lib/unictype/pr_changes_when_casemapped.c: New file.
15512         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15513         generated by gen-uni-tables.
15514         * modules/unictype/property-changes-when-casemapped-tests: New file.
15515         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15516         automatically generated by gen-uni-tables.
15517
15518         New module 'unictype/property-changes-when-casefolded'.
15519         * modules/unictype/property-changes-when-casefolded: New file.
15520         * lib/unictype/pr_changes_when_casefolded.c: New file.
15521         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15522         generated by gen-uni-tables.
15523         * modules/unictype/property-changes-when-casefolded-tests: New file.
15524         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15525         automatically generated by gen-uni-tables.
15526
15527         New module 'unictype/property-changes-when-titlecased'.
15528         * modules/unictype/property-changes-when-titlecased: New file.
15529         * lib/unictype/pr_changes_when_titlecased.c: New file.
15530         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15531         generated by gen-uni-tables.
15532         * modules/unictype/property-changes-when-titlecased-tests: New file.
15533         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15534         automatically generated by gen-uni-tables.
15535
15536         New module 'unictype/property-changes-when-uppercased'.
15537         * modules/unictype/property-changes-when-uppercased: New file.
15538         * lib/unictype/pr_changes_when_uppercased.c: New file.
15539         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15540         generated by gen-uni-tables.
15541         * modules/unictype/property-changes-when-uppercased-tests: New file.
15542         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15543         automatically generated by gen-uni-tables.
15544
15545         New module 'unictype/property-changes-when-lowercased'.
15546         * modules/unictype/property-changes-when-lowercased: New file.
15547         * lib/unictype/pr_changes_when_lowercased.c: New file.
15548         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15549         generated by gen-uni-tables.
15550         * modules/unictype/property-changes-when-lowercased-tests: New file.
15551         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15552         automatically generated by gen-uni-tables.
15553
15554         New module 'unictype/property-case-ignorable'.
15555         * modules/unictype/property-case-ignorable: New file.
15556         * lib/unictype/pr_case_ignorable.c: New file.
15557         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15558         by gen-uni-tables.
15559         * modules/unictype/property-case-ignorable-tests: New file.
15560         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15561         generated by gen-uni-tables.
15562
15563         New module 'unictype/property-cased'.
15564         * modules/unictype/property-cased: New file.
15565         * lib/unictype/pr_cased.c: New file.
15566         * lib/unictype/pr_cased.h: New file, automatically generated by
15567         gen-uni-tables.
15568         * modules/unictype/property-cased-tests: New file.
15569         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15570         gen-uni-tables.
15571
15572 2011-01-09  Bruno Haible  <bruno@clisp.org>
15573
15574         Update to Unicode 5.2.0.
15575         * lib/gen-uni-tables.c (output_predicate, output_category,
15576         output_combclass, output_bidi_category, output_decimal_digit_test,
15577         output_decimal_digit, output_digit_test, output_digit,
15578         output_numeric_test, output_numeric, output_mirror, output_scripts,
15579         output_scripts_byname, output_blocks, output_ident_category): Fix
15580         comment header.
15581         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15582         get_wbp.
15583         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15584         items.
15585         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15586         Changes_When_Lowercased, Changes_When_Uppercased,
15587         Changes_When_Titlecased, Changes_When_Casefolded,
15588         Changes_When_Casemapped.
15589         (is_property_alphabetic, is_property_default_ignorable_code_point):
15590         Update for Unicode 5.2.0.
15591         (is_property_cased, is_property_case_ignorable,
15592         is_property_changes_when_lowercased,
15593         is_property_changes_when_uppercased,
15594         is_property_changes_when_titlecased,
15595         is_property_changes_when_casefolded,
15596         is_property_changes_when_casemapped): New functions.
15597         (output_properties): Output also the properties cased, case_ignorable,
15598         changes_when_lowercased, changes_when_uppercased,
15599         changes_when_titlecased, changes_when_casefolded,
15600         changes_when_casemapped.
15601         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15602         Unicode TR#11 revision 17 -> 19.
15603         (LBP_CP): New enumeration value.
15604         (LBP_*): Adjust values accordingly.
15605         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15606         TR#14 revision 22 -> 24.
15607         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15608         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15609         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15610         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15611         is_WBP_MIDLETTER.
15612         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15613         the code1 and code2 of each composition rule.
15614         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15615         * lib/unicase/ignorable.h: Likewise.
15616         * lib/unicase/tocasefold.h: Likewise.
15617         * lib/unicase/tolower.h: Likewise.
15618         * lib/unicase/totitle.h: Likewise.
15619         * lib/unicase/toupper.h: Likewise.
15620         * lib/unictype/bidi_of.h: Likewise.
15621         * lib/unictype/blocks.h: Likewise.
15622         * lib/unictype/categ_C.h: Likewise.
15623         * lib/unictype/categ_Cf.h: Likewise.
15624         * lib/unictype/categ_Cn.h: Likewise.
15625         * lib/unictype/categ_L.h: Likewise.
15626         * lib/unictype/categ_Ll.h: Likewise.
15627         * lib/unictype/categ_Lm.h: Likewise.
15628         * lib/unictype/categ_Lo.h: Likewise.
15629         * lib/unictype/categ_Lu.h: Likewise.
15630         * lib/unictype/categ_M.h: Likewise.
15631         * lib/unictype/categ_Mc.h: Likewise.
15632         * lib/unictype/categ_Mn.h: Likewise.
15633         * lib/unictype/categ_N.h: Likewise.
15634         * lib/unictype/categ_Nd.h: Likewise.
15635         * lib/unictype/categ_Nl.h: Likewise.
15636         * lib/unictype/categ_No.h: Likewise.
15637         * lib/unictype/categ_P.h: Likewise.
15638         * lib/unictype/categ_Pd.h: Likewise.
15639         * lib/unictype/categ_Po.h: Likewise.
15640         * lib/unictype/categ_S.h: Likewise.
15641         * lib/unictype/categ_Sc.h: Likewise.
15642         * lib/unictype/categ_So.h: Likewise.
15643         * lib/unictype/categ_of.h: Likewise.
15644         * lib/unictype/combining.h: Likewise.
15645         * lib/unictype/ctype_alnum.h: Likewise.
15646         * lib/unictype/ctype_alpha.h: Likewise.
15647         * lib/unictype/ctype_graph.h: Likewise.
15648         * lib/unictype/ctype_lower.h: Likewise.
15649         * lib/unictype/ctype_print.h: Likewise.
15650         * lib/unictype/ctype_punct.h: Likewise.
15651         * lib/unictype/ctype_upper.h: Likewise.
15652         * lib/unictype/decdigit.h: Likewise.
15653         * lib/unictype/digit.h: Likewise.
15654         * lib/unictype/numeric.h: Likewise.
15655         * lib/unictype/pr_alphabetic.h: Likewise.
15656         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15657         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15658         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15659         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15660         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15661         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15662         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15663         * lib/unictype/pr_combining.h: Likewise.
15664         * lib/unictype/pr_composite.h: Likewise.
15665         * lib/unictype/pr_currency_symbol.h: Likewise.
15666         * lib/unictype/pr_dash.h: Likewise.
15667         * lib/unictype/pr_decimal_digit.h: Likewise.
15668         * lib/unictype/pr_deprecated.h: Likewise.
15669         * lib/unictype/pr_diacritic.h: Likewise.
15670         * lib/unictype/pr_extender.h: Likewise.
15671         * lib/unictype/pr_grapheme_base.h: Likewise.
15672         * lib/unictype/pr_grapheme_extend.h: Likewise.
15673         * lib/unictype/pr_grapheme_link.h: Likewise.
15674         * lib/unictype/pr_id_continue.h: Likewise.
15675         * lib/unictype/pr_id_start.h: Likewise.
15676         * lib/unictype/pr_ideographic.h: Likewise.
15677         * lib/unictype/pr_ignorable_control.h: Likewise.
15678         * lib/unictype/pr_logical_order_exception.h: Likewise.
15679         * lib/unictype/pr_lowercase.h: Likewise.
15680         * lib/unictype/pr_numeric.h: Likewise.
15681         * lib/unictype/pr_other_alphabetic.h: Likewise.
15682         * lib/unictype/pr_punctuation.h: Likewise.
15683         * lib/unictype/pr_sentence_terminal.h: Likewise.
15684         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15685         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15686         * lib/unictype/pr_unified_ideograph.h: Likewise.
15687         * lib/unictype/pr_uppercase.h: Likewise.
15688         * lib/unictype/pr_xid_continue.h: Likewise.
15689         * lib/unictype/pr_xid_start.h: Likewise.
15690         * lib/unictype/pr_zero_width.h: Likewise.
15691         * lib/unictype/scripts.h: Likewise.
15692         * lib/unictype/scripts_byname.gperf: Likewise.
15693         * lib/unictype/sy_java_ident.h: Likewise.
15694         * lib/unigbrk/gbrkprop.h: Likewise.
15695         * lib/unilbrk/lbrkprop1.h: Likewise.
15696         * lib/unilbrk/lbrkprop2.h: Likewise.
15697         * lib/unilbrk/lbrktables.h: Likewise.
15698         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15699         LBP_CP. Implement rule LB30.
15700         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15701         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15702         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15703         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15704         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15705         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15706         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15707         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15708         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15709         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15710         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15711         bits instead of 16 bits in the code1 and code2 of each composition
15712         rule.
15713         (uc_composition): Update for Unicode 5.2.0.
15714         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15715         * lib/uninorm/decomposition-table2.h: Likewise.
15716         * lib/uniwbrk/wbrkprop.h: Likewise.
15717         * tests/unicase/test-cased.c: Likewise.
15718         * tests/unicase/test-ignorable.c: Likewise.
15719         * tests/unicase/test-uc_tolower.c: Likewise.
15720         * tests/unicase/test-uc_totitle.c: Likewise.
15721         * tests/unicase/test-uc_toupper.c: Likewise.
15722         * tests/unictype/test-categ_C.c: Likewise.
15723         * tests/unictype/test-categ_Cf.c: Likewise.
15724         * tests/unictype/test-categ_Cn.c: Likewise.
15725         * tests/unictype/test-categ_L.c: Likewise.
15726         * tests/unictype/test-categ_Ll.c: Likewise.
15727         * tests/unictype/test-categ_Lm.c: Likewise.
15728         * tests/unictype/test-categ_Lo.c: Likewise.
15729         * tests/unictype/test-categ_Lu.c: Likewise.
15730         * tests/unictype/test-categ_M.c: Likewise.
15731         * tests/unictype/test-categ_Mc.c: Likewise.
15732         * tests/unictype/test-categ_Mn.c: Likewise.
15733         * tests/unictype/test-categ_N.c: Likewise.
15734         * tests/unictype/test-categ_Nd.c: Likewise.
15735         * tests/unictype/test-categ_Nl.c: Likewise.
15736         * tests/unictype/test-categ_No.c: Likewise.
15737         * tests/unictype/test-categ_P.c: Likewise.
15738         * tests/unictype/test-categ_Pd.c: Likewise.
15739         * tests/unictype/test-categ_Po.c: Likewise.
15740         * tests/unictype/test-categ_S.c: Likewise.
15741         * tests/unictype/test-categ_Sc.c: Likewise.
15742         * tests/unictype/test-categ_So.c: Likewise.
15743         * tests/unictype/test-ctype_alnum.c: Likewise.
15744         * tests/unictype/test-ctype_alpha.c: Likewise.
15745         * tests/unictype/test-ctype_graph.c: Likewise.
15746         * tests/unictype/test-ctype_lower.c: Likewise.
15747         * tests/unictype/test-ctype_print.c: Likewise.
15748         * tests/unictype/test-ctype_punct.c: Likewise.
15749         * tests/unictype/test-ctype_upper.c: Likewise.
15750         * tests/unictype/test-decdigit.h: Likewise.
15751         * tests/unictype/test-digit.h: Likewise.
15752         * tests/unictype/test-numeric.h: Likewise.
15753         * tests/unictype/test-pr_alphabetic.c: Likewise.
15754         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15755         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15756         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15757         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15758         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15759         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15760         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15761         * tests/unictype/test-pr_combining.c: Likewise.
15762         * tests/unictype/test-pr_composite.c: Likewise.
15763         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15764         * tests/unictype/test-pr_dash.c: Likewise.
15765         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15766         * tests/unictype/test-pr_deprecated.c: Likewise.
15767         * tests/unictype/test-pr_diacritic.c: Likewise.
15768         * tests/unictype/test-pr_extender.c: Likewise.
15769         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15770         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15771         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15772         * tests/unictype/test-pr_id_continue.c: Likewise.
15773         * tests/unictype/test-pr_id_start.c: Likewise.
15774         * tests/unictype/test-pr_ideographic.c: Likewise.
15775         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15776         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15777         * tests/unictype/test-pr_lowercase.c: Likewise.
15778         * tests/unictype/test-pr_numeric.c: Likewise.
15779         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15780         * tests/unictype/test-pr_punctuation.c: Likewise.
15781         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15782         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15783         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15784         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15785         * tests/unictype/test-pr_uppercase.c: Likewise.
15786         * tests/unictype/test-pr_xid_continue.c: Likewise.
15787         * tests/unictype/test-pr_xid_start.c: Likewise.
15788         * tests/unictype/test-pr_zero_width.c: Likewise.
15789         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15790         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15791         changed behaviour: line breaking is now disallowed between a letter
15792         or '=' and '('.
15793         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15794         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15795         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15796         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15797         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15798         lib/uniwidth/width.c.
15799         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15800         without comments, but with the original copyright notice.
15801         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15802         changes.
15803         * lib/unictype/categ_Cc.h: Likewise.
15804         * lib/unictype/categ_Co.h: Likewise.
15805         * lib/unictype/categ_Cs.h: Likewise.
15806         * lib/unictype/categ_Lt.h: Likewise.
15807         * lib/unictype/categ_Me.h: Likewise.
15808         * lib/unictype/categ_Pc.h: Likewise.
15809         * lib/unictype/categ_Pe.h: Likewise.
15810         * lib/unictype/categ_Pf.h: Likewise.
15811         * lib/unictype/categ_Pi.h: Likewise.
15812         * lib/unictype/categ_Ps.h: Likewise.
15813         * lib/unictype/categ_Sk.h: Likewise.
15814         * lib/unictype/categ_Sm.h: Likewise.
15815         * lib/unictype/categ_Z.h: Likewise.
15816         * lib/unictype/categ_Zl.h: Likewise.
15817         * lib/unictype/categ_Zp.h: Likewise.
15818         * lib/unictype/categ_Zs.h: Likewise.
15819         * lib/unictype/ctype_blank.h: Likewise.
15820         * lib/unictype/ctype_cntrl.h: Likewise.
15821         * lib/unictype/ctype_digit.h: Likewise.
15822         * lib/unictype/ctype_space.h: Likewise.
15823         * lib/unictype/ctype_xdigit.h: Likewise.
15824         * lib/unictype/mirror.h: Likewise.
15825         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15826         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15827         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15828         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15829         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15830         * lib/unictype/pr_bidi_control.h: Likewise.
15831         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15832         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15833         * lib/unictype/pr_bidi_pdf.h: Likewise.
15834         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15835         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15836         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15837         * lib/unictype/pr_format_control.h: Likewise.
15838         * lib/unictype/pr_hex_digit.h: Likewise.
15839         * lib/unictype/pr_hyphen.h: Likewise.
15840         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15841         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15842         * lib/unictype/pr_iso_control.h: Likewise.
15843         * lib/unictype/pr_join_control.h: Likewise.
15844         * lib/unictype/pr_left_of_pair.h: Likewise.
15845         * lib/unictype/pr_line_separator.h: Likewise.
15846         * lib/unictype/pr_math.h: Likewise.
15847         * lib/unictype/pr_non_break.h: Likewise.
15848         * lib/unictype/pr_not_a_character.h: Likewise.
15849         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15850         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15851         * lib/unictype/pr_other_id_continue.h: Likewise.
15852         * lib/unictype/pr_other_id_start.h: Likewise.
15853         * lib/unictype/pr_other_lowercase.h: Likewise.
15854         * lib/unictype/pr_other_math.h: Likewise.
15855         * lib/unictype/pr_other_uppercase.h: Likewise.
15856         * lib/unictype/pr_paired_punctuation.h: Likewise.
15857         * lib/unictype/pr_paragraph_separator.h: Likewise.
15858         * lib/unictype/pr_pattern_syntax.h: Likewise.
15859         * lib/unictype/pr_pattern_white_space.h: Likewise.
15860         * lib/unictype/pr_private_use.h: Likewise.
15861         * lib/unictype/pr_quotation_mark.h: Likewise.
15862         * lib/unictype/pr_radical.h: Likewise.
15863         * lib/unictype/pr_soft_dotted.h: Likewise.
15864         * lib/unictype/pr_space.h: Likewise.
15865         * lib/unictype/pr_titlecase.h: Likewise.
15866         * lib/unictype/pr_variation_selector.h: Likewise.
15867         * lib/unictype/pr_white_space.h: Likewise.
15868         * lib/unictype/sy_c_ident.h: Likewise.
15869         * lib/unictype/sy_c_whitespace.h: Likewise.
15870         * lib/unictype/sy_java_whitespace.h: Likewise.
15871         * modules/uni*/*: Bump version number of expected libunistring version.
15872         Reported by Simon Josefsson.
15873
15874 2011-01-09  Karl Heuer  <kwzh@gnu.org>
15875
15876         useless-if-before-free: fix typo in --help and make the internal,
15877         automatic version date update process work once again.
15878         --help output contained a NUL character instead of the
15879         backslash-zero that was intended.  Also, the "must lie within
15880         the first 8 lines" line is on line 9, and hence not getting
15881         automatically updated.
15882         * build-aux/useless-if-before-free: Fix the former by adding a
15883         backslash, and the latter by condensing the three lines of what-it-does
15884         to a single line, leaving one line of slack for the future.
15885
15886 2011-01-09  Bruno Haible  <bruno@clisp.org>
15887
15888         uniwidth/width: Fix width of U+1D173..U+1D17A.
15889         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
15890         symbolic_width, output_width_property_test): New functions.
15891         (main): Invoke output_nonspacing_property, output_width_property_test.
15892         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
15893         U+1D173..U+1D17A.
15894         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
15895         1.
15896         * modules/uniwidth/*: Bump version number of expected libunistring
15897         version.
15898         * modules/unilbrk/*: Likewise.
15899
15900 2011-01-08  Bruno Haible  <bruno@clisp.org>
15901
15902         uninorm tests: Preserve copyright of Unicode data file.
15903         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
15904         Mention modifications.
15905
15906 2011-01-08  Bruno Haible  <bruno@clisp.org>
15907
15908         gen-uni-tables: Prepare for Unicode 5.2.0.
15909         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
15910         (debug_output_lbp, output_lbp): Update.
15911
15912 2011-01-08  Bruno Haible  <bruno@clisp.org>
15913
15914         unilbrk: Clarify gen-uni-tables.c code.
15915         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
15916         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
15917         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
15918
15919 2011-01-07  Bruno Haible  <bruno@clisp.org>
15920
15921         strtod: Restore errno when successfully parsing Infinity or NaN.
15922         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
15923         restore the original errno.
15924
15925 2011-01-07  Bruno Haible  <bruno@clisp.org>
15926
15927         remove test: Avoid failure on HP-UX 11.
15928         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
15929
15930 2011-01-07  Bruno Haible  <bruno@clisp.org>
15931
15932         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
15933         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
15934         error code.
15935
15936 2011-01-07  Pádraig Brady <P@draigBrady.com>
15937
15938         ignore-value: fixup comments, and add Eric Blake
15939         as an author since he rewrote the macros.
15940         * lib/ignore-value.h (ignore_value):  State that
15941         we now support aggregates.  Also specify exactly
15942         when the GCC warn_unused_result feature was added.
15943
15944 2011-01-06  Eric Blake  <eblake@redhat.com>
15945
15946         ignore-value: support aggregate types
15947         * lib/ignore-value.h (ignore_value): Provide separate gcc
15948         definition.
15949         * modules/ignore-value-tests: New test module.
15950         * tests/test-ignore-value.c: New test.
15951
15952         maint.mk: improve sc_prohibit_strcmp regex
15953         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
15954         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
15955         definition of STRNEQ.
15956
15957         signal: work around Haiku issue with SIGBUS
15958         * lib/siglist.h: Add comment.
15959         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
15960         strsignal's favoring of SIGSEGV.
15961         * tests/test-signal.c (main): Avoid test failure.
15962         * doc/posix-headers/signal.texi (signal.h): Document the issue.
15963         Reported by Scott McCreary.
15964
15965         maint.mk: add pre-release check to ensure submodule commits are public
15966         * top/maint.mk (public-submodule-commit): New rule.
15967         (submodule-checks): New variable.
15968         (alpha beta stable): Depend on the variable.
15969
15970 2011-01-05  Pádraig Brady <P@draigBrady.com>
15971         and Jim Meyering  <meyering@redhat.com>
15972
15973         ignore-value: make ignore_value more generic; deprecate ignore_ptr
15974         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
15975         (ATTRIBUTE_DEPRECATED): Define.
15976         (_ignore_case): New function.
15977         (ignore_value): New macro, to replace the old function.
15978         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
15979         * modules/ignore-value (Depends-on): Add stdint.
15980
15981 2011-01-04  Eric Blake  <eblake@redhat.com>
15982
15983         doc: regenerate INSTALL
15984         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
15985         @firstparagraphindent support, now that autoconf dropped it.
15986         (INSTALL_PRELUDE): Reinstate old macro.
15987         * doc/install.texi: Resync from autoconf.
15988         * doc/INSTALL: Reflect recent autoconf update.
15989         * doc/INSTALL.ISO: Likewise.
15990         * doc/INSTALL.UTF-8: Likewise.
15991         Reported by Karl Berry.
15992
15993 2011-01-04  Bruce Korb  <address@hidden>
15994
15995         git-version-gen: avoid a sub-shell
15996         * build-aux/git-version-gen: Redirect stderr in `...` via
15997         "exec 2>...", rather than via an added sub-shell.
15998
15999 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
16000
16001         git-version-gen: use (...) rather than sh -c '...'
16002         * build-aux/git-version-gen: Rather than hard-coding a shell's name
16003         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
16004
16005 2011-01-03  Jim Meyering  <meyering@redhat.com>
16006
16007         git-version-gen: convert leading TABs to spaces
16008         * build-aux/git-version-gen: Expand leading TABs.
16009
16010         git-version-gen: handle failed "git rev-list"
16011         * build-aux/git-version-gen: Rather than leaking a "fatal" error
16012         from git and proceeding as if it had succeeded but printed no SHA1
16013         checksums, suppress the diagnostic and handle the failure.
16014         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
16015
16016         git-version-gen: include command name in one more diagnostic
16017         * build-aux/git-version-gen: When the required .tarball-version file
16018         was missing or unreadable, you might see the diagnostic from "cat",
16019         but no trace of the name of the invoking script.  Now, you still see
16020         the diagnostic from cat, but also get one from "git-version-gen: ".
16021         Inspired by a patch from Bruce Korb.
16022
16023         update-copyright: adjust test to match changed code
16024         * tests/test-update-copyright.sh: Change test's expected output
16025         to match new actual output.
16026
16027 2011-01-02  Bruno Haible  <bruno@clisp.org>
16028
16029         getlogin_r: Avoid test failure on HP-UX 11.
16030         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
16031         ERANGE when the second argument is zero.
16032         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
16033         portability problem.
16034
16035 2011-01-02  Bruce Korb  <bkorb@gnu.org>
16036
16037         * build-aux/update-copyright: doc Simon's changes
16038
16039 2011-01-02  Simon Josefsson  <simon@josefsson.org>
16040
16041         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
16042         environment variable.
16043
16044 2011-01-02  Bruno Haible  <bruno@clisp.org>
16045
16046         unigbrk: Avoid gcc warnings.
16047         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
16048         unused variable.
16049         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
16050         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
16051         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
16052         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
16053         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
16054         Change type of first argument to 'const char *'.
16055         (main): Remove unused variable.
16056         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
16057         type of first argument to 'const char *'.
16058         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
16059         Likewise.
16060         (main): Change type of variable 's'.
16061         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
16062         to 'int'.
16063
16064 2011-01-02  Bruno Haible  <bruno@clisp.org>
16065
16066         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
16067         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
16068         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
16069         bug.
16070         * lib/pwrite.c: Undo 2010-12-31 patch.
16071         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
16072
16073 2011-01-02  Bruno Haible  <bruno@clisp.org>
16074
16075         pread: Fix test whether it works.
16076         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
16077
16078 2011-01-02  Bruno Haible  <bruno@clisp.org>
16079
16080         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
16081         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
16082         ends in "6". Don't require a specific month name. Try also the locale
16083         names found on HP-UX 11 and Solaris 7.
16084
16085 2011-01-02  Bruno Haible  <bruno@clisp.org>
16086
16087         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
16088         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
16089         C linkage.
16090         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
16091
16092 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16093
16094         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
16095         for consistency, since the "cluster" term is not used elsewhere.
16096         * lib/unigbrk.in.h: Update name.
16097         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
16098         * lib/unigbrk/u16-grapheme-next.c: Update name.
16099         * lib/unigbrk/u16-grapheme-prev.c: Update name.
16100         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
16101         * lib/unigbrk/u32-grapheme-next.c: Update name.
16102         * lib/unigbrk/u32-grapheme-prev.c: Update name.
16103         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
16104         * lib/unigbrk/u8-grapheme-next.c: Update name.
16105         * lib/unigbrk/u8-grapheme-prev.c: Update name.
16106         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
16107         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
16108         Suggested by Bruno Haible.
16109
16110 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16111
16112         Remove module 'u8-grapheme-len' as too redundant with
16113         'u8-grapheme-next'.
16114         * modules/unigbrk/u8-grapheme-len: Delete file.
16115         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
16116         * lib/unigbrk.in.h: Remove prototype for deleted function.
16117         * lib/unigbrk/u8-grapheme-len.c: Delete file.
16118         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
16119
16120         Remove module 'u16-grapheme-len' as too redundant with
16121         'u16-grapheme-next'.
16122         * modules/unigbrk/u16-grapheme-len: Delete file.
16123         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
16124         * lib/unigbrk.in.h: Remove prototype for deleted function.
16125         * lib/unigbrk/u16-grapheme-len.c: Delete file.
16126         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
16127
16128         Remove module 'u32-grapheme-len' as too redundant with
16129         'u32-grapheme-next'.
16130         * modules/unigbrk/u32-grapheme-len: Delete file.
16131         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
16132         * lib/unigbrk.in.h: Remove prototype for deleted function.
16133         * lib/unigbrk/u32-grapheme-len.c: Delete file.
16134         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
16135
16136         Suggested by Bruno Haible.
16137
16138 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16139
16140         * unigbrk.in.h: Fix typo: "ben" => "been".
16141         Reported by Bruno Haible.
16142
16143 2011-01-01  Jim Meyering  <meyering@redhat.com>
16144
16145         maint: update almost all copyright ranges to include 2011
16146         Run the new "make update-copyright" rule.
16147
16148 2011-01-01  Jim Meyering  <meyering@redhat.com>
16149
16150         maint: update-copyright: exempt doc/INSTALL*
16151         * Makefile (update-copyright): Also exclude doc/INSTALL*,
16152         since they are generated.  Suggested by Bruno Haible.
16153
16154 2011-01-01  Jim Meyering  <meyering@redhat.com>
16155
16156         maint: refine the update-copyright rule
16157         * Makefile (update-copyright): Also exclude any file that includes
16158         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
16159         code that merely generates the comment.
16160
16161 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16162
16163         New module 'u8-grapheme-len'.
16164         * modules/unigbrk/u8-grapheme-len: New file.
16165         * modules/unigbrk/u8-grapheme-len-tests: New file.
16166         * lib/unigbrk.in.h: Add prototype for new function.
16167         * lib/unigbrk/u8-grapheme-len.c: New file.
16168         * tests/unigbrk/test-u8-grapheme-len.c: New file.
16169
16170         New module 'u16-grapheme-len'.
16171         * modules/unigbrk/u16-grapheme-len: New file.
16172         * modules/unigbrk/u16-grapheme-len-tests: New file.
16173         * lib/unigbrk.in.h: Add prototype for new function.
16174         * lib/unigbrk/u16-grapheme-len.c: New file.
16175         * tests/unigbrk/test-u16-grapheme-len.c: New file.
16176
16177         New module 'u32-grapheme-len'.
16178         * modules/unigbrk/u32-grapheme-len: New file.
16179         * modules/unigbrk/u32-grapheme-len-tests: New file.
16180         * lib/unigbrk.in.h: Add prototype for new function.
16181         * lib/unigbrk/u32-grapheme-len.c: New file.
16182         * tests/unigbrk/test-u32-grapheme-len.c: New file.
16183
16184         New module 'u8-grapheme-next'.
16185         * modules/unigbrk/u8-grapheme-next: New file.
16186         * modules/unigbrk/u8-grapheme-next-tests: New file.
16187         * lib/unigbrk.in.h: Add prototype for new function.
16188         * lib/unigbrk/u8-grapheme-next.c: New file.
16189         * tests/unigbrk/test-u8-grapheme-next.c: New file.
16190
16191         New module 'u16-grapheme-next'.
16192         * modules/unigbrk/u16-grapheme-next: New file.
16193         * modules/unigbrk/u16-grapheme-next-tests: New file.
16194         * lib/unigbrk.in.h: Add prototype for new function.
16195         * lib/unigbrk/u16-grapheme-next.c: New file.
16196         * tests/unigbrk/test-u16-grapheme-next.c: New file.
16197
16198         New module 'u32-grapheme-next'.
16199         * modules/unigbrk/u32-grapheme-next: New file.
16200         * modules/unigbrk/u32-grapheme-next-tests: New file.
16201         * lib/unigbrk.in.h: Add prototype for new function.
16202         * lib/unigbrk/u32-grapheme-next.c: New file.
16203         * tests/unigbrk/test-u32-grapheme-next.c: New file.
16204
16205         New module 'u8-grapheme-prev'.
16206         * modules/unigbrk/u8-grapheme-prev: New file.
16207         * modules/unigbrk/u8-grapheme-prev-tests: New file.
16208         * lib/unigbrk.in.h: Add prototype for new function.
16209         * lib/unigbrk/u8-grapheme-prev.c: New file.
16210         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
16211
16212         New module 'u16-grapheme-prev'.
16213         * modules/unigbrk/u16-grapheme-prev: New file.
16214         * modules/unigbrk/u16-grapheme-prev-tests: New file.
16215         * lib/unigbrk.in.h: Add prototype for new function.
16216         * lib/unigbrk/u16-grapheme-prev.c: New file.
16217         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
16218
16219         New module 'u32-grapheme-prev'.
16220         * modules/unigbrk/u32-grapheme-prev: New file.
16221         * modules/unigbrk/u32-grapheme-prev-tests: New file.
16222         * lib/unigbrk.in.h: Add prototype for new function.
16223         * lib/unigbrk/u32-grapheme-prev.c: New file.
16224         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
16225
16226         New module 'u8-grapheme-breaks'.
16227         * modules/unigbrk/u8-grapheme-breaks: New file.
16228         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
16229         * lib/unigbrk.in.h: Add prototype for new function.
16230         * lib/unigbrk/u8-grapheme-breaks.c: New file.
16231         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
16232
16233         New module 'u16-grapheme-breaks'.
16234         * modules/unigbrk/u16-grapheme-breaks: New file.
16235         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
16236         * lib/unigbrk.in.h: Add prototype for new function.
16237         * lib/unigbrk/u16-grapheme-breaks.c: New file.
16238         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
16239
16240         New module 'u32-grapheme-breaks'.
16241         * modules/unigbrk/u32-grapheme-breaks: New file.
16242         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
16243         * lib/unigbrk.in.h: Add prototype for new function.
16244         * lib/unigbrk/u32-grapheme-breaks.c: New file.
16245         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
16246
16247         New module 'ulc-grapheme-breaks'.
16248         * modules/unigbrk/ulc-grapheme-breaks: New file.
16249         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
16250         * m4/locale-ar.m4: New file.
16251         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
16252         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
16253         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
16254
16255 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16256
16257         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
16258         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
16259         modified how this file was generated before I initially submitted
16260         the module, but failed to regenerate it.  This meant that several
16261         of the level2 entries were wrong.
16262         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
16263         Remove the division-by-2 that is folded into the table now that
16264         gbrkprop.h has been regenerated properly.  Now -1 entries are
16265         handled correctly.
16266
16267         New module 'unigbrk/uc-gbrk-prop-tests'.
16268         * modules/unigbrk/uc-gbrk-prop-tests: New file.
16269         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
16270         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
16271         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
16272
16273 2011-01-01  Bruno Haible  <bruno@clisp.org>
16274
16275         Avoid use of hexadecimal escapes.
16276         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
16277         instead of hexadecimal escapes.
16278
16279 2011-01-01  Jim Meyering  <meyering@redhat.com>
16280
16281         maint: new rule to update copyright year ranges
16282         * Makefile (update-copyright): New rule.
16283
16284         maint: indent with TABs in Makefile
16285         * Makefile: Expand leading sequences of spaces to TABs
16286
16287         version-etc: update the copyright year it reports
16288         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
16289
16290 2010-12-31  Bruno Haible  <bruno@clisp.org>
16291
16292         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
16293         * lib/isfinite.c (zerof, zerod, zerol): New variables.
16294         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
16295         zero.
16296
16297 2010-12-31  Bruno Haible  <bruno@clisp.org>
16298
16299         pwrite: Work around HP-UX 11.11 bug.
16300         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
16301         works and set REPLACE_PWRITE if not.
16302         * lib/pwrite.c (pwrite): Add an implementation that uses the system
16303         function.
16304         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
16305
16306 2010-12-31  Bruno Haible  <bruno@clisp.org>
16307
16308         pread: Work around HP-UX 11 bugs.
16309         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
16310         and set REPLACE_PREAD if not.
16311         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
16312
16313 2010-12-31  Eric Blake  <eblake@redhat.com>
16314
16315         nl_langinfo: fix YESEXPR on Irix 6.5
16316         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
16317         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
16318         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
16319         it.
16320
16321 2010-12-31  Bruno Haible  <bruno@clisp.org>
16322
16323         iconv: Document HP-UX 11 bug.
16324         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
16325
16326 2010-12-31  Bruno Haible  <bruno@clisp.org>
16327
16328         ldexpl: Fix link error on HP-UX 11.
16329         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
16330         LDEXPL_LIBM, using $ISNANL_LIBM.
16331
16332 2010-12-31  Eric Blake  <eblake@redhat.com>
16333
16334         ftello: avoid compilation failure with SunStudio c89
16335         * lib/ftello.c (ftello): Use lseek, not llseek.
16336
16337         tests: avoid failing coreutils tests on cygwin
16338         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
16339         (create_exe_shims_): Return 0 when skipping.
16340
16341 2010-12-31  Bruno Haible  <bruno@clisp.org>
16342
16343         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
16344         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
16345
16346 2010-12-31  Bruno Haible  <bruno@clisp.org>
16347
16348         waitpid: Fix link error in C++ mode.
16349         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
16350
16351 2010-12-31  Bruno Haible  <bruno@clisp.org>
16352
16353         isnan: Use GCC built-ins when possible.
16354         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
16355         __builtin_isnan.
16356         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
16357         (isnan): Define using GCC built-ins for GCC >= 4.0.
16358
16359 2010-12-31  Bruno Haible  <bruno@clisp.org>
16360
16361         isnand: Fix mistake.
16362         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
16363         __builtin_isnand.
16364
16365 2010-12-31  Bruno Haible  <bruno@clisp.org>
16366
16367         open: Avoid C++ error on HP-UX 11.
16368         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
16369
16370 2010-12-31  Bruno Haible  <bruno@clisp.org>
16371
16372         time_r: Add missing declarations on HP-UX 11.
16373         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
16374         instead of HAVE_LOCALTIME_R.
16375         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
16376         HAVE_LOCALTIME_R always.
16377         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
16378         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
16379         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
16380         HAVE_LOCALTIME_R.
16381         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
16382         * doc/posix-functions/localtime_r.texi: Likewise.
16383
16384 2010-12-29  Eric Blake  <eblake@redhat.com>
16385
16386         mountlist: tweak previous commit
16387         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
16388         Reported by Paul Eggert.
16389
16390         mountlist: fix local drive detection on cygwin
16391         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
16392         that works for cygwin.
16393
16394 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16395
16396         ftoastr, snprintf: ftoastr + snprintf module
16397         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
16398         since the snprintf module now should be good enough here.
16399         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
16400         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
16401         and gl_MODULE_INDICATOR([snprintf]), but the former enables
16402         GNULIB_SNPRINTF only for the test directory, and the latter
16403         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
16404         seems to suffice by itself.
16405
16406 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16407
16408         alloca: one step towards thread-safety
16409         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
16410         need for a static variable.  All callers changed.  This does not
16411         make the alloca replacement thread-safe, but it's one step.
16412
16413         tests: minor indenting change
16414         * tests/init.sh: Sync from coreutils housekeeping patch
16415         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
16416         to keep lines within 80 columns.
16417
16418 2010-12-28  Jim Meyering  <meyering@redhat.com>
16419
16420         regex: don't infloop on persistent failing calloc
16421         * lib/regexec.c (build_trtable): Return failure indication upon
16422         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
16423         In glibc, this was fixed for version 2.13:
16424         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
16425
16426 2010-12-28  Bruno Haible  <bruno@clisp.org>
16427             Paul Eggert <eggert@cs.ucla.edu>
16428
16429         linkat: Make implementation robust against system behaviour variations.
16430         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16431         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16432         way, and to -2 if it needs a generic runtime test.
16433         * lib/linkat.c (solaris_optimized_link_immediate,
16434         solaris_optimized_link_follow): New functions.
16435         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16436         (check_same_link): Use it.
16437
16438 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16439
16440         New module 'unigbrk/base'.
16441         * modules/unigbrk/base: New file.
16442         * lib/unigbrk.in.h: New file.
16443
16444         New module 'unigbrk/uc-gbrk-prop'.
16445         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16446         * modules/unigbrk/uc-gbrk-prop: New file.
16447         * lib/unigbrk/gbrkprop.h: New file.
16448         * lib/unigbrk/uc-gbrk-prop.c: New file.
16449
16450         New module 'unigbrk/uc-is-grapheme-break'.
16451         * modules/unigbrk/uc-is-grapheme-break: New file.
16452         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16453         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16454         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16455         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16456         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16457
16458         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16459
16460 2010-12-27  Bruno Haible  <bruno@clisp.org>
16461
16462         linkat test: Avoid failure on Solaris 11 2010-11.
16463         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16464
16465 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16466
16467         utimens: work around glibc rounding bug on more platforms
16468         * lib/utimens.c (fdutimens): Work around rounding bug even if
16469         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16470         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16471
16472 2010-12-27  Bruno Haible  <bruno@clisp.org>
16473
16474         select tests: Improve comments.
16475         * tests/test-select.c (do_select): Add comments.
16476
16477 2010-12-27  Bruno Haible  <bruno@clisp.org>
16478
16479         select tests: Safer way of handling timeout.
16480         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16481         at every invocation.
16482
16483 2010-12-27  Bruno Haible  <bruno@clisp.org>
16484
16485         select tests: Use 'bool' where appropriate.
16486         * tests/test-select.c (connect_to_socket): Change argument type to
16487         'bool'.
16488
16489 2010-12-27  Bruno Haible  <bruno@clisp.org>
16490
16491         select tests: Use existing modules.
16492         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16493         (configure.ac): Don't test for unistd.h.
16494         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16495         declared in <unistd.h>.
16496
16497 2010-12-27  Bruno Haible  <bruno@clisp.org>
16498
16499         mbrtowc: Work around a Solaris 7 bug.
16500         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16501         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16502         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16503         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16504         MBRTOWC_NULL_ARG1_BUG.
16505         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16506         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16507         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16508         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16509
16510 2010-12-27  Jim Meyering  <meyering@redhat.com>
16511
16512         read-file.c: tweak syntax
16513         * lib/read-file.c (fread_file): Remove space after "*" in function
16514         definitions.
16515
16516 2010-12-27  Bruno Haible  <bruno@clisp.org>
16517
16518         times test: Avoid gcc warnings on OSF/1.
16519         * tests/test-times.c (main): Cast printf arguments from clock_t to
16520         'long int'.
16521
16522 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16523
16524         utimens: work around glibc rounding bug on older Linux kernels
16525         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16526         on Linux with a glibc whose utimes might not work, then work
16527         around a longstanding glibc bug involving rounding rather than
16528         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16529         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16530
16531 2010-12-26  Bruno Haible  <bruno@clisp.org>
16532
16533         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16534         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16535         _GL_CXXALIAS_SYS.
16536         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16537
16538 2010-12-26  Bruno Haible  <bruno@clisp.org>
16539
16540         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16541         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16542         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16543         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16544         looking for the declaration.
16545         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16546         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16547         problem.
16548         * doc/posix-functions/inet_pton.texi: Likewise.
16549
16550 2010-12-26  Bruno Haible  <bruno@clisp.org>
16551
16552         arpa_inet: Use the common idioms with C++ support.
16553         * lib/arpa_inet.in.h: Include c++defs.h.
16554         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16555         support.
16556         * modules/arpa_inet (Depends-on): Add c++defs.
16557         (Makefile.am): Substitute the contents of c++defs.h.
16558         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16559         * modules/arpa_inet-c++-tests: New file.
16560         * tests/test-arpa_inet-c++.cc: New file.
16561
16562 2010-12-25  Bruno Haible  <bruno@clisp.org>
16563
16564         Fix more C++ link errors on Solaris 8.
16565         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16566         $(LIB_EACCESS).
16567         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16568         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16569         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16570         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16571         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16572
16573 2010-12-25  Bruno Haible  <bruno@clisp.org>
16574
16575         printf-posix: Fix link error when a non-GCC compiler is used.
16576         * lib/stdio.in.h (printf): When not using GCC, override printf
16577         correctly.
16578         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16579
16580 2010-12-25  Bruno Haible  <bruno@clisp.org>
16581
16582         strerror_r-posix: Update doc.
16583         * doc/posix-functions/strerror_r.texi: Update doc about the return
16584         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16585
16586 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16587
16588         utimens: simplify the logic of the previous change
16589         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16590         This should not affect whether the test succeeds or fails.
16591
16592         utimens: configure better on hosts with NFS clock skew
16593         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16594         uses the clock of the local host.  It might use the clock of the
16595         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16596         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16597
16598 2010-12-25  Bruno Haible  <bruno@clisp.org>
16599
16600         ptsname test: Avoid failure on Solaris.
16601         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16602         open a pseudo-terminal; don't use BSD-style ptys.
16603         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16604
16605 2010-12-25  Bruno Haible  <bruno@clisp.org>
16606
16607         ptsname: Avoid ERANGE failure on some systems.
16608         * lib/ptsname.c (buffer): Increase size.
16609
16610 2010-12-25  Bruno Haible  <bruno@clisp.org>
16611
16612         rename, renameat: Avoid test failures at NFS mounted locations.
16613         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16614         so that subsequent mkdir calls succeed.
16615
16616 2010-12-25  Bruno Haible  <bruno@clisp.org>
16617
16618         iswblank: Fix C++ link error on Solaris 8.
16619         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16620         _GL_FUNCDECL_SYS.
16621
16622 2010-12-25  Bruno Haible  <bruno@clisp.org>
16623
16624         unistd: Fix C++ link error on Solaris 8.
16625         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16626
16627 2010-12-25  Bruno Haible  <bruno@clisp.org>
16628
16629         readlink doc: Mention an old glibc bug.
16630         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16631
16632 2010-12-25  Bruno Haible  <bruno@clisp.org>
16633
16634         fcntl-h: Fix for use of C++ on glibc systems.
16635         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16636         also on glibc systems in C++ mode.
16637         Reported by Gary V. Vaughan <gary@gnu.org>.
16638
16639 2010-12-25  Bruno Haible  <bruno@clisp.org>
16640
16641         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16642         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16643
16644 2010-12-25  Bruno Haible  <bruno@clisp.org>
16645
16646         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16647         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16648         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16649         test whether truncl works according to ISO C 99 with IEC 60559.
16650         * m4/truncl-ieee.m4: New file.
16651         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16652         m4/signbit.m4.
16653         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16654
16655 2010-12-25  Bruno Haible  <bruno@clisp.org>
16656
16657         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16658         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16659         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16660         test whether ceill works according to ISO C 99 with IEC 60559.
16661         * m4/ceill-ieee.m4: New file.
16662         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16663         m4/signbit.m4.
16664         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16665
16666 2010-12-25  Bruno Haible  <bruno@clisp.org>
16667
16668         Ensure all prerequisites of <wchar.h> are included.
16669         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16670         before <wchar.h>.
16671         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16672         gl_MBRLEN_NUL_RETVAL): Likewise.
16673         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16674         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16675         AC_FUNC_MBRTOWC): Likewise.
16676         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16677         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16678         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16679         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16680         Likewise.
16681         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16682         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16683         (gl_WCHAR_H): Improve comments.
16684         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16685
16686 2010-12-25  Bruno Haible  <bruno@clisp.org>
16687
16688         strtok_r: Fix C syntax error in autoconf macro.
16689         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16690         characters in test program.
16691
16692 2010-12-24  Bruno Haible  <bruno@clisp.org>
16693
16694         ceil, trunc, round: Fix gcc warnings.
16695         * lib/ceil.c (MIN): Undefine before redefining.
16696         * lib/trunc.c (MIN): Likewise.
16697         * lib/round.c (MIN): Likewise.
16698         Include <math.h> first.
16699
16700 2010-12-24  Bruno Haible  <bruno@clisp.org>
16701
16702         select tests: Avoid failures on OSF/1 5.1.
16703         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16704         failure of closing the last socket; it may fail with ECONNRESET.
16705
16706 2010-12-24  Eric Blake  <eblake@redhat.com>
16707
16708         stdint: avoid HP-UX 10.20 preprocessor bug
16709         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16710         than #if.
16711         * tests/test-floor2.c (main): Likewise.
16712         Reported by Peter O'Gorman.
16713
16714         pipe: make obsoletion transition easier
16715         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16716         * modules/pipe (Files): Include revived file.
16717         (Include): Drop reference, to mirror getdate's behavior.
16718
16719 2010-12-24  Bruno Haible  <bruno@clisp.org>
16720
16721         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16722         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16723         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16724         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16725
16726 2010-12-24  Bruno Haible  <bruno@clisp.org>
16727
16728         gethostname: Ensure declaration on NonStop Kernel.
16729         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16730         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16731
16732 2010-12-24  Bruno Haible  <bruno@clisp.org>
16733
16734         sys_select: Ensure all necessary types on NonStop Kernel.
16735         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16736         include <sys/time.h>.
16737         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16738         NonStop Kernel.
16739         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16740
16741 2010-12-24  Bruno Haible  <bruno@clisp.org>
16742
16743         sys_select: Remove unneeded include.
16744         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16745         have <sys/select.h>.
16746
16747 2010-12-24  Bruno Haible  <bruno@clisp.org>
16748
16749         gethostname: Provide a fallback for HOST_NAME_MAX.
16750         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16751         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16752         instead.
16753         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16754
16755 2010-12-24  Bruno Haible  <bruno@clisp.org>
16756
16757         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16758         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16759         (SA_RESTART): Likewise.
16760         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16761
16762 2010-12-24  Bruno Haible  <bruno@clisp.org>
16763
16764         signal: Define NSIG.
16765         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16766         * tests/test-signal.c (nsig): New variable.
16767         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16768
16769 2010-12-24  Bruno Haible  <bruno@clisp.org>
16770
16771         rename, renameat: Avoid test failures on OSF/1 5.1.
16772         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16773         alternative error codes.
16774         * tests/test-renameat.c (main): Likewise.
16775
16776 2010-12-24  Bruno Haible  <bruno@clisp.org>
16777
16778         *printf: Detect large precisions bug on Solaris 10/SPARC.
16779         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16780         by Paul Eggert.
16781         * tests/test-snprintf-posix.h (test_function): Add this test code here
16782         too.
16783         * tests/test-sprintf-posix.h (test_function): Likewise.
16784         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16785         * tests/test-vasprintf-posix.c (test_function): Likewise.
16786         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16787         around by gnulib.
16788         * doc/posix-functions/printf.texi: Likewise.
16789         * doc/posix-functions/snprintf.texi: Likewise.
16790         * doc/posix-functions/sprintf.texi: Likewise.
16791         * doc/posix-functions/vfprintf.texi: Likewise.
16792         * doc/posix-functions/vprintf.texi: Likewise.
16793         * doc/posix-functions/vsnprintf.texi: Likewise.
16794         * doc/posix-functions/vsprintf.texi: Likewise.
16795         * doc/posix-functions/dprintf.texi: Undo last commit.
16796         * doc/posix-functions/vdprintf.texi: Likewise.
16797
16798 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16799
16800         tests: port test-fdutimensat.c to Solaris 8
16801         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16802         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16803         On Solaris 8, it fails with errno == ENOSYS, because there is no
16804         futimens (so it can't use the fd), and there is no lutimens (so it
16805         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16806
16807         vsnprintf: make more consistent with snprintf; doc fixes
16808
16809         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16810         the byte count return problem was promoted from the snprintf-posix
16811         to the snprintf module.
16812         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16813         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16814         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16815         * tests/test-snprintf.c (main): Check the byte count returned.
16816         * tests/test-vsnprintf.c (main): Likewise.
16817
16818 2010-12-23  Eric Blake  <eblake@redhat.com>
16819
16820         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16821         * modules/sigpipe (License): Relax license.
16822
16823 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16824
16825         doc: document Solaris printf bug with large float precisions
16826         * doc/posix-functions/dprintf.texi (dprintf):
16827         * doc/posix-functions/fprintf.texi (fprintf):
16828         * doc/posix-functions/printf.texi (printf):
16829         * doc/posix-functions/snprintf.texi (snprintf):
16830         * doc/posix-functions/sprintf.texi (sprintf):
16831         * doc/posix-functions/vdprintf.texi (vdprintf):
16832         * doc/posix-functions/vfprintf.texi (vfprintf):
16833         * doc/posix-functions/vprintf.texi (vprintf):
16834         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16835         * doc/posix-functions/vsprintf.texi (vsprintf):
16836         Mention that these functions mishandle large floating point
16837         precisions on Solaris 10.  The same bug is also present in Solaris
16838         8, and I assume earlier.  This causes "cd gnulib-tests; make
16839         check" to fail on Solaris 8 (and I assume, later) when building
16840         the latest coreutils, in test-vasprintf-posix's call to
16841         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
16842         the wide flavors (e.g., wprintf) so this patch just updates the
16843         documentation for the narrow ones.
16844
16845         test-posixtm.c: add two tests
16846         * tests/test-posixtm.c: Add two tests, to highlight the
16847         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
16848         around this bug; this is merely to document it.
16849
16850 2010-12-22  Bruno Haible  <bruno@clisp.org>
16851
16852         getlogin_r: Work around portability problem on OSF/1.
16853         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
16854         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
16855         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
16856         test for a truncated result.
16857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
16858         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
16859         * modules/getlogin_r (Depends-on): Add memchr.
16860         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
16861
16862 2010-12-22  Bruno Haible  <bruno@clisp.org>
16863
16864         ptsname: Avoid test failure on OSF/1 5.1.
16865         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
16866         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
16867         (same_slave): New function.
16868         (main): Use it to compare ptsname's result with the expected file name.
16869
16870 2010-12-22  Bruno Haible  <bruno@clisp.org>
16871
16872         Port extended stdio modules to HP NonStop Kernel.
16873         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
16874         macros.
16875         * lib/fbufmode.c: Update comments.
16876         * lib/fflush.c: Likewise.
16877         * lib/fpurge.c: Likewise.
16878         * lib/freadable.c: Likewise.
16879         * lib/freadahead.c: Likewise.
16880         * lib/freading.c: Likewise.
16881         * lib/freadptr.c: Likewise.
16882         * lib/freadseek.c: Likewise.
16883         * lib/fseeko.c: Likewise.
16884         * lib/fseterr.c: Likewise.
16885         * lib/fwritable.c: Likewise.
16886         * lib/fwriting.c: Likewise.
16887         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16888
16889 2010-12-22  Bruno Haible  <bruno@clisp.org>
16890
16891         ttyname_r: Work around bug on OSF/1 5.1.
16892         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
16893         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
16894         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
16895         present.
16896         * lib/ttyname_r.c (ttyname_r): Update comments.
16897
16898 2010-12-22  Bruno Haible  <bruno@clisp.org>
16899
16900         round: Implement result sign according to IEEE 754.
16901         * lib/round.c (MIN, MINUS_ZERO): New macros.
16902         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
16903         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
16904         * tests/test-round-ieee.c (main): Likewise.
16905         * tests/test-roundl-ieee.c (main): Likewise.
16906
16907         trunc: Implement result sign according to IEEE 754.
16908         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
16909         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
16910         * tests/test-trunc2.c: Include minus-zero.h.
16911         (MINUS_ZERO): New macro.
16912         (trunc_reference): Keep in sync with lib/trunc.c.
16913         * tests/test-truncf2.c: Include minus-zero.h.
16914         (MINUS_ZERO): New macro.
16915         (truncf_reference): Keep in sync with lib/trunc.c.
16916         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
16917         * tests/test-trunc-ieee.c (main): Likewise.
16918         * tests/test-truncl-ieee.c (main): Likewise.
16919
16920         ceil: Implement result sign according to IEEE 754.
16921         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
16922         (FUNC): Return -0.0 for -1 < x < 0.
16923         * tests/test-ceil2.c: Include minus-zero.h.
16924         (MINUS_ZERO): New macro.
16925         (ceil_reference): Keep in sync with lib/ceil.c.
16926         * tests/test-ceilf2.c: Include minus-zero.h.
16927         (MINUS_ZERO): New macro.
16928         (ceilf_reference): Keep in sync with lib/ceil.c.
16929         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
16930         * tests/test-ceil-ieee.c (main): Likewise.
16931         * tests/test-ceill-ieee.c (main): Likewise.
16932
16933         floor: Implement result sign according to IEEE 754.
16934         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
16935         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
16936         * tests/test-floorf2.c (floorf_reference): Likewise.
16937         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
16938         * tests/test-floor-ieee.c (main): Likewise.
16939         * tests/test-floorl-ieee.c (main): Likewise.
16940
16941 2010-12-22  Bruno Haible  <bruno@clisp.org>
16942
16943         getaddrinfo: Update doc.
16944         * doc/posix-functions/gai_strerror.texi: Return type is also different
16945         on AIX and HP-UX.
16946
16947 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16948
16949         getaddrinfo, inet_ntop: Update doc for Solaris.
16950         * doc/posix-functions/gai_strerror.texi: Return type is also an
16951         issue on Solaris 9 and earlier.
16952         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
16953         on Solaris 10 and earlier.
16954
16955 2010-12-21  Bruno Haible  <bruno@clisp.org>
16956
16957         New module 'roundl-ieee'.
16958         * modules/roundl-ieee: New file.
16959         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
16960         test whether roundl works according to ISO C 99 with IEC 60559.
16961         * m4/roundl-ieee.m4: New file.
16962         * modules/roundl-ieee-tests: New file.
16963         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
16964         * tests/test-roundl.c (main): Remove signbit tests.
16965         * modules/roundl-tests (Depends-on): Remove signbit.
16966         * doc/posix-functions/roundl.texi: Mention the new module.
16967
16968 2010-12-21  Bruno Haible  <bruno@clisp.org>
16969
16970         New module 'truncl-ieee'.
16971         * modules/truncl-ieee: New file.
16972         * modules/truncl-ieee-tests: New file.
16973         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
16974         * tests/test-truncl.c (main): Remove signbit tests.
16975         * modules/truncl-tests (Depends-on): Remove signbit.
16976         * doc/posix-functions/truncl.texi: Mention the new module.
16977
16978 2010-12-21  Bruno Haible  <bruno@clisp.org>
16979
16980         New module 'ceill-ieee'.
16981         * modules/ceill-ieee: New file.
16982         * modules/ceill-ieee-tests: New file.
16983         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
16984         * tests/test-ceill.c (main): Remove signbit tests.
16985         * modules/ceill-tests (Depends-on): Remove signbit.
16986         * doc/posix-functions/ceill.texi: Mention the new module.
16987
16988 2010-12-21  Bruno Haible  <bruno@clisp.org>
16989
16990         New module 'floorl-ieee'.
16991         * modules/floorl-ieee: New file.
16992         * modules/floorl-ieee-tests: New file.
16993         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
16994         * tests/test-floorl.c (main): Remove signbit tests.
16995         * modules/floorl-tests (Depends-on): Remove signbit.
16996         * doc/posix-functions/floorl.texi: Mention the new module.
16997
16998 2010-12-21  Bruno Haible  <bruno@clisp.org>
16999
17000         New module 'round-ieee'.
17001         * modules/round-ieee: New file.
17002         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
17003         whether round works according to ISO C 99 with IEC 60559.
17004         * m4/round-ieee.m4: New file.
17005         * modules/round-ieee-tests: New file.
17006         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
17007         * tests/test-round1.c (main): Remove signbit tests.
17008         * modules/round-tests (Depends-on): Remove 'signbit'.
17009         * doc/posix-functions/round.texi: Mention the new module.
17010
17011 2010-12-21  Bruno Haible  <bruno@clisp.org>
17012
17013         New module 'trunc-ieee'.
17014         * modules/trunc-ieee: New file.
17015         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
17016         whether trunc works according to ISO C 99 with IEC 60559.
17017         * m4/trunc-ieee.m4: New file.
17018         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
17019         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
17020         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
17021         * modules/trunc-ieee-tests: New file.
17022         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
17023         * tests/test-trunc1.c (main): Remove signbit tests.
17024         * modules/trunc-tests (Depends-on): Remove 'signbit'.
17025         * doc/posix-functions/trunc.texi: Mention the new module.
17026
17027 2010-12-21  Bruno Haible  <bruno@clisp.org>
17028
17029         New module 'ceil-ieee'.
17030         * modules/ceil-ieee: New file.
17031         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
17032         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
17033         ISO C 99 with IEC 60559.
17034         * m4/ceil-ieee.m4: New file.
17035         * modules/ceil (Files): Add lib/ceil.c.
17036         (Depends-on): Add 'float'.
17037         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17038         * lib/math.in.h (ceil): New declaration.
17039         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
17040         REPLACE_CEIL.
17041         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
17042         * modules/ceil-ieee-tests: New file.
17043         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
17044         * tests/test-math-c++.cc: Check the signature of 'ceil'.
17045         * doc/posix-functions/ceil.texi: Mention the new module.
17046
17047 2010-12-21  Bruno Haible  <bruno@clisp.org>
17048
17049         New module 'floor-ieee'.
17050         * modules/floor-ieee: New file.
17051         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
17052         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
17053         ISO C 99 with IEC 60559.
17054         * m4/floor-ieee.m4: New file.
17055         * modules/floor (Files): Add lib/floor.c.
17056         (Depends-on): Add 'float'.
17057         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17058         * lib/math.in.h (floor): New declaration.
17059         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
17060         REPLACE_FLOOR.
17061         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
17062         * modules/floor-ieee-tests: New file.
17063         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
17064         * tests/test-math-c++.cc: Check the signature of 'floor'.
17065         * doc/posix-functions/floor.texi: Mention the new module.
17066
17067 2010-12-21  Bruno Haible  <bruno@clisp.org>
17068
17069         New module 'roundf-ieee'.
17070         * modules/roundf-ieee: New file.
17071         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
17072         test whether roundf works according to ISO C 99 with IEC 60559.
17073         * m4/roundf-ieee.m4: New file.
17074         * modules/roundf-ieee-tests: New file.
17075         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
17076         * tests/test-roundf1.c (main): Remove signbit tests.
17077         * modules/roundf-tests (Depends-on): Remove 'signbit'.
17078         * doc/posix-functions/roundf.texi: Mention the new module.
17079
17080 2010-12-21  Bruno Haible  <bruno@clisp.org>
17081
17082         New module 'truncf-ieee'.
17083         * modules/truncf-ieee: New file.
17084         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
17085         test whether truncf works according to ISO C 99 with IEC 60559.
17086         * m4/truncf-ieee.m4: New file.
17087         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
17088         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
17089         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
17090         * modules/truncf-ieee-tests: New file.
17091         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
17092         * tests/test-truncf1.c (main): Remove signbit tests.
17093         * modules/truncf-tests (Depends-on): Remove 'signbit'.
17094         * doc/posix-functions/truncf.texi: Mention the new module.
17095
17096 2010-12-21  Bruno Haible  <bruno@clisp.org>
17097
17098         New module 'ceilf-ieee'.
17099         * modules/ceilf-ieee: New file.
17100         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
17101         test whether ceilf works according to ISO C 99 with IEC 60559.
17102         * m4/ceilf-ieee.m4: New file.
17103         * modules/ceilf-ieee-tests: New file.
17104         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
17105         * tests/test-ceilf1.c (main): Remove signbit tests.
17106         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
17107         * doc/posix-functions/ceilf.texi: Mention the new module.
17108
17109 2010-12-21  Bruno Haible  <bruno@clisp.org>
17110
17111         New module 'floorf-ieee'.
17112         * modules/floorf-ieee: New file.
17113         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
17114         test whether floorf works according to ISO C 99 with IEC 60559.
17115         * m4/floorf-ieee.m4: New file.
17116         * modules/floorf-ieee-tests: New file.
17117         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
17118         * tests/test-floorf1.c (main): Remove signbit tests.
17119         * modules/floorf-tests (Depends-on): Remove 'signbit'.
17120         * doc/posix-functions/floorf.texi: Mention the new module.
17121
17122 2010-12-21  Bruno Haible  <bruno@clisp.org>
17123
17124         Support for minus zero in autoconf macros.
17125         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
17126         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
17127         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
17128         * tests/minus-zero.h: Update comments.
17129
17130 2010-12-21  Bruno Haible  <bruno@clisp.org>
17131
17132         Tests for module 'ceil'.
17133         * modules/ceil-tests: New file.
17134         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
17135         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
17136
17137 2010-12-21  Bruno Haible  <bruno@clisp.org>
17138
17139         Tests for module 'floor'.
17140         * modules/floor-tests: New file.
17141         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
17142         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
17143
17144 2010-12-21  Bruno Haible  <bruno@clisp.org>
17145
17146         math: Fix indentation.
17147         * lib/math.in.h (floorf): Fix indentation.
17148
17149 2010-12-21  Bruno Haible  <bruno@clisp.org>
17150
17151         Fix cross-compilation guesses on Solaris.
17152         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
17153         not match "solaris2.10".
17154         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17155         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
17156         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
17157
17158 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
17159
17160         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
17161         This fixes a problem observed with the latest coreutils snapshot
17162         that caused a test to fail on Solaris 8.  src/csplit.c's call
17163         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
17164         earlier, instead of returning the number of bytes that would have
17165         been generated; this causes csplit to incorrectly report memory
17166         exhaustion.
17167         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
17168         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
17169         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
17170         comments to match.
17171         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
17172         Fix typo in matching older versions of Solaris: "solaris2.10"
17173         is matched by the shell pattern "solaris2.[0-9]*".  This matters
17174         only for guessing while cross-compiling.
17175         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
17176
17177 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17178
17179         ftoastr: fix comment again
17180         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17181         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
17182         Also, simplify example a bit by using flags = 0.
17183
17184 2010-12-20  Bruno Haible  <bruno@clisp.org>
17185
17186         round*, trunc*: Update documentation regarding glibc.
17187         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
17188         * doc/posix-functions/round.texi: Likewise.
17189         * doc/posix-functions/roundl.texi: Likewise.
17190         * doc/posix-functions/truncf.texi: Likewise.
17191         * doc/posix-functions/trunc.texi: Likewise.
17192         * doc/posix-functions/truncl.texi: Likewise.
17193
17194 2010-12-20  Bruno Haible  <bruno@clisp.org>
17195
17196         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
17197         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
17198         * doc/posix-functions/round.texi: Likewise.
17199         * doc/posix-functions/roundl.texi: Likewise.
17200
17201 2010-12-20  Bruno Haible  <bruno@clisp.org>
17202
17203         ttyname_r: Add missing declaration on HP-UX 11.
17204         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
17205         HAVE_TTYNAME_R.
17206         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
17207         declared. Set HAVE_TTYNAME_R always.
17208         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17209         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
17210         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
17211         HAVE_TTYNAME_R.
17212         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
17213
17214 2010-12-20  Bruno Haible  <bruno@clisp.org>
17215
17216         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
17217         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
17218         * doc/posix-functions/getlogin_r.texi: Likewise.
17219         * tests/test-getlogin.c: Include <errno.h>.
17220         (main): Avoid test failure on HP-UX 11.11.
17221         * tests/test-getlogin_r.c (main): Likewise.
17222
17223 2010-12-20  Bruno Haible  <bruno@clisp.org>
17224
17225         getlogin_r: Add missing declaration on HP-UX 11.
17226         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
17227         declared also when it exists as a function.
17228         * doc/posix-functions/getlogin_r.texi: Document this workaround.
17229
17230 2010-12-20  Bruno Haible  <bruno@clisp.org>
17231
17232         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
17233         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
17234         through wcrtomb.
17235
17236 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
17237
17238         ftoastr: fix comment
17239         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17240         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
17241
17242 2010-12-19  Bruno Haible  <bruno@clisp.org>
17243
17244         isnan: Ensure it is a macro.
17245         * lib/math.in.h (isnan): Define as a macro if not already a macro.
17246         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
17247         Solaris.
17248
17249 2010-12-19  Bruno Haible  <bruno@clisp.org>
17250
17251         ldexpl test: Fix link error on OSF/1 5.1.
17252         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
17253
17254 2010-12-19  Bruno Haible  <bruno@clisp.org>
17255
17256         wctype: Make it work in C++ mode on OSF/1 5.1.
17257         * lib/wctype.in.h (iswblank): Declare but not define here.
17258         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
17259         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
17260         * modules/wctype (Files): Add lib/iswblank.c.
17261
17262 2010-12-19  Bruno Haible  <bruno@clisp.org>
17263
17264         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
17265         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
17266         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
17267
17268 2010-12-19  Bruno Haible  <bruno@clisp.org>
17269
17270         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
17271         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
17272         _POSIX_PII_SOCKET.
17273         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
17274         * doc/posix-functions/recvfrom.texi: Likewise.
17275         * doc/posix-functions/send.texi: Likewise.
17276         * doc/posix-functions/sendto.texi: Likewise.
17277
17278 2010-12-19  Bruno Haible  <bruno@clisp.org>
17279
17280         tcgetsid: Add missing declaration on OSF/1 5.1.
17281         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
17282         HAVE_TCGETSID.
17283         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
17284         Don't set HAVE_TCGETSID.
17285         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
17286         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
17287         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
17288         HAVE_TCGETSID.
17289         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
17290
17291 2010-12-19  Bruno Haible  <bruno@clisp.org>
17292
17293         stdio: Fix problem with popen() declaration on OSF/1 5.1.
17294         * lib/stdio.in.h: During the include_next statement, let recursive
17295         includes of this file include only the system header file.
17296
17297 2010-12-19  Bruno Haible  <bruno@clisp.org>
17298
17299         iconv_open: Fix regression from 2010-12-04.
17300         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
17301         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
17302
17303 2010-12-19  Bruno Haible  <bruno@clisp.org>
17304
17305         stdbool test: Avoid a gcc warning.
17306         * tests/test-stdbool.c (main): Fail if e1 is false.
17307         Reported by Jim Meyering.
17308
17309 2010-12-19  Jim Meyering  <meyering@redhat.com>
17310
17311         setenv: restore to working order
17312         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
17313         mistakenly removed.
17314         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
17315         HAVE_SETENV.
17316         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
17317         HAVE_SETENV.
17318
17319 2010-12-19  Bruno Haible  <bruno@clisp.org>
17320
17321         Document some different function declarations on OSF/1 5.1.
17322         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
17323         * doc/posix-functions/inet_ntop.texi: Likewise.
17324         * doc/posix-functions/gethostname.texi: Likewise.
17325         * lib/unistd.in.h (gethostname): Update comment.
17326
17327 2010-12-19  Bruno Haible  <bruno@clisp.org>
17328
17329         doc: Mention vasprintf-posix module.
17330         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
17331         the 'vasprintf-posix' module.
17332         * doc/glibc-functions/vasprintf.texi: Likewise.
17333
17334 2010-12-19  Bruno Haible  <bruno@clisp.org>
17335
17336         unsetenv: Add missing declaration on OSF/1 5.1.
17337         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
17338         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
17339         Don't set HAVE_UNSETENV. In the test program, set _BSD.
17340         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
17341         not HAVE_UNSETENV.
17342         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
17343         HAVE_UNSETENV.
17344         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
17345
17346 2010-12-19  Bruno Haible  <bruno@clisp.org>
17347
17348         setenv: Add missing declaration on OSF/1 5.1.
17349         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
17350         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
17351         declared. Don't set HAVE_SETENV.
17352         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
17353         not HAVE_SETENV.
17354         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
17355         HAVE_SETENV.
17356         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
17357
17358 2010-12-19  Bruno Haible  <bruno@clisp.org>
17359
17360         nl_langinfo tests: Avoid gcc warning.
17361         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
17362
17363 2010-12-19  Bruno Haible  <bruno@clisp.org>
17364
17365         mknod: Avoid error in C++ mode on OSF/1 with GCC.
17366         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
17367         _GL_CXXALIAS_SYS.
17368
17369 2010-12-19  Bruno Haible  <bruno@clisp.org>
17370
17371         stdbool: Relax test.
17372         * tests/test-stdbool.c (e): Don't require that casts from a variable's
17373         address to 'bool' work in static initializer, for compilers other than
17374         GCC.
17375
17376 2010-12-19  Bruno Haible  <bruno@clisp.org>
17377
17378         ftello: Add missing declaration on OSF/1 5.1.
17379         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
17380         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
17381         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
17382         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
17383         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
17384
17385 2010-12-19  Bruno Haible  <bruno@clisp.org>
17386
17387         fseeko: Add missing declaration on OSF/1 5.1.
17388         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
17389         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
17390         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
17391         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
17392         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
17393
17394 2010-12-19  Bruno Haible  <bruno@clisp.org>
17395
17396         fchdir: Add missing declaration on OSF/1 5.1.
17397         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
17398         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
17399         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
17400         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
17401         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
17402
17403 2010-12-19  Bruno Haible  <bruno@clisp.org>
17404
17405         relocatable-prog-wrapper: Separate from relocatable-prog.
17406         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
17407         uninstall-relocwrapper rule here.
17408         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
17409         Reported by Ian Beckwith <ianb@erislabs.net>.
17410
17411 2010-12-19  Bruno Haible  <bruno@clisp.org>
17412
17413         unistr/u8-mbsnlen: Add missing dependency.
17414         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
17415         Reported by Ian Beckwith <ianb@erislabs.net>.
17416
17417 2010-12-19  Bruno Haible  <bruno@clisp.org>
17418
17419         iconv: Make it possible again to use this module without 'iconv-h'.
17420         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
17421         if it is not defined.
17422         Reported by Ian Beckwith <ianb@erislabs.net>.
17423
17424 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17425
17426         acl: port to Solaris 8 when copying from tmpfs to ufs
17427         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
17428         error number.  Problem observed on Solaris 8 with latest
17429         coreutils, with "mv A B", where A is on a tmpfs file system and B
17430         is on a ufs file system.  This caused coreutils' mv/part-symlink
17431         test to fail.
17432
17433         tests: set fail=0 at start
17434         * tests/init.sh (setup_): Move fail=0 initialization here ...
17435         (mktempd_): ... from here, so that tests can rely on fail being
17436         set to 0 initially.  This fixes a problem in coreutils; see:
17437         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17438
17439 2010-12-18  Bruno Haible  <bruno@clisp.org>
17440
17441         memmem-simple: Stylistic changes.
17442         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17443         Fix preprocessor directive indentation.
17444
17445 2010-12-15  Pádraig Brady <P@draigBrady.com>
17446
17447         memmem, memmem-simple: reorganize and expand empty needle check
17448         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17449         functional checks to memmem-simple so that one has a fully functional
17450         memmem by using just this module.
17451         Restrict the performance only check to the memmem module.
17452         Also expand the empty needle check to ensure the correct
17453         pointer is returned, not just a non NULL pointer.
17454         * doc/glibc-functions/memmem.texi: Rearrange the portability
17455         documentation to correlate with the rearranged checks.
17456         Clarify exactly how the memmem and memmem-simple modules
17457         relate to each other.
17458
17459 2010-12-15  Pádraig Brady <P@draigBrady.com>
17460             Bruno Haible  <bruno@clisp.org>
17461
17462         Improve cross-compilation guesses for uClibc.
17463         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17464         that uClibc does not have the glibc bug.
17465         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17466         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17467
17468 2010-12-14  Eric Blake  <eblake@redhat.com>
17469
17470         configmake: provide fallbacks for oldest supported autotools
17471         * m4/configmake.m4: New file.
17472         * modules/configmake (Files): Ship it.
17473         (configure.ac): Use it to guarantee fallbacks.
17474
17475 2010-12-13  Pádraig Brady <P@draigBrady.com>
17476
17477         read-file: Improve handling of large files
17478         * lib/read-file.c (fread_file): Minimize realloc()s
17479         for regular files, and better manage sizes around SIZE_MAX.
17480
17481 2010-12-13  Eric Blake  <eblake@redhat.com>
17482
17483         cloexec, fcntl: relax license
17484         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17485         consent from all contributors.
17486         * modules/fcntl (License): Likewise.
17487
17488 2010-12-10  Bruno Haible  <bruno@clisp.org>
17489
17490         Tests for module 'pipe-posix'.
17491         * modules/pipe-posix-tests: New file.
17492         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17493
17494 2010-12-10  Bruno Haible  <bruno@clisp.org>
17495
17496         pipe-posix: Make it work in C++ mode.
17497         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17498         (pipe): Use common idiom, not a macro definition.
17499         * lib/pipe.c: New file.
17500         * m4/pipe.m4: New file.
17501         * modules/pipe-posix (Description): Enhance.
17502         (Files): Add lib/pipe.c, m4/pipe.m4.
17503         (configure.ac): Invoke gl_FUNC_PIPE.
17504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17505         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17506         * tests/test-unistd-c++.cc: Check the signature of pipe.
17507
17508 2010-12-10  Bruno Haible  <bruno@clisp.org>
17509
17510         Rename module 'pipe' to 'spawn-pipe'.
17511         * modules/spawn-pipe: New file, renamed from modules/pipe.
17512         (Files, configure.ac, Makefile.am): Update.
17513         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17514         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17515         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17516         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17517         "spawn-pipe.h" instead of "pipe.h".
17518         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17519         to gl_SPAWN_PIPE.
17520         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17521         (Files, Makefile.am): Update.
17522         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17523         Update.
17524         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17525         Include "spawn-pipe.h" instead of "pipe.h".
17526         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17527         * lib/javacomp.c: Likewise.
17528         * lib/javaversion.c: Likewise.
17529         * lib/pipe-filter-gi.c: Likewise.
17530         * lib/pipe-filter-ii.c: Likewise.
17531         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17532         * modules/javacomp (Depends-on): Likewise.
17533         * modules/javaversion (Depends-on): Likewise.
17534         * modules/pipe-filter-gi (Depends-on): Likewise.
17535         * modules/pipe-filter-ii (Depends-on): Likewise.
17536         * MODULES.html.sh (Executing programs): Update.
17537         * NEWS: Mention the change.
17538
17539 2010-12-10  Eric Blake  <eblake@redhat.com>
17540
17541         pipe-posix: new module
17542         * modules/pipe-posix: New file.
17543         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17544         (gl_UNISTD_H): Check for declaration.
17545         * modules/unistd (Makefile.am): Substitute it.
17546         * lib/unistd.in.h (pipe): Provide it for mingw.
17547         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17548         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17549
17550 2010-12-07  Bruno Haible  <bruno@clisp.org>
17551
17552         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17553         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17554         u8_strcmp_gnu.
17555         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17556
17557 2010-12-06  Bruno Haible  <bruno@clisp.org>
17558
17559         Update internal documentation.
17560         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17561
17562 2010-12-04  Bruno Haible  <bruno@clisp.org>
17563
17564         Put more information about failed tests into the test return codes.
17565         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17566         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17567         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17568         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17569         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17570         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17571         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17572         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17573         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17574         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17575         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17576         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17577         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17578         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17579         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17580         returns a bit mask.
17581         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17582         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17583         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17584         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17585         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17586         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17587         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17588         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17589         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17590         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17591         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17592         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17593         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17594         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17595         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17596         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17597         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17598         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17599         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17600         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17601         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17602         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17603         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17604         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17605         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17606         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17607         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17608         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17609         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17610         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17611         gl_PRINTF_PRECISION): Likewise.
17612         * m4/regex.m4 (gl_REGEX): Likewise.
17613         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17614         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17615         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17616         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17617         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17618         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17619         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17620         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17621         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17622         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17623         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17624         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17625         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17626         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17627         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17628         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17629         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17630         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17631         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17632         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17633         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17634         enumerated value.
17635         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17636
17637 2010-12-04  Bruno Haible  <bruno@clisp.org>
17638
17639         Update for Solaris 11 2010-11.
17640         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17641         Express, released in November 2010.
17642
17643 2010-12-04  Bruno Haible  <bruno@clisp.org>
17644
17645         nproc: Relax license.
17646         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17647         and Paul Eggert.
17648         Requested by Ludovic Courtès <ludo@gnu.org>.
17649
17650 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17651
17652         utimecmp: fine-grained src to nearby coarse-grained dest
17653
17654         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17655         and the source is on a file system with higher-resolution time
17656         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17657         not work, and the time stamps are close together, the algorithm to
17658         determine the exact resolution from the read-back mtime was buggy:
17659         it had a "!=" where it should have had an "==".  This bug has been
17660         in the code ever since it was introduced to gnulib.
17661         Problem reported by Dan Jacobson in
17662         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17663
17664 2010-11-30  Bruno Haible  <bruno@clisp.org>
17665
17666         strerror_r-posix: Fix autoconf test.
17667         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17668
17669 2010-11-28  Bruno Haible  <bruno@clisp.org>
17670             Paul Eggert  <eggert@cs.ucla.edu>
17671
17672         Tests for module 'getdomainname'.
17673         * modules/getdomainname-tests: New file.
17674         * tests/test-getdomainname.c: New file, based on
17675         tests/test-gethostname.c.
17676
17677 2010-11-28  Bruno Haible  <bruno@clisp.org>
17678             Paul Eggert  <eggert@cs.ucla.edu>
17679
17680         getdomainname: Use the system function when possible.
17681         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17682         (getdomainname): Replace if needed. Provide the declaration if it is
17683         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17684         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17685         (getdomainname): When the system has getdomainname, call the system
17686         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17687         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17688         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17689         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17690         the function if its second argument is of type 'int' or if it is found
17691         in libnsl.
17692         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17693         <sys/systeminfo.h> and sysinfo().
17694         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17696         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17697         HAVE_GETDOMAINNAME.
17698         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17699         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17700         * doc/glibc-functions/getdomainname.texi: Document the problems with
17701         the getdomainname declaration.
17702
17703 2010-11-28  Bruno Haible  <bruno@clisp.org>
17704
17705         sys_socket: Ensure ss_family field on AIX.
17706         * lib/sys_socket.in.h (ss_family): New macro definition.
17707         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17708         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17709         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17710         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17711         * modules/sys_socket (Makefile.am): Substitute
17712         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17713         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17714
17715 2010-11-27  Bruno Haible  <bruno@clisp.org>
17716
17717         readline: Improve configure output.
17718         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17719         "checking for readline..." result understandable.
17720
17721 2010-11-27  Bruno Haible  <bruno@clisp.org>
17722
17723         *printf-posix: Detect a bug on Solaris 10/x86.
17724         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17725         for floating-point output.
17726         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17727         directive.
17728         * tests/test-snprintf-posix.h (test_function): Likewise.
17729         * tests/test-sprintf-posix.h (test_function): Likewise.
17730         * tests/test-vasprintf-posix.c (test_function): Likewise.
17731         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17732         * doc/posix-functions/printf.texi: Likewise.
17733         * doc/posix-functions/snprintf.texi: Likewise.
17734         * doc/posix-functions/sprintf.texi: Likewise.
17735         * doc/posix-functions/vfprintf.texi: Likewise.
17736         * doc/posix-functions/vprintf.texi: Likewise.
17737         * doc/posix-functions/vsnprintf.texi: Likewise.
17738         * doc/posix-functions/vsprintf.texi: Likewise.
17739         * doc/glibc-functions/obstack_printf.texi: Likewise.
17740         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17741
17742 2010-11-27  Bruno Haible  <bruno@clisp.org>
17743
17744         Fix link error when module libunistring-optional is in use.
17745         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17746         * modules/striconveha-tests (Makefile.am): Likewise.
17747
17748 2010-11-27  Bruno Haible  <bruno@clisp.org>
17749
17750         regex: Mention link dependencies.
17751         * modules/regex (Link): New section.
17752         * modules/rpmatch (Link): Likewise.
17753         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17754
17755 2010-11-27  Bruno Haible  <bruno@clisp.org>
17756
17757         ftoastr: Fix compilation error on Solaris.
17758         * lib/ftoastr.c: Include <config.h>.
17759
17760 2010-11-27  Bruno Haible  <bruno@clisp.org>
17761
17762         getloadavg: Update documentation.
17763         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17764
17765 2010-11-27  Bruno Haible  <bruno@clisp.org>
17766
17767         sys_socket: Fix test whether the functions are declared.
17768         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17769         not <sys/select.h>.
17770
17771 2010-11-27  Bruno Haible  <bruno@clisp.org>
17772
17773         getpass: Make sure to get system declaration on some platforms.
17774         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17775         gl_USE_SYSTEM_EXTENSIONS.
17776         * modules/getpass (Depends-on): Add extensions.
17777
17778 2010-11-26  Bruno Haible  <bruno@clisp.org>
17779
17780         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17781         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17782         'iconv' module is present.
17783         (ICONV_CONST): New macro.
17784         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17785         ICONV_CONST.
17786         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17787         set ICONV_CONST.
17788         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17789         here.
17790         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17791         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17792         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17793         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17794         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17795         present.
17796
17797 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17798
17799         ftoastr: comment fix
17800         * lib/ftoastr.c: "little" -> "little or no" in comment
17801
17802 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17803
17804         stdint: port to GCC 4.3 + OSX + Octave
17805         On this platform, stdint.h is buggy and defines int64_t to long
17806         long int.  The replacement defined it to long int, causing
17807         problems with C++ style name mangling.  Instead, trust the system
17808         definition if INT64_MAX is defined, and likewise for the unsigned
17809         variant.   Problem reported by Jarno Rajahalme in
17810         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17811         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17812         and don't mess with int64_t and INT64_MAX in this case.
17813         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17814
17815 2010-11-24  Bruno Haible  <bruno@clisp.org>
17816
17817         doc: Corrections regarding MacOS X 10.4 and 10.5.
17818         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17819         MacOS X.
17820         Reported by Simon Josefsson.
17821
17822 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17823
17824         Uninstall ".bin" files installed by relocwrapper.
17825         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17826         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17827         unless it is already there.
17828
17829 2010-11-21  Bruno Haible  <bruno@clisp.org>
17830
17831         Update for NetBSD 5.0.
17832         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17833         NetBSD; the test fails on NetBSD 5.0.
17834         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17835         about NetBSD.
17836
17837 2010-11-21  Bruno Haible  <bruno@clisp.org>
17838
17839         Update for HP-UX 11.23 and HP-UX 11.31.
17840         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17841         HP-UX.
17842
17843 2010-11-21  Bruno Haible  <bruno@clisp.org>
17844
17845         Update for MacOS X 10.5.
17846         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17847         MacOS X; the test fails on MacOS X 10.5.8.
17848         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17849         about MacOS X.
17850
17851 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
17852
17853         bootstrap: add bootstrap_sync option.
17854         See discussion at
17855         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
17856         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
17857         * build-aux/bootstrap: Accept --bootstrap-sync to update
17858         bootstrap if it is not identical to the local gnulib's
17859         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
17860         enable this by default.  Accept --no-bootstrap-sync to disable
17861         it.
17862
17863 2010-11-20  Bruno Haible  <bruno@clisp.org>
17864
17865         Ensure that <features.h> is included before __GLIBC__ is tested.
17866         * lib/printf-parse.h: Include <features.h>.
17867         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
17868         Reported by Mike Frysinger <vapier@gentoo.org>.
17869
17870         Ensure that <features.h> is included before __GLIBC__ is tested.
17871         * lib/wchar.in.h: Include <features.h>.
17872         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
17873         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
17874         Reported by Mike Frysinger <vapier@gentoo.org>.
17875
17876         Ensure that <features.h> is included before __GLIBC__ is tested.
17877         * lib/arpa_inet.in.h: Include <features.h>.
17878         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
17879         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
17880         Reported by Mike Frysinger <vapier@gentoo.org>.
17881
17882         Ensure that <features.h> is included before __GLIBC__ is tested.
17883         * build-aux/link-warning.h: Include <features.h>.
17884         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
17885         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
17886         Reported by Mike Frysinger <vapier@gentoo.org>.
17887
17888         Ensure that <features.h> is included before __GLIBC__ is tested.
17889         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
17890         Reported by Mike Frysinger <vapier@gentoo.org>.
17891
17892 2010-11-20  Bruno Haible  <bruno@clisp.org>
17893
17894         memmem: Fix autoconf test.
17895         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
17896
17897 2010-11-20  Bruno Haible  <bruno@clisp.org>
17898
17899         Port to uClibc.
17900         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
17901         * lib/fcntl.in.h: Likewise.
17902         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
17903         * lib/mbrtowc.c (mbrtowc): Likewise.
17904         * lib/relocatable.c (find_shared_library_fullname): Likewise.
17905         * lib/strerror_r.c: Likewise.
17906         * lib/unistr/u8-strnlen.c: Likewise.
17907         * lib/vasnprintf.c (decimal_point_char): Likewise.
17908         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17909         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17910         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17911         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
17912         * tests/test-sigaction.c (handler, main): Likewise.
17913         * lib/freading.h: Treat uClibc like a non-glibc platform.
17914         * lib/freading.c: Likewise.
17915         * lib/gettext.h: Likewise.
17916         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
17917         Likewise.
17918         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
17919         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
17920         * lib/propername.c (proper_name_utf8): Likewise.
17921         * lib/spawn.in.h: Likewise.
17922         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
17923         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
17924         mem_cd_iconveh_internal): Likewise.
17925         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
17926         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17927         strstr, strcasestr): Likewise.
17928         * lib/unicodeio.c (unicode_to_mb): Likewise.
17929         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
17930         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
17931         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
17932         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
17933         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
17934         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
17935         * lib/unistr/u8-stpncpy.c: Likewise.
17936         * lib/vasnprintf.c (VASNPRINTF): Likewise.
17937         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
17938         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17939         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17940         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
17941         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
17942         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
17943         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
17944         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17945         Likewise.
17946         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17947         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17948         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17949         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17950         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17951         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17952         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17953         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17954         * tests/test-getopt.h (OPTIND_MIN): Likewise.
17955         * tests/test-striconveha.c (main): Likewise.
17956         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17957         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
17958         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
17959         * doc/posix-functions/getline.texi: Likewise.
17960         Reported by Mike Frysinger <vapier@gentoo.org>.
17961
17962 2010-11-20  Bruno Haible  <bruno@clisp.org>
17963
17964         nproc: Fix condition.
17965         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
17966         HAVE_PTHREAD_AFFINITY_NP.
17967
17968 2010-11-20  Bruno Haible  <bruno@clisp.org>
17969
17970         Fix a comment.
17971         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
17972
17973 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
17974
17975         ftoastr: don't assume snprintf
17976         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
17977         Implement a subset of snprintf here, by using sprintf safely.
17978         * modules/ftoastr (Depends-on): Remove snprintf.
17979
17980 2010-11-19  Jim Meyering  <meyering@redhat.com>
17981
17982         test-rename.h: fix compilation failure
17983         * tests/test-rename.h (test_rename): Add omitted "}".
17984
17985 2010-11-17  Jim Meyering  <meyering@redhat.com>
17986
17987         maint.mk: add a URL discussing the no-@acronym policy
17988         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
17989
17990 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
17991
17992         ftoastr: depend on snprintf, improve comments
17993         * lib/ftoastr.c: Also mention Loitsch's draft.
17994         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
17995         needed in the current implementation, but it might simplify
17996         speeding up the code later.
17997         * modules/ftoastr: Depend on snprintf; this improves portability.
17998         Suggested by Bruno Haible in the same email.
17999
18000         ftoastr: port to hosts lacking strtof and strtold
18001         Problem reported by Bruno Haible in
18002         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
18003         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
18004         environment and strtold (and presumably strtof) are not available.
18005         * modules/ftoastr (Files): Add m4/c-strtod.m4.
18006         (configure.ac): Require gl_C99_STRTOLD.
18007
18008 2010-11-18  Bruno Haible  <bruno@clisp.org>
18009
18010         c-strtold: Avoid link error on AIX 7.
18011         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
18012         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
18013         (gl_C_STRTOLD): Test whether strtold_l exists.
18014         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18015
18016 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18017
18018         intprops: new macro INT_BITS_STRLEN_BOUND
18019         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
18020         ftoastr.h.  This exposes an internal of intprops.h that was formerly
18021         not exposed.  Also, it uses a slightly tighter bound than before;
18022         though this makes no practical difference, we might as well be as
18023         tight as we easily can.
18024
18025         ftoastr: new module, for lossless conversion of floats to short strings
18026         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
18027         * modules/ftoastr: New files.
18028
18029 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
18030
18031         bootstrap: port to Solaris sed
18032         * build-aux/bootstrap (get_version): Port to Solaris sed.
18033         See Ralf Wildenhues's note in
18034         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
18035
18036 2010-11-14  Jim Meyering  <meyering@redhat.com>
18037
18038         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
18039         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
18040         and move definition closer to sole use.
18041
18042 2010-11-13  Jim Meyering  <meyering@redhat.com>
18043
18044         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
18045         Now we require at least autoconf-2.59, which means the work-around
18046         is no longer needed.
18047         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
18048         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18049         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
18050         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18051         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18052
18053 2010-11-13  Bruno Haible  <bruno@clisp.org>
18054
18055         rename, renameat: Avoid test failures at NFS mounted locations.
18056         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
18057         functions.
18058         (test_rename): Use assert_nonexistent.
18059         * tests/test-rename.c: Include <dirent.h>.
18060         * tests/test-renameat.c: Likewise.
18061         Reported by Gary V. Vaughan <gary@gnu.org>.
18062
18063         rename, renameat: Document Linux bug with NFS
18064         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
18065         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
18066         * doc/posix-functions/renameat.texi: Likewise.
18067         Suggested by Eric Blake.
18068
18069 2010-11-13  Bruno Haible  <bruno@clisp.org>
18070
18071         rename test: Add comments.
18072         * tests/test-rename.h (test_rename): Add structure and comments.
18073
18074 2010-11-13  Eric Blake  <eblake@redhat.com>
18075
18076         maintainer-makefile: cover a few more files
18077         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
18078         scripts generated within C files, for libvirt.
18079
18080 2010-11-13  Bruno Haible  <bruno@clisp.org>
18081
18082         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
18083         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
18084         character, return the number of bytes that belong together, not always
18085         1.
18086         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
18087         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
18088         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
18089         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
18090         number of bytes of an invalid character.
18091         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
18092         (main): Invoke it.
18093         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
18094         results.
18095         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
18096         malformed byte sequences.
18097         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
18098         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
18099         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
18100         Reported by Ben Pfaff and Paolo Bonzini.
18101
18102 2010-11-13  Bruno Haible  <bruno@clisp.org>
18103
18104         openat: Work around glibc bug with fchownat() and empty file names.
18105         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
18106         (gl_FUNC_FCHOWNAT): Invoke it.
18107         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
18108         * doc/posix-functions/fchownat.texi: Document the glibc bug.
18109         Reported by Gary V. Vaughan <gary@gnu.org>.
18110
18111 2010-11-13  Bruno Haible  <bruno@clisp.org>
18112
18113         openat: Ensure autoconf macro ordering.
18114         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
18115         gl_USE_SYSTEM_EXTENSIONS.
18116         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
18117
18118 2010-11-13  Bruno Haible  <bruno@clisp.org>
18119
18120         Update comments.
18121         * lib/unistr/u8-check.c: Update file name in comments.
18122         * lib/unistr/u8-mblen.c: Likewise.
18123         * lib/unistr/u8-prev.c: Likewise.
18124         * lib/unistr/u8-strmblen.c: Likewise.
18125         * lib/unistr/u8-strmbtouc.c: Likewise.
18126
18127 2010-11-13  Jim Meyering  <meyering@redhat.com>
18128
18129         tests: avoid test failure on Solaris 10 due to lack of PATH export
18130         * tests/test-update-copyright.sh: Don't forget to export PATH.
18131
18132         init.sh: ensure that IFS is defined, just in case...
18133         * tests/init.sh (setup_): Ensure that IFS is defined,
18134         so that saving and restoring it works as expected.  This
18135         appears to be useful at least for an old version of dash
18136         from a long time ago (RH 6).  See here for details:
18137         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
18138
18139         maint.mk: tighten "test a == b" check
18140         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
18141         test to files that contain something like #!/bin/sh.
18142         Without this, coreutils would get two false positives in
18143         the comments of C source files.
18144
18145 2010-11-12  Eric Blake  <eblake@redhat.com>
18146
18147         bootstrap: fix typo in previous attempt
18148         * build-aux/bootstrap (buildreq): Correct the grouping.
18149         Reported by Paul Eggert.
18150
18151         maintainer-makefile: prohibit test x == x
18152         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
18153         Based on a report by Matthias Bolte.
18154
18155         bootstrap: allow FreeBSD gzip
18156         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
18157         which has no '.' and goes to stderr.
18158         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
18159         Reported by Matthias Bolte.
18160
18161         maintainer-makefile: check for i18n setup
18162         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
18163         will likely work.
18164
18165 2010-11-12  Bruno Haible  <bruno@clisp.org>
18166
18167         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
18168         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
18169         * lib/nanosleep.c (nanosleep): Likewise.
18170
18171 2010-11-11  Bruno Haible  <bruno@clisp.org>
18172
18173         fcntl-h: Fix for use of C++ on glibc systems.
18174         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18175         also on glibc systems in C++ mode.
18176         Reported by Gary V. Vaughan <gary@gnu.org>.
18177
18178 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18179
18180         mknod: avoid false failure with dash
18181         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
18182
18183 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18184
18185         unlink: Fix "is it should" typo in diagnostic.
18186         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
18187         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
18188
18189 2010-11-11  Bruno Haible  <bruno@clisp.org>
18190
18191         Tests for module 'strerror_r-posix'.
18192         * modules/strerror_r-posix-tests: New file.
18193         * tests/test-strerror_r.c: New file.
18194         * tests/test-string-c++.cc: Check the signature of strerror_r.
18195
18196         New module 'strerror_r-posix'.
18197         * lib/string.in.h (strerror_r): New declaration.
18198         * lib/strerror_r.c: New file.
18199         * m4/strerror_r.m4: New file.
18200         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
18201         of strerror_r.
18202         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
18203         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18204         * modules/strerror_r-posix: New file.
18205         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
18206         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18207         * doc/posix-functions/strerror_r.texi: Mention the new module and the
18208         portability problems.
18209
18210 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
18211
18212         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
18213         line is also considered for output. Quoted function name in shell
18214         command, so temporary files for functions like MyClass::operator()
18215         are removed correctly without errors.
18216
18217 2010-11-09  Bruno Haible  <bruno@clisp.org>
18218
18219         * doc/posix-functions/strerror.texi: List more failing platforms.
18220
18221         * doc/posix-functions/strerror.texi: Add a comment.
18222
18223 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18224
18225         fdopendir: fix bug on MacOS X when low on file descriptors
18226
18227         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
18228         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
18229         All callers changed.
18230         (fdopendir): Invoke save_cwd at the top level, not after using
18231         multiple dup() calls to use up file descriptors.  Then retry
18232         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
18233         less than the maximum number of open file descriptors, because
18234         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
18235         on Mac OS X 10.6.4 for tar 1.24
18236         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
18237         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
18238         and for tar 1.25
18239         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
18240
18241 2010-11-07  Bruno Haible  <bruno@clisp.org>
18242
18243         vasnprintf: Support I flag on glibc systems.
18244         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
18245         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
18246         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
18247         snprintf function.
18248         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
18249         glibc systems.
18250         * tests/test-vasnprintf-posix3.c: New file.
18251         * modules/vasnprintf-posix-tests (Files): Add it.
18252         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
18253
18254 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18255
18256         [html] Fix copy/paste bug: Use unique name for compiler warnings.
18257         * MODULES.html.sh: For compiler warnings, use name
18258         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
18259
18260 2010-11-05  Eric Blake  <eblake@redhat.com>
18261
18262         ceil, floor: avoid spurious failure with icc
18263         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
18264         [denormals-as-zero] when optimizing without -mieee-fp option.
18265         * tests/test-floorf2.c (floorf_reference): Likewise.
18266         * tests/test-ceilf1.c (dummy): New function.
18267         (main): Use it to outsmart icc's optimization.
18268         * tests/test-floorf1.c (dummy, main): Likewise.
18269
18270         tests: require working signbit
18271         * modules/ceilf-tests (Depends-on): Add signbit.
18272         * modules/ceill-tests (Depends-on): Likewise.
18273         * modules/floorf-tests (Depends-on): Likewise.
18274         * modules/floorl-tests (Depends-on): Likewise.
18275         * modules/round-tests (Depends-on): Likewise.
18276         * modules/roundf-tests (Depends-on): Likewise.
18277         * modules/roundl-tests (Depends-on): Likewise.
18278         * modules/trunc-tests (Depends-on): Likewise.
18279         * modules/truncf-tests (Depends-on): Likewise.
18280         * modules/truncl-tests (Depends-on): Likewise.
18281
18282         strtod: work around icc bug
18283         * lib/strtod.c (minus_zero): Define to working value.
18284         (strtod): Use it to avoid icc bug.
18285
18286         copysign: enhance tests
18287         * modules/copysign-tests (Files): Add minus-zero.h.
18288         * tests/test-copysign.c (main): Also test zeros.
18289
18290 2010-11-04  Eric Blake  <eblake@redhat.com>
18291
18292         ceil, floor, round, trunc: enhance tests of -0
18293         * tests/test-ceilf1.c (main): Ensure correct sign of result.
18294         * tests/test-ceill.c (main): Likewise.
18295         * tests/test-floorf1.c (main): Likewise.
18296         * tests/test-floorl.c (main): Likewise.
18297         * tests/test-round1.c (main): Likewise.
18298         * tests/test-roundf1.c (main): Likewise.
18299         * tests/test-roundl.c (main): Likewise.
18300         * tests/test-trunc1.c (main): Likewise.
18301         * tests/test-truncf1.c (main): Likewise.
18302         * tests/test-truncl.c (main): Likewise.
18303
18304 2010-11-04  Eric Blake  <eblake@redhat.com>
18305
18306         frexp, tests: work around ICC bug with -zero
18307         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
18308         works with more compilers.
18309         * tests/minus-zero.h: New file.
18310         * modules/ceilf-tests (Files): Include it.
18311         * modules/ceill-tests (Files): Likewise.
18312         * modules/floorf-tests (Files): Likewise.
18313         * modules/floorl-tests (Files): Likewise.
18314         * modules/frexp-nolibm-tests (Files): Likewise.
18315         * modules/frexp-tests (Files): Likewise.
18316         * modules/frexpl-nolibm-tests (Files): Likewise.
18317         * modules/frexpl-tests (Files): Likewise.
18318         * modules/isnan-tests (Files): Likewise.
18319         * modules/isnand-nolibm-tests (Files): Likewise.
18320         * modules/isnand-tests (Files): Likewise.
18321         * modules/isnanf-nolibm-tests (Files): Likewise.
18322         * modules/isnanf-tests (Files): Likewise.
18323         * modules/isnanl-nolibm-tests (Files): Likewise.
18324         * modules/isnanl-tests (Files): Likewise.
18325         * modules/round-tests (Files): Likewise.
18326         * modules/roundf-tests (Files): Likewise.
18327         * modules/roundl-tests (Files): Likewise.
18328         * modules/ldexpl-tests (Files): Likewise.
18329         * modules/signbit-tests (Files): Likewise.
18330         * modules/snprintf-posix-tests (Files): Likewise.
18331         * modules/sprintf-posix-tests (Files): Likewise.
18332         * modules/strtod-tests (Files): Likewise.
18333         * modules/trunc-tests (Files): Likewise.
18334         * modules/truncf-tests (Files): Likewise.
18335         * modules/truncl-tests (Files): Likewise.
18336         * modules/vsnprintf-posix-tests (Files): Likewise.
18337         * modules/vsprintf-posix-tests (Files): Likewise.
18338         * modules/vasnprintf-posix-tests (Files): Likewise.
18339         * modules/vasprintf-posix-tests (Files): Likewise.
18340         * tests/test-ceilf1.c (main): Use it.
18341         * tests/test-ceill.c (main): Likewise.
18342         * tests/test-floorf1.c (main): Likewise.
18343         * tests/test-floorl.c (main): Likewise.
18344         * tests/test-frexp.c (main): Likewise.
18345         * tests/test-frexpl.c (main): Likewise.
18346         * tests/test-isnan.c (main): Likewise.
18347         * tests/test-isnand.h (main): Likewise.
18348         * tests/test-isnanf.h (main): Likewise.
18349         * tests/test-isnanl.h (main): Likewise.
18350         * tests/test-ldexpl.c (main): Likewise.
18351         * tests/test-round.c (main): Likewise.
18352         * tests/test-roundf.c (main): Likewise.
18353         * tests/test-roundl.c (main): Likewise.
18354         * tests/test-signbit.c (test_signbitf, test_signbitd)
18355         (test_signbitl): Likewise.
18356         * tests/test-snprintf-posix.h (test_function): Likewise.
18357         * tests/test-sprintf-posix.h (test_function): Likewise.
18358         * tests/test-strtod.c (main): Likewise.
18359         * tests/test-trunc1.c (main): Likewise.
18360         * tests/test-truncf1.c (main): Likewise.
18361         * tests/test-truncl.c (main): Likewise.
18362
18363         isnanl: work around icc bug
18364         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
18365
18366 2010-11-03  Eric Blake  <eblake@redhat.com>
18367
18368         tests: fix compiler warnings
18369         * tests/test-getopt.h (test_getopt): Fix condition.
18370         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18371         * tests/test-pipe2.c (main): Likewise.
18372         * tests/test-quotearg-simple.c (main): Avoid icc warning.
18373
18374         utimens: fix broken m4 test
18375         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
18376
18377 2010-10-28  Bruno Haible  <bruno@clisp.org>
18378
18379         posix_spawn*, getdtablesize: Relax license.
18380         * modules/posix_spawn (License): Change to LGPLv2+.
18381         * modules/posix_spawnp (License): Likewise.
18382         * modules/posix_spawn-internal (License): Likewise.
18383         * modules/posix_spawnattr_init (License): Likewise.
18384         * modules/posix_spawnattr_getflags (License): Likewise.
18385         * modules/posix_spawnattr_setflags (License): Likewise.
18386         * modules/posix_spawnattr_getpgroup (License): Likewise.
18387         * modules/posix_spawnattr_setpgroup (License): Likewise.
18388         * modules/posix_spawnattr_getschedparam (License): Likewise.
18389         * modules/posix_spawnattr_setschedparam (License): Likewise.
18390         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
18391         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
18392         * modules/posix_spawnattr_getsigdefault (License): Likewise.
18393         * modules/posix_spawnattr_setsigdefault (License): Likewise.
18394         * modules/posix_spawnattr_getsigmask (License): Likewise.
18395         * modules/posix_spawnattr_setsigmask (License): Likewise.
18396         * modules/posix_spawnattr_destroy (License): Likewise.
18397         * modules/posix_spawn_file_actions_init (License): Likewise.
18398         * modules/posix_spawn_file_actions_addclose (License): Likewise.
18399         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
18400         * modules/posix_spawn_file_actions_addopen (License): Likewise.
18401         * modules/posix_spawn_file_actions_destroy (License): Likewise.
18402         * modules/getdtablesize (License): Likewise.
18403         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
18404
18405 2010-10-26  Bruno Haible  <bruno@clisp.org>
18406
18407         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
18408         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
18409         Cygwin and mingw.
18410         Suggested by Eric Blake.
18411
18412 2010-10-26  Bruno Haible  <bruno@clisp.org>
18413
18414         stdio: Work around compilation error due to renameat() on Solaris 10.
18415         * lib/stdio.in.h: Include <unistd.h> on Solaris.
18416         * lib/renameat.c: Don't include <unistd.h> here.
18417         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
18418         Reported by Paul Eggert and Eric Blake.
18419
18420 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
18421
18422         renameat: port to Solaris 10, which declares renameat in unistd.h
18423
18424         * lib/renameat.c: Include unistd.h before stdio.h, because
18425         Solaris 10 declares renameat in unistd.h.  Problem encountered
18426         when building GNU tar 1.24 on Solaris 10.
18427
18428 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18429
18430         fdopendir: fix C89 compilation
18431         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18432         compilers.
18433
18434 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18435
18436         inttostr: simplify by removing unnecessary redundancy
18437         * lib/anytostr.c: Don't include verify.h.
18438         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18439         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18440         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18441         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18442         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18443         Likewise.
18444         * modules/inttostr (Depends-on): Remove 'verify'.
18445
18446 2010-10-23  Bruno Haible  <bruno@clisp.org>
18447
18448         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18449         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18450         Reported by Eric Blake.
18451
18452 2010-10-23  Bruno Haible  <bruno@clisp.org>
18453
18454         Tests: Fix LOCALE_JA on MirBSD 10.
18455         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18456         to an UTF-8 locale.
18457         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18458         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18459         Reported by Eric Blake.
18460
18461 2010-10-21  Bruno Haible  <bruno@clisp.org>
18462
18463         nl_langinfo test: Avoid test failure on NetBSD 5.
18464         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18465         Reported by Eric Blake.
18466
18467 2010-10-21  Eric Blake  <eblake@redhat.com>
18468
18469         c-stack: work around libsigsegv 2.8 bug
18470         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18471         overflow on at least PowerPC64.
18472
18473 2010-10-17  Bruno Haible  <bruno@clisp.org>
18474
18475         userspec: Drop redundant file.
18476         * modules/userspec (Files): Remove lib/inttostr.h.
18477
18478 2010-10-17  Bruno Haible  <bruno@clisp.org>
18479
18480         nl_langinfo tests: Silence some warnings.
18481         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18482         Reported by Jim Meyering.
18483
18484 2010-10-17  Bruno Haible  <bruno@clisp.org>
18485
18486         Make use of GCC's attribute __alloc_size__.
18487         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18488         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18489         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18490         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18491         __alloc_size__.
18492         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18493         Suggested by Jim Meyering.
18494
18495 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18496
18497         bootstrap: anchor .gitignore entries.
18498         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18499         with...
18500         (insert_vc_ignore): ... this new function, which prepends `/' to
18501         all .gitignore entries before passing them to
18502         insert_sorted_if_absent.
18503
18504 2010-10-16  Bruno Haible  <bruno@clisp.org>
18505
18506         nextafter: Fix configure check.
18507         * modules/nextafter (configure.ac): Correct expected prototype.
18508
18509 2010-10-16  Bruno Haible  <bruno@clisp.org>
18510
18511         termios: Update documentation.
18512         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18513
18514 2010-10-16  Bruno Haible  <bruno@clisp.org>
18515
18516         tests: Make them compile with TinyCC.
18517         * tests/test-strstr.c (main): Remove parentheses around array
18518         initializer.
18519
18520 2010-10-15  Eric Blake  <eblake@redhat.com>
18521
18522         ignore-value: make header idempotent
18523         * lib/ignore-value.h: Add double-inclusion guards.
18524         Reported by Stefan Berger.
18525
18526 2010-10-15  Jim Meyering  <meyering@redhat.com>
18527
18528         GNUmakefile: handle "stable" target, not "major"
18529         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18530         lists in maint.mk and announce-gen.  Without this, "make stable"
18531         would fail to ensure that $(VERSION) is up to date.
18532
18533 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18534
18535         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18536         & co.
18537
18538 2010-10-14  Bruno Haible  <bruno@clisp.org>
18539
18540         vasnprintf: Don't set errno to 0.
18541         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18542         block that sets it to 0.
18543         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18544
18545 2010-10-14  Bruno Haible  <bruno@clisp.org>
18546
18547         socketlib: Fix.
18548         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18549         gl_PREREQ_SYS_H_WINSOCK2.
18550         Reported by Ian Beckwith <ianb@erislabs.net>.
18551
18552 2010-10-13  Jim Meyering  <meyering@redhat.com>
18553
18554         test-select-stdin.c: avoid warn_unused_result warnings
18555         * tests/test-select-stdin.c: Include "macros.h".
18556         ASSERT that read and fflush succeed.
18557
18558 2010-10-13  Jim Meyering  <meyering@redhat.com>
18559
18560         git-version-gen: do require git-VC'd files in cwd
18561         * build-aux/git-version-gen: Reject a git version string
18562         if there are no commits associated with the current directory.
18563         This avoids an unlikely false-positive (unrelated dir whose parent
18564         repository also contains a tag matching v*), as pointed out
18565         by Giuseppe Scrivano in
18566         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18567
18568 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18569
18570         argv-iter: omit nonconforming declaration
18571         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18572         enum arg_iter_err declaration, which doesn't conform to C99.
18573         Solaris 10 cc warns about this.
18574
18575 2010-10-13  Eric Blake  <eblake@redhat.com>
18576
18577         termios: fix compilation on mingw
18578         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18579         (gl_TERMIOS_H): Adjust it on mingw.
18580         * modules/termios (Makefile.am): Substitute new key.
18581         * lib/termios.in.h (includes): Make include_next conditional.
18582         * doc/posix-headers/termios.texi (termios.h): Update
18583         documentation.
18584         Reported by Daniel P. Berrange.
18585
18586 2010-10-13  Jim Meyering  <meyering@redhat.com>
18587
18588         git-version-gen: don't require that .git/ be in the current dir
18589         * build-aux/git-version-gen: Adjust this script so that it works
18590         when run from any working directory beneath the top-level .git/-
18591         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18592         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18593
18594         test-select: avoid warn_unused_result warnings
18595         * tests/test-select.c: Include "macros.h".
18596         ASSERT that each call to read, write, and pipe succeeds.
18597         While not technically required, also check each "close".
18598         * modules/select-tests (Files): Add tests/macros.h.
18599
18600         test-symlinkat: remove declaration of unused local
18601         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18602
18603         test-inttostr: avoid shadowing warnings
18604         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18605         and use malloc rather than the stack for the same reason as
18606         mentioned in the comment justifying the other allocation.
18607
18608 2010-10-11  Bruno Haible  <bruno@clisp.org>
18609
18610         stdlib: Allow multiple gnulib generated replacements to coexist.
18611         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18612         Reported by Sam Steingold <sds@gnu.org>.
18613
18614 2010-10-11  Jim Meyering  <meyering@redhat.com>
18615
18616         fix a documentation typo
18617         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18618
18619 2010-10-11  Eric Blake  <eblake@redhat.com>
18620
18621         futimens: work around Solaris 11 bug
18622         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18623         * tests/test-futimens.h (test_futimens): Enhance, rather than
18624         weaken test.
18625         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18626
18627 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18628
18629         Indentation.
18630         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18631         higher-level operators more to the left.
18632
18633 2010-10-11  Jim Meyering  <meyering@redhat.com>
18634
18635         test-futimens: avoid unwarranted test failure on Solaris 5.11
18636         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18637         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18638         because it tries to dereference the NULL name argument.
18639
18640 2010-10-11  Bruno Haible  <bruno@clisp.org>
18641
18642         Indentation.
18643         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18644         indentation.
18645
18646 2010-10-11  Jim Meyering  <meyering@redhat.com>
18647
18648         spawn.in.h: make indentation consistent with parentheses
18649         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18650         Make indentation consistent with parentheses.
18651
18652 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18653
18654         Fix mismatched parens in previous commit
18655         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18656         parens.
18657
18658 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18659
18660         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18661
18662         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18663         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18664         * lib/malloca.c: Include "verify.h".
18665         (verify1): Remove, replacing with a verify call.
18666         * lib/relocwrapper.c (verify1): Likewise.
18667         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18668         Likewise.
18669         * modules/malloca (Depends-on): Add 'verify'.
18670         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18671         * modules/vasnprintf (Depends-on): Add 'verify'.
18672         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18673         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18674         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18675         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18676         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18677         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18678         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18679
18680         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18681
18682         Formerly the style was sometimes 2*X - 1, because the C standard
18683         was wrongly thought to disallow ?: in integral constant expressions.
18684         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18685         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18686         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18687         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18688         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18689         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18690         verify that time_t cannot be floating.
18691
18692 2010-10-08  Eric Blake  <eblake@redhat.com>
18693
18694         time: enforce recent POSIX ruling that time_t is integral
18695         * lib/time.in.h (__time_t_must_be_integral): Detect any
18696         problematic systems, allowing the rest of gnulib to assume POSIX.
18697
18698 2010-10-08  Jim Meyering  <meyering@redhat.com>
18699
18700         fdopendir: fix a bug on systems lacking openat and /proc support
18701         OpenBSD 4.7 is one such system.  The most noticeable effect was
18702         failure of any application making nontrivial use of fts: rm, du,
18703         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18704           ./rm: traversal failed: `a': Bad file descriptor
18705         Debugging that, you see that even though FD 6 was closed just
18706         prior to the opendir call in fd_clone_opendir, its resulting
18707         dir->dd_fd was 8, rather than the expected value of 6:
18708
18709         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18710         93                close (fd);
18711         (gdb) n
18712         94                dir = fd_clone_opendir (dupfd);
18713         (gdb) n
18714         95                saved_errno = errno;
18715         (gdb) p dir->dd_fd
18716         $11 = 8
18717
18718         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18719         The problem is that on OpenBSD, fd_clone_opendir has to resort
18720         to using the old-style save/restore CWD mechanism, due to its
18721         lack of openat/proc support, and *that* would steal the FD (6)
18722         that opendir was supposed to use.
18723
18724         The fix is to squirrel away the desired FD so that save_cwd uses a
18725         different one, and then free the dest FD right before calling opendir.
18726         That guarantees opendir will use the required file descriptor.
18727
18728         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18729
18730 2010-10-08  Bruno Haible  <bruno@clisp.org>
18731
18732         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18733         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18734
18735 2010-10-08  Bruno Haible  <bruno@clisp.org>
18736
18737         nanosleep: Make replacement POSIX compliant.
18738         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18739         is out of range.
18740         Reported by Jim Meyering.
18741
18742 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18743
18744         bootstrap: add hook for altering gnulib.mk, for Bison
18745         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18746         the Bison bootstrapping process can rewrite file names and variables
18747         in this file before later parts of 'bootstrap' use the file.
18748         Bison wants to include lib/gnulib.mk from the top-level makefile,
18749         so it needs the file names in this file to be relative to the top
18750         level, not relative to lib; plus it needs variable names to be
18751         rewritten.
18752         (slurp): Use the new function.
18753
18754         bootstrap: reformat for readability
18755         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18756
18757 2010-10-08  Eric Blake  <eblake@redhat.com>
18758
18759         docs: update cygwin progress
18760         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18761         1.7.7.
18762         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18763         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18764         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18765         * doc/posix-functions/carg.texi (carg): Likewise.
18766         * doc/posix-functions/cargf.texi (cargf): Likewise.
18767         * doc/posix-functions/casin.texi (casin): Likewise.
18768         * doc/posix-functions/casinf.texi (casinf): Likewise.
18769         * doc/posix-functions/casinh.texi (casinh): Likewise.
18770         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18771         * doc/posix-functions/catan.texi (catan): Likewise.
18772         * doc/posix-functions/catanf.texi (catanf): Likewise.
18773         * doc/posix-functions/catanh.texi (catanh): Likewise.
18774         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18775         * doc/posix-functions/ccos.texi (ccos): Likewise.
18776         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18777         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18778         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18779         * doc/posix-functions/cexp.texi (cexp): Likewise.
18780         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18781         * doc/posix-functions/cimag.texi (cimag): Likewise.
18782         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18783         * doc/posix-functions/clog.texi (clog): Likewise.
18784         * doc/posix-functions/clogf.texi (clogf): Likewise.
18785         * doc/posix-functions/conj.texi (conj): Likewise.
18786         * doc/posix-functions/conjf.texi (conjf): Likewise.
18787         * doc/posix-functions/cpow.texi (cpow): Likewise.
18788         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18789         * doc/posix-functions/cproj.texi (cproj): Likewise.
18790         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18791         * doc/posix-functions/creal.texi (creal): Likewise.
18792         * doc/posix-functions/crealf.texi (crealf): Likewise.
18793         * doc/posix-functions/csin.texi (csin): Likewise.
18794         * doc/posix-functions/csinf.texi (csinf): Likewise.
18795         * doc/posix-functions/csinh.texi (csinh): Likewise.
18796         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18797         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18798         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18799         * doc/posix-functions/ctan.texi (ctan): Likewise.
18800         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18801         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18802         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18803         * doc/posix-headers/complex.texi (complex.h): Likewise.
18804
18805 2010-10-07  Jim Meyering  <meyering@redhat.com>
18806
18807         parse-datetime: avoid compilation failure on OpenBSD 4.7
18808         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18809         This works around a compilation failure on OpenBSD 4.7:
18810         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18811
18812 2010-10-07  Eric Blake  <eblake@redhat.com>
18813
18814         docs: update cygwin progress
18815         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18816         1.7.6.
18817         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18818         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18819         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18820         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18821         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18822         Likewise.
18823         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18824         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18825         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18826         Likewise.
18827         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18828         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18829         Likewise.
18830         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18831         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18832         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18833         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18834         Likewise.
18835         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18836         Likewise.
18837         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18838
18839         docs: update parse-datetime history
18840         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18841         documentation of this function's history and alternatives.
18842
18843         cygwin: use more robust version check
18844         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
18845         exclude an eventual cygwin 1.9.1.
18846         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18847         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18848         (gl_FUNC_STRCASESTR): Likewise.
18849         Reported by Bruno Haible.
18850
18851 2010-10-06  Bruno Haible  <bruno@clisp.org>
18852
18853         string, sys_select: Avoid #including large headers unless necessary.
18854         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
18855         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
18856         OSF/1, BeOS, Haiku.
18857         Reported by Jim Meyering.
18858
18859 2010-10-05  Eric Blake  <eblake@redhat.com>
18860
18861         memmem, strstr, strcasestr: fix bug with long periodic needle
18862         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
18863         periodic needle having false positive.
18864         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
18865         and cygwin 1.7.7.
18866         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
18867         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18868         (gl_FUNC_STRCASESTR): Likewise.
18869         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18870         * tests/test-memmem.c (main): Expose the bug.
18871         * tests/test-strcasestr.c (main): Likewise.
18872         * tests/test-strstr.c (main): Likewise.
18873         * tests/test-c-strcasestr.c (main): Likewise.
18874         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
18875         * doc/posix-functions/strstr.texi (strstr): Likewise.
18876         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
18877         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
18878
18879 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18880
18881         parse-datetime: do some more renaming
18882         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
18883         parse_datetime, not get_date.  Mention the renaming.
18884         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
18885         in comments.
18886         * m4/bison.m4: Likewise.
18887
18888 2010-10-05  Eric Blake  <eblake@redhat.com>
18889
18890         parse-datetime: better name than get_date
18891         * NEWS: Reword the deprecation notice.
18892         * modules/get_date: Rename to modules/parse-datetime.
18893         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
18894         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
18895         * lib/get_date.y: Rename to lib/parse-datetime.y.
18896         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
18897         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
18898         * doc/getdate.texi: Provide fallback wrapper.
18899         * lib/getdate.h: Move guts, and wrap...
18900         * lib/parse-datetime.h: ...new file.
18901         * lib/parse-datetime.y (get_date): Rename...
18902         (parse_datetime): ...to this.
18903         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
18904         (gl_PARSE_DATETIME): ...to this.
18905         * doc/posix-functions/getdate.texi (get_date): Provide fallback
18906         documentation.
18907         * modules/getdate (Files): Provide fallback docs and header.
18908         (Notice, Depends-on): Update references.
18909         * tests/test-parse-datetime.c: Likewise.
18910         * DEPENDENCIES: Likewise.
18911         * MODULES.html.sh (Date and time <time.h>): Likewise.
18912         * doc/parse-datetime.texi (Date input formats)
18913         (Authors of parse_datetime): Likewise.
18914         * modules/parse-datetime (Files, configure.ac, Makefile.am)
18915         (Include): Likewise.
18916         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
18917         * gnulib-tool: Likewise.
18918         * m4/bison.m4 (gl_BISON): Likewise.
18919         Suggested by Bruno Haible.
18920
18921 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18922
18923         more ports to Solaris tr, which needs [] around ranges
18924         * gnulib-tool: Solaris tr needs [] around ranges.
18925         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18926         * tests/test-pipe-filter-gi1.c (main): Likewise.
18927         * tests/test-pipe-filter-ii1.c (main): Likewise.
18928
18929 2010-10-05  Eric Blake  <eblake@redhat.com>
18930
18931         bootstrap: fix Solaris regression
18932         * build-aux/bootstrap (check_versions): Solaris tr still needs []
18933         around ranges.
18934         Reported by Pádraig Brady.
18935
18936         bootstrap: work with pkg-config
18937         * build-aux/bootstrap (check_versions): Also transliterate - in
18938         prerequisite name.
18939         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
18940         prerequisites that were already found, to avoid confusion.
18941         Reported by Justin Clift.
18942
18943         faccessat: remove unused wrappers
18944         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
18945         presence of these wrappers dragged in -lgen on Solaris.
18946         Reported by Clemens Brogi; fix suggested by Paul Eggert.
18947
18948 2010-10-05  Jim Meyering  <meyering@redhat.com>
18949
18950         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
18951         * Makefile (sc_pragma_columns): New syntax-check rule.
18952
18953 2010-10-04  Bruno Haible  <bruno@clisp.org>
18954
18955         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
18956         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
18957         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
18958         Reported by Bruce Korb and Eric Blake.
18959
18960 2010-10-04  Bruno Haible  <bruno@clisp.org>
18961
18962         threadlib: Make option --with-libpth-prefix work.
18963         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
18964         use $LIBPTH, not just -lpth.
18965
18966 2010-10-04  Bruno Haible  <bruno@clisp.org>
18967
18968         Avoid line length limitation from HP NonStop system header files.
18969         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
18970         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
18971         * lib/ctype.in.h: Likewise.
18972         * lib/dirent.in.h: Likewise.
18973         * lib/errno.in.h: Likewise.
18974         * lib/fcntl.in.h: Likewise.
18975         * lib/float.in.h: Likewise.
18976         * lib/getopt.in.h: Likewise.
18977         * lib/iconv.in.h: Likewise.
18978         * lib/inttypes.in.h: Likewise.
18979         * lib/langinfo.in.h: Likewise.
18980         * lib/locale.in.h: Likewise.
18981         * lib/math.in.h: Likewise.
18982         * lib/netdb.in.h: Likewise.
18983         * lib/netinet_in.in.h: Likewise.
18984         * lib/poll.in.h: Likewise.
18985         * lib/pthread.in.h: Likewise.
18986         * lib/pty.in.h: Likewise.
18987         * lib/sched.in.h: Likewise.
18988         * lib/se-selinux.in.h: Likewise.
18989         * lib/search.in.h: Likewise.
18990         * lib/signal.in.h: Likewise.
18991         * lib/spawn.in.h: Likewise.
18992         * lib/stdarg.in.h: Likewise.
18993         * lib/stddef.in.h: Likewise.
18994         * lib/stdint.in.h: Likewise.
18995         * lib/stdio.in.h: Likewise.
18996         * lib/stdlib.in.h: Likewise.
18997         * lib/string.in.h: Likewise.
18998         * lib/strings.in.h: Likewise.
18999         * lib/sys_file.in.h: Likewise.
19000         * lib/sys_ioctl.in.h: Likewise.
19001         * lib/sys_select.in.h: Likewise.
19002         * lib/sys_socket.in.h: Likewise.
19003         * lib/sys_stat.in.h: Likewise.
19004         * lib/sys_time.in.h: Likewise.
19005         * lib/sys_times.in.h: Likewise.
19006         * lib/sys_utsname.in.h: Likewise.
19007         * lib/sys_wait.in.h: Likewise.
19008         * lib/sysexits.in.h: Likewise.
19009         * lib/termios.in.h: Likewise.
19010         * lib/time.in.h: Likewise.
19011         * lib/unistd.in.h: Likewise.
19012         * lib/wchar.in.h: Likewise.
19013         * lib/wctype.in.h: Likewise.
19014         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
19015         * modules/ctype (Makefile.am): Likewise.
19016         * modules/dirent (Makefile.am): Likewise.
19017         * modules/errno (Makefile.am): Likewise.
19018         * modules/fcntl-h (Makefile.am): Likewise.
19019         * modules/float (Makefile.am): Likewise.
19020         * modules/getopt-posix (Makefile.am): Likewise.
19021         * modules/iconv-h (Makefile.am): Likewise.
19022         * modules/inttypes (Makefile.am): Likewise.
19023         * modules/langinfo (Makefile.am): Likewise.
19024         * modules/locale (Makefile.am): Likewise.
19025         * modules/math (Makefile.am): Likewise.
19026         * modules/netdb (Makefile.am): Likewise.
19027         * modules/netinet_in (Makefile.am): Likewise.
19028         * modules/poll-h (Makefile.am): Likewise.
19029         * modules/pthread (Makefile.am): Likewise.
19030         * modules/pty (Makefile.am): Likewise.
19031         * modules/sched (Makefile.am): Likewise.
19032         * modules/search (Makefile.am): Likewise.
19033         * modules/selinux-h (Makefile.am): Likewise.
19034         * modules/signal (Makefile.am): Likewise.
19035         * modules/spawn (Makefile.am): Likewise.
19036         * modules/stdarg (Makefile.am): Likewise.
19037         * modules/stddef (Makefile.am): Likewise.
19038         * modules/stdint (Makefile.am): Likewise.
19039         * modules/stdio (Makefile.am): Likewise.
19040         * modules/stdlib (Makefile.am): Likewise.
19041         * modules/string (Makefile.am): Likewise.
19042         * modules/strings (Makefile.am): Likewise.
19043         * modules/sys_file (Makefile.am): Likewise.
19044         * modules/sys_ioctl (Makefile.am): Likewise.
19045         * modules/sys_select (Makefile.am): Likewise.
19046         * modules/sys_socket (Makefile.am): Likewise.
19047         * modules/sys_stat (Makefile.am): Likewise.
19048         * modules/sys_time (Makefile.am): Likewise.
19049         * modules/sys_times (Makefile.am): Likewise.
19050         * modules/sys_utsname (Makefile.am): Likewise.
19051         * modules/sys_wait (Makefile.am): Likewise.
19052         * modules/sysexits (Makefile.am): Likewise.
19053         * modules/termios (Makefile.am): Likewise.
19054         * modules/time (Makefile.am): Likewise.
19055         * modules/unistd (Makefile.am): Likewise.
19056         * modules/wchar (Makefile.am): Likewise.
19057         * modules/wctype (Makefile.am): Likewise.
19058
19059 2010-10-04  Bruno Haible  <bruno@clisp.org>
19060
19061         read-file tests: Avoid a test failure on NonStop Kernel.
19062         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
19063         a regular file.
19064         Reported by Joachim Schmitz <schmitz@hp.com>.
19065
19066 2010-10-03  Bruno Haible  <bruno@clisp.org>
19067
19068         gnulib-tool: Fixes for --create-testdir with --libtool.
19069         * gnulib-tool (func_get_automake_snippet): Don't augment
19070         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
19071         an executable.
19072         (func_create_testdir): Handle module 'alloca' like func_import.
19073         Reported by Bruce Korb <bruce.korb@gmail.com>.
19074
19075 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
19076
19077         Avoid some lines longer than 80 characters.
19078         * lib/stdint.in.h: Break long comment lines.
19079         * lib/math.in.h: Likewise.
19080         (_GL_NUM_UINT_WORDS): New macro, for readability.
19081         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
19082         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
19083         * lib/stdlib.in.h: Likewise.
19084         * lib/spawn.in.h: Likewise.
19085         * lib/sys_socket.in.h: Update an URL.
19086         * lib/sys_stat.in.h: Break long line.
19087
19088 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
19089
19090         Improve pmccabe2html.
19091         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
19092         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
19093         when the sources change. Remove the line in the HTML about "Used
19094         ranges" (which implied that there might be other unused ranges),
19095         rename "Resume" to "Summary" (easier to understand for more users).
19096         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
19097         styles, and some unnecessary blank lines.
19098
19099 2010-10-03  Bruno Haible  <bruno@clisp.org>
19100             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
19101
19102         acl: Add support for ACLs on NonStop Kernel.
19103         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
19104         Check whether the function aclsort() exists.
19105         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
19106         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
19107         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19108         (acl_nontrivial [HAVE_ACLSORT]: New function.
19109         (file_has_acl): Implement for NonStop Kernel.
19110         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19111         (qset_acl): Implement for NonStop Kernel.
19112         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
19113         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19114         (main): Implement for NonStop Kernel.
19115         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
19116         Kernel. Handle this flavor.
19117         * tests/test-set-mode-acl.sh: Likewise.
19118         * tests/test-copy-acl.sh: Likewise.
19119         * tests/test-copy-file.sh: Likewise.
19120
19121 2010-10-03  Bruno Haible  <bruno@clisp.org>
19122
19123         Info about ACLs on NonStop Kernel.
19124         * doc/acl-resources.txt: Add info about NonStop Kernel.
19125         References by Joachim Schmitz <schmitz@hp.com>.
19126
19127 2010-10-02  Bruno Haible  <bruno@clisp.org>
19128
19129         Define missing EDQUOT on NonStop Kernel.
19130         * lib/errno.in.h (EDQUOT): Assign a value if missing.
19131         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
19132         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
19133         missing.
19134         * doc/posix-headers/errno.texi: Mention the NSK bug.
19135         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
19136         Reported by Joachim Schmitz <schmitz@hp.com>.
19137
19138 2010-10-02  Bruno Haible  <bruno@clisp.org>
19139
19140         Update doc for POSIX:2008.
19141         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
19142         Update URL of POSIX specification.
19143
19144 2010-10-02  Bruno Haible  <bruno@clisp.org>
19145
19146         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
19147         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
19148         from gnulib, not from Automake.
19149
19150 2010-10-02  Bruno Haible  <bruno@clisp.org>
19151
19152         New module 'system-posix'.
19153         * modules/system-posix: New file.
19154         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
19155         module is present.
19156         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19157         GNULIB_SYSTEM_POSIX.
19158         * modules/stdlib (Depends-on): Remove sys_wait.
19159         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
19160         * doc/posix-functions/system.texi: Mention the new module.
19161         * doc/posix-headers/stdlib.texi: Likewise.
19162         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
19163         define test_sys_wait_macros to a no-op.
19164         Reported by Sam Steingold <sds@gnu.org>.
19165
19166 2010-09-30  Bruno Haible  <bruno@clisp.org>
19167
19168         More renaming from 'getdate' to 'get_date'.
19169         * doc/get_date.texi: Renamed from doc/getdate.texi.
19170         * modules/get_date (Files): Update.
19171         * MODULES.html.sh (Date and time <time.h>): Update.
19172         * DEPENDENCIES: Update.
19173         * gnulib-tool: Update comment.
19174         * m4/bison.m4 (gl_BISON): Likewise.
19175         * m4/get_date.m4 (gl_GET_DATE): Likewise.
19176
19177 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
19178
19179         bootstrap: support ACLOCAL_FLAGS during aclocal
19180         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
19181         can add additional -I dir for third-party .m4 files.
19182
19183 2010-09-30  Eric Blake  <eblake@redhat.com>
19184
19185         bootstrap: use glibtoolize on MacOS
19186         * build-aux/bootstrap (check_versions): Convert libtool into
19187         libtoolize.
19188         (tool search): Move libtool check earlier, and look for
19189         glibtoolize for MacOS.
19190         (gnulib_tool_options): Auto-add --libtool when appropriate.
19191         Reported by Justin Clift.
19192
19193         poll: fix typo that broke test on MacOS
19194         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
19195         Reported by Justin Clift.
19196
19197         getdate: rename to get_date
19198         Note: getdate.h is not renamed, to minimize client impact.
19199         * modules/getdate: Mark obsolete.  Move old contents...
19200         * modules/get_date: ...to new module name.
19201         * modules/getdate-tests: Move...
19202         * modules/get_date-tests: ...here.
19203         * m4/getdate.m4: Move...
19204         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
19205         * lib/getdate.y: Move...
19206         * lib/get_date.y: ...here.
19207         * tests/test-getdate.c: Move...
19208         * tests/test-get_date.c: ...here.
19209         * doc/posix-functions/getdate.texi (getdate): Update name.
19210         * NEWS: Mention the change.
19211
19212 2010-09-29  Bruno Haible  <bruno@clisp.org>
19213
19214         Separate the module 'waitpid' from the module 'sys_wait'.
19215         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
19216         present.
19217         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
19218         gl_MODULE_INDICATOR_FOR_TESTS.
19219         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
19220         * modules/sys_wait (Depends-on): Remove waitpid.
19221         (Makefile.am): Substitute GNULIB_WAITPID.
19222         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
19223         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
19224         signature only if the 'waitpid' module is present.
19225         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
19226         * NEWS: Mention the change.
19227         * modules/grantpt (Depends-on): Add waitpid.
19228         * modules/wait-process (Depends-on): Likewise.
19229
19230 2010-09-29  Bruno Haible  <bruno@clisp.org>
19231
19232         More tests for module 'sys_wait'.
19233         * modules/sys_wait-c++-tests: New file.
19234         * tests/test-sys_wait-c++.cc: New file.
19235         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
19236         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19237
19238 2010-09-29  Bruno Haible  <bruno@clisp.org>
19239
19240         New module 'waitpid'.
19241         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
19242         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
19243         Don't include <process.h>.
19244         (waitpid): Declare only, using modern idiom.
19245         * m4/waitpid.m4: New file.
19246         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
19247         * modules/waitpid: New file.
19248         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
19249         (Makefile.am): Update.
19250         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19251
19252 2010-09-28  Bruno Haible  <bruno@clisp.org>
19253
19254         poll: Assume ANSI C.
19255         * lib/poll.c (poll): Use an ANSI C declaration.
19256
19257 2010-09-28  Bruno Haible  <bruno@clisp.org>
19258
19259         poll-h: Create poll.h on all platforms.
19260         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
19261         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
19262         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
19263         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
19264         (gl_REPLACE_POLL_H): Don't set POLL_H.
19265         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
19266         * modules/poll-h (Depends-on): Add include_next.
19267         (Makefile.am): Create poll.h unconditionally. Substitute also
19268         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
19269
19270 2010-09-28  Bruno Haible  <bruno@clisp.org>
19271
19272         Tests for module 'poll-h'.
19273         * modules/poll-h-c++-tests: New file.
19274         * tests/test-poll-h-c++.cc: New file.
19275
19276         Tests for module 'poll-h'.
19277         * modules/poll-h-tests: New file.
19278         * tests/test-poll-h.c: New file.
19279
19280 2010-09-28  Bruno Haible  <bruno@clisp.org>
19281
19282         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
19283         * modules/poll-h (Depends-on): Add 'extensions'.
19284
19285 2010-09-28  Bruno Haible  <bruno@clisp.org>
19286
19287         New module 'poll-h'.
19288         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
19289         (poll): Use modern idiom.
19290         * modules/poll-h: New file.
19291         * modules/poll (Files): Remove lib/poll.in.h.
19292         (Depends-on): Add poll-h.
19293         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
19294         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
19295         * m4/poll_h.m4: New file.
19296         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
19297         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
19298         and invoke gl_REPLACE_POLL_H.
19299         * lib/poll.c: Use common idiom.
19300         * tests/test-poll.c: Likewise.
19301         * doc/posix-headers/poll.texi: Mention the poll-h module.
19302         Suggested by Eric Blake.
19303
19304 2010-09-26  Bruno Haible  <bruno@clisp.org>
19305
19306         sys_wait: Implement WSTOPSIG.
19307         * lib/sys_wait.in.h (WSTOPSIG): New macro.
19308         Reported by Simon Josefsson.
19309
19310 2010-09-26  Simon Josefsson  <simon@josefsson.org>
19311
19312         stdlib, sys_wait: Avoid compilation error on mingw.
19313         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
19314
19315 2010-09-26  Bruno Haible  <bruno@clisp.org>
19316
19317         stdlib tests: Avoid code duplication.
19318         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
19319         * modules/sys_wait-tests (Files): Likewise.
19320         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
19321         * tests/test-stdlib.c: Include test-sys_wait.h.
19322         (main): Invoke test_sys_wait_macros.
19323         * tests/test-sys_wait.c: Include test-sys_wait.h.
19324         (main): Invoke test_sys_wait_macros.
19325
19326 2010-09-25  Simon Josefsson  <simon@josefsson.org>
19327
19328         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
19329         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
19330         sure Windows sockets are working before calling getaddrinfo.
19331         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
19332         * doc/gnulib.texi (Windows sockets): Fix typo.
19333
19334 2010-09-25  Bruno Haible  <bruno@clisp.org>
19335
19336         Tests for module 'regex-quote'.
19337         * modules/regex-quote-tests: New file.
19338         * tests/test-regex-quote.c: New file.
19339
19340         New module 'regex-quote'.
19341         * lib/regex-quote.h: New file.
19342         * lib/regex-quote.c: New file.
19343         * modules/regex-quote: New file.
19344         Suggested by Reuben Thomas <rrt@sc3d.org>.
19345
19346 2010-09-24  Bruno Haible  <bruno@clisp.org>
19347
19348         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
19349         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
19350
19351 2010-09-23  Bruno Haible  <bruno@clisp.org>
19352
19353         setenv: Relax license.
19354         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
19355         Blake.
19356         Requested by Eric Blake.
19357
19358 2010-09-22  Bruno Haible  <bruno@clisp.org>
19359
19360         termios: Relax license.
19361         * modules/termios (License): Change to LGPLv2+.
19362         Requested by Eric Blake.
19363
19364 2010-09-22  Bruno Haible  <bruno@clisp.org>
19365
19366         threadlib: Allow the package to change the default to 'no'.
19367         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
19368         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
19369         Reported by Paul Eggert.
19370
19371 2010-09-22  Pádraig Brady  <P@draigbrady.com>
19372             Bruno Haible  <bruno@clisp.org>
19373
19374         Fix endless loop in mbmemcasecoll.
19375         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
19376         byte.
19377         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
19378
19379 2010-09-22  Bruno Haible  <bruno@clisp.org>
19380
19381         Tests for module 'memcoll'.
19382         * modules/memcoll-tests: New file.
19383         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
19384
19385         memcoll, xmemcoll: Clarify size vs. length.
19386         * modules/memcoll.c (memcoll0): Clarify specification.
19387         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
19388         passed to collate_error.
19389
19390 2010-09-22  Bruno Haible  <bruno@clisp.org>
19391
19392         Tests for module 'memcasecmp'.
19393         * modules/memcasecmp-tests: New file.
19394         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
19395
19396 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19397
19398         * lib/pthread.in.h: Add split double-inclusion guard, and include
19399         system <pthread.h> if there is one.  Use @@-style as in other
19400         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
19401         pthread.h doesn't.
19402         (pthread_mutexattr_destroy, pthread_mutexattr_init):
19403         (pthread_mutexattr_settype, pthread_mutex_trylock):
19404         New static inline functions, if there's no system <pthread.h>.
19405         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
19406         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
19407         Approximate with mutexes if the system lacks spinlocks, as in
19408         MacOS.
19409         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
19410         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
19411         @@-style.  Check for spinlocks separately.
19412         (gl_PTHREAD_DEFAULTS): New macro.
19413         * modules/pthread: Redo to use a more typical style for in.h files.
19414
19415 2010-09-21  Eric Blake  <eblake@redhat.com>
19416
19417         net_if: enhance tests
19418         * tests/test-net_if.c (main): Move signature checks earlier.
19419         Print failures to stderr.
19420         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
19421         Document the bug that we do not yet fix.
19422
19423 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19424
19425         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
19426         about gnulib, not GSS.
19427
19428 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19429
19430         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19431         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19432         for Emacs.
19433         * build-aux/pmccabe2html: Make Makefile.am example code more
19434         cut-and-paste friendly.
19435
19436 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19437
19438         * tests/test-net_if.c: New file.
19439         * modules/net_if-tests: New file.
19440
19441 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19442
19443         pthread: add pthread_spin_destroy
19444         * lib/pthread.in.h (pthread_spin_destroy): New function.
19445
19446 2010-09-19  Bruno Haible  <bruno@clisp.org>
19447
19448         gnulib-tool: Fix --help output.
19449         * gnulib-tool (func_usage): Fix help message.
19450         Reported by Reuben Thomas <rrt@sc3d.org>.
19451
19452 2010-09-18  Jim Meyering  <meyering@redhat.com>
19453
19454         maint.mk: avoid unexpanded \n in two diagnostics
19455         * top/maint.mk (sc_prohibit_always_true_header_tests):
19456         Don't use a literal \n in a halt=... assignment.  It would not be
19457         expanded, and the two \n bytes would appear in the diagnostic output
19458         rather than the desired newline.  Use halt=$$(printf ... instead.
19459         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19460
19461 2010-09-18  Bruno Haible  <bruno@clisp.org>
19462
19463         netinet_in: Doc tweak.
19464         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19465         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19466
19467 2010-09-18  Jim Meyering  <meyering@redhat.com>
19468
19469         init.sh: correct an outdated comment
19470         * tests/init.sh (create_exe_shims_):  s/function/alias/
19471
19472         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19473         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19474         a file named "*.exe" is removed between the glob expansion and the
19475         processing of that oddly named file.
19476
19477 2010-09-17  Eric Blake  <eblake@redhat.com>
19478
19479         mirbsd: add some more support
19480         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19481         in BSD family.
19482         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19483         devices as OpenBSD.
19484         * m4/host-os.m4 (mirbsd): Add MirBSD.
19485
19486         tests: fix unportable assumption on sys/wait.h
19487         * tests/test-sys_wait.c (main): Relax test.
19488         * tests/test-stdlib.c (main): Likewise.
19489
19490         init.sh: accomodate directory with no .exes
19491         * tests/init.sh: Accomodate directory containing only scripts.
19492
19493         tests: avoid compiler warning
19494         * tests/test-stdlib.c (main): Use the variable.
19495
19496         fdutimens, fdutimensat: update signature, again
19497         * lib/utimens.h (gl_futimens): Delete, and move signature...
19498         (fdutimens): ...here.
19499         (fdutimensat): Rearrange signature.
19500         (lutimensat): Rename variable for clarity.
19501         * lib/fdutimensat.c (fdutimensat): Update signature.
19502         * lib/utimens.c (fdutimens): Likewise.
19503         (gl_futimens): Delete.
19504         (utimens, lutimens): Update callers.
19505         * lib/futimens.c (futimens): Likewise.
19506         * tests/test-fdutimensat.c: Likewise.
19507         * tests/test-utimens.c: Likewise.
19508         * tests/test-futimens.h: Update comment.
19509         * NEWS: Mention this.
19510         Suggested by Paul Eggert.
19511
19512 2010-09-17  Bruno Haible  <bruno@clisp.org>
19513
19514         Take over the maintenance of some older macros from Autoconf.
19515         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19516         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19517         GNU Autoconf.
19518         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19519         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19520
19521 2010-09-17  Eric Blake  <eblake@redhat.com>
19522
19523         fdutimensat: drop atflag validation
19524         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19525         with valid fd, to close a race scenario where futimens is
19526         unsupported and FILE was replaced by a symlink.
19527         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19528         accordingly.
19529         Suggested by Paul Eggert.
19530
19531 2010-09-16  Bruno Haible  <bruno@clisp.org>
19532
19533         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19534         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19535
19536 2010-09-16  Bruno Haible  <bruno@clisp.org>
19537
19538         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19539         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19540         login_tty exists.
19541         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19542
19543 2010-09-16  Bruno Haible  <bruno@clisp.org>
19544
19545         login_tty: Make the replacement code work on BSD systems.
19546         * lib/login_tty.c: Include <sys/ioctl.h>.
19547         (login_tty): Use ioctl TIOCSCTTY when available.
19548         * modules/login_tty (Depends-on): Add sys_ioctl.
19549         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19550
19551 2010-09-16  Bruno Haible  <bruno@clisp.org>
19552
19553         login_tty: Stricter unit test.
19554         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19555         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19556         and tcgetsid() after login_tty.
19557         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19558
19559 2010-09-16  Bruno Haible  <bruno@clisp.org>
19560
19561         New module 'tcgetsid'.
19562         * lib/tcgetsid.c: New file.
19563         * m4/tcgetsid.m4: New file.
19564         * modules/tcgetsid: New file.
19565         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19566         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19567         GNULIB_TCGETSID, HAVE_TCGETSID.
19568         * lib/termios.in.h: Include <sys/types.h>.
19569         (tcgetsid): New declaration.
19570         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19571         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19572         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19573         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19574
19575 2010-09-16  Bruno Haible  <bruno@clisp.org>
19576
19577         Tests for module 'termios'.
19578         * modules/termios-c++-tests: New file.
19579         * modules/termios-tests: New file.
19580         * tests/test-termios-c++.cc: New file.
19581         * tests/test-termios.c: New file.
19582
19583         New module 'termios'.
19584         * modules/termios: New file.
19585         * lib/termios.in.h: New file.
19586         * m4/termios_h.m4: New file.
19587         * doc/posix-headers/termios.texi: Mention the new module.
19588
19589 2010-09-16  Eric Blake  <eblake@redhat.com>
19590
19591         fdutimensat: add an atflag parameter
19592         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19593         * lib/utimens.h (fdutimensat): Update prototype.
19594         * tests/test-fdutimensat.c: Adjust test to match.
19595         * NEWS: Document the change.
19596         Suggested by Paul Eggert.
19597
19598 2010-09-16  Bruno Haible  <bruno@clisp.org>
19599
19600         Fix typos in comments.
19601         * lib/striconveh.h: Fix typo in comment.
19602         * lib/login_tty.c (login_tty): Likewise.
19603
19604 2010-09-15  Bruno Haible  <bruno@clisp.org>
19605
19606         stdlib: clarify MirBSD WEXITSTATUS bug
19607         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19608         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19609
19610 2010-09-15  Eric Blake  <eblake@redhat.com>
19611
19612         stdlib: work around MirBSD WEXITSTATUS bug
19613         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19614         * modules/stdlib (Depends-on): Add sys_wait.
19615         * tests/test-sys_wait.c (main): Enhance test.
19616         * tests/test-stdlib.c (main): Likewise.
19617         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19618
19619         docs: mention MacOS issue with WEXITSTATUS(constant)
19620         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19621         issue.
19622         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19623
19624         strnlen: add tests
19625         * modules/strnlen-tests: New file.
19626         * tests/test-strnlen.c: Likewise.
19627
19628 2010-09-14  Bruno Haible  <bruno@clisp.org>
19629
19630         unistr/base: Avoid link errors when module 'libunistring' is also used.
19631         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19632         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19633         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19634         Declare also when HAVE_LIBUNISTRING is set.
19635         Reported by Pádraig Brady <P@draigbrady.com>.
19636
19637 2010-09-14  Eric Blake  <eblake@redhat.com>
19638
19639         test-rawmemchr: make more robust
19640         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19641         (Depends-on, configure.ac): Add needed prerequisites to use it.
19642         * modules/memchr-tests (Files, Depends-on, configure.ac):
19643         Likewise, to avoid implicit reliance on memchr module prereqs.
19644         * tests/test-memchr.c (main): Ensure proper masking.
19645         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19646         reads.
19647
19648         memchr: detect glibc Alpha bug
19649         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19650         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19651         Alpha.
19652         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19653         * tests/test-memchr.c (main): Enhance test.
19654         Reported by Nelson H. F. Beebe.
19655
19656 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19657
19658         fts, getcwd, glob: audit for dirfd returning -1
19659         * lib/fts.c (opendir): Remove #define; no longer used.
19660         (opendirat): New arg PDIR_FD.  All callers changed.
19661         (fts_build, _opendir2): Use new opendirat to avoid the need for
19662         dirfd, or for checking whether dirfd returns a negative value.
19663         Don't use opendir; always use openat followed by fdopendir.
19664         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19665         it.
19666         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19667         returns -1 here.
19668         * modules/fts (Depends-on): Remove dirfd.
19669         * modules/getcwd (Depends-on): Likewise.
19670
19671 2010-09-13  Eric Blake  <eblake@redhat.com>
19672
19673         float: fix broken MirBSD header
19674         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19675         * doc/posix-headers/float.texi (float.h): Document it.
19676
19677 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19678
19679         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19680         * lib/fts.c (opendirat): New arg extra_flags.
19681         (__opendir2): Use it to avoid following symlinks when opening
19682         a directory, if symlinks are not supposed to be followed.  See
19683         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19684
19685         fdopendir: preserve argument fd before returning
19686         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19687         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19688         (fdopendir): Use them, arranging for FD to be open to the same
19689         directory that it was when it started.  (It might be temporarily
19690         closed while fdopendir is running, so this not thread- or
19691         signal-safe.)  Be careful to do the right thing even when file
19692         descriptors are scarce and dup fails with errno == EMFILE.  See
19693         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19694
19695 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19696
19697         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19698         * NEWS: Document change.
19699         * m4/regex.m4: Disable test for regoff_t size.
19700
19701 2010-09-13  Jim Meyering  <meyering@redhat.com>
19702
19703         fts: don't operate on an invalid file descriptor after failed dup
19704         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19705         negative file descriptor.
19706
19707 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19708
19709         savedir: add streamsavedir, deprecate fdsavedir
19710         * NEWS: Mention deprecation of fdsavedir.
19711         * lib/savedir.c (streamsavedir): New extern function, whose name
19712         ends in "savedir" to be consistent with the others.  This differs
19713         from savedirstream in that it doesn't close its argument.  The
19714         next version of GNU tar will use this instead of fdsavedir, to
19715         avoid some race conditions and conserve file descriptors.
19716         (savedirstream): Reimplement as a wrapper around streamsavedir.
19717         (fdsavedir): Add a comment deprecating this function.  As far as
19718         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19719         * lib/savedir.h (streamsavedir): New decl.
19720         (fdsavedir): Add a comment deprecating this.
19721
19722 2010-09-10  Bruno Haible  <bruno@clisp.org>
19723
19724         langinfo: Fix last commit.
19725         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19726         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19727         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19728
19729 2010-09-10  Bruno Haible  <bruno@clisp.org>
19730
19731         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19732         * lib/progreloc.c (O_EXEC): Define fallback.
19733
19734 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19735
19736         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19737         * NEWS: Document recent changes to fcntl-h.
19738         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19739         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19740         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19741         Similarly for O_SEARCH; this last was already true, but not documented.
19742         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19743         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19744         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19745         Likewise.
19746         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19747         is zero, not whether it is defined.
19748         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19749         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19750         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19751
19752 2010-09-10  Bruno Haible  <bruno@clisp.org>
19753
19754         langinfo, nl_langinfo: Fix for IRIX 5.3.
19755         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19756         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19757         HAVE_LANGINFO_YESEXPR.
19758         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19759         HAVE_LANGINFO_YESEXPR.
19760         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19761         HAVE_LANGINFO_T_FMT_AMPM is 0.
19762         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19763         HAVE_LANGINFO_YESEXPR is 0.
19764         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19765         NOEXPR.
19766         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19767         * doc/posix-functions/nl_langinfo.texi: Likewise.
19768         Reported by Eric Blake.
19769
19770 2010-09-10  Bruno Haible  <bruno@clisp.org>
19771
19772         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19773         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19774         on FreeBSD 8.0 and OpenBSD 4.6.
19775         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19776         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19777         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19778         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19779         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19780         ac_includes_default.
19781         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19782
19783 2010-09-09  Eric Blake  <eblake@redhat.com>
19784
19785         strsignal: work around NetBSD bug
19786         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19787         * lib/string.in.h (includes): Likewise.
19788         * doc/posix-functions/strsignal.texi (strsignal): Document the
19789         bug.
19790         Reported by Nelson H. F. Beebe.
19791
19792         gnulib-tool: work with NetBSD /bin/sh
19793         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19794         (func_get_description, func_get_comment, func_get_status)
19795         (func_get_notice, func_get_applicability, func_get_filelist)
19796         (func_get_dependencies, func_get_autoconf_early_snippet)
19797         (func_get_autoconf_snippet, func_get_automake_snippet)
19798         (func_get_include_directive, func_get_link_directive)
19799         (func_get_license, func_get_maintainer, func_import): Avoid
19800         shell syntax errors from parsing syntax extensions.
19801
19802 2010-09-09  Bruno Haible  <bruno@clisp.org>
19803
19804         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19805         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19806         a reliable way to determine whether the 'alias' command works.
19807
19808 2010-09-08  Jim Meyering  <meyering@redhat.com>
19809
19810         init.sh: penalize a set-x-impaired shell; don't disqualify it
19811         * tests/init.sh: Too many shells corrupt application stderr when
19812         you set -x, so we can't afford to disqualify them, since at least
19813         on Irix-6.5, that would disqualify all bourne shells.
19814         Instead, use a two-pass approach.
19815         On the first pass, try to find a shell that meets the stricter
19816         condition that set -x does not corrupt stderr.
19817         If no shell meets the stricter condition, retest each candidate
19818         shell, but without that extra condition.  Finally, when
19819         VERBOSE=yes is requested and set -x might cause trouble, simply
19820         issue a warning and refrain from enabling debug output.
19821
19822 2010-09-08  Eric Blake  <eblake@redhat.com>
19823
19824         unsetenv: fix OpenBSD bug
19825         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19826         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19827         documentation.
19828         Reported by Jim Meyering.
19829
19830         strtod: work around IRIX 6.5 bug
19831         * lib/strtod.c (strtod): Reparse number on shorter string if
19832         exponent parse was invalid.
19833         * tests/test-strtod.c (main): Add check for "0x1p 2".
19834         Reported by Tom G. Christensen.
19835
19836         getopt: optimize previous patch
19837         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19838         empty variable.  Speed up awk script.
19839         Reported by Paolo Bonzini.
19840
19841 2010-09-08  Jim Meyering  <meyering@redhat.com>
19842
19843         test.sh: disqualify shells for which set -x corrupts stderr
19844         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
19845         and OpenBSD 4.7.  They make it so with "set -x", environment settings
19846         appear in stderr output.  For example, this command:
19847             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
19848         prints "P=1" on those two systems:
19849
19850 2010-09-08  Bruno Haible  <bruno@clisp.org>
19851
19852         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19853         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
19854         commands, because some shells ignore redirections when there is an
19855         error in the command lookup.
19856         Reported by Eric Blake.
19857
19858 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
19859
19860         * lib/regex.h: Fix a mention of `regex_compile' (should be
19861         `re_compile_pattern').
19862         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
19863         (re_set_registers): Correct name of parameter in comment.
19864
19865         * doc/regex.texi: Add documentation for missing syntax flags.
19866         Remove commented-out documentation of defunct syntax option
19867         RE_NO_EMPTY_ALTS.
19868         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
19869         Add documentation of re_set_registers.
19870         Document trick to re-use a pattern buffer by setting fastmap manually.
19871         Update documentation of struct re_pattern_buffer per public members.
19872         Uncomment documentation of equivalence class operators and
19873         collating symbol operators, since they are now implemented,
19874         Explain leftmost-longest matching in relation to alternatives.
19875         Tidy documentation of substring matching.
19876         Remove POSIX documentation, which is done better in
19877         glibc, and refer the reader there. Keep BSD API documentation, as
19878         that is not readily available elsewhere.
19879
19880 2010-09-07  Eric Blake  <eblake@redhat.com>
19881
19882         getopt: handle POSIXLY_CORRECT set but not exported
19883         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
19884         export state of POSIXLY_CORRECT, due to bash set -o posix.
19885         Reported by Dustin J. Mitchell.
19886
19887 2010-09-05  Bruno Haible  <bruno@clisp.org>
19888
19889         gnulib-tool: Highlight the changed options.
19890         * gnulib-tool (func_usage): Display the --import, --add-import,
19891         --remove-import explanations in bold font.
19892
19893 2010-09-06  Karl Berry  <karl@gnu.org>
19894
19895         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
19896
19897 2010-09-05  Bruno Haible  <bruno@clisp.org>
19898
19899         uniwidth/width: Update comment.
19900         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
19901         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
19902
19903 2010-09-05  Bruno Haible  <bruno@clisp.org>
19904
19905         isinf, isnan: Relax license.
19906         * modules/isinf (License): Change from GPL to LGPL, with consent from
19907         Ben Pfaff.
19908         * modules/isnan (License): Likewise.
19909         Requested by Ludovic Courtès.
19910
19911 2010-09-04  Bruno Haible  <bruno@clisp.org>
19912
19913         gnulib-tool: Help migration from --import to --add-import or --update.
19914         * gnulib-tool: Emit a verbose error message when --import is used
19915         without any module name.
19916
19917 2010-09-04  Bruno Haible  <bruno@clisp.org>
19918
19919         Update doc about gnulib-tool.
19920         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
19921         'gnulib-tool --update' in more detail.
19922         Reported by Eric Blake.
19923
19924 2010-09-04  Bruno Haible  <bruno@clisp.org>
19925
19926         gnulib-tool: Change --import. New options --add/remove-import.
19927         * gnulib-tool: New options --add-import, --remove-import.
19928         (func_usage): Document them.
19929         (have_associative): Define always.
19930         (func_import): In import mode, don't merge the specified settings with
19931         the cached settings. Implement remove-import mode.
19932         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
19933         Explain when to use them versus --import.
19934         (Simple update): Use --add-import instead of --import.
19935         * NEWS: Mention the change.
19936
19937 2010-09-04  Bruno Haible  <bruno@clisp.org>
19938
19939         * doc/gnulib-tool.texi (Initial import): Update paragraph about
19940         separate gnulib.mk.
19941
19942 2010-09-04  Bruno Haible  <bruno@clisp.org>
19943
19944         gnulib-tool: Don't talk about CVS any more.
19945         * gnulib-tool (func_usage, func_import): Write "version control"
19946         instead of CVS.
19947
19948 2010-09-04  Jim Meyering  <meyering@redhat.com>
19949
19950         maint.mk: avoid obscure sc_copyright_check failure in coreutils
19951         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
19952         false positives (whose names may be ill-chosen) when searching
19953         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
19954         would cause a false-positive.
19955
19956         avoid coreutils "make distcheck" failure
19957         Coreutils tests with an absolute build directory name that contains
19958         a space.  Not quoting this directory name caused a failure.
19959         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
19960         * tests/test-vc-list-files-cvs.sh: Likewise.
19961
19962 2010-09-04  Bruno Haible  <bruno@clisp.org>
19963
19964         gnulib-tool: Avoid error when run in a package without Makefile.am.
19965         * gnulib-tool: When collecting the m4dirs in a package that does not
19966         have a Makefile.am, eliminate those directories that contain no
19967         gnulib-cache.m4. Fix expression that counts these directories.
19968
19969 2010-09-04  Bruno Haible  <bruno@clisp.org>
19970
19971         update-copyright test: Improve output when perl is missing or too old.
19972         * tests/test-update-copyright.sh: Move test of Perl version down after
19973         the test whether Perl exists. Provide an explanation relating Perl's
19974         error message to Automake's SKIP: message.
19975
19976 2010-09-04  Bruno Haible  <bruno@clisp.org>
19977
19978         Don't augment PATH in TESTS_ENVIRONMENT.
19979         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
19980         set abs_aux_dir instead of augmenting PATH.
19981         * modules/vc-list-files-tests (Makefile.am): Likewise.
19982         * tests/test-update-copyright.sh: Augment PATH here.
19983         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
19984         path_prepend_.
19985         * tests/test-vc-list-files-git.sh: Likewise.
19986
19987 2010-09-04  Jim Meyering  <meyering@redhat.com>
19988
19989         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
19990         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
19991
19992 2010-09-04  Bruno Haible  <bruno@clisp.org>
19993
19994         strdup: Fix compilation error in C++ mode.
19995         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
19996         the macro.
19997
19998 2010-09-04  Bruno Haible  <bruno@clisp.org>
19999
20000         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
20001         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
20002         macro into a function.
20003         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20004
20005 2010-09-04  Bruno Haible  <bruno@clisp.org>
20006
20007         Set PATH_SEPARATOR the same way autoconf does.
20008         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
20009         the value of PATH_SEPARATOR the same way autoconf-generated configure
20010         scripts do.
20011         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
20012         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20013
20014 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20015
20016         Set PATH_SEPARATOR the same way autoconf does.
20017         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
20018         the same way autoconf-generated configure scripts do.
20019         * posix-modules: Likewise.
20020
20021 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20022
20023         hash: fix safe_hasher const typo
20024         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
20025         const; otherwise, there is a type error later.
20026
20027 2010-09-02  Jim Meyering  <meyering@redhat.com>
20028
20029         test-update-copyright.sh: require perl 5.8.0
20030         * tests/test-update-copyright.sh: Require 5.8.0,
20031         which Tom G. Christensen has confirmed is adequate,
20032         while 5.6.1 is not.
20033
20034 2010-09-02  Eric Blake  <eblake@redhat.com>
20035
20036         tests: init.sh improvements for re-exec'ing with zsh
20037         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
20038         -vx through shell re-exec.
20039         Reported by Tom G. Christensen.
20040
20041         wctype: fix typo in previous commit
20042         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
20043         Reported by Ludovic Courtès.
20044
20045 2010-09-02  Jim Meyering  <meyering@redhat.com>
20046
20047         test-update-copyright.sh: skip test if Perl is too old
20048         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
20049         Reported by Tom G. Christensen.
20050
20051 2010-09-02  Bruno Haible  <bruno@clisp.org>
20052
20053         wctype: Avoid compilation error on IRIX 6.5.30.
20054         * lib/wctype.in.h (iswblank): Declare with a replacement if
20055         REPLACE_ISWBLANK is set.
20056         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
20057         declared. Set REPLACE_ISWBLANK.
20058         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
20059         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
20060         * doc/posix-headers/wctype.texi: Likewise.
20061         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20062
20063 2010-09-01  Bruno Haible  <bruno@clisp.org>
20064
20065         New module 'socketlib'.
20066         * modules/socketlib: New file.
20067         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
20068         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
20069         * modules/sockets (Depends-on): Add socketlib.
20070         Suggested by Sam Steingold <sds@gnu.org>.
20071
20072 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20073
20074         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
20075
20076         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
20077         when one needs search access to a directory but not read access.
20078         On systems where it is available, it works in some cases where
20079         O_RDONLY does not, namely on directories that are searchable but
20080         not readable, and which need only to be searchable.  If O_SEARCH
20081         is not available, fall back to the traditional method of using
20082         O_RDONLY.
20083
20084         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
20085         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
20086         when opening a directory that needs only to be searchable.
20087         * lib/chdir-safer.c (chdir_no_follow): Likewise.
20088         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
20089         * lib/openat-proc.c (openat_proc_name): Likewise.
20090         * lib/openat.c (openat_needs_fchdir): Likewise.
20091         * lib/save-cwd.c (save_cwd): Likewise.
20092         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
20093
20094 2010-08-28  Bruno Haible  <bruno@clisp.org>
20095
20096         New module 'host-cpu-c-abi'.
20097         * modules/host-cpu-c-abi: New file.
20098         * m4/host-cpu-c-abi.m4: New file, based on part of
20099         clisp/src/m4/general.m4.
20100         Requested by Sam Steingold <sds@gnu.org>.
20101
20102 2010-08-31  Eric Blake  <eblake@redhat.com>
20103         and Jim Meyering  <meyering@redhat.com>
20104
20105         hash: factor, and guard against misbehaving hasher function
20106         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
20107         of table->hasher's return value.  Also protect against a hash value
20108         so large that adding it to table->bucket results in a NULL pointer.
20109         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
20110         Use it in place of open-coded check-and-abort.
20111
20112 2010-08-30  Bruno Haible  <bruno@clisp.org>
20113
20114         hash: silence spurious clang warning
20115         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
20116         Reported by Eric Blake.
20117
20118 2010-08-30  Eric Blake  <eblake@redhat.com>
20119
20120         strstr, memmem, strcasestr: avoid leaked shell message
20121         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
20122         FreeBSD.
20123         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20124         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20125
20126         tests: silence clang warning
20127         * tests/test-malloca.c (do_allocation): Avoid dead store.
20128
20129 2010-08-29  Bruno Haible  <bruno@clisp.org>
20130
20131         gettext: Fix recent mistake.
20132         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
20133
20134 2010-08-29  Bruno Haible  <bruno@clisp.org>
20135
20136         selinux-h: Offer a --without-selinux option.
20137         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
20138         --without-selinux was specified, skip all tests and define
20139         HAVE_SELINUX_SELINUX_H to 0.
20140         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
20141         set LIB_SELINUX to empty.
20142         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
20143         gl_LIBSELINUX. If --without-selinux was specified, replace
20144         selinux/context.h.
20145         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
20146
20147 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20148             Bruno Haible  <bruno@clisp.org>
20149
20150         Make the module 'realloc-gnu' work again on AIX and OSF/1.
20151         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
20152         of HAVE_REALLOC.
20153         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
20154         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
20155         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
20156         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20157
20158 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20159             Bruno Haible  <bruno@clisp.org>
20160
20161         Make the module 'calloc-gnu' work again on AIX and OSF/1.
20162         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
20163         HAVE_CALLOC.
20164         * lib/xmalloc.c: Update accordingly.
20165         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
20166         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
20167         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
20168
20169 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20170             Bruno Haible  <bruno@clisp.org>
20171
20172         Make the module 'malloc-gnu' work again on AIX and OSF/1.
20173         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
20174         HAVE_MALLOC.
20175         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
20176         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20177         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20178
20179 2010-08-29  Bruno Haible  <bruno@clisp.org>
20180
20181         Update modules list.
20182         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20183         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
20184         (String handling <string.h>): Add astrxfrm.
20185         (File system functions): Add readlinkat.
20186
20187 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20188
20189         Tests for module 'realloc-gnu'.
20190         * modules/realloc-gnu-tests: New file.
20191         * tests/test-realloc-gnu.c: New file.
20192
20193         Tests for module 'calloc-gnu'.
20194         * modules/calloc-gnu-tests: New file.
20195         * tests/test-calloc-gnu.c: New file.
20196
20197         Tests for module 'malloc-gnu'.
20198         * modules/malloc-gnu-tests: New file.
20199         * tests/test-malloc-gnu.c: New file.
20200
20201 2010-08-28  Bruno Haible  <bruno@clisp.org>
20202
20203         Rename module 'realloc' -> 'realloc-gnu'.
20204         * modules/realloc-gnu: New file, copied from modules/realloc.
20205         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
20206         obsolete.
20207         * modules/mgetgroups (Depends-on): Update.
20208         * doc/posix-functions/realloc.texi: Update.
20209         * NEWS: Mention the change.
20210
20211         Rename module 'calloc' -> 'calloc-gnu'.
20212         * modules/calloc-gnu: New file, copied from modules/calloc.
20213         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
20214         obsolete.
20215         * doc/posix-functions/calloc.texi: Update.
20216         * NEWS: Mention the change.
20217
20218         Rename module 'malloc' -> 'malloc-gnu'.
20219         * modules/malloc-gnu: New file, copied from modules/malloc.
20220         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
20221         obsolete.
20222         * modules/argp (Depends-on): Update.
20223         * modules/regex (Depends-on): Update.
20224         * doc/posix-functions/malloc.texi: Update.
20225         * NEWS: Mention the change.
20226
20227 2010-08-28  Eric Blake  <eblake@redhat.com>
20228
20229         pread, pwrite: add missing dependency
20230         * modules/pread (Depends-on): Add extensions.
20231         * modules/pwrite (Depends-on): Likewise.
20232
20233 2010-08-28  Bruno Haible  <bruno@clisp.org>
20234
20235         unistr/u*-strchr: Fix tests dependencies.
20236         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
20237         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
20238         Reported by Ian Beckwith <ianb@erislabs.net>.
20239
20240 2010-08-28  Bruno Haible  <bruno@clisp.org>
20241
20242         read-file: Don't occupy too much unused memory.
20243         * lib/read-file.c (fread_file): Shrink the buffer at the end.
20244
20245 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
20246             Eric Blake  <eblake@redhat.com>
20247             Bruno Haible  <bruno@clisp.org>
20248
20249         read-file: Avoid memory reallocations with regular files.
20250         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
20251         (fread_file): With regular files, use the remaining length as the
20252         initial buffer size.  Check against overflow.
20253         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
20254         sys_stat.
20255
20256 2010-08-28  Bruno Haible  <bruno@clisp.org>
20257
20258         ftello: Relax license.
20259         * modules/ftello (License): Relax to LGPLv2+.
20260         Reported by Eric Blake.
20261
20262 2010-08-28  Bruno Haible  <bruno@clisp.org>
20263
20264         Avoid relocwrapper link errors due to gnulib replacement functions.
20265         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
20266         function.
20267         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20268
20269 2010-08-28  Bruno Haible  <bruno@clisp.org>
20270
20271         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
20272         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
20273         defined.
20274         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
20275         Suggested by Eric Blake.
20276
20277 2010-08-28  Bruno Haible  <bruno@clisp.org>
20278
20279         sys_socket, netdb: Ensure socklen_t gets defined.
20280         * modules/sys_socket (Depends-on): Add socklen.
20281         * modules/netdb (Depends-on): Likewise.
20282         * modules/getaddrinfo (Depends-on): Remove socklen.
20283         * modules/getsockopt (Depends-on): Likewise.
20284         * modules/setsockopt (Depends-on): Likewise.
20285         * tests/test-sys_socket.c: Check that socklen_t is defined.
20286         * tests/test-netdb.c: Likewise.
20287         * m4/socklen.m4: Update comments.
20288         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20289
20290 2010-08-27  Eric Blake  <eblake@redhat.com>
20291
20292         login_tty: add missing dependency
20293         * modules/login_tty (Depends-on): Add pty.
20294
20295 2010-08-26  Eric Blake  <eblake@redhat.com>
20296
20297         lib-symbol-versions: fix m4 quoting
20298         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
20299         format for AC_LINK_IFELSE.
20300
20301         glob: fix compile test
20302         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
20303
20304         btowc: fix missing file
20305         * modules/btowc (Files): Also ship locale-fr.m4.
20306
20307         lseek: fix link test
20308         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
20309         AC_LINK_IFELSE.
20310
20311         include_next: silence autoconf 2.68 warning
20312         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
20313         AC_COMPILE_IFELSE as special.
20314         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
20315         autoconf < 2.68.
20316
20317         acl: fix compilation test
20318         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
20319         AC_COMPILE_IFELSE.
20320
20321 2010-08-26  Bruno Haible  <bruno@clisp.org>
20322
20323         Modernize AC_TRY_RUN invocations.
20324         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
20325         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20326         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
20327         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
20328         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
20329         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20330         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20331         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20332         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20333         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20334         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20335         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20336         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20337         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20338         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20339         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20340         gl_MBRLEN_NUL_RETVAL): Likewise.
20341         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20342         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20343         Likewise.
20344         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20345         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20346         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20347         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20348         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
20349         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
20350         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
20351         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
20352         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
20353         Likewise.
20354         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20355         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
20356         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20357         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20358         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20359         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20360         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20361         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
20362         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20363         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20364
20365 2010-08-26  Bruno Haible  <bruno@clisp.org>
20366
20367         Modernize AC_TRY_LINK invocations.
20368         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
20369         AC_TRY_LINK.
20370         * m4/argp.m4 (gl_ARGP): Likewise.
20371         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
20372         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20373         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20374         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20375         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20376         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
20377         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
20378         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20379         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20380         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20381         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20382         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
20383         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
20384         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20385         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20386         * m4/hostent.m4 (gl_HOSTENT): Likewise.
20387         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20388         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
20389         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20390         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
20391         Likewise.
20392         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
20393         Likewise.
20394         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
20395         Likewise.
20396         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20397         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
20398         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
20399         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
20400         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
20401         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20402         * m4/servent.m4 (gl_SERVENT): Likewise.
20403         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20404         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
20405         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
20406         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
20407         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20408         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20409         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20410         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20411         * modules/tsearch-tests (configure.ac): Likewise.
20412
20413 2010-08-26  Bruno Haible  <bruno@clisp.org>
20414
20415         Modernize AC_TRY_COMPILE invocations.
20416         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
20417         AC_TRY_COMPILE.
20418         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
20419         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
20420         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20421         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
20422         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20423         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20424         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20425         * m4/lock.m4 (gl_LOCK): Likewise.
20426         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20427         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20428         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
20429         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20430         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20431         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20432         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20433         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20434         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20435         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20436         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20437         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20438         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20439         extraneous semicolon.
20440
20441 2010-08-26  Jim Meyering  <meyering@redhat.com>
20442
20443         stat-time: relax license LGPL
20444         * modules/stat-time (License): Change from GPL to LGPL,
20445         with consent from all contributors, for use in libguile.
20446         Requested by Ludovic Courtès.
20447
20448 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20449
20450         poll: return immediately on POLLHUP.
20451         * lib/poll.c (poll): Always set timeout before wait_timeout is
20452         computed.
20453
20454 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20455
20456         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20457         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20458         rmdir ("dir/.//"), unlinkat.
20459
20460 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20461
20462         stdbool: avoid spurious failure with modern xlc
20463         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20464
20465 2010-08-24  Bruno Haible  <bruno@clisp.org>
20466
20467         getloadavg: simplify code
20468         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20469         gl_have_func. Update comments.
20470
20471 2010-08-24  Eric Blake  <eblake@redhat.com>
20472
20473         getloadavg: don't define SVR4 on cygwin
20474         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20475         only define SVR4 when -lkvm is required.
20476         Reported by Yaakov Selkowitz.
20477
20478 2010-08-24  Bruno Haible  <bruno@clisp.org>
20479
20480         priv-set: fix comment
20481         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20482
20483 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20484
20485         priv-set: fix comments
20486         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20487         to match code, as suggested by David Bartley in:
20488         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20489
20490 2010-08-23  Eric Blake  <eblake@redhat.com>
20491
20492         stdbool: avoid rejecting clang
20493         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20494         * tests/test-stdbool.c: Enable more tests if using the system
20495         <stdbool.h> instead of the gnulib replacement.
20496         (main): Move xlc bug test to a runtime test for all compilers.
20497         Reported by Anders Kaseorg.
20498
20499         argz: fix shell quoting issue
20500         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20501         Reported by Charles Wilson.
20502
20503 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20504             Erik Faye-Lund <kusmabite@gmail.com>
20505
20506         poll, select: handle ERROR_BROKEN_PIPE.
20507         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20508         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20509         * lib/select.c (win32_compute_revents): Do not mark a pipe
20510         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20511
20512 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20513
20514         fts: allow compilation with C++
20515         * lib/fts_.h: Specify extern "C" linkage with C++.
20516
20517 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20518
20519         Fix gnulib-tool sed script de-commentation for AIX sed.
20520         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20521         sed.
20522
20523 2010-08-17  Eric Blake  <eblake@redhat.com>
20524
20525         test-stddef: test for (some) offsetof bugs
20526         * tests/test-stddef.c: Enhance test to ensure correct type of
20527         offsetof.
20528         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20529         that we are not fixing at this time.
20530
20531 2010-08-15  Bruno Haible  <bruno@clisp.org>
20532
20533         stpncpy: Allow stpncpy to be defined as a macro.
20534         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20535         if it's already correctly declared.
20536         * lib/string.in.h (stpncpy): Undefine before redefining.
20537         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20538
20539 2010-08-14  Bruno Haible  <bruno@clisp.org>
20540
20541         Rename module 'memxfrm' to 'amemxfrm'.
20542         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20543         (amemxfrm): Renamed from memxfrm.
20544         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20545         (amemxfrm): Renamed from memxfrm.
20546         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20547         * NEWS: Mention the change.
20548         * MODULES.html.sh (String handling <string.h>): Update.
20549         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20550         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20551         * lib/unicase/u16-casexfrm.c: Likewise.
20552         * lib/unicase/u32-casexfrm.c: Likewise.
20553         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20554         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20555         * lib/uninorm/u16-normxfrm.c: Likewise.
20556         * lib/uninorm/u32-normxfrm.c: Likewise.
20557         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20558         memxfrm.
20559         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20560         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20561         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20562         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20563         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20564         Suggested by Paul Eggert.
20565
20566 2010-08-14  Bruno Haible  <bruno@clisp.org>
20567
20568         Tests for module 'astrxfrm'.
20569         * modules/astrxfrm-tests: New file.
20570         * tests/test-astrxfrm.c: New file.
20571
20572         New module 'astrxfrm'.
20573         * lib/astrxfrm.h: New file.
20574         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20575         * modules/astrxfrm: New file.
20576
20577 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20578
20579         regex: Tweak doc.
20580         * doc/regex.texi (Overview): Don't mention regex.c.
20581         (GNU Regular Expression Compiling): Likewise.
20582         (Match-end-of-line Operator): Mention 'not_eol'.
20583
20584 2010-08-14  Brian Gough  <bjg@gnu.org>
20585             Bruno Haible  <bruno@clisp.org>
20586
20587         git-merge-changelog: add doc relating to use with bzr and hg.
20588         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20589
20590 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20591
20592         pthread: fix pthread.h creation for srcdir != builddir
20593         * modules/pthread (Makefile.am): Fix the rule to work also in a
20594         non-srcdir build.
20595
20596 2010-08-13  Karl Berry  <karl@gnu.org>
20597
20598         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20599         * doc/posix-*/*: force line break before @url of POSIX
20600         specifications.
20601         Suggested by Werner Lemberg.
20602
20603 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20604
20605         strtod: fix const diagnostic
20606         * lib/strtod.c (strtod): Don't assign const char * to char *,
20607         as this elicits a warning from GCC when warnings are enabled.
20608
20609 2010-08-10  Pádraig Brady <P@draigbrady.com>
20610         and Eric Blake  <eblake@redhat.com>
20611
20612         copy-acl: ignore ENOTSUP on HP-UX
20613         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20614         so that it is available for HP-UX.
20615         * lib/copy-acl.c (qcopy_acl): Use it.
20616         Reported by Patrick M. Callahan.
20617
20618 2010-08-10  Eric Blake  <eblake@redhat.com>
20619
20620         open, chown: relax license
20621         * modules/open (License): Change to LGPLv2+, with consent by all
20622         authors, for use in augeas.
20623         * modules/chown (License): Likewise.
20624         * modules/lchown (Likewise): Likewise.
20625         Requested by Adam Stokes.
20626
20627 2010-08-09  Karl Berry  <karl@gnu.org>
20628
20629         * build-aux/ar-lib: new file, import from Automake.
20630         * config/srclist.txt: autocheck for updates.
20631
20632 2010-08-09  Eric Blake  <eblake@redhat.com>
20633
20634         readlinkat: adjust client modules
20635         * modules/areadlinkat (Depends-on): Use readlinkat, not
20636         symlinkat.
20637         * modules/areadlinkat-with-size (Depends-on): Likewise.
20638
20639         mknod: be more vocal about danger of running tests as root
20640         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20641         root, since that is just asking for problems.
20642         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20643
20644         readlinkat: split into its own module
20645         * modules/symlinkat: Split readlinkat...
20646         * modules/readlinkat: ...into separate module.
20647         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20648         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20649         * lib/symlinkat.c (readlinkat): Move...
20650         * lib/readlinkat.c: ...into new file.
20651         * modules/symlinkat-tests: Split readlinkat test...
20652         * modules/readlinkat-tests: ...into separate module.
20653         * tests/test-symlinkat.c: Split...
20654         * tests/test-readlinkat.c: ...into new file.
20655         * NEWS: Document the split.
20656         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20657         * lib/unistd.in.h (readlinkat): Likewise.
20658         Suggested by Bruno Haible.
20659
20660 2010-08-08  Bruno Haible  <bruno@clisp.org>
20661
20662         memxfrm: Speed up.
20663         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20664         that usually only one call to strxfrm is necessary for each string
20665         part.
20666         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20667
20668 2010-08-07  Karl Berry  <karl@gnu.org>
20669
20670         * doc/posix-headers/limits.texi,
20671         * doc/posix-functions/malloc.texi,
20672         * doc/posix-functions/strsignal.texi: missing @item.
20673         * doc/ld-version-script.texi: spurious leading i.
20674         * doc/regex.texi (Interval Operators): no commas inside @var.
20675
20676 2010-08-01  Bruno Haible  <bruno@clisp.org>
20677
20678         Integrate the regex documentation.
20679         * doc/gnulib.texi: Define 'cn' index.
20680         (Regular expressions): New a chapter that includes regex.texi and
20681         regexprops-generic.texi.
20682         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20683         syntax.
20684
20685         Whitespace cleanup.
20686         * doc/regex.texi: Remove trailing spaces.
20687
20688         Add regex documentation.
20689         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20690         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20691         Written by Kathy A. Hargreaves and Karl Berry.
20692
20693 2010-08-01  Bruno Haible  <bruno@clisp.org>
20694
20695         link: Update documentation.
20696         * doc/posix-functions/link.texi: Update regarding Solaris.
20697
20698 2010-07-31  Bruno Haible  <bruno@clisp.org>
20699
20700         Update modules list.
20701         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20702         (String handling <string.h>): Add memcmp2, memxfrm.
20703         (Container data structures): Add xlist, xsublist, xoset.
20704         (Core language properties): Add alignof, unused-parameter.
20705         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20706         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20707         (Unibyte characters <ctype.h>): New section.
20708         (String handling <string.h>): New section.
20709         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20710         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20711         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20712         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20713         tan, tanh, tanl, y0, y1, yn.
20714         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20715         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20716         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20717         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20718         unlockpt, vdprintf, vdprintf-posix.
20719         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20720         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20721         xconcat-filename.
20722         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20723         getdtablesize, pipe2, pipe2-safer.
20724         (Security): New section.
20725         (Networking functions): Add accept4.
20726         (Signal handling): Add sigpipe.
20727         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20728         mbmemcasecoll.
20729         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20730         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20731         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20732         pipe-filter-ii.
20733         (Misc): Add argp-version-etc, login_tty, parse-duration.
20734
20735 2010-07-31  Bruno Haible  <bruno@clisp.org>
20736
20737         Improve doc in MODULES.html.
20738         * modules/linkat (Description): Add the word "function".
20739         * modules/mkfifo (Description): Likewise.
20740         * modules/mknod (Description): Likewise.
20741         * modules/remove (Description): Likewise.
20742         * modules/renameat (Description): Likewise.
20743         * modules/stat (Description): Likewise.
20744         * modules/symlink (Description): Likewise.
20745         * modules/unlink (Description): Likewise.
20746
20747 2010-07-31  Bruno Haible  <bruno@clisp.org>
20748
20749         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20750         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20751         option --enable/disable-c++ instead of --enable/disable-cxx.
20752         * NEWS: Mention the change.
20753
20754 2010-07-31  Bruno Haible  <bruno@clisp.org>
20755
20756         readlink, areadlink: Relax test a bit.
20757         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20758         alternative to ENOTDIR.
20759         * tests/test-areadlink.h (test_areadlink): Likewise.
20760         Reported by Rainer Tammer.
20761
20762 2010-07-31  Bruno Haible  <bruno@clisp.org>
20763
20764         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20765         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20766         character, perform the search using U_STRCHR.
20767         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20768         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20769         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20770         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20771         Suggested by Paolo Bonzini.
20772
20773 2010-07-31  Bruno Haible  <bruno@clisp.org>
20774
20775         unistr/u*-strstr: Fix dependencies.
20776         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20777         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20778         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20779
20780 2010-07-31  Bruno Haible  <bruno@clisp.org>
20781
20782         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20783         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20784         the beginning of the loop.
20785         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20786         cases in 'switch' statement.
20787
20788         unistr/u8-strchr: Fix several bugs.
20789         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20790         the string. When not found, return NULL, not a pointer near the end.
20791
20792         More tests for unistr/u8-strchr.
20793         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20794         that the function does not read past the first occurrence of the byte
20795         being searched.
20796         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20797         * tests/unistr/test-u16-strchr.c (main): New function.
20798         * tests/unistr/test-u32-strchr.c (main): New function.
20799
20800 2010-07-31  Bruno Haible  <bruno@clisp.org>
20801
20802         posix-modules: Ignore backup files of documentation files.
20803         * posix-modules: grep only through files named *.texi.
20804
20805 2010-07-31  Bruno Haible  <bruno@clisp.org>
20806
20807         symlinkat: Fix documentation.
20808         * doc/posix-functions/readlinkat.texi: Fix module name.
20809
20810 2010-07-31  Bruno Haible  <bruno@clisp.org>
20811
20812         fchownat: Replace also when chown has the trailing slash bug.
20813         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20814         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20815         introduced on 2010-04-10.
20816         Reported by Rainer Tammer.
20817
20818 2010-07-31  Bruno Haible  <bruno@clisp.org>
20819
20820         linkat: Work around AIX 7.1 bug.
20821         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20822         whether linkat handles trailing slash correctly. If not, replace linkat
20823         and define LINKAT_TRAILING_SLASH_BUG.
20824         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20825         check whether (fd1,file1) points to a directory if file1 or file2 ends
20826         in a slash. Code taken from lib/link.c.
20827         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20828         Reported by Rainer Tammer.
20829
20830 2010-07-31  Bruno Haible  <bruno@clisp.org>
20831
20832         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20833         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20834         This disables an xlc optimization that was causing wrong test results.
20835         Reported by Rainer Tammer.
20836
20837 2010-07-31  Bruno Haible  <bruno@clisp.org>
20838
20839         iconv: Work around AIX 6.1..7.1 bug.
20840         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20841         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
20842         cross-compiling, guess no on all versions of AIX.
20843         Reported by Rainer Tammer.
20844
20845 2010-07-31  Bruno Haible  <bruno@clisp.org>
20846
20847         readlink: Relax test a bit.
20848         * tests/test-readlink.h (test_readlink): Allow different errno value
20849         when readlink is called with a file name that ends in / and refers to
20850         a file.
20851         Suggested by Eric Blake.
20852         Reported by Rainer Tammer.
20853
20854 2010-07-31  Bruno Haible  <bruno@clisp.org>
20855
20856         copysign: Does not require -lm on glibc systems.
20857         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
20858         gl_COMMON_DOUBLE_MATHFUNC.
20859         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
20860
20861 2010-07-31  Bruno Haible  <bruno@clisp.org>
20862
20863         duplocale: Work around AIX 7.1 bug.
20864         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
20865         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
20866         * lib/duplocale.c (rpl_duplocale): Update comment.
20867         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
20868         Reported by Rainer Tammer.
20869
20870 2010-07-30  Bruno Haible  <bruno@clisp.org>
20871
20872         dirfd: Avoid link error on AIX 7.1.
20873         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
20874         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
20875         exist, set REPLACE_DIRFD.
20876         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
20877         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
20878         * doc/posix-functions/dirfd.texi: Update.
20879         Reported by Rainer Tammer.
20880
20881 2010-07-30  Eric Blake  <eblake@redhat.com>
20882
20883         strtod: next round of AIX fixes
20884         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
20885         exponent.
20886         * tests/test-strtod.c (main): Enhance tests.
20887         * doc/posix-functions/strtod.texi (strtod): Document next bug.
20888         Reported by Rainer Tammer.
20889
20890         futimens: fix configure check
20891         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
20892         Reported by Bruno Haible.
20893
20894 2010-07-30  Bruno Haible  <bruno@clisp.org>
20895
20896         getline: Update regarding AIX.
20897         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
20898         Reported by Rainer Tammer.
20899
20900 2010-07-30  Bruno Haible  <bruno@clisp.org>
20901
20902         wcwidth: Drop replacement on AIX 7.
20903         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
20904         AIX 7.
20905         Reported by Rainer Tammer.
20906
20907 2010-07-30  Bruno Haible  <bruno@clisp.org>
20908
20909         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
20910         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
20911         a 'char *'.
20912         Reported by Rainer Tammer.
20913
20914 2010-07-30  Bruno Haible  <bruno@clisp.org>
20915
20916         unlink: Update regarding AIX.
20917         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
20918         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
20919         Reported by Rainer Tammer.
20920
20921 2010-07-30  Bruno Haible  <bruno@clisp.org>
20922
20923         symlink: Update regarding AIX.
20924         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
20925         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
20926         Reported by Rainer Tammer.
20927
20928 2010-07-30  Bruno Haible  <bruno@clisp.org>
20929
20930         strndup: Update regarding AIX.
20931         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
20932         AIX 7.
20933         Reported by Rainer Tammer.
20934
20935 2010-07-30  Bruno Haible  <bruno@clisp.org>
20936
20937         stat: Update regarding AIX.
20938         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
20939         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
20940         Reported by Rainer Tammer.
20941
20942 2010-07-30  Bruno Haible  <bruno@clisp.org>
20943
20944         truncl: Fix autoconf test.
20945         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
20946         whether truncl works.
20947         Reported by Rainer Tammer.
20948
20949 2010-07-30  Bruno Haible  <bruno@clisp.org>
20950
20951         round: Update regarding AIX.
20952         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
20953         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
20954         Reported by Rainer Tammer.
20955
20956 2010-07-30  Bruno Haible  <bruno@clisp.org>
20957
20958         rename: Update regarding AIX.
20959         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
20960         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
20961         Reported by Rainer Tammer.
20962
20963 2010-07-30  Bruno Haible  <bruno@clisp.org>
20964
20965         printf.m4: Update regarding AIX.
20966         * m4/printf.m4: Update comments regarding AIX.
20967         Reported by Rainer Tammer.
20968
20969 2010-07-30  Bruno Haible  <bruno@clisp.org>
20970
20971         iconv: Update regarding AIX.
20972         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
20973         AIX 7.
20974         Reported by Rainer Tammer.
20975
20976 2010-07-30  Bruno Haible  <bruno@clisp.org>
20977
20978         getopt: Update regarding AIX.
20979         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
20980         no on AIX.
20981         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
20982         Reported by Rainer Tammer.
20983
20984 2010-07-30  Bruno Haible  <bruno@clisp.org>
20985
20986         ldexpl; Update regarding AIX.
20987         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
20988         on AIX 7.
20989         Reported by Rainer Tammer.
20990
20991 2010-07-30  Bruno Haible  <bruno@clisp.org>
20992
20993         frexpl: Update regarding AIX.
20994         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
20995         on AIX 7.
20996         Reported by Rainer Tammer.
20997
20998 2010-07-30  Bruno Haible  <bruno@clisp.org>
20999
21000         open, fopen: Update regarding AIX.
21001         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
21002         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
21003         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
21004         * doc/posix-functions/fopen.texi: Likewise.
21005         Reported by Rainer Tammer.
21006
21007 2010-07-30  Bruno Haible  <bruno@clisp.org>
21008
21009         chown: Update doc regarding AIX.
21010         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
21011         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
21012         Reported by Rainer Tammer.
21013
21014 2010-07-30  Eric Blake  <eblake@redhat.com>
21015
21016         strtod: fix bug in replacement function on AIX
21017         * lib/strtod.c (strtod): Special case broken "0x" parse in
21018         underlying strtod.
21019         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
21020         * doc/posix-functions/strtod.texi (strtod): Likewise.
21021         Reported by Rainer Tammer.
21022
21023 2010-07-30  Bruno Haible  <bruno@clisp.org>
21024
21025         mbrlen: Fix cross-compilation guess for AIX.
21026         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
21027         guess. Leftover from 2008-12-22.
21028
21029 2010-07-30  Bruno Haible  <bruno@clisp.org>
21030
21031         mbrtowc: Fix cross-compilation guess for AIX.
21032         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
21033         guess. Leftover from 2008-12-21.
21034
21035 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
21036
21037         init.sh: work around trap limitation of some shells
21038         * tests/init.sh (setup_): Move exit trap outside of shell function.
21039
21040 2010-07-29  Eric Blake  <eblake@redhat.com>
21041
21042         strtod: aid debugging
21043         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
21044         understanding why strtod is rejected.
21045
21046 2010-07-28  Bruno Haible  <bruno@clisp.org>
21047
21048         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
21049         * lib/unistr/u8-chr.c: Include <string.h>.
21050         * tests/unistr/test-u8-chr.c: Likewise.
21051         * tests/unistr/test-u16-chr.c: Likewise.
21052         * tests/unistr/test-u32-chr.c: Likewise.
21053         * tests/unistr/test-u8-strchr.c: Likewise.
21054         * tests/unistr/test-u16-strchr.c: Likewise.
21055         * tests/unistr/test-u32-strchr.c: Likewise.
21056         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
21057         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
21058         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
21059         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
21060
21061 2010-07-28  Bruno Haible  <bruno@clisp.org>
21062
21063         Use spaces for indentation, not tabs.
21064         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21065
21066 2010-07-27  Bruno Haible  <bruno@clisp.org>
21067
21068         mbspcasecmp: Fix function specification.
21069         * lib/string.in.h (mbspcasecmp): Fix specification comment.
21070         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
21071         Reported by Eric Blake <eblake@redhat.com>.
21072
21073 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
21074
21075         timespec: use cast and not conditional, as truncation isn't possible
21076         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
21077         instead of a conditional.  Comment about the situation in more detail.
21078         This undoes most of the 2009-10-29 patch.
21079
21080 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
21081
21082         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
21083         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
21084         * lib/unistr/u8-strchr.c: Likewise.
21085         * modules/unistr/u8-chr: Depend on memchr.
21086
21087         unistr/u*-strchr: add tests
21088         * modules/unistr/u8-strchr-tests: New file.
21089         * modules/unistr/u16-strchr-tests: New file.
21090         * modules/unistr/u32-strchr-tests: New file.
21091         * tests/unistr/test-strchr.h: New file.
21092         * tests/unistr/test-u8-strchr.c: New file.
21093         * tests/unistr/test-u16-strchr.c: New file.
21094         * tests/unistr/test-u32-strchr.c: New file.
21095
21096         unistr/u*-chr: test multibyte sequences more
21097         * tests/unistr/test-chr.h: Do complete testing of the characters in the
21098         test vector.
21099         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
21100         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
21101         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
21102
21103         unistr/u*-chr: test multibyte sequences
21104         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
21105
21106         unistr/u*-chr: prepare for multibyte tests
21107         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
21108         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
21109         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
21110         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
21111         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
21112         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
21113
21114 2010-07-18  Bruno Haible  <bruno@clisp.org>
21115
21116         unistr/u8-strchr: Optimize non-ASCII argument case.
21117         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
21118         because the first byte often matches anyway.
21119         Reported by Pádraig Brady <P@draigbrady.com>.
21120
21121 2010-07-15  Karl Berry  <karl@gnu.org>
21122
21123         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
21124
21125 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
21126
21127         getcwd: on Solaris, work better if ancestors are inaccessible
21128         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
21129         buffer and size, try again with a large buffer.  This works better
21130         on Solaris, since its getcwd succeeds even if the path to the root
21131         is inaccessible, and this is helpful in common cases such as .zfs
21132         hidden directories.  Problem reported by J Chapman Flack in
21133         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
21134         Use system getcwd if it's declared, not merely if it's partly
21135         working; use the partly-working test only to avoid needless effort
21136         if the system getcwd fails.
21137         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
21138         comment that was already obsolete and is now even more obsolete.
21139         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
21140         now might call strdup.
21141
21142 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
21143
21144         pthread: Add enough so that coreutils/src/sort.c compiles.
21145         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
21146         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
21147         gnulib. Include <sched.h> and <time.h>, as per POSIX.
21148         Include <sys/types.h>, in case it defines pthread_t.
21149         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
21150         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
21151         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
21152         (pthread_rwlockattr_t, pthread_spinlock_t):
21153         New typedefs, if HAVE_PTHREAD_T is not defined.
21154         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
21155         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
21156         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
21157         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
21158         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
21159         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
21160         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
21161         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
21162         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
21163         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
21164         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
21165         New macros.
21166         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
21167         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
21168         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
21169         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
21170         (pthread_spin_unlock): New dummy functions.
21171         (pthread_create): Return EAGAIN; don't set errno.
21172         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
21173         require AC_C_INLINE.
21174         * modules/pthread (Depends-on): Add sched, time.
21175         (pthread.h): Use AM_V_GEN.
21176
21177 2010-07-13  Bruno Haible  <bruno@clisp.org>
21178
21179         striconveh: Don't malloc memory if the result buffer is sufficient.
21180         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
21181         buffer if its size is sufficient.
21182         Reported by Ludovic Courtès <ludo@gnu.org>.
21183
21184 2010-07-13  Bruno Haible  <bruno@clisp.org>
21185
21186         strtod: Add safety check.
21187         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
21188
21189 2010-07-12  Bruno Haible  <bruno@clisp.org>
21190
21191         Unify tests that set gl_cv_func_ldexpl_no_libm.
21192         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
21193         gl_FUNC_LDEXPL.
21194         (gl_FUNC_LDEXPL): Invoke it.
21195         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21196
21197 2010-07-12  Bruno Haible  <bruno@clisp.org>
21198
21199         Unify tests that set gl_cv_func_ldexp_no_libm.
21200         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
21201         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
21202         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
21203         (configure.ac): Simply invoke gl_FUNC_LDEXP.
21204         * modules/strtod (Files): Add m4/ldexp.m4.
21205
21206 2010-07-12  Bruno Haible  <bruno@clisp.org>
21207
21208         Unify tests that set gl_cv_func_frexpl_no_libm.
21209         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
21210         gl_FUNC_FREXPL_NO_LIBM.
21211         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
21212         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21213
21214 2010-07-12  Bruno Haible  <bruno@clisp.org>
21215
21216         Unify tests that set gl_cv_func_frexp_no_libm.
21217         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
21218         gl_FUNC_FREXP_NO_LIBM.
21219         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
21220         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21221
21222 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21223
21224         memcoll: clarify sizes versus lengths, document better, and tweak perf
21225         * lib/memcoll.c (strcoll_loop, memcoll0):
21226         Improve quality of descriptive comments.  Name variables
21227         consistently as to whether they are lengths (which do not include
21228         terminating null) versus sizes (which do).
21229         * lib/xmemcoll.c (xmemcoll0): Likewise.
21230         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
21231         returned when s1size == 0; this is easier to compile and saves
21232         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
21233
21234 2010-07-12  Bruno Haible  <bruno@clisp.org>
21235
21236         Tests for module '_Exit'.
21237         * modules/_Exit-tests: New file.
21238         * tests/test-_Exit.sh: New file.
21239         * tests/test-_Exit.c: New file.
21240
21241         New module '_Exit'.
21242         * lib/stdlib.in.h (__attribute__): New macro.
21243         (_Exit): New declaration.
21244         * lib/_Exit.c: New file.
21245         * m4/_Exit.m4: New file.
21246         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
21247         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
21248         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
21249         * modules/_Exit: New file.
21250         * tests/test-stdlib-c++.cc (_Exit): Check signature.
21251         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
21252
21253 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21254
21255         strtod: make it more-accurate typically, and don't require libm
21256         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
21257         Include limits.h.  Don't include string.h.
21258         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
21259         (locale_isspace): New function, so that no casts are needed to
21260         check whether *s is a space.
21261         (ldexp): Provide an unused dummy if not available.
21262         (scale_radix_exp, parse_number, underlying_strtod): New functions.
21263         (strtod): Use them.  This implementation prefers to use the
21264         underlying strtod if available, falling back on our own code
21265         only to fix known bugs.  This is more likely to produce an
21266         accurate result.  Also, it avoids the use of libm functions.
21267         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
21268         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
21269         was absent, but it caused a test failure with coreutils.
21270         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
21271         with libm.
21272         * modules/strtod (Makefile.am, Link): libm is no longer needed.
21273         * modules/strtod-tests (Makefile.am): Likewise.
21274
21275 2010-07-11  Pádraig Brady  <P@draigBrady.com>
21276             Bruno Haible  <bruno@clisp.org>
21277
21278         unistr/u8-strchr: Optimize ASCII argument case.
21279         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
21280
21281 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21282
21283         (x)memcoll: minor tweaks
21284         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
21285         is after the type that it qualifies.
21286         (memcoll0): Likewise.
21287         * lib/memcoll.h (memcoll0): Likewise.
21288         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
21289         * lib/xmemcoll.h (xmemcoll0): Likewise.
21290         * lib/memcoll.c (memcoll0): Correct the comment.  This function
21291         differs from memcoll in that the NUL byte is part of the argument.
21292         Omit the abort-checks, as performance is a real issue here.  Plus,
21293         the checks were wrong anyway (an off-by-one error).  Omit local
21294         variable 'diff', as it's a bit clearer that way.
21295         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
21296         no longer needed.
21297
21298 2010-07-08  Chen Guo <chenguo4@yahoo.com>
21299
21300         (x)memcoll: speedup when input is known to be NUL delimited
21301         * lib/memcoll.c: Include stdlib.
21302         (memcoll0): New function.
21303         (strcoll_loop): New function, refactored for use in both memcoll
21304         and memcoll0.
21305         * lib/memcoll.h (memcoll0): Add prototype.
21306         * lib/xmemcoll.c (xmemcoll0): New function.
21307         (collate_error): New function, refactored for use in both xmemcoll
21308         and xmemcoll0.
21309         * lib/xmemcoll.h (xmemcoll0): Add prototype.
21310         * m4/memcoll.m4: add inline invocation.
21311
21312 2010-07-06  Pádraig Brady  <P@draigBrady.com>
21313
21314         * build-aux/bootstrap: Remove any local translations
21315         from the translation project synchronization directory,
21316         so that local only translations are not distributed.
21317
21318 2010-07-04  Bruno Haible  <bruno@clisp.org>
21319
21320         fsusage: Clarify which code applies to which platforms.
21321         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
21322         platform.
21323         * lib/fsusage.c (get_fs_usage): Likewise.
21324
21325 2010-07-04  Bruno Haible  <bruno@clisp.org>
21326
21327         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
21328         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
21329         Reported by Martin Lambers <marlam@marlam.de>.
21330
21331 2010-07-04  Jim Meyering  <meyering@redhat.com>
21332
21333         hash: once again explicitly disallow insertion of NULL
21334         * lib/hash.c (hash_insert0): Reinstate just-removed test:
21335         inserting a NULL pointer cannot work with these functions.
21336         Add a comment with details.
21337         This reverts part of the 2010-07-01 commit, 5bef1a35
21338         "hash: extend module to deal with non-pointer keys".
21339
21340 2010-07-01  Bruno Haible  <bruno@clisp.org>
21341
21342         stdbool: Update doc.
21343         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
21344         Info from Christian Weisgerber <naddy@mips.inka.de>.
21345
21346 2010-07-01  Jim Meyering  <meyering@redhat.com>
21347
21348         hash: extend module to deal with non-pointer keys
21349         * lib/hash.c (hash_insert0): New interface, much like hash_insert
21350         but that allows insertion of non-pointer entries.
21351         Do not disallow an ENTRY value of NULL.
21352         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
21353         * lib/hash.h (hash_insert0): Declare.
21354
21355 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21356
21357         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
21358         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
21359         not present (i.e. with autoconf 2.59 and when using gettextize, not
21360         gnulib), require AC_GNU_SOURCE instead.
21361
21362 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
21363
21364         idpriv-drop: Fix tests.
21365         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
21366         not to the test-idpriv-droptemp program.
21367
21368 2010-06-29  Bruno Haible  <bruno@clisp.org>
21369
21370         string: Fix syntax error with g++ 2.96.
21371         * lib/string.in.h (__pure__): Remove definition.
21372         (_GL_ATTRIBUTE_PURE): New macro.
21373         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
21374         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
21375         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21376
21377 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
21378
21379         unitypes: Fix bug introduced on 2010-05-18.
21380         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
21381
21382 2010-06-22  Eric Blake  <eblake@redhat.com>
21383
21384         memmem: slight optimization
21385         * lib/str-two-way.h (critical_factorization): Update comments.
21386         Reduce work during factorization phase.
21387         Reported by Carlos Bueno <carlos@bueno.org>.
21388
21389 2010-06-21  Bruno Haible  <bruno@clisp.org>
21390
21391         Fix HAVE_CALLOC_POSIX misnomer.
21392         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
21393         !HAVE_CALLOC_POSIX.
21394         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
21395         HAVE_CALLOC_POSIX.
21396         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
21397         instead of HAVE_CALLOC_POSIX.
21398         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
21399         HAVE_CALLOC_POSIX.
21400
21401         Use modern idiom for calloc() replacement.
21402         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
21403         AC_FUNC_CALLOC.
21404         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
21405         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
21406         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21407         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
21408         (gl_REPLACE_CALLOC): New macro.
21409
21410 2010-06-21  Bruno Haible  <bruno@clisp.org>
21411
21412         Fix HAVE_REALLOC_POSIX misnomer.
21413         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
21414         !HAVE_REALLOC_POSIX.
21415         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
21416         HAVE_REALLOC_POSIX.
21417         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
21418         instead of HAVE_REALLOC_POSIX.
21419         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
21420         HAVE_REALLOC_POSIX.
21421
21422         Use modern idiom for realloc() replacement.
21423         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
21424         AC_FUNC_REALLOC.
21425         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
21426         Autoconf's AC_FUNC_REALLOC.
21427         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21428         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
21429         (gl_REPLACE_REALLOC): New macro.
21430         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21431
21432 2010-06-21  Bruno Haible  <bruno@clisp.org>
21433
21434         Fix HAVE_MALLOC_POSIX misnomer.
21435         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21436         !HAVE_MALLOC_POSIX.
21437         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21438         HAVE_MALLOC_POSIX.
21439         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21440         instead of HAVE_MALLOC_POSIX.
21441         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21442         HAVE_MALLOC_POSIX.
21443
21444         Use modern idiom for malloc() replacement.
21445         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21446         AC_FUNC_MALLOC.
21447         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21448         Autoconf's AC_FUNC_MALLOC.
21449         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21450         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21451         (gl_REPLACE_MALLOC): New macro.
21452         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21453
21454 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21455
21456         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21457         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21458         This macro takes 3 arguments, not 4.
21459
21460 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21461
21462         ipv6: fix detection under mingw
21463         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21464         in6_addr.
21465
21466 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21467
21468         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21469         that strtod() works when cross-compiling to a glibc version known
21470         to work.
21471
21472 2010-06-15  Bruno Haible  <bruno@clisp.org>
21473
21474         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21475
21476 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21477
21478         select: Correct timeout.
21479         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21480
21481 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21482
21483         git-version-gen: init shell var to avoid env var influence
21484         * build-aux/git-version-gen (v): Init shell var to empty.
21485
21486 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21487
21488         priv-set: Don't assume that priv.h exists merely because getppriv does.
21489         See Jan Andersen's bug report about AIX 5L in
21490         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21491         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21492         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21493         * lib/priv-set.h: Likewise.
21494         * tests/test-priv-set.c: Likewise.
21495
21496 2010-06-13  Bruno Haible  <bruno@clisp.org>
21497
21498         relocatable: Make it easier to test whether to install wrappers.
21499         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21500         RELOCATABLE_VIA_WRAPPER.
21501
21502 2010-06-13  Bruno Haible  <bruno@clisp.org>
21503
21504         gnulib-tool: Display specified modules and dependencies differently.
21505         * gnulib-tool (func_show_module_list): New function.
21506         (func_import, func_create_testdir): Invoke it.
21507         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21508
21509 2010-06-13  Bruno Haible  <bruno@clisp.org>
21510
21511         gnulib-tool: Align code of func_import and func_create_testdir.
21512         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21513         specified_modules.
21514
21515 2010-06-12  Jim Meyering  <meyering@redhat.com>
21516
21517         test-inttostr: avoid spurious failure on Solaris 9
21518         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21519         to accept "%ju".  Reported by Bruno Haible.
21520
21521 2010-06-11  Jim Meyering  <meyering@redhat.com>
21522
21523         test-sys_socket: mark variables as used more readably
21524         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21525         as "used" explicitly via (void) statement casts.  This is more
21526         readable than using them in an artificial return expression.
21527         Suggestion from Bruno Haible.
21528
21529 2010-06-11  Bruno Haible  <bruno@clisp.org>
21530
21531         Avoid some more warnings from "gcc -Wwrite-strings".
21532         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21533         to 'const char *'.
21534         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21535         * tests/test-c-strcasestr.c (main): Likewise.
21536         * tests/test-mbscasestr1.c (main): Likewise.
21537         * tests/test-mbscasestr2.c (main): Likewise.
21538         * tests/test-memmem.c (main): Likewise.
21539         * tests/test-strstr.c (main): Likewise.
21540         * tests/test-strcasestr.c (main): Likewise.
21541
21542 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21543
21544         init.sh: change framework_failure_ to fail with status 99, not 1
21545         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21546         automake's parallel-tests rule that this is an unexpected failure,
21547         even if the test is listed in XFAIL_TESTS.
21548
21549 2010-06-11  Jim Meyering  <meyering@redhat.com>
21550
21551         test-inttostr: avoid warnings about 4-6KB literal strings
21552         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21553         Include "macros.h", for its definition of ASSERT.
21554         (CK): s/assert/ASSERT/
21555         * modules/inttostr-tests (Files): Add macros.h.
21556
21557         init.sh: don't use $ME_ or skip_ before they are defined
21558         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21559         their first uses.  Also hoist their companions: warn_, fail_,
21560         framework_failure_, $stderr_fileno.  Prompted by a patch from
21561         Stefano Lattarini.
21562
21563         test-sys_socket: avoid set-but-not-used warnings from gcc
21564         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21565         avoid warning about set-but-not-used variables.
21566
21567         test-xvasprintf: avoid 'const' discard warnings
21568         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21569         "const" when assigning from literal strings.
21570         (test_xasprintf): Add "void" in function argument list to placate
21571         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21572
21573         tests: avoid compilation warnings in argmatch and exclude tests...
21574         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21575         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21576         Since it always exits, declare with the "noreturn" attribute.
21577         * tests/test-argmatch.c: Likewise.
21578
21579         tests: avoid 'const' discard warnings in mbsstr tests
21580         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21581         * tests/test-mbsstr2.c (main): Likewise.
21582
21583         test-verify: avoid warning from gcc's -Wmissing-declarations
21584         * tests/test-verify.c (function): Declare to be static.
21585
21586         test-inttostr.c: include <string.h> for use of strcmp
21587         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21588
21589         test-linkat: avoid failed assertion on "other" architectures
21590         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21591         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21592         sparc: https://bugs.launchpad.net/bugs/591968
21593
21594 2010-06-11  Jim Meyering  <meyering@redhat.com>
21595
21596         printf.m4: avoid autoconf's "Expanded Before Required" warning
21597         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21598         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21599         autoconf warning.
21600
21601 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21602
21603         Replacement header templates are now named with ".in", not "_".
21604         * doc/gnulib-intro.texi: Correct.
21605
21606 2010-06-10  Jim Meyering  <meyering@redhat.com>
21607
21608         inttostr-tests: depend on snprintf, not snprintf-posix
21609         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21610         snprintf-posix, to avoid this aclocal failure:
21611           missing file gnulib-tests/vasnprintf.c
21612           configure.ac:45: error: expected source file, required through \
21613           AC_LIBSOURCES, not found
21614
21615 2010-06-10  Jim Meyering  <meyering@redhat.com>
21616
21617         inttostr: add a new function, inttostr, and tests
21618         The namesake function was not available.  The existence of the
21619         template file, inttostr.c makes its addition nontrivial.
21620         * lib/anytostr.c: Rename from inttostr.c.
21621         (anytostr): Rename from inttostr.
21622         * lib/inttostr.c: New file.
21623         * modules/inttostr (Files): Add anytostr.c.
21624         (Makefile.am): Set lib_SOURCES instead of ...
21625         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21626         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21627         * lib/offtostr.c: Likewise.
21628         * lib/uinttostr.c: Likewise.
21629         * lib/umaxtostr.c: Likewise.
21630         * modules/inttostr-tests: New file.
21631         * tests/test-inttostr.c: New file.  Test these functions.
21632
21633 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21634             Bruno Haible  <bruno@clisp.org>
21635
21636         Add "Extending Gnulib" chapter to manual.
21637         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21638         chapter.
21639         (Extending Gnulib): New chapter.
21640         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21641         chapter.
21642
21643 2010-06-09  Bruno Haible  <bruno@clisp.org>
21644
21645         Avoid relocwrapper link errors due to gnulib replacement functions.
21646         * lib/areadlink.c: Use the system's malloc, realloc functions.
21647         (areadlink): Set errno to ENOMEM explicitly.
21648         * modules/areadlink (Depends-on): Remove malloc-posix.
21649         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21650
21651 2010-06-09  Bruno Haible  <bruno@clisp.org>
21652
21653         Avoid relocwrapper link errors due to gnulib replacement functions.
21654         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21655         * lib/malloca.c: Likewise.
21656         * lib/relocatable.c: Likewise.
21657         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21658         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21659         * lib/setenv.c: Use the system's malloc, realloc functions.
21660         * lib/strerror.c: Use the system's sprintf function.
21661         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21662
21663 2010-06-04  Bruno Haible  <bruno@clisp.org>
21664
21665         Prefer documented low-level autoconf macro names.
21666         * m4/lib-link.m4: Use m4_translit instead of translit.
21667         * m4/environ.m4: Likewise.
21668         * m4/mathfunc.m4: Likewise.
21669         * m4/onceonly.m4: Likewise.
21670         * m4/stdint.m4: Likewise.
21671         Suggested by Eric Blake.
21672
21673 2010-06-04  Martin Lambers  <marlam@marlam.de>
21674             Bruno Haible  <bruno@clisp.org>
21675
21676         havelib: Allow library names with '+' characters.
21677         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21678         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21679
21680 2010-06-09  Bruno Haible  <bruno@clisp.org>
21681
21682         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21683         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21684         realloc failed.
21685
21686 2010-06-08  Peter Simons  <simons@cryp.to>
21687
21688         maint.mk: make the news-check rule more configurable
21689         * top/maint.mk (news-check-lines-spec): New variable.
21690         (news-check): Use "sed -n 1,10p" in place of "head".
21691
21692 2010-06-07  Jim Meyering  <meyering@redhat.com>
21693
21694         do-release-commit-and-tag: fix typo in --help
21695         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21696
21697         regex: avoid new dead-code warning with gcc-4.6.0
21698         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21699         if-block containing a while-loop.  It's been unused for at least
21700         5 years.
21701
21702 2010-06-05  Bruno Haible  <bruno@clisp.org>
21703
21704         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21705         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21706
21707 2010-06-04  Bruno Haible  <bruno@clisp.org>
21708
21709         Update to GNU gettext 0.18.1.
21710         * modules/gettext (configure.ac): Require gettext infrastructure from
21711         version 0.18.1.
21712
21713 2010-06-03  Bruno Haible  <bruno@clisp.org>
21714
21715         Don't use AC_LIBOBJ with file names in subdirectories.
21716         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21717         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21718         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21719         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21720         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21721         gl_LIBUNISTRING_LIBSOURCE.
21722         (Makefile.am): Augment lib_SOURCES here, conditionally.
21723         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21724
21725 2010-06-03  Bruno Haible  <bruno@clisp.org>
21726
21727         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21728         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21729         expansion does not end with a newline.
21730         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21731         unnecessary newline.
21732
21733 2010-06-03  Bruno Haible  <bruno@clisp.org>
21734
21735         Reduce dependencies.
21736         * tests/test-quotearg.h: New file, extracted from
21737         tests/test-quotearg.c.
21738         * tests/test-quotearg-simple.c: New file, extracted from
21739         tests/test-quotearg.c.
21740         * tests/test-quotearg.c: Don't include <ctype.h>.
21741         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21742         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21743         use_quote_double_quotes, use_quotearg_colon): Moved to
21744         tests/test-quotearg.h.
21745         (results_g, flag_results, custom_quotes, custom_results): Moved
21746         to tests/test-quotearg-simple.c.
21747         (main): Moved the part that does not depend on gettext to
21748         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21749         performed.
21750         * modules/quotearg-simple: New file.
21751         * modules/quotearg-simple-tests: New file.
21752         * modules/quotearg (Depends-on): Add quotearg-simple.
21753         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21754         (Files): Add tests/test-quotearg.h.
21755         Reported by Paolo Bonzini.
21756
21757 2010-06-03  Bruno Haible  <bruno@clisp.org>
21758
21759         Reduce dependencies.
21760         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21761
21762 2010-06-03  Bruno Haible  <bruno@clisp.org>
21763
21764         time: Undefine more broken macros.
21765         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21766         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21767         Reported by Eric Blake.
21768
21769 2010-06-03  Bruno Haible  <bruno@clisp.org>
21770
21771         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21772         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21773         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21774         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21775         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21776         Reported by Ludovic Courtès <ludo@gnu.org>.
21777
21778 2010-06-02  Eric Blake  <eblake@redhat.com>
21779
21780         time: work with mingw + pthreads-win32 library
21781         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21782         if timespec is defined only in pthread.h.
21783         * modules/time (Makefile.am): Substitute it.
21784         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21785         <pthread.h>, when needed.
21786         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21787         from the library.
21788
21789 2010-05-31  Bruno Haible  <bruno@clisp.org>
21790
21791         Avoid expanding two macros in the wrong order.
21792         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21793         gl_LIBUNISTRING if it is defined.
21794         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21795         autoconf >= 2.64.
21796         Reported by Ludovic Courtès <ludo@gnu.org>.
21797
21798 2010-05-27  Jim Meyering  <meyering@redhat.com>
21799
21800         maint.mk: also prohibit "#undef" of always-defined symbols
21801         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21802         Allow more than one space before the symbol name.
21803         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21804         the regexp uses alternation.
21805
21806 2010-05-26  Eric Blake  <eblake@redhat.com>
21807
21808         maint.mk: avoid echo -e
21809         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21810         Convert all uses of echo -* to printf.
21811         Reported by Matthias Bolte.
21812
21813 2010-05-25  Bruno Haible  <bruno@clisp.org>
21814
21815         Update to GNU gettext 0.18, part 2.
21816         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21817         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21818
21819 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21820
21821         Add missing include in test-pwrite.c.
21822         * tests/test-pwrite.c: Include string.h, for strcmp.
21823
21824 2010-05-24  Bruno Haible  <bruno@clisp.org>
21825
21826         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21827
21828 2010-05-24  Bruno Haible  <bruno@clisp.org>
21829
21830         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21831         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21832         iconveh_error argument.
21833         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21834         U_STRCONV_TO_LOCALE.
21835         * lib/unistr/u16-strcoll.c: Likewise.
21836         * lib/unistr/u32-strcoll.c: Likewise.
21837         * modules/unistr/u8-strcoll (Depends-on): Add
21838         uniconv/u8-strconv-to-enc, localcharset. Remove
21839         uniconv/u8-strconv-to-locale.
21840         (configure.ac): Bump version number.
21841         * modules/unistr/u16-strcoll (Depends-on): Add
21842         uniconv/u16-strconv-to-enc, localcharset. Remove
21843         uniconv/u16-strconv-to-locale.
21844         (configure.ac): Bump version number.
21845         * modules/unistr/u32-strcoll (Depends-on): Add
21846         uniconv/u32-strconv-to-enc, localcharset. Remove
21847         uniconv/u32-strconv-to-locale.
21848         (configure.ac): Bump version number.
21849
21850 2010-05-24  Bruno Haible  <bruno@clisp.org>
21851
21852         Avoid a test failure on NetBSD 5.0.
21853         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
21854         an iconv() bug.
21855
21856 2010-05-24  Bruno Haible  <bruno@clisp.org>
21857
21858         Adjust #include directive style.
21859         * modules/regex (Includes): Recommend to write <regex.h>.
21860
21861 2010-05-24  Bruno Haible  <bruno@clisp.org>
21862
21863         regex: Don't require alloca.
21864         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
21865         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
21866         only inside if (0).
21867
21868 2010-05-23  Jim Meyering  <meyering@redhat.com>
21869
21870         test-renameat.c: include <sys/stat.h>
21871         * tests/test-renameat.c: Include <sys/stat.h>; required for
21872         definition of S_IS* macros.
21873
21874 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
21875
21876         Update maintainer documentation for 'relocatable-prog' module.
21877         * doc/relocatable-maint.texi: Update.
21878         Comments by Bruno Haible.
21879
21880 2010-05-23  Bruno Haible  <bruno@clisp.org>
21881
21882         git-merge-changelog: Enable --split-merged-entry by default.
21883         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
21884         (usage): Don't mention this option any more.
21885         Reported by Ralf Wildenhues.
21886
21887 2010-05-23  Jim Meyering  <meyering@redhat.com>
21888
21889         test-pwrite: do not leave behind a test file named "out"
21890         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
21891         The trivial-looking use of init.sh is really necessary.
21892         It ensures that the temporary file, "out", is created in
21893         a temporary directory, and removed upon termination.
21894         * tests/test-pwrite.sh: Re-add file.
21895         * modules/pwrite-tests: Reference it.
21896
21897 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21898
21899         Fix output redirection buglet in init.sh.
21900         * tests/init.sh: Fix redirection of stderr.
21901
21902 2010-05-20  Simon Josefsson  <simon@josefsson.org>
21903
21904         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
21905
21906 2010-05-17  Simon Josefsson  <simon@josefsson.org>
21907
21908         * modules/valgrind-tests: New file.
21909         * m4/valgrind-tests.m4: New file.
21910         * doc/valgrind-tests.texi: New file.
21911         * doc/gnulib.texi (Running self-tests under valgrind): New
21912         section.
21913
21914 2010-05-19  Bruno Haible  <bruno@clisp.org>
21915
21916         Clean up dead code in recent commit.
21917         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
21918         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
21919         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
21920         Suggested by Paolo Bonzini.
21921
21922 2010-05-19  Bruno Haible  <bruno@clisp.org>
21923
21924         Avoid valgrind error reports from libunistring.
21925         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
21926         * modules/libunistring (Files): Add it.
21927         * modules/libunistring-optional (Files): Likewise.
21928
21929 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
21930             Bruno Haible  <bruno@clisp.org>
21931
21932         New module 'libunistring-optional'.
21933         * modules/libunistring-optional: New file.
21934         * m4/libunistring-base.m4: New file.
21935         * m4/libunistring-optional.m4: New file.
21936         * lib/unicase.in.h: Renamed from lib/unicase.h.
21937         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
21938         * lib/unictype.in.h: Renamed from lib/unictype.h.
21939         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
21940         * lib/uniname.in.h: Renamed from lib/uniname.h.
21941         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
21942         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
21943         * lib/unistr.in.h: Renamed from lib/unistr.h.
21944         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
21945         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
21946         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
21947         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
21948         gl_LIBUNISTRING. If the library was found, determine the installed
21949         version and set LIBUNISTRING_VERSION.
21950         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
21951         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
21952         handle a configuration option --with-included-libunistring.
21953         * modules/libunistring (Files): Add m4/absolute-header.m4.
21954         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
21955         Add m4/libunistring-base.m4.
21956         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21957         (Makefile.am): Build unicase.h from unicase.in.h.
21958         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
21959         Add m4/libunistring-base.m4.
21960         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21961         (Makefile.am): Build uniconv.h from uniconv.in.h.
21962         * modules/unictype/base (Files): Use unictype.in.h instead of
21963         unictype.h. Add m4/libunistring-base.m4.
21964         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21965         (Makefile.am): Build unictype.h from unictype.in.h.
21966         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
21967         Add m4/libunistring-base.m4.
21968         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21969         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
21970         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
21971         Add m4/libunistring-base.m4.
21972         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21973         (Makefile.am): Build uniname.h from uniname.in.h.
21974         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
21975         Add m4/libunistring-base.m4.
21976         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21977         (Makefile.am): Build uninorm.h from uninorm.in.h.
21978         * modules/unistdio/base (Files): Use unistdio.in.h instead of
21979         unistdio.h. Add m4/libunistring-base.m4.
21980         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21981         (Makefile.am): Build unistdio.h from unistdio.in.h.
21982         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
21983         Add m4/libunistring-base.m4.
21984         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21985         (Makefile.am): Build unistr.h from unistr.in.h.
21986         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
21987         Add m4/libunistring-base.m4.
21988         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21989         (Makefile.am): Build unitypes.h from unitypes.in.h.
21990         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
21991         Add m4/libunistring-base.m4.
21992         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21993         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
21994         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
21995         uniwidth.h. Add m4/libunistring-base.m4.
21996         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21997         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
21998         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
21999         instead of augmenting lib_SOURCES.
22000         * modules/unicase/empty-suffix-context: Likewise.
22001         * modules/unicase/locale-language: Likewise.
22002         * modules/unicase/tolower: Likewise.
22003         * modules/unicase/totitle: Likewise.
22004         * modules/unicase/toupper: Likewise.
22005         * modules/unicase/u8-casecmp: Likewise.
22006         * modules/unicase/u8-casecoll: Likewise.
22007         * modules/unicase/u8-casefold: Likewise.
22008         * modules/unicase/u8-casexfrm: Likewise.
22009         * modules/unicase/u8-ct-casefold: Likewise.
22010         * modules/unicase/u8-ct-tolower: Likewise.
22011         * modules/unicase/u8-ct-totitle: Likewise.
22012         * modules/unicase/u8-ct-toupper: Likewise.
22013         * modules/unicase/u8-is-cased: Likewise.
22014         * modules/unicase/u8-is-casefolded: Likewise.
22015         * modules/unicase/u8-is-lowercase: Likewise.
22016         * modules/unicase/u8-is-titlecase: Likewise.
22017         * modules/unicase/u8-is-uppercase: Likewise.
22018         * modules/unicase/u8-prefix-context: Likewise.
22019         * modules/unicase/u8-suffix-context: Likewise.
22020         * modules/unicase/u8-tolower: Likewise.
22021         * modules/unicase/u8-totitle: Likewise.
22022         * modules/unicase/u8-toupper: Likewise.
22023         * modules/unicase/u16-casecmp: Likewise.
22024         * modules/unicase/u16-casecoll: Likewise.
22025         * modules/unicase/u16-casefold: Likewise.
22026         * modules/unicase/u16-casexfrm: Likewise.
22027         * modules/unicase/u16-ct-casefold: Likewise.
22028         * modules/unicase/u16-ct-tolower: Likewise.
22029         * modules/unicase/u16-ct-totitle: Likewise.
22030         * modules/unicase/u16-ct-toupper: Likewise.
22031         * modules/unicase/u16-is-cased: Likewise.
22032         * modules/unicase/u16-is-casefolded: Likewise.
22033         * modules/unicase/u16-is-lowercase: Likewise.
22034         * modules/unicase/u16-is-titlecase: Likewise.
22035         * modules/unicase/u16-is-uppercase: Likewise.
22036         * modules/unicase/u16-prefix-context: Likewise.
22037         * modules/unicase/u16-suffix-context: Likewise.
22038         * modules/unicase/u16-tolower: Likewise.
22039         * modules/unicase/u16-totitle: Likewise.
22040         * modules/unicase/u16-toupper: Likewise.
22041         * modules/unicase/u32-casecmp: Likewise.
22042         * modules/unicase/u32-casecoll: Likewise.
22043         * modules/unicase/u32-casefold: Likewise.
22044         * modules/unicase/u32-casexfrm: Likewise.
22045         * modules/unicase/u32-ct-casefold: Likewise.
22046         * modules/unicase/u32-ct-tolower: Likewise.
22047         * modules/unicase/u32-ct-totitle: Likewise.
22048         * modules/unicase/u32-ct-toupper: Likewise.
22049         * modules/unicase/u32-is-cased: Likewise.
22050         * modules/unicase/u32-is-casefolded: Likewise.
22051         * modules/unicase/u32-is-lowercase: Likewise.
22052         * modules/unicase/u32-is-titlecase: Likewise.
22053         * modules/unicase/u32-is-uppercase: Likewise.
22054         * modules/unicase/u32-prefix-context: Likewise.
22055         * modules/unicase/u32-suffix-context: Likewise.
22056         * modules/unicase/u32-tolower: Likewise.
22057         * modules/unicase/u32-totitle: Likewise.
22058         * modules/unicase/u32-toupper: Likewise.
22059         * modules/unicase/ulc-casecmp: Likewise.
22060         * modules/unicase/ulc-casecoll: Likewise.
22061         * modules/unicase/ulc-casexfrm: Likewise.
22062         * modules/uniconv/u8-conv-from-enc: Likewise.
22063         * modules/uniconv/u8-conv-to-enc: Likewise.
22064         * modules/uniconv/u8-strconv-from-enc: Likewise.
22065         * modules/uniconv/u8-strconv-from-locale: Likewise.
22066         * modules/uniconv/u8-strconv-to-enc: Likewise.
22067         * modules/uniconv/u8-strconv-to-locale: Likewise.
22068         * modules/uniconv/u16-conv-from-enc: Likewise.
22069         * modules/uniconv/u16-conv-to-enc: Likewise.
22070         * modules/uniconv/u16-strconv-from-enc: Likewise.
22071         * modules/uniconv/u16-strconv-from-locale: Likewise.
22072         * modules/uniconv/u16-strconv-to-enc: Likewise.
22073         * modules/uniconv/u16-strconv-to-locale: Likewise.
22074         * modules/uniconv/u32-conv-from-enc: Likewise.
22075         * modules/uniconv/u32-conv-to-enc: Likewise.
22076         * modules/uniconv/u32-strconv-from-enc: Likewise.
22077         * modules/uniconv/u32-strconv-from-locale: Likewise.
22078         * modules/uniconv/u32-strconv-to-enc: Likewise.
22079         * modules/uniconv/u32-strconv-to-locale: Likewise.
22080         * modules/unictype/bidicategory-byname: Likewise.
22081         * modules/unictype/bidicategory-name: Likewise.
22082         * modules/unictype/bidicategory-of: Likewise.
22083         * modules/unictype/bidicategory-test: Likewise.
22084         * modules/unictype/block-list: Likewise.
22085         * modules/unictype/block-test: Likewise.
22086         * modules/unictype/category-C: Likewise.
22087         * modules/unictype/category-Cc: Likewise.
22088         * modules/unictype/category-Cf: Likewise.
22089         * modules/unictype/category-Cn: Likewise.
22090         * modules/unictype/category-Co: Likewise.
22091         * modules/unictype/category-Cs: Likewise.
22092         * modules/unictype/category-L: Likewise.
22093         * modules/unictype/category-Ll: Likewise.
22094         * modules/unictype/category-Lm: Likewise.
22095         * modules/unictype/category-Lo: Likewise.
22096         * modules/unictype/category-Lt: Likewise.
22097         * modules/unictype/category-Lu: Likewise.
22098         * modules/unictype/category-M: Likewise.
22099         * modules/unictype/category-Mc: Likewise.
22100         * modules/unictype/category-Me: Likewise.
22101         * modules/unictype/category-Mn: Likewise.
22102         * modules/unictype/category-N: Likewise.
22103         * modules/unictype/category-Nd: Likewise.
22104         * modules/unictype/category-Nl: Likewise.
22105         * modules/unictype/category-No: Likewise.
22106         * modules/unictype/category-P: Likewise.
22107         * modules/unictype/category-Pc: Likewise.
22108         * modules/unictype/category-Pd: Likewise.
22109         * modules/unictype/category-Pe: Likewise.
22110         * modules/unictype/category-Pf: Likewise.
22111         * modules/unictype/category-Pi: Likewise.
22112         * modules/unictype/category-Po: Likewise.
22113         * modules/unictype/category-Ps: Likewise.
22114         * modules/unictype/category-S: Likewise.
22115         * modules/unictype/category-Sc: Likewise.
22116         * modules/unictype/category-Sk: Likewise.
22117         * modules/unictype/category-Sm: Likewise.
22118         * modules/unictype/category-So: Likewise.
22119         * modules/unictype/category-Z: Likewise.
22120         * modules/unictype/category-Zl: Likewise.
22121         * modules/unictype/category-Zp: Likewise.
22122         * modules/unictype/category-Zs: Likewise.
22123         * modules/unictype/category-and: Likewise.
22124         * modules/unictype/category-and-not: Likewise.
22125         * modules/unictype/category-byname: Likewise.
22126         * modules/unictype/category-name: Likewise.
22127         * modules/unictype/category-none: Likewise.
22128         * modules/unictype/category-of: Likewise.
22129         * modules/unictype/category-or: Likewise.
22130         * modules/unictype/category-test: Likewise.
22131         * modules/unictype/combining-class: Likewise.
22132         * modules/unictype/ctype-alnum: Likewise.
22133         * modules/unictype/ctype-alpha: Likewise.
22134         * modules/unictype/ctype-blank: Likewise.
22135         * modules/unictype/ctype-cntrl: Likewise.
22136         * modules/unictype/ctype-digit: Likewise.
22137         * modules/unictype/ctype-graph: Likewise.
22138         * modules/unictype/ctype-lower: Likewise.
22139         * modules/unictype/ctype-print: Likewise.
22140         * modules/unictype/ctype-punct: Likewise.
22141         * modules/unictype/ctype-space: Likewise.
22142         * modules/unictype/ctype-upper: Likewise.
22143         * modules/unictype/ctype-xdigit: Likewise.
22144         * modules/unictype/decimal-digit: Likewise.
22145         * modules/unictype/digit: Likewise.
22146         * modules/unictype/mirror: Likewise.
22147         * modules/unictype/numeric: Likewise.
22148         * modules/unictype/property-alphabetic: Likewise.
22149         * modules/unictype/property-ascii-hex-digit: Likewise.
22150         * modules/unictype/property-bidi-arabic-digit: Likewise.
22151         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
22152         * modules/unictype/property-bidi-block-separator: Likewise.
22153         * modules/unictype/property-bidi-boundary-neutral: Likewise.
22154         * modules/unictype/property-bidi-common-separator: Likewise.
22155         * modules/unictype/property-bidi-control: Likewise.
22156         * modules/unictype/property-bidi-embedding-or-override: Likewise.
22157         * modules/unictype/property-bidi-eur-num-separator: Likewise.
22158         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
22159         * modules/unictype/property-bidi-european-digit: Likewise.
22160         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
22161         * modules/unictype/property-bidi-left-to-right: Likewise.
22162         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
22163         * modules/unictype/property-bidi-other-neutral: Likewise.
22164         * modules/unictype/property-bidi-pdf: Likewise.
22165         * modules/unictype/property-bidi-segment-separator: Likewise.
22166         * modules/unictype/property-bidi-whitespace: Likewise.
22167         * modules/unictype/property-byname: Likewise.
22168         * modules/unictype/property-combining: Likewise.
22169         * modules/unictype/property-composite: Likewise.
22170         * modules/unictype/property-currency-symbol: Likewise.
22171         * modules/unictype/property-dash: Likewise.
22172         * modules/unictype/property-decimal-digit: Likewise.
22173         * modules/unictype/property-default-ignorable-code-point: Likewise.
22174         * modules/unictype/property-deprecated: Likewise.
22175         * modules/unictype/property-diacritic: Likewise.
22176         * modules/unictype/property-extender: Likewise.
22177         * modules/unictype/property-format-control: Likewise.
22178         * modules/unictype/property-grapheme-base: Likewise.
22179         * modules/unictype/property-grapheme-extend: Likewise.
22180         * modules/unictype/property-grapheme-link: Likewise.
22181         * modules/unictype/property-hex-digit: Likewise.
22182         * modules/unictype/property-hyphen: Likewise.
22183         * modules/unictype/property-id-continue: Likewise.
22184         * modules/unictype/property-id-start: Likewise.
22185         * modules/unictype/property-ideographic: Likewise.
22186         * modules/unictype/property-ids-binary-operator: Likewise.
22187         * modules/unictype/property-ids-trinary-operator: Likewise.
22188         * modules/unictype/property-ignorable-control: Likewise.
22189         * modules/unictype/property-iso-control: Likewise.
22190         * modules/unictype/property-join-control: Likewise.
22191         * modules/unictype/property-left-of-pair: Likewise.
22192         * modules/unictype/property-line-separator: Likewise.
22193         * modules/unictype/property-logical-order-exception: Likewise.
22194         * modules/unictype/property-lowercase: Likewise.
22195         * modules/unictype/property-math: Likewise.
22196         * modules/unictype/property-non-break: Likewise.
22197         * modules/unictype/property-not-a-character: Likewise.
22198         * modules/unictype/property-numeric: Likewise.
22199         * modules/unictype/property-other-alphabetic: Likewise.
22200         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
22201         * modules/unictype/property-other-grapheme-extend: Likewise.
22202         * modules/unictype/property-other-id-continue: Likewise.
22203         * modules/unictype/property-other-id-start: Likewise.
22204         * modules/unictype/property-other-lowercase: Likewise.
22205         * modules/unictype/property-other-math: Likewise.
22206         * modules/unictype/property-other-uppercase: Likewise.
22207         * modules/unictype/property-paired-punctuation: Likewise.
22208         * modules/unictype/property-paragraph-separator: Likewise.
22209         * modules/unictype/property-pattern-syntax: Likewise.
22210         * modules/unictype/property-pattern-white-space: Likewise.
22211         * modules/unictype/property-private-use: Likewise.
22212         * modules/unictype/property-punctuation: Likewise.
22213         * modules/unictype/property-quotation-mark: Likewise.
22214         * modules/unictype/property-radical: Likewise.
22215         * modules/unictype/property-sentence-terminal: Likewise.
22216         * modules/unictype/property-soft-dotted: Likewise.
22217         * modules/unictype/property-space: Likewise.
22218         * modules/unictype/property-terminal-punctuation: Likewise.
22219         * modules/unictype/property-test: Likewise.
22220         * modules/unictype/property-titlecase: Likewise.
22221         * modules/unictype/property-unassigned-code-value: Likewise.
22222         * modules/unictype/property-unified-ideograph: Likewise.
22223         * modules/unictype/property-uppercase: Likewise.
22224         * modules/unictype/property-variation-selector: Likewise.
22225         * modules/unictype/property-white-space: Likewise.
22226         * modules/unictype/property-xid-continue: Likewise.
22227         * modules/unictype/property-xid-start: Likewise.
22228         * modules/unictype/property-zero-width: Likewise.
22229         * modules/unictype/scripts: Likewise.
22230         * modules/unictype/syntax-c-ident: Likewise.
22231         * modules/unictype/syntax-c-whitespace: Likewise.
22232         * modules/unictype/syntax-java-ident: Likewise.
22233         * modules/unictype/syntax-java-whitespace: Likewise.
22234         * modules/unilbrk/u8-possible-linebreaks: Likewise.
22235         * modules/unilbrk/u8-width-linebreaks: Likewise.
22236         * modules/unilbrk/u16-possible-linebreaks: Likewise.
22237         * modules/unilbrk/u16-width-linebreaks: Likewise.
22238         * modules/unilbrk/u32-possible-linebreaks: Likewise.
22239         * modules/unilbrk/u32-width-linebreaks: Likewise.
22240         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
22241         * modules/unilbrk/ulc-width-linebreaks: Likewise.
22242         * modules/uniname/uniname: Likewise.
22243         * modules/uninorm/canonical-decomposition: Likewise.
22244         * modules/uninorm/composition: Likewise.
22245         * modules/uninorm/decomposing-form: Likewise.
22246         * modules/uninorm/decomposition: Likewise.
22247         * modules/uninorm/filter: Likewise.
22248         * modules/uninorm/nfc: Likewise.
22249         * modules/uninorm/nfd: Likewise.
22250         * modules/uninorm/nfkc: Likewise.
22251         * modules/uninorm/nfkd: Likewise.
22252         * modules/uninorm/u8-normalize: Likewise.
22253         * modules/uninorm/u8-normcmp: Likewise.
22254         * modules/uninorm/u8-normcoll: Likewise.
22255         * modules/uninorm/u8-normxfrm: Likewise.
22256         * modules/uninorm/u16-normalize: Likewise.
22257         * modules/uninorm/u16-normcmp: Likewise.
22258         * modules/uninorm/u16-normcoll: Likewise.
22259         * modules/uninorm/u16-normxfrm: Likewise.
22260         * modules/uninorm/u32-normalize: Likewise.
22261         * modules/uninorm/u32-normcmp: Likewise.
22262         * modules/uninorm/u32-normcoll: Likewise.
22263         * modules/uninorm/u32-normxfrm: Likewise.
22264         * modules/unistdio/u8-asnprintf: Likewise.
22265         * modules/unistdio/u8-asprintf: Likewise.
22266         * modules/unistdio/u8-snprintf: Likewise.
22267         * modules/unistdio/u8-sprintf: Likewise.
22268         * modules/unistdio/u8-u8-asnprintf: Likewise.
22269         * modules/unistdio/u8-u8-asprintf: Likewise.
22270         * modules/unistdio/u8-u8-snprintf: Likewise.
22271         * modules/unistdio/u8-u8-sprintf: Likewise.
22272         * modules/unistdio/u8-u8-vasnprintf: Likewise.
22273         * modules/unistdio/u8-u8-vasprintf: Likewise.
22274         * modules/unistdio/u8-u8-vsnprintf: Likewise.
22275         * modules/unistdio/u8-u8-vsprintf: Likewise.
22276         * modules/unistdio/u8-vasnprintf: Likewise.
22277         * modules/unistdio/u8-vasprintf: Likewise.
22278         * modules/unistdio/u8-vsnprintf: Likewise.
22279         * modules/unistdio/u8-vsprintf: Likewise.
22280         * modules/unistdio/u16-asnprintf: Likewise.
22281         * modules/unistdio/u16-asprintf: Likewise.
22282         * modules/unistdio/u16-snprintf: Likewise.
22283         * modules/unistdio/u16-sprintf: Likewise.
22284         * modules/unistdio/u16-u16-asnprintf: Likewise.
22285         * modules/unistdio/u16-u16-asprintf: Likewise.
22286         * modules/unistdio/u16-u16-snprintf: Likewise.
22287         * modules/unistdio/u16-u16-sprintf: Likewise.
22288         * modules/unistdio/u16-u16-vasnprintf: Likewise.
22289         * modules/unistdio/u16-u16-vasprintf: Likewise.
22290         * modules/unistdio/u16-u16-vsnprintf: Likewise.
22291         * modules/unistdio/u16-u16-vsprintf: Likewise.
22292         * modules/unistdio/u16-vasnprintf: Likewise.
22293         * modules/unistdio/u16-vasprintf: Likewise.
22294         * modules/unistdio/u16-vsnprintf: Likewise.
22295         * modules/unistdio/u16-vsprintf: Likewise.
22296         * modules/unistdio/u32-asnprintf: Likewise.
22297         * modules/unistdio/u32-asprintf: Likewise.
22298         * modules/unistdio/u32-snprintf: Likewise.
22299         * modules/unistdio/u32-sprintf: Likewise.
22300         * modules/unistdio/u32-u32-asnprintf: Likewise.
22301         * modules/unistdio/u32-u32-asprintf: Likewise.
22302         * modules/unistdio/u32-u32-snprintf: Likewise.
22303         * modules/unistdio/u32-u32-sprintf: Likewise.
22304         * modules/unistdio/u32-u32-vasnprintf: Likewise.
22305         * modules/unistdio/u32-u32-vasprintf: Likewise.
22306         * modules/unistdio/u32-u32-vsnprintf: Likewise.
22307         * modules/unistdio/u32-u32-vsprintf: Likewise.
22308         * modules/unistdio/u32-vasnprintf: Likewise.
22309         * modules/unistdio/u32-vasprintf: Likewise.
22310         * modules/unistdio/u32-vsnprintf: Likewise.
22311         * modules/unistdio/u32-vsprintf: Likewise.
22312         * modules/unistdio/ulc-asnprintf: Likewise.
22313         * modules/unistdio/ulc-asprintf: Likewise.
22314         * modules/unistdio/ulc-fprintf: Likewise.
22315         * modules/unistdio/ulc-snprintf: Likewise.
22316         * modules/unistdio/ulc-sprintf: Likewise.
22317         * modules/unistdio/ulc-vasnprintf: Likewise.
22318         * modules/unistdio/ulc-vasprintf: Likewise.
22319         * modules/unistdio/ulc-vfprintf: Likewise.
22320         * modules/unistdio/ulc-vsnprintf: Likewise.
22321         * modules/unistdio/ulc-vsprintf: Likewise.
22322         * modules/unistr/u8-check: Likewise.
22323         * modules/unistr/u8-chr: Likewise.
22324         * modules/unistr/u8-cmp: Likewise.
22325         * modules/unistr/u8-cmp2: Likewise.
22326         * modules/unistr/u8-cpy: Likewise.
22327         * modules/unistr/u8-cpy-alloc: Likewise.
22328         * modules/unistr/u8-endswith: Likewise.
22329         * modules/unistr/u8-mblen: Likewise.
22330         * modules/unistr/u8-mbsnlen: Likewise.
22331         * modules/unistr/u8-mbtouc: Likewise.
22332         * modules/unistr/u8-mbtouc-unsafe: Likewise.
22333         * modules/unistr/u8-mbtoucr: Likewise.
22334         * modules/unistr/u8-move: Likewise.
22335         * modules/unistr/u8-next: Likewise.
22336         * modules/unistr/u8-prev: Likewise.
22337         * modules/unistr/u8-set: Likewise.
22338         * modules/unistr/u8-startswith: Likewise.
22339         * modules/unistr/u8-stpcpy: Likewise.
22340         * modules/unistr/u8-stpncpy: Likewise.
22341         * modules/unistr/u8-strcat: Likewise.
22342         * modules/unistr/u8-strchr: Likewise.
22343         * modules/unistr/u8-strcmp: Likewise.
22344         * modules/unistr/u8-strcoll: Likewise.
22345         * modules/unistr/u8-strcpy: Likewise.
22346         * modules/unistr/u8-strcspn: Likewise.
22347         * modules/unistr/u8-strdup: Likewise.
22348         * modules/unistr/u8-strlen: Likewise.
22349         * modules/unistr/u8-strmblen: Likewise.
22350         * modules/unistr/u8-strmbtouc: Likewise.
22351         * modules/unistr/u8-strncat: Likewise.
22352         * modules/unistr/u8-strncmp: Likewise.
22353         * modules/unistr/u8-strncpy: Likewise.
22354         * modules/unistr/u8-strnlen: Likewise.
22355         * modules/unistr/u8-strpbrk: Likewise.
22356         * modules/unistr/u8-strrchr: Likewise.
22357         * modules/unistr/u8-strspn: Likewise.
22358         * modules/unistr/u8-strstr: Likewise.
22359         * modules/unistr/u8-strtok: Likewise.
22360         * modules/unistr/u8-to-u16: Likewise.
22361         * modules/unistr/u8-to-u32: Likewise.
22362         * modules/unistr/u8-uctomb: Likewise.
22363         * modules/unistr/u16-check: Likewise.
22364         * modules/unistr/u16-chr: Likewise.
22365         * modules/unistr/u16-cmp: Likewise.
22366         * modules/unistr/u16-cmp2: Likewise.
22367         * modules/unistr/u16-cpy: Likewise.
22368         * modules/unistr/u16-cpy-alloc: Likewise.
22369         * modules/unistr/u16-endswith: Likewise.
22370         * modules/unistr/u16-mblen: Likewise.
22371         * modules/unistr/u16-mbsnlen: Likewise.
22372         * modules/unistr/u16-mbtouc: Likewise.
22373         * modules/unistr/u16-mbtouc-unsafe: Likewise.
22374         * modules/unistr/u16-mbtoucr: Likewise.
22375         * modules/unistr/u16-move: Likewise.
22376         * modules/unistr/u16-next: Likewise.
22377         * modules/unistr/u16-prev: Likewise.
22378         * modules/unistr/u16-set: Likewise.
22379         * modules/unistr/u16-startswith: Likewise.
22380         * modules/unistr/u16-stpcpy: Likewise.
22381         * modules/unistr/u16-stpncpy: Likewise.
22382         * modules/unistr/u16-strcat: Likewise.
22383         * modules/unistr/u16-strchr: Likewise.
22384         * modules/unistr/u16-strcmp: Likewise.
22385         * modules/unistr/u16-strcoll: Likewise.
22386         * modules/unistr/u16-strcpy: Likewise.
22387         * modules/unistr/u16-strcspn: Likewise.
22388         * modules/unistr/u16-strdup: Likewise.
22389         * modules/unistr/u16-strlen: Likewise.
22390         * modules/unistr/u16-strmblen: Likewise.
22391         * modules/unistr/u16-strmbtouc: Likewise.
22392         * modules/unistr/u16-strncat: Likewise.
22393         * modules/unistr/u16-strncmp: Likewise.
22394         * modules/unistr/u16-strncpy: Likewise.
22395         * modules/unistr/u16-strnlen: Likewise.
22396         * modules/unistr/u16-strpbrk: Likewise.
22397         * modules/unistr/u16-strrchr: Likewise.
22398         * modules/unistr/u16-strspn: Likewise.
22399         * modules/unistr/u16-strstr: Likewise.
22400         * modules/unistr/u16-strtok: Likewise.
22401         * modules/unistr/u16-to-u32: Likewise.
22402         * modules/unistr/u16-to-u8: Likewise.
22403         * modules/unistr/u16-uctomb: Likewise.
22404         * modules/unistr/u32-check: Likewise.
22405         * modules/unistr/u32-chr: Likewise.
22406         * modules/unistr/u32-cmp: Likewise.
22407         * modules/unistr/u32-cmp2: Likewise.
22408         * modules/unistr/u32-cpy: Likewise.
22409         * modules/unistr/u32-cpy-alloc: Likewise.
22410         * modules/unistr/u32-endswith: Likewise.
22411         * modules/unistr/u32-mblen: Likewise.
22412         * modules/unistr/u32-mbsnlen: Likewise.
22413         * modules/unistr/u32-mbtouc: Likewise.
22414         * modules/unistr/u32-mbtouc-unsafe: Likewise.
22415         * modules/unistr/u32-mbtoucr: Likewise.
22416         * modules/unistr/u32-move: Likewise.
22417         * modules/unistr/u32-next: Likewise.
22418         * modules/unistr/u32-prev: Likewise.
22419         * modules/unistr/u32-set: Likewise.
22420         * modules/unistr/u32-startswith: Likewise.
22421         * modules/unistr/u32-stpcpy: Likewise.
22422         * modules/unistr/u32-stpncpy: Likewise.
22423         * modules/unistr/u32-strcat: Likewise.
22424         * modules/unistr/u32-strchr: Likewise.
22425         * modules/unistr/u32-strcmp: Likewise.
22426         * modules/unistr/u32-strcoll: Likewise.
22427         * modules/unistr/u32-strcpy: Likewise.
22428         * modules/unistr/u32-strcspn: Likewise.
22429         * modules/unistr/u32-strdup: Likewise.
22430         * modules/unistr/u32-strlen: Likewise.
22431         * modules/unistr/u32-strmblen: Likewise.
22432         * modules/unistr/u32-strmbtouc: Likewise.
22433         * modules/unistr/u32-strncat: Likewise.
22434         * modules/unistr/u32-strncmp: Likewise.
22435         * modules/unistr/u32-strncpy: Likewise.
22436         * modules/unistr/u32-strnlen: Likewise.
22437         * modules/unistr/u32-strpbrk: Likewise.
22438         * modules/unistr/u32-strrchr: Likewise.
22439         * modules/unistr/u32-strspn: Likewise.
22440         * modules/unistr/u32-strstr: Likewise.
22441         * modules/unistr/u32-strtok: Likewise.
22442         * modules/unistr/u32-to-u16: Likewise.
22443         * modules/unistr/u32-to-u8: Likewise.
22444         * modules/unistr/u32-uctomb: Likewise.
22445         * modules/uniwbrk/u8-wordbreaks: Likewise.
22446         * modules/uniwbrk/u16-wordbreaks: Likewise.
22447         * modules/uniwbrk/u32-wordbreaks: Likewise.
22448         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22449         * modules/uniwbrk/wordbreak-property: Likewise.
22450         * modules/uniwidth/u8-strwidth: Likewise.
22451         * modules/uniwidth/u8-width: Likewise.
22452         * modules/uniwidth/u16-strwidth: Likewise.
22453         * modules/uniwidth/u16-width: Likewise.
22454         * modules/uniwidth/u32-strwidth: Likewise.
22455         * modules/uniwidth/u32-width: Likewise.
22456         * modules/uniwidth/width: Likewise.
22457         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22458         with $(LIBUNISTRING).
22459         * modules/unicase/ignorable-tests: Likewise.
22460         * modules/unicase/locale-language-tests: Likewise.
22461         * modules/unicase/tolower-tests: Likewise.
22462         * modules/unicase/totitle-tests: Likewise.
22463         * modules/unicase/toupper-tests: Likewise.
22464         * modules/unicase/u8-casecmp-tests: Likewise.
22465         * modules/unicase/u8-casecoll-tests: Likewise.
22466         * modules/unicase/u8-casefold-tests: Likewise.
22467         * modules/unicase/u8-is-cased-tests: Likewise.
22468         * modules/unicase/u8-is-casefolded-tests: Likewise.
22469         * modules/unicase/u8-is-lowercase-tests: Likewise.
22470         * modules/unicase/u8-is-titlecase-tests: Likewise.
22471         * modules/unicase/u8-is-uppercase-tests: Likewise.
22472         * modules/unicase/u8-tolower-tests: Likewise.
22473         * modules/unicase/u8-totitle-tests: Likewise.
22474         * modules/unicase/u8-toupper-tests: Likewise.
22475         * modules/unicase/u16-casecmp-tests: Likewise.
22476         * modules/unicase/u16-casecoll-tests: Likewise.
22477         * modules/unicase/u16-casefold-tests: Likewise.
22478         * modules/unicase/u16-is-cased-tests: Likewise.
22479         * modules/unicase/u16-is-casefolded-tests: Likewise.
22480         * modules/unicase/u16-is-lowercase-tests: Likewise.
22481         * modules/unicase/u16-is-titlecase-tests: Likewise.
22482         * modules/unicase/u16-is-uppercase-tests: Likewise.
22483         * modules/unicase/u16-tolower-tests: Likewise.
22484         * modules/unicase/u16-totitle-tests: Likewise.
22485         * modules/unicase/u16-toupper-tests: Likewise.
22486         * modules/unicase/u32-casecmp-tests: Likewise.
22487         * modules/unicase/u32-casecoll-tests: Likewise.
22488         * modules/unicase/u32-casefold-tests: Likewise.
22489         * modules/unicase/u32-is-cased-tests: Likewise.
22490         * modules/unicase/u32-is-casefolded-tests: Likewise.
22491         * modules/unicase/u32-is-lowercase-tests: Likewise.
22492         * modules/unicase/u32-is-titlecase-tests: Likewise.
22493         * modules/unicase/u32-is-uppercase-tests: Likewise.
22494         * modules/unicase/u32-tolower-tests: Likewise.
22495         * modules/unicase/u32-totitle-tests: Likewise.
22496         * modules/unicase/u32-toupper-tests: Likewise.
22497         * modules/unicase/ulc-casecmp-tests: Likewise.
22498         * modules/unicase/ulc-casecoll-tests: Likewise.
22499         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22500         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22501         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22502         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22503         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22504         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22505         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22506         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22507         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22508         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22509         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22510         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22511         * modules/unictype/bidicategory-byname-tests: Likewise.
22512         * modules/unictype/bidicategory-name-tests: Likewise.
22513         * modules/unictype/bidicategory-of-tests: Likewise.
22514         * modules/unictype/bidicategory-test-tests: Likewise.
22515         * modules/unictype/block-list-tests: Likewise.
22516         * modules/unictype/block-of-tests: Likewise.
22517         * modules/unictype/block-test-tests: Likewise.
22518         * modules/unictype/category-C-tests: Likewise.
22519         * modules/unictype/category-Cc-tests: Likewise.
22520         * modules/unictype/category-Cf-tests: Likewise.
22521         * modules/unictype/category-Cn-tests: Likewise.
22522         * modules/unictype/category-Co-tests: Likewise.
22523         * modules/unictype/category-Cs-tests: Likewise.
22524         * modules/unictype/category-L-tests: Likewise.
22525         * modules/unictype/category-Ll-tests: Likewise.
22526         * modules/unictype/category-Lm-tests: Likewise.
22527         * modules/unictype/category-Lo-tests: Likewise.
22528         * modules/unictype/category-Lt-tests: Likewise.
22529         * modules/unictype/category-Lu-tests: Likewise.
22530         * modules/unictype/category-M-tests: Likewise.
22531         * modules/unictype/category-Mc-tests: Likewise.
22532         * modules/unictype/category-Me-tests: Likewise.
22533         * modules/unictype/category-Mn-tests: Likewise.
22534         * modules/unictype/category-N-tests: Likewise.
22535         * modules/unictype/category-Nd-tests: Likewise.
22536         * modules/unictype/category-Nl-tests: Likewise.
22537         * modules/unictype/category-No-tests: Likewise.
22538         * modules/unictype/category-P-tests: Likewise.
22539         * modules/unictype/category-Pc-tests: Likewise.
22540         * modules/unictype/category-Pd-tests: Likewise.
22541         * modules/unictype/category-Pe-tests: Likewise.
22542         * modules/unictype/category-Pf-tests: Likewise.
22543         * modules/unictype/category-Pi-tests: Likewise.
22544         * modules/unictype/category-Po-tests: Likewise.
22545         * modules/unictype/category-Ps-tests: Likewise.
22546         * modules/unictype/category-S-tests: Likewise.
22547         * modules/unictype/category-Sc-tests: Likewise.
22548         * modules/unictype/category-Sk-tests: Likewise.
22549         * modules/unictype/category-Sm-tests: Likewise.
22550         * modules/unictype/category-So-tests: Likewise.
22551         * modules/unictype/category-Z-tests: Likewise.
22552         * modules/unictype/category-Zl-tests: Likewise.
22553         * modules/unictype/category-Zp-tests: Likewise.
22554         * modules/unictype/category-Zs-tests: Likewise.
22555         * modules/unictype/category-and-not-tests: Likewise.
22556         * modules/unictype/category-and-tests: Likewise.
22557         * modules/unictype/category-byname-tests: Likewise.
22558         * modules/unictype/category-name-tests: Likewise.
22559         * modules/unictype/category-none-tests: Likewise.
22560         * modules/unictype/category-of-tests: Likewise.
22561         * modules/unictype/category-or-tests: Likewise.
22562         * modules/unictype/category-test-withtable-tests: Likewise.
22563         * modules/unictype/combining-class-tests: Likewise.
22564         * modules/unictype/ctype-alnum-tests: Likewise.
22565         * modules/unictype/ctype-alpha-tests: Likewise.
22566         * modules/unictype/ctype-blank-tests: Likewise.
22567         * modules/unictype/ctype-cntrl-tests: Likewise.
22568         * modules/unictype/ctype-digit-tests: Likewise.
22569         * modules/unictype/ctype-graph-tests: Likewise.
22570         * modules/unictype/ctype-lower-tests: Likewise.
22571         * modules/unictype/ctype-print-tests: Likewise.
22572         * modules/unictype/ctype-punct-tests: Likewise.
22573         * modules/unictype/ctype-space-tests: Likewise.
22574         * modules/unictype/ctype-upper-tests: Likewise.
22575         * modules/unictype/ctype-xdigit-tests: Likewise.
22576         * modules/unictype/decimal-digit-tests: Likewise.
22577         * modules/unictype/digit-tests: Likewise.
22578         * modules/unictype/mirror-tests: Likewise.
22579         * modules/unictype/numeric-tests: Likewise.
22580         * modules/unictype/property-alphabetic-tests: Likewise.
22581         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22582         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22583         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22584         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22585         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22586         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22587         * modules/unictype/property-bidi-control-tests: Likewise.
22588         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22589         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22590         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22591         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22592         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22593         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22594         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22595         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22596         * modules/unictype/property-bidi-pdf-tests: Likewise.
22597         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22598         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22599         * modules/unictype/property-byname-tests: Likewise.
22600         * modules/unictype/property-combining-tests: Likewise.
22601         * modules/unictype/property-composite-tests: Likewise.
22602         * modules/unictype/property-currency-symbol-tests: Likewise.
22603         * modules/unictype/property-dash-tests: Likewise.
22604         * modules/unictype/property-decimal-digit-tests: Likewise.
22605         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22606         * modules/unictype/property-deprecated-tests: Likewise.
22607         * modules/unictype/property-diacritic-tests: Likewise.
22608         * modules/unictype/property-extender-tests: Likewise.
22609         * modules/unictype/property-format-control-tests: Likewise.
22610         * modules/unictype/property-grapheme-base-tests: Likewise.
22611         * modules/unictype/property-grapheme-extend-tests: Likewise.
22612         * modules/unictype/property-grapheme-link-tests: Likewise.
22613         * modules/unictype/property-hex-digit-tests: Likewise.
22614         * modules/unictype/property-hyphen-tests: Likewise.
22615         * modules/unictype/property-id-continue-tests: Likewise.
22616         * modules/unictype/property-id-start-tests: Likewise.
22617         * modules/unictype/property-ideographic-tests: Likewise.
22618         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22619         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22620         * modules/unictype/property-ignorable-control-tests: Likewise.
22621         * modules/unictype/property-iso-control-tests: Likewise.
22622         * modules/unictype/property-join-control-tests: Likewise.
22623         * modules/unictype/property-left-of-pair-tests: Likewise.
22624         * modules/unictype/property-line-separator-tests: Likewise.
22625         * modules/unictype/property-logical-order-exception-tests: Likewise.
22626         * modules/unictype/property-lowercase-tests: Likewise.
22627         * modules/unictype/property-math-tests: Likewise.
22628         * modules/unictype/property-non-break-tests: Likewise.
22629         * modules/unictype/property-not-a-character-tests: Likewise.
22630         * modules/unictype/property-numeric-tests: Likewise.
22631         * modules/unictype/property-other-alphabetic-tests: Likewise.
22632         * modules/unictype/property-other-default-ignorable-code-point-tests:
22633         Likewise.
22634         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22635         * modules/unictype/property-other-id-continue-tests: Likewise.
22636         * modules/unictype/property-other-id-start-tests: Likewise.
22637         * modules/unictype/property-other-lowercase-tests: Likewise.
22638         * modules/unictype/property-other-math-tests: Likewise.
22639         * modules/unictype/property-other-uppercase-tests: Likewise.
22640         * modules/unictype/property-paired-punctuation-tests: Likewise.
22641         * modules/unictype/property-paragraph-separator-tests: Likewise.
22642         * modules/unictype/property-pattern-syntax-tests: Likewise.
22643         * modules/unictype/property-pattern-white-space-tests: Likewise.
22644         * modules/unictype/property-private-use-tests: Likewise.
22645         * modules/unictype/property-punctuation-tests: Likewise.
22646         * modules/unictype/property-quotation-mark-tests: Likewise.
22647         * modules/unictype/property-radical-tests: Likewise.
22648         * modules/unictype/property-sentence-terminal-tests: Likewise.
22649         * modules/unictype/property-soft-dotted-tests: Likewise.
22650         * modules/unictype/property-space-tests: Likewise.
22651         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22652         * modules/unictype/property-test-tests: Likewise.
22653         * modules/unictype/property-titlecase-tests: Likewise.
22654         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22655         * modules/unictype/property-unified-ideograph-tests: Likewise.
22656         * modules/unictype/property-uppercase-tests: Likewise.
22657         * modules/unictype/property-variation-selector-tests: Likewise.
22658         * modules/unictype/property-white-space-tests: Likewise.
22659         * modules/unictype/property-xid-continue-tests: Likewise.
22660         * modules/unictype/property-xid-start-tests: Likewise.
22661         * modules/unictype/property-zero-width-tests: Likewise.
22662         * modules/unictype/scripts-tests: Likewise.
22663         * modules/unictype/syntax-c-ident-tests: Likewise.
22664         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22665         * modules/unictype/syntax-java-ident-tests: Likewise.
22666         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22667         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22668         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22669         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22670         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22671         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22672         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22673         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22674         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22675         * modules/uniname/uniname-tests: Likewise.
22676         * modules/uninorm/canonical-decomposition-tests: Likewise.
22677         * modules/uninorm/compat-decomposition-tests: Likewise.
22678         * modules/uninorm/composition-tests: Likewise.
22679         * modules/uninorm/decomposing-form-tests: Likewise.
22680         * modules/uninorm/decomposition-tests: Likewise.
22681         * modules/uninorm/filter-tests: Likewise.
22682         * modules/uninorm/nfc-tests: Likewise.
22683         * modules/uninorm/nfd-tests: Likewise.
22684         * modules/uninorm/nfkc-tests: Likewise.
22685         * modules/uninorm/nfkd-tests: Likewise.
22686         * modules/uninorm/u8-normcmp-tests: Likewise.
22687         * modules/uninorm/u8-normcoll-tests: Likewise.
22688         * modules/uninorm/u16-normcmp-tests: Likewise.
22689         * modules/uninorm/u16-normcoll-tests: Likewise.
22690         * modules/uninorm/u32-normcmp-tests: Likewise.
22691         * modules/uninorm/u32-normcoll-tests: Likewise.
22692         * modules/unistdio/u8-asnprintf-tests: Likewise.
22693         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22694         * modules/unistdio/u8-vasprintf-tests: Likewise.
22695         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22696         * modules/unistdio/u8-vsprintf-tests: Likewise.
22697         * modules/unistdio/u16-asnprintf-tests: Likewise.
22698         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22699         * modules/unistdio/u16-vasprintf-tests: Likewise.
22700         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22701         * modules/unistdio/u16-vsprintf-tests: Likewise.
22702         * modules/unistdio/u32-asnprintf-tests: Likewise.
22703         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22704         * modules/unistdio/u32-vasprintf-tests: Likewise.
22705         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22706         * modules/unistdio/u32-vsprintf-tests: Likewise.
22707         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22708         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22709         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22710         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22711         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22712         * modules/unistr/u8-check-tests: Likewise.
22713         * modules/unistr/u8-chr-tests: Likewise.
22714         * modules/unistr/u8-cmp-tests: Likewise.
22715         * modules/unistr/u8-cmp2-tests: Likewise.
22716         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22717         * modules/unistr/u8-cpy-tests: Likewise.
22718         * modules/unistr/u8-mblen-tests: Likewise.
22719         * modules/unistr/u8-mbsnlen-tests: Likewise.
22720         * modules/unistr/u8-mbtouc-tests: Likewise.
22721         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22722         * modules/unistr/u8-mbtoucr-tests: Likewise.
22723         * modules/unistr/u8-move-tests: Likewise.
22724         * modules/unistr/u8-next-tests: Likewise.
22725         * modules/unistr/u8-prev-tests: Likewise.
22726         * modules/unistr/u8-set-tests: Likewise.
22727         * modules/unistr/u8-stpcpy-tests: Likewise.
22728         * modules/unistr/u8-stpncpy-tests: Likewise.
22729         * modules/unistr/u8-strcat-tests: Likewise.
22730         * modules/unistr/u8-strcmp-tests: Likewise.
22731         * modules/unistr/u8-strcoll-tests: Likewise.
22732         * modules/unistr/u8-strcpy-tests: Likewise.
22733         * modules/unistr/u8-strdup-tests: Likewise.
22734         * modules/unistr/u8-strlen-tests: Likewise.
22735         * modules/unistr/u8-strmblen-tests: Likewise.
22736         * modules/unistr/u8-strmbtouc-tests: Likewise.
22737         * modules/unistr/u8-strncat-tests: Likewise.
22738         * modules/unistr/u8-strncmp-tests: Likewise.
22739         * modules/unistr/u8-strncpy-tests: Likewise.
22740         * modules/unistr/u8-strnlen-tests: Likewise.
22741         * modules/unistr/u8-to-u16-tests: Likewise.
22742         * modules/unistr/u8-to-u32-tests: Likewise.
22743         * modules/unistr/u8-uctomb-tests: Likewise.
22744         * modules/unistr/u16-check-tests: Likewise.
22745         * modules/unistr/u16-chr-tests: Likewise.
22746         * modules/unistr/u16-cmp-tests: Likewise.
22747         * modules/unistr/u16-cmp2-tests: Likewise.
22748         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22749         * modules/unistr/u16-cpy-tests: Likewise.
22750         * modules/unistr/u16-mblen-tests: Likewise.
22751         * modules/unistr/u16-mbsnlen-tests: Likewise.
22752         * modules/unistr/u16-mbtouc-tests: Likewise.
22753         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22754         * modules/unistr/u16-mbtoucr-tests: Likewise.
22755         * modules/unistr/u16-move-tests: Likewise.
22756         * modules/unistr/u16-next-tests: Likewise.
22757         * modules/unistr/u16-prev-tests: Likewise.
22758         * modules/unistr/u16-set-tests: Likewise.
22759         * modules/unistr/u16-stpcpy-tests: Likewise.
22760         * modules/unistr/u16-stpncpy-tests: Likewise.
22761         * modules/unistr/u16-strcat-tests: Likewise.
22762         * modules/unistr/u16-strcmp-tests: Likewise.
22763         * modules/unistr/u16-strcoll-tests: Likewise.
22764         * modules/unistr/u16-strcpy-tests: Likewise.
22765         * modules/unistr/u16-strdup-tests: Likewise.
22766         * modules/unistr/u16-strlen-tests: Likewise.
22767         * modules/unistr/u16-strmblen-tests: Likewise.
22768         * modules/unistr/u16-strmbtouc-tests: Likewise.
22769         * modules/unistr/u16-strncat-tests: Likewise.
22770         * modules/unistr/u16-strncmp-tests: Likewise.
22771         * modules/unistr/u16-strncpy-tests: Likewise.
22772         * modules/unistr/u16-strnlen-tests: Likewise.
22773         * modules/unistr/u16-to-u32-tests: Likewise.
22774         * modules/unistr/u16-to-u8-tests: Likewise.
22775         * modules/unistr/u16-uctomb-tests: Likewise.
22776         * modules/unistr/u32-check-tests: Likewise.
22777         * modules/unistr/u32-chr-tests: Likewise.
22778         * modules/unistr/u32-cmp-tests: Likewise.
22779         * modules/unistr/u32-cmp2-tests: Likewise.
22780         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22781         * modules/unistr/u32-cpy-tests: Likewise.
22782         * modules/unistr/u32-mblen-tests: Likewise.
22783         * modules/unistr/u32-mbsnlen-tests: Likewise.
22784         * modules/unistr/u32-mbtouc-tests: Likewise.
22785         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22786         * modules/unistr/u32-mbtoucr-tests: Likewise.
22787         * modules/unistr/u32-move-tests: Likewise.
22788         * modules/unistr/u32-next-tests: Likewise.
22789         * modules/unistr/u32-prev-tests: Likewise.
22790         * modules/unistr/u32-set-tests: Likewise.
22791         * modules/unistr/u32-stpcpy-tests: Likewise.
22792         * modules/unistr/u32-stpncpy-tests: Likewise.
22793         * modules/unistr/u32-strcat-tests: Likewise.
22794         * modules/unistr/u32-strcmp-tests: Likewise.
22795         * modules/unistr/u32-strcoll-tests: Likewise.
22796         * modules/unistr/u32-strcpy-tests: Likewise.
22797         * modules/unistr/u32-strdup-tests: Likewise.
22798         * modules/unistr/u32-strlen-tests: Likewise.
22799         * modules/unistr/u32-strmblen-tests: Likewise.
22800         * modules/unistr/u32-strmbtouc-tests: Likewise.
22801         * modules/unistr/u32-strncat-tests: Likewise.
22802         * modules/unistr/u32-strncmp-tests: Likewise.
22803         * modules/unistr/u32-strncpy-tests: Likewise.
22804         * modules/unistr/u32-strnlen-tests: Likewise.
22805         * modules/unistr/u32-to-u16-tests: Likewise.
22806         * modules/unistr/u32-to-u8-tests: Likewise.
22807         * modules/unistr/u32-uctomb-tests: Likewise.
22808         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22809         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22810         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22811         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22812         * modules/uniwidth/u8-strwidth-tests: Likewise.
22813         * modules/uniwidth/u8-width-tests: Likewise.
22814         * modules/uniwidth/u16-strwidth-tests: Likewise.
22815         * modules/uniwidth/u16-width-tests: Likewise.
22816         * modules/uniwidth/u32-strwidth-tests: Likewise.
22817         * modules/uniwidth/u32-width-tests: Likewise.
22818         * modules/uniwidth/width-tests: Likewise.
22819
22820 2010-05-18  Richard Jones  <rjones@redhat.com>
22821
22822         doc: users.txt: list hivex
22823         * users.txt: Add hivex.
22824
22825 2010-05-18  Richard Jones  <rjones@redhat.com>
22826
22827         doc: users.txt: list febootstrap
22828         * users.txt: Add febootstrap.
22829
22830 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22831
22832         bootstrap: fix an error when gnulib is not used as a git submodule
22833         * build-aux/bootstrap (gnulib_path): If its length is zero then
22834         assign "gnulib" to it.
22835         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22836
22837 2010-05-16  Bruno Haible  <bruno@clisp.org>
22838
22839         Avoid autoconf warnings about AM_ICONV.
22840         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22841         2.64.
22842
22843 2010-05-16  Bruno Haible  <bruno@clisp.org>
22844
22845         absolute-header: Make the macro usable in more situations.
22846         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
22847         from gl_ABSOLUTE_HEADER.
22848         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
22849
22850 2010-05-16  James Youngman  <jay@gnu.org>
22851
22852         doc: update users.txt
22853         * users.txt: Add CSSC.
22854
22855 2010-05-16  Jim Meyering  <meyering@redhat.com>
22856
22857         init.sh: fix an error in the previous change; add more comments
22858         * tests/init.sh: Compare exit code in loop against 9, not 2.
22859         Patch by Bruno Haible.
22860         Make the two tests more similar by adding an empty "then" clause.
22861         Add comments.
22862
22863         init.sh: avoid unnecessary shell re-exec
22864         * tests/init.sh: Improve the re-exec-required check to first test the
22865         current shell.  If it passes the test, do not search for a shell that
22866         does pass, and do not re-exec.  This test is particularly contorted to
22867         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
22868         of $(...) evokes a syntax error and causes immediate shell exit with
22869         status 2.  Bruno Haible reported that the re-exec made it impossible
22870         to single-step through any init.sh-using script.
22871
22872 2010-05-16  Bruno Haible  <bruno@clisp.org>
22873
22874         Fix collision between gnulib's and libintl's printf replacements.
22875         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22876         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
22877         (printf): When using GNU C, map the __printf__ function to rpl_printf
22878         via __asm__. When not using GNU C, define rpl_printf instead of
22879         __printf__.
22880         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
22881         commit.
22882         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
22883         commit.
22884         * m4/asm-underscore.m4: New file.
22885         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
22886         * modules/stdio (Files): Add m4/asm-underscore.m4.
22887         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
22888         Reported by Ben Pfaff.
22889
22890 2010-05-16  Bruno Haible  <bruno@clisp.org>
22891
22892         verify: Avoid skipping the test on openSUSE 11.0.
22893         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
22894
22895 2010-05-13  Bruno Haible  <bruno@clisp.org>
22896
22897         Avoid useless warnings from G++.
22898         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
22899         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
22900         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22901
22902 2010-05-11  Jim Meyering  <meyering@redhat.com>
22903
22904         maint.mk: tweak preceding change
22905         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
22906         regexps tighter by anchoring at EOL, and make the new group "shy"
22907         for slightly decreased overhead.
22908
22909 2010-05-11  Eric Blake  <eblake@redhat.com>
22910
22911         maint.mk: gnulib doesn't guarantee NSIG
22912         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
22913
22914 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22915
22916         test-pwrite.c: Remove unused variable declaration.
22917         * tests/test-pwrite.c (main): Remove read_buf declaration.
22918
22919         Remove useless test-pwrite.sh file.
22920         * tests/test-pwrite.sh: Delete file.
22921         * modules/pwrite-tests: Remove references.
22922         Reported by Bruno Haible.
22923
22924 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22925
22926         init.sh: fix a typo
22927         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
22928
22929 2010-05-10  Jim Meyering  <meyering@redhat.com>
22930
22931         maint.mk: avoid using a temporary file in the always-defined-macros check
22932         * top/maint.mk (.re-defmac): Remove rule.
22933         (gl_trap_): Remove definition.
22934         (sc_prohibit_always-defined_macros): Rewrite not to create and
22935         depend on a temporary file.  Instead, depend on GNU grep's ability
22936         to read a list of regular expressions from stdin when given "-f -".
22937
22938 2010-05-09  Bruno Haible  <bruno@clisp.org>
22939
22940         Update to GNU gettext 0.18, part 1.
22941         * m4/gettext.m4: Update to GNU gettext 0.18.
22942         * m4/intl.m4: Likewise.
22943         * m4/po.m4: Likewise.
22944         * modules/gettext (Files): Add m4/fcntl-o.m4.
22945         (configure.ac): Require gettext infrastructure from version 0.18.
22946
22947 2010-05-09  Jim Meyering  <meyering@redhat.com>
22948
22949         init.sh: enable MALLOC_PERTURB_
22950         * tests/init.sh: Enable glibc's malloc-perturbing option.
22951
22952         maint.mk: improve sc_cross_check_PATH_usage_in_tests
22953         With my recent change in init.sh from the two-line form:
22954             -#   : ${srcdir=.}
22955             -#   . "$srcdir/init.sh"; path_prepend_ .
22956             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
22957         I noticed that using the one-line form would cause this test
22958         to fail with a false-positive, or to stop working altogether,
22959         depending on whether help-version changed or all the tests did.
22960         * top/maint.mk (_hv_regex): Remove this definition.
22961         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
22962         (_hv_regex_strong): Use a stronger regex to check for conformance.
22963         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
22964         Give a separate diagnostic for lack of conforming use.
22965
22966         maint.mk: prohibit definition of symbols defined by gnulib
22967         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
22968         definition of symbols defined by gnulib.
22969
22970 2010-05-09  Bruno Haible  <bruno@clisp.org>
22971
22972         acl: Avoid test failure on Cygwin-hosted mingw.
22973         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
22974
22975 2010-05-09  Bruno Haible  <bruno@clisp.org>
22976
22977         error: Use system's fcntl function.
22978         * lib/error.c (fcntl): Undefine.
22979
22980 2010-05-09  Jim Meyering  <meyering@redhat.com>
22981
22982         verify: adjust formatting to be more consistent
22983         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
22984         argument-list '('s, and after one comma.
22985
22986 2010-05-09  Bruno Haible  <bruno@clisp.org>
22987
22988         error: More reliable output on mingw.
22989         * lib/error.c: Include <windows.h>.
22990         (is_open): New function.
22991         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
22992         defined.
22993
22994 2010-05-09  Bruno Haible  <bruno@clisp.org>
22995
22996         vasnprintf: Fix syntax errors in libintl build on mingw.
22997         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
22998         pad_ourselves and prec_ourselves after use.
22999
23000 2010-05-08  Bruno Haible  <bruno@clisp.org>
23001
23002         * lib/config.charset: Update comments for Cygwin 1.7.
23003         * lib/localcharset.c: Likewise.
23004
23005 2010-05-07  Jim Meyering  <meyering@redhat.com>
23006
23007         init.sh: improve comments
23008         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
23009         . "${srcdir=.}/init.sh"; path_prepend_ .
23010         Add a note about path_prepend_ and the alternative of using
23011         TESTS_ENVIRONMENT.
23012
23013 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23014
23015         exclude: Unescape hashed patterns in wildcard mode.
23016         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
23017         to the hash list.
23018         * tests/test-exclude8.sh: New test case.
23019         * modules/exclude-tests: Add new test.
23020
23021 2010-05-05  Eric Blake  <eblake@redhat.com>
23022
23023         verify: automate tests
23024         * modules/verify-tests: New module.
23025         * tests/test-verify.sh: New file.
23026         * tests/test-verify.c: Guard each negative test with a unique id.
23027         Also avoid warning about unused left hand of comma expressions.
23028
23029 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
23030
23031         Further improvements to verify.h, suggested by Eric Blake.
23032         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
23033         the GL_* versions, to avoid collision with OpenGL.
23034         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
23035         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
23036         than testing merely whether it's defined.
23037
23038         Modify verify.h to pacify gcc -Wredundant_decls.
23039         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
23040         These use the prefix "GL_" since they're likely to be useful elsewhere.
23041         We may need to break them out into a different .h file.
23042         (__COUNTER__): Define to 0 if the compiler doesn't support it.
23043         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
23044         of verify_function__.
23045
23046 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23047
23048         Tests for module pwrite.
23049         * modules/pwrite-tests: New file.
23050         * tests/test-pwrite.sh: New file.
23051         * tests/test-pwrite.c: New file.
23052
23053         New module pwrite.
23054         * lib/unistd.in.h (pwrite): New declaration.
23055         * lib/pwrite.c: New file, from glibc with modifications.
23056         * m4/pwrite.m4: New file.
23057         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
23058         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
23059         REPLACE_PWRITE.
23060         * modules/pwrite: New file.
23061         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
23062         REPLACE_PWRITE.
23063         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
23064         * doc/posix-functions/pwrite.texi: Mention the new module.
23065
23066 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23067
23068         pread: Update documentation.
23069         * doc/posix-functions/pread.texi: Mention the 'pread' module.
23070
23071 2010-05-04  Eric Blake  <eblake@redhat.com>
23072
23073         docs: update cygwin progress
23074         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
23075         this bug.
23076         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
23077         Added in cygwin 1.7.2.
23078         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
23079         Likewise.
23080         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
23081         Likewise.
23082         * doc/glibc-functions/dup3.texi (dup3): Likewise.
23083         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
23084         * doc/glibc-functions/accept4.texi (accept4): Likewise.
23085         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
23086         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
23087         Mention nproc module.
23088         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
23089         bug in cygwin 1.7.5 addition.
23090         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
23091         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
23092         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
23093         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
23094         1.7.5.
23095         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
23096         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
23097         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
23098         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
23099         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
23100         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
23101         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
23102         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
23103         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
23104         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
23105         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
23106         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
23107         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
23108         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
23109         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
23110         Likewise.
23111         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
23112         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
23113         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
23114         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
23115         Likewise.
23116         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
23117         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
23118         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
23119         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
23120         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
23121         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
23122         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
23123         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
23124         Likewise.
23125         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
23126         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
23127         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
23128         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
23129         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
23130         Likewise.
23131         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
23132         Likewise.
23133         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
23134         Likewise.
23135         * doc/glibc-functions/xdrrec_endofrecord.texi
23136         (xdrrec_endofrecord): Likewise.
23137         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
23138         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
23139         Likewise.
23140         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
23141         Likewise.
23142
23143 2010-05-04  Jim Meyering  <meyering@redhat.com>
23144
23145         gendocs.sh: make its "-s FILE" option more useful
23146         * build-aux/gendocs.sh: When honoring the -s FILE option, update
23147         $PACKAGE to reflect the probably-different basename of "FILE".
23148
23149 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23150
23151         bootstrap: don't ignore download_po_files failure
23152         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
23153         failure.
23154
23155 2010-05-03  Jim Meyering  <meyering@redhat.com>
23156
23157         maint.mk: allow to pass options to gendocs.sh
23158         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
23159         (gendocs_options_): New overridable variable.
23160
23161         gnu-web-doc-update: don't ignore configure or build failure
23162         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
23163
23164         announce-gen: backslash-escape '@'s in --help output
23165         * build-aux/announce-gen: Fix syntax errors.
23166
23167         maint.mk, announce-gen: allow project-specific announcement mail headers
23168         * top/maint.mk (translation_project_): Define default.
23169         (announcement_Cc_, announcement_mail_headers_): Likewise.
23170         (announcement): Invoke announce-gen with new --mail-headers option.
23171         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
23172
23173         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
23174         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
23175         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
23176         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
23177         line in the "err2" output file when running "make check" in verbose
23178         mode (i.e., with set -x enabled).
23179
23180 2010-05-03  Bruno Haible  <bruno@clisp.org>
23181
23182         wctob: Fix for weird platforms.
23183         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
23184         argument value.
23185
23186 2010-05-03  Jim Meyering  <meyering@redhat.com>
23187
23188         maint.mk: prohibit unwarranted use of <strings.h>
23189         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
23190         strings.h in a file that does not also use strcasecmp, strncasecmp,
23191         ffs or ffsll.
23192
23193         maint.mk: remove obsolete comments
23194         * top/maint.mk: Remove stale, commented-out rules.
23195
23196 2010-05-02  Bruno Haible  <bruno@clisp.org>
23197
23198         wcwidth: Declare also when it's aliased.
23199         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
23200         macro.
23201
23202 2010-05-02  Bruno Haible  <bruno@clisp.org>
23203
23204         Fix regression from 2010-04-25.
23205         * gnulib-tool (func_modules_transitive_closure): Check the status of
23206         all modules, not only of the tests that are of the form foo-tests where
23207         foo is a module.
23208
23209 2010-05-02  Bruno Haible  <bruno@clisp.org>
23210
23211         wctob: Work around nasty Cygwin 1.7.2 bug.
23212         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
23213         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
23214
23215 2010-05-01  Bruno Haible  <bruno@clisp.org>
23216
23217         fpurge: Sharper test.
23218         * tests/test-fpurge.c (main): Add one more ftell check.
23219         * modules/fpurge-tests (Depends-on): Add ftell.
23220         Suggested by Eric Blake.
23221
23222 2010-05-01  Bruno Haible  <bruno@clisp.org>
23223
23224         ftello: Another test.
23225         * tests/test-ftello3.c: New file.
23226         * modules/ftello-tests (Files): Add it.
23227         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23228         MOSTLYCLEANFILES.
23229
23230         ftell: Another test.
23231         * tests/test-ftell3.c: New file.
23232         * modules/ftell-tests (Files): Add it.
23233         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23234         MOSTLYCLEANFILES.
23235
23236 2010-05-01  Bruno Haible  <bruno@clisp.org>
23237
23238         ftell, ftello: Work around Solaris bug.
23239         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
23240         * lib/ftello.c: Include stdio-impl.h.
23241         (ftello): On Solaris, when _IOWRT is set, compute the result without
23242         looking at _IOREAD.
23243         * modules/ftello (Files): Add lib/stdio-impl.h.
23244         * doc/posix-functions/ftell.texi: Mention Solaris bug.
23245         * doc/posix-functions/ftello.texi: Likewise.
23246         Reported by Eric Blake.
23247
23248 2010-05-01  Bruno Haible  <bruno@clisp.org>
23249
23250         freading: Adapt to special meaning of _IOREAD flag on Solaris.
23251         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
23252         the _IOWRT flag is also set.
23253
23254 2010-05-01  Bruno Haible  <bruno@clisp.org>
23255
23256         Fix doc about a HP-UX stdio bug.
23257         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
23258         * doc/posix-functions/ftello.texi: Likewise.
23259
23260 2010-05-01  Bruno Haible  <bruno@clisp.org>
23261
23262         lseek test: Fix failure on Solaris.
23263         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
23264         output.
23265
23266 2010-04-30  Jim Meyering  <meyering@redhat.com>
23267
23268         bootstrap: don't ignore failure to generate po*/Makevars
23269         * build-aux/bootstrap (with_gettext): Don't ignore failure
23270         to create po/Makevars or runtime-po/Makevars.
23271
23272 2010-04-29  Eric Blake  <eblake@redhat.com>
23273
23274         headers: relax license to LGPLv2+
23275         * modules/fcntl-h (License): Relax license.
23276         * modules/getopt-posix (License): Likewise.
23277         * modules/locale (License): Likewise.
23278         * modules/math (License): Likewise.
23279         * modules/pty (License): Likewise.
23280         * modules/sched (License): Likewise.
23281         * modules/search (License): Likewise.
23282         * modules/spawn (License): Likewise.
23283         * modules/stdarg (License): Likewise.
23284         * modules/sysexits (License): Likewise.
23285
23286 2010-04-29  Jim Meyering  <meyering@redhat.com>
23287
23288         inttypes: relax license to LGPLv2+
23289         * modules/inttypes (License): Relax license.
23290
23291 2010-04-29  Simon Josefsson  <simon@josefsson.org>
23292
23293         * top/maint.mk (indent): Run twice to produce idempotent results.
23294
23295 2010-04-28  Bruno Haible  <bruno@clisp.org>
23296
23297         getdate: Generate getdate.c in the source directory.
23298         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
23299         MOSTLYCLEANFILES.
23300         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
23301
23302 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
23303
23304         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
23305         is not declared as a const *; avoid warnings in that case.
23306
23307 2010-04-28  Eric Blake  <eblake@redhat.com>
23308
23309         canonicalize-lgpl: avoid compiler warning
23310         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
23311         declaration' / 'extraneous semicolon' warning with some compilers.
23312         Reported by Andreas Gruenbacher.
23313
23314 2010-04-28  Jim Meyering  <meyering@redhat.com>
23315
23316         init.sh: ensure a more reliable exit status when exiting via trap
23317         * tests/init.sh (setup_): Don't rely on $? in signal handler.
23318         Inspired by patches from Dmitry V. Levin.
23319         Also trap on signal 3 (SIGQUIT).
23320
23321 2010-04-27  Bruno Haible  <bruno@clisp.org>
23322
23323         Update doc about utimes().
23324         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
23325         'utimens' module.
23326         Reported by Andreas Gruenbacher <agruen@suse.de>.
23327
23328 2010-04-27  Eric Blake  <eblake@redhat.com>
23329
23330         full-read, full-write: relax license
23331         * modules/full-read (License): Drop to LGPLv2+.
23332         * modules/full-write (License): Likewise.
23333         * modules/safe-read (License): Likewise.
23334         * modules/safe-write (License): Likewise.
23335
23336         pthread: mention library for linking
23337         * modules/pthread (Link): Mention $(LIB_PTHREAD).
23338
23339 2010-04-27  Jim Meyering  <meyering@redhat.com>
23340
23341         maint.mk: fix a bug introduced in last change
23342         * top/maint.mk (gl_assured_headers_): Now that all names are on
23343         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
23344         is not anchored to end of word, it should be adequate.
23345
23346         maint.mk: avoid side-effect in latest syntax-check
23347         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
23348         to run commands via $(shell...), and hence to incur cost only when
23349         the new rule is actually run.
23350
23351         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
23352         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
23353         and use that to create a regexp used to detect all #if HAVE_..._H uses.
23354         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
23355         (gl_assured_headers_, az_, AZ_): Define.
23356         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
23357
23358 2010-04-26  Jim Meyering  <jim@meyering.net>
23359             Bruno Haible  <bruno@clisp.org>
23360
23361         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
23362         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
23363         Prompted by an exchange with Gilles Espinasse.
23364
23365 2010-04-26  Jim Meyering  <meyering@redhat.com>
23366
23367         git-version-gen: aesthetic tweak
23368         * build-aux/git-version-gen: Use "$nl" rather than a literal,
23369         so that the command remains on a single line.
23370
23371 2010-04-26  Eric Blake  <eblake@redhat.com>
23372
23373         git-version-gen: allow use on EBCDIC hosts
23374         * build-aux/git-version-gen (dirty): Use literal rather than tying
23375         ourselves to ascii.
23376         Reported by Steve Goetze.
23377
23378 2010-04-25  Bruno Haible  <bruno@clisp.org>
23379
23380         netdb: Add support for GNULIB_POSIXCHECK.
23381         * lib/netdb.in.h: Include warn-on-use.h.
23382         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
23383         functions are used when GNULIB_POSIXCHECK is defined and the
23384         getaddrinfo module is not in use.
23385         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
23386         freeaddrinfo, gai_strerror, getnameinfo are declared.
23387         * modules/netdb (Depends-on): Add warn-on-use.
23388         (Makefile.am): Include warn-on-use.h in netdb.h.
23389
23390 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
23391
23392         build: avoid "make check" failure without .git/ directory
23393         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
23394         there is no .git/ directory.
23395
23396 2010-04-25  Bruno Haible  <bruno@clisp.org>
23397
23398         ptsname: Fix misuse of ttyname_r.
23399         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
23400         of errno.
23401
23402 2010-04-25  Bruno Haible  <bruno@clisp.org>
23403
23404         ttyname_r: Make it work on Solaris 10.
23405         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
23406         if the system function has the POSIX declaration. Test whether the
23407         function fails if the buffer is less than 128 bytes large.
23408         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
23409         system's ttyname_r function. Provide a reasonably large buffer.
23410         * modules/ttyname_r (Depends-on): Add extensions.
23411         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
23412
23413 2010-04-25  Bruno Haible  <bruno@clisp.org>
23414
23415         Use the 'extensions' module for some more functions on Solaris.
23416         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
23417         module.
23418         * doc/posix-functions/ctime_r.texi: Likewise.
23419         * doc/posix-functions/getgrgid_r.texi: Likewise.
23420         * doc/posix-functions/getgrnam_r.texi: Likewise.
23421         * doc/posix-functions/getpwnam_r.texi: Likewise.
23422         * doc/posix-functions/getpwuid_r.texi: Likewise.
23423         * doc/posix-functions/readdir_r.texi: Likewise.
23424         * doc/posix-functions/sigwait.texi: Likewise.
23425         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
23426         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
23427
23428 2010-04-25  Bruno Haible  <bruno@clisp.org>
23429
23430         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23431         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23432         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23433         * lib/ttyname_r.c: Include <limits.h>.
23434         (ttyname_r): Define using the system's ttyname_r function, if it exists
23435         and not on Solaris.
23436         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23437         set.
23438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23439         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23440         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23441         Reported by Simon Josefsson.
23442
23443 2010-04-25  Bruno Haible  <bruno@clisp.org>
23444
23445         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23446         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23447         * doc/posix-functions/ctime_r.texi: Likewise.
23448         * doc/posix-functions/getgrgid_r.texi: Likewise.
23449         * doc/posix-functions/getgrnam_r.texi: Likewise.
23450         * doc/posix-functions/getlogin_r.texi: Likewise.
23451         * doc/posix-functions/getpwnam_r.texi: Likewise.
23452         * doc/posix-functions/getpwuid_r.texi: Likewise.
23453         * doc/posix-functions/readdir_r.texi: Likewise.
23454         * doc/posix-functions/sigwait.texi: Likewise.
23455         * doc/posix-functions/ttyname_r.texi: Likewise.
23456         Reported by Simon Josefsson.
23457
23458 2010-04-25  Bruno Haible  <bruno@clisp.org>
23459
23460         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23461         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23462         also to --create-testdir.
23463         (func_acceptable): Don't consider the status of *-tests modules here.
23464         (func_modules_transitive_closure): Consider it here, before including a
23465         test module.
23466         (func_import, func_create_testdir): Set inc_all_direct_tests,
23467         inc_all_indirect_tests.
23468         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23469         --create-testdir and --create-megatestdir.
23470
23471 2010-04-25  Bruno Haible  <bruno@clisp.org>
23472
23473         gnulib-tool: Add --without-*-tests options.
23474         * gnulib-tool (func_usage): Document the --without-*-tests options.
23475         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23476         excl_unportable_tests): New variables.
23477         Fail if they are specified with --import or --update.
23478         (func_acceptable): Respect the excl_*_tests variables.
23479         (func_import): Set the excl_*_tests variables to empty.
23480
23481 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23482             Bruno Haible  <bruno@clisp.org>
23483
23484         Work around a MacOS X 10.4 bug with openpty.
23485         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23486         * tests/test-openpty.c (main): Close the master side explicitly.
23487
23488 2010-04-25  Bruno Haible  <bruno@clisp.org>
23489
23490         strnlen: Fix a C++ test error on MacOS X and Solaris.
23491         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23492         the function is not declared.
23493         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23494         Simon Josefsson.
23495
23496 2010-04-24  Bruno Haible  <bruno@clisp.org>
23497
23498         Avoid a gcc warning.
23499         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23500         of correct type for %08lx directive.
23501         Reported by Eric Blake.
23502
23503 2010-04-24  Bruno Haible  <bruno@clisp.org>
23504
23505         vasnprintf: Correct errno value in case of out-of-memory.
23506         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23507         or sprintf. Use the errno value from SNPRINTF or sprintf.
23508         Reported by Ian Beckwith <ianb@erislabs.net>.
23509
23510 2010-04-24  Bruno Haible  <bruno@clisp.org>
23511
23512         ansi-c++-opt: Find correct compiler when cross-compiling.
23513         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23514         AC_CHECK_PROGS.
23515         Reported by Simon Josefsson.
23516
23517 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23518
23519         vc-list-files: Add support for subversion
23520         * build-aux/vc-list-files: Use "svn list" to generate the list of
23521         files controlled by subversion.
23522
23523 2010-04-23  Jim Meyering  <meyering@redhat.com>
23524
23525         vc-list-files tests: convert to use init.sh
23526         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23527         path_prepend_.
23528         Use Exit, not exit.
23529         Use skip_ rather than open coding it.
23530         Remove trap set-up and compare definitions.
23531         * tests/test-vc-list-files-git.sh: Likewise.
23532         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23533
23534 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23535
23536         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23537         backup files.
23538
23539 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23540
23541         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23542
23543 2010-04-20  Eric Blake  <eblake@redhat.com>
23544
23545         tests: be robust to ignored SIGPIPE
23546         * tests/test-select-in.sh: Consume all output.
23547         * tests/test-lseek.sh: Check correct exit status, while avoiding
23548         EPIPE.
23549
23550 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23551             Bruno Haible  <bruno@clisp.org>
23552
23553         visibility: Don't use -fvisibility if it leads to a warning.
23554         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23555         yes, don't pretend that visibility works if it leads to a warning.
23556         Reported by Mike Gran <spk121@yahoo.com>.
23557
23558 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23559
23560         * build-aux/bootstrap: Use "git -h" for testing for supported options
23561         instead of "git --help".  The short-form option only shows a summary,
23562         and doesn't layout the full man page.  Grep for the full option name
23563         in the summary, too.
23564
23565 2010-04-19  Bruno Haible  <bruno@clisp.org>
23566
23567         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23568         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23569         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23570         mention of RELOCATABLE_STRIP.
23571         Reported by Sylvain Beucler <beuc@beuc.net>.
23572
23573 2010-04-19  Bruno Haible  <bruno@clisp.org>
23574
23575         * lib/diffseq.h: Fix typo in comment.
23576         Reported by Eric Blake.
23577
23578 2010-04-19  Bruno Haible  <bruno@clisp.org>
23579
23580         ioctl: Move autoconf macro to a .m4 file.
23581         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23582         * modules/ioctl (Files): Add it.
23583         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23584         Reported by Ian Beckwith <ianb@erislabs.net>.
23585
23586 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23587             Bruno Haible  <bruno@clisp.org>
23588
23589         diffseq: Accommodate use-case with abstract arrays.
23590         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23591         is not defined.
23592         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23593         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23594
23595 2010-04-18  Bruno Haible  <bruno@clisp.org>
23596
23597         * doc/posix-headers/stdbool.texi: More precise wording.
23598
23599 2010-04-17  Jim Meyering  <meyering@redhat.com>
23600
23601         maint.mk: use gnu-style indentation in an embedded perl script
23602         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23603         Rename variable: s/two/last_two_bytes/
23604
23605 2010-04-16  Eric Blake  <eblake@redhat.com>
23606
23607         test-stdbool: skip test that fails with Solaris CC
23608         * tests/test-stdbool.c (f): Skip test that causes compilation
23609         error under buggy C++ compiler.
23610         * lib/stdbool.in.h: Document the limitation.
23611         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23612
23613         setenv: allow compilation with C++
23614         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23615         register keyword.
23616
23617         stdint: allow test to pass with C++
23618         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23619
23620         getopt: allow compilation with C++
23621         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23622         struct.
23623         * lib/getopt.c (_getopt_internal_r): Use correct type.
23624         Reported by Dagobert Michelson, via Joel E. Denny.
23625
23626 2010-04-16  Bruno Haible  <bruno@clisp.org>
23627
23628         Override netdb.h always.
23629         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23630         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23631         Reported by Ludovic Courtès <ludo@gnu.org>.
23632
23633 2010-04-15  Bruno Haible  <bruno@clisp.org>
23634
23635         openpty: Fix mistake from 2010-03-21.
23636         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23637         Reported by Simon Josefsson.
23638
23639 2010-04-15  Eric Blake  <eblake@redhat.com>
23640
23641         test-forkpty: fix expected signature
23642         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23643         Reported by Simon Josefsson.
23644
23645 2010-04-15  Jim Meyering  <meyering@redhat.com>
23646
23647         maint.mk: texinfo_suffix_re_: correct the default regexp
23648         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23649
23650         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23651         make it configurable via texinfo_suffix_re_.
23652
23653 2010-04-14  Eric Blake  <eblake@redhat.com>
23654
23655         strtok_r: relax license to LGPLv2+
23656         * modules/strtok_r (License): Relax license.
23657         Reported by Matthias Bolte.
23658
23659 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23660
23661         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23662         version 1.4.4 by default instead of requiring the libgcrypt
23663         version used during build.  This makes it possible to use the
23664         application with older but still binary compatible libgcrypt
23665         versions.
23666
23667 2010-04-13  Eric Blake  <eblake@redhat.com>
23668
23669         getopt-gnu: match recent glibc fixes and posix ruling
23670         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23671         '+' handling, when requesting extensions.
23672         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23673         'W;' handling.
23674         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23675         * doc/posix-functions/getopt.texi (getopt): Document this.
23676         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23677         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23678         Likewise.
23679
23680         getopt: merge bug fixes from glibc
23681         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23682         diagnostics.  Honor '+:' correctly.  Reject ';'.
23683
23684         getopt-posix: detect MacOS bug
23685         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23686         optind when missing a required argument.
23687         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23688         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23689         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23690         Likewise.
23691
23692         getopt-posix: avoid spurious failure on Solaris
23693         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23694         an indicator that setting optind=1 is sufficient for reset.
23695
23696         getopt-posix: avoid spurious failure on FreeBSD
23697         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23698         in POSIX mode, since the m4 test uses it.
23699
23700         gnulib-tool: silence warning on BSD sh
23701         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23702
23703 2010-04-13  Jim Meyering  <meyering@redhat.com>
23704
23705         doc: users.txt: GNU patch now uses gnulib
23706         * users.txt: Add patch.
23707
23708 2010-04-12  Jim Meyering  <meyering@redhat.com>
23709
23710         maint.mk: generate more concise timing data for syntax-check rules
23711         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23712         " done" from each line that reports a syntax-check test duration.
23713
23714 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23715
23716         git-version-gen: use "git update-index..." rather than "git status"
23717         * build-aux/git-version-gen: Use git update-index --refresh, not
23718         "git status".  With some versions of git, "git status" would fail
23719         to update the index and result in an unwarranted "-dirty" suffix.
23720
23721 2010-04-11  Jim Meyering  <meyering@redhat.com>
23722
23723         openat: correct formatting (no semantic change)
23724         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23725         Suggested by Bruno Haible.
23726
23727 2010-04-11  Bruno Haible  <bruno@clisp.org>
23728
23729         Stricter declaration checking in testdirs.
23730         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23731         If for_tests is true, augment AM_CPPFLAGS to define
23732         GNULIB_STRICT_CHECKING.
23733         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23734         GNULIB_STRICT_CHECKING is defined, verify that the function is
23735         declared.
23736
23737 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23738             Bruno Haible  <bruno@clisp.org>
23739
23740         libunistring: Improve configure output.
23741         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23742         Don't say "consider installing GNU libunistring" when checking again
23743         with libiconv.
23744
23745 2010-04-11  Bruno Haible  <bruno@clisp.org>
23746
23747         libunistring: Correct value of $LTLIBUNISTRING.
23748         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23749         correct the value of $LTLIBUNISTRING.
23750
23751 2010-04-11  Bruno Haible  <bruno@clisp.org>
23752
23753         havelib: Add static libraries to LIBS in the right order.
23754         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23755         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23756
23757 2010-04-11  Bruno Haible  <bruno@clisp.org>
23758
23759         libunistring: Detect libunistring also when it depends on libiconv.
23760         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23761         the second AC_LIB_HAVE_LINKFLAGS invocation.
23762
23763 2010-04-11  James Youngman  <jay@gnu.org>
23764
23765         close-stream: declare local scalars to be "const"
23766         * lib/close-stream.c (close_stream): Make boolean variables const
23767         to document the fact that we set but do not change them.
23768
23769 2010-04-11  Bruno Haible  <bruno@clisp.org>
23770
23771         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23772
23773 2010-04-11  Jim Meyering  <meyering@redhat.com>
23774
23775         maint.mk: don't include dist-check.mk
23776         * top/maint.mk: Remove bogus include directive.
23777
23778         maint.mk: improve empty-line-at-EOF check
23779         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23780         solution, rather than tail+Perl-based one.  The latter would read
23781         a few kilobytes from the end of each file, and did not handle empty
23782         files properly.
23783
23784         maint.mk: print the elapsed time for each syntax-check rule
23785         * top/maint.mk (sc_m_rules_): Save start time in a file.
23786         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23787         (local-check): Interpose the .z rules
23788
23789 2010-04-11  Jim Meyering  <meyering@redhat.com>
23790
23791         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23792         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23793         empty file with one that ends in an empty line.
23794
23795 2010-04-10  Bruno Haible  <bruno@clisp.org>
23796
23797         mkdir: Make it work on mingw64.
23798         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23799         * lib/mkdir.c: Update comment.
23800         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
23801
23802 2010-04-10  Bruno Haible  <bruno@clisp.org>
23803
23804         Don't override improved macro from newer autoconf.
23805         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23806         autoconf >= 2.62.
23807         Reported by Joel E. Denny <jdenny@clemson.edu>.
23808
23809 2010-04-10  Jim Meyering  <meyering@redhat.com>
23810
23811         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23812         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23813
23814         maint.mk: correct a diagnostic
23815         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23816         in diagnostic; now use $prohibit.
23817
23818 2010-04-10  Bruno Haible  <address@hidden>
23819
23820         fchownat: Fix a C++ test error on Solaris 8.
23821         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23822         the function does not exist.
23823
23824 2010-04-10  Bruno Haible  <bruno@clisp.org>
23825
23826         vasnprintf: Add more tests.
23827         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23828         (test_function): Test converting an invalid wide string.
23829
23830         vasnprintf: Correct handling of unconvertible wide string arguments.
23831         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23832         VASNPRINTF.
23833         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23834         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23835         smaller than the expected maximum need for the directive. Set errno to
23836         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23837         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23838         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23839         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23840         * modules/vasnprintf (Files): Add m4/printf.m4.
23841         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23842
23843 2010-04-10  Bruno Haible  <bruno@clisp.org>
23844
23845         vasnprintf: Fix crash in %ls directive.
23846         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
23847         string is passed as argument to %ls, with no precision and no width.
23848         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23849
23850 2010-04-10  Bruno Haible  <bruno@clisp.org>
23851
23852         vasnprintf: Fix multiple test failures on mingw.
23853         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
23854         _snprintf, or snwprintf, not _snwprintf.
23855
23856 2010-04-10  Bruno Haible  <bruno@clisp.org>
23857
23858         write: Fix a C++ test error on mingw.
23859         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
23860
23861 2010-04-10  Bruno Haible  <bruno@clisp.org>
23862
23863         vasnprintf test: Reduce code duplication.
23864         * tests/test-vasnprintf.c (test_function): New function, extracted from
23865         test_vasnprintf.
23866         (test_vasnprintf, test_asnprintf): Invoke it.
23867
23868 2010-04-10  Bruno Haible  <bruno@clisp.org>
23869
23870         strnlen: Fix warning in C++ mode on MacOS X.
23871         * lib/string.in.h (strnlen): Use the modern idiom.
23872         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
23873         defining strnlen as a macro already in <config.h>.
23874         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23875         REPLACE_STRNLEN.
23876         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
23877         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23878
23879 2010-04-08  James Youngman  <jay@gnu.org>
23880
23881         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
23882         the example.
23883
23884 2010-04-09  Jim Meyering  <meyering@redhat.com>
23885
23886         maint.mk: print better diagnostic when there is no $(_hv_file)
23887         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
23888         announce that when $(_hv_file) (aka help-version) does not exist.
23889
23890         init.sh: run tr in the "C" locale to avoid multibyte interpretation
23891         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
23892         not try to interpret its random input bytes.  Jarno Rajahalme reported
23893         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
23894         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
23895         (mktempd_): Likewise, just in case.
23896
23897         ftruncate: add two years to projected module removal date: 2012
23898         * m4/ftruncate.m4: Adjust comments.
23899
23900         ftruncate: mark module as obsolete; even MinGW provides it, now
23901         * modules/ftruncate (Status): Obsolete.
23902         (Notice): Say that.
23903         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
23904         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
23905
23906 2010-04-08  Bruno Haible  <bruno@clisp.org>
23907
23908         Fix side effects from tests-related modules.
23909         * modules/dprintf-posix (Comment): New section.
23910         * modules/fprintf-posix (Comment): Likewise.
23911         * modules/obstack-printf-posix (Comment): Likewise.
23912         * modules/printf-posix (Comment): Likewise.
23913         * modules/snprintf-posix (Comment): Likewise.
23914         * modules/sprintf-posix (Comment): Likewise.
23915         * modules/vasnprintf-posix (Comment): Likewise.
23916         * modules/vasprintf-posix (Comment): Likewise.
23917         * modules/vdprintf-posix (Comment): Likewise.
23918         * modules/vfprintf-posix (Comment): Likewise.
23919         * modules/vprintf-posix (Comment): Likewise.
23920         * modules/vsnprintf-posix (Comment): Likewise.
23921         * modules/vsprintf-posix (Comment): Likewise.
23922         * modules/xprintf-posix (Comment): Likewise.
23923         * modules/xvasprintf-posix (Comment): Likewise.
23924         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
23925         * modules/floorf-tests (Depends-on): Likewise.
23926         * modules/round-tests (Depends-on): Likewise.
23927         * modules/roundf-tests (Depends-on): Likewise.
23928         * modules/trunc-tests (Depends-on): Likewise.
23929         * modules/truncf-tests (Depends-on): Likewise.
23930         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
23931         'fprintf-posix' module is not present.
23932         * tests/test-floorf2.c (check): Likewise.
23933         * tests/test-trunc2.c (check): Likewise.
23934         * tests/test-truncf2.c (check): Likewise.
23935         * tests/test-round2.c (equal): Likewise.
23936         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23937
23938 2010-04-07  Karl Berry  <karl@gnu.org>
23939
23940         * config/srclist.txt,
23941         * config/srclistvars.sh,
23942         * config/srclist-update: doc fixes.
23943
23944 2010-04-07  Jim Meyering  <meyering@redhat.com>
23945
23946         maint.mk: add a PATH crosschecking syntax-check rule
23947         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
23948         Useful if you use a test like the one in help-version (coreutils,
23949         diffutils, grep, gzip) that ensures $(VERSION) matches what is
23950         printed by prog --version.
23951
23952 2010-04-06  Bruno Haible  <bruno@clisp.org>
23953
23954         Fix link error on mingw.
23955         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
23956         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
23957
23958 2010-04-06  Bruno Haible  <bruno@clisp.org>
23959
23960         Assume rmdir exists.
23961         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
23962
23963 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
23964
23965         doc: update users.txt
23966         * users.txt: Add gcal.
23967
23968 2010-04-06  Jim Meyering  <meyering@redhat.com>
23969
23970         init.sh: simply unset TMPDIR rather than risking env -i
23971         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
23972         although it probably works fine on all Unix-based systems, some
23973         systems (Cygwin?) cannot tolerate a totally cleared environment.
23974         Suggestion from Eric Blake.
23975
23976 2010-04-06  Jim Meyering  <meyering@redhat.com>
23977
23978         init.sh: portability fix: use env's POSIX-specified -i option not -u
23979         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
23980         than unportable env -u.  Solaris 5.11's env lacks support for -u.
23981
23982 2010-04-05  Bruno Haible  <bruno@clisp.org>
23983
23984         btowc: Work around Cygwin 1.7.2 bug.
23985         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
23986         does not map NUL to 0.
23987         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
23988
23989 2010-04-05  Bruno Haible  <bruno@clisp.org>
23990
23991         Make the multithread modules work on Cygwin 1.7.2.
23992         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
23993         imported symbols can be declared weak, so that it returns "no" on
23994         Cygwin 1.7.2.
23995
23996 2010-04-05  Bruno Haible  <bruno@clisp.org>
23997
23998         Use the module 'strncat'.
23999         * modules/unistr/u8-strncat (Depends-on): Add strncat.
24000
24001         Tests for module 'strncat'.
24002         * modules/strncat-tests: New file.
24003         * tests/test-strncat.c: New file.
24004
24005         New module 'strncat'.
24006         * lib/string.in.h (strncat): New declaration.
24007         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
24008         * m4/strncat.m4: New file, based on m4/memchr.m4.
24009         * modules/strncat: New file.
24010         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
24011         is declared.
24012         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
24013         REPLACE_STRNCAT.
24014         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
24015         REPLACE_STRNCAT.
24016         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
24017         module.
24018         * tests/test-string-c++.cc: Check signature of strncat.
24019
24020 2010-04-05  Jim Meyering  <meyering@redhat.com>
24021
24022         xstrtoumax-tests: convert to use init.sh
24023         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
24024         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24025         Use Exit, not exit.
24026         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24027
24028         xstrtoimax-tests: convert to use init.sh
24029         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
24030         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24031         Use Exit, not exit.
24032         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24033
24034 2010-04-05  Bruno Haible  <bruno@clisp.org>
24035
24036         sys_socket: Avoid #define replacements in C++ mode.
24037         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
24038         warning to the function if possible, rather than #defining the symbol
24039         to a dysfunctional alias.
24040
24041 2010-04-05  Bruno Haible  <bruno@clisp.org>
24042
24043         fseeko: Fix C++ test error on mingw.
24044         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
24045         gl_FUNC_FSEEKO.
24046         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
24047         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
24048         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
24049         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
24050
24051 2010-04-05  Bruno Haible  <bruno@clisp.org>
24052
24053         duplocale: Improve test output.
24054         * tests/test-duplocale.c (main): Print reason for skipped test.
24055
24056 2010-04-05  Bruno Haible  <bruno@clisp.org>
24057
24058         Assume rmdir exists.
24059         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
24060         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
24061
24062 2010-04-05  Bruno Haible  <bruno@clisp.org>
24063
24064         Fix link error on Solaris 8 with cc.
24065         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
24066
24067 2010-04-05  Bruno Haible  <bruno@clisp.org>
24068
24069         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24070         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
24071
24072 2010-04-05  Bruno Haible  <bruno@clisp.org>
24073
24074         vasprintf: Update documentation.
24075         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
24076
24077 2010-04-05  Bruno Haible  <bruno@clisp.org>
24078
24079         ptsname: Improve test.
24080         * tests/test-ptsname.c (main): Also try the various master names of BSD
24081         systems.
24082
24083 2010-04-05  Bruno Haible  <bruno@clisp.org>
24084
24085         memchr: Avoid a possible C++ test error.
24086         * lib/string.in.h (memchr): Provide declaration if function is missing.
24087         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
24088         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
24089         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
24090         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
24091
24092 2010-04-05  Bruno Haible  <bruno@clisp.org>
24093
24094         strtok_r: Improve idiom.
24095         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
24096         AC_LIBOBJ is used.
24097
24098 2010-04-05  Bruno Haible  <bruno@clisp.org>
24099
24100         strdup: Improve idiom.
24101         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
24102         AC_LIBOBJ is used.
24103         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
24104         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
24105         when AC_LIBOBJ is used.
24106
24107 2010-04-05  Bruno Haible  <bruno@clisp.org>
24108
24109         mbsinit, mbrtowc, wcrtomb: Improve idioms.
24110         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
24111         don't set REPLACE_MBSINIT to 1.
24112         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
24113         don't set REPLACE_MBRTOWC to 1.
24114         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
24115         exist, don't set REPLACE_MBSRTOWCS to 1.
24116         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
24117         exist, don't set REPLACE_MBSNRTOWCS to 1.
24118         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
24119         don't set REPLACE_WCRTOMB to 1.
24120         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
24121         exist, don't set REPLACE_WCSRTOMBS to 1.
24122         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
24123         exist, don't set REPLACE_WCSNRTOMBS to 1.
24124
24125 2010-04-05  Bruno Haible  <bruno@clisp.org>
24126
24127         ldexpl: Improve idiom.
24128         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
24129         make sure to set HAVE_DECL_LDEXPL to 0.
24130
24131 2010-04-05  Jim Meyering  <meyering@redhat.com>
24132
24133         xstrtol-tests: convert to use init.sh
24134         * modules/xstrtol-tests (Files): Add tests/init.sh.
24135         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24136         Use Exit, not exit.
24137         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24138
24139         atexit-tests: convert to use init.sh
24140         * modules/atexit-tests (Files): Add tests/init.sh.
24141         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24142         Use Exit, not exit.
24143         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24144
24145         init.sh: fix typo
24146         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
24147
24148         init.sh: make it easier for a test script to write to the tty, ...
24149         when using automake's parallel-tests mode.
24150         * tests/init.sh (stderr_fileno_): Define overridable variable.
24151         (warn_): New function, to use it.
24152         (fail_, skip_, framework_failure_): Use warn_.
24153
24154 2010-04-04  Bruno Haible  <bruno@clisp.org>
24155
24156         btowc: Avoid warning.
24157         * lib/btowc.c: Include <stdlib.h>.
24158         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
24159
24160 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24161             Bruno Haible  <bruno@clisp.org>
24162
24163         wchar: Port to NetBSD 1.5.
24164         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
24165         * lib/wctype.in.h (WEOF): Likewise.
24166
24167 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24168             Bruno Haible  <bruno@clisp.org>
24169
24170         Port extended stdio to NetBSD 1.5.
24171         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
24172         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
24173         older.
24174
24175 2010-04-04  Bruno Haible  <bruno@clisp.org>
24176
24177         string: Remove unused substitution.
24178         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24179         HAVE_DECL_STRERROR.
24180         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
24181
24182 2010-04-04  Bruno Haible  <bruno@clisp.org>
24183
24184         strtod: Avoid a possible C++ test error.
24185         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
24186         set REPLACE_STRTOD.
24187
24188 2010-04-04  Bruno Haible  <bruno@clisp.org>
24189
24190         strerror: Update documentation.
24191         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
24192
24193 2010-04-04  Bruno Haible  <bruno@clisp.org>
24194
24195         stdio: Fix some C++ test errors on Solaris 8 with GCC.
24196         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
24197         _GL_CXXALIAS_SYS_CAST.
24198
24199 2010-04-04  Bruno Haible  <bruno@clisp.org>
24200
24201         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24202         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
24203         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
24204         REPLACE_FREXPL to 1.
24205         * doc/posix-functions/frexpl.texi: Update documentation.
24206
24207 2010-04-04  Bruno Haible  <bruno@clisp.org>
24208
24209         math: Fix some C++ test errors on Solaris 8 and Cygwin.
24210         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
24211
24212 2010-04-04  Bruno Haible  <bruno@clisp.org>
24213
24214         Implement nanosleep for native Windows.
24215         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
24216
24217 2010-04-04  Bruno Haible  <bruno@clisp.org>
24218
24219         math: Fix some C++ test errors on Solaris 8.
24220         * lib/math.in.h (truncf, trunc): Use simpler idiom.
24221
24222 2010-04-04  Bruno Haible  <bruno@clisp.org>
24223
24224         math: Fix some C++ test errors on Cygwin.
24225         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
24226         truncl): Provide declaration if the system does not have it.
24227         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
24228         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
24229         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
24230         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
24231         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
24232         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
24233         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
24234         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
24235         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
24236         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
24237         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
24238         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
24239         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
24240         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
24241         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
24242         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
24243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
24244         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24245         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24246         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
24247         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24248         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24249
24250 2010-04-04  Bruno Haible  <bruno@clisp.org>
24251
24252         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
24253         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24254         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
24255         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24256         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24257         * m4/isinf.m4 (gl_ISINF): Likewise.
24258         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24259
24260 2010-04-04  Bruno Haible  <bruno@clisp.org>
24261
24262         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
24263         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24264
24265 2010-04-04  Bruno Haible  <bruno@clisp.org>
24266
24267         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
24268         * modules/tmpfile (configure.ac): Update.
24269
24270         tmpfile: Fix C++ test error on mingw.
24271         * lib/stdio.in.h (tmpfile): New declaration.
24272         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
24273         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
24274         * modules/tmpfile (Depends-on): Add stdio.
24275         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
24276         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
24277         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
24278         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
24279         REPLACE_TMPFILE.
24280         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
24281
24282 2010-04-04  Bruno Haible  <bruno@clisp.org>
24283
24284         ioctl: Fix C++ test error on mingw.
24285         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
24286         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
24287         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
24288
24289 2010-04-03  Bruno Haible  <bruno@clisp.org>
24290
24291         wcwidth: Fix C++ test error on mingw.
24292         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
24293         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
24294         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
24295
24296 2010-04-03  Bruno Haible  <bruno@clisp.org>
24297
24298         nanosleep: Fix C++ test error on mingw.
24299         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
24300         * lib/time.in.h (nanosleep): Use modern idiom.
24301         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
24302         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
24303         REPLACE_NANOSLEEP to 1.
24304         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
24305         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
24306
24307 2010-04-03  Bruno Haible  <bruno@clisp.org>
24308
24309         strptime: Fix C++ test error on mingw.
24310         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
24311         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
24312         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
24313         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
24314         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
24315         not REPLACE_STRPTIME.
24316         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
24317         REPLACE_STRPTIME.
24318
24319 2010-04-03  Bruno Haible  <bruno@clisp.org>
24320
24321         timegm: Fix C++ test error on mingw.
24322         * lib/time.in.h (timegm): Use modern idiom.
24323         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
24324         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
24325         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
24326         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
24327
24328 2010-04-03  Bruno Haible  <bruno@clisp.org>
24329
24330         timegm: Assume declaration if function exists.
24331         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
24332         if it exists. Don't clobber ac_cv_func_timegm.
24333
24334 2010-04-03  Bruno Haible  <bruno@clisp.org>
24335
24336         time_r: Fix C++ test error on mingw.
24337         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
24338         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
24339         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
24340         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
24341         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
24342
24343 2010-04-03  Bruno Haible  <bruno@clisp.org>
24344
24345         time_r: Minor updates.
24346         * modules/time_r (Description): Mention the provided functions.
24347         * lib/time_r.c: Don't include <string.h>.
24348         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
24349         * doc/posix-functions/localtime_r.texi: Likewise.
24350
24351 2010-04-03  Bruno Haible  <bruno@clisp.org>
24352
24353         time: Fix regression introduced on 2010-03-08.
24354         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
24355         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
24356
24357 2010-04-03  Jim Meyering  <meyering@redhat.com>
24358
24359         maint.mk: don't silently disable project-specific syntax-check rules
24360         * top/maint.mk (_prohibit_regexp): Define, to help people realize
24361         that they need to convert their project-specific syntax-check rules
24362         to use the new _sc_search_regexp.
24363
24364 2010-04-03  Bruno Haible  <bruno@clisp.org>
24365
24366         fchdir: Fix regression introduced on 2010-03-08.
24367         * lib/unistd.in.h (fchdir): Fix declaration.
24368         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
24369         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
24370         REPLACE_FCHDIR.
24371         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
24372         REPLACE_FCHDIR.
24373
24374 2010-04-03  Bruno Haible  <bruno@clisp.org>
24375
24376         getpagesize: Fix C++ test error on mingw.
24377         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
24378         system does not declare the function.
24379         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
24380         declared.
24381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24382         HAVE_DECL_GETPAGESIZE.
24383         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
24384
24385 2010-04-03  Bruno Haible  <bruno@clisp.org>
24386
24387         stdio: Make C++ tests work on mingw.
24388         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
24389         does not declare the function.
24390
24391 2010-04-03  Bruno Haible  <bruno@clisp.org>
24392
24393         ftello: Fix C++ test error on mingw.
24394         * lib/stdio.in.h (ftello): Use modern idiom.
24395         * lib/ftello.c (ftello): Renamed from rpl_ftello.
24396         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
24397         is missing and that it needs to be replaced.
24398         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
24399         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
24400         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
24401
24402 2010-04-03  Bruno Haible  <bruno@clisp.org>
24403
24404         fseeko: Fix C++ test error on mingw.
24405         * lib/stdio.in.h (fseeko): Use modern idiom.
24406         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
24407         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
24408         is missing and that it needs to be replaced.
24409         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
24410         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
24411         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
24412
24413 2010-04-03  Bruno Haible  <bruno@clisp.org>
24414
24415         mkstemp: Fix C++ test error on mingw.
24416         * lib/stdlib.in.h (mkstemp): Use modern idiom.
24417         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
24418         function is missing and that it needs to be replaced.
24419         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
24420         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
24421
24422 2010-04-03  Bruno Haible  <bruno@clisp.org>
24423
24424         stpncpy: Fix C++ test error on mingw.
24425         * lib/string.in.h (stpncpy): Use modern idiom.
24426         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
24427         function is missing and that it needs to be replaced.
24428         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24429         REPLACE_STPNCPY.
24430         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24431
24432 2010-04-03  Bruno Haible  <bruno@clisp.org>
24433
24434         sys_stat: Fix C++ test error on mingw.
24435         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24436         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24437
24438 2010-04-03  Bruno Haible  <bruno@clisp.org>
24439
24440         pty: Update doc.
24441         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24442
24443 2010-04-03  Bruno Haible  <bruno@clisp.org>
24444
24445         unistd: Fix C++ test error on mingw.
24446         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24447
24448 2010-04-03  Bruno Haible  <bruno@clisp.org>
24449
24450         Update doc regarding mingw.
24451         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24452         * doc/glibc-functions/login_tty.texi: Likewise.
24453         * doc/glibc-functions/forkpty.texi: Likewise.
24454
24455 2010-04-03  Bruno Haible  <bruno@clisp.org>
24456
24457         stdlib: Avoid compilation failure of c-strtold on mingw.
24458         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24459
24460 2010-04-03  Bruno Haible  <bruno@clisp.org>
24461
24462         locale: Make C++ tests work on Cygwin and mingw.
24463         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24464         cannot provide the function.
24465         Reported by Simon Josefsson.
24466
24467 2010-04-03  Bruno Haible  <bruno@clisp.org>
24468
24469         localename: Port to MacOS X 10.6.
24470         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24471         memory layout of the locales in MacOS X 10.6 as well.
24472         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24473
24474 2010-04-02  Bruno Haible  <bruno@clisp.org>
24475
24476         gnulib-tool: Ensure that long-running tests are executed last.
24477         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24478         running tests after the one for the other tests.
24479
24480 2010-04-02  Bruno Haible  <bruno@clisp.org>
24481
24482         gnulib-tool: Ensure the tests in the main directory are executed first.
24483         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24484         start with the current directory.
24485
24486 2010-04-02  Bruno Haible  <bruno@clisp.org>
24487
24488         Tests for module 'havelib', moved here from GNU gettext.
24489         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24490         modifications.
24491         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24492         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24493         with modifications.
24494         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24495         modifications.
24496         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24497         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24498         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24499         with modifications.
24500         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24501         with modifications.
24502         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24503         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24504         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24505         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24506         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24507         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24508         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24509         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24510         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24511         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24512         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24513         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24514         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24515         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24516         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24517         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24518         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24519         with modifications.
24520         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24521         with modifications.
24522         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24523         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24524         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24525         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24526         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24527         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24528         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24529         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24530         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24531         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24532         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24533         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24534         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24535         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24536         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24537         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24538         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24539         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24540         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24541         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24542         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24543         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24544         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24545         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24546         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24547         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24548         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24549         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24550         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24551         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24552         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24553         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24554         * tests/havelib/rpathx/rpathx.c: New file, from
24555         gettext/autoconf-lib-link.
24556         * tests/havelib/rpathx/Makefile.am: New file, from
24557         gettext/autoconf-lib-link.
24558         * tests/havelib/rpathx/configure.ac: New file, from
24559         gettext/autoconf-lib-link with modifications.
24560         * tests/havelib/rpathy/rpathy.c: New file, from
24561         gettext/autoconf-lib-link.
24562         * tests/havelib/rpathy/Makefile.am: New file, from
24563         gettext/autoconf-lib-link.
24564         * tests/havelib/rpathy/configure.ac: New file, from
24565         gettext/autoconf-lib-link with modifications.
24566         * tests/havelib/rpathz/rpathz.c: New file, from
24567         gettext/autoconf-lib-link.
24568         * tests/havelib/rpathz/Makefile.am: New file, from
24569         gettext/autoconf-lib-link.
24570         * tests/havelib/rpathz/configure.ac: New file, from
24571         gettext/autoconf-lib-link with modifications.
24572         * tests/havelib/rpathlx/usex.c: New file, from
24573         gettext/autoconf-lib-link.
24574         * tests/havelib/rpathlx/Makefile.am: New file, from
24575         gettext/autoconf-lib-link.
24576         * tests/havelib/rpathlx/configure.ac: New file, from
24577         gettext/autoconf-lib-link with modifications.
24578         * tests/havelib/rpathly/usey.c: New file, from
24579         gettext/autoconf-lib-link.
24580         * tests/havelib/rpathly/Makefile.am: New file, from
24581         gettext/autoconf-lib-link.
24582         * tests/havelib/rpathly/configure.ac: New file, from
24583         gettext/autoconf-lib-link with modifications.
24584         * tests/havelib/rpathlz/usez.c: New file, from
24585         gettext/autoconf-lib-link.
24586         * tests/havelib/rpathlz/Makefile.am: New file, from
24587         gettext/autoconf-lib-link.
24588         * tests/havelib/rpathlz/configure.ac: New file, from
24589         gettext/autoconf-lib-link with modifications.
24590         * tests/havelib/rpathlyx/usey.c: New file, from
24591         gettext/autoconf-lib-link.
24592         * tests/havelib/rpathlyx/Makefile.am: New file, from
24593         gettext/autoconf-lib-link.
24594         * tests/havelib/rpathlyx/configure.ac: New file, from
24595         gettext/autoconf-lib-link with modifications.
24596         * tests/havelib/rpathlzyx/usez.c: New file, from
24597         gettext/autoconf-lib-link.
24598         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24599         gettext/autoconf-lib-link.
24600         * tests/havelib/rpathlzyx/configure.ac: New file, from
24601         gettext/autoconf-lib-link with modifications.
24602         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24603         with modifications.
24604
24605 2010-04-02  Bruno Haible  <bruno@clisp.org>
24606
24607         gnulib-tool: Create distributed built sources also for the tests.
24608         * gnulib-tool (func_create_testdir): Also generate distributed built
24609         sources in the tests directory.
24610
24611 2010-04-02  Bruno Haible  <bruno@clisp.org>
24612
24613         gnulib-tool: Obey user's environment variables.
24614         * gnulib-tool (func_create_testdir): When creating built sources,
24615         respect the environment variables for autoconf, automake, etc. given by
24616         the user.
24617
24618 2010-04-02  Bruno Haible  <bruno@clisp.org>
24619
24620         gnulib-tool: Provide the value of --m4-base to modules.
24621         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24622         of gl_m4_base.
24623
24624 2010-04-02  Eric Blake  <eblake@redhat.com>
24625
24626         maint.mk: fix some fallout
24627         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24628         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24629
24630 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24631
24632         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24633         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24634         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24635         (sc_cast_of_x_alloc_return_value): Likewise.
24636         (sc_cast_of_alloca_return_value): Likewise.
24637         (sc_space_tab): Likewise.
24638         (sc_prohibit_atoi_atof): Likewise.
24639         (sc_prohibit_magic_number_exit): Likewise.
24640         (sc_error_exit_success): Likewise.
24641         (sc_file_system): Likewise.
24642         (sc_prohibit_have_config_h): Likewise.
24643         (sc_require_config_h): Likewise.
24644         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24645         (sc_obsolete_symbols): Likewise.
24646         (sc_changelog): Likewise.
24647         (sc_program_name): Likewise.
24648         (sc_the_the): Likewise.
24649         (sc_trailing_blank): Likewise.
24650         (sc_two_space_separator_in_usage): Likewise.
24651         (sc_useless_cpp_parens): Likewise.
24652         (sc_GPL_version): Likewise.
24653         (sc_GFDL_version): Likewise.
24654         (sc_texinfo_acronym): Likewise.
24655         (sc_prohibit_cvs_keyword): Likewise.
24656         (sc_prohibit_stat_st_blocks): Likewise.
24657         (sc_prohibit_S_IS_definition): Likewise.
24658         (sc_redundant_const): Likewise.
24659         (sc_makefile_TAB_only_indentation): Likewise.
24660         (sc_m4_quote_check): Likewise.
24661         (sc_makefile_path_separator_check): Likewise.
24662         (sc_copyright_check): Likewise.
24663         (sc_Wundef_boolean): Likewise.
24664         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24665
24666         maint.mk: match 0 or more whitespace-before-function-call '('
24667         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24668         that have zero or two-and-more spaces between the function name
24669         and the open parenthesis.
24670         (sc_error_message_warn_fatal): Likewise.
24671         (sc_error_message_uppercase): Likewise.
24672         (sc_error_message_period): Likewise.
24673
24674 2010-03-31  Eric Blake  <eblake@redhat.com>
24675
24676         maint.mk: check for [ as well as test
24677         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24678         Based on a libvirt report by Matthias Bolte.
24679
24680         gnumakefile: don't squelch _version output
24681         * top/GNUmakefile (_version): Create one-shot dependency rather
24682         than using $(shell) when version must be regenerated.
24683         (_autoreconf): Run verbosely, by default.
24684
24685         sys_time: avoid compiler warnings
24686         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24687         unconditional, fixing regression from 2010-03-29.
24688         Reported by Simon Josefsson.
24689
24690 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24691
24692         maint.mk: s/_header_without_use/_sc_header_without_use/
24693         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24694         (sc_prohibit_assert_without_use): Use the new name.
24695         (sc_prohibit_close_stream_without_use): Likewise.
24696         (sc_prohibit_getopt_without_use): Likewise.
24697         (sc_prohibit_quotearg_without_use): Likewise.
24698         (sc_prohibit_quote_without_use): Likewise.
24699         (sc_prohibit_long_options_without_use): Likewise.
24700         (sc_prohibit_inttostr_without_use): Likewise.
24701         (sc_prohibit_ignore_value_without_use): Likewise.
24702         (sc_prohibit_error_without_use): Likewise.
24703         (sc_prohibit_xalloc_without_use): Likewise.
24704         (sc_prohibit_hash_without_use): Likewise.
24705         (sc_prohibit_hash_pjw_without_use): Likewise.
24706         (sc_prohibit_safe_read_without_use): Likewise.
24707         (sc_prohibit_argmatch_without_use): Likewise.
24708         (sc_prohibit_canonicalize_without_use): Likewise.
24709         (sc_prohibit_root_dev_ino_without_use): Likewise.
24710         (sc_prohibit_openat_without_use): Likewise.
24711         (sc_prohibit_c_ctype_without_use): Likewise.
24712         (sc_prohibit_signal_without_use): Likewise.
24713         (sc_prohibit_intprops_without_use): Likewise.
24714
24715 2010-03-30  Eric Blake  <eblake@redhat.com>
24716
24717         maint: improve module indicators
24718         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24719         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24720         columns, and avoid extra macro expansion.
24721
24722         fdopendir: work around FreeBSD bug
24723         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24724         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24725         * modules/dirent (Makefile.am): Substitute it.
24726         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24727         declaration.
24728         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24729         fix.
24730         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24731
24732 2010-03-29  Bruno Haible  <bruno@clisp.org>
24733
24734         Emit #pragma system_header after the inclusion guard, not before.
24735         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24736         guard that spans the entire file, not before. This enables an
24737         optimization in GCC's preprocessor.
24738         * lib/ctype.in.h: Likewise.
24739         * lib/dirent.in.h: Likewise.
24740         * lib/errno.in.h: Likewise.
24741         * lib/float.in.h: Likewise.
24742         * lib/getopt.in.h: Likewise.
24743         * lib/iconv.in.h: Likewise.
24744         * lib/langinfo.in.h: Likewise.
24745         * lib/locale.in.h: Likewise.
24746         * lib/math.in.h: Likewise.
24747         * lib/netdb.in.h: Likewise.
24748         * lib/netinet_in.in.h: Likewise.
24749         * lib/pty.in.h: Likewise.
24750         * lib/sched.in.h: Likewise.
24751         * lib/se-selinux.in.h: Likewise.
24752         * lib/search.in.h: Likewise.
24753         * lib/spawn.in.h: Likewise.
24754         * lib/stdarg.in.h: Likewise.
24755         * lib/stdint.in.h: Likewise.
24756         * lib/string.in.h: Likewise.
24757         * lib/strings.in.h: Likewise.
24758         * lib/sys_file.in.h: Likewise.
24759         * lib/sys_ioctl.in.h: Likewise.
24760         * lib/sys_time.in.h: Likewise.
24761         * lib/sys_times.in.h: Likewise.
24762         * lib/sys_utsname.in.h: Likewise.
24763         * lib/sys_wait.in.h: Likewise.
24764         * lib/sysexits.in.h: Likewise.
24765         * lib/wctype.in.h: Likewise.
24766
24767 2010-03-28  James Youngman  <jay@gnu.org>
24768
24769         save-cwd: don't leak a file descriptor when the caller execs.
24770         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24771         saved file descriptor.
24772         * modules/save-cwd (Depends-on): Depend on cloexec.
24773
24774 2010-03-29  Bruno Haible  <bruno@clisp.org>
24775
24776         Remove vestiges of fts-lgpl module.
24777         * lib/fts_.h: Assume GNULIB_FTS is 1.
24778         * lib/fts.c: Likewise.
24779         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24780
24781 2010-03-28  Bruno Haible  <bruno@clisp.org>
24782
24783         Fix definition of tests witness macro.
24784         * gnulib-tool (func_import): Fix definition of witness macro.
24785
24786 2010-03-28  Bruno Haible  <bruno@clisp.org>
24787
24788         Fix ioctl's protoype on glibc systems.
24789         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24790         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24791         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24792         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24793         signature. If not, arrange to replace the ioctl function.
24794         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24795         REPLACE_IOCTL.
24796         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24797         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24798         Reported by Ludovic Courtès <ludo@gnu.org>.
24799
24800 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24801
24802         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24803         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24804         made it so grep -r --include=GLOB* ... did not work.
24805
24806 2010-03-26  Jim Meyering  <meyering@redhat.com>
24807             Eric Blake  <eblake@redhat.com>
24808
24809         maint.mk: prohibit use of test's -o and -a operators
24810         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24811
24812 2010-03-28  Bruno Haible  <bruno@clisp.org>
24813
24814         Remove unused GNULIB_XYZ macro definitions.
24815         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24816         invocation.
24817
24818 2010-03-28  Bruno Haible  <bruno@clisp.org>
24819
24820         Mark privileged tests modules.
24821         * modules/idpriv-drop-tests (Status): New section.
24822         * modules/idpriv-droptemp-tests (Status): New section.
24823
24824 2010-03-28  Bruno Haible  <bruno@clisp.org>
24825
24826         Split C++ tests into separate tests modules.
24827         * modules/dirent-c++-tests: New file, extracted from
24828         modules/dirent-tests.
24829         * modules/dirent-tests: Depend on it.
24830         * modules/fcntl-h-c++-tests: New file, extracted from
24831         modules/fcntl-h-tests.
24832         * modules/fcntl-h-tests: Depend on it.
24833         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24834         * modules/glob-tests: Depend on it.
24835         * modules/iconv-h-c++-tests: New file, extracted from
24836         modules/iconv-h-tests.
24837         * modules/iconv-h-tests: Depend on it.
24838         * modules/langinfo-c++-tests: New file, extracted from
24839         modules/langinfo-tests.
24840         * modules/langinfo-tests: Depend on it.
24841         * modules/locale-c++-tests: New file, extracted from
24842         modules/locale-tests.
24843         * modules/locale-tests: Depend on it.
24844         * modules/math-c++-tests: New file, extracted from modules/math-tests.
24845         * modules/math-tests: Depend on it.
24846         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
24847         * modules/pty-tests: Depend on it.
24848         * modules/search-c++-tests: New file, extracted from
24849         modules/search-tests.
24850         * modules/search-tests: Depend on it.
24851         * modules/signal-c++-tests: New file, extracted from
24852         modules/signal-tests.
24853         * modules/signal-tests: Depend on it.
24854         * modules/spawn-c++-tests: New file, extracted from
24855         modules/spawn-tests.
24856         * modules/spawn-tests: Depend on it.
24857         * modules/stdio-c++-tests: New file, extracted from
24858         modules/stdio-tests.
24859         * modules/stdio-tests: Depend on it.
24860         * modules/stdlib-c++-tests: New file, extracted from
24861         modules/stdlib-tests.
24862         * modules/stdlib-tests: Depend on it.
24863         * modules/string-c++-tests: New file, extracted from
24864         modules/string-tests.
24865         * modules/string-tests: Depend on it.
24866         * modules/sys_ioctl-c++-tests: New file, extracted from
24867         modules/sys_ioctl-tests.
24868         * modules/sys_ioctl-tests: Depend on it.
24869         * modules/sys_select-c++-tests: New file, extracted from
24870         modules/sys_select-tests.
24871         * modules/sys_select-tests: Depend on it.
24872         * modules/sys_socket-c++-tests: New file, extracted from
24873         modules/sys_socket-tests.
24874         * modules/sys_socket-tests: Depend on it.
24875         * modules/sys_stat-c++-tests: New file, extracted from
24876         modules/sys_stat-tests.
24877         * modules/sys_stat-tests: Depend on it.
24878         * modules/sys_time-c++-tests: New file, extracted from
24879         modules/sys_time-tests.
24880         * modules/sys_time-tests: Depend on it.
24881         * modules/time-c++-tests: New file, extracted from modules/time-tests.
24882         * modules/time-tests: Depend on it.
24883         * modules/unistd-c++-tests: New file, extracted from
24884         modules/unistd-tests.
24885         * modules/unistd-tests: Depend on it.
24886         * modules/wchar-c++-tests: New file, extracted from
24887         modules/wchar-tests.
24888         * modules/wchar-tests: Depend on it.
24889         * modules/wctype-c++-tests: New file, extracted from
24890         modules/wctype-tests.
24891         * modules/wctype-tests: Depend on it.
24892         Reported by Simon Josefsson.
24893
24894 2010-03-28  Bruno Haible  <bruno@clisp.org>
24895
24896         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
24897         * gnulib-tool (func_exists_module): New function, extracted from
24898         func_verify_module.
24899         (func_verify_module): Use it.
24900         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
24901         'foo' only if 'foo' exists.
24902         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
24903         module.
24904
24905 2010-03-28  Bruno Haible  <bruno@clisp.org>
24906
24907         gnulib-tool: Add support for special categories of tests.
24908         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
24909         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
24910         (func_usage): Document them.
24911         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
24912         inc_unportable_tests, inc_all_tests): New variables.
24913         (func_acceptable): Consider these variables.
24914         (func_modules_transitive_closure): Make it work when the 'Status' field
24915         consists of multiple words.
24916         (func_import): Store and restore the values of inc_cxx_tests,
24917         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
24918         inc_all_tests in gnulib-comp.m4.
24919         (func_create_testdir): Set inc_all_tests to true.
24920         * doc/gnulib.texi (Extra tests modules): New section.
24921         Suggested by Jim Meyering.
24922
24923 2010-03-28  Bruno Haible  <bruno@clisp.org>
24924
24925         ansi-c++-opt: Allow turning off the C++ build by default.
24926         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
24927         gl_CXX_CHOICE_DEFAULT_NO is defined.
24928         Requested by Eric Blake.
24929
24930 2010-03-28  Bruno Haible  <bruno@clisp.org>
24931
24932         unistd: Avoid #define replacements in C++ mode.
24933         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
24934         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
24935         setsockopt, shutdown, select): In C++, attach a warning to the function
24936         if possible, rather than #defining the symbol to a dysfunctional alias.
24937         Reported by John W. Eaton <jwe@gnu.org>.
24938
24939 2010-03-28  Bruno Haible  <bruno@clisp.org>
24940
24941         Fix link errors on mingw.
24942         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
24943         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
24944         $(LIBSOCKET).
24945         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
24946         $(LIBSOCKET).
24947
24948 2010-03-28  Bruno Haible  <bruno@clisp.org>
24949             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24950
24951         lib-ignore: Determine different options for different compilers.
24952         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
24953         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
24954         Add comments.
24955         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
24956         * NEWS: Mention the change.
24957
24958 2010-03-27  Bruno Haible  <bruno@clisp.org>
24959
24960         Remove unused GNULIB_XYZ macro definitions.
24961         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24962         * modules/fseek (configure.ac): Likewise.
24963         * modules/ioctl (configure.ac): Likewise.
24964         * modules/open (configure.ac): Likewise.
24965         * modules/stdlib-safer (configure.ac): Likewise.
24966
24967 2010-03-27  Bruno Haible  <bruno@clisp.org>
24968
24969         Add a remark about certain modules.
24970         * modules/malloc (Comment): New section.
24971         * modules/realloc (Comment): Likewise.
24972         * modules/sigpipe (Comment): Likewise.
24973
24974 2010-03-27  Bruno Haible  <bruno@clisp.org>
24975
24976         Resolve conflict between the two kinds of module indicators.
24977         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
24978         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
24979         * modules/canonicalize (configure.ac): Invoke
24980         gl_MODULE_INDICATOR_FOR_TESTS.
24981         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
24982         GNULIB_XYZ.
24983         * tests/test-dirent-c++.cc: Likewise.
24984         * tests/test-dirent-safer.c: Likewise.
24985         * tests/test-dup2.c: Likewise.
24986         * tests/test-fchdir.c: Likewise.
24987         * tests/test-fcntl-h-c++.cc: Likewise.
24988         * tests/test-getopt.c: Likewise.
24989         * tests/test-getopt.h: Likewise.
24990         * tests/test-langinfo-c++.cc: Likewise.
24991         * tests/test-locale-c++.cc: Likewise.
24992         * tests/test-math-c++.cc: Likewise.
24993         * tests/test-pty-c++.cc: Likewise.
24994         * tests/test-search-c++.cc: Likewise.
24995         * tests/test-signal-c++.cc: Likewise.
24996         * tests/test-spawn-c++.cc: Likewise.
24997         * tests/test-stdio-c++.cc: Likewise.
24998         * tests/test-stdlib-c++.cc: Likewise.
24999         * tests/test-string-c++.cc: Likewise.
25000         * tests/test-sys_ioctl-c++.cc: Likewise.
25001         * tests/test-sys_select-c++.cc: Likewise.
25002         * tests/test-sys_socket-c++.cc: Likewise.
25003         * tests/test-sys_stat-c++.cc: Likewise.
25004         * tests/test-sys_time-c++.cc: Likewise.
25005         * tests/test-time-c++.cc: Likewise.
25006         * tests/test-unistd-c++.cc: Likewise.
25007         * tests/test-wchar-c++.cc: Likewise.
25008         * tests/uninorm/test-u8-nfc.c: Likewise.
25009         * tests/uninorm/test-u8-nfd.c: Likewise.
25010         * tests/uninorm/test-u8-nfkc.c: Likewise.
25011         * tests/uninorm/test-u8-nfkd.c: Likewise.
25012         * tests/uninorm/test-u16-nfc.c: Likewise.
25013         * tests/uninorm/test-u16-nfd.c: Likewise.
25014         * tests/uninorm/test-u16-nfkc.c: Likewise.
25015         * tests/uninorm/test-u16-nfkd.c: Likewise.
25016         * tests/uninorm/test-u32-nfc.c: Likewise.
25017         * tests/uninorm/test-u32-nfc-big.c: Likewise.
25018         * tests/uninorm/test-u32-nfd.c: Likewise.
25019         * tests/uninorm/test-u32-nfd-big.c: Likewise.
25020         * tests/uninorm/test-u32-nfkc.c: Likewise.
25021         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
25022         * tests/uninorm/test-u32-nfkd.c: Likewise.
25023         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
25024         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25025
25026 2010-03-27  Bruno Haible  <bruno@clisp.org>
25027
25028         Distinguish two kinds of module indicators.
25029         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
25030         gl_MODULE_INDICATOR.
25031         (gl_MODULE_INDICATOR): New macro.
25032         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25033         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
25034         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25035         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25036         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25037         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25038         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25039         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25040         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25041         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25042         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25043         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25044         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25045         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25046         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25047         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25048         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25049         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25050         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25051         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25052         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25053         * modules/cloexec (configure.ac): Likewise.
25054         * modules/getopt-gnu (configure.ac): Likewise.
25055         * modules/uninorm/u8-normalize (configure.ac): Likewise.
25056         * modules/uninorm/u16-normalize (configure.ac): Likewise.
25057         * modules/uninorm/u32-normalize (configure.ac): Likewise.
25058         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
25059
25060 2010-03-27  Bruno Haible  <bruno@clisp.org>
25061
25062         New module description field 'Comment'.
25063         * gnulib-tool: New option --extract-comment.
25064         (func_usage): Document it.
25065         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
25066         (func_get_comment): New function.
25067         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
25068
25069 2010-03-27  Bruno Haible  <bruno@clisp.org>
25070
25071         Addendum to 2010-02-07 commit.
25072         * gnulib-tool (func_usage): Document --extract-applicability option.
25073
25074 2010-03-27  Bruno Haible  <bruno@clisp.org>
25075
25076         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
25077         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
25078         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
25079         rather than link errors.
25080
25081 2010-03-27  Bruno Haible  <bruno@clisp.org>
25082
25083         Avoid side effects from tests-related modules on the compilation of lib.
25084         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
25085         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
25086         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
25087         parameter. Emit into AM_CPPFLAGS a definition of the designated C
25088         macro.
25089         (func_import): Define a witness macro. Assign it a value that depends
25090         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
25091         tests-related modules.
25092         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
25093         Reported by Jim Meyering.
25094
25095 2010-03-27  Bruno Haible  <bruno@clisp.org>
25096
25097         Factorize common .m4 code.
25098         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
25099         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
25100         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
25101         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
25102         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25103         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
25104         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
25105         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25106         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25107         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25108         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
25109         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25110         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25111         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25112         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25113         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
25114         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25115         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25116         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25117         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
25118         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
25119         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25120         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25121         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25122         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25123         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25124         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
25125         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
25126         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
25127         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25128         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25129         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25130
25131 2010-03-27  Bruno Haible  <bruno@clisp.org>
25132
25133         Fix a compilation error on Cygwin with g++ >= 4.3.
25134         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
25135         if it is undefined or if we alias it to chmod.
25136         (lstat): Don't warn about the use of this function if it is undefined
25137         or if we alias it to stat.
25138         Reported by Simon Josefsson.
25139
25140 2010-03-27  Bruno Haible  <bruno@clisp.org>
25141
25142         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
25143         * modules/getlogin (configure.ac): Update.
25144
25145         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
25146         * modules/getlogin_r (configure.ac): Update.
25147
25148         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
25149         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
25150         * modules/inet_ntop (configure.ac): Update.
25151
25152         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
25153         * modules/inet_pton (configure.ac): Update.
25154
25155         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
25156         * modules/mbslen (configure.ac): Update.
25157
25158         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
25159         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
25160         * modules/forkpty (configure.ac): Update.
25161         * modules/openpty (configure.ac): Update.
25162
25163 2010-03-26  Simon Josefsson  <simon@josefsson.org>
25164
25165         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
25166         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
25167
25168 2010-03-25  Eric Blake  <eblake@redhat.com>
25169
25170         maint: use pragma consistently across replacement headers
25171         * lib/ctype.in.h (system_header): Hoist for consistent placement.
25172         * lib/dirent.in.h (system_header): Likewise.
25173         * lib/errno.in.h (system_header): Likewise.
25174         * lib/float.in.h (system_header): Likewise.
25175         * lib/getopt.in.h (system_header): Likewise.
25176         * lib/iconv.in.h (system_header): Likewise.
25177         * lib/inttypes.in.h (system_header): Likewise.
25178         * lib/langinfo.in.h (system_header): Likewise.
25179         * lib/locale.in.h (system_header): Likewise.
25180         * lib/math.in.h (system_header): Likewise.
25181         * lib/netdb.in.h (system_header): Likewise.
25182         * lib/netinet_in.in.h (system_header): Likewise.
25183         * lib/pty.in.h (system_header): Likewise.
25184         * lib/sched.in.h (system_header): Likewise.
25185         * lib/se-selinux.in.h (system_header): Likewise.
25186         * lib/search.in.h (system_header): Likewise.
25187         * lib/spawn.in.h (system_header): Likewise.
25188         * lib/stdarg.in.h (system_header): Likewise.
25189         * lib/stdint.in.h (system_header): Likewise.
25190         * lib/string.in.h (system_header): Likewise.
25191         * lib/strings.in.h (system_header): Likewise.
25192         * lib/sys_file.in.h (system_header): Likewise.
25193         * lib/sys_ioctl.in.h (system_header): Likewise.
25194         * lib/sys_socket.in.h (system_header): Likewise.
25195         * lib/sys_times.in.h (system_header): Likewise.
25196         * lib/sys_utsname.in.h (system_header): Likewise.
25197         * lib/sys_wait.in.h (system_header): Likewise.
25198         * lib/sysexits.in.h (system_header): Likewise.
25199         * lib/unistd.in.h (system_header): Likewise.
25200         * lib/wctype.in.h (system_header): Likewise.
25201
25202         arpa/inet: fix mingw compilation warning
25203         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
25204         Reported by Matthew Bolte.
25205
25206 2010-03-25  Bruno Haible  <bruno@clisp.org>
25207
25208         Avoid collision between gnulib wrapper and libintl wrapper.
25209         * lib/printf.c (printf): Don't define if a printf wrapper is already
25210         defined in intl/printf.c.
25211         Reported by Michel Boaventura <michel@michelboaventura.com>.
25212
25213 2010-03-25  Bruno Haible  <bruno@clisp.org>
25214
25215         Use ANSI C.
25216         * lib/readutmp.h (getutent): Provide ANSI C prototype.
25217
25218 2010-03-25  Bruno Haible  <bruno@clisp.org>
25219
25220         Minor formatting changes.
25221         * lib/acosl.c: Insert space before function argument list.
25222         * lib/argz.c: Likewise.
25223         * lib/asinl.c: Likewise.
25224         * lib/expl.c: Likewise.
25225         * lib/gen-uni-tables.c: Likewise.
25226         * lib/gettext.h: Likewise.
25227         * lib/glthread/lock.h: Likewise.
25228         * lib/tanl.c: Likewise.
25229         * lib/uniname/uniname.c: Likewise.
25230         * tests/test-idpriv-drop.c: Likewise.
25231         * tests/test-idpriv-droptemp.c: Likewise.
25232         * tests/test-lock.c: Likewise.
25233         * tests/test-tls.c: Likewise.
25234         * lib/argp-help.c: Insert space before function-like macro argument
25235         list.
25236         * lib/memcmp.c: Likewise.
25237         * tests/test-base64.c: Likewise.
25238         * lib/localename.c: Insert space before sizeof's argument list.
25239         * lib/safe-alloc.h: Likewise.
25240         * lib/file-set.h: Insert space before macro argument list.
25241         * tests/test-argp.c: Likewise.
25242         * lib/argp-namefrob.h: Insert space before function parameter list.
25243         * lib/getaddrinfo.c: Likewise.
25244         * lib/netdb.in.h: Likewise.
25245         * lib/parse-duration.h: Likewise.
25246         * lib/parse-duration.c: Likewise.
25247         * lib/poll.c: Likewise.
25248         * lib/select.c: Likewise.
25249         * lib/trim.h: Likewise.
25250         * tests/test-usleep.c: Likewise.
25251         * lib/ldexpl.c: Insert space before function parameter list and before
25252         function argument list.
25253         * lib/logl.c: Likewise.
25254         * lib/sqrtl.c: Likewise.
25255         * lib/trim.c: Likewise.
25256         * lib/cosl.c: Use GNU style indentation. Insert space before function
25257         argument list.
25258         * lib/sinl.c: Likewise.
25259         * lib/tsearch.c: Insert space after 'for'.
25260         Reported by Jim Meyering.
25261
25262 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
25263
25264         * maint.mk (sc_Wundef_boolean): Check for the presence of the
25265         config header before grepping, as it's not present before
25266         autoreconf/configure are run.  Reported by Simon Josefsson.
25267
25268 2010-03-23  Bruno Haible  <bruno@clisp.org>
25269
25270         pt_chown: Make it work with automake < 1.11.
25271         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
25272         Reported by Simon Josefsson.
25273
25274 2010-03-23  Bruno Haible  <bruno@clisp.org>
25275
25276         pt_chown: Don't depend on GPLed modules.
25277         * lib/pt_chown.c: Don't include idpriv.h.
25278         (main): Don't drop privileges.
25279         * modules/pt_chown (Depends-on): Remove idpriv-drop.
25280         Reported by Simon Josefsson.
25281
25282 2010-03-24  Simon Josefsson  <simon@josefsson.org>
25283
25284         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
25285         suggestions from karl@freefriends.org (Karl Berry).
25286
25287 2010-03-22  Eric Blake  <eblake@redhat.com>
25288
25289         gethostname: further tweaks
25290         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
25291         are overriding gethostname.
25292         Suggested by Bruno Haible.
25293
25294 2010-03-21  Bruno Haible  <bruno@clisp.org>
25295
25296         Fix comments.
25297         * lib/forkpty.c (rpl_forkpty): Fix comment.
25298         * lib/openpty.c (rpl_openpty): Likewise.
25299         Reported by Eric Blake.
25300
25301 2010-03-22  Eric Blake  <eblake@redhat.com>
25302
25303         gethostname: fix build on mingw
25304         * lib/unistd.in.h (includes): Work around fact that mingw
25305         <winsock2.h> re-includes <unistd.h>, by avoiding any
25306         redeclarations if we are being included by <winsock2.h>.
25307         Reported by Matthias Bolte.
25308
25309 2010-03-21  Bruno Haible  <bruno@clisp.org>
25310
25311         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25312         * lib/forkpty.c (forkpty): New replacement function, from glibc with
25313         modifications.
25314         * lib/pty.in.h (forkpty): Update declaration. Add comments.
25315         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
25316         provide the replacement.
25317         * modules/forkpty (Depends-on): Add openpty, login_tty.
25318         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
25319         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
25320         * doc/glibc-functions/forkpty.texi: More supported platforms.
25321         * config/srclist.txt: Add forkpty.c (commented).
25322
25323 2010-03-21  Bruno Haible  <bruno@clisp.org>
25324
25325         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
25326         (Makefile.am): Verify that PTY_LIB is defined.
25327
25328         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
25329
25330 2010-03-21  Bruno Haible  <bruno@clisp.org>
25331
25332         Tests for module 'login_tty'.
25333         * modules/login_tty-tests: New file.
25334         * tests/test-login_tty.c: New file.
25335
25336         New module 'login_tty'.
25337         * lib/login_tty.c: New file.
25338         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
25339         * modules/login_tty: New file.
25340         * doc/glibc-functions/login_tty.texi: Mention the new module.
25341
25342 2010-03-21  Bruno Haible  <bruno@clisp.org>
25343
25344         login_tty: Documentation.
25345         * doc/glibc-functions/login_tty.texi: New file.
25346         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
25347
25348 2010-03-21  Bruno Haible  <bruno@clisp.org>
25349
25350         pty: Consistent macro naming.
25351         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
25352         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
25353         * modules/pty (configure.ac): Update.
25354
25355 2010-03-21  Bruno Haible  <bruno@clisp.org>
25356
25357         Tests for openpty: Make stricter.
25358         * tests/test-openpty.c (main): Add test of canonical processing and
25359         erase.
25360         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
25361
25362         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25363         * lib/openpty.c (openpty): New replacement function.
25364         * lib/pty.in.h: Include <termios.h>.
25365         (openpty): Update declaration. Add comments.
25366         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
25367         is not declared, arrange to provide the replacement. Check for _getpty
25368         and posix_openpt.
25369         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
25370         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
25371         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
25372         * modules/pty-tests (test_pty_c___LDADD): New variable.
25373         * doc/glibc-functions/openpty.texi: More supported platforms.
25374
25375 2010-03-21  Bruno Haible  <bruno@clisp.org>
25376
25377         setenv: Tweaks.
25378         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
25379         the test program.
25380         * doc/posix-functions/setenv.texi: Update platforms list.
25381
25382 2010-03-21  Bruno Haible  <bruno@clisp.org>
25383
25384         New module 'unlockpt'.
25385         * lib/unlockpt.c: New file, from glibc with modifications.
25386         * m4/unlockpt.m4: New file.
25387         * modules/unlockpt: New file.
25388         * lib/stdlib.in.h (unlockpt): New declaration.
25389         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
25390         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
25391         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
25392         HAVE_UNLOCKPT.
25393         * doc/posix-functions/unlockpt.texi: Mention the new module.
25394         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
25395         * config/srclist.txt: Add unlockpt.c (commented).
25396
25397 2010-03-21  Jim Meyering  <meyering@redhat.com>
25398
25399         maint.mk: prohibit inclusion of "intprops.h" without use
25400         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
25401
25402 2010-03-21  Bruno Haible  <bruno@clisp.org>
25403
25404         New module 'grantpt'.
25405         * lib/grantpt.c: New file, from glibc with modifications.
25406         * m4/grantpt.m4: New file.
25407         * modules/grantpt: New file.
25408         * lib/stdlib.in.h (grantpt): New declaration.
25409         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
25410         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
25411         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
25412         HAVE_GRANTPT.
25413         * doc/posix-functions/grantpt.texi: Mention the new module.
25414         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
25415         * config/srclist.txt: Add grantpt.c (commented).
25416
25417 2010-03-21  Bruno Haible  <bruno@clisp.org>
25418
25419         New module 'pt_chown'.
25420         * lib/pt_chown.c: New file, from glibc with modifications.
25421         * lib/pty-private.h: New file, from glibc with modifications.
25422         * modules/pt_chown: New file.
25423         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
25424
25425 2010-03-21  Bruno Haible  <bruno@clisp.org>
25426
25427         Tests for module 'ptsname'.
25428         * modules/ptsname-tests: New file.
25429         * tests/test-ptsname.c: New file.
25430
25431         New module 'ptsname'.
25432         * lib/ptsname.c: New file, from glibc with modifications.
25433         * m4/ptsname.m4: New file.
25434         * modules/ptsname: New file.
25435         * lib/stdlib.in.h (ptsname): New declaration.
25436         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25437         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25438         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25439         HAVE_PTSNAME.
25440         * doc/posix-functions/ptsname.texi: Mention the new module.
25441         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25442         * config/srclist.txt: Add ptsname.c (commented).
25443
25444 2010-03-21  Bruno Haible  <bruno@clisp.org>
25445
25446         Tests for module 'ttyname_r'.
25447         * modules/ttyname_r-tests: New file.
25448         * tests/test-ttyname_r.c: New file.
25449
25450         New module 'ttyname_r'.
25451         * lib/ttyname_r.c: New file.
25452         * m4/ttyname_r.m4: New file.
25453         * modules/ttyname_r: New file.
25454         * lib/unistd.in.h (ttyname_r): New declaration.
25455         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25456         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25457         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25458         HAVE_TTYNAME_R.
25459         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25460         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25461
25462 2010-03-20  Bruno Haible  <bruno@clisp.org>
25463
25464         signal: Undefine macro definitions in C++ mode.
25465         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25466         sigfillset): Undefine macro definitions from the system header in C++
25467         mode.
25468         Reported by John W. Eaton <jwe@gnu.org>.
25469
25470 2010-03-20  Bruno Haible  <bruno@clisp.org>
25471
25472         Ensure no #include statements inside extern "C" { ... }.
25473         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25474         contain #include statements.
25475         * lib/time.in.h: Likewise.
25476
25477 2010-03-20  Bruno Haible  <bruno@clisp.org>
25478
25479         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25480         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25481         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25482         Reported by John W. Eaton <jwe@gnu.org>.
25483
25484 2010-03-20  Bruno Haible  <bruno@clisp.org>
25485
25486         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25487         Reported by Jim Meyering.
25488
25489 2010-03-20  Bruno Haible  <bruno@clisp.org>
25490
25491         pipe: Set errno upon failure.
25492         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25493         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25494         errno value in error message.
25495
25496 2010-03-20  Bruno Haible  <bruno@clisp.org>
25497             Jim Meyering  <meyering@redhat.com>
25498
25499         lchown: Avoid "unused variable" warning.
25500         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25501
25502 2010-03-20  Bruno Haible  <bruno@clisp.org>
25503
25504         Work around unlink() bug on MacOS X 10.5.6.
25505         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25506         attempting to unlink a parent directory.
25507         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25508         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25509         activate for the replacement function.
25510         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25511
25512 2010-03-20  Bruno Haible  <bruno@clisp.org>
25513
25514         Fix link errors on Solaris 8.
25515         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25516         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25517
25518 2010-03-19  Jim Meyering  <meyering@redhat.com>
25519
25520         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25521         The _LIBC implementation of build_range_exp correctly honors the
25522         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25523         However, the non-_LIBC implementation would ignore that syntax-bit
25524         flag and return REG_ERANGE unconditionally.
25525         This change makes it honor that flag.
25526         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25527         Make two pointer parameters "const".
25528         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25529         (parse_bracket_exp): Update caller.
25530
25531         regex.m4: correct the reversed range endpoint ([b-a]) test
25532         * m4/regex.m4: When requiring that [b-a] evoke failure,
25533         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25534         test pass once again for x86-based systems.
25535
25536 2010-03-19  Bruno Haible  <bruno@clisp.org>
25537
25538         scandir: Fix link error on Solaris 8.
25539         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25540         macros.
25541
25542 2010-03-19  Bruno Haible  <bruno@clisp.org>
25543
25544         getusershell: Fix documentation.
25545         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25546         module.
25547         * doc/glibc-functions/setusershell.texi: Likewise.
25548
25549         getusershell: Provide declaration, missing on Solaris 9.
25550         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25551         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25552         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25553         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25555         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25556         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25557         HAVE_GETUSERSHELL.
25558         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25559
25560 2010-03-19  Bruno Haible  <bruno@clisp.org>
25561
25562         wctype: Provide iswblank function.
25563         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25564         exists and is fine.
25565         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25566         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25567         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25568         * doc/posix-functions/iswblank.texi: Update.
25569
25570 2010-03-19  Bruno Haible  <bruno@clisp.org>
25571
25572         Tests of module 'pty' in C++ mode.
25573         * modules/pty-tests: New file.
25574         * tests/test-pty-c++.cc: New file.
25575         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25576
25577 2010-03-19  Eric Blake  <eblake@redhat.com>
25578
25579         logb: fix documentation
25580         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25581         1.5 declaration bug.
25582
25583         forkpty, openpty: prefer glibc's const-safe prototype
25584         * lib/forkpty.c (rpl_forkpty): New file.
25585         * lib/openpty.c (rpl_openpty): Likewise.
25586         * modules/forkpty (Files): Distribute it.
25587         * modules/openpty (Files): Likewise.
25588         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25589         check...
25590         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25591         replacement for for non-const BSD signature.
25592         * modules/pty (Makefile.am): Substitute witnesses.
25593         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25594         * tests/test-forkpty.c: Update signature check.
25595         * tests/test-openpty.c: Likewise.
25596         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25597         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25598
25599         forkpty, openpty: split functions into new modules
25600         * modules/pty (Makefile.am): Substitute new witnesses.
25601         (Libraries): Move library detection...
25602         * modules/forkpty: ...into new module.
25603         * modules/openpty: Another new module.
25604         * modules/pty-tests: Rename and split...
25605         * modules/forkpty-tests: ...to this...
25606         * modules/openpty-tests: ...and this.
25607         * tests/test-pty.c: Rename and split...
25608         * tests/test-forkpty.c: ...to this...
25609         * tests/test-openpty.c: ...and this.
25610         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25611         (gl_PTY): Split library searching...
25612         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25613         (gl_FORKPTY, gl_OPENPTY): New macros.
25614         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25615         * NEWS: Mention the split.
25616         * MODULES.html.sh (Misc): Document the modules.
25617         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25618         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25619
25620         pty: improve replacement header
25621         * lib/pty.in.h: New file.
25622         * modules/pty (Files): Ship it.
25623         (Makefile.am): Always build replacement.
25624         * m4/pty.m4: Rename...
25625         * m4/pty_h.m4: ...to this.
25626         (gl_PTY): Modernize setting of witness macros; update check of
25627         forkpty to take proper advantage of cache.
25628         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25629
25630         getopt: avoid compiler warning
25631         * lib/getopt.c (attribute_hidden): Remove unused macro.
25632
25633 2010-03-18  Bruno Haible  <bruno@clisp.org>
25634
25635         Fix link errors on Solaris 8.
25636         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25637         * modules/search-tests (test_search_c___LDADD): Likewise.
25638         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25639         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25640         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25641         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25642         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25643         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25644         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25645
25646 2010-03-18  Bruno Haible  <bruno@clisp.org>
25647
25648         Fix bug introduced on 2010-03-14.
25649         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25650         (gl_SPAWN_H): Require it.
25651         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25652         Reported by Simon Josefsson.
25653
25654 2010-03-18  Bruno Haible  <bruno@clisp.org>
25655
25656         Fix typo introduced on 2009-12-31.
25657         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25658         posix_spawn_file_actions_adddup2.
25659
25660 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25661         and Eric Blake  <eblake@redhat.com>
25662
25663         test-vc-list-files-git: make more robust
25664         * tests/test-vc-list-files-git.sh: Unset problematic environment
25665         variables.  Chain commands together.
25666
25667 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25668
25669         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25670         `AC_CHECK_DECL' invocation.
25671
25672 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25673
25674         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25675         appears before executable statements. Suggested by Petr Sumbera
25676         <Petr.Sumbera@Sun.COM>.
25677
25678 2010-03-14  Bruno Haible  <bruno@clisp.org>
25679
25680         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25681         portability problems. Instead use a simpler test.
25682         (main): Check that invalid arguments are rejected only on Linux.
25683
25684 2010-03-14  Bruno Haible  <bruno@clisp.org>
25685
25686         Fix bug introduced on 2009-12-31.
25687         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25688         gl_PREREQ_SYS_H_WINSOCK2 always.
25689         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25690         SYS_SOCKET_H variable.
25691         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25692         Update comments.
25693         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25694         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25695         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25696         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25697         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25698
25699 2010-03-14  Bruno Haible  <bruno@clisp.org>
25700
25701         Fix values returned by sinl, cosl.
25702         * lib/trigl.h: Add specification comments.
25703         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25704         that combines the values from the precomputed table with the values of
25705         the Chebyshev polynomials.
25706
25707 2010-03-14  Bruno Haible  <bruno@clisp.org>
25708
25709         Fix compilation error when modules 'posix_spawn[p]' are not used.
25710         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25711         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25712
25713 2010-03-14  Bruno Haible  <bruno@clisp.org>
25714
25715         Fix compilation error on mingw when module 'time_r' is not used.
25716         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25717         is 1.
25718         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25719         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25720         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25721         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25722
25723 2010-03-14  Bruno Haible  <bruno@clisp.org>
25724
25725         Fix compilation error with Sun C.
25726         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25727         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25728         instead of GCC specific ULONG_LONG_MAX.
25729         * lib/xstrtoll.c: Likewise.
25730         * lib/xstrtoull.c: Likewise.
25731
25732 2010-03-13  Bruno Haible  <bruno@clisp.org>
25733
25734         Allow the user to disable C++ code and tests.
25735         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25736         (gl_PROG_ANSI_CXX): Require it.
25737
25738 2010-03-13  Bruno Haible  <bruno@clisp.org>
25739
25740         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25741         cases.
25742
25743 2010-03-13  Bruno Haible  <bruno@clisp.org>
25744
25745         Test that gnulib does not break the standard C++ headers.
25746         * tests/test-locale-c++2.cc: New file.
25747         * modules/locale-tests (Files): Add it.
25748         (Makefile.am): Compile it for test-locale-c++.
25749         * tests/test-math-c++2.cc: New file.
25750         * modules/math-tests (Files): Add it.
25751         (Makefile.am): Compile it for test-math-c++.
25752         * tests/test-signal-c++2.cc: New file.
25753         * modules/signal-tests (Files): Add it.
25754         (Makefile.am): Compile it for test-signal-c++.
25755         * tests/test-stdio-c++2.cc: New file.
25756         * modules/stdio-tests (Files): Add it.
25757         (Makefile.am): Compile it for test-stdio-c++.
25758         * tests/test-stdlib-c++2.cc: New file.
25759         * modules/stdlib-tests (Files): Add it.
25760         (Makefile.am): Compile it for test-stdlib-c++.
25761         * tests/test-string-c++2.cc: New file.
25762         * modules/string-tests (Files): Add it.
25763         (Makefile.am): Compile it for test-string-c++.
25764         * tests/test-time-c++2.cc: New file.
25765         * modules/time-tests (Files): Add it.
25766         (Makefile.am): Compile it for test-time-c++.
25767         Reported by John W. Eaton <jwe@gnu.org>.
25768
25769 2010-03-13  Bruno Haible  <bruno@clisp.org>
25770
25771         * gnulib-tool (func_usage): Clarify which options are available for
25772         --create-testdir and --create-megatestdir.
25773
25774 2010-03-13  Bruno Haible  <bruno@clisp.org>
25775
25776         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25777         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25778         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25779         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25780         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25781         when appropriate.
25782         Reported by Jim Meyering.
25783
25784 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25785
25786         * gnulib-tool (func_import): Explain origin of code.
25787
25788 2010-03-12  Bruno Haible  <bruno@clisp.org>
25789
25790         Fix problem with automake's definition of CXXLINK.
25791         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25792         Reported by Simon Josefsson and Ludovic Courtès.
25793
25794 2010-03-12  Bruno Haible  <bruno@clisp.org>
25795
25796         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25797         stable releases.
25798
25799 2010-03-11  Bruno Haible  <bruno@clisp.org>
25800
25801         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25802         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25803         whether the system provides one variant or multiple variants of the
25804         function.
25805         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25806         C++ compilers.
25807         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25808         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25809         Reported by Jim Meyering.
25810
25811 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25812
25813         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25814
25815 2010-03-08  Bruno Haible  <bruno@clisp.org>
25816
25817         gnulib-tool: Add support for --libtool in --create-testdir.
25818         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25819         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25820
25821 2010-03-08  Eric Blake  <eblake@redhat.com>
25822
25823         gnulib-tool.texi: mention possibility of git submodule
25824         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25825         submodules.
25826         * doc/.gitignore: Ignore another generated file.
25827
25828 2010-03-08  Karl Berry  <karl@gnu.org>
25829
25830         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25831         of committing gnulib files while skipping others.
25832
25833 2010-03-07  Bruno Haible  <bruno@clisp.org>
25834
25835         Tests of module 'wctype' in C++ mode.
25836         * tests/test-wctype-c++.cc: New file.
25837         * modules/wctype-tests (Files): Add it and tests/signature.h.
25838         (Depends-on): Add ansi-c++-opt.
25839         (Makefile.am): Arrange to compile and run test-wctype-c++.
25840
25841         Tests of module 'wchar' in C++ mode.
25842         * tests/test-wchar-c++.cc: New file.
25843         * modules/wchar-tests (Files): Add it and tests/signature.h.
25844         (Depends-on): Add ansi-c++-opt.
25845         (Makefile.am): Arrange to compile and run test-wchar-c++.
25846         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
25847         gl_MODULE_INDICATOR.
25848
25849         Tests of module 'unistd' in C++ mode.
25850         * tests/test-unistd-c++.cc: New file.
25851         * modules/unistd-tests (Files): Add it and tests/signature.h.
25852         (Depends-on): Add ansi-c++-opt.
25853         (Makefile.am): Arrange to compile and run test-unistd-c++.
25854         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
25855         gl_MODULE_INDICATOR.
25856
25857         Tests of module 'time' in C++ mode.
25858         * tests/test-time-c++.cc: New file.
25859         * modules/time-tests (Files): Add it and tests/signature.h.
25860         (Depends-on): Add ansi-c++-opt.
25861         (Makefile.am): Arrange to compile and run test-time-c++.
25862         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25863
25864         Tests of module 'sys_time' in C++ mode.
25865         * tests/test-sys_time-c++.cc: New file.
25866         * modules/sys_time-tests (Files): Add it and tests/signature.h.
25867         (Depends-on): Add ansi-c++-opt.
25868         (Makefile.am): Arrange to compile and run test-sys_time-c++.
25869         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
25870         gl_MODULE_INDICATOR.
25871
25872         Tests of module 'sys_stat' in C++ mode.
25873         * tests/test-sys_stat-c++.cc: New file.
25874         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
25875         (Depends-on): Add ansi-c++-opt.
25876         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
25877         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
25878         gl_MODULE_INDICATOR.
25879
25880         Tests of module 'sys_socket' in C++ mode.
25881         * tests/test-sys_socket-c++.cc: New file.
25882         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
25883         (Depends-on): Add ansi-c++-opt.
25884         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
25885         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
25886         gl_MODULE_INDICATOR.
25887
25888         Tests of module 'sys_select' in C++ mode.
25889         * tests/test-sys_select-c++.cc: New file.
25890         * modules/sys_select-tests (Files): Add it and tests/signature.h.
25891         (Depends-on): Add ansi-c++-opt.
25892         (Makefile.am): Arrange to compile and run test-sys_select-c++.
25893         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
25894         gl_MODULE_INDICATOR.
25895
25896         Tests of module 'sys_ioctl' in C++ mode.
25897         * tests/test-sys_ioctl-c++.cc: New file.
25898         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
25899         (Depends-on): Add ansi-c++-opt.
25900         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
25901         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
25902         gl_MODULE_INDICATOR.
25903
25904         Tests of module 'string' in C++ mode.
25905         * tests/test-string-c++.cc: New file.
25906         * modules/string-tests (Files): Add it and tests/signature.h.
25907         (Depends-on): Add ansi-c++-opt.
25908         (Makefile.am): Arrange to compile and run test-string-c++.
25909         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
25910         gl_MODULE_INDICATOR.
25911
25912         Tests of module 'stdlib' in C++ mode.
25913         * tests/test-stdlib-c++.cc: New file.
25914         * modules/stdlib-tests (Files): Add it and tests/signature.h.
25915         (Depends-on): Add ansi-c++-opt.
25916         (Makefile.am): Arrange to compile and run test-stdlib-c++.
25917         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
25918         gl_MODULE_INDICATOR.
25919
25920         Tests of module 'stdio' in C++ mode.
25921         * tests/test-stdio-c++.cc: New file.
25922         * modules/stdio-tests (Files): Add it and tests/signature.h.
25923         (Depends-on): Add ansi-c++-opt.
25924         (Makefile.am): Arrange to compile and run test-stdio-c++.
25925         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
25926         gl_MODULE_INDICATOR.
25927
25928         Tests of module 'spawn' in C++ mode.
25929         * tests/test-spawn-c++.cc: New file.
25930         * modules/spawn-tests (Files): Add it and tests/signature.h.
25931         (Depends-on): Add ansi-c++-opt.
25932         (Makefile.am): Arrange to compile and run test-spawn-c++.
25933         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
25934         gl_MODULE_INDICATOR.
25935
25936         Tests of module 'signal' in C++ mode.
25937         * tests/test-signal-c++.cc: New file.
25938         * modules/signal-tests (Files): Add it and tests/signature.h.
25939         (Depends-on): Add ansi-c++-opt.
25940         (Makefile.am): Arrange to compile and run test-signal-c++.
25941         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
25942         gl_MODULE_INDICATOR.
25943
25944         Tests of module 'search' in C++ mode.
25945         * tests/test-search-c++.cc: New file.
25946         * modules/search-tests (Files): Add it and tests/signature.h.
25947         (Depends-on): Add ansi-c++-opt.
25948         (Makefile.am): Arrange to compile and run test-search-c++.
25949         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
25950         gl_MODULE_INDICATOR.
25951
25952         Tests of module 'math' in C++ mode.
25953         * tests/test-math-c++.cc: New file.
25954         * modules/math-tests (Files): Add it and tests/signature.h.
25955         (Depends-on): Add ansi-c++-opt.
25956         (Makefile.am): Arrange to compile and run test-math-c++.
25957         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25958
25959         Tests of module 'locale' in C++ mode.
25960         * tests/test-locale-c++.cc: New file.
25961         * modules/locale-tests (Files): Add it and tests/signature.h.
25962         (Depends-on): Add ansi-c++-opt.
25963         (Makefile.am): Arrange to compile and run test-locale-c++.
25964         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
25965         gl_MODULE_INDICATOR.
25966
25967         Tests of module 'langinfo' in C++ mode.
25968         * tests/test-langinfo-c++.cc: New file.
25969         * modules/langinfo-tests (Files): Add it and tests/signature.h.
25970         (Depends-on): Add ansi-c++-opt.
25971         (Makefile.am): Arrange to compile and run test-langinfo-c++.
25972         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
25973         gl_MODULE_INDICATOR.
25974
25975         Tests of module 'iconv-h' in C++ mode.
25976         * tests/test-iconv-h-c++.cc: New file.
25977         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
25978         (Depends-on): Add ansi-c++-opt.
25979         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
25980
25981         Tests of module 'glob' in C++ mode.
25982         * tests/test-glob-c++.cc: New file.
25983         * modules/glob-tests (Files): Add it.
25984         (Depends-on): Add ansi-c++-opt.
25985         (Makefile.am): Arrange to compile and run test-glob-c++.
25986
25987         Tests of module 'fcntl-h' in C++ mode.
25988         * tests/test-fcntl-h-c++.cc: New file.
25989         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
25990         (Depends-on): Add ansi-c++-opt.
25991         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
25992         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
25993         gl_MODULE_INDICATOR.
25994
25995         Tests of module 'dirent' in C++ mode.
25996         * tests/test-dirent-c++.cc: New file.
25997         * modules/dirent-tests (Files): Add it and tests/signature.h.
25998         (Depends-on): Add ansi-c++-opt.
25999         (Makefile.am): Arrange to compile and run test-dirent-c++.
26000         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
26001         gl_MODULE_INDICATOR.
26002
26003         New module 'ansi-c++-opt'.
26004         * modules/ansi-c++-opt: New file.
26005         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
26006
26007         Document C++ namespace mode.
26008         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
26009
26010         wctype: Avoid #define replacements in C++ mode.
26011         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
26012         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
26013         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
26014         In C++, define a namespaced alias symbol.
26015         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
26016         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
26017         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
26018         rule.
26019
26020         wchar: Avoid #define replacements in C++ mode.
26021         * lib/wchar.in.h: Include c++defs.h.
26022         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
26023         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
26024         symbol.
26025         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
26026         * modules/wchar (Depends-on): Add c++defs.
26027         (Makefile.am): Update wchar.h rule.
26028
26029         unistd: Avoid #define replacements in C++ mode.
26030         * lib/unistd.in.h: Include c++defs.h.
26031         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
26032         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
26033         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
26034         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
26035         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
26036         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
26037         symbol.
26038         (environ): Update.
26039         * modules/unistd (Depends-on): Add c++defs.
26040         (Makefile.am): Update unistd.h rule.
26041
26042         time: Avoid #define replacements in C++ mode.
26043         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
26044         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
26045         define a namespaced alias symbol.
26046         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
26047         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
26048         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
26049         * modules/time (Depends-on): Add c++defs, warn-on-use.
26050         (Makefile.am): Update time.h rule.
26051         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26052         * modules/nanosleep (configure.ac): Likewise.
26053         * modules/strptime (configure.ac): Likewise.
26054         * modules/timegm (configure.ac): Likewise.
26055
26056         sys_time: Avoid #define replacements in C++ mode.
26057         * lib/sys_time.in.h: Include c++defs.h.
26058         (gettimeofday): In C++, define a namespaced alias symbol.
26059         * modules/sys_time (Depends-on): Add c++defs.
26060         (Makefile.am): Update sys/time.h rule.
26061
26062         sys_stat: Avoid #define replacements in C++ mode.
26063         * lib/sys_stat.in.h: Include c++defs.h.
26064         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
26065         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
26066         namespaced alias symbol.
26067         In C++, define a namespaced alias symbol.
26068         * modules/sys_stat (Depends-on): Add c++defs.
26069         (Makefile.am): Update sys/stat.h rule.
26070
26071         sys_socket: Avoid #define replacements in C++ mode.
26072         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
26073         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
26074         definitions also when the system has a <sys/socket.h>.
26075         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26076         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
26077         In C++, define a namespaced alias symbol.
26078         * modules/sys_socket (Depends-on): Add c++defs.
26079         (Makefile.am): Update sys/socket.h rule.
26080
26081         sys_select: Avoid #define replacements in C++ mode.
26082         * lib/sys_select.in.h: Include c++defs.h. Enable the function
26083         definitions also when the system has a <sys/select.h>.
26084         (select): In C++, define a namespaced alias symbol.
26085         * modules/sys_select (Depends-on): Add c++defs.
26086         (Makefile.am): Update sys/select.h rule.
26087
26088         sys_ioctl: Avoid #define replacements in C++ mode.
26089         * lib/sys_ioctl.in.h: Include c++defs.h.
26090         (ioctl): In C++, define a namespaced alias symbol.
26091         * modules/sys_ioctl (Depends-on): Add c++defs.
26092         (Makefile.am): Update sys/ioctl.h rule.
26093
26094         string: Avoid #define replacements in C++ mode.
26095         * lib/string.in.h: Include c++defs.h.
26096         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
26097         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
26098         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
26099         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
26100         strsignal, strverscmp): In C++, define a namespaced alias symbol.
26101         * modules/string (Depends-on): Add c++defs.
26102         (Makefile.am): Update string.h rule.
26103
26104         stdlib: Avoid #define replacements in C++ mode.
26105         * lib/stdlib.in.h: Include c++defs.h.
26106         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
26107         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
26108         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
26109         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
26110         symbol.
26111         * modules/stdlib (Depends-on): Add c++defs.
26112         (Makefile.am): Update stdlib.h rule.
26113
26114         stdio: Avoid #define replacements in C++ mode.
26115         * lib/stdio.in.h: Include c++defs.h.
26116         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
26117         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
26118         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
26119         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
26120         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
26121         namespaced alias symbol.
26122         * modules/stdio (Depends-on): Add c++defs.
26123         (Makefile.am): Update stdio.h rule.
26124
26125         spawn: Avoid #define replacements in C++ mode.
26126         * lib/spawn.in.h: Include c++defs.h.
26127         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26128         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26129         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26130         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26131         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26132         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26133         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26134         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26135         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26136         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26137         In C++, define a namespaced alias symbol.
26138         * modules/spawn (Depends-on): Add c++defs.
26139         (Makefile.am): Update spawn.h rule.
26140
26141         signal: Avoid #define replacements in C++ mode.
26142         * lib/signal.in.h: Include c++defs.h.
26143         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26144         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
26145         namespaced alias symbol.
26146         * modules/signal (Depends-on): Add c++defs.
26147         (Makefile.am): Update signal.h rule.
26148
26149         search: Avoid #define replacements in C++ mode.
26150         * lib/search.in.h: Include c++defs.h.
26151         (_gl_search_compar_fn, _gl_search_action_fn): New types.
26152         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
26153         symbol.
26154         * modules/search (Depends-on): Add c++defs.
26155         (Makefile.am): Update search.h rule.
26156
26157         math: Avoid #define replacements in C++ mode.
26158         * lib/math.in.h: Include c++defs.h.
26159         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
26160         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
26161         trunc, truncl): In C++, define a namespaced alias symbol.
26162         * modules/math (Depends-on): Add c++defs.
26163         (Makefile.am): Update math.h rule.
26164
26165         locale: Avoid #define replacements in C++ mode.
26166         * lib/locale.in.h: Include c++defs.h.
26167         (duplocale): In C++, define a namespaced alias symbol.
26168         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
26169         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
26170         * modules/locale (Depends-on): Add c++defs.
26171         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
26172
26173         langinfo: Avoid #define replacements in C++ mode.
26174         * lib/langinfo.in.h: Include c++defs.h.
26175         (nl_langinfo): In C++, define a namespaced alias symbol.
26176         * modules/langinfo (Depends-on): Add c++defs.
26177         (Makefile.am): Update langinfo.h rule.
26178
26179         iconv-h: Avoid #define replacements in C++ mode.
26180         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
26181         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
26182         symbol.
26183         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26184         whenever iconv is present.
26185         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
26186         (Makefile.am): Update iconv.h rule.
26187
26188         glob: Avoid #define replacements in C++ mode.
26189         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
26190         (_gl_glob_errfunc_fn): New type.
26191         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
26192         symbol.
26193         * modules/glob (Depends-on): Add c++defs, warn-on-use.
26194         (Makefile.am): Update glob.h rule.
26195
26196         fcntl-h: Avoid #define replacements in C++ mode.
26197         * lib/fcntl.in.h: Include c++defs.h.
26198         (fcntl, open, openat): In C++, define a namespaced alias symbol.
26199         * modules/fcntl-h (Depends-on): Add c++defs.
26200         (Makefile.am): Update fcntl.h rule.
26201
26202         dirent: Avoid #define replacements in C++ mode.
26203         * lib/dirent.in.h: Include c++defs.h.
26204         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
26205         namespaced alias symbol.
26206         (dirfd): Update declaration.
26207         * modules/dirent (Depends-on): Add c++defs.
26208         (Makefile.am): Update dirent.h rule.
26209
26210         ctype: Make it usable in C++ code.
26211         * lib/ctype.in.h: Include c++defs.h.
26212         (isblank): Declare as extern "C".
26213         * modules/ctype (Depends-on): Add c++defs.
26214         (Makefile.am): Update ctype.h rule.
26215
26216         New module 'c++defs'.
26217         * modules/c++defs: New file.
26218         * build-aux/c++defs.h: New file.
26219         Reported by John W. Eaton <jwe@gnu.org>.
26220
26221 2010-03-07  Bruno Haible  <bruno@clisp.org>
26222
26223         logb: Provide missing declaration for Cygwin.
26224         * lib/math.in.h (logb): New declaration.
26225         * m4/logb.m4: New file.
26226         * modules/logb (Files): Add m4/logb.m4.
26227         (Depends-on): Add math.
26228         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
26229         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
26230         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
26231         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
26232         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
26233
26234 2010-03-07  Bruno Haible  <bruno@clisp.org>
26235
26236         Fix test-cond link error.
26237         * tests/test-cond.c: Include <stdio.h>.
26238
26239 2010-03-07  Bruno Haible  <bruno@clisp.org>
26240
26241         Fix test-dirent-safer link error.
26242         * modules/dirent-safer-tests (Makefile.am): Define
26243         test_dirent_safer_LDADD.
26244
26245 2010-03-07  Bruno Haible  <bruno@clisp.org>
26246
26247         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
26248         among default module list.
26249
26250 2010-03-07  Bruno Haible  <bruno@clisp.org>
26251
26252         Fix link error on platforms with GNU libiconv.
26253         * modules/unistr/u8-strcoll-tests (Makefile): Define
26254         test_u8_strcoll_LDADD.
26255         * modules/unistr/u16-strcoll-tests (Makefile): Define
26256         test_u16_strcoll_LDADD.
26257         * modules/unistr/u32-strcoll-tests (Makefile): Define
26258         test_u32_strcoll_LDADD.
26259
26260 2010-03-07  Bruno Haible  <bruno@clisp.org>
26261
26262         Use POSIX declarations for socket functions.
26263         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
26264         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
26265         rpl_sendto): Change declaration to match POSIX.
26266         * lib/connect.c (rpl_connect): Likewise.
26267         * lib/accept.c (rpl_accept): Likewise.
26268         * lib/bind.c (rpl_bind): Likewise.
26269         * lib/getpeername.c (rpl_getpeername): Likewise.
26270         * lib/getsockname.c (rpl_getsockname): Likewise.
26271         * lib/recv.c (rpl_recv): Likewise.
26272         * lib/send.c (rpl_send): Likewise.
26273         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26274         * lib/sendto.c (rpl_sendto): Likewise.
26275
26276 2010-03-06  Bruno Haible  <bruno@clisp.org>
26277
26278         Clarify access, euidaccess, faccessat.
26279         * doc/posix-functions/faccessat.texi: Mention security problem under
26280         "Other problems", not "Portability problems".
26281         * doc/posix-functions/access.texi: Likewise. Mention a related security
26282         problem.
26283         * doc/glibc-functions/euidaccess.texi: Mention security problems.
26284         * lib/euidaccess.c: Add comments about platforms.
26285         * lib/unistd.in.h (access, euidaccess): Add warnings.
26286
26287 2010-03-07  Bruno Haible  <bruno@clisp.org>
26288
26289         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
26290         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
26291         (POSIX_SPAWN_SETSCHEDULER): Likewise.
26292         (POSIX_SPAWN_USEVFORK): Define in a way that works when
26293         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26294         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
26295         declare when POSIX_SPAWN_SETSCHEDULER is zero.
26296         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
26297         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
26298         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
26299         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
26300         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
26301         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
26302         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
26303         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
26304         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
26305         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
26306         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
26307         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
26308         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
26309         Likewise.
26310         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
26311         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
26312         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
26313         Likewise.
26314         * tests/test-spawn.c (main): Make it work when
26315         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26316
26317 2010-03-07  Bruno Haible  <bruno@clisp.org>
26318
26319         Fix incorrect Makefile.am generation in German locale.
26320         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26321         Execute sed command with character range in C locale.
26322
26323 2010-03-06  Bruno Haible  <bruno@clisp.org>
26324
26325         Tests for module 'iconv-h'.
26326         * modules/iconv-h-tests: New file.
26327         * tests/test-iconv-h.c: New file.
26328
26329         New module 'iconv-h'.
26330         * modules/iconv-h: New file.
26331         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
26332         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
26333         (configure.ac): Remove gl_ICONV_H.
26334         (Makefile.am): Remove rule for iconv.h.
26335
26336 2010-03-06  Bruno Haible  <bruno@clisp.org>
26337
26338         More consistent naming of *.m4 files.
26339         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
26340         * modules/wctype (Files): Update.
26341
26342         More consistent naming of *.m4 files.
26343         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
26344         * modules/wchar (Files): Update.
26345
26346 2010-03-06  Jim Meyering  <meyering@redhat.com>
26347
26348         euidaccess: relax license to LGPLv2+
26349         * modules/euidaccess (License): Relax to LGPLv2+.
26350
26351 2010-03-06  Bruno Haible  <bruno@clisp.org>
26352
26353         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
26354         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
26355         (Makefile.am): Augment lib_SOURCES instead.
26356
26357 2010-03-04  Jim Meyering  <meyering@redhat.com>
26358
26359         utime: remove obsolete module
26360         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
26361         unnecessary for years, and has been marked as obsolete for 10 months.
26362         * modules/utime: Remove file.
26363         * lib/utime.c: Remove file.
26364         * m4/utime.m4: Remove file.
26365         * m4/utimes-null.m4: Remove file.
26366         * doc/posix-functions/utime.texi (utime): Remove reference to
26367         the module.  Move the sole "fixed by gnulib" item into the
26368         "problems not fixed by Gnulib" list.
26369         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
26370
26371 2010-03-05  Simon Josefsson  <simon@josefsson.org>
26372
26373         * modules/exit (License): Relax license to LGPLv2+.
26374         (Status): Mark as obsolete.
26375         * NEWS: Mention deprecated 'exit' module.
26376         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
26377         of now obsolete 'exit'.
26378
26379 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26380
26381         fts-lgpl: remove unused module
26382         * modules/fts-lgpl: Remove.
26383         * MODULES.html.sh (func_all_modules): Adjust.
26384         * check-module (find_included_lib_files): Adjust.
26385         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
26386
26387 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26388
26389         copy-acl: enhance Solaris ACL error handling
26390         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
26391         * lib/set-mode-acl.c (qset_acl): Likewise.
26392
26393 2010-03-02  Bruno Haible  <bruno@clisp.org>
26394
26395         spawn: Don't override the system defined values on FreeBSD 8.
26396         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
26397         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
26398         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
26399         if HAVE_POSIX_SPAWN is 1.
26400         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
26401
26402 2010-03-01  Bruno Haible  <bruno@clisp.org>
26403
26404         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
26405         regarding Automake.
26406
26407 2010-02-25  Bruno Haible  <bruno@clisp.org>
26408
26409         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
26410         * gnulib-tool: Define 'echo' as a function only before the ksh alias
26411         setting, not afterwards.
26412         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26413
26414 2010-02-24  Eric Blake  <eblake@redhat.com>
26415
26416         bootstrap, git-version-gen: use timestamp
26417         * build-aux/git-version-gen (scriptversion): Force UTC.
26418         * build-aux/bootstrap (scriptversion): New variable.
26419
26420         bootstrap: allow older git
26421         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
26422         older than 1.6.4.  Requested by the libvirt project.
26423
26424 2010-02-23  Eric Blake  <eblake@redhat.com>
26425
26426         warn-on-use: work with old autoconf
26427         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
26428         AS_VAR semantics of autoconf 2.60.
26429         Reported by Bruno Haible.
26430
26431         bootstrap: improve some comments
26432         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26433         clarification comments.
26434
26435         gettimeofday: provide correct function
26436         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26437         when replacement is declared, otherwise provide gettimeofday.
26438         Reported by Michael Goffioul.
26439
26440 2010-02-23  Jim Meyering  <meyering@redhat.com>
26441
26442         lib-ignore: relax license to "unlimited", not LGPLv2+
26443         * modules/lib-ignore (License): Relax to "unlimited".
26444
26445 2010-02-23  Jim Meyering  <meyering@redhat.com>
26446
26447         lib-ignore: relax license to LGPLv2+
26448         * modules/lib-ignore (License): Relax to LGPLv2+.
26449
26450 2010-02-22  Eric Blake  <eblake@redhat.com>
26451
26452         lseek: avoid bash 3.2 broken pipe bug
26453         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26454         warning from bash 3.2.
26455         Reported by Ben Pfaff, with analysis from Bruno Haible.
26456
26457         bootstrap: support non-FSF copyright holder
26458         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26459         bootstrap.conf override of COPYRIGHT_HOLDER.
26460         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26461
26462         bootstrap: interoperate with gettext 0.14.1
26463         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26464
26465         bootstrap: allow for alternate submodule location
26466         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26467         hardcoding submodule location.
26468         (gnulib_mk): Allow direct use of Makefile.am.
26469
26470         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26471         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26472         rather than reconfiguring where the submodule points.
26473
26474         gettimeofday: restore support for platforms that lack function
26475         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26476         replacement if function is missing.
26477         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26478         * modules/sys_time (Makefile.am): Substitute it.
26479         * lib/sys_time.in.h (gettimeofday): Check it.
26480         Reported by Michael Goffioul.
26481
26482 2010-02-21  Bruno Haible  <bruno@clisp.org>
26483
26484         * lib/stdio.in.h (obstack_printf): Fix typo.
26485
26486 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26487
26488         vc-list-files: use bzr ls's -R option
26489         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26490         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26491
26492 2010-02-21  Jim Meyering  <meyering@redhat.com>
26493
26494         init.sh: fix EXEEXT shims to work also for names like test-prog
26495         * tests/init.sh: Re-exec a better shell, when needed.
26496         If the current shell lacks support for posix $(...), an init.sh-using
26497         test will now try to find a shell that supports that.  If EXEEXT is
26498         nonempty, we also require support for hyphen-in-alias-name and shell
26499         substitutions like ${var#glob}.  Failure to find such a shell results
26500         in a skipped test.
26501
26502 2010-02-21  Bruno Haible  <bruno@clisp.org>
26503
26504         Really work around around "broken pipe" error message from bash 3.2.
26505         * gnulib-tool (func_reset_sigpipe): Remove function.
26506         (echo): In bash 3.2, define to a function that uses printf.
26507         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26508
26509 2010-02-20  Bruno Haible  <bruno@clisp.org>
26510
26511         Restore support for automake 1.9.6 with autoconf 2.61.
26512         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26513         Reported by James Youngman <jay@gnu.org>.
26514
26515 2010-02-20  Bruno Haible  <bruno@clisp.org>
26516
26517         Improve *printf warning condition.
26518         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26519         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26520         and the function is overridden due to SIGPIPE emulation.
26521
26522 2010-02-20  Bruno Haible  <bruno@clisp.org>
26523
26524         * lib/stdio.in.h: Tweak comments.
26525
26526 2010-02-19  Bruno Haible  <bruno@clisp.org>
26527
26528         Make it easier to find modules. New gnulib-tool option '--find'.
26529         * gnulib-tool: New option --find.
26530         (func_usage): Document it.
26531         (func_sanitize_modulelist): New function, extracted from
26532         func_all_modules.
26533         (func_all_modules): Invoke it.
26534         * doc/gnulib-tool.texi (Which modules?): New node.
26535
26536 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26537
26538         * lib/sys_select.in.h: Provide select replacement even if
26539         sys/select.h exists on a system, for Interix.
26540
26541 2010-02-18  Jim Meyering  <meyering@redhat.com>
26542
26543         init.sh: don't use $(...) just yet
26544         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26545         to accommodate e.g., Solaris' /bin/sh.
26546
26547 2010-02-17  Bruno Haible  <bruno@clisp.org>
26548
26549         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26550         Reported by Ludovic Courtès <ludo@gnu.org>.
26551
26552 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26553
26554         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26555         linking with -lintl.
26556
26557 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26558
26559         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26560         if not provided by the system's netdb.h.  Reported by
26561         ludo@gnu.org (Ludovic Courtès).
26562
26563 2010-02-15  Jim Meyering  <meyering@redhat.com>
26564
26565         init.sh: improve portability and efficiency
26566         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26567         "dummy" in a for loop.
26568         Use '!', not '^' to select the complement of a character set used
26569         in a "case" statement.
26570         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26571         Suggestions from Eric Blake.
26572
26573         init.sh: automatically accommodate programs with the .exe suffix
26574         Automatically arrange for an invocation of "prog" to execute the
26575         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26576         may use the simpler "prog", yet still work when built on a system
26577         that requires specifying the added suffix.
26578         Do this by constructing a function named "prog" that invokes
26579         "prog.exe" for each .exe file in selected directories.
26580         * tests/init.sh (find_exe_basenames_): New function.
26581         (create_exe_shim_functions_): New function.
26582         (path_prepend_): Use it.
26583
26584         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26585         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26586         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26587
26588 2010-02-14  Jim Meyering  <meyering@redhat.com>
26589
26590         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26591         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26592         (sc_prohibit_hash_pjw_without_use): New rule.
26593
26594         maint.mk: allow the default upload destination dir to be overridden
26595         * top/maint.mk (upload_dest_dir_): Define with a default that
26596         preserves the status quo.
26597         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26598         Reported by Peter Simons.
26599
26600         maint.mk: prohibit inclusion of "hash.h" without_use
26601         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26602
26603 2010-02-10  Jim Meyering  <meyering@redhat.com>
26604
26605         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26606         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26607
26608 2010-02-09  Eric Blake  <ebb9@byu.net>
26609         and Bruno Haible  <bruno@clisp.org>
26610
26611         obstack-printf-posix: ensure declaration
26612         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26613         extracted from gl_FUNC_OBSTACK_PRINTF.
26614         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26615         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26616         Likewise.
26617         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26618         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26619         0.
26620
26621 2010-02-08  Bruno Haible  <bruno@clisp.org>
26622
26623         gnulib-tool: Fix typo in 2010-02-07 commit.
26624         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26625         Reported by Eric Blake.
26626
26627 2010-02-07  Bruno Haible  <bruno@clisp.org>
26628
26629         gnulib-tool: Fix up caching patches.
26630         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26631         option --no-cache. Use associative arrays when supported by the shell.
26632         (sed_comments): New variable.
26633         (modcache): Renamed from do_cache.
26634         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26635         abbreviate unnecessarily.
26636         (have_associative): New variable.
26637         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26638         way also for ksh and zsh.
26639         (func_init_sed_convert_to_cache_statements): New function, extracted
26640         from func_cache_lookup_module. Add support for associative arrays.
26641         Don't set the c_MODULE_cached variable here. Ignore all lines before
26642         the first field header. Remove only the final newline, not all trailing
26643         newlines. Support empty fields correctly. Limit the use of 'eval' to
26644         assignments.
26645         (func_get_description, func_get_status, func_get_notice,
26646         func_get_applicability, func_get_filelist, func_get_dependencies,
26647         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26648         func_get_automake_snippet, func_get_include_directive,
26649         func_get_link_directive, func_get_license, func_get_maintainer):
26650         Update documentation. List the unoptimized code first. Add support for
26651         associative arrays. Limit the use of 'eval' to assignments.
26652         (func_get_applicability): Undo stylistic pessimisations.
26653         (func_get_automake_snippet, func_get_include_directive): Reduce code
26654         duplication.
26655         (func_modules_transitive_closure, func_modules_add_dummy,
26656         func_modules_notice, func_modules_to_filelist, func_add_file,
26657         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26658         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26659         func_create_testdir, func_create_megatestdir): Update documentation.
26660
26661 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26662
26663         * gnulib-tool (func_cache_lookup_module): Store the module name
26664         belonging to the cache variable; error out if two different
26665         module names map to the same cache variable name.
26666
26667 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26668
26669         gnulib-tool: Make caching optional.
26670         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26671         Update matching short versions of --no-changelog.
26672         (func_usage): Update.
26673         (sed_extract_cache_prog): Renamed from ...
26674         (sed_extract_prog): ... this; revert to old extraction script.
26675         (func_get_description, func_get_status)
26676         (func_get_notice, func_get_applicability, func_get_filelist)
26677         (func_get_dependencies, func_get_autoconf_early_snippet)
26678         (func_get_autoconf_snippet, func_get_automake_snippet)
26679         (func_get_include_directive, func_get_link_directive)
26680         (func_get_license, func_get_maintainer): If $do_cache is false,
26681         use old, non-caching extraction scripts.
26682         Suggestion by Bruno Haible.
26683
26684 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26685
26686         gnulib-tool: cache module metainformation.
26687         * gnulib-tool (sed_extract_prog): Match newline before each
26688         header, and rewrite header to a shell variable suffix.
26689         (func_cache_var, func_cache_lookup_module): New functions,
26690         to turn a module name into a cache variable prefix, and to
26691         look up and cache module metainformation.
26692         (func_get_description, func_get_status)
26693         (func_get_notice, func_get_applicability, func_get_filelist)
26694         (func_get_dependencies, func_get_autoconf_early_snippet)
26695         (func_get_autoconf_snippet, func_get_automake_snippet)
26696         (func_get_include_directive, func_get_link_directive)
26697         (func_get_license, func_get_maintainer): Use
26698         func_cache_lookup_module.
26699
26700 2010-02-07  Bruno Haible  <bruno@clisp.org>
26701
26702         fnctl: Fix missing dependency.
26703         * modules/fcntl (Depends-on): Add getdtablesize.
26704         Reported by John W. Eaton <jwe@gnu.org>.
26705
26706 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26707
26708         Argp: fix recognition of short alias options.
26709
26710         * lib/argp-parse.c (convert_options): Fix improper use of
26711         `|' between character values.
26712         * tests/test-argp.c (group1_option): New alias option
26713         --read (-r).
26714         (group1_parser): Special handling for 'r'.
26715         (test15): New test case.
26716         (test_fun): Add test15.
26717         * tests/test-argp-2.sh: Update expected --help and --usage
26718         outputs.
26719
26720 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26721
26722         * tests/test-argp.c: Fix indentation.
26723
26724 2010-02-04  Eric Blake  <ebb9@byu.net>
26725
26726         gettimeofday: expose type of second argument
26727         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26728         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26729         * tests/test-gettimeofday.c: Use it to silence warning.
26730         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26731         the issue.
26732
26733 2010-02-03  Jim Meyering  <meyering@redhat.com>
26734
26735         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26736         * lib/regcomp.c (TYPE_SIGNED): Define.
26737         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26738
26739         regcomp.c: avoid a new -Wshadow warning
26740         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26741
26742 2010-02-01  Jim Meyering  <meyering@redhat.com>
26743
26744         removing useless parentheses in cpp #define directives
26745         For motivation, see commit c0221df4, "define STREQ(a,b)
26746         consistently, removing useless parentheses"
26747         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26748         * lib/mountlist.c (MNT_IGNORE): Likewise.
26749         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26750
26751 2010-02-01  Eric Blake  <ebb9@byu.net>
26752
26753         sys_time: use link-warning
26754         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26755         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26756         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26757         * modules/sys_time (Depends-on): Add warn-on-use.
26758         (Makefile.am): Always build replacement.
26759         (configure.ac): Update substitutions.
26760         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26761         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26762         bother with SYS_TIME_H.
26763         * modules/gettimeofday (configure.ac): Declare indicator.
26764         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26765         in use.
26766
26767         closein-tests: silence compiler warning
26768         * tests/test-closein.c (main): Ignore fread result.
26769         * modules/closein-tests (Depends-on): Add ignore-value.
26770
26771         tests: silence warning about system return
26772         * tests/test-areadlink-with-size.c (main): Ignore system result.
26773         * tests/test-areadlink.c (main): Likewise.
26774         * tests/test-areadlinkat-with-size.c (main): Likewise.
26775         * tests/test-areadlinkat.c (main): Likewise.
26776         * tests/test-canonicalize-lgpl.c (main): Likewise.
26777         * tests/test-canonicalize.c (main): Likewise.
26778         * tests/test-chown.c (main): Likewise.
26779         * tests/test-fchownat.c (main): Likewise.
26780         * tests/test-fdutimensat.c (main): Likewise.
26781         * tests/test-fstatat.c (main): Likewise.
26782         * tests/test-futimens.c (main): Likewise.
26783         * tests/test-lchown.c (main): Likewise.
26784         * tests/test-link.c (main): Likewise.
26785         * tests/test-linkat.c (main): Likewise.
26786         * tests/test-lstat.c (main): Likewise.
26787         * tests/test-mkdir.c (main): Likewise.
26788         * tests/test-mkdirat.c (main): Likewise.
26789         * tests/test-mkfifo.c (main): Likewise.
26790         * tests/test-mkfifoat.c (main): Likewise.
26791         * tests/test-mknod.c (main): Likewise.
26792         * tests/test-readlink.c (main): Likewise.
26793         * tests/test-remove.c (main): Likewise.
26794         * tests/test-rename.c (main): Likewise.
26795         * tests/test-renameat.c (main): Likewise.
26796         * tests/test-rmdir.c (main): Likewise.
26797         * tests/test-symlink.c (main): Likewise.
26798         * tests/test-symlinkat.c (main): Likewise.
26799         * tests/test-unlink.c (main): Likewise.
26800         * tests/test-unlinkat.c (main): Likewise.
26801         * tests/test-utimens.c (main): Likewise.
26802         * tests/test-utimensat.c (main): Likewise.
26803         * modules/areadlink-tests (Depends-on): Add ignore-value.
26804         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26805         * modules/areadlinkat-tests (Depends-on): Likewise.
26806         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26807         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26808         * modules/canonicalize-tests (Depends-on): Likewise.
26809         * modules/chown-tests (Depends-on): Likewise.
26810         * modules/fdutimensat-tests (Depends-on): Likewise.
26811         * modules/futimens-tests (Depends-on): Likewise.
26812         * modules/lchown-tests (Depends-on): Likewise.
26813         * modules/link-tests (Depends-on): Likewise.
26814         * modules/linkat-tests (Depends-on): Likewise.
26815         * modules/lstat-tests (Depends-on): Likewise.
26816         * modules/mkdir-tests (Depends-on): Likewise.
26817         * modules/mkfifo-tests (Depends-on): Likewise.
26818         * modules/mkfifoat-tests (Depends-on): Likewise.
26819         * modules/mknod-tests (Depends-on): Likewise.
26820         * modules/openat-tests (Depends-on): Likewise.
26821         * modules/readlink-tests (Depends-on): Likewise.
26822         * modules/remove-tests (Depends-on): Likewise.
26823         * modules/rename-tests (Depends-on): Likewise.
26824         * modules/renameat-tests (Depends-on): Likewise.
26825         * modules/rmdir-tests (Depends-on): Likewise.
26826         * modules/symlink-tests (Depends-on): Likewise.
26827         * modules/symlinkat-tests (Depends-on): Likewise.
26828         * modules/unlink-tests (Depends-on): Likewise.
26829         * modules/utimens-tests (Depends-on): Likewise.
26830         * modules/utimensat-tests (Depends-on): Likewise.
26831
26832 2010-01-31  Bruno Haible  <bruno@clisp.org>
26833
26834         Perform the same test for many <math.h> functions.
26835         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26836         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26837         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26838         of gl_MATHFUNC.
26839         * modules/acos (configure.ac): Likewise.
26840         * modules/asin (configure.ac): Likewise.
26841         * modules/atan (configure.ac): Likewise.
26842         * modules/atan2 (configure.ac): Likewise.
26843         * modules/cbrt (configure.ac): Likewise.
26844         * modules/copysign (configure.ac): Likewise.
26845         * modules/cos (configure.ac): Likewise.
26846         * modules/cosh (configure.ac): Likewise.
26847         * modules/erf (configure.ac): Likewise.
26848         * modules/erfc (configure.ac): Likewise.
26849         * modules/exp (configure.ac): Likewise.
26850         * modules/fmod (configure.ac): Likewise.
26851         * modules/hypot (configure.ac): Likewise.
26852         * modules/j0 (configure.ac): Likewise.
26853         * modules/j1 (configure.ac): Likewise.
26854         * modules/jn (configure.ac): Likewise.
26855         * modules/lgamma (configure.ac): Likewise.
26856         * modules/log (configure.ac): Likewise.
26857         * modules/log10 (configure.ac): Likewise.
26858         * modules/log1p (configure.ac): Likewise.
26859         * modules/pow (configure.ac): Likewise.
26860         * modules/remainder (configure.ac): Likewise.
26861         * modules/sin (configure.ac): Likewise.
26862         * modules/sinh (configure.ac): Likewise.
26863         * modules/tan (configure.ac): Likewise.
26864         * modules/tanh (configure.ac): Likewise.
26865         * modules/y0 (configure.ac): Likewise.
26866         * modules/y1 (configure.ac): Likewise.
26867         * modules/yn (configure.ac): Likewise.
26868         Suggested by Paolo Bonzini.
26869
26870 2010-01-31  Bruno Haible  <bruno@clisp.org>
26871
26872         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
26873
26874 2010-01-31  Bruno Haible  <bruno@clisp.org>
26875
26876         Work around getdelim() bug on FreeBSD 8.0.
26877         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
26878         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
26879         not work.
26880         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
26881         is 1.
26882         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
26883         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
26884         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
26885         a non-zero size.
26886         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
26887
26888 2010-01-31  Bruno Haible  <bruno@clisp.org>
26889
26890         Work around getline() bug on FreeBSD 8.0.
26891         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
26892         and a non-zero size.
26893         * tests/test-getline.c (main): Likewise.
26894         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26895         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
26896
26897 2010-01-28  Eric Blake  <ebb9@byu.net>
26898
26899         regex: fix build failure
26900         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
26901         platforms.
26902
26903 2010-01-28  Jim Meyering  <meyering@redhat.com>
26904
26905         regex: do not ignore memory allocation failure
26906         * lib/regex_internal.c (create_cd_newstate): Detect
26907         re_node_set_init_copy failure.   Extracted from glibc commit
26908         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26909
26910         regex: sync more white-space changes from libc
26911         * lib/regex_internal.c: White-space only changes.
26912         * lib/regexec.c: Likewise.
26913
26914         regex: add many uses of __attribute_warn_unused_result__
26915         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
26916         * lib/regexec.c: Likewise.
26917         Extracted from a messy glibc commit.
26918
26919         regcomp.c: spelling and merge-artifact from glibc
26920         * lib/regcomp.c: Merge remainder of glibc's
26921         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26922
26923         regcomp.c: sync white-space changes from glibc
26924         * lib/regcomp.c: Merge to accommodate white space
26925         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26926
26927         regcomp.c: do not ignore internal return values
26928         * lib/regcomp.c: Do not ignore internal return values.
26929         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
26930         but without its white-space changes and spelling fixes.
26931
26932         regex_internal.h: define __attribute_warn_unused_result__
26933         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
26934
26935         maint: add a syntax-check rule to check for vulnerable Makefile.in
26936         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
26937
26938 2010-01-27  Jim Meyering  <meyering@redhat.com>
26939
26940         ncftpput-ftp: clean up spaces
26941         * build-aux/ncftpput-ftp: Make Copyright line consistent.
26942         Remove trailing blanks.
26943
26944 2010-01-27  Simon Josefsson  <simon@josefsson.org>
26945
26946         * build-aux/git-version-gen: Fix copyright statement.
26947         * build-aux/gnupload: Likewise.
26948         * tests/test-arcfour.c: Likewise.
26949         * tests/test-arctwo.c: Likewise.
26950         * tests/test-count-one-bits.c: Likewise.
26951         * tests/test-crc.c: Likewise.
26952         * tests/test-des.c: Likewise.
26953         * tests/test-gc-arcfour.c: Likewise.
26954         * tests/test-gc-arctwo.c: Likewise.
26955         * tests/test-gc-des.c: Likewise.
26956         * tests/test-gc-hmac-md5.c: Likewise.
26957         * tests/test-gc-hmac-sha1.c: Likewise.
26958         * tests/test-gc-md2.c: Likewise.
26959         * tests/test-gc-md4.c: Likewise.
26960         * tests/test-gc-md5.c: Likewise.
26961         * tests/test-gc-pbkdf2-sha1.c: Likewise.
26962         * tests/test-gc-rijndael.c: Likewise.
26963         * tests/test-gc-sha1.c: Likewise.
26964         * tests/test-gc.c: Likewise.
26965         * tests/test-gethostname.c: Likewise.
26966         * tests/test-gettimeofday.c: Likewise.
26967         * tests/test-hash.c: Likewise.
26968         * tests/test-hmac-md5.c: Likewise.
26969         * tests/test-hmac-sha1.c: Likewise.
26970         * tests/test-md2.c: Likewise.
26971         * tests/test-md4.c: Likewise.
26972         * tests/test-md5.c: Likewise.
26973         * tests/test-memchr.c: Likewise.
26974         * tests/test-memchr2.c: Likewise.
26975         * tests/test-memcmp.c: Likewise.
26976         * tests/test-memmem.c: Likewise.
26977         * tests/test-memrchr.c: Likewise.
26978         * tests/test-rawmemchr.c: Likewise.
26979         * tests/test-read-file.c: Likewise.
26980         * tests/test-rijndael.c: Likewise.
26981         * tests/test-sockets.c: Likewise.
26982         * tests/test-strchrnul.c: Likewise.
26983         * tests/test-strstr.c: Likewise.
26984         * tests/test-strtod.c: Likewise.
26985         * build-aux/ncftpput-ftp: Likewise.
26986
26987 2010-01-26  Eric Blake  <ebb9@byu.net>
26988
26989         ignore-value: update recommended header name
26990         * modules/ignore-value (Include): Only use <> for headers that
26991         exist in glibc.
26992
26993 2010-01-26  Jim Meyering  <meyering@redhat.com>
26994
26995         test-userspec.c: avoid compiler warnings
26996         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
26997         and "initialization discards qualifiers..." warnings.
26998         Put the first "uid" in its own scope, and make char* members "const".
26999
27000 2010-01-25  Bruno Haible  <bruno@clisp.org>
27001
27002         gnulib-tool: Make warning diagnostics consistent.
27003         * gnulib-tool (func_warning): New function.
27004         Use it everywhere where gnulib-tool produces output to stderr and it is
27005         not a fatal error.
27006
27007 2010-01-25  Bruno Haible  <bruno@clisp.org>
27008
27009         Fix test dependencies.
27010         * modules/xstrtol-tests (Depends-on): Add inttypes.
27011         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
27012
27013 2010-01-25 Pádraig Brady <P@draigBrady.com>
27014
27015         syntax-check: detect incorrect boolean macro values in config.h
27016         * modules/maintainer-makefile (configure.ac): Parameterize the location
27017         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
27018         The logic is from Eric Blake and the location indicated by Jim Meyering.
27019         Note the more natural CONFIG_HEADER name is prohibited by automake
27020         for backwards compatibility reasons.
27021         * top/maint.mk (sc_Wundef_boolean): New rule.
27022
27023 2010-01-25  Jim Meyering  <meyering@redhat.com>
27024
27025         bootstrap: detect MacOS 10.6's shasum, too
27026         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
27027         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
27028
27029 2010-01-23  Jim Meyering  <meyering@redhat.com>
27030
27031         xstrtoll: new module
27032         * modules/xstrtoll: New file.
27033         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
27034         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
27035         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
27036         ./configure fails if you use this module and lack "long long".
27037         * modules/xstrtoll-tests: New module.
27038         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
27039         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
27040         new init.sh-based test framework.
27041
27042 2010-01-24  Bruno Haible  <bruno@clisp.org>
27043
27044         Tests for module 'yn'.
27045         * modules/yn-tests: New file.
27046         * tests/test-yn.c: New file.
27047
27048         Tests for module 'y1'.
27049         * modules/y1-tests: New file.
27050         * tests/test-y1.c: New file.
27051
27052         Tests for module 'y0'.
27053         * modules/y0-tests: New file.
27054         * tests/test-y0.c: New file.
27055
27056         Tests for module 'tanh'.
27057         * modules/tanh-tests: New file.
27058         * tests/test-tanh.c: New file.
27059
27060         Tests for module 'tan'.
27061         * modules/tan-tests: New file.
27062         * tests/test-tan.c: New file.
27063
27064         Tests for module 'sqrt'.
27065         * modules/sqrt-tests: New file.
27066         * tests/test-sqrt.c: New file.
27067
27068         Tests for module 'sinh'.
27069         * modules/sinh-tests: New file.
27070         * tests/test-sinh.c: New file.
27071
27072         Tests for module 'sin'.
27073         * modules/sin-tests: New file.
27074         * tests/test-sin.c: New file.
27075
27076         Tests for module 'rint'.
27077         * modules/rint-tests: New file.
27078         * tests/test-rint.c: New file.
27079
27080         Tests for module 'remainder'.
27081         * modules/remainder-tests: New file.
27082         * tests/test-remainder.c: New file.
27083
27084         Tests for module 'pow'.
27085         * modules/pow-tests: New file.
27086         * tests/test-pow.c: New file.
27087
27088         Tests for module 'nextafter'.
27089         * modules/nextafter-tests: New file.
27090         * tests/test-nextafter.c: New file.
27091
27092         Tests for module 'modf'.
27093         * modules/modf-tests: New file.
27094         * tests/test-modf.c: New file.
27095
27096         Tests for module 'logb'.
27097         * modules/logb-tests: New file.
27098         * tests/test-logb.c: New file.
27099
27100         Tests for module 'log1p'.
27101         * modules/log1p-tests: New file.
27102         * tests/test-log1p.c: New file.
27103
27104         Tests for module 'log10'.
27105         * modules/log10-tests: New file.
27106         * tests/test-log10.c: New file.
27107
27108         Tests for module 'log'.
27109         * modules/log-tests: New file.
27110         * tests/test-log.c: New file.
27111
27112         Tests for module 'lgamma'.
27113         * modules/lgamma-tests: New file.
27114         * tests/test-lgamma.c: New file.
27115
27116         Tests for module 'ldexp'.
27117         * modules/ldexp-tests: New file.
27118         * tests/test-ldexp.c: New file.
27119
27120         Tests for module 'jn'.
27121         * modules/jn-tests: New file.
27122         * tests/test-jn.c: New file.
27123
27124         Tests for module 'j1'.
27125         * modules/j1-tests: New file.
27126         * tests/test-j1.c: New file.
27127
27128         Tests for module 'j0'.
27129         * modules/j0-tests: New file.
27130         * tests/test-j0.c: New file.
27131
27132         Tests for module 'hypot'.
27133         * modules/hypot-tests: New file.
27134         * tests/test-hypot.c: New file.
27135
27136         Tests for module 'fmod'.
27137         * modules/fmod-tests: New file.
27138         * tests/test-fmod.c: New file.
27139
27140         Tests for module 'fabs'.
27141         * modules/fabs-tests: New file.
27142         * tests/test-fabs.c: New file.
27143
27144         Tests for module 'exp'.
27145         * modules/exp-tests: New file.
27146         * tests/test-exp.c: New file.
27147
27148         Tests for module 'erfc'.
27149         * modules/erfc-tests: New file.
27150         * tests/test-erfc.c: New file.
27151
27152         Tests for module 'erf'.
27153         * modules/erf-tests: New file.
27154         * tests/test-erf.c: New file.
27155
27156         Tests for module 'cosh'.
27157         * modules/cosh-tests: New file.
27158         * tests/test-cosh.c: New file.
27159
27160         Tests for module 'cos'.
27161         * modules/cos-tests: New file.
27162         * tests/test-cos.c: New file.
27163
27164         Tests for module 'copysign'.
27165         * modules/copysign-tests: New file.
27166         * tests/test-copysign.c: New file.
27167
27168         Tests for module 'cbrt'.
27169         * modules/cbrt-tests: New file.
27170         * tests/test-cbrt.c: New file.
27171
27172         Tests for module 'atan2'.
27173         * modules/atan2-tests: New file.
27174         * tests/test-atan2.c: New file.
27175
27176         Tests for module 'atan'.
27177         * modules/atan-tests: New file.
27178         * tests/test-atan.c: New file.
27179
27180         Tests for module 'asin'.
27181         * modules/asin-tests: New file.
27182         * tests/test-asin.c: New file.
27183
27184         Tests for module 'acos'.
27185         * modules/acos-tests: New file.
27186         * tests/test-acos.c: New file.
27187
27188 2010-01-24  Bruno Haible  <bruno@clisp.org>
27189
27190         Fix tests for common <math.h> functions.
27191         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
27192         code snippet that references the function pointer, rather than merely
27193         calling the function. Substitute the FUNC_LIBM variable.
27194         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
27195         * modules/acos (configure.ac): Likewise.
27196         * modules/asin (configure.ac): Likewise.
27197         * modules/atan (configure.ac): Likewise.
27198         * modules/atan2 (configure.ac): Likewise.
27199         * modules/cbrt (configure.ac): Likewise.
27200         * modules/copysign (configure.ac): Likewise.
27201         * modules/cos (configure.ac): Likewise.
27202         * modules/cosh (configure.ac): Likewise.
27203         * modules/erf (configure.ac): Likewise.
27204         * modules/erfc (configure.ac): Likewise.
27205         * modules/exp (configure.ac): Likewise.
27206         * modules/fabs (configure.ac): Likewise.
27207         * modules/fmod (configure.ac): Likewise.
27208         * modules/hypot (configure.ac): Likewise.
27209         * modules/j0 (configure.ac): Likewise.
27210         * modules/j1 (configure.ac): Likewise.
27211         * modules/jn (configure.ac): Likewise.
27212         * modules/ldexp (configure.ac): Likewise.
27213         * modules/lgamma (configure.ac): Likewise.
27214         * modules/log (configure.ac): Likewise.
27215         * modules/log10 (configure.ac): Likewise.
27216         * modules/log1p (configure.ac): Likewise.
27217         * modules/logb (configure.ac): Likewise.
27218         * modules/modf (configure.ac): Likewise.
27219         * modules/nextafter (configure.ac): Likewise.
27220         * modules/pow (configure.ac): Likewise.
27221         * modules/remainder (configure.ac): Likewise.
27222         * modules/rint (configure.ac): Likewise.
27223         * modules/sin (configure.ac): Likewise.
27224         * modules/sinh (configure.ac): Likewise.
27225         * modules/tan (configure.ac): Likewise.
27226         * modules/tanh (configure.ac): Likewise.
27227         * modules/y0 (configure.ac): Likewise.
27228         * modules/y1 (configure.ac): Likewise.
27229         * modules/yn (configure.ac): Likewise.
27230
27231 2010-01-24  Bruno Haible  <bruno@clisp.org>
27232
27233         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
27234         * tests/test-acosl.c (x): New variable.
27235         (main): Store argument in x and fetch it from x.
27236         * tests/test-asinl.c (x): New variable.
27237         (main): Store argument in x and fetch it from x.
27238         * tests/test-atanl.c (x): New variable.
27239         (main): Store argument in x and fetch it from x.
27240         * tests/test-cosl.c (x): New variable.
27241         (main): Store argument in x and fetch it from x.
27242         * tests/test-expl.c (x): New variable.
27243         (main): Store argument in x and fetch it from x.
27244         * tests/test-logl.c (x): New variable.
27245         (main): Store argument in x and fetch it from x.
27246         * tests/test-sinl.c (x): New variable.
27247         (main): Store argument in x and fetch it from x.
27248         * tests/test-sqrtl.c (x): New variable.
27249         (main): Store argument in x and fetch it from x.
27250         * tests/test-tanl.c (x): New variable.
27251         (main): Store argument in x and fetch it from x.
27252
27253 2010-01-24  Bruno Haible  <bruno@clisp.org>
27254
27255         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
27256         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
27257         assignments to the initial TESTS_ENVIRONMENT.
27258         * doc/gnulib.texi (Unit test modules): Document it.
27259         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
27260         TESTS_ENVIRONMENT.
27261         * modules/btowc-tests (Makefile.am): Likewise.
27262         * modules/c-stack-tests (Makefile.am): Likewise.
27263         * modules/c-strcase-tests (Makefile.am): Likewise.
27264         * modules/copy-file-tests (Makefile.am): Likewise.
27265         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
27266         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
27267         * modules/mbrtowc-tests (Makefile.am): Likewise.
27268         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27269         * modules/mbscasestr-tests (Makefile.am): Likewise.
27270         * modules/mbschr-tests (Makefile.am): Likewise.
27271         * modules/mbscspn-tests (Makefile.am): Likewise.
27272         * modules/mbsinit-tests (Makefile.am): Likewise.
27273         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27274         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
27275         * modules/mbspbrk-tests (Makefile.am): Likewise.
27276         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27277         * modules/mbsrchr-tests (Makefile.am): Likewise.
27278         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
27279         * modules/mbsspn-tests (Makefile.am): Likewise.
27280         * modules/mbsstr-tests (Makefile.am): Likewise.
27281         * modules/nl_langinfo-tests (Makefile.am): Likewise.
27282         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
27283         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
27284         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
27285         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
27286         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
27287         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
27288         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
27289         * modules/wcrtomb-tests (Makefile.am): Likewise.
27290         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
27291         * modules/wcsrtombs-tests (Makefile.am): Likewise.
27292         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
27293         assignments from TESTS_ENVIRONMENT.
27294         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
27295         augmentation.
27296         * modules/argp-version-etc-tests (Makefile.am): Likewise.
27297         * modules/atexit-tests (Makefile.am): Likewise.
27298         * modules/binary-io-tests (Makefile.am): Likewise.
27299         * modules/closein-tests (Makefile.am): Likewise.
27300         * modules/dprintf-posix-tests (Makefile.am): Likewise.
27301         * modules/exclude-tests (Makefile.am): Likewise.
27302         * modules/fflush-tests (Makefile.am): Likewise.
27303         * modules/fpending-tests (Makefile.am): Likewise.
27304         * modules/fprintf-posix-tests (Makefile.am): Likewise.
27305         * modules/freadahead-tests (Makefile.am): Likewise.
27306         * modules/freadptr-tests (Makefile.am): Likewise.
27307         * modules/freadseek-tests (Makefile.am): Likewise.
27308         * modules/fseek-tests (Makefile.am): Likewise.
27309         * modules/fseeko-tests (Makefile.am): Likewise.
27310         * modules/ftell-tests (Makefile.am): Likewise.
27311         * modules/ftello-tests (Makefile.am): Likewise.
27312         * modules/idpriv-drop-tests (Makefile.am): Likewise.
27313         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
27314         * modules/lseek-tests (Makefile.am): Likewise.
27315         * modules/parse-duration-tests (Makefile.am): Likewise.
27316         * modules/perror-tests (Makefile.am): Likewise.
27317         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
27318         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
27319         * modules/pipe-tests (Makefile.am): Likewise.
27320         * modules/pread-tests (Makefile.am): Likewise.
27321         * modules/printf-posix-tests (Makefile.am): Likewise.
27322         * modules/select-tests (Makefile.am): Likewise.
27323         * modules/sigpipe-tests (Makefile.am): Likewise.
27324         * modules/tsearch-tests (Makefile.am): Likewise.
27325         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
27326         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
27327         * modules/uniname/uniname-tests (Makefile.am): Likewise.
27328         * modules/uniwidth/width-tests (Makefile.am): Likewise.
27329         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
27330         * modules/version-etc-tests (Makefile.am): Likewise.
27331         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
27332         * modules/vprintf-posix-tests (Makefile.am): Likewise.
27333         * modules/xalloc-die-tests (Makefile.am): Likewise.
27334         * modules/xprintf-posix-tests (Makefile.am): Likewise.
27335         * modules/xstrtoimax-tests (Makefile.am): Likewise.
27336         * modules/xstrtol-tests (Makefile.am): Likewise.
27337         * modules/xstrtoumax-tests (Makefile.am): Likewise.
27338         * modules/yesno-tests (Makefile.am): Likewise.
27339         Suggested by Jim Meyering.
27340
27341 2010-01-24  Bruno Haible  <bruno@clisp.org>
27342
27343         More documentation.
27344         * doc/gnulib.texi (Writing modules): New chapter.
27345         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
27346         the new chapter.
27347
27348 2010-01-24  Jim Meyering  <meyering@redhat.com>
27349
27350         maint.mk: do not prepend "./" after filtering
27351         * top/maint.mk (_prepend_srcdir_prefix): New variable
27352         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
27353         "./" when $(srcdir) is ".".
27354
27355         define STREQ(a,b) consistently, removing useless parentheses
27356         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
27357         since the only risk is that "a" or "b" contains an unparenthesized
27358         comma, but if either did that, STREQ would have 3 or more arguments.
27359         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
27360         * lib/fts.c (STREQ): Remove unnecessary parentheses.
27361         * lib/hash-triple.c (STREQ): Likewise.
27362         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
27363         * lib/getugroups.c (STREQ): Likewise.
27364
27365 2010-01-23  Jim Meyering  <meyering@redhat.com>
27366
27367         maint.mk: fix syntax-check in a non-srcdir build directory
27368         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
27369         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
27370
27371 2010-01-22  Jim Meyering  <meyering@redhat.com>
27372
27373         userspec: add unit tests
27374         * tests/test-userspec.c: New file.
27375         * modules/userspec-tests: Likewise.
27376
27377 2010-01-21  Jim Meyering  <meyering@redhat.com>
27378
27379         maint.mk: handle source file names containing "." robustly
27380         * top/maint.mk (_dot_escaped_srcdir): Define.
27381         (VC_LIST): Use it in LHS of sed substitution.
27382
27383 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
27384
27385         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
27386         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
27387         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
27388         from a non-srcdir build.
27389
27390 2010-01-20  Eric Blake  <ebb9@byu.net>
27391
27392         warn-on-use: use instead of link-warning
27393         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
27394         * modules/unistd (Depends-on, Makefile.am): Likewise.
27395         * modules/arpa_inet (Depends-on): Replace link-warning with
27396         warn-on-use.
27397         (Makefile.am): Update rules accordingly.
27398         * modules/ctype (Depends-on, Makefile.am): Likewise.
27399         * modules/dirent (Depends-on, Makefile.am): Likewise.
27400         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
27401         * modules/inttypes (Depends-on, Makefile.am): Likewise.
27402         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27403         * modules/locale (Depends-on, Makefile.am): Likewise.
27404         * modules/math (Depends-on, Makefile.am): Likewise.
27405         * modules/search (Depends-on, Makefile.am): Likewise.
27406         * modules/signal (Depends-on, Makefile.am): Likewise.
27407         * modules/spawn (Depends-on, Makefile.am): Likewise.
27408         * modules/stdlib (Depends-on, Makefile.am): Likewise.
27409         * modules/string (Depends-on, Makefile.am): Likewise.
27410         * modules/strings (Depends-on, Makefile.am): Likewise.
27411         * modules/sys_file (Depends-on, Makefile.am): Likewise.
27412         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
27413         * modules/sys_select (Depends-on, Makefile.am): Likewise.
27414         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
27415         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
27416         * modules/sys_times (Depends-on, Makefile.am): Likewise.
27417         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27418         * modules/wchar (Depends-on, Makefile.am): Likewise.
27419         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
27420         should be poisoned.
27421         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
27422         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
27423         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
27424         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27425         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27426         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27427         * m4/math_h.m4 (gl_MATH_H): Likewise.
27428         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
27429         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27430         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27431         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27432         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27433         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27434         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27435         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27436         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27437         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27438         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27439         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27440         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27441         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27442         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27443         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27444         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27445         GL_LINK_WARNING.
27446         * lib/ctype.in.h: Likewise.
27447         * lib/dirent.in.h: Likewise.
27448         * lib/fcntl.in.h: Likewise.
27449         * lib/inttypes.in.h: Likewise.
27450         * lib/langinfo.in.h: Likewise.
27451         * lib/locale.in.h: Likewise.
27452         * lib/math.in.h: Likewise.
27453         * lib/search.in.h: Likewise.
27454         * lib/signal.in.h: Likewise.
27455         * lib/spawn.in.h: Likewise.
27456         * lib/stdio.in.h: Likewise.
27457         * lib/stdlib.in.h: Likewise.
27458         * lib/string.in.h: Likewise.
27459         * lib/strings.in.h: Likewise.
27460         * lib/sys_file.in.h: Likewise.
27461         * lib/sys_ioctl.in.h: Likewise.
27462         * lib/sys_select.in.h: Likewise.
27463         * lib/sys_socket.in.h: Likewise.
27464         * lib/sys_stat.in.h: Likewise.
27465         * lib/sys_times.in.h: Likewise.
27466         * lib/sys_utsname.in.h: Likewise.
27467         * lib/unistd.in.h: Likewise.
27468         * lib/wchar.in.h: Likewise.
27469
27470 2010-01-20  Bruno Haible  <bruno@clisp.org>
27471
27472         Avoid duplicate -lm.
27473         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27474         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27475         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27476         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27477         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27478         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27479         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27480         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27481         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27482         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27483         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27484         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27485         Reported by Paolo Bonzini.
27486
27487 2010-01-19  Bruno Haible  <bruno@clisp.org>
27488
27489         langinfo, nl_langinfo: Relicense under LGPLv2+.
27490         * modules/langinfo (License): Change to LGPLv2+.
27491         * modules/nl_langinfo (License): Likewise.
27492         Patch by David Lutterkort <lutter@redhat.com>.
27493
27494 2010-01-19  Bruno Haible  <bruno@clisp.org>
27495
27496         Avoid compilation error with cc on OSF/1 5.1.
27497         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27498         statement, not before.
27499         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27500
27501 2010-01-18  Bruno Haible  <bruno@clisp.org>
27502
27503         Avoid a link error due to the __printf__ symbol.
27504         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27505         and 2.6.x.
27506         (__format__, __printf__): Remove definitions.
27507         * lib/argp-fmtstream.h: Likewise.
27508         * lib/argp.h: Likewise.
27509         * lib/error.h: Likewise.
27510         * lib/vasnprintf.h: Likewise.
27511         * lib/xprintf.h: Likewise.
27512         * lib/xvasprintf.h: Likewise.
27513         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27514
27515 2010-01-18  Bruno Haible  <bruno@clisp.org>
27516
27517         Tests for module 'tanl'.
27518         * modules/tanl-tests: New file.
27519         * tests/test-tanl.c: New file.
27520
27521         Tests for module 'sqrtl'.
27522         * modules/sqrtl-tests: New file.
27523         * tests/test-sqrtl.c: New file.
27524
27525         Tests for module 'sinl'.
27526         * modules/sinl-tests: New file.
27527         * tests/test-sinl.c: New file.
27528
27529         Tests for module 'logl'.
27530         * modules/logl-tests: New file.
27531         * tests/test-logl.c: New file.
27532
27533         Tests for module 'expl'.
27534         * modules/expl-tests: New file.
27535         * tests/test-expl.c: New file.
27536
27537         Tests for module 'cosl'.
27538         * modules/cosl-tests: New file.
27539         * tests/test-cosl.c: New file.
27540
27541         Tests for module 'atanl'.
27542         * modules/atanl-tests: New file.
27543         * tests/test-atanl.c: New file.
27544
27545         Tests for module 'asinl'.
27546         * modules/asinl-tests: New file.
27547         * tests/test-asinl.c: New file.
27548
27549         Tests for module 'acosl'.
27550         * modules/acosl-tests: New file.
27551         * tests/test-acosl.c: New file.
27552
27553         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27554         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27555         tanl): Use the standard gnulib idiom.
27556         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27557         * lib/sinl.c: Likewise.
27558         * lib/tanl.c: Don't include trigl.c.
27559         (kernel_tanl): Make static.
27560         * lib/sincosl.c: Include trigl.h first.
27561         * lib/trigl.c: Likewise.
27562         * m4/acosl.m4: New file.
27563         * m4/asinl.m4: New file.
27564         * m4/atanl.m4: New file.
27565         * m4/cosl.m4: New file.
27566         * m4/expl.m4: New file.
27567         * m4/logl.m4: New file.
27568         * m4/sinl.m4: New file.
27569         * m4/sqrtl.m4: New file.
27570         * m4/tanl.m4: New file.
27571         * m4/mathl.m4: Remove file.
27572         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27573         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27574         Don't initialize GNULIB_MATHL.
27575         * modules/acosl: New file.
27576         * modules/asinl: New file.
27577         * modules/atanl: New file.
27578         * modules/cosl: New file.
27579         * modules/expl: New file.
27580         * modules/logl: New file.
27581         * modules/sinl: New file.
27582         * modules/sqrtl: New file.
27583         * modules/tanl: New file.
27584         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27585         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27586         substitute GNULIB_MATHL.
27587         * modules/mathl: Rewritten.
27588         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27589         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27590         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27591         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27592         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27593         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27594         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27595         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27596         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27597
27598 2010-01-18  Bruno Haible  <bruno@clisp.org>
27599
27600         sqrt: Make gl_FUNC_SQRT requirable.
27601         * m4/sqrt.m4: New file.
27602         * modules/sqrt (Files): Add it.
27603         (configure.ac): Invoke gl_FUNC_SQRT.
27604
27605 2010-01-18  Bruno Haible  <bruno@clisp.org>
27606
27607         New modules for common <math.h> functions.
27608         * m4/mathfunc.m4: New file.
27609         * modules/acos: New file.
27610         * modules/asin: New file.
27611         * modules/atan: New file.
27612         * modules/atan2: New file.
27613         * modules/cbrt: New file.
27614         * modules/copysign: New file.
27615         * modules/cos: New file.
27616         * modules/cosh: New file.
27617         * modules/erf: New file.
27618         * modules/erfc: New file.
27619         * modules/exp: New file.
27620         * modules/fabs: New file.
27621         * modules/fmod: New file.
27622         * modules/hypot: New file.
27623         * modules/j0: New file.
27624         * modules/j1: New file.
27625         * modules/jn: New file.
27626         * modules/ldexp: New file.
27627         * modules/lgamma: New file.
27628         * modules/log: New file.
27629         * modules/log10: New file.
27630         * modules/log1p: New file.
27631         * modules/logb: New file.
27632         * modules/modf: New file.
27633         * modules/nextafter: New file.
27634         * modules/pow: New file.
27635         * modules/remainder: New file.
27636         * modules/rint: New file.
27637         * modules/sin: New file.
27638         * modules/sinh: New file.
27639         * modules/sqrt: New file.
27640         * modules/tan: New file.
27641         * modules/tanh: New file.
27642         * modules/y0: New file.
27643         * modules/y1: New file.
27644         * modules/yn: New file.
27645         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27646         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27647         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27648         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27649         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27650         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27651         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27652         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27653         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27654         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27655         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27656         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27657         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27658         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27659         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27660         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27661         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27662         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27663         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27664         * doc/posix-functions/log.texi: Mention the 'log' module.
27665         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27666         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27667         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27668         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27669         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27670         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27671         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27672         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27673         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27674         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27675         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27676         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27677         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27678         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27679         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27680         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27681
27682 2010-01-18  Jim Meyering  <meyering@redhat.com>
27683
27684         ignore-value: relax license to LGPLv2+
27685         * modules/ignore-value (License): Relax to LGPLv2+.
27686
27687         getdate: don't leak when TZ contains two or more '"'s
27688         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27689         double quote in TZ after the first one.
27690
27691         readtokens: do not leak internal token_lengths buffer
27692         * lib/readtokens.c (readtokens): Free the local, lengths,
27693         when the supplied "token_lengths" parameter is NULL.
27694
27695 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27696
27697         Fix a couple of missing LIBTHREAD link failures on AIX.
27698         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27699         $(LIBTHREAD).
27700         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27701
27702         Link test-poll against INET_PTON_LIB.
27703         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27704         for inet_pton on Solaris 10.
27705
27706 2010-01-17  Bruno Haible  <bruno@clisp.org>
27707
27708         unistdio/*-sprintf: Fix typo in module description.
27709         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27710         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27711         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27712         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27713         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27714         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27715         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27716         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27717
27718 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27719
27720         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27721         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27722         variables in shell case patterns, for AIX and HP-UX ksh.
27723
27724         Split large sed scripts, for HP-UX sed.
27725         * modules/stdio: Split sed scripts around 50 sed commands,
27726         to avoid HP-UX limit of 99 commands, in the near future.
27727         * modules/string: Likewise.
27728         * modules/unistd: Likewise.
27729
27730         gnulib-tool: avoid writing in the current directory.
27731         * gnulib-tool (func_emit_lib_Makefile_am)
27732         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27733         not in the current directory, so concurrent gnulib-tool
27734         instances do not interfere.
27735
27736 2010-01-16  Jim Meyering  <meyering@redhat.com>
27737
27738         doc: update users.txt
27739         * users.txt: Add grep.
27740         (diffutils, gzip): Update URLs.
27741
27742 2010-01-12  Bruno Haible  <bruno@clisp.org>
27743
27744         posix_spawn: Avoid test failure on Cygwin.
27745         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27746         characters.
27747         Reported by Simon Josefsson.
27748
27749 2010-01-12  Bruno Haible  <bruno@clisp.org>
27750
27751         * tests/test-cond.c (main): When skipping the test, show the reason.
27752
27753 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27754
27755         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27756
27757 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27758
27759         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27760         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27761
27762 2010-01-12  Eric Blake  <ebb9@byu.net>
27763
27764         build: guarantee AS_VAR_IF
27765         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27766         (gl_AS_VAR_IF): Move...
27767         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27768         Reported by Simon Josefsson.
27769
27770 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27771
27772         * lib/stdio.in.h: Fix typo.
27773
27774 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27775
27776         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27777         libgpg-error.
27778
27779 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27780
27781         * tests/test-xalloc-die.sh: Use $EXEEXT.
27782
27783 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27784             Bruno Haible  <bruno@clisp.org>
27785
27786         getlogin, getlogin_r: Avoid test failure.
27787         * tests/test-getlogin.c: Include <stdio.h>.
27788         (main): Skip the test when the function fails because stdin is not a
27789         tty.
27790         * tests/test-getlogin_r.c: Include <stdio.h>.
27791         (main): Skip the test when the function fails because stdin is not a
27792         tty.
27793
27794 2010-01-11  Eric Blake  <ebb9@byu.net>
27795
27796         tests: avoid more large file warnings
27797         * tests/test-fflush.c: Avoid warning about ftell use.
27798         * tests/test-fseek.c: Avoid warning about fseek use.
27799
27800 2010-01-10  Bruno Haible  <bruno@clisp.org>
27801
27802         nproc: Work better on Linux when /proc and /sys are not mounted.
27803         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27804         as lower bound when, on glibc/Linux systems,
27805         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27806         Suggested by Pádraig Brady <P@draigbrady.com>.
27807         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27808
27809         nproc: Refactor.
27810         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27811         extracted from num_processors.
27812         (num_processors): Call it.
27813
27814 2010-01-11  Jim Meyering  <meyering@redhat.com>
27815
27816         utimecmp: avoid new warning from upcoming gcc-4.5.0
27817         * lib/utimecmp.c (BILLION): Define using #define rather than an
27818         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27819
27820 2010-01-11  Eric Blake  <ebb9@byu.net>
27821
27822         math: add portability warnings for classification macros
27823         * modules/math (Depends-on): Add warn-on-use.
27824         (Makefile.am): Provide new substitutions.
27825         * m4/math_h.m4 (gl_MATH_H): Require inline.
27826         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27827         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27828         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27829         implement warnings.
27830
27831         unistd: warn on use of environ without module
27832         * modules/unistd (Depends-on): Add warn-on-use.
27833         (Makefile.am): Provide new substitutions.
27834         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27835         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27836
27837         stdio: warn on suspicious uses
27838         * modules/stdio (Depends-on): Add warn-on-use.
27839         (Makefile.am): Provide new substitutions.
27840         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27841         fseeko.
27842         * lib/stdio.in.h (gets): Always warn on use.
27843         (fseek, ftell): Adjust when warnings are issued, and honor
27844         _GL_NO_LARGE_FILES as a way to silence the warning.
27845         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
27846         any warning about large file offsets.
27847         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
27848         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
27849         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
27850         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
27851         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
27852         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
27853         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
27854         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
27855
27856         warn-on-use: new module
27857         * modules/warn-on-use: New file.
27858         * build-aux/warn-on-use.h: Likewise.
27859         * m4/warn-on-use.m4: Likewise.
27860         * MODULES.html.sh (Support for building): Mention it.
27861
27862 2010-01-10  Bruno Haible  <bruno@clisp.org>
27863
27864         Tests for module 'unistr/u32-strdup'.
27865         * modules/unistr/u32-strdup-tests: New file.
27866         * tests/unistr/test-u32-strdup.c: New file.
27867
27868         Tests for module 'unistr/u16-strdup'.
27869         * modules/unistr/u16-strdup-tests: New file.
27870         * tests/unistr/test-u16-strdup.c: New file.
27871
27872         Tests for module 'unistr/u8-strdup'.
27873         * modules/unistr/u8-strdup-tests: New file.
27874         * tests/unistr/test-u8-strdup.c: New file.
27875         * tests/unistr/test-strdup.h: New file.
27876
27877         Tests for module 'unistr/u32-strncmp'.
27878         * modules/unistr/u32-strncmp-tests: New file.
27879         * tests/unistr/test-u32-strncmp.c: New file.
27880
27881         Tests for module 'unistr/u16-strncmp'.
27882         * modules/unistr/u16-strncmp-tests: New file.
27883         * tests/unistr/test-u16-strncmp.c: New file.
27884
27885         Tests for module 'unistr/u8-strncmp'.
27886         * modules/unistr/u8-strncmp-tests: New file.
27887         * tests/unistr/test-u8-strncmp.c: New file.
27888         * tests/unistr/test-strncmp.h: New file.
27889
27890         Tests for module 'unistr/u32-strcoll'.
27891         * modules/unistr/u32-strcoll-tests: New file.
27892         * tests/unistr/test-u32-strcoll.c: New file.
27893
27894         Tests for module 'unistr/u16-strcoll'.
27895         * modules/unistr/u16-strcoll-tests: New file.
27896         * tests/unistr/test-u16-strcoll.c: New file.
27897
27898         Tests for module 'unistr/u8-strcoll'.
27899         * modules/unistr/u8-strcoll-tests: New file.
27900         * tests/unistr/test-u8-strcoll.c: New file.
27901
27902         Tests for module 'unistr/u32-strcmp'.
27903         * modules/unistr/u32-strcmp-tests: New file.
27904         * tests/unistr/test-u32-strcmp.c: New file.
27905         * tests/unistr/test-u32-strcmp.h: New file.
27906
27907         Tests for module 'unistr/u16-strcmp'.
27908         * modules/unistr/u16-strcmp-tests: New file.
27909         * tests/unistr/test-u16-strcmp.c: New file.
27910         * tests/unistr/test-u16-strcmp.h: New file.
27911
27912         Tests for module 'unistr/u8-strcmp'.
27913         * modules/unistr/u8-strcmp-tests: New file.
27914         * tests/unistr/test-u8-strcmp.c: New file.
27915         * tests/unistr/test-u8-strcmp.h: New file.
27916         * tests/unistr/test-strcmp.h: New file.
27917
27918         Tests for module 'unistr/u32-strncat'.
27919         * modules/unistr/u32-strncat-tests: New file.
27920         * tests/unistr/test-u32-strncat.c: New file.
27921
27922         Tests for module 'unistr/u16-strncat'.
27923         * modules/unistr/u16-strncat-tests: New file.
27924         * tests/unistr/test-u16-strncat.c: New file.
27925
27926         Tests for module 'unistr/u8-strncat'.
27927         * modules/unistr/u8-strncat-tests: New file.
27928         * tests/unistr/test-u8-strncat.c: New file.
27929         * tests/unistr/test-strncat.h: New file.
27930
27931         Tests for module 'unistr/u32-strcat'.
27932         * modules/unistr/u32-strcat-tests: New file.
27933         * tests/unistr/test-u32-strcat.c: New file.
27934
27935         Tests for module 'unistr/u16-strcat'.
27936         * modules/unistr/u16-strcat-tests: New file.
27937         * tests/unistr/test-u16-strcat.c: New file.
27938
27939         Tests for module 'unistr/u8-strcat'.
27940         * modules/unistr/u8-strcat-tests: New file.
27941         * tests/unistr/test-u8-strcat.c: New file.
27942         * tests/unistr/test-strcat.h: New file.
27943
27944         Tests for module 'unistr/u32-stpncpy'.
27945         * modules/unistr/u32-stpncpy-tests: New file.
27946         * tests/unistr/test-u32-stpncpy.c: New file.
27947
27948         Tests for module 'unistr/u16-stpncpy'.
27949         * modules/unistr/u16-stpncpy-tests: New file.
27950         * tests/unistr/test-u16-stpncpy.c: New file.
27951
27952         Tests for module 'unistr/u8-stpncpy'.
27953         * modules/unistr/u8-stpncpy-tests: New file.
27954         * tests/unistr/test-u8-stpncpy.c: New file.
27955         * tests/unistr/test-stpncpy.h: New file.
27956
27957         Tests for module 'unistr/u32-strncpy'.
27958         * modules/unistr/u32-strncpy-tests: New file.
27959         * tests/unistr/test-u32-strncpy.c: New file.
27960
27961         Tests for module 'unistr/u16-strncpy'.
27962         * modules/unistr/u16-strncpy-tests: New file.
27963         * tests/unistr/test-u16-strncpy.c: New file.
27964
27965         Tests for module 'unistr/u8-strncpy'.
27966         * modules/unistr/u8-strncpy-tests: New file.
27967         * tests/unistr/test-u8-strncpy.c: New file.
27968         * tests/unistr/test-strncpy.h: New file.
27969
27970         Tests for module 'unistr/u32-stpcpy'.
27971         * modules/unistr/u32-stpcpy-tests: New file.
27972         * tests/unistr/test-u32-stpcpy.c: New file.
27973
27974         Tests for module 'unistr/u16-stpcpy'.
27975         * modules/unistr/u16-stpcpy-tests: New file.
27976         * tests/unistr/test-u16-stpcpy.c: New file.
27977
27978         Tests for module 'unistr/u8-stpcpy'.
27979         * modules/unistr/u8-stpcpy-tests: New file.
27980         * tests/unistr/test-u8-stpcpy.c: New file.
27981         * tests/unistr/test-stpcpy.h: New file.
27982
27983         Tests for module 'unistr/u32-strcpy'.
27984         * modules/unistr/u32-strcpy-tests: New file.
27985         * tests/unistr/test-u32-strcpy.c: New file.
27986
27987         Tests for module 'unistr/u16-strcpy'.
27988         * modules/unistr/u16-strcpy-tests: New file.
27989         * tests/unistr/test-u16-strcpy.c: New file.
27990
27991         Tests for module 'unistr/u8-strcpy'.
27992         * modules/unistr/u8-strcpy-tests: New file.
27993         * tests/unistr/test-u8-strcpy.c: New file.
27994         * tests/unistr/test-strcpy.h: New file.
27995
27996         Tests for module 'unistr/u32-strnlen'.
27997         * modules/unistr/u32-strnlen-tests: New file.
27998         * tests/unistr/test-u32-strnlen.c: New file.
27999
28000         Tests for module 'unistr/u16-strnlen'.
28001         * modules/unistr/u16-strnlen-tests: New file.
28002         * tests/unistr/test-u16-strnlen.c: New file.
28003
28004         Tests for module 'unistr/u8-strnlen'.
28005         * modules/unistr/u8-strnlen-tests: New file.
28006         * tests/unistr/test-u8-strnlen.c: New file.
28007         * tests/unistr/test-strnlen.h: New file.
28008
28009         Tests for module 'unistr/u32-strlen'.
28010         * modules/unistr/u32-strlen-tests: New file.
28011         * tests/unistr/test-u32-strlen.c: New file.
28012
28013         Tests for module 'unistr/u16-strlen'.
28014         * modules/unistr/u16-strlen-tests: New file.
28015         * tests/unistr/test-u16-strlen.c: New file.
28016
28017         Tests for module 'unistr/u8-strlen'.
28018         * modules/unistr/u8-strlen-tests: New file.
28019         * tests/unistr/test-u8-strlen.c: New file.
28020
28021         Tests for module 'unistr/u32-prev'.
28022         * modules/unistr/u32-prev-tests: New file.
28023         * tests/unistr/test-u32-prev.c: New file.
28024
28025         Tests for module 'unistr/u16-prev'.
28026         * modules/unistr/u16-prev-tests: New file.
28027         * tests/unistr/test-u16-prev.c: New file.
28028
28029         Tests for module 'unistr/u8-prev'.
28030         * modules/unistr/u8-prev-tests: New file.
28031         * tests/unistr/test-u8-prev.c: New file.
28032
28033         Tests for module 'unistr/u32-next'.
28034         * modules/unistr/u32-next-tests: New file.
28035         * tests/unistr/test-u32-next.c: New file.
28036
28037         Tests for module 'unistr/u16-next'.
28038         * modules/unistr/u16-next-tests: New file.
28039         * tests/unistr/test-u16-next.c: New file.
28040
28041         Tests for module 'unistr/u8-next'.
28042         * modules/unistr/u8-next-tests: New file.
28043         * tests/unistr/test-u8-next.c: New file.
28044
28045         Tests for module 'unistr/u32-strmbtouc'.
28046         * modules/unistr/u32-strmbtouc-tests: New file.
28047         * tests/unistr/test-u32-strmbtouc.c: New file.
28048
28049         Tests for module 'unistr/u16-strmbtouc'.
28050         * modules/unistr/u16-strmbtouc-tests: New file.
28051         * tests/unistr/test-u16-strmbtouc.c: New file.
28052
28053         Tests for module 'unistr/u8-strmbtouc'.
28054         * modules/unistr/u8-strmbtouc-tests: New file.
28055         * tests/unistr/test-u8-strmbtouc.c: New file.
28056
28057         Tests for module 'unistr/u32-strmblen'.
28058         * modules/unistr/u32-strmblen-tests: New file.
28059         * tests/unistr/test-u32-strmblen.c: New file.
28060
28061         Tests for module 'unistr/u16-strmblen'.
28062         * modules/unistr/u16-strmblen-tests: New file.
28063         * tests/unistr/test-u16-strmblen.c: New file.
28064
28065         Tests for module 'unistr/u8-strmblen'.
28066         * modules/unistr/u8-strmblen-tests: New file.
28067         * tests/unistr/test-u8-strmblen.c: New file.
28068
28069         Tests for module 'unistr/u32-cpy-alloc'.
28070         * modules/unistr/u32-cpy-alloc-tests: New file.
28071         * tests/unistr/test-u32-cpy-alloc.c: New file.
28072
28073         Tests for module 'unistr/u16-cpy-alloc'.
28074         * modules/unistr/u16-cpy-alloc-tests: New file.
28075         * tests/unistr/test-u16-cpy-alloc.c: New file.
28076
28077         Tests for module 'unistr/u8-cpy-alloc'.
28078         * modules/unistr/u8-cpy-alloc-tests: New file.
28079         * tests/unistr/test-u8-cpy-alloc.c: New file.
28080         * tests/unistr/test-cpy-alloc.h: New file.
28081
28082         Tests for module 'unistr/u32-mbsnlen'.
28083         * modules/unistr/u32-mbsnlen-tests: New file.
28084         * tests/unistr/test-u32-mbsnlen.c: New file.
28085
28086         Tests for module 'unistr/u16-mbsnlen'.
28087         * modules/unistr/u16-mbsnlen-tests: New file.
28088         * tests/unistr/test-u16-mbsnlen.c: New file.
28089
28090         Tests for module 'unistr/u8-mbsnlen'.
28091         * modules/unistr/u8-mbsnlen-tests: New file.
28092         * tests/unistr/test-u8-mbsnlen.c: New file.
28093
28094         Tests for module 'unistr/u32-chr'.
28095         * modules/unistr/u32-chr-tests: New file.
28096         * tests/unistr/test-u32-chr.c: New file.
28097
28098         Tests for module 'unistr/u16-chr'.
28099         * modules/unistr/u16-chr-tests: New file.
28100         * tests/unistr/test-u16-chr.c: New file.
28101
28102         Tests for module 'unistr/u8-chr'.
28103         * modules/unistr/u8-chr-tests: New file.
28104         * tests/unistr/test-u8-chr.c: New file.
28105         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
28106
28107         Tests for module 'unistr/u32-cmp2'.
28108         * modules/unistr/u32-cmp2-tests: New file.
28109         * tests/unistr/test-u32-cmp2.c: New file.
28110
28111         Tests for module 'unistr/u16-cmp2'.
28112         * modules/unistr/u16-cmp2-tests: New file.
28113         * tests/unistr/test-u16-cmp2.c: New file.
28114
28115         Tests for module 'unistr/u8-cmp2'.
28116         * modules/unistr/u8-cmp2-tests: New file.
28117         * tests/unistr/test-u8-cmp2.c: New file.
28118         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
28119
28120         Tests for module 'unistr/u32-cmp'.
28121         * modules/unistr/u32-cmp-tests: New file.
28122         * tests/unistr/test-u32-cmp.c: New file.
28123
28124         Tests for module 'unistr/u16-cmp'.
28125         * modules/unistr/u16-cmp-tests: New file.
28126         * tests/unistr/test-u16-cmp.c: New file.
28127
28128         Tests for module 'unistr/u8-cmp'.
28129         * modules/unistr/u8-cmp-tests: New file.
28130         * tests/unistr/test-u8-cmp.c: New file.
28131         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
28132
28133         Tests for module 'unistr/u32-set'.
28134         * modules/unistr/u32-set-tests: New file.
28135         * tests/unistr/test-u32-set.c: New file.
28136
28137         Tests for module 'unistr/u16-set'.
28138         * modules/unistr/u16-set-tests: New file.
28139         * tests/unistr/test-u16-set.c: New file.
28140
28141         Tests for module 'unistr/u8-set'.
28142         * modules/unistr/u8-set-tests: New file.
28143         * tests/unistr/test-u8-set.c: New file.
28144         * tests/unistr/test-set.h: New file.
28145
28146         Tests for module 'unistr/u32-move'.
28147         * modules/unistr/u32-move-tests: New file.
28148         * tests/unistr/test-u32-move.c: New file.
28149
28150         Tests for module 'unistr/u16-move'.
28151         * modules/unistr/u16-move-tests: New file.
28152         * tests/unistr/test-u16-move.c: New file.
28153
28154         Tests for module 'unistr/u8-move'.
28155         * modules/unistr/u8-move-tests: New file.
28156         * tests/unistr/test-u8-move.c: New file.
28157         * tests/unistr/test-move.h: New file.
28158
28159         Tests for module 'unistr/u32-cpy'.
28160         * modules/unistr/u32-cpy-tests: New file.
28161         * tests/unistr/test-u32-cpy.c: New file.
28162
28163         Tests for module 'unistr/u16-cpy'.
28164         * modules/unistr/u16-cpy-tests: New file.
28165         * tests/unistr/test-u16-cpy.c: New file.
28166
28167         Tests for module 'unistr/u8-cpy'.
28168         * modules/unistr/u8-cpy-tests: New file.
28169         * tests/unistr/test-u8-cpy.c: New file.
28170         * tests/unistr/test-cpy.h: New file.
28171
28172 2010-01-09  Bruno Haible  <bruno@clisp.org>
28173
28174         Tests for module 'unistr/u32-uctomb'.
28175         * modules/unistr/u32-uctomb-tests: New file.
28176         * tests/unistr/test-u32-uctomb.c: New file.
28177
28178         Tests for module 'unistr/u16-uctomb'.
28179         * modules/unistr/u16-uctomb-tests: New file.
28180         * tests/unistr/test-u16-uctomb.c: New file.
28181
28182         Tests for module 'unistr/u8-uctomb'.
28183         * modules/unistr/u8-uctomb-tests: New file.
28184         * tests/unistr/test-u8-uctomb.c: New file.
28185
28186         Tests for module 'unistr/u32-mbtoucr'.
28187         * modules/unistr/u32-mbtoucr-tests: New file.
28188         * tests/unistr/test-u32-mbtoucr.c: New file.
28189
28190         Tests for module 'unistr/u16-mbtoucr'.
28191         * modules/unistr/u16-mbtoucr-tests: New file.
28192         * tests/unistr/test-u16-mbtoucr.c: New file.
28193
28194         Tests for module 'unistr/u8-mbtoucr'.
28195         * modules/unistr/u8-mbtoucr-tests: New file.
28196         * tests/unistr/test-u8-mbtoucr.c: New file.
28197
28198         Tests for module 'unistr/u32-mbtouc'.
28199         * modules/unistr/u32-mbtouc-tests: New file.
28200         * tests/unistr/test-u32-mbtouc.c: New file.
28201
28202         Tests for module 'unistr/u16-mbtouc'.
28203         * modules/unistr/u16-mbtouc-tests: New file.
28204         * tests/unistr/test-u16-mbtouc.c: New file.
28205
28206         Tests for module 'unistr/u8-mbtouc'.
28207         * modules/unistr/u8-mbtouc-tests: New file.
28208         * tests/unistr/test-u8-mbtouc.c: New file.
28209
28210         Tests for module 'unistr/u32-mbtouc-unsafe'.
28211         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
28212         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
28213         * tests/unistr/test-u32-mbtouc.h: New file.
28214
28215         Tests for module 'unistr/u16-mbtouc-unsafe'.
28216         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
28217         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
28218         * tests/unistr/test-u16-mbtouc.h: New file.
28219
28220         Tests for module 'unistr/u8-mbtouc-unsafe'.
28221         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
28222         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
28223         * tests/unistr/test-u8-mbtouc.h: New file.
28224
28225         Tests for module 'unistr/u32-mblen'.
28226         * modules/unistr/u32-mblen-tests: New file.
28227         * tests/unistr/test-u32-mblen.c: New file.
28228
28229         Tests for module 'unistr/u16-mblen'.
28230         * modules/unistr/u16-mblen-tests: New file.
28231         * tests/unistr/test-u16-mblen.c: New file.
28232
28233         Tests for module 'unistr/u8-mblen'.
28234         * modules/unistr/u8-mblen-tests: New file.
28235         * tests/unistr/test-u8-mblen.c: New file.
28236
28237         Tests for module 'unistr/u32-to-u16'.
28238         * modules/unistr/u32-to-u16-tests: New file.
28239         * tests/unistr/test-u32-to-u16.c: New file.
28240
28241         Tests for module 'unistr/u32-to-u8'.
28242         * modules/unistr/u32-to-u8-tests: New file.
28243         * tests/unistr/test-u32-to-u8.c: New file.
28244
28245         Tests for module 'unistr/u16-to-u32'.
28246         * modules/unistr/u16-to-u32-tests: New file.
28247         * tests/unistr/test-u16-to-u32.c: New file.
28248
28249         Tests for module 'unistr/u16-to-u8'.
28250         * modules/unistr/u16-to-u8-tests: New file.
28251         * tests/unistr/test-u16-to-u8.c: New file.
28252
28253         Tests for module 'unistr/u8-to-u32'.
28254         * modules/unistr/u8-to-u32-tests: New file.
28255         * tests/unistr/test-u8-to-u32.c: New file.
28256
28257         Tests for module 'unistr/u8-to-u16'.
28258         * modules/unistr/u8-to-u16-tests: New file.
28259         * tests/unistr/test-u8-to-u16.c: New file.
28260
28261         Tests for module 'unistr/u32-check'.
28262         * modules/unistr/u32-check-tests: New file.
28263         * tests/unistr/test-u32-check.c: New file.
28264
28265         Tests for module 'unistr/u16-check'.
28266         * modules/unistr/u16-check-tests: New file.
28267         * tests/unistr/test-u16-check.c: New file.
28268
28269         Tests for module 'unistr/u8-check'.
28270         * modules/unistr/u8-check-tests: New file.
28271         * tests/unistr/test-u8-check.c: New file.
28272
28273         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
28274         (category_equals): New function.
28275         (main): Add more tests.
28276         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
28277
28278         * tests/unictype/test-bidi_byname.c (main): Add more tests.
28279
28280 2010-01-10  Bruno Haible  <bruno@clisp.org>
28281
28282         unistr/u*-strcoll: Try harder to distinguish different strings.
28283         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
28284         compare s1 and s2 to see if they are different.
28285
28286 2010-01-10  Bruno Haible  <bruno@clisp.org>
28287
28288         unistr/u*-stpncpy: Fix the return value.
28289         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
28290         description of the return value consistent with stpncpy in glibc.
28291         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
28292         written non-NUL unit.
28293
28294 2010-01-10  Bruno Haible  <bruno@clisp.org>
28295
28296         unistr/u*-next: Add missing dependencies.
28297         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
28298         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
28299         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
28300
28301 2010-01-10  Bruno Haible  <bruno@clisp.org>
28302
28303         unistr/u8-mbsnlen: Fix return value for incomplete character.
28304         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
28305         u8_mblen.
28306         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
28307         Remove unistr/u8-mblen.
28308         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
28309         u16_mblen.
28310         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
28311         Remove unistr/u16-mblen.
28312
28313 2010-01-10  Bruno Haible  <bruno@clisp.org>
28314
28315         wchar: Fix compilation error when <wchar.h> is used from coreutils.
28316         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
28317         Reported by Brian Gough <bjg@gnu.org> and
28318         Chris Clayton <chris2553@googlemail.com> via
28319         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
28320
28321 2010-01-09  Bruno Haible  <bruno@clisp.org>
28322
28323         unistr/u16-to-u32: Reject invalid input.
28324         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
28325         u16_mbtouc.
28326         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
28327         Remove unistr/u16-mbtouc.
28328
28329         unistr/u16-to-u8: Reject invalid input.
28330         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
28331         u16_mbtouc.
28332         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
28333         Remove unistr/u16-mbtouc.
28334
28335         unistr/u8-to-u32: Reject invalid input.
28336         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
28337         u8_mbtouc.
28338         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
28339         Remove unistr/u8-mbtouc.
28340
28341         unistr/u8-to-u16: Reject invalid input.
28342         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
28343         u8_mbtouc.
28344         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
28345         Remove unistr/u8-mbtouc.
28346
28347 2010-01-09  Bruno Haible  <bruno@clisp.org>
28348
28349         Tests for module 'getlogin'.
28350         * modules/getlogin-tests: New file.
28351         * tests/test-getlogin.c: New file.
28352
28353         New module 'getlogin'.
28354         * lib/unistd.in.h (getlogin): New declaration.
28355         * lib/getlogin.c: New file.
28356         * m4/getlogin.m4: New file.
28357         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
28358         HAVE_GETLOGIN.
28359         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
28360         HAVE_GETLOGIN.
28361         * modules/getlogin: New file.
28362         * doc/posix-functions/getlogin.texi: Mention the new module.
28363         Reported by John W. Eaton <jwe@gnu.org>.
28364
28365 2010-01-09  Bruno Haible  <bruno@clisp.org>
28366
28367         getlogin_r: Support for native Windows.
28368         * lib/getlogin_r.c: Include <windows.h>
28369         (getlogin_r): Implement for native Windows.
28370         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
28371         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
28372         via John W. Eaton <jwe@gnu.org>.
28373
28374 2010-01-09  Bruno Haible  <bruno@clisp.org>
28375
28376         getlogin_r: Small fixes.
28377         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
28378         succeeds.
28379         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
28380         before testing whether getlogin_r is declared. No need to set
28381         HAVE_DECL_GETLOGIN_R to 1.
28382         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
28383
28384 2010-01-09  Bruno Haible  <bruno@clisp.org>
28385
28386         * lib/unistd.in.h (getlogin_r): Add comment.
28387
28388 2010-01-09  Bruno Haible  <bruno@clisp.org>
28389
28390         Tests for module 'getlogin_r'.
28391         * modules/getlogin_r-tests: New file.
28392         * tests/test-getlogin_r.c: New file.
28393
28394 2010-01-09  Jim Meyering  <meyering@redhat.com>
28395
28396         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
28397         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
28398         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
28399
28400 2010-01-08  Simon Josefsson  <simon@josefsson.org>
28401
28402         * lib/dup2.c (rpl_dup2): Improve comment.
28403
28404 2010-01-08  Eric Blake  <ebb9@byu.net>
28405
28406         maint.mk: allow packages to add makefile @@ exceptions
28407         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
28408         (sc_makefile_check): Rename...
28409         (sc_makefile_at_at_check): ...to this, and use hook.
28410
28411         dup2: work around mingw bug
28412         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
28413         Reported by Simon Josefsson.
28414
28415 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
28416
28417         glob: Fix C++ compilation.
28418         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
28419         C++.
28420
28421 2010-01-07  Bruno Haible  <bruno@clisp.org>
28422
28423         Fix indentation of wctype.in.h, broken since 2007-01-06.
28424         * lib/wctype.in.h: Fix indentation of preprocessor directives.
28425
28426 2010-01-07  Bruno Haible  <bruno@clisp.org>
28427
28428         mbslen: Avoid collision with system function.
28429         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28430         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28431         * m4/mbslen.m4: New file.
28432         * modules/mbslen (Files): Add it.
28433         (configure.ac): Invoke gl_MBSLEN.
28434         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28435         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28436         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28437         via Ian Beckwith <ianb@erislabs.net>.
28438
28439 2010-01-07  Bruno Haible  <bruno@clisp.org>
28440
28441         dirent: Document the last fix.
28442         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28443
28444 2010-01-07  Bruno Haible  <bruno@clisp.org>
28445
28446         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28447         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28448         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28449         va_list are defined.
28450         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28451         Reported by Eric Blake.
28452
28453 2010-01-07  Bruno Haible  <bruno@clisp.org>
28454
28455         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28456         * modules/xlist (Depends-on): Add 'list',
28457         * modules/xoset (Depends-on): Add 'oset'.
28458         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28459
28460 2010-01-07  Bruno Haible  <bruno@clisp.org>
28461
28462         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28463         * doc/posix-functions/strncasecmp.texi: Likewise.
28464
28465 2010-01-07  Bruno Haible  <bruno@clisp.org>
28466
28467         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28468
28469 2010-01-07  John W. Eaton  <jwe@octave.org>
28470
28471         wctype: allow C++ use
28472         * lib/wctype.in.h: Add extern "C" block for C++.
28473
28474 2010-01-06  Eric Blake  <ebb9@byu.net>
28475
28476         maint.mk: detect incorrect GFDL usage
28477         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28478
28479 2010-01-06  Jim Meyering  <meyering@redhat.com>
28480         and Eric Blake  <ebb9@byu.net>
28481
28482         maint.mk: ignore multi-line copyright in NEWS
28483         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28484
28485 2010-01-06  Eric Blake  <ebb9@byu.net>
28486
28487         select: add missing dependency
28488         * modules/select-tests (Depends-on): Move sockets dependency...
28489         * modules/select (Depends-on): ...here.
28490         Reported by Ian Beckwith.
28491
28492         doc: regenerate INSTALL
28493         * doc/INSTALL: Reflect recent autoconf update.
28494         * doc/INSTALL.ISO: Likewise.
28495         * doc/INSTALL.UTF-8: Likewise.
28496
28497         pread: fix compilation on glibc
28498         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28499         Reported by Ralf Wildenhues.
28500
28501         dirent: fix test failure
28502         * lib/dirent.in.h (includes): Guarantee ino_t.
28503         Reported by Ralf Wildenhues.
28504
28505 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28506
28507         linkat, renameat: avoid bad free
28508         * lib/at-func2.c (at_func2): Fix typo.
28509         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28510
28511 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28512
28513         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28514         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28515         to avoid failure of symlink test later.
28516
28517 2010-01-06  Eric Blake  <ebb9@byu.net>
28518
28519         stdio, unistd: guarantee ssize_t
28520         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28521         2008 are exposed when needed.
28522         * lib/stdio.in.h (includes): Likewise.
28523         Reported by Ralf Wildenhues.
28524
28525 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28526
28527         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28528         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28529         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28530
28531 2010-01-06  Jim Meyering  <meyering@redhat.com>
28532
28533         readtokens: this module *does* require xalloc.h
28534         It uses only functions that were omitted by the old syntax-check rule.
28535         * lib/readtokens.c: Include "xalloc.h" once again.
28536         * modules/readtokens (Depends-on): Add xalloc.
28537         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28538
28539 2010-01-05  Eric Blake  <ebb9@byu.net>
28540
28541         maint: support 'make announcement' from a VPATH build
28542         * top/maint.mk (announcement): Look for correct NEWS file.
28543
28544 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28545
28546         utimens (fdutimens): ignore a negative FD, per contract
28547         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28548         when we have a valid file descriptor.  Otherwise, using a brand
28549         new glibc (with just-patched futimens that now fails with EBADF)
28550         would cause this function to fail with ENOSYS.
28551         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28552         See also http://bugzilla.redhat.com/552320.
28553
28554 2010-01-05  Eric Blake  <ebb9@byu.net>
28555
28556         strcase: document what it provides
28557         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28558         gnulib module.
28559         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28560         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28561
28562 2010-01-05  Jim Meyering  <meyering@redhat.com>
28563
28564         maint: remove useless inclusions of "xalloc.h"
28565         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28566         * lib/readtokens.c: Likewise.
28567         * lib/same.c: Likewise.
28568         * modules/getloadavg (Depends-on): Remove xalloc.
28569         * modules/readtokens: Likewise.
28570         * modules/same: Likewise.
28571
28572         maint.mk: include 4 more function names in alloca.h-checking regexp
28573         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28574         regexp.  Before, we would give a false-positive (saying alloca.h
28575         is included unnecessarily) when the only uses involved omitted symbols.
28576
28577         xalloc.h: use consistent formatting
28578         * lib/xalloc.h: Move declarations to start in the first column.
28579
28580 2010-01-05  Eric Blake  <ebb9@byu.net>
28581
28582         mkdir: avoid xalloc
28583         * lib/mkdir.c (includes): Drop unused header.
28584         Reported by John W. Eaton.
28585
28586 2010-01-04  Jim Meyering  <meyering@redhat.com>
28587
28588         nl_langinfo: avoid configure-time syntax error
28589         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28590         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28591         the empty string.  Don't let that provoke a shell syntax error.
28592
28593         regcomp, regexec, fnmatch: avoid array bounds read error
28594         * lib/regcomp.c (build_equiv_class): From glibc:
28595         Use only the low 24 bits of a findidx return value as an index
28596         into the weights array.  Patch by Ulrich Drepper:
28597         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28598         * lib/regexec.c (check_node_accept_bytes): Likewise.
28599         * lib/fnmatch_loop.c (FCT): Likewise.
28600
28601         regcomp: skip collseq lookup when there are no rules
28602         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28603         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28604
28605         regcomp: recognize ill-formed { } expressions
28606         * lib/regcomp.c (parse_dup_op): From glibc:
28607         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28608
28609         regcomp: fix typo in comment
28610         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28611         s/satisfy/satisfies/.
28612
28613         regcomp: sync from glibc: remove dead store
28614         * lib/regcomp.c (duplicate_node_closure): Remove useless
28615         search_duplicated_node call and dead store.
28616
28617         regcomp: sync from glibc; always use nl_langinfo
28618         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28619         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28620         * modules/regex (Depends-on): Add nl_langinfo.
28621
28622 2010-01-04  Eric Blake  <ebb9@byu.net>
28623
28624         fdopendir: fix configure test
28625         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28626
28627 2010-01-01  Bruno Haible  <bruno@clisp.org>
28628
28629         wchar: Remove unused configure check.
28630         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28631
28632 2010-01-01  Eric Blake  <ebb9@byu.net>
28633
28634         headers: make check of system header explicit
28635         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28636         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28637         ourselves.
28638         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28639         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28640         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28641         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28642         internals.
28643         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28644         missing.
28645         Suggested by Bruno Haible.
28646
28647 2010-01-01  Jim Meyering  <meyering@redhat.com>
28648
28649         ChangeLog: tweak to eliminate unnecessary copyright line
28650         * ChangeLog: Remove a copyright line that was mistakenly updated
28651         by today's update-copyright run.  Reported by Eric Blake.
28652
28653         test-update-copyright: don't let envvar setting cause test failure
28654         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28655
28656 2010-01-01  Bruno Haible  <bruno@clisp.org>
28657
28658         localename: Avoid gcc warning.
28659         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28660         function if it is not used.
28661
28662 2010-01-01  Jim Meyering  <meyering@redhat.com>
28663
28664         update nearly all FSF copyright year lists to include 2010
28665         Use the same procedure as for 2009, outlined in
28666         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28667
28668         version-etc: set COPYRIGHT_YEAR to 2010
28669         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28670
28671 2009-12-31  Eric Blake  <ebb9@byu.net>
28672
28673         doc: correct availability of cygwin 1.5.x getopt
28674         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28675         variables.
28676         * doc/posix-functions/opterr.texi (opterr): Likewise.
28677         * doc/posix-functions/optind.texi (optind): Likewise.
28678         * doc/posix-functions/optopt.texi (optopt): Likewise.
28679         * doc/posix-functions/tzname.texi (tzname): Likewise.
28680
28681         openat: update maintainer
28682         * modules/openat (Maintainer): Add myself.
28683
28684         utimens: avoid shadowing warning
28685         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28686         buffers into one, to avoid shadowing, as well as avoiding a
28687         redundant stat.
28688         Reported by Jim Meyering.
28689
28690         test-dup2: avoid compiler warning
28691         * tests/test-dup2.c (is_inheritable): Only define if used.
28692
28693 2010-01-01  Bruno Haible  <bruno@clisp.org>
28694
28695         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28696         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28697         defined, use wctomb instead of wcrtomb.
28698
28699 2010-01-01  Bruno Haible  <bruno@clisp.org>
28700
28701         iconv: Reject native Solaris iconv.
28702         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28703         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28704
28705 2009-12-31  Bruno Haible  <bruno@clisp.org>
28706
28707         * tests/test-signal.c (main): Remove test of 'SIG'.
28708
28709 2009-12-31  Bruno Haible  <bruno@clisp.org>
28710
28711         spawn: Fix incomplete fix.
28712         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28713         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28714         warnings for GNULIB_POSIXCHECK again.
28715         Reported by Eric Blake.
28716
28717 2009-12-31  Bruno Haible  <bruno@clisp.org>
28718
28719         Avoid namespace pollution on glibc systems.
28720         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28721         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28722         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28723         glibc systems.
28724
28725 2009-12-31  Bruno Haible  <bruno@clisp.org>
28726
28727         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28728         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28729         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28730         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28731         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28732         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28733         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28734
28735 2009-12-31  Bruno Haible  <bruno@clisp.org>
28736
28737         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28738         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28739         afterwards.
28740
28741 2009-12-31  Bruno Haible  <bruno@clisp.org>
28742
28743         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28744         SYS_UTSNAME_H.
28745
28746 2009-12-31  Bruno Haible  <bruno@clisp.org>
28747
28748         spawn: Fix misapplied patch.
28749         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28750         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28751         warnings for GNULIB_POSIXCHECK.
28752
28753 2009-12-31  Bruno Haible  <bruno@clisp.org>
28754
28755         times: Update after sys_times changed.
28756         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28757         * modules/times (Files): Add it.
28758         (configure.ac): Invoke gl_FUNC_TIMES.
28759
28760 2009-12-31  Bruno Haible  <bruno@clisp.org>
28761
28762         Use AC_C_INLINE where necessary.
28763         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28764         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28765         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28766         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28767         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28768         * m4/mbiter.m4 (gl_MBITER): Likewise.
28769         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28770         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28771         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28772         * modules/u64 (configure.ac): Likewise.
28773
28774 2009-12-31  Bruno Haible  <bruno@clisp.org>
28775
28776         Use AC_C_INLINE instead of module 'inline' where possible.
28777         * modules/inline (Description): Clarify purpose.
28778         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28779         * modules/count-one-bits (Depends-on): Remove inline.
28780         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28781         * modules/openat (Depends-on): Remove inline.
28782         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28783         instead of depending on module 'inline'.
28784         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28785         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28786         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28787         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28788         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28789         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28790         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28791         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28792         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28793         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28794         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28795         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28796         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28797         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28798         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28799         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28800         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28801         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28802         Likewise.
28803         * modules/unictype/property-ascii-hex-digit (Depends-on,
28804         configure.ac): Likewise.
28805         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28806         configure.ac): Likewise.
28807         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28808         configure.ac): Likewise.
28809         * modules/unictype/property-bidi-block-separator (Depends-on,
28810         configure.ac): Likewise.
28811         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28812         configure.ac): Likewise.
28813         * modules/unictype/property-bidi-common-separator (Depends-on,
28814         configure.ac): Likewise.
28815         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28816         Likewise.
28817         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28818         configure.ac): Likewise.
28819         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28820         configure.ac): Likewise.
28821         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28822         configure.ac): Likewise.
28823         * modules/unictype/property-bidi-european-digit (Depends-on,
28824         configure.ac): Likewise.
28825         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28826         configure.ac): Likewise.
28827         * modules/unictype/property-bidi-left-to-right (Depends-on,
28828         configure.ac): Likewise.
28829         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28830         configure.ac): Likewise.
28831         * modules/unictype/property-bidi-other-neutral (Depends-on,
28832         configure.ac): Likewise.
28833         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28834         Likewise.
28835         * modules/unictype/property-bidi-segment-separator (Depends-on,
28836         configure.ac): Likewise.
28837         * modules/unictype/property-bidi-whitespace (Depends-on,
28838         configure.ac): Likewise.
28839         * modules/unictype/property-combining (Depends-on, configure.ac):
28840         Likewise.
28841         * modules/unictype/property-composite (Depends-on, configure.ac):
28842         Likewise.
28843         * modules/unictype/property-currency-symbol (Depends-on,
28844         configure.ac): Likewise.
28845         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
28846         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
28847         Likewise.
28848         * modules/unictype/property-default-ignorable-code-point (Depends-on,
28849         configure.ac): Likewise.
28850         * modules/unictype/property-deprecated (Depends-on, configure.ac):
28851         Likewise.
28852         * modules/unictype/property-diacritic (Depends-on, configure.ac):
28853         Likewise.
28854         * modules/unictype/property-extender (Depends-on, configure.ac):
28855         Likewise.
28856         * modules/unictype/property-format-control (Depends-on, configure.ac):
28857         Likewise.
28858         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
28859         Likewise.
28860         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
28861         Likewise.
28862         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
28863         Likewise.
28864         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
28865         Likewise.
28866         * modules/unictype/property-hyphen (Depends-on, configure.ac):
28867         Likewise.
28868         * modules/unictype/property-id-continue (Depends-on, configure.ac):
28869         Likewise.
28870         * modules/unictype/property-id-start (Depends-on, configure.ac):
28871         Likewise.
28872         * modules/unictype/property-ideographic (Depends-on, configure.ac):
28873         Likewise.
28874         * modules/unictype/property-ids-binary-operator (Depends-on,
28875         configure.ac): Likewise.
28876         * modules/unictype/property-ids-trinary-operator (Depends-on,
28877         configure.ac): Likewise.
28878         * modules/unictype/property-ignorable-control (Depends-on,
28879         configure.ac): Likewise.
28880         * modules/unictype/property-iso-control (Depends-on, configure.ac):
28881         Likewise.
28882         * modules/unictype/property-join-control (Depends-on, configure.ac):
28883         Likewise.
28884         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
28885         Likewise.
28886         * modules/unictype/property-line-separator (Depends-on, configure.ac):
28887         Likewise.
28888         * modules/unictype/property-logical-order-exception (Depends-on,
28889         configure.ac): Likewise.
28890         * modules/unictype/property-lowercase (Depends-on, configure.ac):
28891         Likewise.
28892         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
28893         * modules/unictype/property-non-break (Depends-on, configure.ac):
28894         Likewise.
28895         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
28896         Likewise.
28897         * modules/unictype/property-numeric (Depends-on, configure.ac):
28898         Likewise.
28899         * modules/unictype/property-other-alphabetic (Depends-on,
28900         configure.ac): Likewise.
28901         * modules/unictype/property-other-default-ignorable-code-point
28902         (Depends-on, configure.ac): Likewise.
28903         * modules/unictype/property-other-grapheme-extend (Depends-on,
28904         configure.ac): Likewise.
28905         * modules/unictype/property-other-id-continue (Depends-on,
28906         configure.ac): Likewise.
28907         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
28908         Likewise.
28909         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
28910         Likewise.
28911         * modules/unictype/property-other-math (Depends-on, configure.ac):
28912         Likewise.
28913         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
28914         Likewise.
28915         * modules/unictype/property-paired-punctuation (Depends-on,
28916         configure.ac): Likewise.
28917         * modules/unictype/property-paragraph-separator (Depends-on,
28918         configure.ac): Likewise.
28919         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
28920         Likewise.
28921         * modules/unictype/property-pattern-white-space (Depends-on,
28922         configure.ac): Likewise.
28923         * modules/unictype/property-private-use (Depends-on, configure.ac):
28924         Likewise.
28925         * modules/unictype/property-punctuation (Depends-on, configure.ac):
28926         Likewise.
28927         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
28928         Likewise.
28929         * modules/unictype/property-radical (Depends-on, configure.ac):
28930         Likewise.
28931         * modules/unictype/property-sentence-terminal (Depends-on,
28932         configure.ac): Likewise.
28933         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
28934         Likewise.
28935         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
28936         * modules/unictype/property-terminal-punctuation (Depends-on,
28937         configure.ac): Likewise.
28938         * modules/unictype/property-titlecase (Depends-on, configure.ac):
28939         Likewise.
28940         * modules/unictype/property-unassigned-code-value (Depends-on,
28941         configure.ac): Likewise.
28942         * modules/unictype/property-unified-ideograph (Depends-on,
28943         configure.ac): Likewise.
28944         * modules/unictype/property-uppercase (Depends-on, configure.ac):
28945         Likewise.
28946         * modules/unictype/property-variation-selector (Depends-on,
28947         configure.ac): Likewise.
28948         * modules/unictype/property-white-space (Depends-on, configure.ac):
28949         Likewise.
28950         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
28951         Likewise.
28952         * modules/unictype/property-xid-start (Depends-on, configure.ac):
28953         Likewise.
28954         * modules/unictype/property-zero-width (Depends-on, configure.ac):
28955         Likewise.
28956         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
28957         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
28958         Likewise.
28959
28960 2009-12-31  Bruno Haible  <bruno@clisp.org>
28961
28962         Remove unnecessary AC_C_INLINE invocation.
28963         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
28964         since 2009-08-21.
28965
28966 2009-12-31  Jim Meyering  <meyering@redhat.com>
28967
28968         maint.mk: don't require explicit gpg_key_ID in cfg.mk
28969         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
28970         With this change, we can all remove the gpg_key_ID = ... definition
28971         from our respective cfg.mk files.
28972
28973         maint.mk: create announcement template in ~/, not in /tmp
28974         * top/maint.mk (emit_upload_commands): Adjust.
28975         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
28976         Remove temporary file, .ci-msg.
28977
28978 2009-12-31  Eric Blake  <ebb9@byu.net>
28979
28980         link-warning: always build headers with link warnings
28981         * modules/arpa_inet (Makefile.am): Always build replacement
28982         header.
28983         * modules/ctype (Makefile.am): Likewise.
28984         * modules/dirent (Makefile.am): Likewise.
28985         * modules/inttypes (Makefile.am): Likewise.
28986         * modules/langinfo (Makefile.am): Likewise.
28987         * modules/locale (Makefile.am): Likewise.
28988         * modules/spawn (Makefile.am): Likewise.
28989         * modules/sys_file (Makefile.am): Likewise.
28990         * modules/sys_ioctl (Makefile.am): Likewise.
28991         * modules/sys_select (Makefile.am): Likewise.
28992         * modules/sys_socket (Makefile.am): Likewise.
28993         * modules/sys_times (Makefile.am): Likewise.
28994         * modules/sys_utsname (Makefile.am): Likewise.
28995         * modules/sys_wait (Makefile.am): Likewise.
28996         * modules/wchar (Makefile.am): Likewise.
28997         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
28998         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
28999         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
29000         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
29001         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
29002         Likewise.
29003         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29004         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29005         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
29006         Likewise.
29007         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
29008         Likewise.
29009         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
29010         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
29011         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
29012         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29013         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29014         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29015         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29016         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
29017         (gl_WCHAR_H_DEFAULTS): Likewise.
29018
29019 2009-12-31  Eric Blake  <ebb9@byu.net>
29020
29021         signal, spawn: use link warnings
29022         * lib/signal.in.h (sigset_t): Make unconditional.
29023         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
29024         (sigpending, sigprocmask, sigaction): Add link warnings.
29025         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
29026         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
29027         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
29028         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
29029         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
29030         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
29031         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
29032         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
29033         (posix_spawn_file_actions_destroy)
29034         (posix_spawn_file_actions_addopen)
29035         (posix_spawn_file_actions_addclose)
29036         (posix_spawn_file_actions_adddup2): Likewise.
29037         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
29038         * tests/test-signal.c (main): Enhance test.
29039
29040         spawn: improve wrapper support
29041         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
29042         (gl_SPAWN_H_DEFAULTS): New defaults.
29043         * modules/spawn (Makefile.am): Substitute them.
29044         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
29045         Only declare if missing or broken.
29046
29047         sys_times, sys_utsname: use include_next
29048         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
29049         header.
29050         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
29051         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29052         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29053         * modules/sys_times (Depends-on): Add include_next.
29054         (Makefile.am): Substitute additional values.
29055         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29056         * lib/sys_times.in.h (includes): Include native header, if
29057         available.
29058         * lib/sys_utsname.in.h (includes): Likewise.
29059         * tests/test-sys_times.c (main): Enhance test.
29060
29061         fdutimensat: revert prior patch
29062         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
29063         utimens.h.
29064         Reported by Bruno Haible.
29065
29066 2009-12-30  Eric Blake  <ebb9@byu.net>
29067
29068         sys_wait: drop link-warning dependency
29069         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
29070         link-warning efforts.
29071         * lib/sys_wait.in.h: Likewise.
29072
29073         fdutimensat: remove bogus dependency
29074         * modules/fdutimensat (Depends-on): Drop inline.
29075
29076         unistd: fix typo
29077         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
29078
29079 2009-12-30  Bruno Haible  <bruno@clisp.org>
29080
29081         Fix compilation error with Solaris cc.
29082         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
29083         * lib/unicase/u16-is-invariant.c: Likewise.
29084         * lib/unicase/u32-is-invariant.c: Likewise.
29085         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29086
29087 2009-12-30  Bruno Haible  <bruno@clisp.org>
29088
29089         Fix test crash.
29090         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
29091         locales.
29092         Reported by Simon Josefsson <simon@josefsson.org>.
29093
29094 2009-12-30  Bruno Haible  <bruno@clisp.org>
29095
29096         Fix compilation error on most platforms.
29097         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
29098         Reported by Simon Josefsson <simon@josefsson.org>
29099         and Nelson H. F. Beebe <beebe@math.utah.edu>.
29100
29101 2009-12-30  Eric Blake  <ebb9@byu.net>
29102
29103         futimens, utimensat: work around ntfs-3g bug
29104         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
29105         a ctime bug is present, and expand workaround to cover ntfs-3g.
29106         * lib/utimens.c (fdutimens, lutimens): Likewise.
29107         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
29108         (validate_timespec): Adjust return value.
29109         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
29110         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29111         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
29112
29113 2009-12-29  Eric Blake  <ebb9@byu.net>
29114
29115         link-warning: make usage consistent
29116         * modules/ctype (Depends-on): Add link-warning.
29117         (Makefile.am): Update rules accordingly.
29118         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29119         * modules/locale (Depends-on, Makefile.am): Likewise.
29120         * modules/sys_file (Makefile.am): Likewise.
29121         * modules/getopt-posix (Makefile.am): Delete unused link warning
29122         efforts.
29123         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
29124         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
29125         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
29126         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
29127
29128         stdio: remove unused variables
29129         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
29130         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
29131         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29132
29133         tests: test more substitute headers
29134         * modules/ctype-tests: New file.
29135         * modules/dirent-tests: Likewise.
29136         * modules/spawn-tests: Likewise.
29137         * modules/sys_file-tests: Likewise.
29138         * modules/sys_ioctl-tests: Likewise.
29139         * modules/sys_wait-tests: Likewise.
29140         * tests/test-ctype.c: Likewise.
29141         * tests/test-dirent.c: Likewise.
29142         * tests/test-spawn.c: Likewise.
29143         * tests/test-sys_file.c: Likewise.
29144         * tests/test-sys_ioctl.c: Likewise.
29145         * tests/test-sys_wait.c: Likewise.
29146         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
29147         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
29148         whether or not flock is in use.
29149
29150         tests: remove License section from module
29151         * modules/arpa_inet-tests: Remove unneeded section.
29152         * modules/byteswap-tests: Likewise.
29153         * modules/ceilf-tests: Likewise.
29154         * modules/ceill-tests: Likewise.
29155         * modules/crypto/des-tests: Likewise.
29156         * modules/crypto/gc-arcfour-tests: Likewise.
29157         * modules/crypto/gc-arctwo-tests: Likewise.
29158         * modules/crypto/gc-des-tests: Likewise.
29159         * modules/crypto/gc-hmac-md5-tests: Likewise.
29160         * modules/crypto/gc-hmac-sha1-tests: Likewise.
29161         * modules/crypto/gc-md2-tests: Likewise.
29162         * modules/crypto/gc-md4-tests: Likewise.
29163         * modules/crypto/gc-md5-tests: Likewise.
29164         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
29165         * modules/crypto/gc-rijndael-tests: Likewise.
29166         * modules/crypto/gc-sha1-tests: Likewise.
29167         * modules/crypto/gc-tests: Likewise.
29168         * modules/crypto/md2-tests: Likewise.
29169         * modules/crypto/md4-tests: Likewise.
29170         * modules/fcntl-h-tests: Likewise.
29171         * modules/floorf-tests: Likewise.
29172         * modules/floorl-tests: Likewise.
29173         * modules/frexp-nolibm-tests: Likewise.
29174         * modules/frexp-tests: Likewise.
29175         * modules/frexpl-nolibm-tests: Likewise.
29176         * modules/frexpl-tests: Likewise.
29177         * modules/getaddrinfo-tests: Likewise.
29178         * modules/inttypes-tests: Likewise.
29179         * modules/isfinite-tests: Likewise.
29180         * modules/isinf-tests: Likewise.
29181         * modules/ldexpl-tests: Likewise.
29182         * modules/locale-tests: Likewise.
29183         * modules/math-tests: Likewise.
29184         * modules/netdb-tests: Likewise.
29185         * modules/netinet_in-tests: Likewise.
29186         * modules/printf-frexp-tests: Likewise.
29187         * modules/printf-frexpl-tests: Likewise.
29188         * modules/priv-set-tests: Likewise.
29189         * modules/random_r-tests: Likewise.
29190         * modules/round-tests: Likewise.
29191         * modules/roundf-tests: Likewise.
29192         * modules/roundl-tests: Likewise.
29193         * modules/search-tests: Likewise.
29194         * modules/select-tests: Likewise.
29195         * modules/signal-tests: Likewise.
29196         * modules/stdbool-tests: Likewise.
29197         * modules/stddef-tests: Likewise.
29198         * modules/stdint-tests: Likewise.
29199         * modules/stdio-tests: Likewise.
29200         * modules/stdlib-tests: Likewise.
29201         * modules/string-tests: Likewise.
29202         * modules/strings-tests: Likewise.
29203         * modules/sys_select-tests: Likewise.
29204         * modules/sys_socket-tests: Likewise.
29205         * modules/sys_stat-tests: Likewise.
29206         * modules/sys_time-tests: Likewise.
29207         * modules/sys_utsname-tests: Likewise.
29208         * modules/sysexits-tests: Likewise.
29209         * modules/time-tests: Likewise.
29210         * modules/trunc-tests: Likewise.
29211         * modules/truncf-tests: Likewise.
29212         * modules/truncl-tests: Likewise.
29213         * modules/tsearch-tests: Likewise.
29214         * modules/unistd-tests: Likewise.
29215         * modules/wchar-tests: Likewise.
29216         * modules/wctype-tests: Likewise.
29217
29218         tests: fix license on several tests
29219         * tests/test-des.c: Update to GPLv3+.
29220         * tests/test-flock.c: Likewise.
29221         * tests/test-fsync.c: Likewise.
29222         * tests/test-futimens.h: Likewise.
29223         * tests/test-gc-arcfour.c: Likewise.
29224         * tests/test-gc-arctwo.c: Likewise.
29225         * tests/test-gc-des.c: Likewise.
29226         * tests/test-gc-hmac-md5.c: Likewise.
29227         * tests/test-gc-hmac-sha1.c: Likewise.
29228         * tests/test-gc-md2.c: Likewise.
29229         * tests/test-gc-md4.c: Likewise.
29230         * tests/test-gc-md5.c: Likewise.
29231         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29232         * tests/test-gc-rijndael.c: Likewise.
29233         * tests/test-gc-sha1.c: Likewise.
29234         * tests/test-gc.c: Likewise.
29235         * tests/test-getcwd.c: Likewise.
29236         * tests/test-link.c: Likewise.
29237         * tests/test-link.h: Likewise.
29238         * tests/test-lutimens.h: Likewise.
29239         * tests/test-md2.c: Likewise.
29240         * tests/test-md4.c: Likewise.
29241         * tests/test-mkdir.h: Likewise.
29242         * tests/test-rename.c: Likewise.
29243         * tests/test-rename.h: Likewise.
29244         * tests/test-safe-alloc.c: Likewise.
29245         * tests/test-utimens-common.h: Likewise.
29246         * tests/test-utimens.h: Likewise.
29247
29248         maint: sync license texts
29249         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
29250         * doc/gpl-3.0.texi: Revert copyright year update.
29251         * doc/lgpl-3.0.texi: Likewise.
29252
29253 2009-12-29  Jim Meyering  <meyering@redhat.com>
29254
29255         update nearly all FSF copyright year lists to include 2009
29256         The files named by the following are exempted:
29257             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
29258               test -f "$dst" && { echo "$dst"; continue; }
29259               test -d "$dst" || continue
29260               echo "$dst"/$(basename "$src")
29261             done > exempt
29262             git ls-files tests/unictype >> exempt
29263         In the remaining files, convert to all-interval notation if
29264         - there is already at least one year interval like 2000-2003
29265         - the file is maintained by me
29266         - the file is in lib/uni*/, where that style already prevails
29267         Otherwise, use update-copyright's default.
29268
29269 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29270         and Eric Blake  <ebb9@byu.net>
29271
29272         tests: don't require debug system() to pass
29273         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
29274         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29275         * tests/test-unlink.h (test_unlink_func): Likewise.
29276         * tests/test-fstatat.c (main): ...into callers.
29277         * tests/test-lstat.c (main): Likewise.
29278         * tests/test-rmdir.c (main): Likewise.
29279         * tests/test-unlink.c (main): Likewise.
29280         * tests/test-unlinkat.c (main): Likewise.
29281         * tests/test-areadlink-with-size.c (main): Don't require a
29282         debug-only system call to pass, aiding cross-testing to mingw.
29283         * tests/test-areadlink.c (main): Likewise.
29284         * tests/test-areadlinkat-with-size.c (main): Likewise.
29285         * tests/test-areadlinkat.c (main): Likewise.
29286         * tests/test-canonicalize-lgpl.c (main): Likewise.
29287         * tests/test-canonicalize.c (main): Likewise.
29288         * tests/test-chown.c (main): Likewise.
29289         * tests/test-fchownat.c (main): Likewise.
29290         * tests/test-lchown.c (main): Likewise.
29291         * tests/test-fdutimensat.c (main): Likewise.
29292         * tests/test-futimens.c (main): Likewise.
29293         * tests/test-link.c (main): Likewise.
29294         * tests/test-linkat.c (main): Likewise.
29295         * tests/test-mkdir.c (main): Likewise.
29296         * tests/test-mkdirat.c (main): Likewise.
29297         * tests/test-mkfifo.c (main): Likewise.
29298         * tests/test-mkfifoat.c (main): Likewise.
29299         * tests/test-mknod.c (main): Likewise.
29300         * tests/test-readlink.c (main): Likewise.
29301         * tests/test-remove.c (main): Likewise.
29302         * tests/test-rename.c (main): Likewise.
29303         * tests/test-renameat.c (main): Likewise.
29304         * tests/test-symlink.c (main): Likewise.
29305         * tests/test-symlinkat.c (main): Likewise.
29306         * tests/test-utimens.c (main): Likewise.
29307         * tests/test-utimensat.c (main): Likewise.
29308
29309 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29310
29311         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
29312         on $(UNUSED_PARAMETER_H) to avoid build failure.
29313
29314 2009-12-28  Jim Meyering  <meyering@redhat.com>
29315
29316         update-copyright: you may specify a max. line length other than 72
29317         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29318
29319         maint: use consistent FSF copyright line syntax
29320         * lib/posixtm.c: Add missing comma in FSF copyright line.
29321         * lib/posixtm.h: Likewise.
29322         * lib/getugroups.c: Add missing ", Inc.".
29323
29324         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
29325         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
29326         FSF copyright line.  Remove trailing blanks.
29327
29328 2009-12-28  Eric Blake  <ebb9@byu.net>
29329
29330         test-dup2: reduce dependencies
29331         * modules/cloexec (Configure.ac): Set witness.
29332         * modules/dup2-tests (Depends-on): Drop cloexec.
29333         * tests/test-dup2.c (main): Skip portion of test if cloexec module
29334         not present.
29335         Suggested by Bruno Haible.
29336
29337 2009-12-26  Bruno Haible  <bruno@clisp.org>
29338
29339         Remove an unneeded dependency.
29340         * modules/fseterr (Depends-on): Remove dup2.
29341
29342 2009-12-26  Eric Blake  <ebb9@byu.net>
29343
29344         tests: use macros.h in more places
29345         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
29346         (ASSERT_STREAM): Provide default of stderr.
29347         * tests/test-dirent-safer.c: Include macros.h, using alternate
29348         stream for assertions.
29349         * tests/test-dup-safer.c: Likewise.
29350         * tests/test-freopen-safer.c: Likewise.
29351         * tests/test-getopt.c: Likewise.
29352         * tests/test-openat-safer.c: Likewise.
29353         * tests/test-pipe.c: Likewise.
29354         * tests/test-popen-safer.c: Likewise.
29355         * modules/dirent-safer-tests (Files): Include macros.h.
29356         * modules/unistd-safer-tests (Files): Likewise.
29357         * modules/freopen-safer-tests (Files): Likewise.
29358         * modules/getopt-posix-tests (Files): Likewise.
29359         * modules/openat-safer-tests (Files): Likewise.
29360         * modules/pipe-tests (Files): Likewise.
29361
29362 2009-12-26  Bruno Haible  <bruno@clisp.org>
29363
29364         javacomp: Portability fix.
29365         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
29366         that it also works on Solaris.
29367
29368 2009-12-26  Bruno Haible  <bruno@clisp.org>
29369
29370         localename: Fix storage allocation of gl_locale_name_thread's result.
29371         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
29372         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
29373         all platforms that have 'uselocale'.
29374         (gl_locale_name_thread_unsafe): New function, extracted from
29375         gl_locale_name_thread.
29376         (gl_locale_name_thread): Call struniq on all platforms that have
29377         'uselocale'.
29378         * tests/test-localename.c (test_locale_name_thread): Check that the
29379         resulting strings are permanently allocated.
29380         * modules/localename-tests (Depends-on): Add strdup.
29381
29382 2009-12-26  Bruno Haible  <bruno@clisp.org>
29383
29384         * tests/test-localename.c (categories): Fill in the strings.
29385
29386 2009-12-26  Jim Meyering  <meyering@redhat.com>
29387
29388         isdir: complete the removal of m4/isdir.m4
29389         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29390
29391         isdir: clean up, since at least grep still uses it
29392         * lib/isdir.c: Include "isdir.h".
29393         (S_ISDIR): Remove now-unneeded definition.
29394         * modules/isdir (Files): Add lib/isdir.h.
29395         * lib/isdir.h: New file, with declaration.
29396         * m4/isdir.m4: Remove file -- unneeded.
29397
29398 2009-12-25  Bruno Haible  <bruno@clisp.org>
29399
29400         selinux-h: Make generated .h files standalone.
29401         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
29402         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
29403         * lib/se-selinux.in.h: Likewise.
29404         * modules/selinux-h (Depends-on): Add unused-parameter.
29405         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
29406         selinux/selinux.h and selinux/context.h.
29407         Suggested by Eric Blake.
29408
29409 2009-12-25  Bruno Haible  <bruno@clisp.org>
29410
29411         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
29412         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
29413         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
29414         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
29415         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
29416
29417 2009-12-24  Bruno Haible  <bruno@clisp.org>
29418
29419         openat: Fix warning.
29420         * lib/openat-proc.c: Include <unistd.h>.
29421
29422 2009-12-24  Bruno Haible  <bruno@clisp.org>
29423
29424         New module 'unused-parameter'.
29425         * build-aux/unused-parameter.h: New file, extracted from earlier
29426         gnulib-common.m4.
29427         * modules/unused-parameter: New file.
29428         * lib/unistr.h: Include unused-parameter.h.
29429         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29430         _GL_UNUSED.
29431         * modules/unistr/base (Depends-on): Add unused-parameter.
29432
29433 2009-12-24  Bruno Haible  <bruno@clisp.org>
29434
29435         Add missing dependencies to 'extensions' module.
29436         * m4/extensions.m4: Add comment.
29437         * modules/accept4 (Depends-on): Add extensions.
29438         * modules/dup3 (Depends-on): Likewise.
29439         * modules/fcntl (Depends-on): Likewise.
29440         * modules/futimens (Depends-on): Likewise.
29441         * modules/mknod (Depends-on): Likewise.
29442         * modules/pipe2 (Depends-on): Likewise.
29443         * modules/stat-time (Depends-on): Likewise.
29444         * modules/strcasestr-simple (Depends-on): Likewise.
29445         * modules/strsignal (Depends-on): Likewise.
29446         * modules/utimensat (Depends-on): Likewise.
29447         * modules/localcharset (Depends-on): Likewise. Needed because of
29448         gl_FCNTL_O_FLAGS.
29449         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29450         AC_TYPE_MBSTATE_T.
29451         * modules/wcsnrtombs (Depends-on): Likewise.
29452         * modules/wcsrtombs (Depends-on): Likewise.
29453
29454 2009-12-24  Bruno Haible  <bruno@clisp.org>
29455
29456         binary-io: Avoid gcc warning due to SET_BINARY.
29457         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29458         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29459
29460 2009-12-24  Bruno Haible  <bruno@clisp.org>
29461
29462         Avoid future namespace pollution on glibc systems.
29463         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29464         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29465         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29466         glibc systems.
29467
29468 2009-12-24  Bruno Haible  <bruno@clisp.org>
29469
29470         Refactor common macros used in tests.
29471         * tests/macros.h: New file.
29472         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29473         and/or <stdlib.h>, if appropriate.
29474         (ASSERT, SIZEOF): Remove macros.
29475         * tests/test-areadlink-with-size.c: Likewise.
29476         * tests/test-areadlinkat.c: Likewise.
29477         * tests/test-areadlinkat-with-size.c: Likewise.
29478         * tests/test-argmatch.c: Likewise.
29479         * tests/test-argv-iter.c: Likewise.
29480         * tests/test-array-mergesort.c: Likewise.
29481         * tests/test-array_list.c: Likewise.
29482         * tests/test-array_oset.c: Likewise.
29483         * tests/test-avltree_list.c: Likewise.
29484         * tests/test-avltree_oset.c: Likewise.
29485         * tests/test-avltreehash_list.c: Likewise.
29486         * tests/test-base64.c: Likewise.
29487         * tests/test-binary-io.c: Likewise.
29488         * tests/test-bitrotate.c: Likewise.
29489         * tests/test-btowc.c: Likewise.
29490         * tests/test-byteswap.c: Likewise.
29491         * tests/test-c-ctype.c: Likewise.
29492         * tests/test-c-stack.c: Likewise.
29493         * tests/test-c-strcasecmp.c: Likewise.
29494         * tests/test-c-strcasestr.c: Likewise.
29495         * tests/test-c-strncasecmp.c: Likewise.
29496         * tests/test-c-strstr.c: Likewise.
29497         * tests/test-canonicalize-lgpl.c: Likewise.
29498         * tests/test-canonicalize.c: Likewise.
29499         * tests/test-carray_list.c: Likewise.
29500         * tests/test-ceilf1.c: Likewise.
29501         * tests/test-ceilf2.c: Likewise.
29502         * tests/test-ceill.c: Likewise.
29503         * tests/test-chown.c: Likewise.
29504         * tests/test-cloexec.c: Likewise.
29505         * tests/test-copy-acl.c: Likewise.
29506         * tests/test-copy-file.c: Likewise.
29507         * tests/test-count-one-bits.c: Likewise.
29508         * tests/test-dprintf-posix.c: Likewise.
29509         * tests/test-dup2.c: Likewise.
29510         * tests/test-dup3.c: Likewise.
29511         * tests/test-duplocale.c: Likewise.
29512         * tests/test-fbufmode.c: Likewise.
29513         * tests/test-fchdir.c: Likewise.
29514         * tests/test-fchownat.c: Likewise.
29515         * tests/test-fcntl-safer.c: Likewise.
29516         * tests/test-fcntl.c: Likewise.
29517         * tests/test-fdopendir.c: Likewise.
29518         * tests/test-fdutimensat.c: Likewise.
29519         * tests/test-fflush2.c: Likewise.
29520         * tests/test-file-has-acl.c: Likewise.
29521         * tests/test-filevercmp.c: Likewise.
29522         * tests/test-flock.c: Likewise.
29523         * tests/test-floorf1.c: Likewise.
29524         * tests/test-floorf2.c: Likewise.
29525         * tests/test-floorl.c: Likewise.
29526         * tests/test-fnmatch.c: Likewise.
29527         * tests/test-fopen.h: Likewise.
29528         * tests/test-fpending.c: Likewise.
29529         * tests/test-fprintf-posix.c: Likewise.
29530         * tests/test-fpurge.c: Likewise.
29531         * tests/test-freadable.c: Likewise.
29532         * tests/test-freadahead.c: Likewise.
29533         * tests/test-freading.c: Likewise.
29534         * tests/test-freadptr.c: Likewise.
29535         * tests/test-freadptr2.c: Likewise.
29536         * tests/test-freadseek.c: Likewise.
29537         * tests/test-freopen.c: Likewise.
29538         * tests/test-frexp.c: Likewise.
29539         * tests/test-frexpl.c: Likewise.
29540         * tests/test-fseek.c: Likewise.
29541         * tests/test-fseeko.c: Likewise.
29542         * tests/test-fstatat.c: Likewise.
29543         * tests/test-fstrcmp.c: Likewise.
29544         * tests/test-fsync.c: Likewise.
29545         * tests/test-ftell.c: Likewise.
29546         * tests/test-ftello.c: Likewise.
29547         * tests/test-func.c: Likewise.
29548         * tests/test-futimens.c: Likewise.
29549         * tests/test-fwritable.c: Likewise.
29550         * tests/test-fwriting.c: Likewise.
29551         * tests/test-getcwd.c: Likewise.
29552         * tests/test-getdate.c: Likewise.
29553         * tests/test-getdelim.c: Likewise.
29554         * tests/test-getdtablesize.c: Likewise.
29555         * tests/test-getgroups.c: Likewise.
29556         * tests/test-getline.c: Likewise.
29557         * tests/test-getndelim2.c: Likewise.
29558         * tests/test-glob.c: Likewise.
29559         * tests/test-hash.c: Likewise.
29560         * tests/test-i-ring.c: Likewise.
29561         * tests/test-iconv-utf.c: Likewise.
29562         * tests/test-iconv.c: Likewise.
29563         * tests/test-idpriv-drop.c: Likewise.
29564         * tests/test-idpriv-droptemp.c: Likewise.
29565         * tests/test-inet_ntop.c: Likewise.
29566         * tests/test-inet_pton.c: Likewise.
29567         * tests/test-isblank.c: Likewise.
29568         * tests/test-isfinite.c: Likewise.
29569         * tests/test-isinf.c: Likewise.
29570         * tests/test-isnan.c: Likewise.
29571         * tests/test-isnand.h: Likewise.
29572         * tests/test-isnanf.h: Likewise.
29573         * tests/test-isnanl.h: Likewise.
29574         * tests/test-lchown.c: Likewise.
29575         * tests/test-ldexpl.c: Likewise.
29576         * tests/test-link.c: Likewise.
29577         * tests/test-linkat.c: Likewise.
29578         * tests/test-linked_list.c: Likewise.
29579         * tests/test-linkedhash_list.c: Likewise.
29580         * tests/test-localename.c: Likewise.
29581         * tests/test-lseek.c: Likewise.
29582         * tests/test-lstat.c: Likewise.
29583         * tests/test-mbmemcasecmp.c: Likewise.
29584         * tests/test-mbmemcasecoll.c: Likewise.
29585         * tests/test-mbrtowc.c: Likewise.
29586         * tests/test-mbscasecmp.c: Likewise.
29587         * tests/test-mbscasestr1.c: Likewise.
29588         * tests/test-mbscasestr2.c: Likewise.
29589         * tests/test-mbscasestr3.c: Likewise.
29590         * tests/test-mbscasestr4.c: Likewise.
29591         * tests/test-mbschr.c: Likewise.
29592         * tests/test-mbscspn.c: Likewise.
29593         * tests/test-mbsinit.c: Likewise.
29594         * tests/test-mbsncasecmp.c: Likewise.
29595         * tests/test-mbsnrtowcs.c: Likewise.
29596         * tests/test-mbspbrk.c: Likewise.
29597         * tests/test-mbspcasecmp.c: Likewise.
29598         * tests/test-mbsrchr.c: Likewise.
29599         * tests/test-mbsrtowcs.c: Likewise.
29600         * tests/test-mbsspn.c: Likewise.
29601         * tests/test-mbsstr1.c: Likewise.
29602         * tests/test-mbsstr2.c: Likewise.
29603         * tests/test-mbsstr3.c: Likewise.
29604         * tests/test-memchr.c: Likewise.
29605         * tests/test-memchr2.c: Likewise.
29606         * tests/test-memcmp.c: Likewise.
29607         * tests/test-memmem.c: Likewise.
29608         * tests/test-memrchr.c: Likewise.
29609         * tests/test-mkdir.c: Likewise.
29610         * tests/test-mkdirat.c: Likewise.
29611         * tests/test-mkfifo.c: Likewise.
29612         * tests/test-mkfifoat.c: Likewise.
29613         * tests/test-mknod.c: Likewise.
29614         * tests/test-nanosleep.c: Likewise.
29615         * tests/test-nl_langinfo.c: Likewise.
29616         * tests/test-obstack-printf.c: Likewise.
29617         * tests/test-open.c: Likewise.
29618         * tests/test-openat.c: Likewise.
29619         * tests/test-pipe-filter-gi1.c: Likewise.
29620         * tests/test-pipe-filter-gi2-main.c: Likewise.
29621         * tests/test-pipe-filter-ii1.c: Likewise.
29622         * tests/test-pipe-filter-ii2-main.c: Likewise.
29623         * tests/test-pipe2.c: Likewise.
29624         * tests/test-popen.h: Likewise.
29625         * tests/test-posixtm.c: Likewise.
29626         * tests/test-pread.c: Likewise.
29627         * tests/test-printf-frexp.c: Likewise.
29628         * tests/test-printf-frexpl.c: Likewise.
29629         * tests/test-printf-posix.c: Likewise.
29630         * tests/test-priv-set.c: Likewise.
29631         * tests/test-quotearg.c: Likewise.
29632         * tests/test-random_r.c: Likewise.
29633         * tests/test-rawmemchr.c: Likewise.
29634         * tests/test-rbtree_list.c: Likewise.
29635         * tests/test-rbtree_oset.c: Likewise.
29636         * tests/test-rbtreehash_list.c: Likewise.
29637         * tests/test-readlink.c: Likewise.
29638         * tests/test-remove.c: Likewise.
29639         * tests/test-rename.c: Likewise.
29640         * tests/test-renameat.c: Likewise.
29641         * tests/test-rmdir.c: Likewise.
29642         * tests/test-round1.c: Likewise.
29643         * tests/test-roundf1.c: Likewise.
29644         * tests/test-roundl.c: Likewise.
29645         * tests/test-safe-alloc.c: Likewise.
29646         * tests/test-sameacls.c: Likewise.
29647         * tests/test-set-mode-acl.c: Likewise.
29648         * tests/test-setenv.c: Likewise.
29649         * tests/test-sigaction.c: Likewise.
29650         * tests/test-signbit.c: Likewise.
29651         * tests/test-sleep.c: Likewise.
29652         * tests/test-snprintf-posix.c: Likewise.
29653         * tests/test-snprintf.c: Likewise.
29654         * tests/test-sprintf-posix.c: Likewise.
29655         * tests/test-stat-time.c: Likewise.
29656         * tests/test-stat.c: Likewise.
29657         * tests/test-strcasestr.c: Likewise.
29658         * tests/test-strchrnul.c: Likewise.
29659         * tests/test-strerror.c: Likewise.
29660         * tests/test-striconv.c: Likewise.
29661         * tests/test-striconveh.c: Likewise.
29662         * tests/test-striconveha.c: Likewise.
29663         * tests/test-strsignal.c: Likewise.
29664         * tests/test-strstr.c: Likewise.
29665         * tests/test-strtod.c: Likewise.
29666         * tests/test-strverscmp.c: Likewise.
29667         * tests/test-symlink.c: Likewise.
29668         * tests/test-symlinkat.c: Likewise.
29669         * tests/test-trunc1.c: Likewise.
29670         * tests/test-trunc2.c: Likewise.
29671         * tests/test-truncf1.c: Likewise.
29672         * tests/test-truncf2.c: Likewise.
29673         * tests/test-truncl.c: Likewise.
29674         * tests/test-uname.c: Likewise.
29675         * tests/test-unlink.c: Likewise.
29676         * tests/test-unlinkat.c: Likewise.
29677         * tests/test-unsetenv.c: Likewise.
29678         * tests/test-usleep.c: Likewise.
29679         * tests/test-utimens.c: Likewise.
29680         * tests/test-utimensat.c: Likewise.
29681         * tests/test-vasnprintf-posix.c: Likewise.
29682         * tests/test-vasnprintf-posix2.c: Likewise.
29683         * tests/test-vasnprintf.c: Likewise.
29684         * tests/test-vasprintf-posix.c: Likewise.
29685         * tests/test-vasprintf.c: Likewise.
29686         * tests/test-vdprintf-posix.c: Likewise.
29687         * tests/test-vfprintf-posix.c: Likewise.
29688         * tests/test-vprintf-posix.c: Likewise.
29689         * tests/test-vsnprintf-posix.c: Likewise.
29690         * tests/test-vsnprintf.c: Likewise.
29691         * tests/test-vsprintf-posix.c: Likewise.
29692         * tests/test-wcrtomb.c: Likewise.
29693         * tests/test-wcsnrtombs.c: Likewise.
29694         * tests/test-wcsrtombs.c: Likewise.
29695         * tests/test-wctype.c: Likewise.
29696         * tests/test-wcwidth.c: Likewise.
29697         * tests/test-xfprintf-posix.c: Likewise.
29698         * tests/test-xmemdup0.c: Likewise.
29699         * tests/test-xprintf-posix.c: Likewise.
29700         * tests/test-xvasprintf.c: Likewise.
29701         * tests/unicase/test-locale-language.c: Likewise.
29702         * tests/unicase/test-mapping-part1.h: Likewise.
29703         * tests/unicase/test-predicate-part1.h: Likewise.
29704         * tests/unicase/test-u8-casecmp.c: Likewise.
29705         * tests/unicase/test-u8-casecoll.c: Likewise.
29706         * tests/unicase/test-u8-casefold.c: Likewise.
29707         * tests/unicase/test-u8-is-cased.c: Likewise.
29708         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29709         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29710         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29711         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29712         * tests/unicase/test-u8-tolower.c: Likewise.
29713         * tests/unicase/test-u8-totitle.c: Likewise.
29714         * tests/unicase/test-u8-toupper.c: Likewise.
29715         * tests/unicase/test-u16-casecmp.c: Likewise.
29716         * tests/unicase/test-u16-casecoll.c: Likewise.
29717         * tests/unicase/test-u16-casefold.c: Likewise.
29718         * tests/unicase/test-u16-is-cased.c: Likewise.
29719         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29720         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29721         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29722         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29723         * tests/unicase/test-u16-tolower.c: Likewise.
29724         * tests/unicase/test-u16-totitle.c: Likewise.
29725         * tests/unicase/test-u16-toupper.c: Likewise.
29726         * tests/unicase/test-u32-casecmp.c: Likewise.
29727         * tests/unicase/test-u32-casecoll.c: Likewise.
29728         * tests/unicase/test-u32-casefold.c: Likewise.
29729         * tests/unicase/test-u32-is-cased.c: Likewise.
29730         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29731         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29732         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29733         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29734         * tests/unicase/test-u32-tolower.c: Likewise.
29735         * tests/unicase/test-u32-totitle.c: Likewise.
29736         * tests/unicase/test-u32-toupper.c: Likewise.
29737         * tests/unicase/test-ulc-casecmp.c: Likewise.
29738         * tests/unicase/test-ulc-casecoll.c: Likewise.
29739         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29740         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29741         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29742         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29743         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29744         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29745         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29746         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29747         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29748         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29749         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29750         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29751         * tests/unictype/test-bidi_byname.c: Likewise.
29752         * tests/unictype/test-bidi_name.c: Likewise.
29753         * tests/unictype/test-bidi_of.c: Likewise.
29754         * tests/unictype/test-bidi_test.c: Likewise.
29755         * tests/unictype/test-block_list.c: Likewise.
29756         * tests/unictype/test-block_of.c: Likewise.
29757         * tests/unictype/test-block_test.c: Likewise.
29758         * tests/unictype/test-categ_and.c: Likewise.
29759         * tests/unictype/test-categ_and_not.c: Likewise.
29760         * tests/unictype/test-categ_byname.c: Likewise.
29761         * tests/unictype/test-categ_name.c: Likewise.
29762         * tests/unictype/test-categ_none.c: Likewise.
29763         * tests/unictype/test-categ_of.c: Likewise.
29764         * tests/unictype/test-categ_or.c: Likewise.
29765         * tests/unictype/test-categ_test_withtable.c: Likewise.
29766         * tests/unictype/test-combining.c: Likewise.
29767         * tests/unictype/test-decdigit.c: Likewise.
29768         * tests/unictype/test-digit.c: Likewise.
29769         * tests/unictype/test-mirror.c: Likewise.
29770         * tests/unictype/test-numeric.c: Likewise.
29771         * tests/unictype/test-pr_byname.c: Likewise.
29772         * tests/unictype/test-pr_test.c: Likewise.
29773         * tests/unictype/test-predicate-part1.h: Likewise.
29774         * tests/unictype/test-scripts.c: Likewise.
29775         * tests/unictype/test-sy_c_ident.c: Likewise.
29776         * tests/unictype/test-sy_java_ident.c: Likewise.
29777         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29778         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29779         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29780         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29781         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29782         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29783         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29784         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29785         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29786         * tests/uninorm/test-compat-decomposition.c: Likewise.
29787         * tests/uninorm/test-composition.c: Likewise.
29788         * tests/uninorm/test-decomposing-form.c: Likewise.
29789         * tests/uninorm/test-decomposition.c: Likewise.
29790         * tests/uninorm/test-u8-nfc.c: Likewise.
29791         * tests/uninorm/test-u8-nfd.c: Likewise.
29792         * tests/uninorm/test-u8-nfkc.c: Likewise.
29793         * tests/uninorm/test-u8-nfkd.c: Likewise.
29794         * tests/uninorm/test-u8-normcmp.c: Likewise.
29795         * tests/uninorm/test-u8-normcoll.c: Likewise.
29796         * tests/uninorm/test-u16-nfc.c: Likewise.
29797         * tests/uninorm/test-u16-nfd.c: Likewise.
29798         * tests/uninorm/test-u16-nfkc.c: Likewise.
29799         * tests/uninorm/test-u16-nfkd.c: Likewise.
29800         * tests/uninorm/test-u16-normcmp.c: Likewise.
29801         * tests/uninorm/test-u16-normcoll.c: Likewise.
29802         * tests/uninorm/test-u32-nfc.c: Likewise.
29803         * tests/uninorm/test-u32-nfd.c: Likewise.
29804         * tests/uninorm/test-u32-nfkc.c: Likewise.
29805         * tests/uninorm/test-u32-nfkd.c: Likewise.
29806         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29807         * tests/uninorm/test-u32-normcmp.c: Likewise.
29808         * tests/uninorm/test-u32-normcoll.c: Likewise.
29809         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29810         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29811         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29812         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29813         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29814         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29815         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29816         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29817         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29818         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29819         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29820         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29821         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29822         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29823         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29824         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29825         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29826         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29827         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29828         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29829         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29830         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29831         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29832         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29833         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29834         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29835         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29836         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29837         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29838         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29839         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29840         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29841         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
29842         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29843         * tests/uniwidth/test-u8-width.c: Likewise.
29844         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29845         * tests/uniwidth/test-u16-width.c: Likewise.
29846         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29847         * tests/uniwidth/test-u32-width.c: Likewise.
29848         * tests/uniwidth/test-uc_width.c: Likewise.
29849         * tests/uniwidth/test-uc_width2.c: Likewise.
29850         * modules/acl-tests (Files): Add tests/macros.h.
29851         * modules/areadlink-tests (Files): Likewise.
29852         * modules/areadlink-with-size-tests (Files): Likewise.
29853         * modules/areadlinkat-tests (Files): Likewise.
29854         * modules/areadlinkat-with-size-tests (Files): Likewise.
29855         * modules/argmatch-tests (Files): Likewise.
29856         * modules/argv-iter-tests (Files): Likewise.
29857         * modules/array-list-tests (Files): Likewise.
29858         * modules/array-mergesort-tests (Files): Likewise.
29859         * modules/array-oset-tests (Files): Likewise.
29860         * modules/avltree-list-tests (Files): Likewise.
29861         * modules/avltree-oset-tests (Files): Likewise.
29862         * modules/avltreehash-list-tests (Files): Likewise.
29863         * modules/base64-tests (Files): Likewise.
29864         * modules/binary-io-tests (Files): Likewise.
29865         * modules/bitrotate-tests (Files): Likewise.
29866         * modules/btowc-tests (Files): Likewise.
29867         * modules/byteswap-tests (Files): Likewise.
29868         * modules/c-ctype-tests (Files): Likewise.
29869         * modules/c-stack-tests (Files): Likewise.
29870         * modules/c-strcase-tests (Files): Likewise.
29871         * modules/c-strcasestr-tests (Files): Likewise.
29872         * modules/c-strstr-tests (Files): Likewise.
29873         * modules/canonicalize-lgpl-tests (Files): Likewise.
29874         * modules/canonicalize-tests (Files): Likewise.
29875         * modules/carray-list-tests (Files): Likewise.
29876         * modules/ceilf-tests (Files): Likewise.
29877         * modules/ceill-tests (Files): Likewise.
29878         * modules/chown-tests (Files): Likewise.
29879         * modules/cloexec-tests (Files): Likewise.
29880         * modules/copy-file-tests (Files): Likewise.
29881         * modules/count-one-bits-tests (Files): Likewise.
29882         * modules/dprintf-posix-tests (Files): Likewise.
29883         * modules/dup2-tests (Files): Likewise.
29884         * modules/dup3-tests (Files): Likewise.
29885         * modules/duplocale-tests (Files): Likewise.
29886         * modules/fbufmode-tests (Files): Likewise.
29887         * modules/fchdir-tests (Files): Likewise.
29888         * modules/fcntl-safer-tests (Files): Likewise.
29889         * modules/fcntl-tests (Files): Likewise.
29890         * modules/fdopendir-tests (Files): Likewise.
29891         * modules/fdutimensat-tests (Files): Likewise.
29892         * modules/fflush-tests (Files): Likewise.
29893         * modules/filevercmp-tests (Files): Likewise.
29894         * modules/flock-tests (Files): Likewise.
29895         * modules/floorf-tests (Files): Likewise.
29896         * modules/floorl-tests (Files): Likewise.
29897         * modules/fnmatch-tests (Files): Likewise.
29898         * modules/fopen-safer-tests (Files): Likewise.
29899         * modules/fopen-tests (Files): Likewise.
29900         * modules/fpending-tests (Files): Likewise.
29901         * modules/fprintf-posix-tests (Files): Likewise.
29902         * modules/fpurge-tests (Files): Likewise.
29903         * modules/freadable-tests (Files): Likewise.
29904         * modules/freadahead-tests (Files): Likewise.
29905         * modules/freading-tests (Files): Likewise.
29906         * modules/freadptr-tests (Files): Likewise.
29907         * modules/freadseek-tests (Files): Likewise.
29908         * modules/freopen-tests (Files): Likewise.
29909         * modules/frexp-nolibm-tests (Files): Likewise.
29910         * modules/frexp-tests (Files): Likewise.
29911         * modules/frexpl-nolibm-tests (Files): Likewise.
29912         * modules/frexpl-tests (Files): Likewise.
29913         * modules/fseek-tests (Files): Likewise.
29914         * modules/fseeko-tests (Files): Likewise.
29915         * modules/fstrcmp-tests (Files): Likewise.
29916         * modules/fsync-tests (Files): Likewise.
29917         * modules/ftell-tests (Files): Likewise.
29918         * modules/ftello-tests (Files): Likewise.
29919         * modules/func-tests (Files): Likewise.
29920         * modules/futimens-tests (Files): Likewise.
29921         * modules/fwritable-tests (Files): Likewise.
29922         * modules/fwriting-tests (Files): Likewise.
29923         * modules/getcwd-tests (Files): Likewise.
29924         * modules/getdate-tests (Files): Likewise.
29925         * modules/getdelim-tests (Files): Likewise.
29926         * modules/getdtablesize-tests (Files): Likewise.
29927         * modules/getgroups-tests (Files): Likewise.
29928         * modules/getline-tests (Files): Likewise.
29929         * modules/getndelim2-tests (Files): Likewise.
29930         * modules/glob-tests (Files): Likewise.
29931         * modules/hash-tests (Files): Likewise.
29932         * modules/i-ring-tests (Files): Likewise.
29933         * modules/iconv-tests (Files): Likewise.
29934         * modules/iconv_open-utf-tests (Files): Likewise.
29935         * modules/idpriv-drop-tests (Files): Likewise.
29936         * modules/idpriv-droptemp-tests (Files): Likewise.
29937         * modules/inet_ntop-tests (Files): Likewise.
29938         * modules/inet_pton-tests (Files): Likewise.
29939         * modules/isblank-tests (Files): Likewise.
29940         * modules/isfinite-tests (Files): Likewise.
29941         * modules/isinf-tests (Files): Likewise.
29942         * modules/isnan-tests (Files): Likewise.
29943         * modules/isnand-nolibm-tests (Files): Likewise.
29944         * modules/isnand-tests (Files): Likewise.
29945         * modules/isnanf-nolibm-tests (Files): Likewise.
29946         * modules/isnanf-tests (Files): Likewise.
29947         * modules/isnanl-nolibm-tests (Files): Likewise.
29948         * modules/isnanl-tests (Files): Likewise.
29949         * modules/lchown-tests (Files): Likewise.
29950         * modules/ldexpl-tests (Files): Likewise.
29951         * modules/link-tests (Files): Likewise.
29952         * modules/linkat-tests (Files): Likewise.
29953         * modules/linked-list-tests (Files): Likewise.
29954         * modules/linkedhash-list-tests (Files): Likewise.
29955         * modules/localename-tests (Files): Likewise.
29956         * modules/lseek-tests (Files): Likewise.
29957         * modules/lstat-tests (Files): Likewise.
29958         * modules/mbmemcasecmp-tests (Files): Likewise.
29959         * modules/mbmemcasecoll-tests (Files): Likewise.
29960         * modules/mbrtowc-tests (Files): Likewise.
29961         * modules/mbscasecmp-tests (Files): Likewise.
29962         * modules/mbscasestr-tests (Files): Likewise.
29963         * modules/mbschr-tests (Files): Likewise.
29964         * modules/mbscspn-tests (Files): Likewise.
29965         * modules/mbsinit-tests (Files): Likewise.
29966         * modules/mbsncasecmp-tests (Files): Likewise.
29967         * modules/mbsnrtowcs-tests (Files): Likewise.
29968         * modules/mbspbrk-tests (Files): Likewise.
29969         * modules/mbspcasecmp-tests (Files): Likewise.
29970         * modules/mbsrchr-tests (Files): Likewise.
29971         * modules/mbsrtowcs-tests (Files): Likewise.
29972         * modules/mbsspn-tests (Files): Likewise.
29973         * modules/mbsstr-tests (Files): Likewise.
29974         * modules/memchr-tests (Files): Likewise.
29975         * modules/memchr2-tests (Files): Likewise.
29976         * modules/memcmp-tests (Files): Likewise.
29977         * modules/memmem-tests (Files): Likewise.
29978         * modules/memrchr-tests (Files): Likewise.
29979         * modules/mkdir-tests (Files): Likewise.
29980         * modules/mkfifo-tests (Files): Likewise.
29981         * modules/mkfifoat-tests (Files): Likewise.
29982         * modules/mknod-tests (Files): Likewise.
29983         * modules/nanosleep-tests (Files): Likewise.
29984         * modules/nl_langinfo-tests (Files): Likewise.
29985         * modules/obstack-printf-tests (Files): Likewise.
29986         * modules/open-tests (Files): Likewise.
29987         * modules/openat-tests (Files): Likewise.
29988         * modules/pipe-filter-gi-tests (Files): Likewise.
29989         * modules/pipe-filter-ii-tests (Files): Likewise.
29990         * modules/pipe2-tests (Files): Likewise.
29991         * modules/popen-safer-tests (Files): Likewise.
29992         * modules/popen-tests (Files): Likewise.
29993         * modules/posixtm-tests (Files): Likewise.
29994         * modules/pread-tests (Files): Likewise.
29995         * modules/printf-frexp-tests (Files): Likewise.
29996         * modules/printf-frexpl-tests (Files): Likewise.
29997         * modules/printf-posix-tests (Files): Likewise.
29998         * modules/priv-set-tests (Files): Likewise.
29999         * modules/quotearg-tests (Files): Likewise.
30000         * modules/random_r-tests (Files): Likewise.
30001         * modules/rawmemchr-tests (Files): Likewise.
30002         * modules/rbtree-list-tests (Files): Likewise.
30003         * modules/rbtree-oset-tests (Files): Likewise.
30004         * modules/rbtreehash-list-tests (Files): Likewise.
30005         * modules/readlink-tests (Files): Likewise.
30006         * modules/remove-tests (Files): Likewise.
30007         * modules/rename-tests (Files): Likewise.
30008         * modules/renameat-tests (Files): Likewise.
30009         * modules/rmdir-tests (Files): Likewise.
30010         * modules/round-tests (Files): Likewise.
30011         * modules/roundf-tests (Files): Likewise.
30012         * modules/roundl-tests (Files): Likewise.
30013         * modules/safe-alloc-tests (Files): Likewise.
30014         * modules/setenv-tests (Files): Likewise.
30015         * modules/sigaction-tests (Files): Likewise.
30016         * modules/signbit-tests (Files): Likewise.
30017         * modules/sleep-tests (Files): Likewise.
30018         * modules/snprintf-posix-tests (Files): Likewise.
30019         * modules/snprintf-tests (Files): Likewise.
30020         * modules/sprintf-posix-tests (Files): Likewise.
30021         * modules/stat-tests (Files): Likewise.
30022         * modules/stat-time-tests (Files): Likewise.
30023         * modules/strcasestr-tests (Files): Likewise.
30024         * modules/strchrnul-tests (Files): Likewise.
30025         * modules/strerror-tests (Files): Likewise.
30026         * modules/striconv-tests (Files): Likewise.
30027         * modules/striconveh-tests (Files): Likewise.
30028         * modules/striconveha-tests (Files): Likewise.
30029         * modules/strsignal-tests (Files): Likewise.
30030         * modules/strstr-tests (Files): Likewise.
30031         * modules/strtod-tests (Files): Likewise.
30032         * modules/strverscmp-tests (Files): Likewise.
30033         * modules/symlink-tests (Files): Likewise.
30034         * modules/symlinkat-tests (Files): Likewise.
30035         * modules/trunc-tests (Files): Likewise.
30036         * modules/truncf-tests (Files): Likewise.
30037         * modules/truncl-tests (Files): Likewise.
30038         * modules/uname-tests (Files): Likewise.
30039         * modules/unicase/cased-tests (Files): Likewise.
30040         * modules/unicase/ignorable-tests (Files): Likewise.
30041         * modules/unicase/locale-language-tests (Files): Likewise.
30042         * modules/unicase/tolower-tests (Files): Likewise.
30043         * modules/unicase/totitle-tests (Files): Likewise.
30044         * modules/unicase/toupper-tests (Files): Likewise.
30045         * modules/unicase/u8-casecmp-tests (Files): Likewise.
30046         * modules/unicase/u8-casecoll-tests (Files): Likewise.
30047         * modules/unicase/u8-casefold-tests (Files): Likewise.
30048         * modules/unicase/u8-is-cased-tests (Files): Likewise.
30049         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
30050         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
30051         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
30052         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
30053         * modules/unicase/u8-tolower-tests (Files): Likewise.
30054         * modules/unicase/u8-totitle-tests (Files): Likewise.
30055         * modules/unicase/u8-toupper-tests (Files): Likewise.
30056         * modules/unicase/u16-casecmp-tests (Files): Likewise.
30057         * modules/unicase/u16-casecoll-tests (Files): Likewise.
30058         * modules/unicase/u16-casefold-tests (Files): Likewise.
30059         * modules/unicase/u16-is-cased-tests (Files): Likewise.
30060         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
30061         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
30062         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
30063         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
30064         * modules/unicase/u16-tolower-tests (Files): Likewise.
30065         * modules/unicase/u16-totitle-tests (Files): Likewise.
30066         * modules/unicase/u16-toupper-tests (Files): Likewise.
30067         * modules/unicase/u32-casecmp-tests (Files): Likewise.
30068         * modules/unicase/u32-casecoll-tests (Files): Likewise.
30069         * modules/unicase/u32-casefold-tests (Files): Likewise.
30070         * modules/unicase/u32-is-cased-tests (Files): Likewise.
30071         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
30072         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
30073         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
30074         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
30075         * modules/unicase/u32-tolower-tests (Files): Likewise.
30076         * modules/unicase/u32-totitle-tests (Files): Likewise.
30077         * modules/unicase/u32-toupper-tests (Files): Likewise.
30078         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
30079         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
30080         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
30081         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
30082         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
30083         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
30084         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
30085         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
30086         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
30087         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
30088         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
30089         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
30090         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
30091         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
30092         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
30093         * modules/unictype/bidicategory-name-tests (Files): Likewise.
30094         * modules/unictype/bidicategory-of-tests (Files): Likewise.
30095         * modules/unictype/bidicategory-test-tests (Files): Likewise.
30096         * modules/unictype/block-list-tests (Files): Likewise.
30097         * modules/unictype/block-of-tests (Files): Likewise.
30098         * modules/unictype/block-test-tests (Files): Likewise.
30099         * modules/unictype/category-C-tests (Files): Likewise.
30100         * modules/unictype/category-Cc-tests (Files): Likewise.
30101         * modules/unictype/category-Cf-tests (Files): Likewise.
30102         * modules/unictype/category-Cn-tests (Files): Likewise.
30103         * modules/unictype/category-Co-tests (Files): Likewise.
30104         * modules/unictype/category-Cs-tests (Files): Likewise.
30105         * modules/unictype/category-L-tests (Files): Likewise.
30106         * modules/unictype/category-Ll-tests (Files): Likewise.
30107         * modules/unictype/category-Lm-tests (Files): Likewise.
30108         * modules/unictype/category-Lo-tests (Files): Likewise.
30109         * modules/unictype/category-Lt-tests (Files): Likewise.
30110         * modules/unictype/category-Lu-tests (Files): Likewise.
30111         * modules/unictype/category-M-tests (Files): Likewise.
30112         * modules/unictype/category-Mc-tests (Files): Likewise.
30113         * modules/unictype/category-Me-tests (Files): Likewise.
30114         * modules/unictype/category-Mn-tests (Files): Likewise.
30115         * modules/unictype/category-N-tests (Files): Likewise.
30116         * modules/unictype/category-Nd-tests (Files): Likewise.
30117         * modules/unictype/category-Nl-tests (Files): Likewise.
30118         * modules/unictype/category-No-tests (Files): Likewise.
30119         * modules/unictype/category-P-tests (Files): Likewise.
30120         * modules/unictype/category-Pc-tests (Files): Likewise.
30121         * modules/unictype/category-Pd-tests (Files): Likewise.
30122         * modules/unictype/category-Pe-tests (Files): Likewise.
30123         * modules/unictype/category-Pf-tests (Files): Likewise.
30124         * modules/unictype/category-Pi-tests (Files): Likewise.
30125         * modules/unictype/category-Po-tests (Files): Likewise.
30126         * modules/unictype/category-Ps-tests (Files): Likewise.
30127         * modules/unictype/category-S-tests (Files): Likewise.
30128         * modules/unictype/category-Sc-tests (Files): Likewise.
30129         * modules/unictype/category-Sk-tests (Files): Likewise.
30130         * modules/unictype/category-Sm-tests (Files): Likewise.
30131         * modules/unictype/category-So-tests (Files): Likewise.
30132         * modules/unictype/category-Z-tests (Files): Likewise.
30133         * modules/unictype/category-Zl-tests (Files): Likewise.
30134         * modules/unictype/category-Zp-tests (Files): Likewise.
30135         * modules/unictype/category-Zs-tests (Files): Likewise.
30136         * modules/unictype/category-and-not-tests (Files): Likewise.
30137         * modules/unictype/category-and-tests (Files): Likewise.
30138         * modules/unictype/category-byname-tests (Files): Likewise.
30139         * modules/unictype/category-name-tests (Files): Likewise.
30140         * modules/unictype/category-none-tests (Files): Likewise.
30141         * modules/unictype/category-of-tests (Files): Likewise.
30142         * modules/unictype/category-or-tests (Files): Likewise.
30143         * modules/unictype/category-test-withtable-tests (Files): Likewise.
30144         * modules/unictype/combining-class-tests (Files): Likewise.
30145         * modules/unictype/ctype-alnum-tests (Files): Likewise.
30146         * modules/unictype/ctype-alpha-tests (Files): Likewise.
30147         * modules/unictype/ctype-blank-tests (Files): Likewise.
30148         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
30149         * modules/unictype/ctype-digit-tests (Files): Likewise.
30150         * modules/unictype/ctype-graph-tests (Files): Likewise.
30151         * modules/unictype/ctype-lower-tests (Files): Likewise.
30152         * modules/unictype/ctype-print-tests (Files): Likewise.
30153         * modules/unictype/ctype-punct-tests (Files): Likewise.
30154         * modules/unictype/ctype-space-tests (Files): Likewise.
30155         * modules/unictype/ctype-upper-tests (Files): Likewise.
30156         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
30157         * modules/unictype/decimal-digit-tests (Files): Likewise.
30158         * modules/unictype/digit-tests (Files): Likewise.
30159         * modules/unictype/mirror-tests (Files): Likewise.
30160         * modules/unictype/numeric-tests (Files): Likewise.
30161         * modules/unictype/property-alphabetic-tests (Files): Likewise.
30162         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
30163         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
30164         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
30165         Likewise.
30166         * modules/unictype/property-bidi-block-separator-tests (Files):
30167         Likewise.
30168         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
30169         Likewise.
30170         * modules/unictype/property-bidi-common-separator-tests (Files):
30171         Likewise.
30172         * modules/unictype/property-bidi-control-tests (Files): Likewise.
30173         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
30174         Likewise.
30175         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
30176         Likewise.
30177         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
30178         Likewise.
30179         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
30180         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
30181         Likewise.
30182         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
30183         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
30184         Likewise.
30185         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
30186         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
30187         * modules/unictype/property-bidi-segment-separator-tests (Files):
30188         Likewise.
30189         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
30190         * modules/unictype/property-byname-tests (Files): Likewise.
30191         * modules/unictype/property-combining-tests (Files): Likewise.
30192         * modules/unictype/property-composite-tests (Files): Likewise.
30193         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
30194         * modules/unictype/property-dash-tests (Files): Likewise.
30195         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
30196         * modules/unictype/property-default-ignorable-code-point-tests (Files):
30197         Likewise.
30198         * modules/unictype/property-deprecated-tests (Files): Likewise.
30199         * modules/unictype/property-diacritic-tests (Files): Likewise.
30200         * modules/unictype/property-extender-tests (Files): Likewise.
30201         * modules/unictype/property-format-control-tests (Files): Likewise.
30202         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
30203         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
30204         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
30205         * modules/unictype/property-hex-digit-tests (Files): Likewise.
30206         * modules/unictype/property-hyphen-tests (Files): Likewise.
30207         * modules/unictype/property-id-continue-tests (Files): Likewise.
30208         * modules/unictype/property-id-start-tests (Files): Likewise.
30209         * modules/unictype/property-ideographic-tests (Files): Likewise.
30210         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
30211         * modules/unictype/property-ids-trinary-operator-tests (Files):
30212         Likewise.
30213         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
30214         * modules/unictype/property-iso-control-tests (Files): Likewise.
30215         * modules/unictype/property-join-control-tests (Files): Likewise.
30216         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
30217         * modules/unictype/property-line-separator-tests (Files): Likewise.
30218         * modules/unictype/property-logical-order-exception-tests (Files):
30219         Likewise.
30220         * modules/unictype/property-lowercase-tests (Files): Likewise.
30221         * modules/unictype/property-math-tests (Files): Likewise.
30222         * modules/unictype/property-non-break-tests (Files): Likewise.
30223         * modules/unictype/property-not-a-character-tests (Files): Likewise.
30224         * modules/unictype/property-numeric-tests (Files): Likewise.
30225         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
30226         * modules/unictype/property-other-default-ignorable-code-point-tests
30227         (Files): Likewise.
30228         * modules/unictype/property-other-grapheme-extend-tests (Files):
30229         Likewise.
30230         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
30231         * modules/unictype/property-other-id-start-tests (Files): Likewise.
30232         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
30233         * modules/unictype/property-other-math-tests (Files): Likewise.
30234         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
30235         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
30236         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
30237         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
30238         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
30239         * modules/unictype/property-private-use-tests (Files): Likewise.
30240         * modules/unictype/property-punctuation-tests (Files): Likewise.
30241         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
30242         * modules/unictype/property-radical-tests (Files): Likewise.
30243         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
30244         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
30245         * modules/unictype/property-space-tests (Files): Likewise.
30246         * modules/unictype/property-terminal-punctuation-tests (Files):
30247         Likewise.
30248         * modules/unictype/property-test-tests (Files): Likewise.
30249         * modules/unictype/property-titlecase-tests (Files): Likewise.
30250         * modules/unictype/property-unassigned-code-value-tests (Files):
30251         Likewise.
30252         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
30253         * modules/unictype/property-uppercase-tests (Files): Likewise.
30254         * modules/unictype/property-variation-selector-tests (Files): Likewise.
30255         * modules/unictype/property-white-space-tests (Files): Likewise.
30256         * modules/unictype/property-xid-continue-tests (Files): Likewise.
30257         * modules/unictype/property-xid-start-tests (Files): Likewise.
30258         * modules/unictype/property-zero-width-tests (Files): Likewise.
30259         * modules/unictype/scripts-tests (Files): Likewise.
30260         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
30261         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
30262         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
30263         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
30264         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
30265         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
30266         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
30267         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
30268         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
30269         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
30270         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
30271         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
30272         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
30273         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
30274         * modules/uninorm/composition-tests (Files): Likewise.
30275         * modules/uninorm/decomposing-form-tests (Files): Likewise.
30276         * modules/uninorm/decomposition-tests (Files): Likewise.
30277         * modules/uninorm/filter-tests (Files): Likewise.
30278         * modules/uninorm/nfc-tests (Files): Likewise.
30279         * modules/uninorm/nfd-tests (Files): Likewise.
30280         * modules/uninorm/nfkc-tests (Files): Likewise.
30281         * modules/uninorm/nfkd-tests (Files): Likewise.
30282         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
30283         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
30284         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
30285         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
30286         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
30287         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
30288         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
30289         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30290         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
30291         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
30292         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
30293         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
30294         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30295         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
30296         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
30297         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
30298         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
30299         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30300         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
30301         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
30302         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
30303         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
30304         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30305         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
30306         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
30307         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
30308         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
30309         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
30310         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
30311         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
30312         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
30313         * modules/uniwidth/u8-width-tests (Files): Likewise.
30314         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
30315         * modules/uniwidth/u16-width-tests (Files): Likewise.
30316         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
30317         * modules/uniwidth/u32-width-tests (Files): Likewise.
30318         * modules/uniwidth/width-tests (Files): Likewise.
30319         * modules/unlink-tests (Files): Likewise.
30320         * modules/unsetenv-tests (Files): Likewise.
30321         * modules/usleep-tests (Files): Likewise.
30322         * modules/utimens-tests (Files): Likewise.
30323         * modules/utimensat-tests (Files): Likewise.
30324         * modules/vasnprintf-posix-tests (Files): Likewise.
30325         * modules/vasnprintf-tests (Files): Likewise.
30326         * modules/vasprintf-posix-tests (Files): Likewise.
30327         * modules/vasprintf-tests (Files): Likewise.
30328         * modules/vdprintf-posix-tests (Files): Likewise.
30329         * modules/vfprintf-posix-tests (Files): Likewise.
30330         * modules/vprintf-posix-tests (Files): Likewise.
30331         * modules/vsnprintf-posix-tests (Files): Likewise.
30332         * modules/vsnprintf-tests (Files): Likewise.
30333         * modules/vsprintf-posix-tests (Files): Likewise.
30334         * modules/wcrtomb-tests (Files): Likewise.
30335         * modules/wcsnrtombs-tests (Files): Likewise.
30336         * modules/wcsrtombs-tests (Files): Likewise.
30337         * modules/wctype-tests (Files): Likewise.
30338         * modules/wcwidth-tests (Files): Likewise.
30339         * modules/xmemdup0-tests (Files): Likewise.
30340         * modules/xprintf-posix-tests (Files): Likewise.
30341         * modules/xvasprintf-tests (Files): Likewise.
30342
30343 2009-12-24  Eric Blake  <ebb9@byu.net>
30344
30345         test-nanosleep: fix typo
30346         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
30347         patch.
30348         Reported by Bruno Haible.
30349
30350 2009-12-24  Bruno Haible  <bruno@clisp.org>
30351
30352         Reduce namespace pollution on glibc systems.
30353         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
30354         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
30355         systems.
30356         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
30357         <getopt.h> on glibc systems.
30358         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
30359         systems.
30360         * lib/fcntl.c: Include <unistd.h> here instead.
30361
30362 2009-12-24  Bruno Haible  <bruno@clisp.org>
30363
30364         * lib/stdlib.in.h (includes): Fix typo in today's commit.
30365
30366 2009-12-24  Eric Blake  <ebb9@byu.net>
30367
30368         tests: add signature checks
30369         * tests/signature.h (SIGNATURE_CHECK): New file.
30370         * modules/atexit-tests (Files): Use it.
30371         * modules/btowc-tests (Files): Likewise.
30372         * modules/canonicalize-lgpl-tests (Files): Likewise.
30373         * modules/ceilf-tests (Files): Likewise.
30374         * modules/ceill-tests (Files): Likewise.
30375         * modules/chown-tests (Files): Likewise.
30376         * modules/dprintf-posix-tests (Files): Likewise.
30377         * modules/dup2-tests (Files): Likewise.
30378         * modules/dup3-tests (Files): Likewise.
30379         * modules/duplocale-tests (Files): Likewise.
30380         * modules/fchdir-tests (Files): Likewise.
30381         * modules/fcntl-tests (Files): Likewise.
30382         * modules/fdopendir-tests (Files): Likewise.
30383         * modules/fflush-tests (Files): Likewise.
30384         * modules/flock-tests (Files): Likewise.
30385         * modules/floorf-tests (Files): Likewise.
30386         * modules/floorl-tests (Files): Likewise.
30387         * modules/fnmatch-tests (Files): Likewise.
30388         * modules/fopen-tests (Files): Likewise.
30389         * modules/fprintf-posix-tests (Files): Likewise.
30390         * modules/freopen-tests (Files): Likewise.
30391         * modules/frexp-nolibm-tests (Files): Likewise.
30392         * modules/frexp-tests (Files): Likewise.
30393         * modules/frexpl-nolibm-tests (Files): Likewise.
30394         * modules/frexpl-tests (Files): Likewise.
30395         * modules/fseek-tests (Files): Likewise.
30396         * modules/fseeko-tests (Files): Likewise.
30397         * modules/fsync-tests (Files): Likewise.
30398         * modules/ftell-tests (Files): Likewise.
30399         * modules/ftello-tests (Files): Likewise.
30400         * modules/futimens-tests (Files): Likewise.
30401         * modules/getaddrinfo-tests (Files): Likewise.
30402         * modules/getcwd-tests (Files): Likewise.
30403         * modules/getdelim-tests (Files): Likewise.
30404         * modules/getdtablesize-tests (Files): Likewise.
30405         * modules/getgroups-tests (Files): Likewise.
30406         * modules/gethostname-tests (Files): Likewise.
30407         * modules/getline-tests (Files): Likewise.
30408         * modules/getopt-posix-tests (Files): Likewise.
30409         * modules/gettimeofday-tests (Files): Likewise.
30410         * modules/glob-tests (Files): Likewise.
30411         * modules/iconv-tests (Files): Likewise.
30412         * modules/inet_ntop-tests (Files): Likewise.
30413         * modules/inet_pton-tests (Files): Likewise.
30414         * modules/isblank-tests (Files): Likewise.
30415         * modules/lchown-tests (Files): Likewise.
30416         * modules/ldexpl-tests (Files): Likewise.
30417         * modules/link-tests (Files): Likewise.
30418         * modules/linkat-tests (Files): Likewise.
30419         * modules/lseek-tests (Files): Likewise.
30420         * modules/lstat-tests (Files): Likewise.
30421         * modules/mbrtowc-tests (Files): Likewise.
30422         * modules/mbsinit-tests (Files): Likewise.
30423         * modules/mbsnrtowcs-tests (Files): Likewise.
30424         * modules/mbsrtowcs-tests (Files): Likewise.
30425         * modules/memchr-tests (Files): Likewise.
30426         * modules/memcmp-tests (Files): Likewise.
30427         * modules/memmem-tests (Files): Likewise.
30428         * modules/memrchr-tests (Files): Likewise.
30429         * modules/mkdir-tests (Files): Likewise.
30430         * modules/mkfifo-tests (Files): Likewise.
30431         * modules/mkfifoat-tests (Files): Likewise.
30432         * modules/mknod-tests (Files): Likewise.
30433         * modules/nanosleep-tests (Files): Likewise.
30434         * modules/nl_langinfo-tests (Files): Likewise.
30435         * modules/obstack-printf-tests (Files): Likewise.
30436         * modules/open-tests (Files): Likewise.
30437         * modules/openat-tests (Files): Likewise.
30438         * modules/perror-tests (Files): Likewise.
30439         * modules/pipe2-tests (Files): Likewise.
30440         * modules/poll-tests (Files): Likewise.
30441         * modules/popen-tests (Files): Likewise.
30442         * modules/posix_spawn-tests (Files): Likewise.
30443         * modules/posix_spawnp-tests (Files): Likewise.
30444         * modules/pread-tests (Files): Likewise.
30445         * modules/printf-posix-tests (Files): Likewise.
30446         * modules/pty-tests (Files): Likewise.
30447         * modules/random_r-tests (Files): Likewise.
30448         * modules/rawmemchr-tests (Files): Likewise.
30449         * modules/readlink-tests (Files): Likewise.
30450         * modules/remove-tests (Files): Likewise.
30451         * modules/rename-tests (Files): Likewise.
30452         * modules/renameat-tests (Files): Likewise.
30453         * modules/rmdir-tests (Files): Likewise.
30454         * modules/round-tests (Files): Likewise.
30455         * modules/roundf-tests (Files): Likewise.
30456         * modules/roundl-tests (Files): Likewise.
30457         * modules/select-tests (Files): Likewise.
30458         * modules/setenv-tests (Files): Likewise.
30459         * modules/sigaction-tests (Files): Likewise.
30460         * modules/sleep-tests (Files): Likewise.
30461         * modules/snprintf-posix-tests (Files): Likewise.
30462         * modules/snprintf-tests (Files): Likewise.
30463         * modules/sprintf-posix-tests (Files): Likewise.
30464         * modules/stat-tests (Files): Likewise.
30465         * modules/strcasestr-tests (Files): Likewise.
30466         * modules/strchrnul-tests (Files): Likewise.
30467         * modules/strerror-tests (Files): Likewise.
30468         * modules/strsignal-tests (Files): Likewise.
30469         * modules/strstr-tests (Files): Likewise.
30470         * modules/strtod-tests (Files): Likewise.
30471         * modules/strverscmp-tests (Files): Likewise.
30472         * modules/symlink-tests (Files): Likewise.
30473         * modules/symlinkat-tests (Files): Likewise.
30474         * modules/times-tests (Files): Likewise.
30475         * modules/trunc-tests (Files): Likewise.
30476         * modules/truncf-tests (Files): Likewise.
30477         * modules/truncl-tests (Files): Likewise.
30478         * modules/tsearch-tests (Files): Likewise.
30479         * modules/uname-tests (Files): Likewise.
30480         * modules/unlink-tests (Files): Likewise.
30481         * modules/unsetenv-tests (Files): Likewise.
30482         * modules/usleep-tests (Files): Likewise.
30483         * modules/utimensat-tests (Files): Likewise.
30484         * modules/vasprintf-tests (Files): Likewise.
30485         * modules/vdprintf-posix-tests (Files): Likewise.
30486         * modules/vfprintf-posix-tests (Files): Likewise.
30487         * modules/vprintf-posix-tests (Files): Likewise.
30488         * modules/vsnprintf-posix-tests (Files): Likewise.
30489         * modules/vsnprintf-tests (Files): Likewise.
30490         * modules/vsprintf-posix-tests (Files): Likewise.
30491         * modules/wcrtomb-tests (Files): Likewise.
30492         * modules/wcsnrtombs-tests (Files): Likewise.
30493         * modules/wcsrtombs-tests (Files): Likewise.
30494         * modules/wcwidth-tests (Files): Likewise.
30495         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30496         * tests/test-isinf.c (isinf): Likewise.
30497         * tests/test-isnan.c (isnan): Likewise.
30498         * tests/test-signbit.c (signbit): Likewise.
30499         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30500         declaration, either as macro or with correct signature.
30501         (select): Ensure function under test is declared with correct
30502         signature in correct header.
30503         * tests/test-atexit.c (atexit): Likewise.
30504         * tests/test-btowc.c (btowc): Likewise.
30505         * tests/test-canonicalize-lgpl.c (realpath)
30506         (canonicalize_file_name): Likewise.
30507         * tests/test-ceilf1.c (ceilf): Likewise.
30508         * tests/test-ceill.c (ceill): Likewise.
30509         * tests/test-chown.c (chown): Likewise.
30510         * tests/test-dprintf-posix.c (dprintf): Likewise.
30511         * tests/test-dup2.c (dup2): Likewise.
30512         * tests/test-dup3.c (dup3): Likewise.
30513         * tests/test-duplocale.c (duplocale): Likewise.
30514         * tests/test-fchdir.c (fchdir): Likewise.
30515         * tests/test-fchownat.c (fchownat): Likewise.
30516         * tests/test-fcntl.c (fcntl): Likewise.
30517         * tests/test-fdopendir.c (fdopendir): Likewise.
30518         * tests/test-fflush.c (fflush): Likewise.
30519         * tests/test-flock.c (flock): Likewise.
30520         * tests/test-floorf1.c (floorf): Likewise.
30521         * tests/test-floorl.c (floorl): Likewise.
30522         * tests/test-fnmatch.c (fnmatch): Likewise.
30523         * tests/test-fopen.c (fopen): Likewise.
30524         * tests/test-fprintf-posix.c (fprintf): Likewise.
30525         * tests/test-freopen.c (freopen): Likewise.
30526         * tests/test-frexp.c (frexp): Likewise.
30527         * tests/test-frexpl.c (frexpl): Likewise.
30528         * tests/test-fseek.c (fseek): Likewise.
30529         * tests/test-fseeko.c (fseeko): Likewise.
30530         * tests/test-fstatat.c (fstatat): Likewise.
30531         * tests/test-fsync.c (fsync): Likewise.
30532         * tests/test-ftell.c (ftell): Likewise.
30533         * tests/test-ftello.c (ftello): Likewise.
30534         * tests/test-futimens.c (futimens): Likewise.
30535         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30536         (gai_strerror): Likewise.
30537         * tests/test-getcwd.c (getcwd): Likewise.
30538         * tests/test-getdelim.c (getdelim): Likewise.
30539         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30540         * tests/test-getgroups.c (getgroups): Likewise.
30541         * tests/test-gethostname.c (gethostname): Likewise.
30542         * tests/test-getline.c (getline): Likewise.
30543         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30544         Likewise.
30545         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30546         * tests/test-glob.c (glob, globfree): Likewise.
30547         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30548         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30549         * tests/test-inet_pton.c (inet_pton): Likewise.
30550         * tests/test-isblank.c (isblank): Likewise.
30551         * tests/test-lchown.c (lchown): Likewise.
30552         * tests/test-ldexpl.c (ldexpl): Likewise.
30553         * tests/test-link.c (link): Likewise.
30554         * tests/test-linkat.c (linkat): Likewise.
30555         * tests/test-lseek.c (lseek): Likewise.
30556         * tests/test-lstat.c (lstat): Likewise.
30557         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30558         * tests/test-mbsinit.c (mbsinit): Likewise.
30559         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30560         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30561         * tests/test-memchr.c (memchr): Likewise.
30562         * tests/test-memcmp.c (memcmp): Likewise.
30563         * tests/test-memmem.c (memmem): Likewise.
30564         * tests/test-memrchr.c (memrchr): Likewise.
30565         * tests/test-mkdir.c (mkdir): Likewise.
30566         * tests/test-mkdirat.c (mkdirat): Likewise.
30567         * tests/test-mkfifo.c (mkfifo): Likewise.
30568         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30569         * tests/test-mknod.c (mknod): Likewise.
30570         * tests/test-nanosleep.c (nanosleep): Likewise.
30571         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30572         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30573         Likewise.
30574         * tests/test-open.c (open): Likewise.
30575         * tests/test-openat.c (openat): Likewise.
30576         * tests/test-perror.c (perror): Likewise.
30577         * tests/test-pipe2.c (pipe2): Likewise.
30578         * tests/test-poll.c (poll): Likewise.
30579         * tests/test-popen.c (popen, pclose): Likewise.
30580         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30581         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30582         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30583         (posix_spawn_file_actions_destroy)
30584         (posix_spawn_file_actions_addclose)
30585         (posix_spawn_file_actions_addopen)
30586         (posix_spawn_file_actions_adddup2): Likewise.
30587         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30588         * tests/test-pread.c (pread): Likewise.
30589         * tests/test-printf-posix.c (printf): Likewise.
30590         * tests/test-pty.c (openpty, forkpty): Likewise.
30591         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30592         (random_r): Likewise.
30593         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30594         * tests/test-readlink.c (readlink): Likewise.
30595         * tests/test-remove.c (remove): Likewise.
30596         * tests/test-rename.c (rename): Likewise.
30597         * tests/test-renameat.c (renameat): Likewise.
30598         * tests/test-rmdir.c (rmdir): Likewise.
30599         * tests/test-round1.c (round): Likewise.
30600         * tests/test-roundf1.c (roundf): Likewise.
30601         * tests/test-roundl.c (roundl): Likewise.
30602         * tests/test-setenv.c (setenv): Likewise.
30603         * tests/test-sigaction.c (sigaction): Likewise.
30604         * tests/test-sleep.c (sleep): Likewise.
30605         * tests/test-snprintf.c (snprintf): Likewise.
30606         * tests/test-sprintf-posix.c (sprintf): Likewise.
30607         * tests/test-stat.c (stat): Likewise.
30608         * tests/test-stpncpy.c (stpncpy): Likewise.
30609         * tests/test-strcasestr.c (strcasestr): Likewise.
30610         * tests/test-strchrnul.c (strchrnul): Likewise.
30611         * tests/test-strerror.c (strerror): Likewise.
30612         * tests/test-strsignal.c (strsignal): Likewise.
30613         * tests/test-strstr.c (strstr): Likewise.
30614         * tests/test-strtod.c (strtod): Likewise.
30615         * tests/test-strverscmp.c (strverscmp): Likewise.
30616         * tests/test-symlink.c (symlink): Likewise.
30617         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30618         * tests/test-times.c (times): Likewise.
30619         * tests/test-trunc1.c (trunc): Likewise.
30620         * tests/test-truncf1.c (truncf): Likewise.
30621         * tests/test-truncl.c (truncl): Likewise.
30622         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30623         Likewise.
30624         * tests/test-uname.c (uname): Likewise.
30625         * tests/test-unlink.c (unlink): Likewise.
30626         * tests/test-unlinkat.c (unlinkat): Likewise.
30627         * tests/test-unsetenv.c (unsetenv): Likewise.
30628         * tests/test-usleep.c (usleep): Likewise.
30629         * tests/test-utimensat.c (utimensat): Likewise.
30630         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30631         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30632         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30633         * tests/test-vprintf-posix.c (vprintf): Likewise.
30634         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30635         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30636         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30637         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30638         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30639         * tests/test-wcwidth.c (wcwidth): Likewise.
30640
30641         build: pull in conditional headers during GNULIB_POSIXCHECK
30642         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30643         definitions from any conditionally-included headers.
30644         * lib/stdlib.in.h (includes): Likewise.
30645         * lib/unistd.in.h (includes): Likewise.
30646
30647 2009-12-24  Bruno Haible  <bruno@clisp.org>
30648
30649         * tests/test-argv-iter.c: Include header file being tested immediately
30650         after config.h.
30651         * tests/test-base64.c: Likewise.
30652         * tests/test-flock.c: Likewise.
30653         * tests/test-fsync.c: Likewise.
30654         * tests/test-getdate.c: Likewise.
30655         * tests/test-getndelim2.c: Likewise.
30656         * tests/test-isfinite.c: Likewise.
30657         * tests/test-isinf.c: Likewise.
30658         * tests/test-strerror.c: Likewise.
30659         * tests/test-strsignal.c: Likewise.
30660
30661 2009-12-23  Eric Blake  <ebb9@byu.net>
30662
30663         unistd: work around cygwin bug
30664         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30665         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30666         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30667
30668 2009-12-23  Bruno Haible  <bruno@clisp.org>
30669
30670         localename: More tests.
30671         * tests/test-localename.c (SIZEOF): New macro.
30672         (categories): New variable.
30673         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30674         test_locale_name_default): Add test w.r.t. thread locale.
30675         (test_locale_name_thread): New function.
30676         (main): Invoke it.
30677
30678         localename: Make aware of thread locale.
30679         * lib/localename.h (gl_locale_name_thread): New declaration.
30680         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30681         behaviour with respect to thread locale.
30682         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30683         <langinfo.h>, glthread/lock.h.
30684         (SIZE_BITS): New macro.
30685         (string_hash): New function.
30686         (struct hash_node): New type.
30687         (HASH_TABLE_SIZE): New macro.
30688         (struniq_hash_table, struniq_lock): New variables.
30689         (struniq): New function.
30690         (gl_locale_name_thread): New function.
30691         (gl_locale_name): Invoke it.
30692         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30693         * modules/localename (Depends-on): Add lock.
30694         Reported by Mike Gran <spk121@yahoo.com>.
30695
30696 2009-12-23  Eric Blake  <ebb9@byu.net>
30697
30698         va-args: new module
30699         * modules/va-args: New file.
30700         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30701         * MODULES.html.sh (Core language properties): Mention it.
30702
30703         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30704         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30705         named alias for __attribute__((__unused__)).
30706         * lib/chown.c: Update client.
30707         * lib/fchmodat.c: Likewise.
30708         * lib/fts.c: Likewise.
30709         * lib/getdate.y: Likewise.
30710         * lib/getgroups.c: Likewise.
30711         * lib/getopt.c: Likewise.
30712         * lib/getugroups.c: Likewise.
30713         * lib/mkdir.c: Likewise.
30714         * lib/mkfifo.c: Likewise.
30715         * lib/mkfifoat.c: Likewise.
30716         * lib/mknod.c: Likewise.
30717         * lib/mknodat.c: Likewise.
30718         * lib/readlink.c: Likewise.
30719         * lib/se-context.in.h: Likewise.
30720         * lib/se-selinux.in.h: Likewise.
30721         * lib/sockets.c: Likewise.
30722         * lib/symlink.c: Likewise.
30723         * lib/symlinkat.c: Likewise.
30724         * lib/unicodeio.c: Likewise.
30725         * lib/unistr.h: Likewise.
30726         * tests/test-areadlink.c: Likewise.
30727         * tests/test-areadlinkat.c: Likewise.
30728         * tests/test-filenamecat.c: Likewise.
30729         * tests/test-fseeko.c: Likewise.
30730         * tests/test-ftello.c: Likewise.
30731         * tests/test-getdate.c: Likewise.
30732         * tests/test-getgroups.c: Likewise.
30733         * tests/test-gethostname.c: Likewise.
30734         * tests/test-quotearg.c: Likewise.
30735         * tests/test-version-etc.c: Likewise.
30736         * tests/test-xalloc-die.c: Likewise.
30737         * tests/test-xfprintf-posix.c: Likewise.
30738         * tests/test-xprintf-posix.c: Likewise.
30739         * tests/test-xvasprintf.c: Likewise.
30740
30741         tests: avoid compiler warnings
30742         * tests/test-fcntl.c (main): Delete unused parameters.
30743         * tests/test-freopen-safer.c (main): Likewise.
30744         * tests/test-xalloc-die.c (main): Mark unused parameters.
30745         * tests/test-fseeko.c (main): Likewise.
30746         * tests/test-ftello.c (main): Likewise.
30747         * tests/test-nanosleep.c (main): Avoid declaration warning.
30748         * tests/test-sleep.c (main): Likewise.
30749         * tests/test-unsetenv.c (main): Silence warning about string
30750         literal.
30751         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30752
30753 2009-12-23  Bruno Haible  <bruno@clisp.org>
30754
30755         * tests/test-localename.c (test_locale_name): New function, extracted
30756         from main. Also test mixed situations.
30757         (test_locale_name_posix, test_locale_name_environ,
30758         test_locale_name_default): New functions.
30759         (main): Invoke them all.
30760         * modules/localename-tests (configure.ac): Test for newlocale.
30761
30762 2009-12-23  Bruno Haible  <bruno@clisp.org>
30763
30764         unistd: Ensure getcwd gets declared before being overridden.
30765         * lib/unistd.in.h: Conditionally include <io.h>.
30766
30767 2009-12-22  Bruno Haible  <bruno@clisp.org>
30768
30769         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30770         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30771         (gl_WCHAR_H): Invoke it.
30772         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30773         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30774         Reported by Karl Berry <karl@freefriends.org>.
30775
30776 2009-12-22  Eric Blake  <ebb9@byu.net>
30777
30778         math, unistd: avoid redundant includes
30779         * lib/math.in.h (isnan): No need to re-include <math.h>.
30780         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30781
30782         getsubopt: work around cygwin bug
30783         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30784         avoid conflicting with system getsubopt.
30785         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30786         bug.
30787
30788         getopt: synchronize from glibc
30789         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30790         parameter order.  Adjust all callers.
30791         (_getopt_internal_r, main): Adjust quoting in error messages.
30792         Drop considerations for outdated POSIX 1003.2 error message.
30793         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30794         callers.
30795         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30796
30797         test-getopt: test stderr behavior
30798         * modules/getopt-posix-tests (Depends-on): Add dup2.
30799         * tests/test-getopt.c (ASSERT): Avoid stderr.
30800         (main): Move stderr to a temporary file.
30801         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30802         Instead, add parameter to inform caller if output occurred.
30803         (test_getopt): Adjust all existing tests to expect silence, and
30804         add new tests of leading ":".
30805         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30806         glibc shortcomings with leading "-:" or "+:" in optstring.
30807         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30808         Likewise.
30809         * doc/posix-functions/getopt.texi (getopt): Likewise.
30810
30811         test-getopt: enhance test
30812         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30813         supports optind=0.
30814         * tests/test-getopt.c (OPTIND_MIN): Move...
30815         * tests/test-getopt.h (OPTIND_MIN): ...here.
30816         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30817         Require that optind=0 works, since modern BSD supports it in
30818         addition to optreset, and since coreutils expects it.
30819         (test_getopt_long_only): New test.
30820         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30821         glibc shortcomings with 'W;', and enforcement of optind=0.
30822         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30823         Likewise.
30824
30825 2009-12-21  Bruno Haible  <bruno@clisp.org>
30826
30827         localename: Improvements for MacOS X and Cygwin.
30828         * lib/localename.h (gl_locale_name_environ): New declaration.
30829         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30830         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30831         (gl_locale_name_posix): Invoke it.
30832         (gl_locale_name_default): Add comments. Use Windows native API also on
30833         Cygwin.
30834
30835 2009-12-21  Bruno Haible  <bruno@clisp.org>
30836
30837         Update list of Win32 locale ids.
30838         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30839         (LANG_SAMI): Renamed from LANG_SAAMI.
30840         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30841         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
30842         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
30843         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
30844         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
30845         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
30846         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
30847         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
30848         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
30849         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
30850         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
30851         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
30852         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
30853         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
30854         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
30855         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
30856         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
30857         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
30858         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
30859         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
30860         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
30861         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
30862         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
30863         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
30864         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
30865         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
30866         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
30867         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
30868         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
30869         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
30870         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
30871         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
30872         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
30873         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
30874         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
30875         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
30876         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
30877         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
30878         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
30879         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
30880         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
30881         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
30882         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
30883         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
30884         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
30885         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
30886         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
30887         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
30888         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
30889         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
30890         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
30891         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
30892         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
30893         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
30894         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
30895         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
30896         Add more languages and countries for Sami, Sorbian. Add more countries
30897         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
30898         for Pashto. Change country for Syriac, Tswana.
30899
30900 2009-12-21  Eric Blake  <ebb9@byu.net>
30901
30902         test-utimens: avoid spurious failure
30903         * tests/test-chown.h (nap): Factor...
30904         * tests/nap.h: ...into new file.
30905         * tests/test-lchown.h (nap): Avoid duplication.
30906         * tests/test-utimens-common.h (nap): Use shared implementation,
30907         necessary on file systems with 1-second resolution.
30908         * modules/chown-tests (Files): Include new file.
30909         * modules/fdutimensat-tests (Files): Likewise.
30910         * modules/futimens-tests (Files): Likewise.
30911         * modules/lchown-tests (Files): Likewise.
30912         * modules/openat-tests (Files): Likewise.
30913         * modules/utimens-tests (Files): Likewise.
30914         * modules/utimensat-tests (Files): Likewise.
30915
30916 2009-12-19  Eric Blake  <ebb9@byu.net>
30917
30918         futimens, utimensat: work around Linux bug
30919         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
30920         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30921         * lib/utimensat.c (rpl_utimensat): Work around it.
30922         * lib/futimens.c (rpl_futimens): Adjust comment.
30923
30924         utimens: work around Linux ctime bug
30925         * lib/utimens.c (detect_ctime_bug): New helper function.
30926         (update_timespec): Differentiate between workaround needed for
30927         this bug vs. what is needed for systems that lack utimensat.
30928         (fdutimens, lutimens): Work around bug.
30929
30930         utimens: check for ctime update
30931         * tests/test-utimens-common.h (check_ctime): Define.
30932         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
30933         * tests/test-futimens.h (test_futimens): Likewise.
30934         * tests/test-lutimens.h (test_lutimens): Likewise.
30935         * doc/posix-functions/futimens.texi (futimens): Document the bug.
30936         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30937
30938 2009-12-19  Bruno Haible  <bruno@clisp.org>
30939
30940         dprintf-posix: Check against memory leak fixed on 2009-12-15.
30941         * tests/test-dprintf-posix2.sh: New file.
30942         * tests/test-dprintf-posix2.c: New file.
30943         * modules/dprintf-posix-tests (Files): Add them.
30944         (configure.ac): Check for getrlimit and setrlimit.
30945         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30946
30947 2009-12-19  Bruno Haible  <bruno@clisp.org>
30948
30949         fprintf-posix: Check against memory leak fixed on 2009-12-15.
30950         * tests/test-fprintf-posix3.sh: New file.
30951         * tests/test-fprintf-posix3.c: New file.
30952         * modules/fprintf-posix-tests (Files): Add them.
30953         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30954
30955 2009-12-19  Eric Blake  <ebb9@byu.net>
30956
30957         dirfd: fix prototype
30958         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
30959         * lib/dirfd.c (dirfd): Likewise.
30960
30961         canonicalize: reduce memory usage
30962         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
30963         allocation to size.
30964         Reported by Solar Designer <solar@openwall.com>.
30965
30966 2009-12-19  Bruno Haible  <bruno@clisp.org>
30967
30968         New module attribute 'Applicability'.
30969         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
30970         * gnulib-tool: New option --extract-applicability.
30971         (func_usage): Document it.
30972         (sed_extract_prog): Recognize it.
30973         (func_get_applicability): New function.
30974         (func_import): Generalize handling of 'link-warning' module.
30975         * modules/link-warning (Applicability): New section.
30976         * modules/arg-nonnull (Applicability): New section.
30977         Repoted by Simon Josefsson <simon@josefsson.org>.
30978
30979 2009-12-19  Bruno Haible  <bruno@clisp.org>
30980
30981         fflush: tweak
30982         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
30983         * lib/fseeko.c (rpl_fseeko): Likewise.
30984
30985 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
30986
30987         * lib/gl_list.h: Fix typo in comment.
30988
30989 2009-12-16  Eric Blake  <ebb9@byu.net>
30990
30991         fcntl: use to simplify other modules
30992         * modules/cloexec (Depends-on): Add fcntl.
30993         * modules/fchdir (Depends-on): Likewise.
30994         * modules/fd-safer-flag (Depends-on): Likewise.
30995         * modules/unistd-safer (Depends-on): Likewise.
30996         * modules/dup3 (configure.ac): Set module indicator.
30997         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
30998         missing.
30999         * lib/fchdir.c (_gl_register_dup): Fix comment.
31000         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
31001         * lib/dup-safer.c (dup_safer): Likewise.
31002         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
31003         * lib/dup3.c (dup3): Likewise.
31004         * tests/test-fchdir.c (main): Enhance test.
31005         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
31006
31007         fcntl: port portions of fcntl to mingw
31008         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
31009         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
31010         replacement for mingw.
31011         * modules/fcntl (Description): Update.
31012         (Depends-on): Add dup2.
31013         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
31014         * modules/fcntl-h (Makefile.am): Substitute it.
31015         * lib/fcntl.in.h (fcntl): Update declaration.
31016         (F_DUPFD, F_GETFD): New macros, when needed.
31017         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31018         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
31019         * tests/test-fcntl.c (check_flags, main): Enhance test for items
31020         we now guarantee.
31021
31022         fcntl: work around cygwin bug in F_DUPFD
31023         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
31024         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
31025         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
31026         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
31027         * doc/posix-functions/fcntl.texi (fcntl): Document it.
31028
31029         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
31030         * modules/fcntl (Files): List new files.
31031         (configure.ac): Run a test.
31032         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
31033         * lib/fcntl.c (rpl_fcntl): Likewise.
31034         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
31035         (gl_FCNTL_H): Always replace fcntl.h.
31036         * modules/fcntl-h (Makefile.am): Substitute witnesses.
31037         * lib/fcntl.in.h (fcntl): Declare replacement.
31038         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
31039         needed, plus a witness.
31040         * doc/posix-functions/fcntl.texi (fcntl): Document this.
31041         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
31042         * tests/test-fcntl.c: New file.
31043         * modules/fcntl-tests: Likewise.
31044
31045         binary-io: avoid potential compilation warning
31046         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
31047         directives.
31048
31049         fflush: avoid compilation error on NetBSD
31050         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
31051         between off_t and fpos_t, since the latter is sometimes a struct.
31052         * lib/fseeko.c (rpl_fseeko): Likewise.
31053         Reported by Alexander Nasonov <alnsn@yandex.ru>.
31054
31055 2009-12-15  Eric Blake  <ebb9@byu.net>
31056
31057         fcntl-h, stdio, sys_ioctl: fix declarations
31058         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
31059         function must not take arguments.
31060         * lib/sys_ioctl.in.h (ioctl): Likewise.
31061         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
31062         (open): Add a link warning.
31063
31064 2009-12-15  Jim Meyering  <meyering@redhat.com>
31065
31066         areadlink, areadlink-with-size: relax license to LGPLv2+
31067         * modules/areadlink (License): Relax to LGPLv2+.
31068         * modules/areadlink-with-size (License): Likewise.
31069
31070 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
31071             Bruno Haible  <bruno@clisp.org>
31072
31073         *printf: Fix memory leak.
31074         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
31075         * lib/vfprintf.c (vfprintf): Likewise.
31076         * lib/dprintf.c (dprintf): Likewise.
31077         * lib/vdprintf.c (vdprintf): Likewise.
31078
31079 2009-12-14  Eric Blake  <ebb9@byu.net>
31080
31081         accept4: adjust module dependencies
31082         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
31083
31084         utimens: one more try at avoiding compiler warning
31085         * lib/utimens.c (lutimens): Lower scope of result.
31086
31087 2009-12-13  Bruno Haible  <bruno@clisp.org>
31088
31089         Move the malloc checking from module 'list' to new module 'xlist'.
31090         * modules/xlist: New file.
31091         * lib/gl_xlist.h: New file.
31092         * lib/gl_xlist.c: New file.
31093         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
31094         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
31095         gl_list_add_last, gl_list_add_before, gl_list_add_after,
31096         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
31097         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
31098         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
31099         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
31100         gl_sortedlist_nx_add): New declarations.
31101         (struct gl_list_implementation): Rename and change methods accordingly.
31102         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
31103         (gl_list_nx_create): Renamed from gl_list_create.
31104         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31105         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31106         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31107         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31108         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31109         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31110         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31111         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31112         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
31113         gl_list_create_empty.
31114         (gl_list_nx_create): Renamed from gl_list_create.
31115         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31116         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31117         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31118         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31119         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31120         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31121         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31122         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31123         * lib/gl_array_list.c: Don't include xalloc.h.
31124         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
31125         NULL upon out-of-memory.
31126         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
31127         out-of-memory.
31128         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
31129         Change return type to 'int'.
31130         (gl_array_nx_set_at): Renamed from gl_array_set_at.
31131         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31132         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
31133         upon out-of-memory.
31134         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
31135         upon out-of-memory.
31136         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
31137         upon out-of-memory.
31138         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
31139         upon out-of-memory.
31140         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
31141         out-of-memory.
31142         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
31143         Update.
31144         (gl_array_list_implementation): Update.
31145         * lib/gl_carray_list.c: Don't include xalloc.h.
31146         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
31147         Return NULL upon out-of-memory.
31148         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
31149         out-of-memory.
31150         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
31151         Change return type to 'int'.
31152         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
31153         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31154         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
31155         upon out-of-memory.
31156         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
31157         upon out-of-memory.
31158         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
31159         out-of-memory.
31160         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
31161         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
31162         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
31163         Update.
31164         (gl_carray_list_implementation): Update.
31165         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
31166         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
31167         gl_linked_create_empty. Return NULL upon out-of-memory.
31168         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
31169         out-of-memory.
31170         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
31171         Change return type to 'int'. Return -1 upon out-of-memory.
31172         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
31173         out-of-memory.
31174         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
31175         upon out-of-memory.
31176         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
31177         upon out-of-memory.
31178         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
31179         NULL upon out-of-memory.
31180         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
31181         upon out-of-memory.
31182         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
31183         out-of-memory.
31184         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
31185         Update.
31186         * lib/gl_linked_list.c: Don't include xalloc.h.
31187         (gl_linked_list_implementation): Update.
31188         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
31189         (add_to_bucket): Change return type to 'int'.
31190         (gl_linkedhash_list_implementation): Update.
31191         * lib/gl_anytree_list1.h (free_subtree): New function.
31192         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
31193         gl_tree_create_empty. Return NULL upon out-of-memory.
31194         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
31195         Change return type to 'int'. Return -1 upon out-of-memory.
31196         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
31197         out-of-memory.
31198         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
31199         (gl_tree_remove_node): New function, moved here from
31200         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
31201         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
31202         Update.
31203         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
31204         malloc, not xmalloc. Return NULL upon out-of-memory.
31205         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31206         out-of-memory.
31207         (gl_tree_remove_node_from_tree): New function, extracted from
31208         gl_tree_remove_node.
31209         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31210         upon out-of-memory.
31211         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31212         out-of-memory.
31213         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31214         upon out-of-memory.
31215         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31216         upon out-of-memory.
31217         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31218         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
31219         not xmalloc. Return NULL upon out-of-memory.
31220         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31221         out-of-memory.
31222         (gl_tree_remove_node_from_tree): New function, extracted from
31223         gl_tree_remove_node.
31224         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31225         upon out-of-memory.
31226         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31227         out-of-memory.
31228         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31229         upon out-of-memory.
31230         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31231         upon out-of-memory.
31232         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31233         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
31234         gl_anytree_list1.h before gl_anyavltree_list2.h.
31235         (gl_avltree_list_implementation): Update.
31236         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
31237         gl_anytree_list1.h before gl_anyavltree_list2.h.
31238         (gl_rbtree_list_implementation): Update.
31239         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
31240         Change return type to 'int'. Return -1 upon out-of-memory. Use
31241         __builtin_expect.
31242         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
31243         (gl_avltreehash_list_implementation): Update.
31244         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
31245         (gl_rbtreehash_list_implementation): Update.
31246         * modules/array-list (Depends-on): Remove xalloc.
31247         * modules/carray-list (Depends-on): Likewise.
31248         * modules/linked-list (Depends-on): Likewise.
31249         * modules/linkedhash-list (Depends-on): Likewise.
31250         * modules/avltree-list (Depends-on): Likewise.
31251         * modules/rbtree-list (Depends-on): Likewise.
31252         * modules/avltreehash-list (Depends-on): Likewise.
31253         * modules/rbtreehash-list (Depends-on): Likewise.
31254
31255         * modules/xsublist: New file.
31256         * lib/gl_xsublist.h: New file.
31257         * lib/gl_xsublist.c: New file.
31258         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
31259         (gl_sublist_nx_create): New declaration.
31260         * lib/gl_sublist.c: Don't include xalloc.h.
31261         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
31262         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
31263         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
31264         Change return type to 'int'. Return -1 upon out-of-memory.
31265         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
31266         upon out-of-memory.
31267         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
31268         NULL upon out-of-memory.
31269         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
31270         upon out-of-memory.
31271         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
31272         NULL upon out-of-memory.
31273         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
31274         NULL upon out-of-memory.
31275         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
31276         upon out-of-memory.
31277         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
31278         (gl_sublist_list_implementation): Update.
31279         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
31280         upon out-of-memory.
31281         * modules/sublist (Depends-on): Remove xalloc.
31282
31283         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
31284         * tests/test-carray_list.c: Likewise.
31285         * tests/test-linked_list.c: Likewise.
31286         * tests/test-linkedhash_list.c: Likewise.
31287         * tests/test-avltree_list.c: Likewise.
31288         * tests/test-rbtree_list.c: Likewise.
31289         * tests/test-avltreehash_list.c: Likewise.
31290         * tests/test-rbtreehash_list.c: Likewise.
31291         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
31292         * modules/carray-list-tests (Makefile.am): Likewise.
31293         * modules/linked-list-tests (Makefile.am): Likewise.
31294         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31295         * modules/avltree-list-tests (Makefile.am): Likewise.
31296         * modules/rbtree-list-tests (Makefile.am): Likewise.
31297         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31298         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31299
31300         * NEWS: Mention the changes.
31301
31302         * lib/clean-temp.c: Include gl_xlist.h.
31303         * modules/clean-temp (Depends-on): Add xlist.
31304
31305         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
31306         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
31307
31308         * tests/test-array_oset.c: Include gl_xlist.h.
31309         * modules/array-oset-tests (Depends-on): Add xlist.
31310
31311         Reported by José E. Marchesi <jemarch@gnu.org>.
31312
31313 2009-12-13  Bruno Haible  <bruno@clisp.org>
31314
31315         Move the malloc checking from module 'oset' to new module 'xoset'.
31316         * modules/xoset: New file.
31317         * lib/gl_xoset.h: New file.
31318         * lib/gl_xoset.c: New file.
31319         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
31320         declarations.
31321         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
31322         (struct gl_oset_implementation): Rename and change methods accordingly.
31323         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
31324         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31325         'int'. Mark as __warn_unused_result__.
31326         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
31327         gl_oset_create_empty.
31328         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31329         'int'.
31330         * lib/gl_array_oset.c: Don't include xalloc.h.
31331         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
31332         malloc, not xmalloc.
31333         (grow): Change return type to 'int'. Don't call xalloc_die.
31334         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
31335         to 'int'.
31336         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
31337         'int'.
31338         (gl_array_oset_implementation): Update.
31339         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
31340         gl_tree_create_empty.
31341         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
31342         'int'.
31343         * lib/gl_avltree_oset.c: Don't include xalloc.h.
31344         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31345         xmalloc.
31346         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31347         not xmalloc.
31348         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31349         xmalloc.
31350         (gl_avltree_oset_implementation): Update.
31351         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
31352         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31353         xmalloc.
31354         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31355         not xmalloc.
31356         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31357         xmalloc.
31358         (gl_rbtree_oset_implementation): Update.
31359         * modules/array-oset (Depends-on): Remove xalloc.
31360         * modules/avltree-oset (Depends-on): Likewise.
31361         * modules/rbtree-oset (Depends-on): Likewise.
31362         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
31363         * tests/test-avltree_oset.c: Likewise.
31364         * tests/test-rbtree_oset.c: Likewise.
31365         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31366         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
31367         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31368         * NEWS: Mention the change.
31369
31370 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
31371
31372         maint.mk: allow a project to override release-prep commands
31373         * top/maint.mk (alpha, beta, stable): Move release-preparatory
31374         commands into a new rule.
31375         (release-prep): New rule.
31376         (release-prep-hook): New overridable variable.
31377
31378 2009-12-13  Bruno Haible  <bruno@clisp.org>
31379
31380         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
31381
31382 2009-12-13  Jim Meyering  <meyering@redhat.com>
31383
31384         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
31385         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
31386
31387 2009-12-12  Bruno Haible  <bruno@clisp.org>
31388
31389         duplocale: Tweak.
31390         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
31391
31392 2009-12-12  Karl Berry  <karl@gnu.org>
31393
31394         * config/srclist.txt (strtoll.c): tab changes, no more sync.
31395
31396 2009-12-12  Bruno Haible  <bruno@clisp.org>
31397
31398         * m4/po.m4: Undo incorrect untabification.
31399
31400 2009-12-12  Bruno Haible  <bruno@clisp.org>
31401
31402         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
31403         * modules/c-strtod (Depends-on): Add locale.
31404         * modules/c-strtold (Depends-on): Likewise.
31405
31406 2009-12-12  Bruno Haible  <bruno@clisp.org>
31407
31408         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
31409
31410 2009-12-11  Eric Blake  <ebb9@byu.net>
31411
31412         setenv: relax requirement in light of POSIX ruling
31413         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
31414         not NULL.
31415         * tests/test-setenv.c (main): Relax test.
31416         * tests/test-unsetenv.c (main): Likewise.
31417         * doc/posix-functions/setenv.texi (setenv): Document this.
31418         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31419
31420 2009-12-11  Bruno Haible  <bruno@clisp.org>
31421
31422         New module 'fd-safer-flag'.
31423         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
31424         * lib/dup-safer.c (dup_safer_flag): Remove function.
31425         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
31426         * lib/fd-safer.c (fd_safer_flag): Remove function.
31427         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
31428         * modules/cloexec (configure.ac): Drop indicator macro.
31429         * modules/fd-safer-flag: New file.
31430         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31431         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31432         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31433
31434 2009-12-11  Bruno Haible  <bruno@clisp.org>
31435
31436         Tests for module 'nl_langinfo'.
31437         * modules/nl_langinfo-tests: New file.
31438         * tests/test-nl_langinfo.sh: New file.
31439         * tests/test-nl_langinfo.c: New file.
31440
31441         New module 'nl_langinfo'.
31442         * lib/nl_langinfo.c: New file.
31443         * m4/nl_langinfo.m4: New file.
31444         * modules/nl_langinfo: New file.
31445         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31446
31447 2009-12-11  Bruno Haible  <bruno@clisp.org>
31448
31449         Tests for module 'langinfo'.
31450         * modules/langinfo-tests: New file.
31451         * tests/test-langinfo.c: New file.
31452
31453         New module 'langinfo'.
31454         * lib/langinfo.in.h: New file.
31455         * m4/langinfo_h.m4: New file.
31456         * modules/langinfo: New file.
31457         * doc/posix-headers/langinfo.texi: Mention the new module.
31458
31459 2009-12-11  Bruno Haible  <bruno@clisp.org>
31460
31461         * lib/config.charset: Untabify.
31462
31463 2009-12-11  Bruno Haible  <bruno@clisp.org>
31464
31465         * modules/unistd-safer (configure.ac): Drop indicator macro.
31466
31467 2009-12-11  Bruno Haible  <bruno@clisp.org>
31468
31469         Move pipe2-safer code to its own file.
31470         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31471         * lib/pipe-safer.c (pipe2_safer): Remove function.
31472         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31473         (Makefile.am): Add it to lib_SOURCES.
31474
31475 2009-12-10  Bruno Haible  <bruno@clisp.org>
31476
31477         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31478
31479 2009-12-10  Bruno Haible  <bruno@clisp.org>
31480
31481         Declare which arguments expect non-NULL values, for GCC and clang.
31482         * build-aux/arg-nonnull.h: New file.
31483         * modules/arg-nonnull: New file.
31484         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31485         (inet_ntop, inet_pton): Use it.
31486         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31487         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31488         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31489         (open, openat): Use it.
31490         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31491         (fnmatch): Use it.
31492         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31493         (getopt, getopt_long, getopt_long_only): Use it.
31494         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31495         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31496         Use it.
31497         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31498         (iconv_open): Use it.
31499         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31500         (strtoimax, strtoumax): Use it.
31501         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31502         (duplocale): Use it.
31503         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31504         (frexp, frexpl): Use it.
31505         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31506         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31507         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31508         (tsearch, tfind, tdelete, twalk): Use it.
31509         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31510         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31511         sigpending): Use it.
31512         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31513         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31514         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31515         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31516         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31517         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31518         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31519         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31520         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31521         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31522         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31523         Use it.
31524         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31525         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31526         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31527         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31528         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31529         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31530         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31531         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31532         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31533         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31534         strtoull, unsetenv): Use it.
31535         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31536         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31537         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31538         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31539         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31540         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31541         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31542         (strcasecmp, strncasecmp): Use it.
31543         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31544         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31545         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31546         rpl_setsockopt): Use it.
31547         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31548         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31549         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31550         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31551         (gettimeofday): Use it.
31552         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31553         (times): Use it.
31554         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31555         (uname): Use it.
31556         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31557         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31558         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31559         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31560         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31561         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31562         unlinkat, write): Use it.
31563         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31564         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31565         * lib/argv-iter.h: Include arg-nonnull.h.
31566         (_ATTRIBUTE_NONNULL_): Remove macro.
31567         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31568         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31569         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31570         optimization.
31571         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31572         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31573         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31574         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31575         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31576         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31577         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31578         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31579         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31580         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31581         * modules/dirent (Depends-on): Add arg-nonnull.
31582         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31583         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31584         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31585         * modules/fnmatch (Depends-on): Add arg-nonnull.
31586         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31587         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31588         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31589         * modules/glob (Depends-on): Add arg-nonnull.
31590         (Makefile.am): Insert arg-nonnull.h into glob.h.
31591         * modules/iconv_open (Depends-on): Add arg-nonnull.
31592         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31593         * modules/inttypes (Depends-on): Add arg-nonnull.
31594         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31595         * modules/locale (Depends-on): Add arg-nonnull.
31596         (Makefile.am): Insert arg-nonnull.h into locale.h.
31597         * modules/math (Depends-on): Add arg-nonnull.
31598         (Makefile.am): Insert arg-nonnull.h into math.h.
31599         * modules/netdb (Depends-on): Add arg-nonnull.
31600         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31601         * modules/search (Depends-on): Add arg-nonnull.
31602         (Makefile.am): Insert arg-nonnull.h into search.h.
31603         * modules/signal (Depends-on): Add arg-nonnull.
31604         (Makefile.am): Insert arg-nonnull.h into signal.h.
31605         * modules/spawn (Depends-on): Add arg-nonnull.
31606         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31607         * modules/stdio (Depends-on): Add arg-nonnull.
31608         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31609         * modules/stdlib (Depends-on): Add arg-nonnull.
31610         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31611         * modules/string (Depends-on): Add arg-nonnull.
31612         (Makefile.am): Insert arg-nonnull.h into string.h.
31613         * modules/strings (Depends-on): Add arg-nonnull.
31614         (Makefile.am): Insert arg-nonnull.h into strings.h.
31615         * modules/sys_socket (Depends-on): Add arg-nonnull.
31616         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31617         * modules/sys_stat (Depends-on): Add arg-nonnull.
31618         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31619         * modules/sys_time (Depends-on): Add arg-nonnull.
31620         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31621         * modules/sys_times (Depends-on): Add arg-nonnull.
31622         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31623         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31624         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31625         * modules/time (Depends-on): Add arg-nonnull.
31626         (Makefile.am): Insert arg-nonnull.h into time.h.
31627         * modules/unistd (Depends-on): Add arg-nonnull.
31628         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31629         * modules/wchar (Depends-on): Add arg-nonnull.
31630         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31631         * modules/argv-iter (Depends-on): Add arg-nonnull.
31632         * tests/test-canonicalize.c (null_ptr): New function.
31633         (main): Use it.
31634         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31635         (main): Use it.
31636         * tests/test-memmem.c (null_ptr): New function.
31637         (main): Use it.
31638         Reported by Jim Meyering.
31639
31640 2009-12-10  Bruno Haible  <bruno@clisp.org>
31641
31642         Use spaces for indentation, not tabs.
31643         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31644         * m4/*.m4: Untabify.
31645         * build-aux/*.h: Untabify.
31646         * tests/**/*.[hc]: Untabify.
31647         * README: New section "Indent with spaces, not TABs", based on
31648         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31649         * NEWS: Mention the change.
31650
31651 2009-12-10  Bruno Haible  <bruno@clisp.org>
31652
31653         pty test: Fix link error.
31654         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31655         test_pty_LDADD.
31656
31657 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31658
31659         * modules/pty: New file.
31660         * modules/pty-tests: New file.
31661         * m4/pty.m4: New file.
31662         * tests/test-pty.c: New file.
31663         * doc/glibc-headers/pty.texi: Modified.
31664         * doc/glibc-functions/forkpty.texi: Modified.
31665         * doc/glibc-functions/openpty.texi: Modified.
31666
31667 2009-12-10  Bruno Haible  <bruno@clisp.org>
31668
31669         Avoid syntax error in C++ mode.
31670         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31671
31672 2009-12-10  Bruno Haible  <bruno@clisp.org>
31673
31674         Use sed with option -e.
31675         * gnulib-tool (func_version, func_emit_copyright_notice,
31676         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31677         option -e to sed.
31678         * modules/link-warning (Makefile.am): Likewise.
31679
31680 2009-12-10  Jim Meyering  <meyering@redhat.com>
31681
31682         mgetgroups: do not write bytes beyond end of malloc'd buffer
31683         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31684         username, we call getgroups with a one-element-shorter buffer,
31685         but still told it the length was original, max_n_groups.
31686
31687 2009-12-09  Eric Blake  <ebb9@byu.net>
31688
31689         cloexec: relax license
31690         * modules/cloexec (Maintainer): Add myself.
31691         (License): Use LGPL, not GPL.
31692
31693         link-warning: optimize generation
31694         * modules/link-warning (Makefile.am): Reduce process usage.
31695
31696 2009-12-09  Bruno Haible  <bruno@clisp.org>
31697
31698         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31699         workaround was added on 2009-11-17.
31700
31701 2009-12-09  Jim Meyering  <meyering@redhat.com>
31702             Bruno Haible  <bruno@clisp.org>
31703
31704         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31705         * modules/link-warning (Makefile.am): Make the comment-removing sed
31706         command more robust in the face of bootstrap-prepended comment lines.
31707
31708 2009-12-09  Bruno Haible  <bruno@clisp.org>
31709
31710         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31711         most one group.
31712
31713 2009-12-09  Simon Josefsson <simon@josefsson.org>
31714             Bruno Haible  <bruno@clisp.org>
31715
31716         * build-aux/link-warning.h: Add copyright notice.
31717         * modules/link-warning (Makefile.am): Generate link-warning.h from
31718         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31719         * NEWS: Mention change in link-warning module.
31720         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31721         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31722         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31723         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31724         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31725         * modules/math (Makefile.am): Add dependency to math.h.
31726         * modules/search (Makefile.am): Add dependency to search.h.
31727         * modules/signal (Makefile.am): Add dependency to signal.h.
31728         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31729         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31730         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31731         * modules/string (Makefile.am): Add dependency to string.h.
31732         * modules/strings (Makefile.am): Add dependency to strings.h.
31733         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31734         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31735         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31736         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31737         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31738         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31739         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31740         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31741         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31742
31743 2009-12-09  Bruno Haible  <bruno@clisp.org>
31744
31745         fchdir: Optimize away rpl_fstat when possible.
31746         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31747         REPLACE_OPEN_DIRECTORY.
31748         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31749
31750 2009-12-09  Bruno Haible  <bruno@clisp.org>
31751
31752         * lib/fchdir.c: Update comment.
31753
31754 2009-12-09  Bruno Haible  <bruno@clisp.org>
31755
31756         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31757
31758 2009-12-08  Eric Blake  <ebb9@byu.net>
31759
31760         fchdir: avoid memory leak on re-registration.
31761         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31762
31763 2009-12-08  Jim Meyering  <meyering@redhat.com>
31764
31765         init.sh: avoid Solaris 10 /bin/sh portability problem
31766         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31767         sourced script:
31768           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31769           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31770           bar
31771         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31772         and two tests used that idiom.
31773         * tests/init.sh: Update suggested usage comments.
31774         (path_prepend_): New function, to be used in place
31775         of the --src-path=DIR option.
31776         (setup_): Move PATH-prepending code into path_prepend_.
31777         * tests/test-pread.sh: Adapt to new usage.
31778         * tests/test-xalloc-die.sh: Likewise.
31779
31780 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31781
31782         * doc/gnulib.texi (Glibc pty.h): Add.
31783         * doc/glibc-functions/forkpty.texi: Add.
31784         * doc/glibc-functions/openpty.texi: Add.
31785         Suggested by Bruno Haible.
31786
31787 2009-12-08  Eric Blake  <ebb9@byu.net>
31788
31789         fchdir: fix logic bugs
31790         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31791         * tests/test-fchdir.c (main): Enhance test.
31792         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31793         is in use.
31794
31795         dup2: fix logic bugs
31796         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31797         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31798         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31799         exists.
31800         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31801
31802 2009-12-07  Eric Blake  <ebb9@byu.net>
31803
31804         unlink: fix m4 detection
31805         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31806
31807         unistd-safer: add unit test
31808         * modules/unistd-safer-tests: New file.
31809         * tests/test-dup-safer.c: Likewise.
31810         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31811         * tests/test-dup2.c (setmode): Likewise.
31812         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31813
31814         cloexec: preserve text vs. binary across dup_cloexec
31815         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31816         mode.
31817         * modules/dup2-tests (Depends-on): Add binary-io.
31818         * modules/cloexec-tests (Depends-on): Likewise.
31819         * tests/test-dup2.c (setmode, is_mode): New helpers.
31820         (main): Add tests that translation mode is preserved.
31821         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31822         Reported by Bruno Haible.
31823
31824         mgetgroups: reduce duplicate listings
31825         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31826         resulting array.
31827         * tests/test-chown.h (test_chown): Simplify client.
31828         * tests/test-lchown.h (test_lchown): Likewise.
31829
31830 2009-12-06  Bruno Haible  <bruno@clisp.org>
31831
31832         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31833         value.
31834
31835 2009-12-06  Bruno Haible  <bruno@clisp.org>
31836
31837         * lib/progname.c: Include stdio.h, stdlib.h.
31838         (set_program_name): Reject a NULL argument.
31839
31840 2009-12-05  Eric Blake  <ebb9@byu.net>
31841
31842         pipe2-safer: new module
31843         * modules/pipe2-safer: New file.
31844         * lib/unistd-safer.h (pipe2_safer): New prototype.
31845         * lib/unistd--.h (pipe2): New wrapper.
31846         * lib/pipe-safer.c (pipe2_safer): New function.
31847         * modules/pipe (Depends-on): Add pipe2-safer.
31848         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
31849
31850         stdlib-safer: preserve cloexec flag for mkostemp[s]
31851         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
31852         fd_safer_flag.
31853
31854         unistd-safer: allow preservation of cloexec status via flag
31855         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
31856         prototypes.
31857         * lib/dup-safer.c (dup_safer_flag): New function.
31858         * lib/fd-safer.c (fd_safer_flag): Likewise.
31859         * modules/cloexec (configure.ac): Set witness.
31860
31861         test-dup2: enhance test
31862         * modules/dup2-tests (Depends-on): Add cloexec.
31863         * tests/test-dup2.c (main): Enhance test.
31864
31865         cloexec: add dup_cloexec
31866         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
31867         header and comments.
31868         * lib/cloexec.c (set_cloexec_flag): Add comments.
31869         (dup_cloexec): New function, with mingw implementation borrowed
31870         from...
31871         * lib/w32spawn.h (dup_noinherit): ...here.
31872         * modules/execute (Depends-on): Add cloexec.
31873         * modules/pipe (Depends-on): Likewise.
31874         * modules/cloexec (Depends-on): Add dup2.
31875         * modules/cloexec-tests (Files): New file.
31876         * tests/test-cloexec.c: Likewise.
31877
31878         test-xalloc-die: fix test for mingw
31879         * modules/xalloc-die-tests (Files): Add tests/init.sh.
31880         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
31881         directory and .exe suffix off argv[0] output.
31882
31883         test-fseeko: fix test for mingw
31884         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
31885         than undefining fseek, so test will pass on mingw.
31886
31887 2009-12-05  Bruno Haible  <bruno@clisp.org>
31888
31889         * lib/progname.h (set_program_name): Clarify specification.
31890         * lib/progname.c (set_program_name): Likewise.
31891         Reported by Jim Meyering.
31892
31893 2009-12-05  Jim Meyering  <meyering@redhat.com>
31894
31895         maint.mk: backslash-escape parens in default regexp
31896         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
31897         backslash-escape the literal parentheses.
31898
31899         maint.mk: news-date-check: use grep -E
31900         * top/maint.mk (today): Define a Make variable, not a...
31901         (news-date-check): ...shell variable.
31902         (news-date-regexp): Use the Make variable.
31903         Use grep's -E option.  Change the failing diagnostic to mention
31904         the variable, $(news-date-regexp).
31905
31906 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
31907
31908         maintainer-makefile: allow customization of NEWS entry format
31909         * top/maint.mk (news-date-regexp): New overridable variable.
31910         (news-date-check): Use it.
31911
31912 2009-12-04  Eric Blake  <ebb9@byu.net>
31913
31914         mgetgroups: add xgetgroups, and avoid ENOSYS failures
31915         * lib/mgetgroups.h (xgetgroups): New prototype.
31916         * lib/mgetgroups.c (xgetgroups): New wrapper.
31917         (mgetgroups): Handle ENOSYS.
31918         * modules/mgetgroups (Depends-on): Add realloc.
31919         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
31920
31921         mgetgroups: avoid argument promotion issues with -1
31922         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
31923         for invalid gid_t.
31924         * tests/test-chown.h (getegid, test_chown): Likewise.
31925         * tests/test-lchown.h (getegid, test_lchown): Likewise.
31926
31927 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
31928
31929         exclude: Fix header file problems.
31930         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
31931
31932 2009-12-01  Jim Meyering  <meyering@redhat.com>
31933
31934         fts: fts_open: do not let an empty string cause immediate failure
31935         This is required in support of GNU rm, for which the command
31936         "rm A '' B" must process and remove both A and B, in spite of
31937         the empty string argument.
31938         * lib/fts.c (fts_open): Do not let the presence of an empty string
31939         cause fts_open to fail immediately.  Most fts-using tools must be
31940         able to process all arguments, in order, and can be expected to
31941         diagnose such arguments themselves.
31942
31943 2009-11-30  Eric Blake  <ebb9@byu.net>
31944
31945         utimens: fix compilation error
31946         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
31947         Declare variable at right scope.
31948
31949 2009-11-29  Jim Meyering  <meyering@redhat.com>
31950
31951         bootstrap: handle perl-5.11's changed --version output
31952         * build-aux/bootstrap (get_version): Handle perl separately,
31953         since perl-5.11's --version output is different.
31954
31955 2009-11-28  Jim Meyering  <meyering@redhat.com>
31956
31957         userspec: depend on the inttostr module, too
31958         * modules/userspec (Depends-on): Add inttostr.
31959
31960         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
31961         * lib/userspec.c (parse_with_separator): Do not accept a user ID
31962         number of MAXUID when it evaluates to (uid_t) -1.
31963         Likewise for group ID.  Reported by Matt McCutchen in
31964         <http://savannah.gnu.org/bugs/?28113>
31965
31966         userspec: reformat to use spaces, not TABs
31967         * lib/userspec.c: Expand TABs to spaces.
31968         Add Emacs' "indent-tabs-mode: nil" hint.
31969
31970 2009-11-27  Eric Blake  <ebb9@byu.net>
31971
31972         getopt-gnu: flush out another BSD bug
31973         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
31974         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
31975         flush out BSD bug.
31976         * tests/test-getopt.h (test_getopt): End lists with NULL.
31977         * tests/test-getopt_long.h (test_getopt_long): Likewise.
31978         (test_getopt_long_posix): Enhance test.
31979         * modules/getopt-posix-tests (Depends-on): Add stdbool.
31980         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
31981         getopt-gnu.
31982         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31983         Likewise.
31984
31985 2009-11-27  Simon Josefsson  <simon@josefsson.org>
31986
31987         * modules/idpriv-droptemp-tests (Notice): Fix text.
31988
31989 2009-11-27  Jim Meyering  <meyering@redhat.com>
31990
31991         test-xalloc-die: avoid spurious failure due to libtool argv difference
31992         In a libtool-enabled project, this test would fail due to a difference
31993         in the emitted program name, e.g.,
31994         -test-xalloc-die: memory exhausted
31995         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
31996         Use program to avoid that.
31997         * modules/xalloc-die-tests (Depends-on): Add progname.
31998         * tests/test-xalloc-die.c: Include progname.h".
31999         (program_name): Remove decl.
32000         (main): Call set_program_name.
32001         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
32002
32003 2009-11-26  Richard Jones  <rjones@redhat.com>
32004
32005         w32sock: leave win32 error in place.
32006         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
32007
32008 2009-11-26  Eric Blake  <ebb9@byu.net>
32009
32010         init.sh: suggest to use skip_ and fail_ functions in comments
32011         * tests/init.sh: Add a sentence.
32012
32013 2009-11-25  Bruno Haible  <bruno@clisp.org>
32014
32015         init.sh: add documentation in comments
32016         * tests/init.sh: Add some developer and user documentation.
32017
32018 2009-11-26  Jim Meyering  <meyering@redhat.com>
32019
32020         init.sh: accommodate even those who specify bogus srcdir manually
32021         * tests/init.sh: Normally, srcdir is guaranteed by automake and
32022         configure-time tests to be sanitized, so that there is no need to
32023         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
32024         (with no double quotes) suffices.  However, since tests may be
32025         invoked manually, and since you may explicitly set srcdir to the
32026         name of a directory containing spaces, do quote its uses here.
32027         * tests/test-pread.sh: Likewise.
32028         Suggested by Bruno Haible.
32029
32030         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
32031         * tests/test-pread.sh: Write no data into the pipe, because
32032         test-pread actually reads none.  This avoids a diagnostic,
32033         "bash: echo: write error: Broken pipe", that arises in the unusual
32034         event something is ignoring SIGPIPE, and might be interpreted
32035         as some sort of failure.  Reported by Bruno Haible.
32036
32037 2009-11-25  Jim Meyering  <meyering@redhat.com>
32038
32039         test-pread: cover failure with ESPIPE and EINVAL
32040         * tests/test-pread.c (main): Test for failure, too.
32041         * tests/test-pread.sh: Invoke with stdin on a pipe.
32042         Suggested by Eric Blake.
32043
32044         pread: improvement and fix
32045         * modules/pread (Depends-on): Depend on lseek, for portability to
32046         e.g., mingw.  Suggested by Eric Blake.
32047         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
32048
32049         unistd.in.h: correct declaration of pread
32050         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
32051         Reported by Richard W.M. Jones.
32052
32053         test-pread.sh: distribute the test script
32054         * modules/pread-tests (Files): Include test-pread.sh.
32055
32056         test-pread.sh: clean up
32057         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
32058         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
32059         That is unnecessary, since it's always ".".
32060         Suggestion from Eric Blake.
32061
32062         test-pread.sh: make executable
32063         * tests/test-pread.sh: Set executable bit.
32064         Reported by Eric Blake.
32065
32066         correct typo in test-pread.sh
32067         * tests/test-pread.sh: Add #! line.
32068
32069         test pread
32070         * tests/test-pread.c: New file.
32071         * tests/test-pread.sh: Likewise.
32072         * modules/pread-tests: Likewise.
32073
32074         pread: new module
32075         * modules/pread: New file.
32076         * lib/unistd.in.h (pread): Define/declare.
32077         * lib/pread.c (pread): New file.
32078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
32079         * modules/unistd (Makefile.am): Substitute witnesses.
32080         * doc/posix-functions/pread.texi (pread): Update.
32081         * MODULES.html.sh: Add pread.
32082
32083 2009-11-25  Jim Meyering  <meyering@redhat.com>
32084
32085         tests/init.sh: new file to be used via most *.sh tests
32086         * tests/init.sh: New file.
32087
32088 2009-11-25  Eric Blake  <ebb9@byu.net>
32089
32090         utimens: work around older Linux failure with symlinks
32091         * lib/utimens.c (lutimensat_works_really): New variable.
32092         (fdutimens, lutimens): Use it to manage kernels that support
32093         nanosecond times on files, but not on symlinks.
32094         Reported by OndÅ™ej Vašík.
32095
32096         utimes: fix configure grammar
32097         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
32098
32099 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
32100
32101         regex: Fix fastmap for multibyte character ranges.
32102         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
32103         characters when a multibyte character range is included.
32104
32105 2009-11-22  Andy Wingo  <wingo@pobox.com>
32106
32107         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
32108         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
32109
32110 2009-11-24  Bruno Haible  <bruno@clisp.org>
32111
32112         doc: Most *_l functions exist in MacOS X 10.5.
32113         * doc/posix-functions/duplocale.texi: Update platforms list.
32114         * doc/posix-functions/freelocale.texi: Likewise.
32115         * doc/posix-functions/newlocale.texi: Likewise.
32116         * doc/posix-functions/uselocale.texi: Likewise.
32117         * doc/posix-functions/isalnum_l.texi: Likewise.
32118         * doc/posix-functions/isalpha_l.texi: Likewise.
32119         * doc/posix-functions/isblank_l.texi: Likewise.
32120         * doc/posix-functions/iscntrl_l.texi: Likewise.
32121         * doc/posix-functions/isdigit_l.texi: Likewise.
32122         * doc/posix-functions/isgraph_l.texi: Likewise.
32123         * doc/posix-functions/islower_l.texi: Likewise.
32124         * doc/posix-functions/isprint_l.texi: Likewise.
32125         * doc/posix-functions/ispunct_l.texi: Likewise.
32126         * doc/posix-functions/isspace_l.texi: Likewise.
32127         * doc/posix-functions/isupper_l.texi: Likewise.
32128         * doc/posix-functions/iswalnum_l.texi: Likewise.
32129         * doc/posix-functions/iswalpha_l.texi: Likewise.
32130         * doc/posix-functions/iswblank_l.texi: Likewise.
32131         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32132         * doc/posix-functions/iswctype_l.texi: Likewise.
32133         * doc/posix-functions/iswdigit_l.texi: Likewise.
32134         * doc/posix-functions/iswgraph_l.texi: Likewise.
32135         * doc/posix-functions/iswlower_l.texi: Likewise.
32136         * doc/posix-functions/iswprint_l.texi: Likewise.
32137         * doc/posix-functions/iswpunct_l.texi: Likewise.
32138         * doc/posix-functions/iswspace_l.texi: Likewise.
32139         * doc/posix-functions/iswupper_l.texi: Likewise.
32140         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32141         * doc/posix-functions/isxdigit_l.texi: Likewise.
32142         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
32143         * doc/posix-functions/strcasecmp_l.texi: Likewise.
32144         * doc/posix-functions/strcoll_l.texi: Likewise.
32145         * doc/posix-functions/strfmon_l.texi: Likewise.
32146         * doc/posix-functions/strftime_l.texi: Likewise.
32147         * doc/posix-functions/strncasecmp_l.texi: Likewise.
32148         * doc/posix-functions/strxfrm_l.texi: Likewise.
32149         * doc/posix-functions/tolower_l.texi: Likewise.
32150         * doc/posix-functions/toupper_l.texi: Likewise.
32151         * doc/posix-functions/towctrans_l.texi: Likewise.
32152         * doc/posix-functions/towlower_l.texi: Likewise.
32153         * doc/posix-functions/towupper_l.texi: Likewise.
32154         * doc/posix-functions/wcscoll_l.texi: Likewise.
32155         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32156         * doc/posix-functions/wctrans_l.texi: Likewise.
32157         * doc/posix-functions/wctype_l.texi: Likewise.
32158         * doc/glibc-functions/strptime_l.texi: Likewise.
32159         * doc/glibc-functions/strtod_l.texi: Likewise.
32160         * doc/glibc-functions/strtof_l.texi: Likewise.
32161         * doc/glibc-functions/strtol_l.texi: Likewise.
32162         * doc/glibc-functions/strtold_l.texi: Likewise.
32163         * doc/glibc-functions/strtoll_l.texi: Likewise.
32164         * doc/glibc-functions/strtoul_l.texi: Likewise.
32165         * doc/glibc-functions/strtoull_l.texi: Likewise.
32166         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32167         * doc/glibc-functions/wcstod_l.texi: Likewise.
32168         * doc/glibc-functions/wcstof_l.texi: Likewise.
32169         * doc/glibc-functions/wcstol_l.texi: Likewise.
32170         * doc/glibc-functions/wcstold_l.texi: Likewise.
32171         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32172         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32173         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32174
32175 2009-11-24  Bruno Haible  <bruno@clisp.org>
32176
32177         duplocale: Fix logic bug.
32178         * lib/duplocale.c: Don't include <langinfo.h>.
32179         (_NL_LOCALE_NAME): Remove macro.
32180         (rpl_duplocale): Use setlocale instead of nl_langinfo.
32181         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
32182
32183 2009-11-23  Jim Meyering  <meyering@redhat.com>
32184
32185         test-update-copyright: don't hard-code /usr/bin/perl
32186         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
32187         perl to print the current year.  Gilles Espinasse reported that
32188         the replaced use of perl was hard-coded as /usr/bin/perl.
32189
32190 2009-11-23  Bruno Haible  <bruno@clisp.org>
32191
32192         duplocale: Add support for glibc 2.3.x.
32193         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
32194
32195 2009-11-22  Bruno Haible  <bruno@clisp.org>
32196
32197         vasnprintf: Tiny optimization.
32198         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
32199         MacOS X.
32200
32201 2009-11-22  Bruno Haible  <bruno@clisp.org>
32202
32203         Tests for module 'duplocale'.
32204         * modules/duplocale-tests: New file.
32205         * tests/test-duplocale.c: New file.
32206
32207         New module 'duplocale'.
32208         * m4/duplocale.m4: New file.
32209         * lib/locale.in.h (duplocale): New declaration.
32210         * lib/duplocale.c: New file.
32211         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
32212         gl_LOCALE_H_DEFAULTS): New macros.
32213         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
32214         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
32215         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
32216         REPLACE_DUPLOCALE.
32217         * modules/duplocale: New file.
32218         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
32219
32220 2009-11-22  Bruno Haible  <bruno@clisp.org>
32221
32222         * modules/locale-tests (configure.ac): Test for newlocale function.
32223         * tests/test-locale.c: When the system has extended locale functions,
32224         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
32225
32226         locale: Make locale_t available when possible.
32227         * lib/locale.in.h: Include <xlocale.h> when it exists.
32228         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
32229         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
32230         * modules/locale (Depends-on): Add extensions.
32231         (Makefile.am): Also substitute HAVE_XLOCALE_H.
32232         * doc/posix-headers/locale.texi: Document the problem with locale_t.
32233
32234 2009-11-22  Bruno Haible  <bruno@clisp.org>
32235
32236         Add comments.
32237         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
32238         invocation.
32239         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
32240         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32241         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32242
32243 2009-11-22  Bruno Haible  <bruno@clisp.org>
32244
32245         error: account for the possibility of freopen (stdout).
32246         * lib/error.c: Include <unistd.h>.
32247         (flush_stdout): New function, extracted from error and error_at_line.
32248         Determine stdout's fd dynamically.
32249         (error, error_at_line): Invoke flush_stdout.
32250         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
32251         * modules/error (Depends-on): Add unistd.
32252
32253 2009-11-22  Bruno Haible  <bruno@clisp.org>
32254
32255         diffseq: Add comment.
32256         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
32257
32258 2009-11-22  Jim Meyering  <meyering@redhat.com>
32259
32260         c-stack: avoid defining an unused static function
32261         * lib/c-stack.c (find_stack_direction): Do not define this function
32262         when it will not be used.
32263
32264         diffseq: avoid spurious gcc warnings
32265         * lib/diffseq.h (IF_LINT2): Define.
32266         (compareseq): Use it to initialize two members of "part".
32267         This avoids two used-uninitialized warnings.
32268
32269 2009-11-21  Jim Meyering  <meyering@redhat.com>
32270
32271         c-stack: avoid "ignoring return value of `write'" warning
32272         * lib/c-stack.c: Include "ignore-value.h".
32273         (die): Explicitly ignore each write return value.
32274         * modules/c-stack (Depends-on): Add ignore-value.
32275
32276 2009-11-21  Bruno Haible  <bruno@clisp.org>
32277
32278         diffseq: reduce scope of variable 'best'.
32279         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
32280         variable, earlier used for two different purposes.
32281
32282 2009-11-21  Jim Meyering  <meyering@redhat.com>
32283
32284         diffseq: remove useless assignment to "best"
32285         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
32286         assignment.  At that point "best" is already guaranteed to be zero.
32287
32288 2009-11-20  Eric Blake  <ebb9@byu.net>
32289
32290         build: mention ftp redirector in release announcements
32291         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
32292         values that used to come from cfg.mk; mention FTP redirect URL.
32293         * build-aux/announce-gen: Mention the mirror list.
32294         Suggested by Karl Berry.
32295
32296         nanosleep: improve port to mingw
32297         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
32298         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
32299         LIB_NANOSLEEP, but only when needed.
32300         * modules/select (Link): Document LIBSOCKET.
32301         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
32302         enough.
32303
32304         nanosleep: work around cygwin bug
32305         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
32306         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
32307         bug.
32308         (getnow): Delete, not needed.
32309         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
32310         LIB_CLOCK_GETTIME.
32311         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
32312         clock-time, gettime.
32313         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
32314         bug.
32315         * modules/nanosleep-tests: New test.
32316         * tests/test-nanosleep.c: New file.
32317
32318         sleep: work around cygwin bug
32319         * lib/sleep.c (rpl_sleep): Work around the bug.
32320         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
32321         (gl_PREREQ_SLEEP): Delete unused macro.
32322         * modules/sleep (Depends-on): Add verify.
32323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32324         * modules/unistd (Makefile.am): Substitute witness.
32325         * lib/unistd.in.h (sleep): Update prototype.
32326         * doc/posix-functions/sleep.texi (sleep): Document the bug.
32327         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
32328         * modules/sleep-tests (Depends-on): Check for alarm.
32329
32330 2009-11-20  Jim Meyering  <meyering@redhat.com>
32331
32332         maint.mk: improve sc_prohibit_magic_number_exit
32333         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
32334         so it does not match uses like System.exit(1).
32335         Add comments showing how to correct all offenders.
32336
32337 2009-11-19  Eric Blake  <ebb9@byu.net>
32338
32339         xalloc-die-tests: add missing library
32340         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
32341
32342         test-xvasprintf: silence compiler warnings
32343         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
32344         empty string from gcc.
32345
32346 2009-11-19  Jim Meyering  <meyering@redhat.com>
32347
32348         xfreopen: new module, from coreutils
32349         * modules/xfreopen: New module.
32350         * lib/xfreopen.c: New file.
32351         * lib/xfreopen.h: New file.
32352         * MODULES.html.sh (File stream based Input/Output"): Add it.
32353
32354 2009-11-19  Eric Blake  <ebb9@byu.net>
32355
32356         manywarnings: depend on warnings
32357         * modules/manywarnings (Depends-on): Add warnings.
32358
32359         build: avoid compiler warnings
32360         * lib/select.c (rpl_select): Delete unused variable.
32361         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
32362
32363 2009-11-18  Eric Blake  <ebb9@byu.net>
32364
32365         tests: avoid false negative with --with-packager
32366         * tests/test-version-etc.sh: Discard packager information.
32367         * tests/test-argp-version-etc-1.sh: Likewise.
32368         Reported by Mike Frysinger.
32369
32370         utimens: fix regression on Solaris
32371         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
32372         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
32373         can only change fd timestamps via futimesat.  Instead, use an
32374         additional witness macro to avoid BSD bug.
32375         Reported by Jim Meyering.
32376
32377 2009-11-17  Eric Blake  <ebb9@byu.net>
32378
32379         usleep: use it to simplify tests
32380         * modules/stat-time-tests (Depends-on): Add usleep.
32381         (configure.ac): Drop usleep check.
32382         * modules/chown-tests (Depends-on, configure.ac): Likewise.
32383         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
32384         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
32385         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
32386         * modules/openat-tests (Depends-on, configure.ac): Likewise.
32387         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
32388         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
32389         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
32390         Likewise.
32391         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
32392         * tests/test-lchown.h (nap): Likewise.
32393         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
32394         * tests/test-stat-time.c (nap): Likewise.
32395         * tests/test-utimens-common.h (nap): Update comments.
32396
32397         usleep: new module
32398         * modules/usleep: New file.
32399         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
32400         * lib/usleep.c (usleep): Likewise.
32401         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32402         * modules/unistd (Makefile.am): Substitute witnesses.
32403         * lib/unistd.in.h (usleep): Add declaration.
32404         * doc/pastposix-functions/usleep.texi (usleep): Document this.
32405         * MODULES.html.sh (Date and time): Likewise.
32406         * modules/usleep-tests (Depends-on): New test.
32407         * tests/test-usleep.c: New file.
32408
32409         chown: work around OpenBSD bug
32410         * lib/chown.c (rpl_chown): Work around the bug.
32411         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
32412         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
32413         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
32414         * modules/chown (Depends-on): Add stdbool.
32415         * modules/lchown (Depends-on): Likewise.
32416         * doc/posix-functions/chown.texi (chown): Document the bug.
32417         * doc/posix-functions/lchown.texi (lchown): Likewise.
32418         * tests/test-lchown.h (test_chown): Relax test.
32419
32420         mkstemp: avoid conflict with C++ keyword template
32421         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
32422         * lib/mkostemp.c (mkostemp): Likewise.
32423         * lib/mkostemps.c (mkostemps): Likewise.
32424         * lib/mkstemp.c (mkstemp): Likewise.
32425         * lib/mkstemps.c (mkstemps): Likewise.
32426
32427         xalloc-die-tests: optimize
32428         * tests/test-xalloc-die.sh: Reduce number of processes.
32429
32430 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32431
32432         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32433         patch from ludo@gnu.org (Ludovic Courtès).
32434
32435 2009-11-17  Jim Meyering  <meyering@redhat.com>
32436
32437         version-etc: use proper license string
32438         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32439         * modules/version-etc-fsf: Likewise.
32440
32441 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32442
32443         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32444         printed to stdout.  Deal with EOL differences.
32445
32446 2009-11-17  Eric Blake  <ebb9@byu.net>
32447
32448         unsetenv: work around Solaris bug
32449         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32450         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32451         Reported by Jim Meyering.
32452
32453         vasnprintf: avoid compiler warnings
32454         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32455         variables.
32456         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32457
32458 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32459
32460         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32461         settings since xalloc-die is no longer the self test,
32462         xalloc-die.sh is.
32463
32464 2009-11-17  Jim Meyering  <meyering@redhat.com>
32465
32466         test-xalloc-die.sh: make the code agree with the commit log
32467         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32468         at the end, just in case you happen to have a test-xalloc-die
32469         program in some other PATH directory.
32470
32471         test-xalloc-die.sh: fix a portability bug
32472         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32473         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32474         Otherwise, argv[0] (as often seen in diagnostics) would be too
32475         system-dependent, sometimes with, and sometimes without the leading "./".
32476
32477         version-etc-fsf: relax license to LGPLv3+
32478         * modules/version-etc-fsf (License): Relax license.
32479
32480 2009-11-16  Eric Blake  <ebb9@byu.net>
32481
32482         xalloc-die-tests: avoid printing null pointer
32483         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32484         shell script.
32485         * tests/test-xalloc-die.c (program_name): Declare.
32486         * tests/test-xalloc-die.sh (tmpfiles): New file.
32487
32488         setenv, unsetenv: work around various bugs
32489         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32490         (setenv) [HAVE_SETENV]: Work around bugs.
32491         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32492         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32493         for bugs.
32494         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32495         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32497         * modules/stdlib (Makefile.am): Update substitutions.
32498         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32499         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32500         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32501         * modules/setenv-tests: New test.
32502         * modules/unsetenv-tests: Likewise.
32503         * tests/test-setenv.c: New file.
32504         * tests/test-unsetenv.c: Likewise.
32505
32506 2009-11-16  Jim Meyering  <meyering@redhat.com>
32507
32508         version-etc: relax license to LGPLv3+
32509         * modules/version-etc (License): Relax license.
32510
32511         better AC_REQUIRE expanded-before-required-warning avoidance
32512         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32513         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32514         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32515         which is no longer needed.
32516
32517 2009-11-16  Eric Blake  <ebb9@byu.net>
32518
32519         test-freading: clean up temporary file
32520         * tests/test-freading.c (main): Remove file on success, and use
32521         ASSERT more liberally.
32522         Reported by Jim Meyering.
32523
32524 2009-11-16  Jim Meyering  <meyering@redhat.com>
32525
32526         avoid new AC_REQUIRE expanded-before-required warnings
32527         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32528         merely using it.
32529         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32530         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32531
32532 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32533
32534         * tests/test-xalloc-die.c: New file.
32535         * modules/xalloc-die-tests: New file.
32536         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32537         XFAIL_TESTS so it can be appended by modules.
32538
32539 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32540
32541         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32542         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32543
32544 2009-11-14  Eric Blake  <ebb9@byu.net>
32545
32546         fnmatch: avoid compiler warning
32547         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32548         to silence compiler warning about mismatch signedness in ?:.
32549         Reported by Robert Millan.
32550
32551         intprops: add double-inclusion guard
32552         * lib/intprops.h: Allow idempotent includes.
32553         Suggested by Bruce Korb.
32554
32555         openat: detect Solaris fchownat bug
32556         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32557         penalizing glibc chownat when only lchownat is broken.
32558         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32559         trailing slash bugs.
32560         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32561         * modules/openat-tests (Files): Include more files.
32562         (Depends-on): Add mgetgroups, sleep, stat-time.
32563         (configure.ac): Add additional checks.
32564         (Makefile.am): Build new test.
32565         * tests/test-fchownat.c: New file.
32566
32567         lchown: detect Solaris and FreeBSD bug
32568         * lib/lchown.c (rpl_lchown): Work around bug.
32569         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32571         * modules/unistd (Makefile.am): Populate it.
32572         * lib/unistd.in.h (lchown): Update declaration.
32573         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32574         * modules/lchown-tests: New file.
32575         * tests/test-lchown.h (test_lchown): Likewise.
32576         * tests/test-lchown.c (main): Likewise.
32577
32578         chown: detect Solaris and FreeBSD bug
32579         * lib/chown.c (rpl_chown): Work around bug.
32580         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32581         (gl_PREREQ_CHOWN): Delete.
32582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32583         * modules/unistd (Makefile.am): Populate it.
32584         * lib/unistd.in.h (chown): Update declaration.
32585         * lib/lchown.c (chown): Update client.
32586         * modules/lchown (Depends-on): Add lstat.
32587         * doc/posix-functions/chown.texi (chown): Document the bug.
32588         * doc/posix-functions/getgroups.texi (getgroups): Document
32589         getgroups pitfall.
32590         * modules/chown-tests: New file.
32591         * tests/test-chown.h (test_chown): Likewise.
32592         * tests/test-chown.c (main): Likewise.
32593
32594 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32595
32596         gnulib-tool: correctly detect absence of m4 directories
32597         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32598
32599 2009-11-14  Jim Meyering  <meyering@redhat.com>
32600
32601         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32602         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32603
32604 2009-11-14  John W. Eaton  <jwe@gnu.org>
32605
32606         strftime.h: wrap funtion declaration in extern "C" block
32607         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32608
32609 2009-11-13  Eric Blake  <ebb9@byu.net>
32610
32611         getgroups: avoid compiler warning
32612         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32613
32614         getgroups: work around FreeBSD bug
32615         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32616         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32617         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32618         * tests/test-getgroups.c (main): Fix buffer overrun.
32619
32620         getgroups: avoid compilation failure
32621         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32622         * modules/getgroups (Depends-on): Add stdint.
32623
32624 2009-11-13  Jim Meyering  <meyering@redhat.com>
32625
32626         test-getgroups: avoid compilation failure
32627         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32628
32629 2009-11-13  Eric Blake  <ebb9@byu.net>
32630
32631         mgetgroups: new module, taken from coreutils
32632         * modules/mgetgroups: New file.
32633         * lib/mgetgroups.h: Likewise.
32634         * lib/mgetgroups.c (mgetgroups): Likewise.
32635         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32636         * MODULES.html.sh (Users and groups): Mention it.
32637
32638         getgroups: don't expose GETGROUPS_T to user
32639         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32640         an element at a time if GETGROUPS_T is wrong size.
32641         * lib/getugroups.h (getugroups): Change signature.
32642         * lib/unistd.in.h (getgroups): Likewise.
32643         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32644         signature needs fixing.
32645         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32646         AC_TYPE_GETGROUPS.
32647         * modules/group-member (Depends-on): Add getgroups.
32648         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32649         (group_member): Rely on getgroups replacement.
32650         * lib/getugroups.c (getugroups): Use gid_t.
32651         * tests/test-getgroups.c (main): Likewise.
32652         * NEWS: Mention the signature change.
32653         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32654         problem with signature.
32655         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32656         GETGROUPS_T is still useful for setgroups.
32657
32658         getgroups, getugroups: provide stubs for mingw
32659         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32660         * lib/getugroups.c (getugroups): Likewise.
32661         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32662         function.  Modernize replacement scheme.
32663         (gl_PREREQ_GETGROUPS): Delete.
32664         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32665         * modules/getgroups (configure.ac): Declare witness.
32666         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32667         * modules/unistd (Depends-on): Substitute witness.
32668         * lib/unistd.in.h (getgroups): Declare replacement.
32669
32670         getgroups: avoid calling exit
32671         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32672         drop xalloc.
32673         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32674         dependencies.
32675         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32676         exiting, in the rare case of malloc failure.
32677
32678         getgroups: fix logic error
32679         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32680         has more than 20 groups.
32681         * modules/getgroups-tests: New test.
32682         * tests/test-getgroups.c: New file.
32683
32684 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32685
32686         * tests/test-base64.c: Improve.
32687
32688 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32689
32690         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32691         Blake <ebb9@byu.net>.
32692
32693 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32694
32695         * tests/test-xvasprintf.c: Add %s%s related checks.
32696
32697 2009-11-12  Eric Blake  <ebb9@byu.net>
32698
32699         version-etc: match standards.texi style
32700         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32701         and use <> only for URLs.
32702
32703 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32704
32705         fts: do not fail on a submount during traversal
32706         * lib/fts.c (fts_build): Read the stat info again after opening
32707         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32708         Original report at http://bugzilla.redhat.com/501848.
32709
32710 2009-11-12  Jim Meyering  <meyering@redhat.com>
32711
32712         bootstrap: sync from coreutils
32713         * build-aux/bootstrap (bootstrap_epilogue): New function.
32714         Use git_modules_config in one more place.  This make bootstrap's
32715         --gnulib-srcdir option more useful for testing.
32716
32717         bootstrap: generalize autoheader check
32718         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32719         AC_CONFIG_HEADERS.
32720
32721 2009-11-11  Eric Blake  <ebb9@byu.net>
32722
32723         mkfifoat: use new modules for Solaris and BSD bugs
32724         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32725         * lib/mkfifoat.c (mknodat): Split...
32726         * lib/mknodat.c (mknodat): ...into new file.
32727         * modules/mkfifoat (Files): Ship new file.
32728         (Depends-on): Add mkfifo, mknod.
32729         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32730         (Depends-on): Add symlink.
32731         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32732         redundant with test_mkfifo.h.
32733         (do_mkfifoat, do_mknodat): New helpers.
32734
32735         mknod: new module
32736         * modules/mknod: New file.
32737         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32738         * lib/mknod.c (mknod): Likewise.
32739         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32740         defaults.
32741         * modules/sys_stat (Makefile.am): Substitute them.
32742         * lib/sys_stat.in.h (mknod): Declare replacement.
32743         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32744         Document it.
32745         * doc/posix-functions/mknod.texi (mknod): Likewise.
32746         * modules/mknod-tests: New test.
32747         * tests/test-mknod.c: Likewise.
32748
32749         mkfifo: new module
32750         * modules/mkfifo: New file.
32751         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32752         * lib/mkfifo.c (mkfifo): Likewise.
32753         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32754         defaults.
32755         * modules/sys_stat (Makefile.am): Substitute them.
32756         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32757         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32758         Document it.
32759         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32760         * modules/mkfifo-tests: New test.
32761         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32762         from test-mkfifoat.c.
32763         * tests/test-mkfifo.c: New file.
32764
32765         readlink: detect FreeBSD bug
32766         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32767         slash on symlink.
32768         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32769         * tests/test-readlink.h (test_readlink): Enhance test.
32770
32771         symlink: detect FreeBSD bug
32772         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32773         slash on symlink.
32774         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32775         * tests/test-symlink.h (test_symlink): Enhance test.
32776
32777 2009-11-10  Eric Blake  <ebb9@byu.net>
32778
32779         link: detect FreeBSD bug
32780         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32781         symlink.
32782         * doc/posix-functions/link.texi (link): Document the bug.
32783         * tests/test-link.h (test_link): Enhance test.
32784         * tests/test-linkat.c (main): Update caller.
32785
32786         unlink, remove: detect FreeBSD bug
32787         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32788         slash on symlink.
32789         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32790         * doc/posix-functions/remove.texi (remove): Likewise.
32791         * tests/test-unlink.h (test_unlink): Enhance test.
32792         * tests/test-remove.c (main): Likewise.
32793
32794 2009-11-09  Eric Blake  <ebb9@byu.net>
32795
32796         rename: detect FreeBSD bug
32797         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32798         slash on symlink.
32799         * modules/renameat-tests (Depends-on): Add filenamecat.
32800         * tests/test-rename.h (test_rename): Allow one more errno.
32801         * tests/test-renameat.c (main): Likewise.
32802         * doc/posix-functions/rename.texi (rename): Document the bug.
32803
32804         open: detect FreeBSD bug
32805         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32806         symlink.
32807         * doc/posix-functions/open.texi (open): Document the bug.
32808         * doc/posix-functions/utimes.texi (utimes): Likewise.
32809         * tests/test-open.h (test_open): Add parameters, and test symlink
32810         handling.
32811         * tests/test-open.c (main): Adjust caller.
32812         * tests/test-fcntl-safer.c (main): Likewise.
32813         * modules/open-tests (Depends-on): Add stdbool, symlink.
32814         * modules/fcntl-safer-tests (Depends-on): Likewise.
32815         * tests/test-openat.c (main): Add test-open tests.
32816
32817         stat: detect FreeBSD bug
32818         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32819         symlink.
32820         * doc/posix-functions/stat.texi (stat): Document the bug.
32821         * tests/test-stat.h (test_stat_func): Add argument.
32822         * tests/test-stat.c (main): Adjust caller.
32823         * tests/test-fstatat.c (main): Likewise.
32824         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32825         Reported by Jim Meyering.
32826
32827 2009-11-09  James Youngman  <jay@gnu.org>
32828
32829         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32830         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32831
32832 2009-11-08  Jim Meyering  <meyering@redhat.com>
32833
32834         utimens: remove invalid futimesat call
32835         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32836         It used the file descriptor of the target file as the DIR_FD
32837         parameter and NULL as the file name.  That caused failure with
32838         errno == EFAULT on FreeBSD-8.0-rc2
32839
32840 2009-11-07  Eric Blake  <ebb9@byu.net>
32841
32842         fflush, freadseek: use fseeko, not fseek
32843         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
32844         (clear_ungetc_buffer): Avoid potential problems on large files.
32845         * lib/freadseek.c (freadseek): Likewise.
32846         * modules/freadseek (Depends-on): Add fseeko.
32847         * modules/fseek (configure.ac): Set a witness.
32848         * tests/test-fflush.c (main): Use fseeko.
32849         * tests/test-fpurge.c (fseek): Disable link warning.
32850         * tests/test-freadable.c (fseek): Likewise.
32851         * tests/test-freading.c (fseek): Likewise.
32852         * tests/test-fseeko.c (fseek): Likewise.
32853         * tests/test-ftell.c (fseek): Likewise.
32854         * tests/test-ftello.c (fseek): Likewise.
32855         * tests/test-fwritable.c (fseek): Likewise.
32856         * tests/test-fwriting.c (fseek): Likewise.
32857
32858 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32859
32860         * modules/memchr (Depends-on): Drop getpagesize dependency.
32861
32862 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32863
32864         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
32865         Reported by Ludovic Courtès.
32866         * build-aux/pmccabe2html: Improve example usage.
32867         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
32868
32869 2009-11-06  Jim Meyering  <meyering@redhat.com>
32870
32871         do-release-commit-and-tag: New module.
32872         Automate the release-commit and tag process.
32873         * build-aux/do-release-commit-and-tag: New script, from coreutils.
32874         * modules/do-release-commit-and-tag: New file.
32875         * MODULES.html.sh (Support for maintaining and releasing): Add it.
32876
32877 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32878
32879         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
32880         because test-select.c uses inet_pton.
32881
32882 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32883
32884         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
32885         GETADDRINFO_LIB.  Bump serial number.
32886         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
32887         Suggested by Eric Blake <ebb9@byu.net>.
32888
32889 2009-11-05  Eric Blake  <ebb9@byu.net>
32890
32891         strtod: detect darwin bug
32892         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
32893         Reported by Leo Davis.
32894
32895         freopen-safer: new module
32896         * modules/freopen-safer: New module.
32897         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
32898         * lib/freopen-safer.c (freopen_safer): New file.
32899         * lib/stdio-safer.h (freopen_safer): New declaration.
32900         * lib/stdio--.h (freopen): New override.
32901         * MODULES.html.sh (File stream based Input/Output): Mention it.
32902         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
32903         freopen-safer module.
32904         * doc/posix-functions/stderr.texi (stderr): Likewise.
32905         * doc/posix-functions/stdin.texi (stdin): Likewise.
32906         * doc/posix-functions/stdout.texi (stdout): Likewise.
32907         * modules/freopen-safer-tests: New test.
32908         * tests/test-reopen-safer.c: New file.
32909
32910 2009-11-05  Jim Meyering  <meyering@redhat.com>
32911
32912         maint.mk: Prohibit inclusion of "close-stream.h" without use.
32913         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32914
32915 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32916
32917         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
32918
32919 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32920
32921         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
32922
32923 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32924
32925         Fix link error.
32926         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32927         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32928
32929 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32930
32931         * tests/test-func.c: Also test value of __func__.
32932
32933 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32934
32935         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
32936         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
32937
32938 2009-11-05  Bruno Haible  <bruno@clisp.org>
32939
32940         Fix link error.
32941         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32942         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32943         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
32944
32945 2009-11-05  Bruno Haible  <bruno@clisp.org>
32946
32947         Tests for module 'inet_pton'.
32948         * modules/inet_pton-tests: New file.
32949         * tests/test-inet_pton.c: New file.
32950
32951 2009-11-05  Bruno Haible  <bruno@clisp.org>
32952
32953         Tests for module 'inet_ntop'.
32954         * modules/inet_ntop-tests: New file.
32955         * tests/test-inet_ntop.c: New file.
32956
32957 2009-11-04  Eric Blake  <ebb9@byu.net>
32958
32959         stdlib-safer: wrap all mkstemp variants
32960         * modules/mkostemp (configure.ac): Set witness.
32961         * modules/mkostemps (configure.ac): Likewise.
32962         * modules/mkstemps (configure.ac): Likewise.
32963         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
32964         (mkstemps_safer): Wrap more functions.
32965         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
32966         wrapping.
32967         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
32968         (mkstemps_safer): Implement the wrappers.
32969
32970         mkstemps, mkostemps: new modules
32971         * modules/mkostemps: New module.
32972         * modules/mkstemps: Likewise.
32973         * lib/mkostemps.c (mkostemps): New file.
32974         * lib/mkstemps.c (mkstemps): Likewise.
32975         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
32976         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
32977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
32978         * modules/stdlib (Makefile.am): Substitute them.
32979         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
32980         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
32981         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
32982         * doc/gnulib.texi (Glibc stdlib.h): Include them.
32983         * MODULES.html.sh (File system functions): Mention them.
32984
32985         tempname: resync from glibc
32986         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
32987         same values for __GT_FILE as glibc.  Abort even when assertions
32988         are disabled.
32989         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
32990         match its value otherwise.  Allow idempotent inclusion.
32991         * lib/mkdtemp.c (mkdtemp): Adjust caller.
32992         * lib/mkostemp.c (mkostemp): Likewise.
32993         * lib/mkstemp.c (mkstemp): Likewise.
32994         * lib/tmpfile.c (tmpfile): Likewise.
32995         * NEWS: Document this.
32996
32997         utimens: fix use of futimens on older Linux
32998         * lib/utimens.c (fdutimens): Use updated, rather than original,
32999         timespec to avoid bug in older Linux kernel.
33000         Reported by Simon Josefsson.
33001
33002 2009-11-04  Bruno Haible  <bruno@clisp.org>
33003
33004         Make num_processors more flexible and consistent.
33005         * lib/nproc.h (enum nproc_query): New type.
33006         (num_processors): Add a 'query' argument.
33007         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
33008         (num_processors): Add a 'query' argument. Test the value of the
33009         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
33010         mingw, count the number of CPUs available for the current process.
33011         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
33012         Check for sched_getaffinity and sched_getaffinity_np.
33013         * modules/nproc (Depends-on): Add c-ctype, extensions.
33014         * NEWS: Mention the change.
33015
33016 2009-11-03  Bruno Haible  <bruno@clisp.org>
33017
33018         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
33019
33020 2009-11-03  Jim Meyering  <meyering@redhat.com>
33021
33022         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
33023         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
33024         if it is defined.
33025
33026 2009-11-02  Eric Blake  <ebb9@byu.net>
33027
33028         mktime, timegm: share common declaration
33029         * lib/mktime-internal.h: New file.
33030         * lib/mktime.c: Use it rather than open-coding a declaration.
33031         * lib/timegm.c: Likewise.
33032         * modules/mktime (Files): Ship it.
33033         * modules/timegm (Files): Likewise.
33034         Suggested by Bruno Haible.
33035
33036         test-update-copyright: update test to match script changes
33037         * tests/test-update-copyright.sh: Avoid hard-coding perl
33038         location.  Don't update *.bak created by earlier runs.
33039
33040 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
33041             Simon Josefsson  <simon@josefsson.org>
33042             Bruno Haible  <bruno@clisp.org>
33043
33044         Fix link error on Solaris 8.
33045         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
33046         also in libnsl. Define also INET_PTON_LIB.
33047         * modules/inet_pton (Link): New section.
33048
33049 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33050             Bruno Haible  <bruno@clisp.org>
33051
33052         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
33053         * modules/inet_ntop (Link): New section.
33054         Reported by Boyan Kasarov <bkasarov@gmail.com>.
33055
33056 2009-11-02  Eric Blake  <ebb9@byu.net>
33057
33058         maint: avoid compiler warnings in m4 macros
33059         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
33060         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
33061
33062 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33063
33064         * m4/pmccabe2html.m4: Remove file.
33065         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
33066         function.  Change maintainer.
33067         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
33068         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
33069         Courtès).
33070
33071 2009-10-31  Eric Blake  <ebb9@byu.net>
33072
33073         fseeko: fix m4 regression
33074         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
33075         regression from 2009-10-27.
33076         Reported by Ralf Wildenhues.
33077
33078 2009-10-31  Jim Meyering  <meyering@redhat.com>
33079
33080         inttostr: aesthetics and improved (compile-time) safety
33081         Define inttype_is_signed rather than inttype_is_unsigned,
33082         since the sole use is via "#if inttype_is_signed".
33083         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
33084         inttype_is_unsigned.
33085         * lib/offtostr.c (inttype_is_signed): Likewise.
33086         * lib/uinttostr.c (inttype_is_signed): Likewise.
33087         * lib/umaxtostr.c (inttype_is_signed): Likewise.
33088         * lib/inttostr.c (inttostr): Use verify to cross-check the
33089         inttype_is_signed value and the signedness of the actual type.
33090         * modules/inttostr (Depends-on): Add verify.
33091
33092 2009-10-30  Eric Blake  <ebb9@byu.net>
33093
33094         build: avoid compiler warnings
33095         * lib/fchmodat.c (lchmod): Mark unused variables.
33096         * lib/getopt.c (_getopt_initialize): Likewise.
33097         * lib/mktime.c (__mktime_internal): Provide prototype.
33098         * lib/inttostr.c (inttostr): Avoid compiler warning even with
33099         older gcc that do not understand #pragma GCC diagnostic.
33100         * lib/uinttostr.c (inttype_is_unsigned): Define.
33101         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
33102
33103 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33104
33105         stat: fix compilation on AIX
33106         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
33107         only see struct stat64.
33108
33109 2009-10-30  Eric Blake  <ebb9@byu.net>
33110
33111         exclude: make more robust
33112         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
33113         rather than masking a coding bug.
33114         Suggested by Bruno Haible.
33115
33116 2009-10-30  Jim Meyering  <meyering@redhat.com>
33117
33118         perl scripts: remove #!/usr/bin/perl in favor of more portable...
33119         Rather than putting #!/usr/bin/perl on the first line,
33120         start with a variant of what's recommended by "man perlrun" that
33121         invokes the first "perl" program from your shell's search path.
33122         * build-aux/gitlog-to-changelog: Replace #!... as above.
33123         Add a "Local Variables" perl mode setting.
33124         Prompted by a patch from Ludovic Courtès.
33125         Improved by Eric Blake.
33126         * build-aux/useless-if-before-free: Likewise.
33127         * build-aux/announce-gen: Likewise.
33128         * build-aux/update-copyright: Likewise.
33129
33130 2009-10-29  Eric Blake  <ebb9@byu.net>
33131
33132         filenamecat-lgpl: adjust clients
33133         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
33134         filenamecat.
33135         * modules/renameat (Depends-on): Likewise.
33136
33137         filenamecat: split into filenamecat-lgpl
33138         * modules/filenamecat-lgpl: New module.
33139         * modules/filenamecat (Files): Move library-safe files into
33140         filenamecat-lgpl.
33141         (Depends-on): Add filenamecat-lgpl.
33142         (configure.ac): Declare witness.
33143         * lib/filenamecat.h (file_name_concat): Only declare when using
33144         GPL module.
33145         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
33146         Move...
33147         * lib/filenamecat-lgpl.c: ...into new file.
33148         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
33149         (gl_FILE_NAME_CONCAT): Use it.
33150         * MODULES.html.sh (File system functions): Mention new module.
33151
33152         argp: avoid memory leak
33153         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
33154         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
33155         base_name, since the latter malloc()s and can call exit().
33156         Leak introduced 2006-07-03.
33157
33158         dirname-lgpl: adjust clients that don't need full dirname
33159         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
33160         * modules/filenamecat (Depends-on): Likewise.
33161         * modules/linkat (Depends-on): Likewise.
33162         * modules/mkancesdirs (Depends-on): Likewise.
33163         * modules/mkdir (Depends-on): Likewise.
33164         * modules/openat (Depends-on): Likewise.
33165         * modules/savewd (Depends-on): Likewise.
33166         * modules/rename (Depends-on): Likewise.
33167         (License): Relax license.
33168         * modules/mkdir-tests (Depends-on): Drop progname.
33169         (Makefile.am): Delete unneeded LDADD.
33170         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
33171
33172         dirname: split into dirname-lgpl
33173         * modules/dirname-lgpl: New module.
33174         * modules/dirname (Files): Move library-safe files into
33175         dirname-lgpl.
33176         (Depends-on): Add dirname-lgpl.
33177         (configure.ac): Declare witness.
33178         * modules/double-slash-root (License): Relax license.
33179         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
33180         module.
33181         * lib/dirname.c (dir_len, mdir_name): Move...
33182         * lib/dirname-lgpl.c: ...into new file.
33183         * lib/basename.c (last_component, base_len): Move...
33184         * lib/basename-lgpl.c: ...into new file.
33185         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
33186         (gl_DIRNAME): Use it.
33187         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
33188         Mention new module.
33189         * modules/dirname-tests (Depends-on): Add progname.
33190         * tests/test-dirname.c (program_name): Delete.
33191
33192         mkdir: make safe for libraries
33193         * modules/mkdir (Depends-on): Drop xalloc.
33194         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
33195         exit.
33196
33197         tests: avoid some compiler warnings
33198         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
33199         literals.
33200         * tests/test-memchr.c (main): Avoid type mismatch.
33201         * tests/test-arpa_inet.c (main): Avoid unused parameters.
33202         * tests/test-base64.c (main): Likewise.
33203         * tests/test-getdelim.c (main): Likewise.
33204         * tests/test-gethostname.c (main): Likewise.
33205         * tests/test-getline.c (main): Likewise.
33206         * tests/test-netinet_in.c (main): Likewise.
33207         * tests/test-select.c (open_server_socket, main): Likewise.
33208         * tests/test-select-stdin.c (main): Likewise.
33209         * tests/test-sockets.c (main): Likewise.
33210         * tests/test-strsignal.c (main): Likewise.
33211         * tests/test-sys_select.c (main): Likewise.
33212         * tests/test-sys_socket.c (main): Likewise.
33213         * tests/test-u64.c (main): Likewise.
33214         * tests/test-xfprintf-posix.c (main): Likewise.
33215         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
33216
33217         sockets: avoid compiler warning
33218         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
33219
33220         maint: detect usage(1) and other suspicious exits
33221         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
33222
33223 2009-10-29  Jim Meyering  <meyering@redhat.com>
33224
33225         timespec: long-to-int truncation could make timespec_cmp malfunction
33226         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
33227         a multiple of 2^32 nanoseconds as no difference.
33228
33229 2009-10-28  Jim Meyering  <meyering@redhat.com>
33230
33231         fprintftime: wrap macro code argument in "do {...} while(0)"
33232         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
33233         cpy macro must be a statement that can be followed by a semicolon.
33234         Now that the else clause contains a comment and is hence longer
33235         than one line, I require curly braces.  That in turn requires
33236         that we wrap this code block in the standard do...while(0).
33237
33238         fprintftime: remove stray semicolon from previous change
33239         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
33240
33241         fprintftime: avoid a warning about ignored fwrite return value
33242         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
33243         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
33244         that is unsafe.
33245         * modules/fprintftime (Depends-on): Add ignore-value.
33246
33247         exclude: avoid an unwarranted warning
33248         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
33249
33250 2009-10-27  Eric Blake  <ebb9@byu.net>
33251
33252         fseek: avoid compilation failure when fflush is replaced
33253         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
33254         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
33255         module is in use.
33256         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
33257         module is not in use; since REPLACE_FSEEK worked otherwise.
33258         (GNULIB_FTELLO): Likewise for ftell.
33259         Reported by Ian Beckwith and others.
33260
33261 2009-10-27  Bruno Haible  <bruno@clisp.org>
33262
33263         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
33264         Reported by Jim Meyering.
33265
33266 2009-10-27  Jim Meyering  <jim@meyering.net>
33267             Bruno Haible  <bruno@clisp.org>
33268
33269         Avoid warning despite dropping the return value of fwrite.
33270         * lib/unicodeio.c: Include ignore-value.h.
33271         (fwrite_success_callback): Explicitly ignore fwrite's return value.
33272         * modules/unicodeio (Depends-on): Add ignore-value.
33273
33274 2009-10-26  Eric Blake  <ebb9@byu.net>
33275
33276         areadlinkat: fix fallback path
33277         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
33278         pointer and zero.
33279
33280 2009-10-22  Pádraig Brady  <P@draigBrady.com>
33281
33282         Use a better IO block size for modern systems
33283         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
33284         * lib/md2.c: Likewise.
33285         * lib/md4.c: Likewise.
33286         * lib/md5.c: Likewise.
33287         * lib/sha1.c: Likewise.
33288         * lib/sha256.c: Likewise.
33289         * lib/sha512.c: Likewise.
33290
33291 2009-10-22  Eric Blake  <ebb9@byu.net>
33292
33293         tests: avoid several compiler warnings
33294         * tests/test-getcwd.c (main): Avoid buffer underflow.
33295         * tests/test-getdate.c (main): String literals are not safe with
33296         putenv, so use setenv.  Declare unused argument.
33297         * modules/getdate-tests (Depends-on): Add setenv.
33298         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
33299         problems with string literals in char *.
33300         * tests/test-hash.c (main): Avoid shadowing declaration.
33301         (insert_new): Treat string literals as char const *.
33302         * tests/test-getopt.h (test_getopt): Likewise.
33303         (getopt_loop): Alter types to minimize casting elsewhere.
33304         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
33305         (test_getopt_long_posix): Likewise.
33306         (do_getopt_long): Add wrapper to minimize casting.
33307         * tests/test-atexit.c (clear_temp_file): Use void.
33308         * tests/test-areadlink-with-size.c (main): Declare unused
33309         arguments.
33310         * tests/test-areadlink.c (main): Likewise.
33311         * tests/test-areadlinkat-with-size.c (main): Likewise.
33312         * tests/test-areadlinkat.c (main): Likewise.
33313         * tests/test-canonicalize-lgpl.c (main): Likewise.
33314         * tests/test-canonicalize.c (main): Likewise.
33315         * tests/test-dirent-safer.c (main): Likewise.
33316         * tests/test-dirname.c (main): Likewise.
33317         * tests/test-dup2.c (main): Likewise.
33318         * tests/test-fchdir.c (main): Likewise.
33319         * tests/test-fcntl-h.c (main): Likewise.
33320         * tests/test-fcntl-safer.c (main): Likewise.
33321         * tests/test-fdopendir.c (main): Likewise.
33322         * tests/test-fdutimensat.c (main): Likewise.
33323         * tests/test-fflush.c (main): Likewise.
33324         * tests/test-filenamecat.c (main): Likewise.
33325         * tests/test-filevercmp.c (main): Likewise.
33326         * tests/test-fopen-safer.c (main): Likewise.
33327         * tests/test-fopen.c (main): Likewise.
33328         * tests/test-fpending.c (main): Likewise.
33329         * tests/test-fpurge.c (main): Likewise.
33330         * tests/test-freading.c (main): Likewise.
33331         * tests/test-fstatat.c (main): Likewise.
33332         * tests/test-fsync.c (main): Likewise.
33333         * tests/test-futimens.c (main): Likewise.
33334         * tests/test-getndelim2.c (main): Likewise.
33335         * tests/test-gettimeofday.c (main): Likewise.
33336         * tests/test-getopt.c (main): Likewise.
33337         * tests/test-i-ring.c (main): Likewise.
33338         * tests/test-inttypes.c (main): Likewise.
33339         * tests/test-link.c (main): Likewise.
33340         * tests/test-lstat.c (main): Likewise.
33341         * tests/test-math.c (main): Likewise.
33342         * tests/test-md5.c (main): Likewise.
33343         * tests/test-memchr2.c (main): Likewise.
33344         * tests/test-memrchr.c (main): Likewise.
33345         * tests/test-mkdir.c (main): Likewise.
33346         * tests/test-mkdirat.c (main): Likewise.
33347         * tests/test-mkfifoat.c (main): Likewise.
33348         * tests/test-open.c (main): Likewise.
33349         * tests/test-openat-safer.c (main): Likewise.
33350         * tests/test-openat.c (main): Likewise.
33351         * tests/test-quotearg.c (main): Likewise.
33352         * tests/test-rawmemchr.c (main): Likewise.
33353         * tests/test-readlink.c (main): Likewise.
33354         * tests/test-remove.c (main): Likewise.
33355         * tests/test-rename.c (main): Likewise.
33356         * tests/test-renameat.c (main): Likewise.
33357         * tests/test-rmdir.c (main): Likewise.
33358         * tests/test-sha1.c (main): Likewise.
33359         * tests/test-signal.c (main): Likewise.
33360         * tests/test-sigaction.c (main): Likewise.
33361         * tests/test-stat.c (main): Likewise.
33362         * tests/test-stat-time.c (main): Likewise.
33363         * tests/test-stddef.c (main): Likewise.
33364         * tests/test-stdint.c (main): Likewise.
33365         * tests/test-stdio.c (main): Likewise.
33366         * tests/test-stdlib.c (main): Likewise.
33367         * tests/test-strchrnul.c (main): Likewise.
33368         * tests/test-strerror.c (main): Likewise.
33369         * tests/test-string.c (main): Likewise.
33370         * tests/test-strtod.c (main): Likewise.
33371         * tests/test-strverscmp.c (main): Likewise.
33372         * tests/test-symlink.c (main): Likewise.
33373         * tests/test-symlinkat.c (main): Likewise.
33374         * tests/test-sys_stat.c (main): Likewise.
33375         * tests/test-sys_time.c (main): Likewise.
33376         * tests/test-time.c (main): Likewise.
33377         * tests/test-unistd.c (main): Likewise.
33378         * tests/test-unlink.c (main): Likewise.
33379         * tests/test-unlinkat.c (main): Likewise.
33380         * tests/test-utimens.c (main): Likewise.
33381         * tests/test-utimensat.c (main): Likewise.
33382         * tests/test-version-etc.c (main): Likewise.
33383         * tests/test-wchar.c (main): Likewise.
33384         * tests/test-wctype.c (main): Likewise.
33385         * tests/test-xprintf-posix.c (main): Likewise.
33386         * tests/test-posixtm.c (main): Likewise.
33387         (STREQ): Delete unused macro.
33388         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
33389         shadowed variables.
33390         * tests/test-memchr.c (main): Likewise.
33391
33392 2009-10-21  Eric Blake  <ebb9@byu.net>
33393
33394         areadlinkat: avoid failure on older glibc
33395         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
33396         rather than mis-comparing 0 against FUNC_RESULT of char*.
33397
33398 2009-10-21  Bruno Haible  <bruno@clisp.org>
33399
33400         * modules/stpncpy (License): Relicense under LGPLv2+.
33401         Reported by David Lutterkort <lutter@redhat.com>.
33402
33403 2009-10-20  Eric Blake  <ebb9@byu.net>
33404
33405         utimensat: work around Solaris 9 bug
33406         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
33407         has trailing slash bugs.
33408         * tests/test-lutimens.h (test_lutimens): Enhance test.
33409         * tests/test-utimens.h (test_utimens): Likewise.
33410         * doc/posix-functions/utime.texi (utime): Enhance documentation.
33411         * doc/posix-functions/utimes.texi (utimes): Likewise.
33412         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33413         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
33414         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
33415         * doc/posix-functions/futimens.texi (futimens): Likewise.
33416
33417         fdutimensat: new module
33418         * modules/fdutimensat: New file.
33419         * lib/fdutimensat.c (fdutimensat): Likewise.
33420         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
33421         * MODULES.html.sh (File system functions): Mention module.
33422         * modules/fdutimensat-tests: New test.
33423         * tests/test-fdutimensat.c: Likewise.
33424
33425         doc: regenerate INSTALL
33426         * doc/INSTALL: Reflect recent autoconf update.
33427         * doc/INSTALL.ISO: Likewise.
33428         * doc/INSTALL.UTF-8: Likewise.
33429
33430 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33431
33432         acl: warn if ACL support is not detected
33433         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33434
33435 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33436
33437         * lib/nproc.h: Add extern "C" block for C++.
33438
33439 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33440             Bruno Haible  <bruno@clisp.org>
33441
33442         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33443         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33444         * doc/posix-functions/isalpha.texi: Likewise.
33445         * doc/posix-functions/isblank.texi: Likewise.
33446         * doc/posix-functions/iscntrl.texi: Likewise.
33447         * doc/posix-functions/isdigit.texi: Likewise.
33448         * doc/posix-functions/isgraph.texi: Likewise.
33449         * doc/posix-functions/islower.texi: Likewise.
33450         * doc/posix-functions/isprint.texi: Likewise.
33451         * doc/posix-functions/ispunct.texi: Likewise.
33452         * doc/posix-functions/isspace.texi: Likewise.
33453         * doc/posix-functions/isupper.texi: Likewise.
33454         * doc/posix-functions/isxdigit.texi: Likewise.
33455
33456 2009-10-18  Bruno Haible  <bruno@clisp.org>
33457
33458         Tests for module 'isblank'.
33459         * modules/isblank-tests: New file.
33460         * tests/test-isblank.c: New file.
33461
33462         New module 'isblank'.
33463         * lib/isblank.c: New file.
33464         * m4/isblank.m4: New file.
33465         * modules/isblank: New file.
33466         * doc/posix-functions/isblank.texi: Mention the new module.
33467
33468 2009-10-18  Bruno Haible  <bruno@clisp.org>
33469
33470         New module 'ctype'.
33471         * lib/ctype.in.h: New file.
33472         * m4/ctype.m4: New file.
33473         * modules/ctype: New file.
33474         * doc/posix-headers/ctype.texi: Mention the new module.
33475
33476 2009-10-18  Jim Meyering  <meyering@redhat.com>
33477
33478         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33479         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33480         right after its initialization, rather than farther down.
33481         Keeping these in close proximity makes it easier to ensure
33482         that each such variable is initialized.  E.g.,
33483
33484             LIB_CLOCK_GETTIME=
33485             AC_SUBST([LIB_CLOCK_GETTIME])
33486
33487         This change also increments these serial numbers.
33488         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33489         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33490         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33491
33492 2009-10-18  Bruno Haible  <bruno@clisp.org>
33493
33494         Don't let environment variables perturb build.
33495         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33496         (gl_PREREQ_GETHRXTIME): ... not here.
33497
33498 2009-10-18  Bruno Haible  <bruno@clisp.org>
33499
33500         Avoid symlink attack in localcharset module.
33501         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33502         (O_NOFOLLOW): Define fallback.
33503         (get_charset_aliases): Don't open the file if it is a symbolic link.
33504         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33505         gl_FCNTL_H.
33506         (gl_FCNTL_H): Require it.
33507         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33508         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33509         Reported by Fergal Glynn <fglynn@veracode.com>.
33510
33511 2009-10-18  Bruno Haible  <bruno@clisp.org>
33512
33513         Implement nproc for mingw.
33514         * lib/nproc.c: Include <windows.h>
33515         (num_processors): On native Windows platforms, try GetSystemInfo.
33516
33517 2009-10-18  Bruno Haible  <bruno@clisp.org>
33518
33519         Implement nproc for IRIX.
33520         * lib/nproc.c: Include <sys/sysmp.h>.
33521         (num_processors): On IRIX systems, try sysmp.
33522         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33523
33524 2009-10-18  Bruno Haible  <bruno@clisp.org>
33525
33526         Implement nproc for HP-UX.
33527         * lib/nproc.c: Include <sys/pstat.h>
33528         (num_processors): On HP-UX systems, try pstat_getdynamic.
33529         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33530         pstat_getdynamic.
33531
33532 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33533             Bruno Haible  <bruno@clisp.org>
33534
33535         Implement nproc for NetBSD, OpenBSD.
33536         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33537         (ARRAY_SIZE): New macro.
33538         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33539         * m4/nproc.m4: New file.
33540         * modules/nproc (Files): Add m4/nproc.m4.
33541         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33542         (Makefile.am): Instead, augment lib_SOURCES.
33543
33544 2009-10-18  Bruno Haible  <bruno@clisp.org>
33545
33546         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33547         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33548         sys/param.h.
33549
33550 2009-10-16  Eric Blake  <ebb9@byu.net>
33551
33552         utimensat: new module
33553         * modules/utimensat: New file.
33554         * lib/utimensat.c (utimensat): Likewise.
33555         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33556         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33557         so we can work around Linux bugs.
33558         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33559         * modules/sys_stat (Makefile.am): Substitute them.
33560         * lib/sys_stat.in.h (utimensat): Declare it.
33561         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33562         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33563         * modules/utimensat-tests: New test.
33564         * tests/test-utimensat.c: Likewise.
33565
33566         utimens: let lutimens work on non-symlinks
33567         * lib/utimens.c (lutimens): Fall back to utimens rather than
33568         failing with ENOSYS, when file is not a symlink.
33569         (utimens): Reduce redirection.
33570         * tests/test-lutimens.h (test_lutimens): Update test to cover
33571         non-symlinks.
33572         * tests/test-utimens.h (test_utimens): Update test to cover
33573         symlinks.
33574         * tests/test-utimens.c (main): Update caller.
33575
33576         utimens: cache whether utimensat syscall works
33577         * lib/utimens.c (utimensat_works_really): New cache variable.
33578         (fdutimens, lutimens): Use it to avoid failing syscall.
33579
33580         test-stat-time, test-utimens: improve portability
33581         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33582         ext4 on alpha, and for cygwin.
33583         * tests/test-utimens-common.h: New file.
33584         (nap): Factor delays into single function.
33585         * tests/test-lutimens.h (test_lutimens): Use new header.
33586         * tests/test-futimens.h (test_futimens): Likewise.
33587         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33588         timestamps to occur from same machine, as was done previously for
33589         test_utimens.
33590         * modules/utimens-tests (Files): Ship new file.
33591         * modules/futimens-tests (Files): Likewise.
33592         Reported in part by Jim Meyering.
33593
33594         sys_stat: sort replacement declarations
33595         * lib/sys_stat.in.h: Sort declarations.
33596         * lib/futimens.c (futimens): Fix typo.
33597
33598 2009-10-15  Jim Meyering  <meyering@redhat.com>
33599
33600         don't let environment settings perturb build
33601         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33602         could cause a configure-time and/or build-time malfunction.
33603         Typically, a configure-time function-in-library test is performed
33604         via code like this:
33605
33606           LIB_VAR=
33607           AC_SUBST([LIB_VAR])
33608           prefix_saved_LIBS=$LIBS
33609             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33610                        [test "$ac_cv_search_FUNC" = "none required" ||
33611                         LIB_VAR=$ac_cv_search_FUNC])
33612           LIBS=$prefix_saved_LIBS
33613
33614         However, in each of the files affected by this change, the LIB_VAR=
33615         initialization was omitted.  Thus, when set in the environment, its
33616         value would propagate into generated Makefiles when FUNC is not found
33617         in LIB_NAME.
33618         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33619         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33620         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33621
33622 2009-10-14  Eric Blake  <ebb9@byu.net>
33623
33624         fchdir: avoid infinite recursion in mingw
33625         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33626         recursing.
33627
33628         test-stat-time: port to mingw
33629         * tests/test-stat-time.c (force_unlink): Return a value.
33630         (test_ctime) [W32]: Fix compilation error.
33631         (nap): Don't call usleep with too large an argument.  Use
33632         force_unlink.
33633         * doc/pastposix-functions/usleep.texi (usleep): Document the
33634         portability issue.
33635
33636 2009-10-13  Jim Meyering  <meyering@redhat.com>
33637
33638         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33639         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33640         * modules/pipe-filter-ii: Likewise.
33641         * modules/sys_socket-tests: Likewise.
33642         * modules/tsearch-tests: Likewise.
33643         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33644         (check): Depend on it.
33645
33646 2009-10-12  Eric Blake  <ebb9@byu.net>
33647
33648         utimens-tests: port to NFS file systems
33649         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33650         comparisons to avoid spurious failures from timestamp drift
33651         between NFS machines.
33652
33653 2009-10-12  Eric Blake  <ebb9@byu.net>
33654
33655         stat-time-tests: minor cleanups
33656         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33657         * tests/test-stat-time.c (nap): Separate assignment from call.
33658         Suggested by Paolo Bonzini and Bruno Haible.
33659
33660         sys_stat: guarantee struct timespec
33661         * lib/sys_stat.in.h (includes): Always include <time.h>
33662         * modules/sys_stat (Depends-on): Add time.
33663         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33664         mode_t permission values.
33665         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33666         get at subsecond timestamps.
33667
33668 2009-10-10  Eric Blake  <ebb9@byu.net>
33669
33670         futimens: new module
33671         * modules/futimens: New file.
33672         * lib/futimens.c (futimens): Likewise.
33673         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33674         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33675         we can work around Linux bugs.
33676         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33677         * modules/sys_stat (Makefile.am): Substitute them.
33678         * lib/sys_stat.in.h (futimens): Declare it.
33679         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33680         * doc/posix-functions/futimens.texi (futimens): Likewise.
33681         * modules/futimens-tests: New test.
33682         * tests/test-futimens.c: Likewise.
33683
33684         utimens: introduce fdutimens
33685         * lib/utimens.h (fdutimens): New prototype.
33686         * lib/utimens.c (gl_futimens): Move guts...
33687         (fdutimens): ...to new interface.
33688         * tests/test-utimens.c (do_fdutimens): Use it.
33689
33690         utimens: add UTIME_NOW and UTIME_OMIT support
33691         * lib/utimens.c (validate_timespec, update_timespec): New helper
33692         functions.
33693         (gl_futimens, lutimens): Use them.
33694         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33695         stdbool, sys_stat.
33696         (Link): Mention resulting library dependency.
33697         * modules/utimecmp (Link): Likewise.
33698         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33699         (Makefile.am): Pick up library dependency.
33700         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33701         definition.
33702         * tests/test-sys_stat.c: Test the definitions.
33703         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33704         * NEWS: Document library dependency.
33705
33706         utimecmp: support symlink timestamps
33707         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33708         hashing when possible.  Use pathconf when available.
33709         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33710         * modules/utimecmp (Depends-on): Add lstat.
33711
33712         utimens: add lutimens interface
33713         * lib/utimens.c (lutimens): New function.
33714         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33715         * lib/utimens.h (lutimens): Declare new interface.
33716         * tests/test-utimens.c (main): Enhance test.
33717         * tests/test-lutimens.h (test_lutimens): New file.
33718         * modules/utimens-tests (Files): Distribute it.
33719         (Depends-on): Add symlink.
33720         (configure.ac): Check for usleep.
33721
33722         utimens: validate futimens usage
33723         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33724         fewer syscalls on failure later on.  Avoid compiler warning on
33725         mingw.
33726         * modules/utimens (Depends-on): Add dup2.
33727
33728         utimens: add test
33729         * modules/utimens-tests: New test.
33730         * tests/test-utimens.h: New file.
33731         * tests/test-futimens.h: Likewise.
33732         * tests/test-utimens.c: Likewise.
33733
33734         doc: mention timestamp portability issues
33735         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33736         instead.
33737         * doc/posix-functions/utime.texi (utime): Likewise.
33738         * doc/posix-functions/utimes.texi (utimes): Likewise.
33739         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33740         instead.
33741         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33742         module.
33743         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33744         Mention weakness with symlink timestamps.
33745         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33746         to utimensat/futimens instead.
33747         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33748
33749         test-dup2: enhance test
33750         * tests/test-dup2.c (main): Also check AT_FDCWD.
33751
33752         test-stat-time: avoid more spurious failures
33753         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33754         xfs; and avoid race if the two timestamps cross quantization edge.
33755
33756         relocatable: prefer 'file system' over 'filesystem'
33757         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33758         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33759         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33760         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33761         * lib/relocatable.c (compute_curr_prefix): Likewise.
33762
33763 2009-10-10  Jim Meyering  <meyering@redhat.com>
33764
33765         stat-time-tests: check for the usleep function
33766         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33767
33768 2009-10-10  Bruno Haible  <bruno@clisp.org>
33769
33770         * modules/xnanosleep: Put the Link section after the Include section.
33771
33772 2009-10-09  Eric Blake  <ebb9@byu.net>
33773
33774         dup2: work around FreeBSD 6.1 bug
33775         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33776         * doc/posix-functions/dup2.texi (dup2): Document it.
33777         Reported by Nelson H. F. Beebe and Jim Meyering.
33778
33779         test-stat-time: port to buggy NFS clients
33780         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33781         (test_ctime): Also skip test if mtime and ctime are skewed.
33782
33783         maint: prefer 'file system' over 'filesystem'
33784         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33785         * doc/posix-functions/lstat.texi (lstat): Likewise.
33786         * lib/file-has-acl.c (file_has_acl): Likewise.
33787         * lib/fwriteerror.c [TEST]: Likewise.
33788         * tests/test-areadlink.h (test_areadlink): Likewise.
33789         * tests/test-areadlinkat-with-size.c (main): Likewise.
33790         * tests/test-areadlinkat.c (main): Likewise.
33791         * tests/test-canonicalize-lgpl.c (main): Likewise.
33792         * tests/test-canonicalize.c (main): Likewise.
33793         * tests/test-fstatat.c (main): Likewise.
33794         * tests/test-linkat.c (main): Likewise.
33795         * tests/test-lstat.h (test_lstat_func): Likewise.
33796         * tests/test-mkdir.h (test_mkdir): Likewise.
33797         * tests/test-readlink.h (test_readlink): Likewise.
33798         * tests/test-remove.c (main): Likewise.
33799         * tests/test-rename.h (test_rename): Likewise.
33800         * tests/test-renameat.c (main): Likewise.
33801         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33802         * tests/test-symlink.h (test_symlink): Likewise.
33803         * tests/test-symlinkat.c (main): Likewise.
33804         * tests/test-unlink.h (test_unlink_func): Likewise.
33805         * tests/test-unlinkat.c (main): Likewise.
33806
33807         maint: make realtime library usage explicit
33808         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33809         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33810         * modules/settime (Link): Likewise.
33811         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33812
33813         test-stat-time: speed up execution
33814         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33815         warning on mingw.
33816         (nap): New helper function.
33817         (prepare_test): Use it to reduce sleep time.
33818         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33819         execution.
33820         * modules/stat-time-tests (configure.ac): Check for usleep.
33821
33822 2009-10-09  Jim Meyering  <meyering@redhat.com>
33823
33824         selinux-h: always use getfilecon wrappers
33825         * lib/getfilecon.c: New file.
33826         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33827         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33828         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33829         (fgetfilecon): Provide a stub.
33830         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33831         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33832         file unconditionally.
33833         When <selinux/selinux.h> is found, arrange to use wrappers.
33834         * modules/selinux-h (Files): Add getfilecon.c.
33835         (Makefile.am): Substitute include-next-related bits
33836         into the now-always-generated selinux/selinux.h file.
33837         * doc/glibc-functions/lgetfilecon.texi: New file.
33838         * doc/glibc-functions/fgetfilecon.texi: New file.
33839         * doc/glibc-functions/getfilecon.texi: New file.
33840         * doc/glibc-functions/getfilecon-desc.texi: New file.
33841         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
33842         which to pull in the new files.
33843         * MODULES.html.sh (Misc): Add selinux-h.
33844
33845 2009-10-08  Jim Meyering  <meyering@redhat.com>
33846
33847         unistd: fix comment typo
33848         * lib/unistd.in.h (euidaccess): Fix a comment typo.
33849
33850 2009-10-08  Eric Blake  <ebb9@byu.net>
33851
33852         areadlink: use SIZE_MAX consistently
33853         * modules/areadlink (Depends-on): Add stdint.
33854         * modules/areadlink-with-size (Depends-on): Likewise.
33855         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
33856         gives NULL; drop sys/types, since unistd gives size_t; and add
33857         stdint for SIZE_MAX.
33858         (SIZE_MAX): Rely on headers.
33859         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
33860         and add stdint.
33861         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
33862         (SIZE_MAX): Likewise.
33863         (INITIAL_BUF_SIZE): Turn into enum.
33864         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
33865
33866 2009-10-08  Jim Meyering  <meyering@redhat.com>
33867
33868         areadlinkat: avoid compilation failure
33869         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
33870         Fix typo in comment.
33871
33872 2009-10-07  Eric Blake  <ebb9@byu.net>
33873
33874         areadlinkat-with-size: new module
33875         * modules/areadlinkat-with-size: New module.
33876         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
33877         * lib/areadlink.h (areadlinkat): Declare it.
33878         * MODULES.html.sh (File system functions): Mention it.
33879         * modules/areadlinkat-with-size-tests: New test.
33880         * tests/test-areadlinkat-with-size.c: New file.
33881
33882         xreadlinkat: new module
33883         * modules/xreadlinkat: New module.
33884         * lib/xreadlinkat.c (xreadlinkat): New file.
33885         * lib/xreadlink.h (xreadlinkat): Declare it.
33886         * MODULES.html.sh (File system functions): Mention it.
33887
33888         areadlinkat: new module
33889         * lib/at-func.c (FUNC_FAIL): New define.
33890         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
33891         * modules/areadlinkat: New module.
33892         * lib/linkat.c (areadlinkat): Move...
33893         * lib/areadlinkat.c (areadlinkat): ...to new file.
33894         * lib/areadlink.h (areadlinkat): Declare it.
33895         * modules/linkat (Depends-on): Add areadlinkat.
33896         * MODULES.html.sh (File system functions): Mention it.
33897         * modules/areadlinkat-tests: New test.
33898         * tests/test-areadlinkat.c: New file.
33899
33900         areadlink, areadlink-with-size: add tests
33901         * modules/areadlink-tests: New test.
33902         * modules/areadlink-with-size-tests: Likewise.
33903         * tests/test-areadlink.h: New file.
33904         * tests/test-areadlink.c: Likewise.
33905         * tests/test-areadlink-with-size.c: Likewise.
33906
33907         maint: minor cleanups
33908         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
33909         _UNUSED_PARAMETER_ instead.
33910         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
33911         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
33912         * modules/linkat-tests (Files): Distribute test-link.h.
33913
33914         openat, utimens: whitespace cleanup
33915         * lib/openat.c: Prefer space throughout, rather than mix of 8
33916         spaces vs. tabs.
33917         * lib/at-func.c: Likewise.
33918         * lib/utimens.c: Likewise.
33919
33920         openat: avoid using wrong fd
33921         * lib/openat.c (openat_permissive): Reject user's fd if saving the
33922         working directory chooses same fd.
33923         * lib/at-func.c (AT_FUNC_NAME): Likewise.
33924
33925         mkdir, mkdirat: fix cygwin 1.5.x bug
33926         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
33927         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
33928         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
33929         bug.
33930         (gl_PREREQ_MKDIR): Delete unused macro.
33931         * modules/mkdir (Files): Track file rename.
33932         (configure.ac): Update macro name.
33933         * modules/openat (Depends-on): Add mkdir.
33934         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
33935
33936         mkdir, mkdirat: add tests
33937         * modules/mkdir-tests: New test.
33938         * tests/test-mkdir.h: New file.
33939         * tests/test-mkdir.c: Likewise.
33940         * tests/test-mkdirat.c: Likewise.
33941         * modules/openat-tests (Files): Add new files.
33942         (Makefile.am): Run new test.
33943
33944 2009-10-06  Eric Blake  <ebb9@byu.net>
33945
33946         doc: tweak *at function documentation
33947         * doc/posix-functions/faccessat.texi (faccessat): Mention
33948         known issue with replacement.
33949         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
33950         * doc/posix-functions/linkat.texi (linkat): Likewise.
33951         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33952         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33953         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33954         * doc/posix-functions/renameat.texi (renameat): Likewise.
33955         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33956
33957         openat: fix GNU/Hurd bug in unlinkat
33958         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
33959         broken.
33960         * doc/posix-functions/unlink.texi (unlink): Document this.
33961         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
33962
33963         fdopendir: fix GNU/Hurd bug
33964         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
33965         allowing non-directory fds.
33966         * lib/fdopendir.c (rpl_fdopendir): Work around it.
33967         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33968         * modules/dirent (Makefile.am): Substitute it.
33969         * lib/dirent.in.h (fdopendir): Declare replacement.
33970         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
33971         * tests/test-fdopendir.c (main): Test something other than
33972         /dev/null, since on Hurd that behaves like a directory.
33973
33974         test-symlink: port to GNU/Hurd
33975         * tests/test-symlink.h (test_symlink): Relax expected errno.
33976
33977         doc: tweak more cygwin information
33978         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
33979         now compatible with glibc.
33980         * doc/posix-functions/getopt.texi (getopt): Likewise.
33981
33982         getopt-gnu: add another test
33983         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
33984         guarantee behavior relied on by m4.
33985         * tests/test-getopt.c (main): Use it.
33986         * modules/getopt-posix-tests (Depends-on): Add setenv.
33987         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
33988
33989         getopt: fix compilation on darwin
33990         * lib/getopt.in.h (includes): Leave breadcrumbs during system
33991         include.
33992         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
33993         Reported by Ludovic Courtès.
33994
33995 2009-10-06  Bruno Haible  <bruno@clisp.org>
33996
33997         * modules/size_max (Description): Discourage its use.
33998         Reported by Simon Josefsson.
33999
34000 2009-10-06  Jim Meyering  <meyering@redhat.com>
34001
34002         linkat: avoid compilation failure
34003         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
34004
34005 2009-10-05  Eric Blake  <ebb9@byu.net>
34006
34007         linkat: support Linux 2.6.17
34008         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
34009         linkat on Linux, but allow cache variable override.
34010         * lib/linkat.c (rpl_linkat): Define override.
34011         * modules/linkat (Depends-on): Add symlinkat.
34012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
34013         * modules/unistd (Makefile.am): Substitute it.
34014         * lib/unistd.in.h (linkat): Declare replacement.
34015         Reported by Pádraig Brady.
34016
34017         quotearg: port test to systems with C.UTF-8 locale
34018         * tests/test-quotearg.c (struct result_strings): Add another
34019         member, differentiating between C.ASCII and C.UTF-8 handling.
34020         (compare_strings): Add parameter.
34021         (main): Adjust all callers.
34022
34023         getopt: avoid clash with FreeBSD _getopt_internal
34024         * lib/getopt.in.h (_getopt_internal): Override the name.
34025         * lib/getopt_int.h (includes): Pick up any overrides.
34026         Reported by Reuben Thomas.
34027
34028         hash: allow C89 compilation
34029         * lib/hash.c (check_tuning): Move declaration before statement.
34030         Reported by Reuben Thomas.
34031
34032 2009-10-05  Karl Berry  <karl@gnu.org>
34033
34034         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
34035
34036 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
34037             Bruno Haible  <bruno@clisp.org>
34038
34039         * lib/uname.c (uname): Use a table-driven algorithm to compute
34040         Windows NT versions.
34041
34042 2009-10-04  Bruno Haible  <bruno@clisp.org>
34043
34044         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
34045         program_invocation_short_name.
34046         * modules/progname (configure.ac): Test for presence of
34047         program_invocation_short_name.
34048         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34049
34050 2009-10-04  Bruno Haible  <bruno@clisp.org>
34051
34052         * lib/progname.c (set_program_name): Fix comment.
34053         Reported by Jim Meyering.
34054
34055 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34056             Bruno Haible  <bruno@clisp.org>
34057
34058         * lib/uname.c: Include <string.h>.
34059         (uname): Do only one call to GetVersionEx in the common case.
34060
34061 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34062             Bruno Haible  <bruno@clisp.org>
34063
34064         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
34065         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
34066         (uname): Add support for Windows CE and various non-x86 CPU types.
34067
34068 2009-10-03  Bruno Haible  <bruno@clisp.org>
34069
34070         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
34071         invocation to tests/configure.ac.
34072         Reported by Ian Beckwith <ianb@erislabs.net>.
34073
34074 2009-10-02  Eric Blake  <ebb9@byu.net>
34075
34076         fchdir: avoid compiler warning
34077         * lib/fchdir.c (canonicalize_file_name)
34078         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
34079
34080         test-open: support mingw errno values
34081         * tests/test-open.h (test_open): Relax test.
34082         * tests/test-fopen.h (test_fopen): Likewise.
34083         * tests/test-openat-safer.c (main): Likewise.
34084
34085         open: fix opening directory on mingw
34086         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
34087
34088         test-open: on GNU/Hurd, /dev/null is a directory
34089         * tests/test-fopen.h (main): Rename...
34090         (test_fopen): ...to this.  Use a guaranteed non-directory when
34091         confirming open behavior on trailing slash.
34092         * tests/test-openat-safer.c (main): Likewise.
34093         * tests/test-open.h (main): Likewise....
34094         (test_open): ...to this.
34095         * tests/test-fopen.c (main): Adjust caller.
34096         * tests/test-fopen-safer.c (main): Likewise.
34097         * tests/test-open.c (main): Likewise.
34098         * tests/test-fcntl-safer.c (main): Likewise.
34099         Reported by Samuel Thibault.
34100
34101         rename, fchdir: don't ignore chdir failure
34102         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
34103         * lib/rename.c (rpl_rename) [W32]: Likewise.
34104         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
34105         an empty destination directory if source cannot be renamed,
34106         although there is still possibility for failure.
34107         * doc/posix-functions/rename.texi (rename): Document the race.
34108         Reported by Jim Meyering.
34109
34110         maint: cleanup whitespace in recent commits
34111         * lib/rename.c (rpl_rename): Remove tabs.
34112         * tests/test-link.h (test_link): Likewise.
34113         * lib/fchdir.c (get_name): Likewise.
34114         Reported by Jim Meyering.
34115
34116 2009-10-02  Ben Pfaff  <blp@gnu.org>
34117
34118         relocatable-prog-wrapper: Add missing dependency on
34119         double-slash-root.
34120         * modules/relocatable-prog-wrapper: Add dependency.
34121         Reported by Ian Beckwith <ianb@erislabs.net>.
34122
34123 2009-10-02  Eric Blake  <ebb9@byu.net>
34124
34125         renameat: fix Solaris bugs
34126         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
34127         needed fixing.
34128         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
34129         * modules/stdio (Makefile.am): Substitute it.
34130         * lib/stdio.in.h (renameat): Declare replacement.
34131         * lib/renameat.c (rpl_renameat): Implement fix.
34132
34133         renameat: new module
34134         * modules/renameat: New file.
34135         * lib/renameat.c (renameat): Likewise.
34136         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
34137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34138         * modules/stdio (Makefile.am): Substitute them.
34139         * lib/stdio.in.h (renameat): Declare it.
34140         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34141         * doc/posix-functions/renameat.texi (renameat): Likewise.
34142         * modules/renameat-tests: New test.
34143         * tests/test-renameat.c: Likewise.
34144
34145         rename: fix mingw bugs
34146         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
34147         directory overwrite bugs.
34148
34149         rename: fix another cygwin 1.5 bug
34150         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
34151         checks.
34152         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
34153         unnecessary cygwin workarounds.  Also work around bug with moving
34154         full directory onto an empty one.
34155         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
34156
34157         rename-dest-slash: merge into rename module
34158         * modules/rename-dest-slash (Status): Mark obsolete.
34159         (Depends-on): Add rename.
34160         (Files): Let rename do it all.
34161         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
34162         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
34163         * m4/rename-dest-slash.m4: ...so this file can be deleted.
34164         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
34165         * lib/rename.c (rpl_rename): Update comments.
34166
34167         rename: fix cygwin 1.5.x bugs
34168         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
34169         * lib/rename.c (rpl_rename): Work around them.
34170         * modules/rename (Depends-on): Add same-inode.
34171
34172         rename: fix Solaris 10 bug
34173         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34174         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
34175         was the only bug.
34176
34177         rename: fix Solaris 9 bug
34178         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
34179         on non-directory.  Avoid calling exit.
34180         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
34181         strdup.
34182         * modules/rename-tests (Depends-on): Drop lstat.
34183         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34184         (gl_PREREQ_RENAME): Delete unused macro.
34185
34186         rename-dest-slash: fix NetBSD bug
34187         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
34188         links.
34189         * modules/rename-dest-slash (Depends-on): Add same-inode.
34190
34191         rename-tests: new test, exposes several platform bugs
34192         * modules/rename-tests: New file.
34193         * tests/test-rename.h: Likewise.
34194         * tests/test-rename.c: Likewise.
34195         * doc/posix-functions/rename.texi (rename): Improve documentation,
34196         including bugs that will eventually be fixed in gnulib.
34197
34198 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
34199
34200         * lib/uname.c: Include <stdlib.h>
34201         (uname): Assume version info is available.
34202
34203 2009-10-02  Jim Meyering  <meyering@redhat.com>
34204
34205         gnu-web-doc-update: correct --help output
34206         * build-aux/gnu-web-doc-update: Make --help output relevant.
34207
34208         gnu-web-doc-update: add standard options
34209         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
34210
34211         gnu-web-doc-update: New module.
34212         Use this script to automatically update the on-line web documentation
34213         for your GNU project at http://www.gnu.org/software/$pkg/manual/
34214         * modules/gnu-web-doc-update: New file, from coreutils.
34215         * build-aux/gnu-web-doc-update: New script.
34216
34217 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
34218
34219         link: LoadLibrary is not needed.
34220         * lib/link.c: Use GetModuleHandle.
34221
34222 2009-10-01  Eric Blake  <ebb9@byu.net>
34223
34224         getopt: bump serial number
34225         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
34226         change.
34227
34228         tests: tighten link, rmdir, and remove tests
34229         * tests/test-link.h (includes): No need to use <config.h> here.
34230         Clean up if directory hard link was created, otherwise test for
34231         trailing '.'.
34232         * tests/test-linkat.c (main): Simplify.
34233         * tests/test-remove.c (main): Enhance test for trailing '.'.
34234         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34235
34236 2009-10-01  Jim Meyering  <meyering@redhat.com>
34237
34238         maint.mk: requiring "make major" was annoying, for a "minor" release.
34239         What is intended is "stable", to contrast with alpha and beta,
34240         so require "make stable", not "make major".
34241         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
34242         (get_tool_versions): Likewise.
34243         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
34244
34245 2009-09-30  Ben Pfaff  <blp@gnu.org>
34246
34247         Fix broken build of replacement for Windows tmpfile().
34248         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
34249         flags argument added along with the 'mkostemp' module.
34250
34251 2009-09-28  Bruno Haible  <bruno@clisp.org>
34252
34253         Avoid identifier clash with POSIX function 'remove' defined as a macro.
34254         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
34255         to 'remove_elt'.
34256         (gl_list_remove): Update.
34257         * lib/gl_list.c (gl_list_remove): Update.
34258         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
34259         to 'remove_elt'.
34260         (gl_oset_remove): Update.
34261         * lib/gl_list.c (gl_oset_remove): Update.
34262         Reported by Eric Blake.
34263
34264 2009-09-28  Eric Blake  <ebb9@byu.net>
34265
34266         doc: mention yet more cygwin 1.7 status
34267         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
34268         cygwin.
34269         * doc/glibc-functions/execvpe.texi (execvpe): New file.
34270         * doc/gnulib.texi (Glibc unistd.h): Mention it.
34271
34272         argp: fix test failure
34273         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
34274         that are not upper-case.  Pass correct range to tolower.
34275
34276 2009-09-27  Jim Meyering  <meyering@redhat.com>
34277
34278         test-yesno: work around sparc-dash here-document infelicity
34279         Without this change, the literal \177 byte in a here document
34280         would make dash 0.5.5.1-3 access uninitialized memory.
34281         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
34282         Instead, use a marker, "@", and filter through tr to create the desired
34283         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
34284
34285 2009-09-27  Bruno Haible  <bruno@clisp.org>
34286
34287         Disable untested support for new flavours of ACLs on AIX.
34288         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
34289         progress.
34290         * lib/set-mode-acl.c (qset_acl): Likewise.
34291
34292 2008-12-07  Bruno Haible  <bruno@clisp.org>
34293
34294         Add support for new flavours of ACLs on AIX. (Untested.)
34295         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
34296         (file_has_acl): Add support for newer AIX.
34297         * lib/set-mode-acl.c (qset_acl): Likewise.
34298         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
34299         Rainer Tammer <tammer@tammer.net>.
34300
34301 2009-09-26  Eric Blake  <ebb9@byu.net>
34302
34303         argp: fix compilation of getopt
34304         * lib/getopt.in.h (includes): Use different guard than glibc.
34305         Reported by Sergey Poznyakoff.
34306
34307         doc: mention more cygwin 1.7 status
34308         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
34309         bug.
34310         * doc/posix-functions/execl.texi (execl): Likewise.
34311         * doc/posix-functions/execle.texi (execle): Likewise.
34312         * doc/posix-functions/execlp.texi (execlp): Likewise.
34313         * doc/posix-functions/execv.texi (execv): Likewise.
34314         * doc/posix-functions/execve.texi (execve): Likewise.
34315         * doc/posix-functions/execvp.texi (execvp): Likewise.
34316         * doc/glibc-functions/canonicalize_file_name.texi
34317         (canonicalize_file_name): Cygwin 1.7 now provides this.
34318         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
34319         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
34320         on AT_SYMLINK_NOFOLLOW.
34321
34322 2009-09-24  Eric Blake  <ebb9@byu.net>
34323
34324         test-linkat: make test more robust
34325         * tests/test-linkat.c (main): Avoid collision with EEXIST.
34326
34327         getopt: fix inclusion guards for cygwin
34328         * modules/getopt-posix (Depends-on): Add include-next.
34329         (Makefile.am): Substitute more items in replacement header.
34330         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
34331         <getopt.h>.
34332         * lib/getopt.in.h (includes): Use split inclusion guard, and
34333         prefer <getopt.h> over include <unistd.h> when one is present.
34334         (option): Also override name of 'struct option'.
34335
34336         same-inode: revert prior change; it is not yet ready
34337         * NEWS: Undo mention of this change.
34338         * lib/same-inode.h (same-inode.h): Undo tri-state change.
34339         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34340         * lib/cycle-check.c (cycle_check): Likewise.
34341         * lib/same.c (same_name): Likewise.
34342         * lib/at-func2.c (at_func2): Likewise.
34343
34344 2009-09-23  Eric Blake  <ebb9@byu.net>
34345
34346         linkat: new module
34347         * modules/linkat: New file.
34348         * lib/at-func2.c (at_func2): Likewise.
34349         * lib/linkat.c (linkat): Likewise.
34350         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
34351         * lib/openat-priv.h (at_func2): Add declaration.
34352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34353         * modules/unistd (Makefile.am): Substitute them.
34354         * lib/unistd.in.h (linkat): Declare it.
34355         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34356         * doc/posix-functions/linkat.texi (linkat): Likewise.
34357         * doc/posix-functions/link.texi (link): Tweak wording.
34358         * tests/test-link.c (main): Move guts...
34359         * tests/test-link.h (test_link): ...into new file.
34360         * modules/linkat-tests: New test.
34361         * tests/test-linkat.c: Likewise.
34362         * modules/link-tests (Files): Ship new file.
34363         (Depends-on): Add stdbool.
34364
34365         dirname: add library-safe mdir_name
34366         * lib/dirname.h (mdir_name): New prototype.
34367         * lib/dirname.c (dir_name): Move guts...
34368         (mdir_name): ...to new function that avoids xalloc_die.
34369
34370         fchdir: another mingw fix
34371         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
34372         * lib/fchdir.c (get_name): New helper method; skips canonicalize
34373         on mingw (where it has not yet been ported), and make it optional
34374         elsewhere.
34375         (_gl_register_fd): Use it.
34376
34377         same-inode: make SAME_INODE tri-state, to port to mingw
34378         * NEWS: Mention this change.
34379         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
34380         st_ino always being 0.
34381         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34382         * lib/cycle-check.c (cycle_check): Likewise.
34383         * lib/same.c (same_name): Likewise.
34384
34385         lstat: avoid mingw compilation error
34386         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
34387         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
34388         lstat ourselves.
34389         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
34390         was adequate.
34391         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
34392         the checks for lstat.
34393         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
34394
34395         link: fix test failure on Solaris 9
34396         * lib/link.c (rpl_link): Don't assume link will catch bogus
34397         trailing slash on source.
34398
34399         test-symlinkat: enhance test
34400         * tests/test-readlink.c (main): Move guts...
34401         * tests/test-readlink.h (test_readlink): ...into new file.
34402         * tests/test-symlink.c (main): Move guts...
34403         * tests/test-symlink.h (test_symlink): ...into new file.
34404         * tests/test-symlinkat.c (main): Use new files for further
34405         coverage.
34406         (do_symlink, do_readlink): New helper functions.
34407         * modules/symlink-tests (Files): Ship new file.
34408         (Depends-on): Add stdbool.
34409         * modules/readlink-tests (Files): Ship new file.
34410         (Depends-on): Add stdbool.
34411         * modules/symlinkat-tests (Files): Use new files.
34412
34413 2009-09-23  Eric Blake  <ebb9@byu.net>
34414
34415         readlink: document portability issue with symlink length
34416         * doc/posix-functions/lstat.texi (lstat): Mention that some file
34417         systems have bogus st_size on symlinks, and mention the
34418         areadlink-with-size module.
34419         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34420         * doc/posix-functions/readlink.texi (readlink): Mention the
34421         areadlink module, and ERANGE failure.
34422         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34423         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
34424
34425         readlink: fix Solaris 9 bug with trailing slash
34426         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
34427         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
34428         * doc/posix-functions/readlink.texi (readlink): Document this.
34429         * modules/readlink-tests: New test.
34430         * tests/test-readlink.c: Likewise.
34431
34432         readlink: fix cygwin 1.5.x bug with return type
34433         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34434         * lib/unistd.in.h (readlink): Use ssize_t.
34435         * lib/readlink.c (readlink): Likewise.
34436         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34437         * modules/unistd (Makefile.am): Substitute it.
34438         * lib/unistd.in.h (readlink): Declare replacement.
34439         * doc/posix-functions/readlink.texi (readlink): Document this.
34440
34441         symlink: use throughout gnulib
34442         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34443         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34444         symlink is not used.
34445         * modules/symlinkat (Depends-on): Add symlink.
34446         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34447         * modules/canonicalize-tests (Depends-on): Likewise.
34448         * modules/lstat-tests (Depends-on): Likewise.
34449         * modules/openat-tests (Depends-on): Likewise.
34450         * modules/remove-tests (Depends-on): Likewise.
34451         * modules/rmdir-tests (Depends-on): Likewise.
34452         * modules/unlink-tests (Depends-on): Likewise.
34453         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34454         * tests/test-canonicalize.c (symlink): Likewise.
34455         * tests/test-fstatat.c (symlink): Likewise.
34456         * tests/test-lstat.c (symlink): Likewise.
34457         * tests/test-remove.c (symlink): Likewise.
34458         * tests/test-rmdir.c (symlink): Likewise.
34459         * tests/test-unlink.c (symlink): Likewise.
34460         * tests/test-unlinkat.c (symlink): Likewise.
34461
34462         symlink: new module, for Solaris 9 bug
34463         * modules/symlink: New file.
34464         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34465         * lib/symlink.c: Likewise.
34466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34467         * modules/unistd (Makefile.am): Substitute them.
34468         * lib/unistd.in.h (symlink): Declare replacement.
34469         * MODULES.html.sh (File system functions): Mention it.
34470         * doc/posix-functions/symlink.texi (symlink): Likewise.
34471         * modules/symlink-tests: New test.
34472         * tests/test-symlink.c: Likewise.
34473
34474 2009-09-23  Bruno Haible  <bruno@clisp.org>
34475
34476         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34477         when needed.
34478         Test case: gnulib-tool --import --with-tests atexit inttypes.
34479         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34480
34481 2009-09-23  Bruno Haible  <bruno@clisp.org>
34482
34483         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34484         subcommand, not in a subshell.
34485
34486 2009-09-22  Eric Blake  <ebb9@byu.net>
34487
34488         unistd: sort replacement declarations
34489         * lib/unistd.in.h: Sort declarations.
34490
34491         open, openat: minor optimization
34492         * lib/open.c (open): If open succeeded, len is non-zero.
34493         * lib/openat.c (rpl_openat): Likewise.
34494
34495         link-follow: ensure correct result
34496         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34497         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34498         distinguish between possible failures.
34499
34500 2009-09-21  Eric Blake  <ebb9@byu.net>
34501
34502         fts: avoid compiler warning
34503         * lib/fts.c (dirent_inode_sort_may_be_useful)
34504         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34505
34506 2009-09-19  Bruno Haible  <bruno@clisp.org>
34507
34508         * lib/progreloc.c (canonicalize_file_name): New declaration.
34509
34510 2009-09-19  Eric Blake  <ebb9@byu.net>
34511
34512         link: fix quoting
34513         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34514
34515         openat: fix openat bugs on Solaris 9
34516         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34517         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34518         * modules/openat (Depends-on): Add open.
34519         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34520         * modules/fcntl-h (Makefile.am): Substitute it.
34521         * lib/fcntl.in.h (openat): Declare replacement.
34522         * doc/posix-functions/openat.texi (openat): Document this.
34523
34524         openat: move fstatat and unlinkat into correct files
34525         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34526         compiled.
34527         * lib/openat.c (fstatat, unlinkat): Move...
34528         * lib/fstatat.c (fstatat): ...into correct files.
34529         * lib/unlinkat.c (unlinkat): Likewise.
34530
34531         openat: fix unlinkat bugs on Solaris 9
34532         * lib/unlinkat.c (unlinkat): New file.
34533         * modules/openat (Depends-on): Add unlink.
34534         (Files): Distribute it.
34535         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34536         trailing slash behavior is broken.
34537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34538         * modules/unistd (Makefile.am): Substitute it.
34539         * lib/unistd.in.h (unlinkat): Declare replacement.
34540         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34541
34542         openat: fix fstatat bugs on Solaris 9
34543         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34544         stat.
34545         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34546
34547         test-unlinkat: enhance test, to expose Solaris 9 bug
34548         * tests/test-unlink.c (main): Factor guts...
34549         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34550         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34551         * tests/test-rmdir.c (main): Adjust caller.
34552         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34553         (unlinker): New helper function.
34554         (rmdirat): Enhance check.
34555         * modules/rmdir-tests (Depends-on): Add stdbool.
34556         * modules/unlink-tests (Depends-on): Likewise.
34557         (Files): Add test-unlink.h.
34558         * modules/openat-tests (Files): Likewise.
34559         (Depends-on): Add unlinkdir.
34560
34561         test-fstatat: new test, to expose Solaris 9 bugs
34562         * tests/test-stat.c (main): Factor guts...
34563         * tests/test-stat.h (test_stat_func): ...into new file.
34564         * tests/test-lstat.c (main): Factor guts...
34565         * tests/test-lstat.h (test_lstat_func): ...into new file.
34566         * tests/test-fstatat.c: New file.
34567         * modules/stat-tests (Files): Add test-stat.h.
34568         * modules/lstat-tests (Files): Add test-lstat.h.
34569         (Depends-on): Add stdbool.
34570         * modules/openat-tests (Depends-on): Add pathmax.
34571         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34572         (Makefile.am): Run new test.
34573
34574         remove: new module, for mingw and Solaris 9 bugs
34575         * modules/remove: New file.
34576         * lib/remove.c: Likewise.
34577         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34578         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34579         * modules/stdio (Makefile.am): Use them.
34580         * lib/stdio.in.h (remove): Declare replacement.
34581         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34582         * doc/posix-functions/remove.texi (remove): Likewise.
34583         * modules/remove-tests: New test.
34584         * tests/test-remove.c: Likewise.
34585
34586         unlink: new module, for Solaris 9 bug
34587         * modules/unlink: New file.
34588         * lib/unlink.c: Likewise.
34589         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34591         * modules/unistd (Makefile.am): Use them.
34592         * lib/unistd.in.h (stat): Declare replacement.
34593         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34594         * doc/posix-functions/unlink.texi (unlink): Likewise.
34595         * modules/unlink-tests: New test.
34596         * tests/test-unlink.c: Likewise.
34597
34598         lstat: fix Solaris 9 bug
34599         * lib/lstat.c (lstat): Also check for trailing slash on
34600         non-symlink, non-directories.  Use stat module to simplify logic.
34601         * doc/posix-functions/lstat.texi (lstat): Document it.
34602         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34603         (configure.ac): Check for symlink.
34604         * tests/test-lstat.c (main): Add more tests.
34605
34606         stat: add as dependency to other modules
34607         * modules/chown (Depends-on): Add stat.
34608         * modules/euidaccess (Depends-on): Likewise.
34609         * modules/fchdir (Depends-on): Likewise.
34610         * modules/isdir (Depends-on): Likewise.
34611         * modules/link (Depends-on): Likewise.
34612         * modules/lstat (Depends-on): Likewise.
34613         * modules/mkdir-p (Depends-on): Likewise.
34614         * modules/modechange (Depends-on): Likewise.
34615         * modules/open (Depends-on): Likewise.
34616         * modules/readlink (Depends-on): Likewise.
34617         * modules/same (Depends-on): Likewise.
34618
34619         stat: fix Solaris 9 bug
34620         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34621         slash.
34622         * lib/stat.c (rpl_stat): Work around it.
34623         * doc/posix-functions/stat.texi (stat): Update documentation.
34624
34625         stat: new module, for mingw bug
34626         * modules/stat: New file.
34627         * lib/stat.c: Likewise.
34628         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34629         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34630         * modules/sys_stat (Makefile.am): Use them.
34631         * lib/sys_stat.in.h (stat): Declare replacement.
34632         * lib/openat.c (fstatat): Deal with lstat and stat being function
34633         macros.
34634         * modules/openat (Depends-on): Add inline.
34635         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34636         * doc/posix-functions/stat.texi (stat): Likewise.
34637         * modules/stat-tests: New test.
34638         * tests/test-stat.c: Likewise.
34639
34640 2009-09-19  Jim Meyering  <meyering@redhat.com>
34641
34642         syntax-check: detect unnecessary inclusion of canonicalize.h
34643         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34644
34645 2009-09-19  Eric Blake  <ebb9@byu.net>
34646
34647         canonicalize-lgpl: adjust clients to use correct header
34648         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34649         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34650         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34651         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34652         * lib/progreloc.c (includes): Likewise.
34653
34654 2009-09-19  Jim Meyering  <meyering@redhat.com>
34655
34656         test-posixtm.c: correct a comment
34657         * tests/test-posixtm.c: Correct first-line comment.
34658         Spotted by Eric Blake.
34659
34660 2009-09-16  Jim Meyering  <meyering@redhat.com>
34661
34662         posixtm-tests: make T const-correct; add a test case
34663         * tests/test-posixtm.c (T): Declare const.
34664         Add a test for -(2^31+1).
34665         Remove useless can-succeed-only-in-2002 test.
34666
34667         posixtm-tests: adjust the sole failing test
34668         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34669         expected output matches what mktime now produces.  Cross-checked via
34670         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34671
34672         posixtm: move #ifdef'd tests into a new module
34673         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34674         * tests/test-posixtm.c: ... this new file.
34675         * modules/posixtm-tests: New module.
34676
34677 2009-09-19  Eric Blake  <ebb9@byu.net>
34678
34679         openat: simplify use of at-func.c
34680         * lib/at-func.c (includes): Include prerequisites here, to
34681         simplify requirements on client files.
34682         * lib/openat-priv.h: Add double-inclusion guard.
34683         * lib/faccessat.c (includes): Simplify.
34684         * lib/fchmodat.c (includes): Likewise.
34685         * lib/fchownat.c (includes): Likewise.
34686         * lib/mkdirat.c (includes): Likewise.
34687         * lib/mkfifoat.c (includes): Likewise.
34688         * lib/symlinkat.c (includes): Likewise.
34689
34690         openat: allow return of fd 0
34691         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34692         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34693         unistd-safer.
34694         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34695         <fcntl.h>; this module does not leak fds.
34696         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34697         must be allowed to return 0, leaving openat_safer to add the
34698         safety.
34699         (openat_permissive): Avoid writing to just-opened fd 2 if
34700         restoring the current directory fails.
34701         * lib/openat-die.c (openat_restore_fail): Add comment.
34702         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34703         (save_cwd): Guarantee safe fd, but without use of open_safer.
34704         * tests/test-openat.c: New test.
34705         * modules/openat-tests (Files, Makefile.am): Distribute and build
34706         new file.
34707
34708         relocatable-prog-wrapper: fix build
34709         * modules/relocatable-prog-wrapper (Files): Update name of
34710         canonicalize m4 file, broken on 2009-09-17.
34711         Reported by emad hajjar <aleppos@hotmail.com>.
34712
34713 2009-09-19  Bruno Haible  <bruno@clisp.org>
34714
34715         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34716         * lib/safe-alloc.c: Likewise.
34717         Reported by Ian Beckwith <ianb@erislabs.net>.
34718
34719 2009-09-18  Bruno Haible  <bruno@clisp.org>
34720
34721         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34722         Reported by <erobles@sensacd.com.mx>.
34723
34724 2009-09-17  Eric Blake  <ebb9@byu.net>
34725
34726         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34727         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34728         slashes when checking if last component is missing.
34729         * tests/test-canonicalize.c (main): Test this.
34730
34731         canonicalize, canonicalize-lgpl: honor // if distinct from /
34732         * modules/canonicalize (Files): Add double-slash-root.m4.
34733         * modules/canonicalize-lgpl (Files): Likewise.
34734         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34735         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34736         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34737         fallback definition.
34738         (canonicalize_filename_mode): Use it to protect //.
34739         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34740         (__realpath): Likewise.
34741         * tests/test-canonicalize.c (main): Test this.
34742         * tests/test-canonicalize-lgpl.c (main): Likewise.
34743         * modules/canonicalize-tests (Depends-on): Add same-inode.
34744         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34745
34746         canonicalize-lgpl: fix glibc bug with trailing slash
34747         * m4/canonicalize-lgpl.m4: Move contents...
34748         * m4/canonicalize.m4: ...here.
34749         (gl_CANONICALIZE_LGPL): Factor realpath check...
34750         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34751         glibc 2.3.5 bug, fixed 2005-04-27.
34752         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34753         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34754         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34755         * modules/canonicalize-lgpl (Files): Manage file rename.
34756         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34757         * modules/stdlib (Makefile.am): Substitute witness.
34758         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34759         is needed.
34760         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34761         replacement is required.
34762         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34763         * doc/glibc-functions/canonicalize_file_name.texi
34764         (canonicalize_file_name): Document this.
34765         * doc/posix-functions/realpath.texi (realpath): Likewise.
34766
34767         canonicalize-lgpl: reject non-directory with trailing slash
34768         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34769         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34770         catches failures in glibc 2.3.5.
34771         * tests/test-canonicalize.c (main): Likewise.
34772
34773         canonicalize-lgpl: use native realpath if it works
34774         * lib/canonicalize-lgpl.c (realpath): Guard with
34775         FUNC_REALPATH_WORKS.
34776         * lib/stdlib.in.h (realpath): Make declaration optional based on
34777         HAVE_REALPATH.
34778         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34779         native realpath works.
34780         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34781         * modules/stdlib (Makefile.am): Substitute witness.
34782
34783         canonicalize, canonicalize-lgpl: use <stdlib.h>
34784         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34785         (Include): Mention <stdlib.h>.
34786         (configure.ac): Mention functions we provide.
34787         * modules/canonicalize (configure.ac): Likewise.
34788         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34789         realpath if canonicalize_file_name is missing.
34790         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34791         * modules/stdlib (Makefile.am): Substitute witnesses.
34792         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34793         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34794         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34795         * NEWS: Document this.
34796         * doc/glibc-functions/canonicalize_file_name.texi
34797         (canonicalize_file_name): Likewise.
34798         * doc/posix-functions/realpath.texi (realpath): Likewise.
34799         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34800
34801         test-canonicalize: consolidate into single C program
34802         * tests/test-canonicalize.sh: Delete; move setup into...
34803         * tests/test-canonicalize.c (main): ...the program, making it
34804         easier to run in debugger.  Add some tests.
34805         * modules/canonicalize-tests (Files): Remove unused file.
34806         (Depends-on): Add progname.
34807         (configure.ac, Makefile.am): Simplify.
34808
34809         test-canonicalize-lgpl: consolidate into single C program
34810         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34811         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34812         easier to run in debugger.  Add some tests.
34813         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34814         (configure.ac, Makefile.am): Simplify.
34815
34816         canonicalize: avoid resolvepath
34817         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34818         unnecessary checks.
34819         * lib/canonicalize.c (includes): Simplify.
34820         (canonicalize_file_name): Drop resolvepath implementation.
34821         * modules/canonicalize (Depends-on): Drop filenamecat.
34822
34823         canonicalize: don't lose errno
34824         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34825         over calls to free.
34826
34827         canonicalize: simplify errno handling
34828         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34829         assignment.
34830
34831         canonicalize, canonicalize-lgpl: update module dependencies
34832         * modules/canonicalize (Depends-on): Add extensions, lstat,
34833         pathmax, stdlib.
34834         (Files): Drop pathmax.h.
34835         (configure.ac): Adjust macro name.
34836         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34837         lstat, stdlib, sys_stat.
34838         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34839         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34840         extensions.
34841         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
34842         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
34843         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
34844         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
34845         declaration, if available.
34846         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
34847         we can rely on the readlink module.
34848         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
34849         (includes): Use <unistd.h> unconditionally.
34850
34851 2009-09-17  Eric Blake  <ebb9@byu.net>
34852
34853         maint: make Include sections of modules consistent
34854         * modules/alloca: Use only header name; no need to list #include.
34855         * modules/alloca-opt: Likewise.
34856         * modules/arpa_inet: Likewise.
34857         * modules/canon-host: Likewise.
34858         * modules/configmake: Likewise.
34859         * modules/dirent: Likewise.
34860         * modules/eealloc: Likewise.
34861         * modules/environ: Likewise.
34862         * modules/fchdir: Likewise.
34863         * modules/fcntl: Likewise.
34864         * modules/fcntl-h: Likewise.
34865         * modules/gethrxtime: Likewise.
34866         * modules/gettime: Likewise.
34867         * modules/ignore-value: Likewise.
34868         * modules/inet_ntop: Likewise.
34869         * modules/inet_pton: Likewise.
34870         * modules/inttypes: Likewise.
34871         * modules/isnand-nolibm: Likewise.
34872         * modules/isnanf-nolibm: Likewise.
34873         * modules/mbchar: Likewise.
34874         * modules/mbfile: Likewise.
34875         * modules/mbiter: Likewise.
34876         * modules/mbuiter: Likewise.
34877         * modules/netdb: Likewise.
34878         * modules/netinet_in: Likewise.
34879         * modules/nproc: Likewise.
34880         * modules/pagealign_alloc: Likewise.
34881         * modules/poll: Likewise.
34882         * modules/printf-frexp: Likewise.
34883         * modules/pthread: Likewise.
34884         * modules/putenv: Likewise.
34885         * modules/random_r: Likewise.
34886         * modules/relocatable-prog: Likewise.
34887         * modules/search: Likewise.
34888         * modules/select: Likewise.
34889         * modules/selinux-h: Likewise.
34890         * modules/settime: Likewise.
34891         * modules/signal: Likewise.
34892         * modules/size_max: Likewise.
34893         * modules/socklen: Likewise.
34894         * modules/ssize_t: Likewise.
34895         * modules/stdarg: Likewise.
34896         * modules/stdbool: Likewise.
34897         * modules/stddef: Likewise.
34898         * modules/stdint: Likewise.
34899         * modules/stdio: Likewise.
34900         * modules/stdlib: Likewise.
34901         * modules/string: Likewise.
34902         * modules/strings: Likewise.
34903         * modules/sys_file: Likewise.
34904         * modules/sys_ioctl: Likewise.
34905         * modules/sys_select: Likewise.
34906         * modules/sys_socket: Likewise.
34907         * modules/sys_stat: Likewise.
34908         * modules/sys_time: Likewise.
34909         * modules/sys_times: Likewise.
34910         * modules/sys_utsname: Likewise.
34911         * modules/sys_wait: Likewise.
34912         * modules/sysexits: Likewise.
34913         * modules/time: Likewise.
34914         * modules/times: Likewise.
34915         * modules/tmpfile: Likewise.
34916         * modules/trim: Likewise.
34917         * modules/unistd: Likewise.
34918         * modules/wchar: Likewise.
34919         * modules/wctype: Likewise.
34920
34921 2009-09-17  Bruno Haible  <bruno@clisp.org>
34922
34923         Make getdate.y compile on QNX and NetBSD 5 / i386.
34924         * m4/getdate.m4 (gl_GETDATE): Conditionally define
34925         TIME_T_FITS_IN_LONG_INT.
34926         * lib/getdate.y (long_time_t): New type.
34927         (relative_time): Change type of 'seconds' field to long_time_t.
34928         (get_date): Update types of local variables. Check against overflow
34929         during conversion from long_time_t to time_t.
34930         Reported by Matt Kraai <kraai@ftbfs.org>
34931         and Hasso Tepper <hasso@netbsd.org>.
34932
34933 2009-09-17  Bruno Haible  <bruno@clisp.org>
34934
34935         * modules/COPYING: Update copyright years.
34936         * modules/README: Likeiwse.
34937         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
34938         Reported by Ian Beckwith <ianb@erislabs.net>.
34939
34940 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34941
34942         * users.txt: Update references for gnuit package.
34943
34944 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34945
34946         * m4/getdelim.m4: Fix typo in copyright line.
34947
34948 2009-09-17  Bruno Haible  <bruno@clisp.org>
34949
34950         * lib/atoll.c: Use the standard header with GPL copyright.
34951         * lib/argz.in.h: Likewise.
34952         * lib/glob.c: Likewise.
34953         * lib/glob-libc.h: Likewise.
34954         * lib/random_r.c: Likewise.
34955         * lib/siglist.h: Likewise.
34956         * lib/strsignal.c: Likewise.
34957         Reported by Ian Beckwith <ianb@erislabs.net>.
34958
34959 2009-09-17  Eric Blake  <ebb9@byu.net>
34960
34961         rmdir: ensure correct dependency order
34962         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
34963
34964 2009-09-17  Bruno Haible  <bruno@clisp.org>
34965
34966         Disable assertion that fails on NetBSD 5 / i386.
34967         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
34968         Reported by Sam Steingold <sds@gnu.org>
34969         and Hasso Tepper <hasso@netbsd.org>.
34970
34971 2009-09-16  Eric Blake  <ebb9@byu.net>
34972
34973         unlinkdir: port to mingw
34974         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
34975         on which no one can unlink a directory.
34976
34977         stdlib: sort witness names
34978         * modules/stdlib (Makefile.am): Sort replacements.
34979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34980         * lib/stdlib.in.h: Likewise.
34981
34982         parse-duration-tests: avoid link failure
34983         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
34984         LIBINTL.
34985         Reported by Tom G. Christensen.
34986
34987         openat-tests: ensure unlinkat behaves like rmdir
34988         * tests/test-rmdir.c (main): Factor guts...
34989         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
34990         * modules/rmdir-tests (Files): Ship new file.
34991         * modules/openat-tests: New test.
34992         * tests/test-unlinkat.c: Likewise.
34993
34994         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
34995         * modules/rmdir-errno (Status, Notice): Now obsolete.
34996
34997         rmdir: work around cygwin 1.5.x and mingw bugs
34998         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
34999         * lib/rmdir.c (rmdir): Work around it.
35000         * modules/rmdir (Status, Notice): No longer obsolete.
35001         (Files): Add dos.m4.
35002         (Depends-on): Add unistd.
35003         (configure.ac): Set witnesses.
35004         (License): Relax to LGPLv2+.
35005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
35006         * modules/unistd (Makefile.am): Substitute witnesses.
35007         * lib/unistd.in.h (rmdir): Declare replacement.
35008         * doc/posix-functions/rmdir.texi (rmdir): Document this.
35009         * modules/rmdir-tests: New tests.
35010         * tests/test-rmdir.c: Likewise.
35011
35012 2009-09-15  Eric Blake  <ebb9@byu.net>
35013
35014         fchdir: improve use of replacement functions
35015         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
35016         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
35017         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
35018         REPLACE_CLOSEDIR.
35019         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
35020         * modules/sys_stat (Makefile.am): Substitute correct witness.
35021         * modules/dirent (Makefile.am): Likewise.
35022         * modules/unistd (Makefile.am): Likewise.
35023         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
35024         * lib/unistd.in.h (dup): Likewise.
35025         * lib/sys_stat.in.h (fstat): Likewise.
35026
35027         maint: ignore gnulib-tool temp files
35028         * .gitignore: Ignore files created during gnulib-tool --test.
35029
35030 2009-09-13  Jim Meyering  <meyering@redhat.com>
35031
35032         posixtm: don't reject a time that specify "60" as the number of seconds
35033         * lib/posixtm.c (posixtime): The code to reject invalid dates
35034         would also reject a time specified with the .60 suffix.
35035         But POSIX allows that, in order to accommodate leap seconds.
35036         So don't reject it.
35037         (main): Adjust tests accordingly.
35038         * modules/posixtm (Depends-on): Add stpcpy.
35039
35040 2009-09-11  Jim Meyering  <meyering@redhat.com>
35041
35042         announce-gen: include [$release_type] in emitted Subject:
35043         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
35044         e.g., [stable] in the emitted Subject: line.
35045
35046 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35047
35048         Remove obsolete macros from several modules.
35049         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
35050         obsolete Autoconf macros with their modern counterparts.
35051         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
35052         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
35053         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
35054         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35055         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
35056         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35057         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
35058         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35059         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
35060         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
35061         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
35062         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
35063         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
35064         * m4/sockets.m4 (gl_SOCKETS): Likewise.
35065         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
35066         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
35067         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35068         * m4/time_r.m4 (gl_TIME_R): Likewise.
35069         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
35070         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
35071         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35072
35073         Fix copyright header in build-aux scripts.
35074         * build-aux/git-version-gen: Fix copyright header to match GPLv3
35075         recommendation.
35076         * build-aux/ncftpput-ftp: Likewise.
35077         * build-aux/update-copyright: Likewise.
35078
35079 2009-09-09  Eric Blake  <ebb9@byu.net>
35080
35081         test-link: allow Linux choice of errno
35082         * tests/test-link.c (main): Relax test for alternate error.
35083
35084         strndup: fix improper m4 caching
35085         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
35086         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
35087         (gl_PREREQ_STRNDUP): Delete.
35088         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
35089         * modules/string (Makefile.am): Substitute it.
35090         * lib/string.in.h (strndup): Modernize prototype.
35091
35092         getcwd: port to mingw
35093         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
35094         different from the POSIX assumptions made throughout the getcwd
35095         module; fortunately, the mingw getcwd does not need replacement.
35096         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
35097         * modules/getcwd-tests: New test.
35098         * tests/test-getcwd.c: Likewise.
35099
35100         link: fix platform bugs
35101         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
35102         * lib/link.c (link): Work around them.  Fix related mingw bug.
35103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
35104         * modules/unistd (Makefile.am): Substitute it.
35105         * lib/unistd.in.h (link): Declare replacement.
35106         * doc/posix-functions/link.texi (link): Document this.
35107         * modules/link (Depends-on): Add strdup-posix, sys_stat.
35108
35109         test-link: consolidate into single C program, test more cases
35110         * tests/test-link.sh: Delete.
35111         * tests/test-link.c: Test more error conditions.  Exposes bugs on
35112         at least Cygwin and Solaris.
35113         * modules/link-tests (Files): Remove unused file.
35114         (Depends-on): Add errno, sys_stat.
35115         (Makefile.am): Simplify.
35116
35117 2009-09-08  Bruno Haible  <bruno@clisp.org>
35118
35119         Work around towlower, towupper bug on mingw.
35120         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
35121         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
35122         * doc/posix-functions/towlower.texi: Mention the mingw bug.
35123         * doc/posix-functions/towupper.texi: Likewise.
35124         Reported by Eric Blake.
35125
35126 2009-09-08  Jim Meyering  <meyering@redhat.com>
35127
35128         build: don't try to run autoheader if we don't use it
35129         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
35130         is not used in configure.ac.
35131
35132 2009-09-08  Eric Blake  <ebb9@byu.net>
35133
35134         euidaccess: fix compilation error
35135         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
35136
35137         rawmemchr: relax license
35138         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
35139         okay.
35140         Reported by Jim Meyering.
35141
35142         mkfifoat: new module
35143         * modules/mkfifoat: New file.
35144         * lib/mkfifoat.c: Likewise.
35145         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
35146         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35147         * modules/sys_stat (Makefile.am): Use them.
35148         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
35149         * MODULES.html.sh (File system functions): Mention module.
35150         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35151         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35152         * modules/mkfifoat-tests: New test.
35153         * tests/test-mkfifoat.c: Likewise.
35154
35155         strchrnul: relax license
35156         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
35157         okay.
35158         Reported by Jim Meyering.
35159
35160 2009-09-08  Eric Blake  <ebb9@byu.net>
35161
35162         fstatat: fix compilation on Solaris
35163         * lib/fstatat.c (includes): Add fcntl.h.
35164         Reported by Pádraig Brady.
35165
35166 2009-09-07  Eric Blake  <ebb9@byu.net>
35167
35168         rename: modernize replacement
35169         * modules/rename (Depends-on): Add stdio.
35170         (configure.ac): Declare witness.
35171         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
35172         stdio take care of replacement.
35173         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35174         * modules/stdio (Makefile.am): Substitute them.
35175         * lib/stdio.in.h (rename): Declare replacement.
35176         * lib/rename.c (includes): Allow cross-compilation to non-windows
35177         machines.
35178         * doc/posix-functions/rename.texi (rename): Improve
35179         documentation.
35180
35181         stdio: sort witness names
35182         * modules/stdio (Makefile.am): Sort replacements.
35183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35184         * lib/stdio.in.h: Likewise.
35185
35186         getcwd: minor cleanups
35187         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
35188         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
35189
35190         openat: provide more convenience names
35191         * modules/faccessat (configure.ac): Add C witness.
35192         * lib/unistd.in.h (readlinkat): Fix typo.
35193         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
35194         convenience wrappers.
35195         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
35196         wrappers in syntax checks.
35197
35198 2009-09-06  Eric Blake  <ebb9@byu.net>
35199
35200         doc: fix comments in recent patches
35201         * lib/faccessat.c: Mention correct function.
35202         * lib/fchmodat.c: Likewise.
35203         * lib/fchownat.c: Likewise.
35204         * lib/symlinkat.c: Likewise.
35205         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
35206         constants.
35207
35208         faccessat, symlinkat: continue cleanup of previous patch
35209         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
35210         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35211         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
35212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
35213         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
35214         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
35215         set.
35216
35217 2009-09-06  Bruno Haible  <bruno@clisp.org>
35218
35219         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
35220         (fstatat): Declare if GNULIB_FSTATAT is set.
35221         (mkdirat): Declare if GNULIB_MKDIRAT is set.
35222         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
35223         (unlinkat): Declare if GNULIB_UNLINKAT is set.
35224         * modules/fcntl-h (Files): Remove m4/openat.m4.
35225         * modules/sys_stat (Files): Remove m4/openat.m4.
35226         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
35227         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
35228         * modules/unistd (Files): Remove m4/openat.m4.
35229         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
35230         GNULIB_OPENAT.
35231         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
35232         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
35233         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
35234         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
35235         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
35236         gl_OPENAT_DEFAULTS.
35237         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
35238         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
35239         Don't require gl_OPENAT_DEFAULTS.
35240         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
35241         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
35242         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
35243         (gl_OPENAT_DEFAULTS): Remove macro.
35244
35245 2009-09-06  Bruno Haible  <bruno@clisp.org>
35246
35247         * modules/openat (configure.ac): Remove unneeded witness.
35248
35249 2009-09-06  Bruno Haible  <bruno@clisp.org>
35250
35251         Set errno to ENOSYS when a function is entirely unsupported.
35252         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
35253         EOPNOTSUPP.
35254         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35255         * modules/chown (Depends-on): Remove errno.
35256
35257 2009-09-06  Bruno Haible  <bruno@clisp.org>
35258
35259         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
35260
35261 2009-09-06  Bruno Haible  <bruno@clisp.org>
35262
35263         * lib/sys_stat.in.h: Fix preprocessor command indentation.
35264
35265 2009-09-06  Ben Pfaff  <blp@gnu.org>
35266             Bruno Haible  <bruno@clisp.org>
35267
35268         Work around a glibc bug in strtok_r.
35269         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
35270         Undefine if UNDEFINE_STRTOK_R is set.
35271         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
35272         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35273         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
35274         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
35275         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
35276         UNDEFINE_STRTOK_R.
35277         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
35278
35279 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
35280
35281         exclude: minor fix
35282         * lib/exclude.c: Include wctype.h
35283
35284 2009-09-06  Akim Demaille  <demaille@gostai.com>
35285
35286         bootstrap: improve error message
35287         * build-aux/bootstrap (find_tool): Upon failure, report the list
35288         of candidates.
35289         Honor the initial value of the envvar.
35290
35291 2009-09-05  Eric Blake  <ebb9@byu.net>
35292
35293         symlinkat: new module
35294         * modules/symlinkat: New file.
35295         * lib/symlinkat.c: Likewise.
35296         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
35297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35298         * modules/unistd (Makefile.am): Use them.
35299         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
35300         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
35301         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
35302         * MODULES.html.sh (File system functions): Mention module.
35303         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35304         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35305         * modules/symlinkat-tests: New test.
35306         * tests/test-symlinkat.c: Likewise.
35307
35308         test-openat-safer: add more checks
35309         * tests/test-openat-safer.c (main): Check more code paths.
35310
35311 2009-09-05  Jim Meyering  <meyering@redhat.com>
35312
35313         syntax-check: detect unnecessary inclusion of openat.h
35314         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
35315
35316 2009-09-05  Bruno Haible  <bruno@clisp.org>
35317
35318         Support towlower, towupper.
35319         * doc/posix-functions/towlower.texi: Mention module wctype.
35320         * doc/posix-functions/towupper.texi: Likewise.
35321         * lib/wctype.in.h (towlower, towupper): New functions.
35322         * tests/test-wctype.c: Include stdio.h, stdlib.h.
35323         (ASSERT): New macro.
35324         (e): New variable.
35325         (main): Test also towlower, towupper. Test WEOF argument.
35326         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35327
35328 2009-09-05  Bruno Haible  <bruno@clisp.org>
35329
35330         Fix conversion behaviour when the input is invalid.
35331         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
35332         mark occurring in first pass of indirect conversion.
35333         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
35334         input.
35335         Found by clang's static analyzer.
35336
35337 2009-09-05  Bruno Haible  <bruno@clisp.org>
35338
35339         * tests/test-striconveh.c (main): Test indirect conversion on platforms
35340         where direct conversion is possible.
35341
35342 2009-09-04  Eric Blake  <ebb9@byu.net>
35343
35344         openat: fail with ENOENT on empty name
35345         * lib/openat-proc.c (openat_proc_name): Special-case the empty
35346         buffer.
35347
35348         link-follow: fix logic bug in prior patch
35349         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
35350         reversed sense of yes and no in prior patch.  Avoid confusing
35351         compilation failure with desired semantics.
35352
35353         link-follow: accomodate mingw and cross-compilation
35354         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
35355         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
35356         cross-compilation results to -1, to make linkat easier to
35357         implement when cross-compiling.  Trivially support mingw.
35358         * modules/link-follow (configure.ac): Call new name.
35359         * NEWS: Mention this.
35360
35361 2009-09-03  Eric Blake  <ebb9@byu.net>
35362
35363         faccessat: compile replacement
35364         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
35365         needed.
35366
35367         fts: fix compilation error
35368         * lib/fts.c (includes): Re-add "openat.h", for
35369         openat_needs_fchdir.
35370
35371         faccessat: new module
35372         * modules/faccessat: New file.
35373         * lib/faccessat.c: Likewise.
35374         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35376         * modules/unistd (Makefile.am): Use it.
35377         * lib/unistd.in.h (faccessat): Declare it.
35378         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
35379         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
35380         * MODULES.html.sh (File system functions): Mention it.
35381         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
35382         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35383
35384         euidaccess: prefer POSIX over non-standard implementation
35385         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
35386         * lib/euidaccess.c (euidaccess): Use it if available.
35387
35388         openat: make template easier to use
35389         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
35390         AT_FUNC_F2 to be undefined.
35391         (VALIDATE_FLAG): New macro; use it to reject bad flags.
35392         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
35393         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
35394         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
35395         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
35396         Likewise.
35397         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
35398         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
35399         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
35400         Likewise.
35401
35402         openat: declare in POSIX headers
35403         * NEWS: Mention this.
35404         * modules/openat (configure.ac): Declare witnesses.
35405         (Depends-on): Add fcntl-h, sys_stat, unistd.
35406         (Include): Mention correct headers.
35407         * modules/fcntl-h (Depends-on): Add link-warning.
35408         (Files): Add openat.m4.
35409         (Makefile.am): Substitute witnesses.
35410         * modules/sys_stat (Files, Makefile.am): Likewise.
35411         * modules/unistd (Files, Makefile.am): Likewise.
35412         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
35413         (gl_OPENAT_DEFAULTS): New macro.
35414         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
35415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
35416         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
35417         (SYS_STAT_H): Remove unused variable.
35418         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
35419         * lib/fcntl--.h (includes): Remove unneeded header.
35420         * lib/openat-safer.c (includes): Likewise.
35421         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
35422         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
35423         appropriate headers.
35424         (__OPENAT_PREFIX): Delete.
35425         * lib/fcntl.in.h (openat): Provide declaration.
35426         (AT_FDCWD): Fix Solaris bug.
35427         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
35428         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
35429         * lib/fchmodat.c (includes):  Adjust to find declaration.
35430         * lib/fchownat.c (includes): Likewise.
35431         * lib/mkdirat.c (includes): Likewise.
35432         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35433         still visible.
35434
35435 2009-09-02  Eric Blake  <ebb9@byu.net>
35436
35437         errno: use consistently
35438         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35439         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35440         * lib/canonicalize.c (ELOOP): Likewise.
35441         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35442         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35443         * lib/lchown.c (EOPNOTSUPP): Likewise.
35444         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35445         * lib/savewd.c (ESTALE): Likewise.
35446         * lib/settime.c (ENOSYS): Likewise.
35447         * lib/utimens.c (ENOSYS): Likewise.
35448         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35449         * lib/chdir-safer.c (ELOOP): Likewise.
35450         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35451         * modules/c-stack (Depends-on): Add errno.
35452         * modules/canonicalize (Depends-on): Likewise.
35453         * modules/chdir-safer (Depends-on): Likewise.
35454         * modules/fdopendir (Depends-on): Likewise.
35455         * modules/inet_ntop (Depends-on): Likewise.
35456         * modules/inet_pton (Depends-on): Likewise.
35457         * modules/lchown (Depends-on): Likewise.
35458         * modules/openat (Depends-on): Likewise.
35459         * modules/savewd (Depends-on): Likewise.
35460         * modules/settime (Depends-on): Likewise.
35461         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35462
35463         fts: avoid leaking fds
35464         * modules/fts (Depends-on): Add cloexec.
35465         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35466         flag.
35467
35468         fts: make directory fds more robust
35469         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35470         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35471
35472         backupfile, chdir-long, fts, savedir: make safer
35473         * lib/backupfile.c (includes): Use "dirent--.h", since
35474         numbered_backup can write to stderr during readdir.
35475         * lib/savedir.c (includes): Likewise.
35476         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35477         emulation can write to stderr on failure.
35478         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35479         * lib/getcwd.c: Document why opendir_safer is unused.
35480         * lib/glob.c: Likewise.
35481         * lib/scandir.c: Likewise.
35482         * lib/openat-proc.c: Likewise, for open_safer.
35483         * modules/backupfile (Depends-on): Add dirent-safer.
35484         * modules/savedir (Depends-on): Likewise.
35485         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35486         * modules/chdir-long (Depends-on): Add openat-safer.
35487
35488         openat-safer: new module
35489         * modules/openat-safer: New file.
35490         * lib/openat-safer.c: Likewise.
35491         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35492         * lib/fcntl-safer.h (openat_safer): Declare.
35493         * lib/fcntl--.h (openat): Override.
35494         * MODULES.html.sh (File descriptor based I/O): Mention it.
35495         * lib/openat.h: Add double-inclusion guards.
35496         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35497         "fcntl--.h", so we can implement openat.
35498         * modules/openat-safer-tests: New test.
35499         * tests/test-openat-safer.c: New file.
35500
35501         dirent-safer: new module
35502         * modules/dirent-safer: New file.
35503         * lib/dirent--.h: Likewise.
35504         * lib/dirent-safer.h: Likewise.
35505         * lib/opendir-safer.c: Likewise.
35506         * m4/dirent-safer.m4: Likewise.
35507         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35508         * modules/dirent-safer-tests: New test.
35509         * tests/test-dirent-safer.c: New file.
35510         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35511
35512         fdopendir: optimize on mingw
35513         * lib/unistd.in.h (_gl_directory_name): New prototype.
35514         * lib/fchdir.c (_gl_directory_name): Implement it.
35515         (fchdir): Use it to simplify implementation.
35516         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35517         fchdir, when available, to avoid calling [f]chdir().
35518
35519         fdopendir: split into its own module
35520         * lib/openat.c (fdopendir): Move...
35521         * lib/fdopendir.c: ...into new file.
35522         * modules/fdopendir: New module.
35523         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35524         * modules/openat (Depends-on): Add fdopendir.
35525         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35526         fdopendir here.
35527         * modules/savedir (Depends-on): Only need fdopendir, not full
35528         openat.
35529         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35530         * lib/openat.h (fdopendir): Drop prototype.
35531         * lib/dirent.in.h (fdopendir): Provide prototype.
35532         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35533         * modules/dirent (Makefile.am): Substitute them.
35534         * MODULES.html.sh (File system functions): Mention it.
35535         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35536         * modules/fdopendir-tests: New file.
35537         * tests/test-fdopendir.c: Likewise.
35538
35539         fchdir: use more consistent macro convention
35540         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35541         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35542         REPLACE_FCHDIR, rather than relying on config.h macros.
35543         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35544         inside a single make-time REPLACE_FCHDIR block, rather than using
35545         the config.h FCHDIR_REPLACEMENT.
35546         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35547         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35548         Manage fstat replacement.
35549         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35550         REPLACE_FCHDIR.
35551         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35552         (Makefile.am): Substitute REPLACE_FCHDIR.
35553         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35554         FCHDIR_REPLACEMENT.
35555         * lib/dup-safer.c (dup_safer): Likewise.
35556         * lib/dup2.c (rpl_dup2): Likewise.
35557         * lib/dup3.c (rpl_dup3): Likewise.
35558         * lib/open.c (rpl_open): Likewise.
35559
35560         fchdir: simplify error handling, and support dup3
35561         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35562         stdbool, malloc-posix, realloc-posix.
35563         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35564         (ensure_dirs_slot): Return false on allocation failure.
35565         (rpl_dup2): Delete.
35566         (_gl_register_dup): New function.
35567         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35568         (_gl_register_fd): Close fd on allocation failure.
35569         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35570         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35571         prototype.
35572         (rpl_dup2_fchdir): Delete prototype.
35573         * lib/open.c (open): Update caller.
35574         * lib/dup2.c (dup2): Track fchdir metadata.
35575         * lib/dup3.c (dup3): Likewise.
35576         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35577         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35578
35579 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35580
35581         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35582         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35583         don't pass arguments to AC_OUTPUT.
35584
35585 2009-09-02  Bruno Haible  <bruno@clisp.org>
35586
35587         * modules/mkdtemp (License): Relicense under LGPLv2+.
35588         Reported by Paolo Bonzini.
35589
35590 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35591
35592         Replace uses of obsolete autoconf macros in Jim's modules.
35593         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35594         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35595         can evoke a warning from autoconf when run with -Wobsolete
35596         enabled.  They were declared obsolete for good reasons (see
35597         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35598         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35599         should not continue using the deprecated macros.
35600         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35601         obsolete Autoconf macros with modern counterparts.
35602         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35603         * m4/dos.m4 (gl_AC_DOS): Likewise.
35604         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35605         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35606         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35607         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35608         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35609         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35610         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35611         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35612         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35613         Likewise.
35614         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35615         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35616         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35617         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35618         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35619         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35620
35621 2009-09-01  Eric Blake  <ebb9@byu.net>
35622
35623         fchdir: fix off-by-one bug in previous patch
35624         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35625         (_gl_unregister_fd): Delete useless if.
35626
35627 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35628
35629         maint.mk: sort the list of syntax-check rules
35630         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35631         easier to get a sense of progress when the rules are run sequentially
35632         and take a long time.
35633
35634 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35635
35636         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35637         * modules/netinet_in: Likewise.
35638         * modules/sys_file: Likewise.
35639         * modules/sys_ioctl: Likewise.
35640         * modules/sys_select: Likewise.
35641         * modules/sys_socket: Likewise.
35642         * modules/sys_stat: Likewise.
35643         * modules/sys_time: Likewise.
35644         * modules/sys_times: Likewise.
35645         * modules/sys_utsname: Likewise.
35646         * modules/sys_wait: Likewise.
35647
35648 2009-09-01  Jim Meyering  <meyering@redhat.com>
35649
35650         fts: help ensure that return values are not ignored
35651         * lib/fts_.h (__GNUC_PREREQ): Define.
35652         (__attribute_warn_unused_result__): Define.
35653         (fts_children, fts_close, fts_open, fts_read): Declare with
35654         __attribute_warn_unused_result__.
35655
35656         fts: fts_close now fails also when closing a dir file descriptor fails
35657         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35658         and propagate to caller, along with errno.
35659
35660         announce-gen: correct formatting in --help output
35661         * build-aux/announce-gen (usage): Move the one-line description in
35662         --help output "up", to where it belongs, just after Usage:.
35663
35664 2009-08-31  Eric Blake  <ebb9@byu.net>
35665
35666         fchdir: port to mingw
35667         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35668         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35669         opened, then use a substitute.
35670         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35671         replacement.
35672         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35673         (_gl_register_fd): No need to check stat if open already filters
35674         all directories.
35675         (fchdir): Fix error condition to match POSIX.
35676         * modules/fchdir (Depends-on): Add sys_stat.
35677         * doc/posix-functions/open.texi (open): Document the limitation.
35678         * modules/fchdir-tests: New file.
35679         * tests/test-fchdir.c: Likewise.
35680
35681         canonicalize: allow cross-testing from cygwin to mingw
35682         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35683         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35684         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35685         Likewise.
35686         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35687         target does not support symlinks.
35688         * tests/test-canonicalize-lgpl.sh: Likewise.
35689
35690         chown: avoid compilation warning on mingw
35691         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35692         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35693         mingw.
35694         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35695         * modules/chown (Depends-on): Add errno.
35696
35697 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35698
35699         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35700         command.
35701
35702 2009-08-31  Jim Meyering  <meyering@redhat.com>
35703
35704         canonicalize: remove useless initialization
35705         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35706         initialization of local, "end".
35707
35708 2009-08-30  Bruno Haible  <bruno@clisp.org>
35709
35710         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35711         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35712         ENOSYS.
35713
35714 2009-08-30  Bruno Haible  <bruno@clisp.org>
35715
35716         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35717         /usr/xpg4/bin/tr when it exists.
35718         * tests/test-pipe-filter-gi1.sh: Likewise.
35719
35720 2009-08-30  Bruno Haible  <bruno@clisp.org>
35721
35722         Work around deficient /usr/bin/id program on Solaris.
35723         * tests/test-file-has-acl.sh (ID): New variable.
35724         * tests/test-set-mode-acl.sh (ID): Likewise.
35725         * tests/test-copy-acl.sh (ID): Likewise.
35726         * tests/test-copy-file.sh (ID): Likewise.
35727
35728 2009-08-30  Bruno Haible  <bruno@clisp.org>
35729
35730         New module 'xstriconveh'.
35731         * lib/xstriconveh.h: New file.
35732         * lib/xstriconveh.c: New file.
35733         * modules/xstriconveh: New file.
35734
35735 2009-08-30  Bruno Haible  <bruno@clisp.org>
35736
35737         Make it easier to use mem_cd_iconveh.
35738         * lib/striconveh.h (iconveh_t): New type.
35739         (iconveh_open, iconveh_close): New declarations.
35740         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35741         with a single 'const iconveh_t *' argument.
35742         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35743         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35744         with a single 'const iconveh_t *' argument.
35745         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35746         * tests/test-striconveh.c (main): Update.
35747         * NEWS: Mention the change.
35748
35749 2009-08-30  Bruno Haible  <bruno@clisp.org>
35750
35751         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35752         problem.
35753
35754 2009-08-30  Bruno Haible  <bruno@clisp.org>
35755
35756         Work around iconv_open problem on Solaris.
35757         * lib/iconv_open-solaris.gperf: New file.
35758         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35759         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35760         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35761         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35762         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35763         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35764
35765 2009-08-29  Jim Meyering  <meyering@redhat.com>
35766
35767         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35768         * top/maint.mk (cvs-check): Remove target; it was just an alias
35769         to the better-named vc-diff-check.
35770         (maintainer-distcheck): Remove rule.  It was used only from
35771         the (alpha/beta/major) target, and all of its commands but one
35772         were coreutils-specific.
35773         (vc-dist): Remove rule.
35774         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35775         Run vc-diff-check, not vc-dist.
35776         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35777
35778 2009-08-27  Bruno Haible  <bruno@clisp.org>
35779
35780         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35781         of 0.
35782
35783 2009-08-27  Bruno Haible  <bruno@clisp.org>
35784
35785         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35786         compilers.
35787         * doc/func.texi: Document the SunPRO C bug.
35788
35789 2009-08-27  Bruno Haible  <bruno@clisp.org>
35790
35791         Fix link error on Solaris.
35792         * tests/test-parse-duration.c (xstrdup): Remove function.
35793
35794 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35795
35796         ignore-value: handle pointer types, too
35797         * lib/ignore-value.h (__attribute__): Remove definition.
35798         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35799         of a more concise and more-often effective "(void) i" statement.
35800         (ignore_ptr): New function to suppress warnings from functions that
35801         return pointers, and to make it explicit that one function doesn't
35802         handle all cases.
35803
35804 2009-08-25  Bruno Haible  <bruno@clisp.org>
35805
35806         dup2: work around a Linux bug.
35807         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35808         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35809         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35810         Reported by Simon Josefsson.
35811
35812 2009-08-25  Jim Meyering  <meyering@redhat.com>
35813
35814         libguestfs uses gnulib
35815         * users.txt: Add libguestfs.
35816
35817 2009-08-24  Eric Blake  <ebb9@byu.net>
35818
35819         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35820         * lib/pipe2.c (includes): Add binary-io.h.
35821         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35822
35823 2009-08-24  Bruno Haible  <bruno@clisp.org>
35824
35825         Tolerate declared but missing accept4 syscall.
35826         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35827         available.
35828         * lib/sys_socket.in.h (accept4): If the function is already present,
35829         override it.
35830         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35831         * modules/accept4 (Makefile.am): Compile accept4.c always.
35832         Reported by Paolo Bonzini and Eric Blake.
35833
35834 2009-08-23  Bruno Haible  <bruno@clisp.org>
35835
35836         New module 'accept4'.
35837         * lib/sys_socket.in.h (accept4): New declaration.
35838         * lib/accept4.c: New file.
35839         * m4/accept4.m4: New file.
35840         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35841         GNULIB_ACCEPT4, HAVE_ACCEPT4.
35842         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
35843         HAVE_ACCEPT4.
35844         * modules/accept4: New file.
35845         * doc/glibc-functions/accept4.texi: Mention the new module.
35846
35847 2009-08-24  Jim Meyering  <meyering@redhat.com>
35848
35849         progname: also set global program_invocation_name, when possible
35850         Before this change, a libtool-enabled program that calls glibc's
35851         error function would report the program name as
35852         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
35853         * modules/progname (configure.ac): Check for a declaration of
35854         program_invocation_name.
35855         * lib/progname.c:  Include <errno.h>.
35856         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
35857         Set program_invocation_name.
35858
35859 2009-08-23  Bruno Haible  <bruno@clisp.org>
35860
35861         * lib/dup3.c: Include <string.h>.
35862
35863 2009-08-23  Bruno Haible  <bruno@clisp.org>
35864
35865         * lib/dup3.c (dup3): Test only once whether the system actually exists.
35866         * lib/pipe2.c (pipe2): Likewise.
35867         Suggested by Eric Blake.
35868
35869 2009-08-23  Bruno Haible  <bruno@clisp.org>
35870
35871         Tolerate declared but missing dup3 syscall.
35872         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
35873         * lib/unistd.in.h (dup3): If the function is already present,
35874         override it.
35875         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
35876         * modules/dup3 (Makefile.am): Compile dup3.c always.
35877         Reported by Paolo Bonzini.
35878
35879 2009-08-23  Bruno Haible  <bruno@clisp.org>
35880
35881         Tolerate declared but missing pipe2 syscall.
35882         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
35883         available.
35884         * lib/unistd.in.h (pipe2): If the function is already present,
35885         override it.
35886         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
35887         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
35888         Reported by Paolo Bonzini.
35889
35890 2009-08-23  Bruno Haible  <bruno@clisp.org>
35891
35892         * lib/pipe2.c (pipe2): Move #ifs inside function.
35893
35894 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35895
35896         quotearg: document limitations of quote_these_too
35897         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
35898         those limitations are created.
35899         * lib/quotearg.h (set_char_quoting): Document that digits and
35900         letters that are special after backslash are not permitted.
35901         (quotearg_char): Cross-reference set_char_quoting documentation.
35902
35903 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
35904
35905         quotearg: implement custom_quoting_style
35906         * lib/quotearg.c: (struct quoting_options): Add left_quote and
35907         right_quote fields.
35908         (set_custom_quoting): New public function.
35909         (quotearg_buffer_restyled): Add left_quote and right_quote
35910         arguments, handle them very much like locale quoting, and update
35911         all uses.
35912         (quotearg_n_custom): New public function.
35913         (quotearg_n_custom_mem): New public function.
35914         (quotearg_custom): New public function.
35915         (quotearg_custom_mem): New public function.
35916         * lib/quotearg.h: Prototype and document new public functions.
35917         (enum quoting_style): For escape_quoting_style and
35918         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
35919         ignored even though they're otherwise like c_quoting_style.
35920         Add custom_quoting_style member and document with comparison to
35921         clocale_quoting_style.
35922         * tests/test-quotearg.c (custom_quotes): New array.
35923         (custom_results): New array.
35924         (main): Extend to test custom quoting.
35925
35926 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35927
35928         quotearg: fix right quote escaping when it's in quote_these_too
35929         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
35930         quote, be sure to prepend only one backslash.
35931         * tests/test-quotearg.c (use_quote_double_quotes): New function.
35932         (main): Test it.
35933
35934 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35935
35936         quotearg-tests: test escaping of embedded locale quotes
35937         * tests/test-quotearg.c (struct result_strings): Add member for
35938         new input.
35939         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
35940         (inputs): Add new input.
35941         (results_g): Add expected results.
35942         (flag_results): Likewise.
35943         (locale_results): Likewise.
35944         (compare_strings): Check those.
35945
35946 2009-08-23  Bruno Haible  <bruno@clisp.org>
35947
35948         Tests for module 'dup3'.
35949         * modules/dup3-tests: New file.
35950         * tests/test-dup3.c: New file.
35951
35952         New module 'dup3'.
35953         * lib/unistd.in.h (dup3): New declaration.
35954         * lib/dup3.c: New file.
35955         * m4/dup3.m4: New file.
35956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
35957         HAVE_DUP3.
35958         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
35959         * modules/dup3: New file.
35960         * doc/glibc-functions/dup3.texi: Mention the new module.
35961
35962 2009-08-23  Bruno Haible  <bruno@clisp.org>
35963
35964         Tweak the dup2 test.
35965         * tests/test-dup2.c (main): Create the test file empty. Verify that an
35966         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
35967         the test file is still empty. Fix argument order of lseek.
35968
35969 2009-08-23  Bruno Haible  <bruno@clisp.org>
35970
35971         Avoid test link errors when the modules getopt-gnu, gettext are used.
35972         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
35973         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35974
35975 2009-08-23  Bruno Haible  <bruno@clisp.org>
35976
35977         Fix getdtablesize() on mingw.
35978         * lib/getdtablesize.c (getdtablesize): Implement differently.
35979         * lib/unistd.in.h (getdtablesize): Improve comment.
35980
35981 2009-08-23  Bruno Haible  <bruno@clisp.org>
35982
35983         New module 'mkostemp'.
35984         Based on Ulrich Drepper's 2007-08-10 change in glibc.
35985         * lib/stdlib.in.h (mksotemp): New declaration.
35986         * lib/mkostemp.c: New file, from glibc with modifications.
35987         * lib/tempname.h (GT_FILE): Remove outdated comment.
35988         (gen_tempname): Add flags argument.
35989         * lib/tempname.c (__GT_BIGFILE): Remove macro.
35990         (__GT_FILE): Map to 1.
35991         (small_open, large_open): Remove macros.
35992         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
35993         * lib/mkstemp.c (mkstemp): Update.
35994         * lib/mkdtemp.c (mkdtemp): Likewise.
35995         * m4/mkostemp.m4: New file.
35996         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
35997         HAVE_MKOSTEMP.
35998         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
35999         HAVE_MKOSTEMP.
36000         * modules/mkostemp: New file, based on modules/mkstemp.
36001         * doc/glibc-functions/mkostemp.texi: Mention the new module.
36002         * NEWS: Mention the change.
36003
36004 2009-08-23  Bruno Haible  <bruno@clisp.org>
36005
36006         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
36007         Reported by Eric Blake.
36008
36009 2009-08-23  Bruno Haible  <bruno@clisp.org>
36010
36011         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
36012         Reported by Eric Blake.
36013
36014 2009-08-23  Bruno Haible  <bruno@clisp.org>
36015
36016         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
36017         * modules/pipe2 (Depends-on): Likewise.
36018
36019 2009-08-23  Eric Blake  <ebb9@byu.net>
36020
36021         fcntl-h: add O_TTY_INIT support
36022         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
36023         * tests/test-fcntl-h.c (o): Test it.
36024         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36025
36026         fcntl-h: rename from fcntl, in preparation for fcntl(2)
36027         * modules/fcntl: Move <fcntl.h> header replacement...
36028         * modules/fcntl-h: ...to new name, so as not to collide with
36029         like-named function.
36030         * tests/test-fcntl.c: Rename...
36031         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
36032         * modules/fcntl-tests: Rename...
36033         * modules/fcntl-h-tests: ...to this.  Update test file name.
36034         * modules/chdir-long (Depends-on): Update clients.
36035         * modules/chdir-safer (Depends-on): Likewise.
36036         * modules/fcntl-safer (Depends-on): Likewise.
36037         * modules/fts (Depends-on): Likewise.
36038         * modules/mkancesdirs (Depends-on): Likewise.
36039         * modules/mkdir-p (Depends-on): Likewise.
36040         * modules/open (Depends-on): Likewise.
36041         * modules/savewd (Depends-on): Likewise.
36042         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
36043         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36044
36045 2009-08-22  Bruno Haible  <bruno@clisp.org>
36046
36047         * modules/binary-io (License): Relicense under LGPL.
36048         * modules/pipe2 (License): Likewise.
36049
36050 2009-08-22  Bruno Haible  <bruno@clisp.org>
36051
36052         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
36053         return value.
36054         * lib/pipe-filter-gi.c (filter_init): Likewise.
36055         Reported by Eric Blake.
36056
36057 2009-08-22  Bruno Haible  <bruno@clisp.org>
36058
36059         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
36060         * modules/pipe (Depends-on): Add pipe2.
36061
36062 2009-08-22  Bruno Haible  <bruno@clisp.org>
36063
36064         Tests for module 'pipe2'.
36065         * modules/pipe2-tests: New file.
36066         * tests/test-pipe2.c: New file.
36067
36068         New module 'pipe2'.
36069         * lib/unistd.in.h (pipe2): New declaration.
36070         * lib/pipe2.c: New file.
36071         * m4/pipe2.m4: New file.
36072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
36073         HAVE_PIPE2.
36074         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
36075         * modules/pipe2: New file.
36076         * doc/glibc-functions/pipe2.texi: Mention the new module.
36077
36078 2009-08-22  Bruno Haible  <bruno@clisp.org>
36079
36080         Reference some new glibc functions.
36081         * doc/glibc-functions/accept4.texi: New file.
36082         * doc/glibc-functions/dup3.texi: New file.
36083         * doc/glibc-functions/mkostemp.texi: New file.
36084         * doc/glibc-functions/pipe2.texi: New file.
36085         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
36086         (Glibc sys/socket.h): Refer to accept4.
36087         (Glibc unistd.h): Refer to dup3, pipe2.
36088         Reported by Eric Blake.
36089
36090 2009-08-22  Jim Meyering  <meyering@redhat.com>
36091             Bruno Haible  <bruno@clisp.org>
36092
36093         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
36094         This makes it so packages using automake-1.11's silent-rules option
36095         can print e.g., a single "GEN    configmake.h" line, rather than
36096         the 30+ statements that perform the job.  If you want to see the
36097         actual commands, you can still run "make V=1".
36098         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
36099         so that make output is abbreviated when those variables are defined
36100         appropriately.
36101         * modules/argz: Likewise.
36102         * modules/arpa_inet: Likewise.
36103         * modules/byteswap: Likewise.
36104         * modules/configmake: Likewise.
36105         * modules/dirent: Likewise.
36106         * modules/errno: Likewise.
36107         * modules/fcntl: Likewise.
36108         * modules/float: Likewise.
36109         * modules/fnmatch: Likewise.
36110         * modules/getopt-posix: Likewise.
36111         * modules/glob: Likewise.
36112         * modules/iconv_open: Likewise.
36113         * modules/inttypes: Likewise.
36114         * modules/localcharset: Likewise.
36115         * modules/locale: Likewise.
36116         * modules/math: Likewise.
36117         * modules/netdb: Likewise.
36118         * modules/netinet_in: Likewise.
36119         * modules/poll: Likewise.
36120         * modules/posix_spawnp-tests: Likewise.
36121         * modules/sched: Likewise.
36122         * modules/search: Likewise.
36123         * modules/selinux-h: Likewise.
36124         * modules/signal: Likewise.
36125         * modules/spawn: Likewise.
36126         * modules/stdarg: Likewise.
36127         * modules/stdbool: Likewise.
36128         * modules/stddef: Likewise.
36129         * modules/stdint: Likewise.
36130         * modules/stdio: Likewise.
36131         * modules/stdlib: Likewise.
36132         * modules/string: Likewise.
36133         * modules/strings: Likewise.
36134         * modules/sys_file: Likewise.
36135         * modules/sys_ioctl: Likewise.
36136         * modules/sys_select: Likewise.
36137         * modules/sys_socket: Likewise.
36138         * modules/sys_stat: Likewise.
36139         * modules/sys_time: Likewise.
36140         * modules/sys_times: Likewise.
36141         * modules/sys_utsname: Likewise.
36142         * modules/sys_wait: Likewise.
36143         * modules/sysexits: Likewise.
36144         * modules/time: Likewise.
36145         * modules/unistd: Likewise.
36146         * modules/wchar: Likewise.
36147         * modules/wctype: Likewise.
36148
36149 2009-08-22  Jim Meyering  <meyering@redhat.com>
36150
36151         announce-gen: detect write failure
36152         * build-aux/announce-gen: Add Coda at end.
36153         Remove equivalent-but-more-verbose block at top.
36154
36155 2009-08-19  Akim Demaille  <demaille@gostai.com>
36156
36157         bootstrap: --help to stdout.
36158         * bootstrap (usage): Don't send --help to stderr.
36159         Use a here doc instead of a long string.
36160
36161 2009-08-21  Eric Blake  <ebb9@byu.net>
36162
36163         test-popen-safer: split from test-popen
36164         * tests/test-popen.c (main): Move...
36165         * tests/test-popen.h: ...into new file.
36166         * tests/test-popen-safer2.c: New file.
36167         * modules/popen-tests (Files): Add test-popen.h.
36168         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
36169         Suggested by Bruno Haible.
36170
36171         test-fcntl-safer: split from test-open
36172         * tests/test-open.c (main): Move...
36173         * tests/test-open.h: ...into new file.
36174         * tests/test-fcntl-safer.c: New file.
36175         * modules/open-tests (Files): Add test-open.h.
36176         * modules/fcntl-safer-tests: New file.
36177         Suggested by Bruno Haible.
36178
36179         test-fopen-safer: split from test-fopen
36180         * tests/test-fopen.c (main): Move...
36181         * tests/test-fopen.h: ...into new file.
36182         * tests/test-fopen-safer.c: New file.
36183         * modules/fopen-tests (Files): Add test-fopen.h.
36184         * modules/fopen-safer-tests: New file.
36185         Suggested by Bruno Haible.
36186
36187 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36188
36189         popen-safer: test O_CLOEXEC at run-time.
36190         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
36191
36192 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36193
36194         fcntl: move more flags to the header
36195         * lib/cloexec.c: Do not define FD_CLOEXEC here.
36196         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
36197         * lib/fcntl.in.h: Do both things here.
36198
36199 2009-08-21  Jim Meyering  <meyering@redhat.com>
36200
36201         consistently remove $@-t before redirecting to it
36202         * modules/argz: Remove $@-t and $@ before redirecting to the former.
36203         * modules/alloca-opt: Likewise.
36204         * modules/byteswap: Likewise.
36205         * modules/fnmatch: Likewise.
36206         * modules/getopt-posix: Likewise.
36207         * modules/glob: Likewise.
36208         * modules/poll: Likewise.
36209         * modules/posix_spawnp-tests: Likewise.
36210         * modules/sys_socket: Likewise.
36211         * modules/sysexits: Likewise.
36212
36213 2009-08-21  Eric Blake  <ebb9@byu.net>
36214
36215         popen: simplify access to original popen
36216         * lib/popen.c (rpl_popen): No need to worry about popen being a
36217         macro.
36218         Reported by Bruno Haible.
36219
36220 2009-08-20  Eric Blake  <ebb9@byu.net>
36221
36222         build: avoid some compiler warnings
36223         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
36224         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
36225         type.
36226         (new_exclude_segment, excluded_file_pattern_p)
36227         (excluded_file_name_p): Reduce scope.
36228         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
36229         old-style declaration.
36230
36231 2009-08-20  Simon Josefsson  <simon@josefsson.org>
36232
36233         * tests/test-exclude1.sh: Handle Windows EOL.
36234         * tests/test-exclude2.sh: Likewise.
36235         * tests/test-exclude3.sh: Likewise.
36236         * tests/test-exclude4.sh: Likewise.
36237         * tests/test-exclude5.sh: Likewise.
36238         * tests/test-exclude6.sh: Likewise.
36239         * tests/test-exclude7.sh: Likewise.
36240
36241 2009-08-19  Akim Demaille  <demaille@gostai.com>
36242
36243         bootstrap: find sha1sum when named gsha1sum.
36244         * bootstrap (find_tool): New.
36245         ($SHA1SUM): New.
36246         Use it.
36247
36248 2009-08-20  Jim Meyering  <meyering@redhat.com>
36249
36250         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
36251         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
36252         expression that converts "." in a file name to "\." in the resulting
36253         regexp.  Start with a dummy statement, so that prior shell variable
36254         definitions are expanded portably.  Reported by Simon Josefsson.
36255
36256 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
36257
36258         Fix polling for writeability of a screen buffer.
36259         * lib/poll.c: Distinguish input and screen buffers for the
36260         Win32 implementation.
36261         * lib/select.c: Likewise.
36262
36263 2009-08-19  Eric Blake  <ebb9@byu.net>
36264
36265         popen-safer: prevent popen from clobbering std descriptors
36266         * modules/popen-safer: New file.
36267         * lib/popen-safer.c: Likewise.
36268         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
36269         * lib/stdio--.h (popen): Provide override.
36270         * lib/stdio-safer.h (popen_safer): Provide declaration.
36271         * tests/test-popen.c (includes): Partially test this.
36272         * modules/popen-safer-tests: New file, for more tests.
36273         * tests/test-popen-safer.c: Likewise.
36274         * MODULES.html.sh (file stream based Input/Output): Mention it.
36275
36276         tests: test some of the *-safer modules
36277         * modules/fopen-safer (Depends-on): Add fopen.
36278         * modules/fcntl-safer (Depends-on): Add fcntl.
36279         * modules/stdlib-safer (Depends-on): Add stdlib.
36280         (configure.ac): Set indicator.
36281         * modules/unistd-safer (configure.ac): Likewise.
36282         * modules/tmpfile-safer (configure.ac): Likewise.
36283         (Depends-on): Add tmpfile.
36284         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
36285         active.
36286         * tests/test-fopen.c (includes): Test safer versions when they are
36287         in use.
36288         * tests/test-open.c (includes): Likewise.
36289
36290         popen: fix cygwin 1.5 bug when stdin closed
36291         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
36292         * modules/popen: New file.
36293         * modules/popen-tests: Likewise.
36294         * tests/test-popen.c: Likewise.
36295         * m4/popen.m4: Likewise.
36296         * lib/popen.c: Likewise.
36297         * lib/stdio.in.h (popen): New declaration.
36298         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
36299         * modules/stdio (Makefile.am): Likewise.
36300         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
36301
36302 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
36303
36304         maint.mk: give full control over update-copyright exclusions
36305         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
36306         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
36307         (update-copyright): Don't force inclusion of top-level
36308         ChangeLog.  Don't force exclusion of all COPYING files, but make
36309         them the default exclusion instead.
36310
36311 2009-08-16  Bruno Haible  <bruno@clisp.org>
36312
36313         Fix test failures on Solaris 10.
36314         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
36315         tests when Solaris iconv() is used.
36316         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36317         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36318         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36319         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36320         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36321
36322 2009-08-16  Bruno Haible  <bruno@clisp.org>
36323
36324         Fix test failures on Solaris 10.
36325         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
36326         'tr' program and pass it as first argument.
36327         * tests/test-pipe-filter-gi1.sh: Likewise.
36328         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
36329         program as first argument.
36330         * tests/test-pipe-filter-gi1.c (main): Likewise.
36331
36332 2009-08-16  Eric Blake  <ebb9@byu.net>
36333
36334         fpurge: fix previous commits
36335         * modules/fpurge (Makefile.am): Make replacement conditional,
36336         partially reverting 2007-04-29 change; missed in previous
36337         attempt.
36338         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
36339         is missing.
36340
36341 2009-08-16  Bruno Haible  <bruno@clisp.org>
36342
36343         Clarify fpurge's effect on the file position.
36344         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
36345         * tests/test-fpurge.c (main): Make a second pass for checking the file
36346         position.
36347
36348 2009-08-16  Bruno Haible  <bruno@clisp.org>
36349
36350         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
36351         declaration of fpurge is missing.
36352         * tests/test-fpurge.c (main): Check that the file has not more contents
36353         than expected. Close the file before removing it.
36354
36355 2009-08-15  Eric Blake  <ebb9@byu.net>
36356
36357         fpurge: don't wrap working cygwin implementation
36358         * lib/fpurge.c (fpurge): Fix comment typo.
36359         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
36360         1.7 to avoid replacement.
36361         * tests/test-fpurge.c (main): Enhance test.
36362
36363 2009-08-15  Eric Blake  <ebb9@byu.net>
36364         and Jim Meyering  <meyering@redhat.com>
36365
36366         test-update-copyright: skip if perl is insufficient
36367         * tests/test-update-copyright.sh: Failure to run maintainer tool
36368         should not cause testsuite failure on cygwin 1.5.
36369
36370 2009-08-14  Eric Blake  <ebb9@byu.net>
36371
36372         doc: mention more functions added in cygwin 1.7.0
36373         * doc/posix-headers/limits.texi (limits.h): Update for recent
36374         cygwin additions.
36375         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
36376         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36377         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
36378         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
36379         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
36380
36381 2009-08-14  Eric Blake  <ebb9@byu.net>
36382
36383         maint.mk: simplify update-copyright rule
36384         * top/maint.mk (update-copyright-local): Delete, and document how
36385         to do it in cfg.mk instead.
36386         (update-copyright-exclude-regexp): Delete, and document how to do
36387         it in .x-update-copyright instead.
36388         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
36389         exclude ChangeLog.
36390
36391 2009-08-14  Bruno Haible  <bruno@clisp.org>
36392
36393         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
36394
36395 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36396
36397         maint.mk: support update-copyright-env
36398         * top/maint.mk (update-copyright-env): Define place-holder.
36399         (update-copyright): Expand $(update-copyright-env) before
36400         invoking update-copyright.
36401
36402 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36403
36404         update-copyright: implement forced reformatting
36405         * build-aux/update-copyright: Implement and document
36406         UPDATE_COPYRIGHT_FORCE.
36407         * tests/test-update-copyright.sh: Test it.
36408
36409 2009-08-14  Eric Blake  <ebb9@byu.net>
36410         and Bruno Haible  <bruno@clisp.org>
36411
36412         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
36413         * tests/test-locale.c: Revert previous patch related to NULL.
36414         * tests/test-stdio.c: Likewise.
36415         * tests/test-stdlib.c: Likewise.
36416         * tests/test-string.c: Likewise.
36417         * tests/test-unistd.c: Likewise.
36418         * modules/time-tests (Depends-on): Add verify.
36419         * modules/wchar-tests (Depends-on): Likewise.
36420         * tests/test-time.c: Test for NULL compliance.
36421         * tests/test-wchar.c: Likewise.
36422         * modules/locale (Depends-on): Add stddef.
36423         * modules/stdio (Depends-on): Likewise.
36424         * modules/stdlib (Depends-on): Likewise.
36425         * modules/string (Depends-on): Likewise.
36426         * modules/time (Depends-on): Likewise.
36427         * modules/unistd (Depends-on): Likewise.
36428         * modules/wchar (Depends-on): Likewise.
36429         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36430         * lib/stdlib.in.h (includes): Likewise.
36431         * lib/string.in.h (includes): Likewise.
36432         * lib/time.in.h (includes): Likewise.
36433         * lib/unistd.in.h (includes): Likewise.
36434         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36435         replaced.
36436         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36437         * m4/stddef_h.m4: New file.
36438         * modules/stddef: Likewise.
36439         * lib/stddef.in.h: Likewise.
36440         * modules/stddef-tests: Likewise.
36441         * tests/test-stddef.c: Likewise.
36442         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36443         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36444         * doc/posix-headers/locale.texi (locale.h): Likewise.
36445         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36446         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36447         * doc/posix-headers/string.texi (string.h): Likewise.
36448         * doc/posix-headers/time.texi (time.h): Likewise.
36449         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36450         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36451
36452 2009-08-14  Eric Blake  <ebb9@byu.net>
36453
36454         doc: improve git diff of texinfo files
36455         * .gitattributes: Add rule for *.texi files, with hint on how to
36456         use it.
36457         Copied from m4, and based on a report by Bruno Haible.
36458
36459 2009-08-14  Bruno Haible  <bruno@clisp.org>
36460
36461         Disable multithread support by default on Cygwin 1.5.x for real.
36462         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36463
36464 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36465
36466         update-copyright: much ado about intervals
36467         * build-aux/update-copyright: Implement and document
36468         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36469         of copyright year intervals.
36470         Also, document UPDATE_COPYRIGHT_YEAR.
36471         * tests/test-update-copyright.sh: Test it.
36472
36473         update-copyright: convert 2-digit to 4-digit years
36474         * build-aux/update-copyright: Implement and document.
36475         * tests/test-update-copyright.sh: Update.
36476
36477 2009-08-14  Jim Meyering  <meyering@redhat.com>
36478
36479         test-exclude: avoid coreutils "make check" failure
36480         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36481         just as in test-argmatch.c.
36482
36483 2009-08-13  Eric Blake  <ebb9@byu.net>
36484
36485         test-dup2: fix bad assumption
36486         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36487         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36488
36489         test-version-etc: fix CRLF portability issue
36490         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36491         recognize \r.
36492         * tests/test-argp-version-etc-1.sh: Likewise.
36493
36494         getopt: update client modules
36495         * modules/argp (Depends-on): Use getopt-gnu.
36496         * modules/git-merge-changelog (Depends-on): Likewise.
36497         * modules/long-options (Depends-on): Likewise.
36498         * modules/xstrtol (Depends-on): Likewise.
36499
36500 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36501
36502         * tests/test-version-etc.sh: Don't fail on different
36503         project/version.  Don't fail on CRLF differences.  Rewrite to use
36504         multiple -e instead of multiple sed forks, suggested by Eric Blake
36505         <ebb9@byu.net>.
36506         * tests/test-argp-version-etc-1.sh: Likewise.
36507
36508 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36509
36510         * tests/test-version-etc.sh: Don't fail on different
36511         project/version.
36512
36513 2009-08-12  Bruno Haible  <bruno@clisp.org>
36514
36515         Tests for modules 'getopt-posix', 'getopt-gnu'.
36516         * modules/getopt-posix-tests: New file.
36517         * tests/test-getopt.c: New file.
36518         * tests/test-getopt.h: New file.
36519         * tests/test-getopt_long.h: New file.
36520
36521         New modules 'getopt-posix', 'getopt-gnu'.
36522         * modules/getopt-gnu: New file, renamed from modules/getopt.
36523         * modules/getopt-posix: New file.
36524         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36525         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36526         (gl_GETOPT): Remove macro.
36527         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36528         Disable the test against BSD systems that declare optreset. Test
36529         against mingw bug. Test against lack of support of optional arguments
36530         on many platforms.
36531         * doc/glibc-headers/getopt.texi: Update module name and list of
36532         relevant platforms.
36533         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36534         'getopt-gnu' and more portability problems.
36535         * NEWS: Mention the changes.
36536
36537 2009-08-12  Bruno Haible  <bruno@clisp.org>
36538
36539         Ensure that optarg etc. get declared by <unistd.h>.
36540         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36541         AC_USE_SYSTEM_EXTENSIONS.
36542         * modules/getopt (Depends-on): Add 'extensions'.
36543
36544 2009-08-12  Bruno Haible  <bruno@clisp.org>
36545
36546         Avoid test link errors.
36547         * modules/pipe-filter-ii-tests (Makefile.am): Define
36548         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36549         * modules/pipe-filter-gi-tests (Makefile.am): Define
36550         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36551         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36552
36553 2009-08-12  Bruno Haible  <bruno@clisp.org>
36554
36555         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36556         gl_GETOPT_SUBSTITUTE before.
36557         (gl_GETOPT): Use it.
36558         * m4/argp.m4 (gl_ARGP): Update.
36559         Reported by Sergey Poznyakoff.
36560
36561         * m4/getopt.m4: Reorder macros.
36562         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36563         (gl_GETOPT_SUBSTITUTE): Remove macro.
36564
36565 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36566
36567         Minor improvement in gitlog-to-changelog
36568
36569         * build-aux/gitlog-to-changelog: New option `--format' makes
36570         output format string configurable.
36571
36572 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36573
36574         Optimize exclude: use hash tables for non-wildcard patterns.
36575
36576         * lib/exclude.c: Include hash.h and mbuiter.h
36577         (struct exclude_pattern, exclude_segment): New data types.
36578         (struct exclude): Rewrite.
36579         (fnmatch_pattern_has_wildcards): New function.
36580         (new_exclude_segment, free_exclude_segment): New functions.
36581         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36582         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36583         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36584         * modules/exclude: Depend on hash and mbuiter.
36585
36586         * modules/exclude-tests: New file.
36587         * tests/test-exclude.c: New file.
36588         * tests/test-exclude1.sh: New file.
36589         * tests/test-exclude2.sh: New file.
36590         * tests/test-exclude3.sh: New file.
36591         * tests/test-exclude4.sh: New file.
36592         * tests/test-exclude5.sh: New file.
36593         * tests/test-exclude6.sh: New file.
36594         * tests/test-exclude7.sh: New file.
36595
36596 2009-08-12  Bruno Haible  <bruno@clisp.org>
36597
36598         Ensure that getopt() gets declared by <unistd.h>.
36599         * lib/unistd.in.h: Conditionally include getopt.h.
36600         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36601         Set GNULIB_UNISTD_H_GETOPT.
36602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36603         GNULIB_UNISTD_H_GETOPT.
36604         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36605
36606 2009-08-12  Bruno Haible  <bruno@clisp.org>
36607
36608         Clarify logic.
36609         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36610         gl_replace_getopt instead of GETOPT_H.
36611
36612 2009-08-12  Bruno Haible  <bruno@clisp.org>
36613
36614         * m4/getopt.m4: Add comments.
36615
36616 2009-08-12  Bruno Haible  <bruno@clisp.org>
36617
36618         Disable multithread support by default on Cygwin 1.5.x.
36619         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36620         set gl_use_threads=no if not specified otherwise.
36621
36622 2009-08-11  Bruno Haible  <bruno@clisp.org>
36623
36624         Avoid compilation error on NetBSD 5.0.
36625         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36626         * tests/test-stdio.c: Likewise.
36627         * tests/test-stdlib.c: Likewise.
36628         * tests/test-string.c: Likewise.
36629         * tests/test-unistd.c: Likewise.
36630         Reported by Greg Troxel <gdt@ir.bbn.com>
36631         at <https://savannah.gnu.org/support/?106973>.
36632
36633 2009-08-11  Bruno Haible  <bruno@clisp.org>
36634
36635         * modules/dup2-tests (Depends-on): Remove close.
36636
36637         Undo 2009-07-19 commit.
36638         * modules/acl-tests (Depends-on): Remove close.
36639         * modules/binary-io-tests (Depends-on): Likewise.
36640         * modules/closein-tests (Depends-on): Likewise.
36641         * modules/flock-tests (Depends-on): Likewise.
36642         * modules/fsync-tests (Depends-on): Likewise.
36643         * modules/lseek-tests (Depends-on): Likewise.
36644         * modules/pipe-tests (Depends-on): Likewise.
36645         * modules/posix_spawn-tests (Depends-on): Likewise.
36646         * modules/posix_spawnp-tests (Depends-on): Likewise.
36647         * modules/stat-time-tests (Depends-on): Likewise.
36648         * modules/yesno-tests (Depends-on): Likewise.
36649
36650 2009-08-10  Bruno Haible  <bruno@clisp.org>
36651
36652         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36653
36654 2009-08-10  Bruno Haible  <bruno@clisp.org>
36655
36656         Fix a gcc warning.
36657         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36658
36659 2009-08-10  Bruno Haible  <bruno@clisp.org>
36660
36661         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36662         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36663         not only the first time.
36664         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36665         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36666         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36667         is 1, not only the the first time.
36668
36669 2009-08-10  Bruno Haible  <bruno@clisp.org>
36670
36671         Make it possible to use module 'gethostname' without module 'close'.
36672         * lib/unistd.in.h (close): Evoke a link error only if
36673         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36675         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36676         * modules/unistd (Makefile.am): Substitute
36677         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36678         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36679         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36680         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36681         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36682         * modules/sys_ioctl (Makefile.am): Substitute
36683         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36684         * modules/socket (configure.ac): On native Windows, set
36685         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36686         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36687         Reported by Sam Steingold <sds@gnu.org>.
36688
36689 2009-08-10  Bruno Haible  <bruno@clisp.org>
36690
36691         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36692         * modules/ioctl (configure.ac): Likewise.
36693
36694 2009-08-10  Bruno Haible  <bruno@clisp.org>
36695
36696         Avoid collision between gnulib wrapper and libintl wrapper.
36697         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36698         already defined in intl/printf.c.
36699         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36700         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36701
36702 2009-08-09  Bruno Haible  <bruno@clisp.org>
36703
36704         Make <sys/select.h> really self-contained, also on Solaris 10.
36705         * lib/sys_select.in.h: Include <string.h>.
36706         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36707         Solaris 10 problem.
36708         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36709         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36710         Reported by Jim Meyering.
36711
36712 2009-08-09  Bruno Haible  <bruno@clisp.org>
36713
36714         Avoid warnings from 'aclocal' that are due to a use of macro name
36715         AM_XGETTEXT_OPTION that is not defined in automake.
36716         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36717         automake.
36718         * modules/error (configure.ac): Likewise.
36719         * modules/propername (configure.ac): Likewise.
36720         * modules/vasprintf (configure.ac): Likewise.
36721         * modules/verror (configure.ac): Likewise.
36722         * modules/xprintf (configure.ac): Likewise.
36723         * modules/xvasprintf (configure.ac): Likewise.
36724
36725 2009-08-08  Bruno Haible  <bruno@clisp.org>
36726
36727         Avoid compilation error in C++ mode.
36728         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36729         Reported by Sam Steingold <sds@gnu.org>.
36730
36731 2009-08-08  Bruno Haible  <bruno@clisp.org>
36732
36733         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36734         for the various Unix platforms.
36735         * doc/posix-headers/limits.texi: Update platforms list regarding
36736         HOST_NAME_MAX.
36737         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36738
36739 2009-08-07  Jim Meyering  <meyering@redhat.com>
36740
36741         selinux-at: fix typo in a comment
36742         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36743         Spotted by Paolo Bonzini.
36744
36745         selinux-at: remove redundant m4 code, add documentation
36746         * modules/selinux-at (configure.ac): Remove redundant code.
36747         LIB_SELINUX is already set via the dependent module, selinux-h.
36748         (Include): Add quotes around selinux-at.h.
36749         * lib/selinux-at.h: Add documentation.
36750         Reported by Bruno Haible in
36751         http://marc.info/?l=gnulib-bug&m=124958988300749
36752
36753 2009-08-07  Bruno Haible  <bruno@clisp.org>
36754
36755         Avoid link error on MacOS X 10.3 and 10.4.
36756         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36757         on non-ELF systems.
36758         * lib/argp-pv.c (argp_program_version): Likewise.
36759         Reported by Simon Josefsson.
36760
36761 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36762
36763         * tests/test-version-etc.sh: Use $EXEEXT.
36764
36765 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36766
36767         update-copyright: update documentation to point to maint.mk
36768         * build-aux/update-copyright: Here.
36769
36770 2009-08-06  Jim Meyering  <meyering@redhat.com>
36771
36772         maint.mk: support update-copyright-local
36773         * top/maint.mk (update-copyright-local): Define place-holder.
36774         (update-copyright): Depend on $(update-copyright-local).
36775
36776 2009-08-06  Jim Meyering  <meyering@redhat.com>
36777
36778         selinux-at: new module
36779         Initially written for coreutils, this module will soon be
36780         used by findutils, too.
36781         * MODULES.html.sh [Misc]: Add selinux-at.
36782         * lib/selinux-at.h: New file, from coreutils.
36783         * lib/selinux-at.c: Likewise.
36784         * modules/selinux-at: Likewise.
36785         (License): Change from LGPL to GPL, since it depends
36786         on the GPL'd openat module.
36787
36788         doc: update README
36789         * README: Remove references to cogito.
36790         Remove cvs-repo-updating instructions from 2007.
36791         Don't imply that CVS is better if you have limited disk space.
36792
36793 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36794
36795         update-copyright: support C-style comments
36796         * build-aux/update-copyright: Implement and document.
36797         * tests/test-update-copyright.sh: Test.
36798
36799 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36800
36801         update-copyright: support omitted "(C)"
36802         * build-aux/update-copyright: Implement and document.  Also,
36803         allow variable whitespace before "(C)".
36804         * tests/test-update-copyright.sh: Test.
36805
36806 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36807
36808         update-copyright: don't trip on non-FSF copyright statements
36809         * build-aux/update-copyright: Fix so that the first correctly
36810         formatted FSF copyright statement is recognized no matter what
36811         appears before it.  Update documentation.
36812         * tests/test-update-copyright.sh: Test that.
36813
36814 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36815
36816         update-copyright: clean up code a little
36817         * build-aux/update-copyright: Append "_re" to the name of any
36818         variable holding a regular expression.
36819         Replace "old" and "new" with "stmt" in variable names.
36820         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36821         handled correctly.
36822         Format code more consistently.
36823
36824 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36825
36826         update-copyright-tests: improve portability
36827         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36828         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36829
36830 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36831
36832         update-copyright: support @copyright{} and &copy;
36833         * build-aux/update-copyright: Implement and document.
36834         * tests/test-update-copyright.sh: Test.
36835
36836 2009-08-04  Jim Meyering  <meyering@redhat.com>
36837
36838         update-copyright-tests: correctly test EOL=\r\n handling
36839         * tests/test-update-copyright.sh: Put \r at the end of some lines
36840         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36841
36842         maint.mk: make update-copyright exclusion list more configurable
36843         * top/maint.mk (update-copyright): Default to excluding COPYING,
36844         but allow an override, in case someone does want to update that file.
36845
36846         maint.mk: don't update copyright date in COPYING
36847         * top/maint.mk (update-copyright): Exclude COPYING.
36848
36849         maint.mk: add a copyright-updating rule
36850         * top/maint.mk (update-copyright): New rule.
36851         Derived from coreutils/Makefile.am.
36852
36853         update-copyright: rename some variables
36854         * build-aux/update-copyright: Rename a few variables for clarity.
36855         Tweak syntax.  List Joel E. Denny as coauthor.
36856
36857 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36858
36859         update-copyright: fix bug for 2-digit last year and add tests
36860         * build-aux/update-copyright: Fix bug.
36861         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
36862         specified.
36863         * modules/update-copyright-tests: New
36864         * tests/test-update-copyright.sh: New.
36865
36866 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36867
36868         update-copyright: handle leading tabs in line prefix
36869         * build-aux/update-copyright: Count leading tabs as 8 spaces
36870         when computing margin.  This helps with the formatting of
36871         ChangeLogs, for example.
36872         Fix documentation a little.
36873
36874 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36875
36876         update-copyright: support EOL=\r\n
36877         * build-aux/update-copyright: Implement that.
36878
36879 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36880
36881         update-copyright: automatically format copyright statements
36882         * build-aux/update-copyright: Implement that.
36883         Also, be a little more predictable and safer by always failing
36884         when the full copyright format is not perfectly recognized as an
36885         unbroken whole.  Discussed at
36886         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
36887         Rewrite documentation.
36888
36889 2009-08-03  Bruno Haible  <bruno@clisp.org>
36890
36891         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
36892
36893 2009-08-02  Bruno Haible  <bruno@clisp.org>
36894
36895         Tests for module 'uname'.
36896         * modules/uname-tests: New file.
36897         * tests/test-uname.c: New file.
36898
36899         New module 'uname'.
36900         * lib/uname.c: New file.
36901         * m4/uname.m4: New file.
36902         * modules/uname: New file.
36903         * doc/posix-functions/uname.texi: Mention the new module.
36904
36905 2009-08-02  Bruno Haible  <bruno@clisp.org>
36906
36907         Tests for module 'sys_utsname'.
36908         * modules/sys_utsname-tests: New file.
36909         * tests/test-sys_utsname.c: New file.
36910
36911         New module 'sys_utsname'.
36912         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
36913         * m4/sys_utsname_h.m4: New file.
36914         * modules/sys_utsname: New file.
36915         * doc/posix-headers/sys_utsname.texi: Mention the new module.
36916
36917 2009-08-02  Bruno Haible  <bruno@clisp.org>
36918
36919         Implicitly initialize the sockets library.
36920         * lib/gethostname.c: Include sockets.h.
36921         (rpl_gethostname): Invoke gl_sockets_startup.
36922         * lib/socket.c: Include sockets.h.
36923         (rpl_socket): Invoke gl_sockets_startup.
36924         * modules/gethostname (Depends-on): Add sockets.
36925         * modules/socket (Depends-on): Likewise.
36926         * tests/test-poll.c: Don't include sockets.h.
36927         (main): Don't invoke gl_sockets_startup.
36928         * tests/test-select.c: Don't include sockets.h.
36929         (main): Don't invoke gl_sockets_startup.
36930
36931 2009-08-02  Bruno Haible  <bruno@clisp.org>
36932
36933         Allow multiple calls to gl_sockets_startup.
36934         * lib/sockets.c (initialized_sockets_version): New variable.
36935         (gl_sockets_startup): Do nothing if already called for this or a higher
36936         version.
36937         (gl_sockets_cleanup): Reset initialized_sockets_version.
36938
36939 2009-08-03  Simon Josefsson  <simon@josefsson.org>
36940
36941         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
36942         different project/version.
36943
36944 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
36945             Bruno Haible  <bruno@clisp.org>
36946
36947         Tests for module 'pipe-filter-gi'.
36948         * modules/pipe-filter-gi-tests: New file.
36949         * tests/test-pipe-filter-gi1.sh: New file.
36950         * tests/test-pipe-filter-gi1.c: New file.
36951         * tests/test-pipe-filter-gi2.sh: New file.
36952         * tests/test-pipe-filter-gi2-main.c: New file.
36953         * tests/test-pipe-filter-gi2-child.c: New file.
36954
36955         New module 'pipe-filter-gi'.
36956         * lib/pipe-filter-gi.c: New file.
36957         * modules/pipe-filter-gi: New file.
36958
36959 2009-08-02  Bruno Haible  <bruno@clisp.org>
36960             Paolo Bonzini  <bonzini@gnu.org>
36961
36962         Tests for module 'pipe-filter-ii'.
36963         * modules/pipe-filter-ii-tests: New file.
36964         * tests/test-pipe-filter-ii1.sh: New file.
36965         * tests/test-pipe-filter-ii1.c: New file.
36966         * tests/test-pipe-filter-ii2.sh: New file.
36967         * tests/test-pipe-filter-ii2-main.c: New file.
36968         * tests/test-pipe-filter-ii2-child.c: New file.
36969
36970         New module 'pipe-filter-ii'.
36971         * lib/pipe-filter.h: New file.
36972         * lib/pipe-filter-ii.c: New file.
36973         * lib/pipe-filter-aux.h: New file.
36974         * modules/pipe-filter-ii: New file.
36975
36976 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36977
36978         * lib/gc-libgcrypt.c: Change copyright to FSF.
36979         * lib/gc-gnulib.c: Likewise.
36980
36981 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
36982
36983         * lib/gethostname.c: Include limits.h.
36984
36985 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36986             Bruno Haible  <bruno@clisp.org>
36987
36988         Ensure HOST_NAME_MAX as part of the gethostname module.
36989         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
36990         define also HOST_NAME_MAX.
36991         * tests/test-gethostname.c: Include <limits.h>.
36992         (main): Check also HOST_NAME_MAX.
36993         * doc/posix-headers/limits.texi: Document the mingw problem.
36994
36995 2009-08-02  Bruno Haible  <bruno@clisp.org>
36996
36997         * lib/gethostname.c (gethostname): Fix handling of large len argument.
36998         Add comments.
36999
37000 2009-03-31  Simon Josefsson  <simon@josefsson.org>
37001
37002         * lib/gethostname.c: Add Windows wrapper.
37003         * m4/gethostname.m4: Look for gethostname in -lws2_32.
37004         * modules/gethostname: Depend on sys_socket & errno, for also
37005         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
37006         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
37007
37008 2009-07-31  Jim Meyering  <meyering@redhat.com>
37009
37010         getloadavg: fix symbol name in comment
37011         * lib/getloadavg.c: Correct a typo I introduced when adding
37012         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
37013         Matt Kraai spotted the problem.
37014
37015 2009-07-29  Matt Kraai  <mkraai@beckman.com>
37016
37017         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
37018         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
37019         code also if ! defined N_NAME_POINTER.
37020         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
37021         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
37022         but the n_name member is a 12-byte array.
37023
37024 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
37025
37026         update-copyright: generalize comment handling
37027         * build-aux/update-copyright: Handle copyright statements
37028         within more comment styles.
37029         Document usage.
37030         Report any file with an external copyright holder or parse failure.
37031
37032 2009-07-29  Jim Meyering  <meyering@redhat.com>
37033
37034         mktime: correct setting of REPLACE_MKTIME
37035         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
37036
37037         update-copyright: new module
37038         * modules/update-copyright: New file.
37039         * build-aux/update-copyright: New file.
37040         * MODULES.html.sh (maint+release support): Add update-copyright.
37041
37042 2009-07-27  Bruno Haible  <bruno@clisp.org>
37043
37044         Fix compilation error when <ctime> is used and mktime is replaced.
37045         * lib/time.in.h (mktime): New declaration.
37046         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
37047         REPLACE_MKTIME instead of defining mktime in config.h.
37048         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
37049         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
37050         Reported by Ross McFarland <rwmcfa1@neces.com>.
37051
37052 2009-07-27  Bruno Haible  <bruno@clisp.org>
37053
37054         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
37055         Reported by Matt Kraai <mkraai@beckman.com>.
37056
37057 2009-07-25  Jim Meyering  <meyering@redhat.com>
37058
37059         maint.mk: avoid warnings about missing files
37060         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
37061         diagnostic when .prev-version does not exist.
37062         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
37063         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
37064         nonexistent cfg.mk.
37065         Suggestions from Simon Josefsson.
37066
37067 2009-07-25  Bruno Haible  <bruno@clisp.org>
37068
37069         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
37070         defined as macros. Needed on QNX 6.4.1.
37071         Reported by Matt Kraai <mkraai@beckman.com>.
37072
37073 2009-07-23  Jim Meyering  <meyering@redhat.com>
37074
37075         maint.mk: invoke "make dist" with a working value of XZ_OPT
37076         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
37077
37078 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
37079
37080         Make fseeko.c compile on QNX.
37081         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
37082
37083 2009-07-22  Peter Simons  <simons@cryp.to>
37084
37085         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
37086         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
37087         * lib/md4.h: Likewise.
37088         * lib/md5.h: Likewise.
37089         * lib/sha1.h: Likewise.
37090         * lib/sha256.h: Likewise.
37091         * lib/sha512.h: Likewise.
37092
37093         tests-sha1: don't assign literal string to 'char *' variable
37094         * tests/test-sha1.c (main): Declare locals with "const" to match
37095         attributes of the right hand side.
37096
37097 2009-07-21  Eric Blake  <ebb9@byu.net>
37098
37099         dup2: fix more mingw problems
37100         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
37101         fd to itself.
37102         * doc/posix-functions/dup2.texi (dup2): Document the bug.
37103         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
37104         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
37105         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
37106         care of mingw bugs.
37107
37108 2009-07-21  Jim Meyering  <meyering@redhat.com>
37109
37110         vc-list-files: avoid failure when /bin/sh is dash
37111         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
37112         On some Debian based systems, /bin/sh is a symlink to dash, and running
37113         this command would omit the "/" following each 'tests' prefix:
37114           dash -x build-aux/vc-list-files -C . tests
37115         That is because bash and dash work differently:
37116           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
37117           bash ok
37118           dash odd
37119
37120 2009-07-21  Eric Blake  <ebb9@byu.net>
37121
37122         dup2-tests: test previous patch
37123         * modules/dup2-tests: New file.
37124         * tests/test-dup2.c: Likewise.
37125         * tests/test-open.c (main): Avoid unspecified behavior.
37126         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
37127         test.
37128
37129         dup2: work around mingw and cygwin 1.5 bug
37130         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
37131         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37132         * modules/unistd (Makefile.am): Substitute it.
37133         * lib/unistd.in.h (dup2): Declare the replacement.
37134         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
37135         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
37136         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
37137         * modules/execute (Depends-on): Add dup2.
37138         * modules/fseterr (Depends-on): Likewise.
37139         * modules/pipe (Depends-on): Likewise.
37140         * modules/posix_spawn-internal (Depends-on): Likewise.
37141
37142 2009-07-21  Bruno Haible  <bruno@clisp.org>
37143
37144         * modules/.gitattributes: New file.
37145
37146 2009-07-20  Bruno Haible  <bruno@clisp.org>
37147
37148         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
37149         (main): Use it.
37150
37151 2009-07-20  Eric Blake  <ebb9@byu.net>
37152
37153         test-pipe: make a bit more robust.
37154         * tests/test-pipe.c (myerr): Allow error messages regardless of
37155         what we do to stderr.
37156         (test_pipe): Rearrange to avoid deadlock.
37157         (child_main): Try a larger read, to ensure we avoided deadlock.
37158         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
37159         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
37160         if misused.
37161
37162 2009-07-19  Jim Meyering  <meyering@redhat.com>
37163
37164         fts: avoid false-positive cycle-detection
37165         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
37166         for each new command line argument.
37167
37168 2009-07-19  Bruno Haible  <bruno@clisp.org>
37169
37170         Fix build error on mingw with the modules sys_select and unistd.
37171         * modules/acl-tests (Depends-on): Add close.
37172         * modules/binary-io-tests (Depends-on): Likewise.
37173         * modules/closein-tests (Depends-on): Likewise.
37174         * modules/flock-tests (Depends-on): Likewise.
37175         * modules/fsync-tests (Depends-on): Likewise.
37176         * modules/lseek-tests (Depends-on): Likewise.
37177         * modules/pipe-tests (Depends-on): Likewise.
37178         * modules/posix_spawn-tests (Depends-on): Likewise.
37179         * modules/posix_spawnp-tests (Depends-on): Likewise.
37180         * modules/stat-time-tests (Depends-on): Likewise.
37181         * modules/yesno-tests (Depends-on): Likewise.
37182
37183 2009-07-19  Bruno Haible  <bruno@clisp.org>
37184
37185         Unify conditionals.
37186         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
37187         macros, not at the compiler macros.
37188         * lib/pipe.c: Likewise.
37189         * lib/execute.c: Likewise.
37190         * lib/spawni.c: Likewise.
37191
37192 2009-07-19  Bruno Haible  <bruno@clisp.org>
37193
37194         Fix handling of closed stdin/stdout/stderr on mingw.
37195         * lib/w32spawn.h: Include unistd.h.
37196         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
37197         file descriptor with O_NOINHERIT flag.
37198         (fd_safer_noinherit): New function, based on fd-safer.c.
37199         (dup_safer_noinherit): New function, based on dup-safer.c.
37200         (undup_safer_noinherit): New function.
37201         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
37202         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
37203         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
37204         instead of fd_safer.
37205         * tests/test-pipe.c: Include <windows.h>.
37206         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
37207         result.
37208
37209         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
37210         from main.
37211         (test_pipe): Pass an extra argument for disambiguation.
37212         (main): Invoke parent_main or child_main.
37213
37214         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
37215         consistently.
37216
37217 2009-07-18  Eric Blake  <ebb9@byu.net>
37218
37219         test-pipe: fix mingw build
37220         * tests/test-pipe.c (main): Avoid fcntl on mingw.
37221
37222 2009-07-18  Bruno Haible  <bruno@clisp.org>
37223
37224         * modules/pipe-tests (Makefile.am): Fix typo.
37225
37226 2009-07-18  Eric Blake  <ebb9@byu.net>
37227
37228         error: fix mingw build
37229         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
37230         Reported by Bruno Haible.
37231
37232         error: avoid undefined use of stdout
37233         * lib/error.c (error, error_at_line): Check that fd 1 is open
37234         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
37235         is handling faults and the close_stdout module wants to report the
37236         detection of closed stdout as an error.
37237
37238 2009-07-17  Eric Blake  <ebb9@byu.net>
37239
37240         pipe: be robust in face of closed fds
37241         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
37242         should cause child to misbehave.
37243         * modules/pipe-tests: New module.
37244         * tests/test-pipe.c: New file.
37245         * tests/test-pipe.sh: New file.
37246         Reported by Akim Demaille.
37247
37248 2009-07-14  Bruno Haible  <bruno@clisp.org>
37249
37250         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
37251         Reported by anonymous kc.
37252
37253 2009-07-07  Jim Meyering  <meyering@redhat.com>
37254
37255         maint.mk: don't look for translatable strings in *.m4 or *.mk
37256         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
37257         when searching for translatable strings.
37258
37259 2009-07-05  Jim Meyering  <meyering@redhat.com>
37260
37261         remove superfluous parentheses in STREQ definition
37262         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
37263         * lib/getugroups.c (STREQ): Likewise.
37264         * lib/fnmatch.c (STREQ): Likewise.
37265         Spotted by Bruno Haible.
37266
37267 2009-07-04  Jim Meyering  <meyering@redhat.com>
37268
37269         argv-iter: new module
37270         * MODULES.html.sh: Add argv-iter.
37271         * lib/argv-iter.c, lib/argv-iter.h: New files.
37272         * modules/argv-iter: New file.
37273         * modules/argv-iter-tests: New file.
37274         * tests/test-argv-iter.c: Test it.
37275
37276 2009-07-04  Bruno Haible  <bruno@clisp.org>
37277
37278         Fix assertion.
37279         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
37280         contains more exact copies of a given entry than file2, leave the extra
37281         copies unpaired rather than aborting.
37282         Reported by Eric Blake.
37283
37284 2009-07-02  Bruno Haible  <bruno@clisp.org>
37285
37286         Speedup git-merge-changelog for git cherry-pick.
37287         * lib/git-merge-changelog.c (struct entries_mapping): New type.
37288         (entries_mapping_get): New function, extracted from compute_mapping.
37289         (entries_mapping_reverse_get): New function.
37290         (compute_mapping): Add a 'full' argument. Return the result in a
37291         'struct entries_mapping'.
37292         (main): Update. Access the mappings through entries_mapping_get.
37293         Reported by Eric Blake.
37294
37295 2009-07-02  Bruno Haible  <bruno@clisp.org>
37296
37297         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
37298         best_i.
37299
37300 2009-07-02  Bruno Haible  <bruno@clisp.org>
37301
37302         Speed up approximate search for matching ChangeLog entries.
37303         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
37304         argument. Call fstrcmp_bounded instead of fstrcmp.
37305         (compute_mapping, try_split_merged_entry, main): Update callers.
37306
37307 2009-07-02  Bruno Haible  <bruno@clisp.org>
37308
37309         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
37310
37311 2009-06-30  Bruno Haible  <bruno@clisp.org>
37312
37313         Reduce the number of uc_is_cased calls.
37314         * lib/unicase.h (casing_suffix_context_t): Add
37315         'first_char_except_ignorable' field.
37316         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
37317         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
37318         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
37319         Update initializer.
37320         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
37321         case-ignorable characters.
37322         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
37323         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
37324         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
37325         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
37326         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
37327
37328 2009-06-30  Bruno Haible  <bruno@clisp.org>
37329
37330         Tests for module 'unicase/ignorable'.
37331         * modules/unicase/ignorable-tests: New file.
37332         * tests/unicase/test-ignorable.c: New file, generated by
37333         gen-uni-tables.
37334
37335         Tests for module 'unicase/cased'.
37336         * modules/unicase/cased-tests: New file.
37337         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
37338         * tests/unicase/test-predicate-part1.h: New file, derived from
37339         tests/unictype/test-predicate-part1.h.
37340         * tests/unicase/test-predicate-part2.h: New file, same as
37341         tests/unictype/test-predicate-part2.h.
37342
37343         Fix evaluation of "Before C" condition of FINAL_SIGMA.
37344         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
37345         (output_casing_properties): New function.
37346         (main): Call it.
37347         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
37348         * lib/unicase/cased.c: Include unictype/bitmap.h.
37349         (uc_is_cased): Define through a bitmap lookup.
37350         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
37351         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
37352         (uc_is_case_ignorable): Define through a bitmap lookup.
37353         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
37354         lib/unictype/bitmap.h.
37355         (Depends-on): Add inline. Clean up.
37356         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
37357         lib/unictype/bitmap.h.
37358         (Depends-on): Add inline. Clean up.
37359         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
37360         recognition.
37361         * tests/unicase/test-u16-tolower.c (main): Likewise.
37362         * tests/unicase/test-u32-tolower.c (main): Likewise.
37363
37364 2009-06-30  Bruno Haible  <bruno@clisp.org>
37365
37366         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
37367         * lib/unicase/u16-casemap.c: Likewise.
37368         * lib/unicase/u32-casemap.c: Likewise.
37369
37370 2009-06-29  Bruno Haible  <bruno@clisp.org>
37371
37372         Define u32_casefold as a wrapper around u32_ct_casefold.
37373         * lib/unicase/u32-casefold.c: Update.
37374         * modules/unicase/u32-casefold (Depends-on): Add
37375         unicase/u32-ct-casefold, unicase/empty-prefix-context,
37376         unicase/empty-suffix-context. Clean up.
37377
37378         Define u16_casefold as a wrapper around u16_ct_casefold.
37379         * lib/unicase/u16-casefold.c: Update.
37380         * modules/unicase/u16-casefold (Depends-on): Add
37381         unicase/u16-ct-casefold, unicase/empty-prefix-context,
37382         unicase/empty-suffix-context. Clean up.
37383
37384         Define u8_casefold as a wrapper around u8_ct_casefold.
37385         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
37386         * lib/unicase/u8-casefold.c: Update.
37387         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
37388         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37389
37390         Define u32_totitle as a wrapper around u32_ct_totitle.
37391         * lib/unicase/u32-totitle.c: Update.
37392         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
37393         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37394
37395         Define u16_totitle as a wrapper around u16_ct_totitle.
37396         * lib/unicase/u16-totitle.c: Update.
37397         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
37398         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37399
37400         Define u8_totitle as a wrapper around u8_ct_totitle.
37401         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
37402         functions.
37403         (FUNC): Delegate to U_CT_TOTITLE.
37404         * lib/unicase/u8-totitle.c: Update.
37405         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
37406         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37407
37408         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
37409         invocation.
37410         * modules/unicase/u32-tolower (Depends-on): Add
37411         unicase/empty-prefix-context, unicase/empty-suffix-context.
37412
37413         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
37414         invocation.
37415         * modules/unicase/u16-tolower (Depends-on): Add
37416         unicase/empty-prefix-context, unicase/empty-suffix-context.
37417
37418         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
37419         * modules/unicase/u8-tolower (Depends-on): Add
37420         unicase/empty-prefix-context, unicase/empty-suffix-context.
37421
37422         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
37423         invocation.
37424         * modules/unicase/u32-toupper (Depends-on): Add
37425         unicase/empty-prefix-context, unicase/empty-suffix-context.
37426
37427         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
37428         invocation.
37429         * modules/unicase/u16-toupper (Depends-on): Add
37430         unicase/empty-prefix-context, unicase/empty-suffix-context.
37431
37432         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37433         * modules/unicase/u8-toupper (Depends-on): Add
37434         unicase/empty-prefix-context, unicase/empty-suffix-context.
37435
37436         New module 'unicase/u32-ct-casefold'.
37437         * lib/unicase/u32-ct-casefold.c: New file.
37438         * modules/unicase/u32-ct-casefold: New file.
37439
37440         New module 'unicase/u16-ct-casefold'.
37441         * lib/unicase/u16-ct-casefold.c: New file.
37442         * modules/unicase/u16-ct-casefold: New file.
37443
37444         New module 'unicase/u8-ct-casefold'.
37445         * lib/unicase/u8-ct-casefold.c: New file.
37446         * lib/unicase/u-ct-casefold.h: New file, derived from
37447         lib/unicase/u-casefold.h.
37448         * modules/unicase/u8-ct-casefold: New file.
37449
37450         New module 'unicase/u32-ct-totitle'.
37451         * lib/unicase/u32-ct-totitle.c: New file.
37452         * modules/unicase/u32-ct-totitle: New file.
37453
37454         New module 'unicase/u16-ct-totitle'.
37455         * lib/unicase/u16-ct-totitle.c: New file.
37456         * modules/unicase/u16-ct-totitle: New file.
37457
37458         New module 'unicase/u8-ct-totitle'.
37459         * lib/unicase/u8-ct-totitle.c: New file.
37460         * lib/unicase/u-ct-totitle.h: New file, derived from
37461         lib/unicase/u-totitle.h.
37462         * modules/unicase/u8-ct-totitle: New file.
37463
37464         New module 'unicase/u32-ct-tolower'.
37465         * lib/unicase/u32-ct-tolower.c: New file.
37466         * modules/unicase/u32-ct-tolower: New file.
37467
37468         New module 'unicase/u16-ct-tolower'.
37469         * lib/unicase/u16-ct-tolower.c: New file.
37470         * modules/unicase/u16-ct-tolower: New file.
37471
37472         New module 'unicase/u8-ct-tolower'.
37473         * lib/unicase/u8-ct-tolower.c: New file.
37474         * modules/unicase/u8-ct-tolower: New file.
37475
37476         New module 'unicase/u32-ct-toupper'.
37477         * lib/unicase/u32-ct-toupper.c: New file.
37478         * modules/unicase/u32-ct-toupper: New file.
37479
37480         New module 'unicase/u16-ct-toupper'.
37481         * lib/unicase/u16-ct-toupper.c: New file.
37482         * modules/unicase/u16-ct-toupper: New file.
37483
37484         New module 'unicase/u8-ct-toupper'.
37485         * lib/unicase/u8-ct-toupper.c: New file.
37486         * modules/unicase/u8-ct-toupper: New file.
37487
37488         Add context arguments to u*_casemap functions.
37489         * lib/unicase/unicasemap.h: Include unicase.h.
37490         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37491         suffix_context arguments.
37492         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37493         functions.
37494         (FUNC): Add prefix_context and suffix_context arguments. Use
37495         uc_is_cased and uc_is_case_ignorable.
37496         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37497         * lib/unicase/u16-casemap.c: Likewise.
37498         * lib/unicase/u32-casemap.c: Likewise.
37499         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37500         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37501         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37502         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37503         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37504         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37505
37506         New module 'unicase/u32-suffix-context'.
37507         * lib/unicase/u32-suffix-context.c: New file.
37508         * modules/unicase/u32-suffix-context: New file.
37509
37510         New module 'unicase/u16-suffix-context'.
37511         * lib/unicase/u16-suffix-context.c: New file.
37512         * modules/unicase/u16-suffix-context: New file.
37513
37514         New module 'unicase/u8-suffix-context'.
37515         * lib/unicase/u8-suffix-context.c: New file.
37516         * lib/unicase/u-suffix-context.h: New file.
37517         * modules/unicase/u8-suffix-context: New file.
37518
37519         New module 'unicase/empty-suffix-context'.
37520         * lib/unicase/empty-suffix-context.c: New file.
37521         * modules/unicase/empty-suffix-context: New file.
37522
37523         New module 'unicase/u32-prefix-context'.
37524         * lib/unicase/u32-prefix-context.c: New file.
37525         * modules/unicase/u32-prefix-context: New file.
37526
37527         New module 'unicase/u16-prefix-context'.
37528         * lib/unicase/u16-prefix-context.c: New file.
37529         * modules/unicase/u16-prefix-context: New file.
37530
37531         New module 'unicase/u8-prefix-context'.
37532         * lib/unicase/u8-prefix-context.c: New file.
37533         * lib/unicase/u-prefix-context.h: New file.
37534         * lib/unicase/context.h: New file.
37535         * modules/unicase/u8-prefix-context: New file.
37536
37537         New module 'unicase/empty-prefix-context'.
37538         * lib/unicase/empty-prefix-context.c: New file.
37539         * modules/unicase/empty-prefix-context: New file.
37540
37541         New module 'unicase/ignorable'.
37542         * lib/unicase/ignorable.c: New file.
37543         * modules/unicase/ignorable: New file.
37544
37545         New module 'unicase/cased'.
37546         * lib/unicase/caseprop.h: New file.
37547         * lib/unicase/cased.c: New file.
37548         * modules/unicase/cased: New file.
37549
37550         New functions for case mapping of substrings.
37551         * lib/unicase.h (casing_prefix_context_t): New type.
37552         (unicase_empty_prefix_context): New variable.
37553         (u8_casing_prefix_context, u16_casing_prefix_context,
37554         u32_casing_prefix_context, u8_casing_prefixes_context,
37555         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37556         declarations.
37557         (casing_suffix_context_t): New type.
37558         (unicase_empty_suffix_context): New variable.
37559         (u8_casing_suffix_context, u16_casing_suffix_context,
37560         u32_casing_suffix_context, u8_casing_suffixes_context,
37561         u16_casing_suffixes_context, u32_casing_suffixes_context,
37562         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37563         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37564         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37565         declarations.
37566
37567 2009-06-28  Jim Meyering  <meyering@redhat.com>
37568
37569         boostrap: indent only with spaces
37570         * build-aux/bootstrap: Indent only with spaces, never TABs.
37571
37572         bootstrap: split long lines
37573         * build-aux/bootstrap: Keep line length < 80.
37574
37575         bootstrap: sync from coreutils
37576         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37577         just as autoreconf does.  Verify a list of prerequisite
37578         package-name,version-number pairs if defined in bootstrap.conf.
37579         Refer to README-prereq, if prerequisites are not satisfied.
37580
37581 2009-06-27  Eric Blake  <ebb9@byu.net>
37582
37583         tests: add test for bogus NULL definition
37584         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37585         * tests/test-stdlib.c: Likewise.
37586         * tests/test-string.c: Likewise.
37587         * tests/test-locale.c: Likewise.
37588         * tests/test-unistd.c: Likewise.
37589         * modules/stdio-tests (Depends-on): Add verify.
37590         * modules/stdlib-tests (Depends-on): Likewise.
37591         * modules/string-tests (Depends-on): Likewise.
37592         * modules/locale-tests (Depends-on): Likewise.
37593         * modules/unistd-tests (Depends-on): Likewise.
37594
37595 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37596
37597         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37598         self-explaining comment.
37599         * m4/selinux-selinux-h: Update serial.
37600         (gl_LIBSELINUX): New macro, adding a warning for missing development
37601         packages to code extracted from...
37602         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37603         Add warning for missing development packages here, too.
37604
37605 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37606
37607         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37608
37609 2009-06-25  Eric Blake  <ebb9@byu.net>
37610
37611         version-etc: fix regression
37612         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37613         gcc.
37614         (version_etc): Use it, to catch bugs with trailing NULL.
37615         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37616         (version_etc_va): Fix logic bug.
37617         * modules/version-etc-tests: Add test.
37618         * tests/test-version-etc.c: New file.
37619         * tests/test-version-etc.sh: Likewise.
37620
37621 2009-06-25  Sam Steingold  <sds@gnu.org>
37622
37623         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37624         mbtowc declaration.
37625
37626 2009-06-25  Eric Blake  <ebb9@byu.net>
37627
37628         fpurge: migrate into <stdio.h>
37629         * lib/fpurge.h: Delete...
37630         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37631         * lib/fpurge.c (fpurge): Change declaring header.
37632         * modules/fpurge (Files): Drop deleted file.
37633         (Depends-on): Add stdio.
37634         (configure.ac): Set witness.
37635         * modules/stdio (Makefile.am): Support fpurge macros.
37636         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37637         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37638         * lib/fflush.c: Update client.
37639         * tests/test-fpurge.c: Likewise.
37640         * NEWS: Mention the change.
37641
37642 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37643
37644         * lib/argp-version-etc.c (program_authors): Add const
37645         qualifier.
37646         * lib/version-etc.c: Fix typos in the comments.
37647         * modules/argp-version-etc: Depends on version-etc.
37648
37649 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37650
37651         argp-version-etc: new module.
37652
37653         * lib/argp-version-etc.c: New file.
37654         * lib/argp-version-etc.h: New file.
37655         * modules/argp-version-etc: New file.
37656         * modules/argp-version-etc-tests: New file.
37657         * tests/test-argp-version-etc.c: New test.
37658         * tests/test-argp-version-etc-1.sh: New test.
37659
37660 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37661
37662         Provide additional interfaces and documentation for version-etc
37663         module.
37664
37665         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37666         interfaces.
37667         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37668         prototypes.
37669
37670 2009-06-24  Bruno Haible  <bruno@clisp.org>
37671
37672         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37673         HAVE_LIB${NAME} macro.
37674         Reported by Sam Steingold <sds@gnu.org>.
37675
37676 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37677
37678         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37679         needed.
37680
37681 2009-06-21  Bruno Haible  <bruno@clisp.org>
37682
37683         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37684         work.
37685         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37686         together with LIB${NAME}, LTLIB${NAME}.
37687         Reported by Sam Steingold <sds@gnu.org>.
37688
37689 2009-06-20  Jim Meyering  <meyering@redhat.com>
37690
37691         tests: make sc_require_test_exit_idiom more generic
37692         * top/maint.mk (Exit_witness_file): New overridable variable.
37693         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37694         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37695
37696 2009-06-19  Jim Meyering  <meyering@redhat.com>
37697
37698         hash: reverse order of src/dst parameters in an internal interface
37699         * lib/hash.c (transfer_entries): Reverse order of parameters to
37700         put DST before SRC.  Adjust callers.
37701
37702         tests: test-hash: avoid wholesale duplication
37703         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37704         Instead, use a loop and add a single conditional.
37705
37706         tests: test-hash: allow seed selection via a command line argument
37707         * tests/test-hash.c (get_seed): New function.
37708         (main): Use it.
37709
37710 2009-06-19  Eric Blake  <ebb9@byu.net>
37711
37712         hash: avoid memory leak on allocation failure
37713         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37714         failure.  Factor repeated algorithm...
37715         (transfer_entries): ...into new helper routine.
37716         (hash_delete): React to hash_rehash return value.
37717
37718         hash: reduce memory pressure in hash_rehash no-op case
37719         * lib/hash.c (next_prime): Avoid overflow.
37720         (hash_initialize): Factor bucket size computation...
37721         (compute_bucket_size): ...into new helper function.
37722         (hash_rehash): Use new function and open coding to reduce memory
37723         pressure, and avoid a memory leak in USE_OBSTACK code.
37724         Reported by Jim Meyering.
37725
37726 2009-06-18  Eric Blake  <ebb9@byu.net>
37727
37728         hash: make rotation more obvious
37729         * modules/hash (Depends-on): Add bitrotate and stdint.
37730         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37731         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37732         (SIZE_MAX): Rely on headers for definition.
37733         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37734         (raw_hasher): Use rotr_sz.
37735         Suggested by Jim Meyering.
37736
37737         hash: fix memory leak in last patch
37738         * lib/hash.c (hash_rehash): Avoid memory leak.
37739
37740         hash: avoid no-op rehashing
37741         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37742
37743         hash: provide default callback functions
37744         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37745         (hash_initialize): Use them as defaults.
37746         * tests/test-hash.c (main): Test this.
37747
37748         hash: minor optimization
37749         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37750         when possible.
37751         (hash_initialize): Document this promise.
37752         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37753         * tests/test-hash.c (hash_compare_strings): Test this.
37754
37755 2009-06-18  Bruno Haible  <bruno@clisp.org>
37756
37757         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37758         going to be replaced anyway.
37759
37760 2009-06-18  Bruno Haible  <bruno@clisp.org>
37761
37762         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37763         in one place.
37764         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37765         be replaced anyway.
37766
37767 2009-06-18  Eric Blake  <ebb9@byu.net>
37768
37769         hash: check for resize before insertion
37770         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37771         threshold before insertion, so that a pathological hash_rehash
37772         that fills every bucket can still trigger another rehash.
37773
37774 2009-06-18  Jim Meyering  <meyering@redhat.com>
37775
37776         hash-tests: add a loop around the small tests
37777         * tests/test-hash.c (main): Repeat small tests with selected
37778         small initial table sizes.
37779
37780 2009-06-17  Eric Blake  <ebb9@byu.net>
37781
37782         hash: minor cleanups
37783         * lib/hash.h (hash_entry): Make opaque, by moving...
37784         * lib/hash.c (hash_entry): ...here.
37785         (hash_insert): Clarify restrictions on what can be inserted.
37786         (hash_get_next): Clarify when it is safe to remove an element
37787         during traversal.
37788         (check_tuning): Skip verification when tuning is known safe.
37789         (hash_initialize): Clarify restrictions on tuning.
37790
37791 2009-06-17  Jim Meyering  <jim@meyering.net>
37792         and Eric Blake  <ebb9@byu.net>
37793
37794         hash-tests: new module
37795         * modules/hash-tests: New file.
37796         * tests/test-hash.c: New file.
37797
37798 2009-06-17  Eric Blake  <ebb9@byu.net>
37799
37800         strstr-simple: document new module
37801         * MODULES.html.sh: Document new module.
37802
37803         strstr, strcasestr: replace on platforms with broken memchr
37804         * modules/strstr: Split into...
37805         * modules/strstr-simple: ...new module that does not care about
37806         performance, but does care about glibc bug.
37807         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37808         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37809         if platform memchr is broken, per Debian bug 521737.
37810         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37811         memchr.
37812         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37813         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37814         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37815         * modules/mountlist (Depends-on): Add strstr-simple.
37816         * modules/gen-uni-tables (Depends-on): Likewise.
37817         * modules/argz (Depends-on): Add strstr.
37818
37819 2009-06-17  Bruno Haible  <bruno@clisp.org>
37820
37821         * modules/posix_spawn-internal (Depends-on): Add errno.
37822
37823 2009-06-17  Bruno Haible  <bruno@clisp.org>
37824
37825         Define missing ESTALE on Interix 3.5.
37826         * lib/errno.in.h (ESTALE): Assign a value if missing.
37827         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37828         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37829         missing.
37830         * doc/posix-headers/errno.texi: Mention the Interix bug.
37831         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37832
37833 2009-06-15  Eric Blake  <ebb9@byu.net>
37834
37835         memchr, memchr2: add valgrind exception
37836         * lib/memchr.valgrind: New file.
37837         * lib/memchr2.valgrind: New file.
37838         * modules/memchr (Files): Distribute valgrind file.
37839         * modules/memchr2 (Files): Likewise.
37840
37841         docs: memchr is no longer obsolete
37842         * MODULES.html.sh: Move memchr from obsolete to string.h section.
37843         * lib/string.in.h (memchr): Simplify logic.
37844
37845 2009-06-14  Jim Meyering  <meyering@redhat.com>
37846
37847         link-follow: fix the "checking..." message to not mention trailing slash
37848         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
37849         never considered trailing slashes.
37850
37851 2009-06-14  Bruno Haible  <bruno@clisp.org>
37852
37853         * m4/memchr.m4: Mention also the bug on IA-64.
37854         * doc/posix-functions/memchr.texi: Likewise.
37855
37856 2009-06-12  Eric Blake  <ebb9@byu.net>
37857
37858         memchr: detect broken x86_64 and alpha implementations
37859         * modules/memchr-tests (Depends-on): Move mmap detection...
37860         * modules/memchr (Depends-on): ...here.
37861         (configure.ac): Set indicator.
37862         * lib/string.in.h (memchr): Declare replacement.
37863         * modules/string (Makefile.am): Trigger replacement.
37864         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37865         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
37866         bugs.
37867         * doc/posix-functions/memchr.texi (memchr): Document the bug.
37868         * modules/getpagesize (License): Relax license.
37869
37870 2009-06-11  Bruno Haible  <bruno@clisp.org>
37871
37872         * lib/idpriv.h: Add more references.
37873
37874 2009-06-08  Bruno Haible  <bruno@clisp.org>
37875
37876         Tests for module 'idpriv-droptemp'.
37877         * modules/idpriv-droptemp-tests: New file.
37878         * tests/test-idpriv-droptemp.sh: New file.
37879         * tests/test-idpriv-droptemp.su.sh: New file.
37880         * tests/test-idpriv-droptemp.c: New file.
37881
37882         New module 'idpriv-droptemp'.
37883         * lib/idpriv-droptemp.c: New file.
37884         * modules/idpriv-droptemp: New file.
37885
37886 2009-06-08  Bruno Haible  <bruno@clisp.org>
37887
37888         Tests for module 'idpriv-drop'.
37889         * modules/idpriv-drop-tests: New file.
37890         * tests/test-idpriv-drop.sh: New file.
37891         * tests/test-idpriv-drop.su.sh: New file.
37892         * tests/test-idpriv-drop.c: New file.
37893
37894         New module 'idpriv-drop'.
37895         * lib/idpriv.h: New file.
37896         * lib-idpriv-drop.c: New file.
37897         * m4/idpriv.m4: New file.
37898         * modules/idpriv-drop: New file.
37899
37900 2009-06-08  Bruno Haible  <bruno@clisp.org>
37901
37902         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
37903         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37904         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37905         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37906         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37907         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37908         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37909
37910 2009-06-08  Eric Blake  <ebb9@byu.net>
37911
37912         test-strstr: use memory fence, when possible
37913         * tests/test-strstr.c (main): Use memory fence, in order to be
37914         more likely to trigger Debian bug 521737.
37915         * modules/strstr-tests (Files): Pull in additional files.
37916
37917         memchr: no longer obsolete, for wider field testing
37918         * modules/memchr (Status, Notice): Delete, this module is no
37919         longer obsolete.
37920         * modules/vasnprintf (Depends-on): Add memchr.
37921
37922 2009-06-07  Jim Meyering  <meyering@redhat.com>
37923
37924         hash: declare some functions with the warn_unused_result attribute
37925         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
37926
37927 2009-06-07  Bruno Haible  <bruno@clisp.org>
37928
37929         * tests/test-alignof.c: Don't test int64_t if it does not exist.
37930         Reported by Eric Blake.
37931
37932 2009-06-06  Eric Blake  <ebb9@byu.net>
37933
37934         test-alignof: fix typo with long double
37935         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
37936         compiler error.
37937
37938 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
37939
37940         Escape non-texinfo { and }s.
37941         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
37942         markup error.
37943
37944 2009-06-04  Jim Meyering  <meyering@redhat.com>
37945
37946         gitlog-to-changelog: don't infloop on an empty commit log
37947         * build-aux/gitlog-to-changelog: Warn about an empty log message.
37948         Reported by Boris Petersen <transacid@centerim.org>.
37949
37950 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
37951
37952         version-etc: extend for packagers
37953         Add three new configure options, intended for packagers:
37954           --with-packager="packager name"
37955           --with-packager-version="packager-specific version"
37956           --with-packager-bug-reports="packager bug reporting"
37957         An example with coreutils:
37958           $ ./configure \
37959             --with-packager=Gentoo \
37960             --with-packager-bug-report=http://bugs.gentoo.org/ \
37961             --with-packager-version="patchset 1.6"
37962           $ ./src/ls --version | head -n2
37963           ls (GNU coreutils) 7.1-dirty
37964           Packaged by Gentoo (patchset 1.6)
37965         Note that the bug reporting info via --help doesn't show up because
37966         coreutils uses its own custom emit_bug_reporting_address() implementation
37967         in src/system.h.  If it didn't, it'd look like:
37968           $ ./src/ls --help | tail -n4
37969           Report bugs to <bug-coreutils@gnu.org>.
37970           Report Gentoo bugs to <http://bugs.gentoo.org/>.
37971           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
37972           General help using GNU software: <http://www.gnu.org/gethelp/>.
37973         * lib/version-etc.c: Print new information, if provided.
37974         * m4/version-etc.m4: New file.
37975         * modules/version-etc (Files): Add m4/version-etc.m4.
37976         (configure.ac): Add gl_VERSION_ETC.
37977
37978 2009-05-31  Bruno Haible  <bruno@clisp.org>
37979
37980         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
37981         and 'int64_t'.
37982         * modules/alignof-tests (Dependencies): Add stdint.
37983         Reported by Eric Blake.
37984
37985 2009-05-31  Bruno Haible  <bruno@clisp.org>
37986
37987         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
37988         restriction due to compiler bugs.
37989         Reported by Eric Blake.
37990
37991 2009-05-31  Simon Josefsson  <simon@josefsson.org>
37992             Bruno Haible  <bruno@clisp.org>
37993
37994         Fix test-alignof failure.
37995         * lib/alignof.h (alignof_slot): New macro.
37996         (alignof_type): New macro, with the same semantics as the previous
37997         'alignof'.
37998         (alignof): Alias to alignof_slot.
37999         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
38000         check that the results are usable as constant expressions.
38001
38002 2009-05-31  Bruno Haible  <bruno@clisp.org>
38003
38004         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
38005         * tests/test-memchr.c (main): Check that memchr does not read past the
38006         first occurrence of the byte.
38007         * tests/test-strstr.c (main): Update comment.
38008         Suggested by Eric Blake.
38009
38010 2009-05-30  Bruno Haible  <bruno@clisp.org>
38011
38012         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
38013         detail how to use dumpbin.
38014         Reported by David Byron <dbyron@dbyron.com>.
38015
38016 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38017
38018         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
38019
38020 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38021
38022         * m4/manywarnings.m4: Add GCC 4.4 warnings.
38023
38024 2009-05-28  Bruno Haible  <bruno@clisp.org>
38025
38026         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
38027         build-aux/ files.
38028
38029 2009-05-28  Simon Josefsson  <simon@josefsson.org>
38030
38031         * gnulib-tool (func_import): Transform license on build-aux/ files too.
38032
38033 2009-05-27  Simon Josefsson  <simon@josefsson.org>
38034
38035         * gnulib-tool (sed_transform_main_lib_file)
38036         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
38037         regexps.
38038
38039 2009-05-26  Simon Josefsson  <simon@josefsson.org>
38040
38041         * tests/test-strstr.c: Add another self-test.
38042         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
38043         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
38044
38045 2009-05-23  Bruno Haible  <bruno@clisp.org>
38046
38047         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
38048         change.
38049
38050 2009-05-21  Bruno Haible  <bruno@clisp.org>
38051
38052         Simplify use of mode_t varargs.
38053         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
38054         uses 'mode_t' or 'int'.
38055         * lib/openat.c (openat): Likewise.
38056         * lib/open-safer.c (open_safer): Likewise.
38057         * m4/mode_t.m4: New file.
38058         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
38059         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
38060         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
38061         * modules/open (Files): Add m4/mode_t.m4.
38062         * modules/openat (Files): Likewise.
38063         * modules/fcntl-safer (Files): Likewise.
38064         Suggested by Eric Blake.
38065
38066 2009-05-21  Pádraig Brady  <P@draigbrady.com>
38067
38068         * doc/glibc-functions/fallocate.texi: New file.
38069         * doc/gnulib.texi: Include it.
38070
38071 2009-05-21  Eric Blake  <ebb9@byu.net>
38072             Bruno Haible  <bruno@clisp.org>
38073
38074         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
38075         invocations.
38076         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38077
38078 2009-05-21  Eric Blake  <ebb9@byu.net>
38079             Bruno Haible  <bruno@clisp.org>
38080
38081         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
38082         include_next. Fix of 2008-11-20 commit.
38083         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
38084         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
38085         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
38086         NEXT_MATH_H.
38087         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
38088         instead of NEXT_MATH_H.
38089
38090 2009-05-21  Bruno Haible  <bruno@clisp.org>
38091
38092         Avoid redefinition warnings for SIZE_MAX.
38093         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
38094         Reported by Simon Josefsson.
38095
38096 2009-05-21  Bruno Haible  <bruno@clisp.org>
38097
38098         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
38099         AC_CACHE_VAL.
38100
38101 2009-05-20  Bruno Haible  <bruno@clisp.org>
38102
38103         Make zeroptr.h work on mingw.
38104         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
38105         mprotect.
38106         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
38107         * modules/memchr2-tests (configure.ac): Likewise.
38108         * modules/memcmp-tests (configure.ac): Likewise.
38109         * modules/memmem-tests (configure.ac): Likewise.
38110         * modules/memrchr-tests (configure.ac): Likewise.
38111         Reported by Simon Josefsson.
38112
38113 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38114
38115         * tests/test-glob.c: Include string.h for strcmp prototype.
38116
38117 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38118
38119         * modules/getdelim (Depends-on): Add explicit stdint, although it
38120         was implicitly already pulled in via realloc-posix.
38121         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
38122
38123 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38124
38125         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
38126         G. Christensen" <tgc@jupiterrise.com>.
38127         * m4/sys_socket_h.m4: Check for sa_family_t.
38128         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
38129         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
38130         * tests/test-sys_socket.c: Check that sa_family_t works.
38131
38132 2009-05-18  Eric Blake  <ebb9@byu.net>
38133
38134         maint.mk: allow gnulib_dir in VPATH build
38135         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
38136
38137 2009-05-15  Jim Meyering  <meyering@redhat.com>
38138
38139         maint.mk: Give gnulib_dir a default definition.
38140         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
38141         Thus, most packages no longer need to specify this variable in cfg.mk
38142
38143 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
38144
38145         rename.m4: fix typos that would make non-mingw cross-configure fail
38146         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
38147
38148 2009-05-13  Eric Blake  <ebb9@byu.net>
38149
38150         mmap-anon: avoid out-of-order autoconf expansion
38151         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
38152         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
38153         * modules/memchr-tests (Depends-on): Add extensions.
38154         * modules/memchr2-tests (Depends-on): Add extensions.
38155         * modules/memcmp-tests (Depends-on): Add extensions.
38156         * modules/memmem-tests (Depends-on): Add extensions.
38157         * modules/memrchr-tests (Depends-on): Add extensions.
38158
38159 2009-05-13  Bruno Haible  <bruno@clisp.org>
38160
38161         Make some tests ISO C 99 compliant.
38162         * tests/zerosize-ptr.h: New file.
38163         * tests/test-memchr.c: Include zerosize-ptr.h.
38164         (main): Use a zero-size object pointer instead of NULL.
38165         * tests/test-memchr2.c: Include zerosize-ptr.h.
38166         (main): Use a zero-size object pointer instead of NULL.
38167         * tests/test-memcmp.c: Include zerosize-ptr.h.
38168         (main): Use a zero-size object pointer instead of NULL.
38169         * tests/test-memmem.c: Include zerosize-ptr.h.
38170         (main): Use a zero-size object pointer instead of NULL.
38171         * tests/test-memrchr.c: Include zerosize-ptr.h.
38172         (main): Use a zero-size object pointer instead of NULL.
38173         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
38174         m4/mmap-anon.m4.
38175         (Depends-on): Add getpagesize.
38176         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38177         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
38178         m4/mmap-anon.m4.
38179         (Depends-on): Add getpagesize.
38180         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38181         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
38182         m4/mmap-anon.m4.
38183         (Depends-on): Add getpagesize.
38184         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38185         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
38186         m4/mmap-anon.m4.
38187         (Depends-on): Add getpagesize.
38188         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38189         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
38190         m4/mmap-anon.m4.
38191         (Depends-on): Add getpagesize.
38192         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38193
38194 2009-05-12  Bruno Haible  <bruno@clisp.org>
38195
38196         Tests for module 'alignof'.
38197         * modules/alignof-tests: New file.
38198         * tests/test-alignof.c: New file.
38199
38200 2009-05-12  Bruno Haible  <bruno@clisp.org>
38201
38202         Fix alignof macro.
38203         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
38204         vendor compilers that are always correct.
38205
38206 2009-05-12  Bruno Haible  <bruno@clisp.org>
38207
38208         Make the MAP_ANONYMOUS detection work on HP-UX 11.
38209         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
38210         not whether its fully works.
38211
38212 2009-05-12  Bruno Haible  <bruno@clisp.org>
38213
38214         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
38215
38216 2009-05-12  Jim Meyering  <meyering@redhat.com>
38217
38218         * top/maint.mk: Adjust backslash alignment.
38219
38220 2009-05-11  Simon Josefsson  <simon@josefsson.org>
38221
38222         * top/maint.mk: Make $(srcdir)/build-aux configurable.
38223
38224 2009-05-11  Eric Blake  <ebb9@byu.net>
38225
38226         argp: avoid undefined behavior
38227         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
38228         macros.
38229
38230 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38231
38232         * tests/test-vc-list-files-git.sh: Do git config of user.email and
38233         user.name to prevent git commit from complaining.
38234
38235 2009-05-10  Bruno Haible  <bruno@clisp.org>
38236
38237         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
38238         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
38239         it rewrites every file name only once.
38240         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
38241
38242 2009-05-08  Bruno Haible  <bruno@clisp.org>
38243
38244         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
38245         instead of 'max'.
38246
38247 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38248
38249         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
38250         sockaddr_storage test.
38251
38252 2009-05-07  Simon Josefsson  <simon@josefsson.org>
38253
38254         * modules/sys_socket (Makefile.am): Substitute
38255         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
38256         * m4/sys_socket_h.m4: Check for sockaddr_storage.
38257         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
38258         * tests/test-sys_socket.c: Check sockaddr_storage.
38259
38260 2009-05-08  Bruno Haible  <bruno@clisp.org>
38261
38262         New module 'alignof'.
38263         * lib/alignof.h: New file.
38264         * modules/alignof: New file.
38265
38266 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38267             Bruno Haible  <bruno@clisp.org>
38268
38269         Fix test-file-has-acl on FreeBSD.
38270         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
38271         mask is implicitly added.
38272         * tests/test-file-has-acl.c: Include <signal.h>.
38273         (main): Terminate the test after 5 seconds.
38274         * modules/acl-tests (configure.ac): Check for alarm function.
38275
38276 2009-05-04  Bruno Haible  <bruno@clisp.org>
38277
38278         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
38279         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
38280         * modules/errno (configure.ac): Drop AC_REQUIRE.
38281         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
38282         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
38283
38284 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38285
38286         * modules/glob-tests: New module.
38287         * tests/test-glob.c: Add.
38288
38289 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38290
38291         * modules/fnmatch-tests: New module.
38292         * tests/test-fnmatch.c: Add.
38293
38294 2009-05-04  Eric Blake  <ebb9@byu.net>
38295
38296         maint: make the new no-submodule-changes rule VPATH-safe
38297         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
38298
38299 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38300             Bruno Haible  <bruno@clisp.org>
38301
38302         acl: Fix infinite loop on FreeBSD.
38303         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
38304         of return value from acl_get_entry.
38305         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
38306         Likewise.
38307
38308 2009-05-03  Bruno Haible  <bruno@clisp.org>
38309
38310         * lib/acl-internal.h (acl_entries): Clarify return value.
38311         * lib/acl_entries.c (acl_entries): Likewise.
38312
38313 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38314
38315         Bug fix in acl module.
38316         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
38317
38318 2009-05-03  Bruno Haible  <bruno@clisp.org>
38319
38320         Create gperf-generated file in the source dir, not in the build dir.
38321         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
38322         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
38323         * modules/unicase/locale-language (unicase/locale-languages.h):
38324         Likewise.
38325         * modules/unicase/special-casing (unicase/special-casing-table.h):
38326         Likewise.
38327         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
38328         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
38329         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
38330         Reported by Ralf Wildenhues.
38331
38332 2009-05-03  Bruno Haible  <bruno@clisp.org>
38333
38334         * modules/fnmatch (Description, configure.ac): Taken from
38335         fnmatch-posix.
38336         * modules/fnmatch-posix: Turn into a symbolic reference to the
38337         'fnmatch' module, and deprecate.
38338         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
38339
38340 2009-05-03  Bruno Haible  <bruno@clisp.org>
38341
38342         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
38343         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
38344         Reported by Ralf Wildenhues.
38345
38346 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38347
38348         * m4/fnmatch.m4: Fix fnmatch re-define.
38349
38350 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38351
38352         priv-set: new module and tests; adapt write-any-file
38353         * lib/priv-set.c: New file.
38354         * lib/priv-set.h: New file.
38355         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
38356         * lib/write-any-file.c: Simplify by using priv-set module.
38357         * m4/priv-set.m4: New file.
38358         * modules/priv-set: New file.
38359         * modules/unlinkdir: Add dependency on priv-set module.
38360         * modules/write-any-file: Likewise.
38361
38362         Tests for module 'priv-set'.
38363         * modules/priv-set-tests: New file.
38364         * tests/test-priv-set.c: New file.
38365
38366 2009-05-03  Jim Meyering  <meyering@redhat.com>
38367             Bruno Haible  <bruno@clisp.org>
38368
38369         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
38370         use the converted UTF-8 variant of the name instead.
38371
38372 2009-05-03  Jim Meyering  <meyering@redhat.com>
38373
38374         tests: tighten some getdate tests
38375         * tests/test-getdate.c (main): Tighten tests: require equality,
38376         not just greater than.  Set TZ envvar to UTC0.
38377
38378 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
38379
38380         getdate: correctly interpret "next monday" when run on a Monday
38381         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
38382         that e.g., "next tues" (when run on a tuesday) results in a date
38383         that is one week in the future, and not today's date.
38384         I.e., add a week when the wday is the same as the current one.
38385         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
38386         and earlier by Martin Bernreuther and Jan Minář.
38387         * tests/test-getdate.c (main): Check that "next DAY" is always in
38388         the future and that "last DAY" is always in the past.
38389
38390 2009-05-02  Jim Meyering  <meyering@redhat.com>
38391
38392         build: ensure that a release build fails when a submodule is unclean
38393         * top/maint.mk (no-submodule-changes): New rule.
38394         (alpha beta major): Depend on it.
38395
38396 2009-05-02  Bruno Haible  <bruno@clisp.org>
38397
38398         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
38399         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
38400         shell variable gl_fnmatch_required to detect which variant is
38401         requested.
38402         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
38403         gl_FUNC_FNMATCH_POSIX.
38404         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
38405         exclude fnmatch-posix.
38406
38407 2009-05-02  Bruno Haible  <bruno@clisp.org>
38408
38409         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
38410         * modules/mbsrtowcs (License): Change to LGPLv2+.
38411         * modules/strnlen1 (License): Likewise.
38412         Reported by Simon Josefsson.
38413
38414 2009-05-02  Bruno Haible  <bruno@clisp.org>
38415
38416         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
38417         "cross".
38418         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
38419         gnulib-tool was called with option --source-base=lib.
38420
38421 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38422
38423         Use automake *-local hooks without commands, for extensibility.
38424         * modules/localcharset (Makefile.am): Rename install-exec-local
38425         rule to install-exec-localcharset, and make it a prerequisite of
38426         install-exec-local.  Likewise, rename the uninstall-local rule to
38427         uninstall-localcharset, and make it a prerequisite of the former.
38428
38429 2009-05-01  Bruno Haible  <bruno@clisp.org>
38430
38431         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38432         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38433         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38434         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38435         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38436         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38437         m4/locale-zh.m4, m4/codeset.m4.
38438
38439         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38440         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38441         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38442         m4/locale-zh.m4.
38443
38444         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38445         REPLACE_WCRTOMB if mbstate_t must be replaced.
38446         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38447         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38448
38449 2009-05-01  Bruno Haible  <bruno@clisp.org>
38450
38451         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38452         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38453         dngettext, dcngettext, textdomain, bindtextdomain,
38454         bind_textdomain_codeset): Undefine before redefining.
38455
38456 2009-04-30  Bruno Haible  <bruno@clisp.org>
38457
38458         Fix bug introduced on 2009-04-25.
38459         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38460         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38461         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38462         is defined.
38463         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38464         is defined.
38465         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38466         is defined.
38467         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38468
38469 2009-04-28  Bruno Haible  <bruno@clisp.org>
38470
38471         Comment tweaks.
38472         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38473         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38474         * lib/unicase.h (u*_casexfrm): Likewise.
38475         Reported by Paolo Bonzini.
38476
38477 2009-04-28  Bruno Haible  <bruno@clisp.org>
38478
38479         Fix a compilation error.
38480         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38481         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38482         Reported by Jim Meyering.
38483
38484 2009-04-27  Bruno Haible  <bruno@clisp.org>
38485
38486         New module 'libunistring'.
38487         * modules/libunistring: New file.
38488         * m4/libunistring.m4: New file.
38489         * MODULES.html.sh (Unicode string functions): Add it.
38490
38491 2009-04-27  Eric Blake  <ebb9@byu.net>
38492
38493         maint.mk: allow package-specific header to provide <config.h>
38494         * top/maint.mk (sc_require_config_h): New variable.
38495         (sc_require_config_h, sc_require_config_h_first): Use it.
38496
38497 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38498
38499         * top/maint.mk (sc_avoid_if_before_free): Except
38500         useless-if-before-free script.
38501
38502 2009-04-27  Eric Blake  <ebb9@byu.net>
38503
38504         maintainer-makefile: depend on all required helper scripts
38505         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38506         useless-if-before-free.
38507         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38508         version, rather than assuming gnulib checkout is available.
38509         Reported by Simen Josefsson.
38510
38511 2009-04-26  Bruno Haible  <bruno@clisp.org>
38512
38513         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38514         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38515         "../" or "..".
38516
38517 2009-04-26  Bruno Haible  <bruno@clisp.org>
38518
38519         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38520         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38521         AC_LIB_HAVE_LINKFLAGS.
38522
38523 2009-04-26  Bruno Haible  <bruno@clisp.org>
38524
38525         Simplify calling convention of u*_conv_from_encoding.
38526         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38527         u32_conv_from_encoding): Expect a resultbuf argument and return the
38528         result directly as a pointer.
38529         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38530         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38531         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38532         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38533         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38534         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38535         Update.
38536         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38537         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38538         * lib/vasnprintf.c (VASNPRINTF): Update.
38539         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38540         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38541         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38542         * NEWS: Mention the change.
38543
38544 2009-04-26  Bruno Haible  <bruno@clisp.org>
38545
38546         Simplify calling convention of u*_conv_to_encoding.
38547         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38548         u32_conv_to_encoding): Expect a resultbuf argument and return the
38549         result directly as a pointer.
38550         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38551         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38552         freeing scaled_offsets if mem_iconveha failed.
38553         * lib/unicase/u-casexfrm.h (FUNC): Update.
38554         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38555         * lib/vasnprintf.c (VASNPRINTF): Update.
38556         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38557         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38558         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38559         * NEWS: Mention the change.
38560
38561 2009-04-26  Bruno Haible  <bruno@clisp.org>
38562
38563         Avoid test failures on AIX and OSF/1.
38564         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38565         malloc(0).
38566         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38567         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38568         Likewise.
38569         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38570         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38571         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38572         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38573         * doc/posix-functions/malloc.texi: Document the portability problem
38574         related to malloc(0).
38575
38576 2009-04-26  Bruno Haible  <bruno@clisp.org>
38577
38578         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38579         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38580         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38581
38582 2009-04-25  Bruno Haible  <bruno@clisp.org>
38583
38584         Avoid link error when creating a namespace clean library.
38585         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38586         as macro with arguments if already defined as an alias.
38587         * lib/signbitf.c (gl_signbitf): Don't undefine.
38588         * lib/signbitd.c (gl_signbitd): Don't undefine.
38589         * lib/signbitl.c (gl_signbitl): Don't undefine.
38590
38591 2009-04-25  Jim Meyering  <meyering@redhat.com>
38592
38593         vc-list-files: fix another quoting bug
38594         * build-aux/vc-list-files: Avoid sed backslash expansion
38595         of pathological directory names.
38596
38597 2009-04-25  Eric Blake  <ebb9@byu.net>
38598
38599         vc-list-files: fix shell quoting error
38600         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38601         timestamp.
38602
38603 2009-04-25  Jim Meyering  <meyering@redhat.com>
38604
38605         vc-list-files: restore lost functionality with subdir argument
38606         * build-aux/vc-list-files: When given a non-"." sub-directory
38607         argument, substitute the $dir/ prefix back onto each resulting name.
38608         Otherwise, coreutils' root_tests check would fail.
38609
38610 2009-04-24  Eric Blake  <ebb9@byu.net>
38611
38612         vc-list-files: ignore git symlinks
38613         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38614         than ls-files, to ignore git symlinks.
38615
38616         maint.mk: import improvements from m4
38617         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38618         (move_if_change): Delete unused macro.
38619         (news-date-check, vc-diff-check): Support VPATH builds.
38620         (announcement): Likewise.  Split --bootstrap-tools list...
38621         (boostrap-tools): ...into separate list, which can be overridden
38622         in cfg.mk.
38623         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38624         requiring dependency on useless-if-before-free module.
38625         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38626         Support VPATH builds.
38627
38628 2009-04-24  Jim Meyering  <meyering@redhat.com>
38629
38630         maint.mk: remove coreutils-specific rules and variables
38631         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38632         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38633         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38634
38635         maint.mk: remove obsolete rule
38636         * top/maint.mk (rel-check): Remove rule.
38637         (WGET, WGETFLAGS): Remove now-unused variables.
38638
38639 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38640
38641         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38642         consistency.
38643
38644         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38645         '$(PATH_SEPARATOR)' instead of ':'.
38646
38647 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38648
38649         * lib/getopt1.c (main): Use 'const' for static array.
38650
38651 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38652
38653         * top/maint.mk: Sync with coreutils.
38654         * NEWS: Explain incompatibilities.
38655
38656 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38657             Bruno Haible  <bruno@clisp.org>
38658
38659         Fix cross-compilation results.
38660         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38661         statement, as third argument of AC_TRY_RUN.
38662         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38663         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38664         Likewise.
38665         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38666         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38667         Likewise.
38668         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38669         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38670         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38671
38672 2009-04-20  Bruno Haible  <bruno@clisp.org>
38673
38674         Avoid test failure on mingw.
38675         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38676
38677 2009-04-20  Bruno Haible  <bruno@clisp.org>
38678
38679         Avoid compilation error on mingw.
38680         * modules/localename-tests (Depends-on): Add locale.
38681
38682 2009-04-19  Bruno Haible  <bruno@clisp.org>
38683
38684         Support for building a shared library on Windows platforms.
38685         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38686         (main): Test the presence of UNINORM_NFC here.
38687         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38688         (main): Test the presence of UNINORM_NFD here.
38689         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38690         (main): Test the presence of UNINORM_NFKC here.
38691         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38692         (main): Test the presence of UNINORM_NFKD here.
38693
38694 2009-04-19  Bruno Haible  <bruno@clisp.org>
38695
38696         Avoid a compiler warning.
38697         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38698         Change type of variable 'sequence'.
38699
38700 2009-04-19  Bruno Haible  <bruno@clisp.org>
38701
38702         * modules/configmake (Makefile.am): When the contents of configmake.h
38703         does not change, arrange to preserve its modification time.
38704
38705 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38706
38707         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38708         gettext domain.
38709
38710 2009-04-16  Jim Meyering  <meyering@redhat.com>
38711
38712         useless-if-before-free: improve conversion code
38713         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38714         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38715
38716 2009-04-14  Bruno Haible  <bruno@clisp.org>
38717
38718         * modules/fcntl (Depends-on): Add extensions.
38719         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38720
38721 2009-04-12  Ben Pfaff  <blp@gnu.org>
38722
38723         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38724         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38725
38726 2009-03-20  Ben Pfaff  <blp@gnu.org>
38727
38728         Make rename replace existing destinations on Windows.
38729         * m4/rename.m4: Add test for Mingw.
38730         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38731         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38732         * doc/posix-functions/rename.texi: Document.
38733
38734 2009-04-10  Bruno Haible  <bruno@clisp.org>
38735
38736         New include file "iconveh.h".
38737         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38738         * lib/striconveh.h: Include it.
38739         (enum iconv_ilseq_handler): Remove definition.
38740         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38741         striconveh.h.
38742         * lib/striconveha.c: Include striconveh.h.
38743         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38744         * modules/striconveh (Files): Add lib/iconveh.h.
38745         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38746         lib/striconveh.h.
38747
38748 2009-04-10  Bruno Haible  <bruno@clisp.org>
38749
38750         * lib/uniconv.h: Update comment.
38751
38752 2009-04-10  Bruno Haible  <bruno@clisp.org>
38753
38754         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38755         always.
38756         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38757         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38758         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38759         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38760         "unistring-notinline.h", so that the function gets defined always.
38761         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38762         * lib/unistr/u8-uctomb.c: Likewise.
38763         * lib/unistr/u16-mbtouc.c: Likewise.
38764         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38765         * lib/unistr/u16-uctomb.c: Likewise.
38766         * lib/unistr/u32-mbtouc.c: Likewise.
38767         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38768         * lib/unistr/u32-uctomb.c: Likewise.
38769
38770 2009-04-10  Bruno Haible  <bruno@clisp.org>
38771
38772         Mark 'utime' obsolete.
38773         * modules/utime (Status, Notice): New sections.
38774         Suggested by Jim Meyering.
38775
38776         Fix cross-compile guess for utime test.
38777         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38778         autoconf.
38779         * doc/posix-functions/utime.texi: Give more precisions.
38780         Reported by Jan <ipif@ymail.com>.
38781
38782 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38783
38784         filevercmp: correct today's change
38785         * lib/filevercmp.c: Also handle coreutils' test inputs.
38786         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38787
38788         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38789         for reporting it.
38790         * lib/filevercmp.c: Special handle for "", "." and "..".
38791         * tests/test-filevercmp.c: Enlarge the set suite.
38792
38793 2009-04-07  Jim Meyering  <meyering@redhat.com>
38794
38795         useless-if-before-free: show how to remove braced useless free, too
38796         * build-aux/useless-if-before-free: still only in a comment, though.
38797
38798 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38799
38800         maint.mk: import changes to syntax-check macros from coreutils
38801         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38802         Use them in the relevant macros.
38803
38804 2009-04-06  Bruno Haible  <bruno@clisp.org>
38805
38806         Fix unportable use of bit-fields.
38807         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38808         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38809         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38810
38811 2009-04-06  Bruno Haible  <bruno@clisp.org>
38812
38813         Avoid test failures on AIX and OSF/1.
38814         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38815         that malloc(0) = NULL.
38816         * tests/unicase/test-u8-tolower.c (check): Likewise.
38817         * tests/unicase/test-u8-totitle.c (check): Likewise.
38818         * tests/unicase/test-u8-toupper.c (check): Likewise.
38819         * tests/unicase/test-u16-casefold.c (check): Likewise.
38820         * tests/unicase/test-u16-tolower.c (check): Likewise.
38821         * tests/unicase/test-u16-totitle.c (check): Likewise.
38822         * tests/unicase/test-u16-toupper.c (check): Likewise.
38823         * tests/unicase/test-u32-casefold.c (check): Likewise.
38824         * tests/unicase/test-u32-tolower.c (check): Likewise.
38825         * tests/unicase/test-u32-totitle.c (check): Likewise.
38826         * tests/unicase/test-u32-toupper.c (check): Likewise.
38827         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38828         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38829         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38830         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38831         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38832         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38833         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38834         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38835         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38836         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38837         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38838         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38839
38840 2009-04-05  Bruno Haible  <bruno@clisp.org>
38841
38842         Work around an autoconf limitation.
38843         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
38844         comment line if it would be longer than 3 KB.
38845
38846 2009-04-05  Bruno Haible  <bruno@clisp.org>
38847
38848         Avoid test failure with libiconv-1.13.
38849         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
38850         of the expected test results.
38851
38852 2009-04-05  Bruno Haible  <bruno@clisp.org>
38853
38854         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
38855         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
38856         that it should be installed.
38857
38858 2009-04-05  Bruno Haible  <bruno@clisp.org>
38859
38860         * gnulib-tool: New option --copy-file.
38861         (func_usage): Document it.
38862         (func_dest_tmpfilename): Moved out of func_import.
38863         (func_add_file, func_update_file): New functions, extracted from
38864         func_import.
38865         (func_import): Update.
38866
38867 2009-04-05  Karl Berry  <karl@gnu.org>
38868
38869         * README: prominently mention gnulib-tool.
38870         Rearrange sections so getting the code is near the top.
38871
38872 2009-04-05  Bruno Haible  <bruno@clisp.org>
38873
38874         * lib/unicase.h: Mention u*_cmp2.
38875         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38876         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
38877         * lib/unicase/ulc-casecmp.c: Likewise.
38878         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
38879         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
38880         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
38881         unistr/u8-cmp.
38882         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
38883         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
38884         unistr/u16-cmp.
38885         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
38886         unistr/u32-cmp.
38887
38888         * lib/uninorm.h: Mention u*_cmp2.
38889         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38890         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
38891         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
38892         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
38893         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
38894         unistr/u8-cmp.
38895         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
38896         unistr/u16-cmp.
38897         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
38898         unistr/u32-cmp.
38899
38900         New module 'unistr/u32-cmp2'.
38901         * lib/unistr/u32-cmp2.c: New file.
38902         * modules/unistr/u32-cmp2: New file.
38903
38904         New module 'unistr/u16-cmp2'.
38905         * lib/unistr/u16-cmp2.c: New file.
38906         * modules/unistr/u16-cmp2: New file.
38907
38908         New module 'unistr/u8-cmp2'.
38909         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
38910         * lib/unistr/u8-cmp2.c: New file.
38911         * lib/unistr/u-cmp2.h: New file.
38912         * modules/unistr/u8-cmp2: New file.
38913
38914 2009-04-05  Bruno Haible  <bruno@clisp.org>
38915
38916         * lib/unictype.h (uc_property_is_valid): New macro.
38917         * tests/unictype/test-pr_byname.c (main): Use it.
38918
38919         * lib/unistr.h: Doc fixes.
38920         * lib/uniconv.h: Doc fixes.
38921         * lib/unictype.h: Doc fixes.
38922
38923 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
38924
38925         Port coreutils 7.2 to Solaris 8.
38926
38927         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
38928         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
38929         for Solaris 8.  This is a bit of a hack, as it means it's the
38930         caller's responsibility to add -lnsl if needed, but most likely it
38931         won't be needed since only getaddrinfo uses this and getaddrinfo
38932         isn't needed on Solaris 8.
38933
38934         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
38935         problem to Solaris 8 encountered with coreutils 7.2, which
38936         resulted in a message "fnmatch.c:292: warning: passing argument 4
38937         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
38938         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
38939
38940 2009-04-03  Simon Josefsson  <simon@josefsson.org>
38941
38942         * m4/ld-version-script.m4: Add FIXME comment.
38943
38944 2009-04-02  Simon Josefsson  <simon@josefsson.org>
38945
38946         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
38947         SOVERSION variable.
38948
38949 2009-04-02  Bruno Haible  <bruno@clisp.org>
38950
38951         * Makefile (info, html, dvi, pdf): Combine the rules.
38952         Suggested by Jim Meyering.
38953
38954 2009-04-01  Bruno Haible  <bruno@clisp.org>
38955
38956         * Makefile (info, html, dvi, pdf): New targets.
38957         Reported by Reuben Thomas <rrt@sc3d.org>.
38958
38959 2009-04-01  Bruno Haible  <bruno@clisp.org>
38960
38961         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
38962         can be put into PATH.
38963         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
38964
38965 2009-04-01  Bruno Haible  <bruno@clisp.org>
38966
38967         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
38968
38969 2009-04-01  Bruno Haible  <bruno@clisp.org>
38970
38971         Rename module 'visibility'.
38972         * modules/lib-symbol-visibility: Renamed from modules/visibility.
38973         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
38974         * doc/gnulib.texi: Update.
38975         * MODULES.html.sh (Misc): Update.
38976         * NEWS: Mention the change.
38977
38978 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38979
38980         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
38981         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
38982         Eric Blake <ebb9@byu.net> for review.
38983         * MODULES.html.sh: Add lib-msvc-compat.
38984         * doc/gnulib.texi: Link to new section.
38985         * m4/ld-output-def.m4: New file.
38986         * doc/ld-output-def.texi: New file.
38987
38988 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38989
38990         Rename ld-version-script to lib-symbol-versions.  Suggested by
38991         Bruno Haible <bruno@clisp.org>.
38992         * modules/ld-version-script: Renamed to lib-symbol-versions.
38993         * doc/ld-version-script.texi: Fix module name.
38994         * MODULES.html.sh: Add lib-symbol-versions.
38995
38996 2009-03-31  Simon Josefsson  <simon@josefsson.org>
38997
38998         * modules/u64-tests: New file.
38999         * tests/test-u64.c: New file.
39000
39001 2009-03-04  Simon Josefsson  <simon@josefsson.org>
39002
39003         * MODULES.html.sh: Mention u64.
39004         * modules/u64: New module.
39005         * modules/crypto/sha512: Depend on u64 module instead of providing
39006         u64.h.
39007
39008 2009-03-27  Eric Blake  <ebb9@byu.net>
39009
39010         test-strerror: make debugging EAI_SYSTEM easier
39011         * modules/getaddrinfo-tests (Depends-on): Add strerror.
39012         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
39013         failure was EAI_SYSTEM.
39014
39015 2009-03-25  Bruno Haible  <bruno@clisp.org>
39016
39017         Fix a problem with --enable-relocatable on Solaris 7.
39018         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
39019         since 2008-02-24.
39020
39021 2009-03-25  Eric Blake  <ebb9@byu.net>
39022
39023         test-sockets: avoid gcc warning
39024         * tests/test-sockets.c (main): Silence compiler warning.
39025
39026 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39027
39028         New modules nproc, pthread, contributed by Glen Lenker.
39029
39030         * MODULES.html.sh: Add pthread, nproc.
39031         * lib/nproc.c: New file.
39032         * lib/nproc.h: New file.
39033         * lib/pthread.in.h: New file.
39034         * m4/pthread.m4: New file.
39035         * modules/nproc: New file.
39036         * modules/pthread: New file.
39037
39038 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39039
39040         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
39041         New variable.
39042
39043 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
39044
39045         filevercmp: handle simple~ and numbered.~3~ backup suffixes
39046         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
39047         * tests/test-filevercmp.c: Add tests for backup suffixes.
39048
39049 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39050
39051         * modules/stdlib (Depends-on): Add stdint, needed when defining
39052         struct random_data on, for example, HP-UX 10.20.  Reported by
39053         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39054
39055 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39056
39057         * lib/readline.c (readline): Call fflush on stdout after printing
39058         prompt.
39059
39060 2009-03-20  Bruno Haible  <bruno@clisp.org>
39061
39062         Remove dependency from 'close' module to -lws2_32 on native Windows.
39063         * lib/close-hook.h: New file.
39064         * lib/close-hook.c: New file.
39065         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
39066         w32sock.h.
39067         (_gl_close_fd_maybe_socket): Remove function.
39068         (rpl_close): Invoke execute_all_close_hooks instead of
39069         _gl_close_fd_maybe_socket.
39070         * lib/sockets.c: Include close-hook.h, w32sock.h.
39071         (close_fd_maybe_socket): New function, essentially from lib/close.c.
39072         (close_sockets_hook): New variable.
39073         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
39074         (gl_sockets_cleanup): Unregister it.
39075         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
39076         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
39077         * modules/close-hook: New file.
39078         * modules/close (Files): Remove lib/w32sock.h.
39079         (Depends-on): Add close-hook.
39080         (Link): Remove section.
39081         * modules/sockets (Files): Add lib/w32sock.h.
39082         (Depends-on): Add close-hook.
39083         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
39084         invocation.
39085         * NEWS: Mention that LIB_CLOSE is gone.
39086
39087 2009-03-23  Eric Blake  <ebb9@byu.net>
39088
39089         signal-tests: test previous patch
39090         * tests/test-signal.c: New file.
39091         * modules/signal-tests: Likewise.
39092
39093         signal.h: always support 'volatile sig_atomic_t'
39094         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
39095         (gl_SIGNAL_H_DEFAULTS): Add a default.
39096         * modules/signal (Makefile.am): Substitute if needed.
39097         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
39098         users can blindly add volatile.
39099         * doc/posix-headers/signal.texi (signal.h): Document it.
39100         Reported by Matthew Woehlke.
39101
39102 2009-03-23  Jim Meyering  <meyering@redhat.com>
39103
39104         pathmax: PATH_MAX: use pathconf only when available
39105         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
39106         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
39107         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
39108         This avoids a link failure in a PSP cross-compilation environment
39109         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
39110
39111         * lib/vasnprintf.c (divide): Fix typo in comment.
39112
39113 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39114
39115         * gnulib-tool (func_filter_filelist): Fix comment.
39116
39117 2009-03-20  Bruno Haible  <bruno@clisp.org>
39118
39119         Make sockets.h self-contained.
39120         * lib/sockets.c: Include sockets.h first.
39121         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
39122
39123 2009-03-19  Eric Blake  <ebb9@byu.net>
39124
39125         doc: mention more functions added in cygwin 1.7.0
39126         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
39127         addition.
39128         * doc/posix-functions/log2f.texi: Likewise.
39129
39130 2009-03-19  Jim Meyering  <meyering@redhat.com>
39131
39132         fsusage: avoid syntax error due to statement-before-declaration
39133         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
39134         after all declarations.  Reported by Matthew Woehlke in
39135         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
39136
39137 2009-03-18  Eric Blake  <ebb9@byu.net>
39138
39139         build-aux/compile: sync from automake
39140         * build-aux/compile: New file, from automake.
39141         * config/srclist.txt: Mention build-aux/compile.
39142
39143 2009-03-17  Bruno Haible  <bruno@clisp.org>
39144
39145         * lib/git-merge-changelog.c: Fix typo in comment.
39146         Reported by Reuben Thomas <rrt@sc3d.org>.
39147
39148 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
39149
39150         * m4/regex.m4: update and improve help for
39151         --without-included-regex.
39152
39153 2009-03-17  Simon Josefsson  <simon@josefsson.org>
39154
39155         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
39156         failure on missing include files.
39157
39158 2009-03-17  Eric Blake  <ebb9@byu.net>
39159
39160         doc: mention more functions added in cygwin 1.7.0
39161         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
39162         addition.
39163         * doc/posix-functions/fwscanf.texi: Likewise.
39164         * doc/posix-functions/swprintf.texi: Likewise.
39165         * doc/posix-functions/swscanf.texi: Likewise.
39166         * doc/posix-functions/vfwprintf.texi: Likewise.
39167         * doc/posix-functions/vfwscanf.texi: Likewise.
39168         * doc/posix-functions/vswprintf.texi: Likewise.
39169         * doc/posix-functions/vswscanf.texi: Likewise.
39170         * doc/posix-functions/vwprintf.texi: Likewise.
39171         * doc/posix-functions/vwscanf.texi: Likewise.
39172         * doc/posix-functions/wcscasecmp.texi: Likewise.
39173         * doc/posix-functions/wcsdup.texi: Likewise.
39174         * doc/posix-functions/wcsftime.texi: Likewise.
39175         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39176         * doc/posix-functions/wprintf.texi: Likewise.
39177         * doc/posix-functions/wscanf.texi: Likewise.
39178         * doc/glibc-functions/gethostbyname2.texi: Likewise.
39179
39180 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39181
39182         maint.mk: really add $(AM_MAKEFLAGS)
39183         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
39184         was inadvertently omitted in the last commit.
39185         Spotted by Bruno Haible.
39186
39187         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
39188         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
39189         $(AM_MAKEFLAGS)' rather than plain `make'.
39190
39191         gnulib-tool: execute $MAKE not make
39192         * gnulib-tool: Default $MAKE to 'make'.
39193         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
39194         than make.  Initialize $MAKE in the do-autobuild script.
39195
39196         gnulib-tool: use $MAKE not make in generated files
39197         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
39198         make, in generated files.  Initialize $MAKE in the do-autobuild
39199         script.
39200
39201         * top/GNUmakefile (_have-git-version-gen): Fix typo.
39202
39203         GNUmakefile: disable parallelism only for multiple, recursive targets
39204         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
39205         additions in the Makefile.
39206         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
39207         by Automake.
39208         (.NOTPARALLEL): Only disable parallel builds if multiple targets
39209         are listed on the command line and at least one of them is
39210         listed in $(ALL_RECURSIVE_TARGETS).
39211
39212 2009-03-14  Bruno Haible  <bruno@clisp.org>
39213
39214         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
39215         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
39216         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
39217         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
39218         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
39219         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
39220         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
39221         unistr/u8-uctomb.
39222         * modules/unistr/u8-strchr (Depends-on): Likewise.
39223         * modules/unistr/u8-strrchr (Depends-on): Likewise.
39224         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
39225         unistr/u16-uctomb.
39226         * modules/unistr/u16-strchr (Depends-on): Likewise.
39227         * modules/unistr/u16-strrchr (Depends-on): Likewise.
39228
39229 2009-03-12  Bruno Haible  <bruno@clisp.org>
39230
39231         Work around select() bug on Interix 3.5.
39232         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
39233         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
39234         * m4/select.m4: New file.
39235         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
39236         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
39237         * modules/select (Files): Add m4/select.m4.
39238         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
39239         * modules/nanosleep (Depends-on): Add select.
39240         * modules/poll (Depends-on): Likewise.
39241         * doc/posix-functions/select.texi: Mention the Interix bug.
39242         Reported by Markus Duft <mduft@gentoo.org>.
39243
39244         * lib/select.c: Renamed from lib/winsock-select.c.
39245         * modules/select (Files): Add lib/select.c, remove
39246         lib/winsock-select.c.
39247         (configure.ac): Update.
39248
39249 2009-03-12  Jim Meyering  <meyering@redhat.com>
39250
39251         avoid gcc warnings about unused macro definitions
39252         * lib/readtokens.c (STREQ): Remove unused definition.
39253         * lib/xmalloc.c (SIZE_MAX): Likewise.
39254         * lib/openat-die.c (N_): Likewise.
39255         * lib/mountlist.c (SIZE_MAX): Remove definition.
39256         Instead, include <stdint.h>.
39257         * lib/readutmp.c: Likewise.
39258         * modules/readutmp (Depends-on): Add stdint.
39259         * modules/mountlist (Depends-on): Add stdint.
39260         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
39261
39262 2009-03-10  Bruno Haible  <bruno@clisp.org>
39263
39264         Tests for module 'mbmemcasecoll'.
39265         * modules/mbmemcasecoll-tests: New file.
39266         * tests/test-mbmemcasecoll1.sh: New file.
39267         * tests/test-mbmemcasecoll2.sh: New file.
39268         * tests/test-mbmemcasecoll3.sh: New file.
39269         * tests/test-mbmemcasecoll.c: New file.
39270
39271         New module 'mbmemcasecoll'.
39272         * lib/mbmemcasecoll.h: New file.
39273         * lib/mbmemcasecoll.c: New file.
39274         * modules/mbmemcasecoll: New file.
39275
39276         * tests/test-mbmemcasecmp.h: New file, extracted from
39277         tests/test-mbmemcasecmp.c.
39278         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
39279         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
39280         (main): Update.
39281         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
39282
39283 2009-03-09  Bruno Haible  <bruno@clisp.org>
39284
39285         Tests for module 'mbmemcasecmp'.
39286         * modules/mbmemcasecmp-tests: New file.
39287         * tests/test-mbmemcasecmp1.sh: New file.
39288         * tests/test-mbmemcasecmp2.sh: New file.
39289         * tests/test-mbmemcasecmp3.sh: New file.
39290         * tests/test-mbmemcasecmp.c: New file.
39291
39292         New module 'mbmemcasecmp'.
39293         * lib/mbmemcasecmp.h: New file.
39294         * lib/mbmemcasecmp.c: New file.
39295         * modules/mbmemcasecmp: New file.
39296
39297 2009-03-09  Bruno Haible  <bruno@clisp.org>
39298
39299         Tests for module 'unicase/ulc-casecoll'.
39300         * modules/unicase/ulc-casecoll-tests: New file.
39301         * tests/unicase/test-ulc-casecoll1.sh: New file.
39302         * tests/unicase/test-ulc-casecoll2.sh: New file.
39303         * tests/unicase/test-ulc-casecoll.c: New file.
39304
39305         New module 'unicase/ulc-casecoll'.
39306         * lib/unicase.h (ulc_casecoll): New declaration.
39307         * lib/unicase/ulc-casecoll.c: New file.
39308         * modules/unicase/ulc-casecoll: New file.
39309
39310         New module 'unicase/ulc-casexfrm'.
39311         * lib/unicase.h (ulc_casexfrm): New declaration.
39312         * lib/unicase/ulc-casexfrm.c: New file.
39313         * modules/unicase/ulc-casexfrm: New file.
39314
39315 2009-03-09  Bruno Haible  <bruno@clisp.org>
39316
39317         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
39318         invocations.
39319
39320         * m4/mbscasecmp.m4: Remove file.
39321         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
39322         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
39323
39324         * m4/mbscasestr.m4: Remove file.
39325         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
39326         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
39327
39328         * m4/mbschr.m4: Remove file.
39329         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
39330         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
39331
39332         * m4/mbscspn.m4: Remove file.
39333         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
39334         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
39335
39336         * m4/mbslen.m4: Remove file.
39337         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
39338         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
39339
39340         * m4/mbsncasecmp.m4: Remove file.
39341         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
39342         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
39343
39344         * m4/mbsnlen.m4: Remove file.
39345         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
39346         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
39347
39348         * m4/mbspbrk.m4: Remove file.
39349         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
39350         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
39351
39352         * m4/mbspcasecmp.m4: Remove file.
39353         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
39354         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
39355
39356         * m4/mbsrchr.m4: Remove file.
39357         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
39358         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
39359
39360         * m4/mbssep.m4: Remove file.
39361         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
39362         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
39363
39364         * m4/mbsspn.m4: Remove file.
39365         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
39366         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
39367
39368         * m4/mbsstr.m4: Remove file.
39369         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
39370         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
39371
39372         * m4/mbstok_r.m4: Remove file.
39373         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
39374         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
39375
39376         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
39377
39378         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
39379         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
39380
39381         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
39382
39383 2009-03-08  Bruno Haible  <bruno@clisp.org>
39384
39385         Tests for module 'unicase/ulc-casecmp'.
39386         * modules/unicase/ulc-casecmp-tests: New file.
39387         * tests/unicase/test-ulc-casecmp1.sh: New file.
39388         * tests/unicase/test-ulc-casecmp2.sh: New file.
39389         * tests/unicase/test-ulc-casecmp.c: New file.
39390
39391         New module 'unicase/ulc-casecmp'.
39392         * lib/unicase.h (ulc_casecmp): New declaration.
39393         * lib/unicase/ulc-casecmp.c: New file.
39394         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
39395         'const SRC_UNIT *'.
39396         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
39397         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
39398         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
39399         * modules/unicase/ulc-casecmp: New file.
39400
39401         Tests for module 'unicase/u32-is-cased'.
39402         * modules/unicase/u32-is-cased-tests: New file.
39403         * tests/unicase/test-u32-is-cased.c: New file.
39404
39405         Tests for module 'unicase/u16-is-cased'.
39406         * modules/unicase/u16-is-cased-tests: New file.
39407         * tests/unicase/test-u16-is-cased.c: New file.
39408
39409         Tests for module 'unicase/u8-is-cased'.
39410         * modules/unicase/u8-is-cased-tests: New file.
39411         * tests/unicase/test-u8-is-cased.c: New file.
39412         * tests/unicase/test-is-cased.h: New file.
39413
39414         New module 'unicase/u32-is-cased'.
39415         * lib/unicase/u32-is-cased.c: New file.
39416         * modules/unicase/u32-is-cased: New file.
39417
39418         New module 'unicase/u16-is-cased'.
39419         * lib/unicase/u16-is-cased.c: New file.
39420         * modules/unicase/u16-is-cased: New file.
39421
39422         New module 'unicase/u8-is-cased'.
39423         * lib/unicase/u8-is-cased.c: New file.
39424         * lib/unicase/u-is-cased.h: New file.
39425         * modules/unicase/u8-is-cased: New file.
39426
39427         Tests for module 'unicase/u32-is-casefolded'.
39428         * modules/unicase/u32-is-casefolded-tests: New file.
39429         * tests/unicase/test-u32-is-casefolded.c: New file.
39430
39431         Tests for module 'unicase/u16-is-casefolded'.
39432         * modules/unicase/u16-is-casefolded-tests: New file.
39433         * tests/unicase/test-u16-is-casefolded.c: New file.
39434
39435         Tests for module 'unicase/u8-is-casefolded'.
39436         * modules/unicase/u8-is-casefolded-tests: New file.
39437         * tests/unicase/test-u8-is-casefolded.c: New file.
39438         * tests/unicase/test-is-casefolded.h: New file.
39439
39440         New module 'unicase/u32-is-casefolded'.
39441         * lib/unicase/u32-is-casefolded.c: New file.
39442         * modules/unicase/u32-is-casefolded: New file.
39443
39444         New module 'unicase/u16-is-casefolded'.
39445         * lib/unicase/u16-is-casefolded.c: New file.
39446         * modules/unicase/u16-is-casefolded: New file.
39447
39448         New module 'unicase/u8-is-casefolded'.
39449         * lib/unicase/u8-is-casefolded.c: New file.
39450         * modules/unicase/u8-is-casefolded: New file.
39451
39452         Tests for module 'unicase/u32-is-titlecase'.
39453         * modules/unicase/u32-is-titlecase-tests: New file.
39454         * tests/unicase/test-u32-is-titlecase.c: New file.
39455
39456         Tests for module 'unicase/u16-is-titlecase'.
39457         * modules/unicase/u16-is-titlecase-tests: New file.
39458         * tests/unicase/test-u16-is-titlecase.c: New file.
39459
39460         Tests for module 'unicase/u8-is-titlecase'.
39461         * modules/unicase/u8-is-titlecase-tests: New file.
39462         * tests/unicase/test-u8-is-titlecase.c: New file.
39463         * tests/unicase/test-is-titlecase.h: New file.
39464
39465         New module 'unicase/u32-is-titlecase'.
39466         * lib/unicase/u32-is-titlecase.c: New file.
39467         * modules/unicase/u32-is-titlecase: New file.
39468
39469         New module 'unicase/u16-is-titlecase'.
39470         * lib/unicase/u16-is-titlecase.c: New file.
39471         * modules/unicase/u16-is-titlecase: New file.
39472
39473         New module 'unicase/u8-is-titlecase'.
39474         * lib/unicase/u8-is-titlecase.c: New file.
39475         * modules/unicase/u8-is-titlecase: New file.
39476
39477         Tests for module 'unicase/u32-is-lowercase'.
39478         * modules/unicase/u32-is-lowercase-tests: New file.
39479         * tests/unicase/test-u32-is-lowercase.c: New file.
39480
39481         Tests for module 'unicase/u16-is-lowercase'.
39482         * modules/unicase/u16-is-lowercase-tests: New file.
39483         * tests/unicase/test-u16-is-lowercase.c: New file.
39484
39485         Tests for module 'unicase/u8-is-lowercase'.
39486         * modules/unicase/u8-is-lowercase-tests: New file.
39487         * tests/unicase/test-u8-is-lowercase.c: New file.
39488         * tests/unicase/test-is-lowercase.h: New file.
39489
39490         New module 'unicase/u32-is-lowercase'.
39491         * lib/unicase/u32-is-lowercase.c: New file.
39492         * modules/unicase/u32-is-lowercase: New file.
39493
39494         New module 'unicase/u16-is-lowercase'.
39495         * lib/unicase/u16-is-lowercase.c: New file.
39496         * modules/unicase/u16-is-lowercase: New file.
39497
39498         New module 'unicase/u8-is-lowercase'.
39499         * lib/unicase/u8-is-lowercase.c: New file.
39500         * modules/unicase/u8-is-lowercase: New file.
39501
39502         Tests for module 'unicase/u32-is-uppercase'.
39503         * modules/unicase/u32-is-uppercase-tests: New file.
39504         * tests/unicase/test-u32-is-uppercase.c: New file.
39505
39506         Tests for module 'unicase/u16-is-uppercase'.
39507         * modules/unicase/u16-is-uppercase-tests: New file.
39508         * tests/unicase/test-u16-is-uppercase.c: New file.
39509
39510         Tests for module 'unicase/u8-is-uppercase'.
39511         * modules/unicase/u8-is-uppercase-tests: New file.
39512         * tests/unicase/test-u8-is-uppercase.c: New file.
39513         * tests/unicase/test-is-uppercase.h: New file.
39514
39515         New module 'unicase/u32-is-uppercase'.
39516         * lib/unicase/u32-is-uppercase.c: New file.
39517         * modules/unicase/u32-is-uppercase: New file.
39518
39519         New module 'unicase/u16-is-uppercase'.
39520         * lib/unicase/u16-is-uppercase.c: New file.
39521         * modules/unicase/u16-is-uppercase: New file.
39522
39523         New module 'unicase/u8-is-uppercase'.
39524         * lib/unicase/u8-is-uppercase.c: New file.
39525         * modules/unicase/u8-is-uppercase: New file.
39526
39527         New module 'unicase/u32-is-invariant'.
39528         * lib/unicase/u32-is-invariant.c: New file.
39529         * modules/unicase/u32-is-invariant: New file.
39530
39531         New module 'unicase/u16-is-invariant'.
39532         * lib/unicase/u16-is-invariant.c: New file.
39533         * modules/unicase/u16-is-invariant: New file.
39534
39535         New module 'unicase/u8-is-invariant'.
39536         * lib/unicase/u8-is-invariant.c: New file.
39537         * lib/unicase/invariant.h: New file.
39538         * lib/unicase/u-is-invariant.h: New file.
39539         * modules/unicase/u8-is-invariant: New file.
39540
39541         Tests for module 'unicase/u32-casecoll'.
39542         * modules/unicase/u32-casecoll-tests: New file.
39543         * tests/unicase/test-u32-casecoll.c: New file.
39544
39545         Tests for module 'unicase/u16-casecoll'.
39546         * modules/unicase/u16-casecoll-tests: New file.
39547         * tests/unicase/test-u16-casecoll.c: New file.
39548
39549         Tests for module 'unicase/u8-casecoll'.
39550         * modules/unicase/u8-casecoll-tests: New file.
39551         * tests/unicase/test-u8-casecoll.c: New file.
39552
39553         New module 'unicase/u32-casecoll'.
39554         * lib/unicase/u32-casecoll.c: New file.
39555         * modules/unicase/u32-casecoll: New file.
39556
39557         New module 'unicase/u16-casecoll'.
39558         * lib/unicase/u16-casecoll.c: New file.
39559         * modules/unicase/u16-casecoll: New file.
39560
39561         New module 'unicase/u8-casecoll'.
39562         * lib/unicase/u8-casecoll.c: New file.
39563         * lib/unicase/u-casecoll.h: New file.
39564         * modules/unicase/u8-casecoll: New file.
39565
39566         New module 'unicase/u32-casexfrm'.
39567         * lib/unicase/u32-casexfrm.c: New file.
39568         * modules/unicase/u32-casexfrm: New file.
39569
39570         New module 'unicase/u16-casexfrm'.
39571         * lib/unicase/u16-casexfrm.c: New file.
39572         * modules/unicase/u16-casexfrm: New file.
39573
39574         New module 'unicase/u8-casexfrm'.
39575         * lib/unicase/u8-casexfrm.c: New file.
39576         * lib/unicase/u-casexfrm.h: New file.
39577         * modules/unicase/u8-casexfrm: New file.
39578
39579         Tests for module 'unicase/u32-casecmp'.
39580         * modules/unicase/u32-casecmp-tests: New file.
39581         * tests/unicase/test-u32-casecmp.c: New file.
39582
39583         Tests for module 'unicase/u16-casecmp'.
39584         * modules/unicase/u16-casecmp-tests: New file.
39585         * tests/unicase/test-u16-casecmp.c: New file.
39586
39587         Tests for module 'unicase/u8-casecmp'.
39588         * modules/unicase/u8-casecmp-tests: New file.
39589         * tests/unicase/test-u8-casecmp.c: New file.
39590         * tests/unicase/test-casecmp.h: New file.
39591
39592         New module 'unicase/u32-casecmp'.
39593         * lib/unicase/u32-casecmp.c: New file.
39594         * modules/unicase/u32-casecmp: New file.
39595
39596         New module 'unicase/u16-casecmp'.
39597         * lib/unicase/u16-casecmp.c: New file.
39598         * modules/unicase/u16-casecmp: New file.
39599
39600         New module 'unicase/u8-casecmp'.
39601         * lib/unicase/u8-casecmp.c: New file.
39602         * lib/unicase/u-casecmp.h: New file.
39603         * modules/unicase/u8-casecmp: New file.
39604
39605         Tests for module 'unicase/u32-casefold'.
39606         * modules/unicase/u32-casefold-tests: New file.
39607         * tests/unicase/test-u32-casefold.c: New file.
39608
39609         Tests for module 'unicase/u16-casefold'.
39610         * modules/unicase/u16-casefold-tests: New file.
39611         * tests/unicase/test-u16-casefold.c: New file.
39612
39613         Tests for module 'unicase/u8-casefold'.
39614         * modules/unicase/u8-casefold-tests: New file.
39615         * tests/unicase/test-u8-casefold.c: New file.
39616
39617         New module 'unicase/u32-casefold'.
39618         * lib/unicase/u32-casefold.c: New file.
39619         * modules/unicase/u32-casefold: New file.
39620
39621         New module 'unicase/u16-casefold'.
39622         * lib/unicase/u16-casefold.c: New file.
39623         * modules/unicase/u16-casefold: New file.
39624
39625         New module 'unicase/u8-casefold'.
39626         * lib/unicase/u8-casefold.c: New file.
39627         * lib/unicase/u-casefold.h: New file.
39628         * modules/unicase/u8-casefold: New file.
39629
39630         New module 'unicase/tocasefold'.
39631         * lib/unicase/casefold.h: New file.
39632         * lib/unicase/tocasefold.c: New file.
39633         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39634         * modules/unicase/tocasefold: New file.
39635
39636         Tests for module 'unicase/u32-totitle'.
39637         * modules/unicase/u32-totitle-tests: New file.
39638         * tests/unicase/test-u32-totitle.c: New file.
39639
39640         Tests for module 'unicase/u16-totitle'.
39641         * modules/unicase/u16-totitle-tests: New file.
39642         * tests/unicase/test-u16-totitle.c: New file.
39643
39644         Tests for module 'unicase/u8-totitle'.
39645         * modules/unicase/u8-totitle-tests: New file.
39646         * tests/unicase/test-u8-totitle.c: New file.
39647
39648         New module 'unicase/u32-totitle'.
39649         * lib/unicase/u32-totitle.c: New file.
39650         * modules/unicase/u32-totitle: New file.
39651
39652         New module 'unicase/u16-totitle'.
39653         * lib/unicase/u16-totitle.c: New file.
39654         * modules/unicase/u16-totitle: New file.
39655
39656         New module 'unicase/u8-totitle'.
39657         * lib/unicase/u8-totitle.c: New file.
39658         * lib/unicase/u-totitle.h: New file.
39659         * modules/unicase/u8-totitle: New file.
39660
39661         Tests for module 'unicase/u32-tolower'.
39662         * modules/unicase/u32-tolower-tests: New file.
39663         * tests/unicase/test-u32-tolower.c: New file.
39664
39665         Tests for module 'unicase/u16-tolower'.
39666         * modules/unicase/u16-tolower-tests: New file.
39667         * tests/unicase/test-u16-tolower.c: New file.
39668
39669         Tests for module 'unicase/u8-tolower'.
39670         * modules/unicase/u8-tolower-tests: New file.
39671         * tests/unicase/test-u8-tolower.c: New file.
39672
39673         New module 'unicase/u32-tolower'.
39674         * lib/unicase/u32-tolower.c: New file.
39675         * modules/unicase/u32-tolower: New file.
39676
39677         New module 'unicase/u16-tolower'.
39678         * lib/unicase/u16-tolower.c: New file.
39679         * modules/unicase/u16-tolower: New file.
39680
39681         New module 'unicase/u8-tolower'.
39682         * lib/unicase/u8-tolower.c: New file.
39683         * modules/unicase/u8-tolower: New file.
39684
39685         Tests for module 'unicase/u32-toupper'.
39686         * modules/unicase/u32-toupper-tests: New file.
39687         * tests/unicase/test-u32-toupper.c: New file.
39688
39689         Tests for module 'unicase/u16-toupper'.
39690         * modules/unicase/u16-toupper-tests: New file.
39691         * tests/unicase/test-u16-toupper.c: New file.
39692
39693         Tests for module 'unicase/u8-toupper'.
39694         * modules/unicase/u8-toupper-tests: New file.
39695         * tests/unicase/test-u8-toupper.c: New file.
39696
39697         New module 'unicase/u32-toupper'.
39698         * lib/unicase/u32-toupper.c: New file.
39699         * modules/unicase/u32-toupper: New file.
39700
39701         New module 'unicase/u16-toupper'.
39702         * lib/unicase/u16-toupper.c: New file.
39703         * modules/unicase/u16-toupper: New file.
39704
39705         New module 'unicase/u8-toupper'.
39706         * lib/unicase/u8-toupper.c: New file.
39707         * modules/unicase/u8-toupper: New file.
39708
39709         New module 'unicase/u32-casemap'.
39710         * lib/unicase/u32-casemap.c: New file.
39711         * modules/unicase/u32-casemap: New file.
39712
39713         New module 'unicase/u16-casemap'.
39714         * lib/unicase/u16-casemap.c: New file.
39715         * modules/unicase/u16-casemap: New file.
39716
39717         New module 'unicase/u8-casemap'.
39718         * lib/unicase/unicasemap.h: New file.
39719         * lib/unicase/u8-casemap.c: New file.
39720         * lib/unicase/u-casemap.h: New file.
39721         * modules/unicase/u8-casemap: New file.
39722
39723         New module 'unicase/special-casing'.
39724         * lib/unicase/special-casing.h: New file.
39725         * lib/unicase/special-casing.c: New file.
39726         * lib/unicase/special-casing-table.gperf: New file, generated by
39727         gen-uni-tables.c.
39728         * modules/unicase/special-casing: New file.
39729
39730         Tests for module 'unicase/locale-language'.
39731         * modules/unicase/locale-language-tests: New file.
39732         * tests/unicase/test-locale-language.sh: New file.
39733         * tests/unicase/test-locale-language.c: New file.
39734
39735         New module 'unicase/locale-language'.
39736         * lib/unicase/locale-language.c: New file.
39737         * lib/unicase/locale-languages.gperf: New file.
39738         * modules/unicase/locale-language: New file.
39739
39740         Generate more tables for case conversion and case folding.
39741         * lib/gen-uni-tables.c (SCC_*): New enum items.
39742         (struct special_casing_rule): New type.
39743         (casing_rules, num_casing_rules, allocated_casing_rules): New
39744         variables.
39745         (add_casing_rule, fill_casing_rules): New functions.
39746         (struct casefold_rule): New type.
39747         (casefolding_rules, num_casefolding_rules,
39748         allocated_casefolding_rules): New variables.
39749         (fill_casefolding_rules): New function.
39750         (unicode_casefold): New variable.
39751         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39752         sort_casing_rules, output_casing_rules): New functions.
39753         (main): Accept to more arguments: SpecialCasing.txt and
39754         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39755         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39756         Output mapping for casefolding.
39757
39758         * lib/unicase.h: Include stdbool.h, uninorm.h.
39759         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39760         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39761         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39762         arguments.
39763         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39764         resultp arguments.
39765         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39766         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39767         resultp arguments.
39768         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39769         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39770         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39771         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39772         declarations.
39773         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39774
39775 2009-03-08  Bruno Haible  <bruno@clisp.org>
39776
39777         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39778         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39779         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39780         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39781
39782 2009-03-07  Bruno Haible  <bruno@clisp.org>
39783
39784         Adjust u*_normcmp, u*_normcoll API.
39785         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39786         u16_normcoll, u32_normcoll): Change failure conventions.
39787         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39788         errno and return -1.
39789         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39790
39791 2009-03-07  Bruno Haible  <bruno@clisp.org>
39792
39793         Tests for module 'uninorm/u32-normcoll'.
39794         * modules/uninorm/u32-normcoll-tests: New file.
39795         * tests/uninorm/test-u32-normcoll.c: New file.
39796
39797         Tests for module 'uninorm/u16-normcoll'.
39798         * modules/uninorm/u16-normcoll-tests: New file.
39799         * tests/uninorm/test-u16-normcoll.c: New file.
39800
39801         Tests for module 'uninorm/u8-normcoll'.
39802         * modules/uninorm/u8-normcoll-tests: New file.
39803         * tests/uninorm/test-u8-normcoll.c: New file.
39804
39805 2009-03-07  Bruno Haible  <bruno@clisp.org>
39806
39807         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39808         tests/uninorm/test-u32-normcmp.c.
39809         * tests/uninorm/test-u32-normcmp.c: Include it.
39810         (test_nonascii): New function, extracted from main. Add some more
39811         tests.
39812         (main): Invoke test_ascii and test_nonascii.
39813         * modules/uninorm/u32-normcmp-tests (Files): Add
39814         tests/uninorm/test-u32-normcmp.h.
39815         (Depends-on): Remove uninorm/u32-normcmp.
39816
39817         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39818         tests/uninorm/test-u16-normcmp.c.
39819         * tests/uninorm/test-u16-normcmp.c: Include it.
39820         (test_nonascii): New function, extracted from main. Add some more
39821         tests.
39822         (main): Invoke test_ascii and test_nonascii.
39823         * modules/uninorm/u16-normcmp-tests (Files): Add
39824         tests/uninorm/test-u16-normcmp.h.
39825         (Depends-on): Remove uninorm/u16-normcmp.
39826
39827         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39828         tests/uninorm/test-u8-normcmp.c.
39829         * tests/uninorm/test-u8-normcmp.c: Include it.
39830         (test_nonascii): New function, extracted from main. Add some more
39831         tests.
39832         (main): Invoke test_ascii and test_nonascii.
39833         * modules/uninorm/u8-normcmp-tests (Files): Add
39834         tests/uninorm/test-u8-normcmp.h.
39835         (Depends-on): Remove uninorm/u8-normcmp.
39836
39837 2009-03-07  Bruno Haible  <bruno@clisp.org>
39838
39839         New module 'uninorm/u32-normcoll'.
39840         * lib/uninorm/u32-normcoll.c: New file.
39841         * modules/uninorm/u32-normcoll: New file.
39842
39843         New module 'uninorm/u16-normcoll'.
39844         * lib/uninorm/u16-normcoll.c: New file.
39845         * modules/uninorm/u16-normcoll: New file.
39846
39847         New module 'uninorm/u8-normcoll'.
39848         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
39849         declarations.
39850         * lib/uninorm/u8-normcoll.c: New file.
39851         * lib/uninorm/u-normcoll.h: New file.
39852         * modules/uninorm/u8-normcoll: New file.
39853
39854         New module 'uninorm/u32-normxfrm'.
39855         * lib/uninorm/u32-normxfrm.c: New file.
39856         * modules/uninorm/u32-normxfrm: New file.
39857
39858         New module 'uninorm/u16-normxfrm'.
39859         * lib/uninorm/u16-normxfrm.c: New file.
39860         * modules/uninorm/u16-normxfrm: New file.
39861
39862         New module 'uninorm/u8-normxfrm'.
39863         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
39864         declarations.
39865         * lib/uninorm/u8-normxfrm.c: New file.
39866         * lib/uninorm/u-normxfrm.h: New file.
39867         * modules/uninorm/u8-normxfrm: New file.
39868
39869 2009-03-07  Bruno Haible  <bruno@clisp.org>
39870
39871         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
39872         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
39873         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
39874
39875 2009-03-07  Bruno Haible  <bruno@clisp.org>
39876
39877         New module 'memxfrm'.
39878         * lib/memxfrm.h: New file.
39879         * lib/memxfrm.c: New file.
39880         * modules/memxfrm: New file.
39881
39882 2009-03-07  Bruno Haible  <bruno@clisp.org>
39883
39884         New module 'memcmp2'.
39885         * lib/memcmp2.h: New file.
39886         * lib/memcmp2.c: New file.
39887         * modules/memcmp2: New file.
39888
39889 2009-03-07  Bruno Haible  <bruno@clisp.org>
39890
39891         Tests for module 'uninorm/decomposing-form'.
39892         * modules/uninorm/decomposing-form-tests: New file.
39893         * tests/uninorm/test-decomposing-form.c: New file.
39894
39895         New module 'uninorm/decomposing-form'.
39896         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
39897         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
39898         Add 'decomposing_variant' field.
39899         * lib/uninorm/decomposing-form.c: New file.
39900         * lib/uninorm/nfc.c (uninorm_nfc): Update.
39901         * lib/uninorm/nfd.c (uninorm_nfd): Update.
39902         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
39903         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
39904         * modules/uninorm/decomposing-form: New file.
39905         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
39906         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
39907
39908 2009-03-07  Bruno Haible  <bruno@clisp.org>
39909
39910         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
39911         strings.
39912
39913 2009-03-06  Bruno Haible  <bruno@clisp.org>
39914
39915         Tests for module 'uninorm/u32-normcmp'.
39916         * tests/uninorm/test-u32-normcmp.c: New file.
39917         * modules/uninorm/u32-normcmp-tests: New file.
39918
39919         Tests for module 'uninorm/u16-normcmp'.
39920         * tests/uninorm/test-u16-normcmp.c: New file.
39921         * modules/uninorm/u16-normcmp-tests: New file.
39922
39923         Tests for module 'uninorm/u8-normcmp'.
39924         * tests/uninorm/test-u8-normcmp.c: New file.
39925         * modules/uninorm/u8-normcmp-tests: New file.
39926
39927         New module 'uninorm/u32-normcmp'.
39928         * lib/uninorm/u32-normcmp.c: New file.
39929         * modules/uninorm/u32-normcmp: New file.
39930
39931         New module 'uninorm/u16-normcmp'.
39932         * lib/uninorm/u16-normcmp.c: New file.
39933         * modules/uninorm/u16-normcmp: New file.
39934
39935         New module 'uninorm/u8-normcmp'.
39936         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
39937         declarations.
39938         * lib/uninorm/u8-normcmp.c: New file.
39939         * lib/uninorm/u-normcmp.h: New file.
39940         * modules/uninorm/u8-normcmp: New file.
39941
39942 2009-03-06  Bruno Haible  <bruno@clisp.org>
39943
39944         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
39945         Reported by Eric Blake.
39946
39947 2009-03-06  Eric Blake  <ebb9@byu.net>
39948             Bruno Haible  <bruno@clisp.org>
39949
39950         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
39951         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
39952         condition.
39953         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39954         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
39955         condition.
39956         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39957
39958 2009-03-06  Eric Blake  <ebb9@byu.net>
39959
39960         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
39961         to avoid compiler warnings.
39962         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
39963
39964 2009-03-05  Bruno Haible  <bruno@clisp.org>
39965
39966         * tests/test-ftell.c (main): Disable test beyond end of file on
39967         FreeMiNT.
39968         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39969
39970 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
39971
39972         * lib/filevercmp.c: Move hidden files up in ordering.
39973         * tests/test-filevercmp.c: Add tests for hidden files.
39974
39975 2009-03-04  Bruno Haible  <bruno@clisp.org>
39976
39977         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
39978         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
39979         AM_CFLAGS.
39980         Reported by Simon Josefsson.
39981
39982 2009-03-03  Bruno Haible  <bruno@clisp.org>
39983
39984         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
39985         Reported by Simon Josefsson.
39986
39987         * doc/ld-version-script.texi: Update node reference.
39988
39989 2009-03-03  Bruno Haible  <bruno@clisp.org>
39990
39991         * modules/visibility (License): Change to 'unlimited'.
39992         Suggested by Simon Josefsson.
39993
39994 2009-03-03  Jim Meyering  <meyering@redhat.com>
39995
39996         unlinkdir: cannot_unlink_dir may modify process state
39997         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
39998         it's neither thread-safe nor appropriate for use in a library.
39999
40000 2009-03-03  Eric Blake  <ebb9@byu.net>
40001
40002         test-closein: silence test under Darwin
40003         * tests/test-closein.sh: Ignore stderr from cat, since we don't
40004         care if it dies from EPIPE or EBADF.
40005
40006 2009-03-03  Bruno Haible  <bruno@clisp.org>
40007
40008         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
40009         earlier.
40010         * doc/visibility.texi: Fix @node and @section.
40011
40012 2009-03-03  Simon Josefsson  <simon@josefsson.org>
40013
40014         * doc/gnulib.texi: Link to sections for ld version script and
40015         visibility.
40016         * doc/visibility.texi: Add @node and @section.
40017         * modules/ld-version-script: New module.
40018         * m4/ld-version-script.m4: New file.
40019         * doc/ld-version-script.texi: New file.
40020
40021 2009-03-02  David Lutterkort  <lutter@redhat.com>
40022
40023         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
40024         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40025
40026 2009-03-02  Bruno Haible  <bruno@clisp.org>
40027
40028         * doc/visibility.texi: Mention libtool's -export-symbols option.
40029
40030 2009-03-02  Jim Meyering  <meyering@redhat.com>
40031
40032         announce-gen: new option: --no-print-checksums
40033         * build-aux/announce-gen (usage): Describe it.
40034         (print_checksums): Print a newline here, not in the [*] footnote.
40035         (main): Honor it.
40036
40037 2009-03-01  Bruno Haible  <bruno@clisp.org>
40038
40039         Use socklen_t in the native Windows replacements prototypes.
40040         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
40041         instead of 'int'.
40042         * lib/getsockopt.c (rpl_getsockopt): Likewise.
40043         * lib/setsockopt.c (rpl_setsockopt): Likewise.
40044         * modules/getsockopt (Depends-on): Add socklen.
40045         * modules/setsockopt (Depends-on): Add socklen.
40046
40047 2009-03-01  Bruno Haible  <bruno@clisp.org>
40048
40049         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
40050         least 4.2.
40051
40052 2009-03-01  Eric Blake  <ebb9@byu.net>
40053             Bruno Haible  <bruno@clisp.org>
40054
40055         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
40056         error messages.
40057         * lib/wait-process.c (wait_subprocess): Omit error message about
40058         deadly signal sent to the child of termsigp != NULL.
40059
40060 2009-03-01  Eric Blake  <ebb9@byu.net>
40061
40062         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
40063
40064 2009-03-01  Bruno Haible  <bruno@clisp.org>
40065
40066         Avoid a gcc warning.
40067         * tests/test-sched.c (b): Make global.
40068         Reported by Eric Blake.
40069
40070 2009-01-19  Martin Lambers  <marlam@marlam.de>
40071
40072         Provide POSIX semantics for socket timeout options on W32.
40073         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
40074         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
40075         * modules/setsockopt: Depend on sys_time module for struct timeval.
40076         * modules/getsockopt: Depend on sys_time module for struct timeval.
40077
40078 2009-03-01  Simon Josefsson  <simon@josefsson.org>
40079
40080         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
40081         __USE_GNU, for consistency with netdb.in.h.
40082         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40083
40084 2009-03-01  Bruno Haible  <bruno@clisp.org>
40085
40086         More support for FreeMiNT.
40087         * lib/fseeko.c (rpl_fseeko): Complete last commit.
40088         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40089
40090 2009-03-01  Bruno Haible  <bruno@clisp.org>
40091
40092         More support for FreeMiNT.
40093         * lib/fpurge.c (fpurge): Correct last commit.
40094         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40095
40096 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40097
40098         Fix unportable awk script in vc-list-files.
40099         * build-aux/vc-list-files: In the replacement awk script, use
40100         substr with a second argument of 1, not zero.
40101         Report by Simon Josefsson.
40102
40103 2009-02-28  Bruno Haible  <bruno@clisp.org>
40104
40105         More support for FreeMiNT.
40106         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
40107         to FreeMiNT today.
40108         * lib/fwriting.c (fwriting): Likewise.
40109         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
40110
40111 2009-02-28  Bruno Haible  <bruno@clisp.org>
40112
40113         * tests/test-freadseek.c (main): Disable test beyond end of file on
40114         FreeMiNT.
40115         * tests/test-ftello.c (main): Likewise.
40116         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40117
40118 2009-02-28  Bruno Haible  <bruno@clisp.org>
40119
40120         Add tentative support for FreeMiNT.
40121         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
40122         * lib/fpurge.c (fpurge): Likewise.
40123         * lib/freadable.c (freadable): Likewise.
40124         * lib/freading.c (freading): Likewise.
40125         * lib/freadptr.c (freadptr): Likewise.
40126         * lib/freadseek.c (freadptrinc): Likewise.
40127         * lib/fseeko.c (rpl_fseeko): Likewise.
40128         * lib/fseterr.c (fseterr): Likewise.
40129         * lib/fwritable.c (fwritable): Likewise.
40130         * lib/fwriting.c (fwriting): Likewise.
40131         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
40132         Hourihane.
40133         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40134
40135 2009-02-28  Bruno Haible  <bruno@clisp.org>
40136
40137         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
40138         SIGCHLD.
40139         Reported by Jim Meyering.
40140
40141 2009-02-28  Bruno Haible  <bruno@clisp.org>
40142
40143         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
40144         Mention the results of these tests on various platforms.
40145         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
40146         order.
40147         * doc/posix-functions/printf.texi: Likewise.
40148         * doc/posix-functions/snprintf.texi: Likewise.
40149         * doc/posix-functions/sprintf.texi: Likewise.
40150         * doc/posix-functions/vfprintf.texi: Likewise.
40151         * doc/posix-functions/vprintf.texi: Likewise.
40152         * doc/posix-functions/vsnprintf.texi: Likewise.
40153         * doc/posix-functions/vsprintf.texi: Likewise.
40154         * doc/glibc-functions/obstack_printf.texi: Likewise.
40155         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
40156
40157 2009-02-28  Bruno Haible  <bruno@clisp.org>
40158
40159         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
40160         Reported by Loïc Minier <lool@dooz.org>.
40161
40162 2009-02-27  Bruno Haible  <bruno@clisp.org>
40163
40164         * gnulib-tool (func_import): Make the sed expression used to create the
40165         sed script for updating the .gitignore file POSIX compliant.
40166         Reported by Eric Blake.
40167
40168 2009-02-27  Bruno Haible  <bruno@clisp.org>
40169
40170         * gnulib-tool (sed): Don't alias as "sed --posix".
40171         Reported by Eric Blake.
40172
40173 2009-02-27  Bruno Haible  <bruno@clisp.org>
40174
40175         Avoid test link errors.
40176         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
40177         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
40178         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
40179         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
40180         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40181
40182 2009-02-27  Bruno Haible  <bruno@clisp.org>
40183
40184         Avoid spurious "(cached)" in configure output.
40185         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
40186         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
40187         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40188         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40189         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40190         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
40191         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40192         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
40193         Reported by Eric Blake.
40194
40195 2009-02-27  Eric Blake  <ebb9@byu.net>
40196
40197         printf: fix regression in previous patch
40198         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
40199
40200 2009-02-27  Bruno Haible  <bruno@clisp.org>
40201
40202         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
40203         value.
40204         * lib/stdint.in.h: Likewise.
40205         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
40206
40207 2009-02-27  Eric Blake  <ebb9@byu.net>
40208
40209         doc: mention more functions added in cygwin 1.7.0
40210         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
40211         addition.
40212         * doc/posix-functions/open_wmemstream.texi: Likewise.
40213         * doc/posix-functions/wcsnlen.texi: Likewise.
40214         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40215         * doc/posix-functions/wcstod.texi: Likewise.
40216         * doc/posix-functions/wcstof.texi: Likewise.
40217         * doc/posix-functions/wcstoimax.texi: Likewise.
40218         * doc/posix-functions/wcstok.texi: Likewise.
40219         * doc/posix-functions/wcstoumax.texi: Likewise.
40220
40221         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
40222         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
40223         * doc/posix-functions/fprintf.texi: Update.
40224         * doc/posix-functions/printf.texi: Update.
40225         * doc/posix-functions/snprintf.texi: Update.
40226         * doc/posix-functions/sprintf.texi: Update.
40227         * doc/posix-functions/vfprintf.texi: Update.
40228         * doc/posix-functions/vprintf.texi: Update.
40229         * doc/posix-functions/vsnprintf.texi: Update.
40230         * doc/posix-functions/vsprintf.texi: Update.
40231         * doc/glibc-functions/obstack_printf.texi: Update.
40232         * doc/glibc-functions/obstack_vprintf.texi: Update.
40233
40234 2009-02-26  Eric Blake  <ebb9@byu.net>
40235
40236         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
40237         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
40238         compilation bug by using runtime conversion.
40239         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
40240         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
40241         * modules/ceill-tests (Files): Use nan.h.
40242         * modules/floorl-tests (Files): Likewise.
40243         * modules/frexpl-tests (Files): Likewise.
40244         * modules/isnanl-tests (Files): Likewise.
40245         * modules/ldexpl-tests (Files): Likewise.
40246         * modules/roundl-tests (Files): Likewise.
40247         * modules/truncl-tests (Files): Likewise.
40248         * tests/test-ceill.c (main): Use a working NaN.
40249         * tests/test-floorl.c (main): Likewise.
40250         * tests/test-frexpl.c (main): Likewise.
40251         * tests/test-isnan.c (test_long_double): Likewise.
40252         * tests/test-isnanl.h (main): Likewise.
40253         * tests/test-ldexpl.h (main): Likewise.
40254         * tests/test-roundl.h (main): Likewise.
40255         * tests/test-truncl.h (main): Likewise.
40256         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
40257
40258 2009-02-26  Eric Blake  <ebb9@byu.net>
40259             Bruno Haible  <bruno@clisp.org>
40260
40261         Work around a *printf bug with %ls on Solaris.
40262         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
40263         precision is specified, sprintf stops converting the wide string
40264         argument when the number of bytes that have been produced by this
40265         conversion equals or exceeds the precision.
40266         * doc/posix-functions/fprintf.texi: Update.
40267         * doc/posix-functions/printf.texi: Update.
40268         * doc/posix-functions/snprintf.texi: Update.
40269         * doc/posix-functions/sprintf.texi: Update.
40270         * doc/posix-functions/vfprintf.texi: Update.
40271         * doc/posix-functions/vprintf.texi: Update.
40272         * doc/posix-functions/vsnprintf.texi: Update.
40273         * doc/posix-functions/vsprintf.texi: Update.
40274         * doc/glibc-functions/obstack_printf.texi: Update.
40275         * doc/glibc-functions/obstack_vprintf.texi: Update.
40276
40277 2009-02-26  Eric Blake  <ebb9@byu.net>
40278
40279         stdlib: favor compiler check of random.h
40280         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
40281         to avoid an ObjC random.h installed by Swarm.
40282
40283 2009-02-26  Bruno Haible  <bruno@clisp.org>
40284
40285         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
40286         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
40287         Reported by Gary V. Vaughan <gary@gnu.org>.
40288
40289 2009-02-26  Bruno Haible  <bruno@clisp.org>
40290
40291         Fix *printf behaviour regarding the %ls directive.
40292         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
40293         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
40294         NEED_PRINTF_DIRECTIVE_LS.
40295         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
40296         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40297         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40298         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
40299         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
40300         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
40301         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40302         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40303         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40304         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40305         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40306         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
40307         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40308         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40309         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40310         * doc/posix-functions/fprintf.texi: Update.
40311         * doc/posix-functions/printf.texi: Update.
40312         * doc/posix-functions/snprintf.texi: Update.
40313         * doc/posix-functions/sprintf.texi: Update.
40314         * doc/posix-functions/vfprintf.texi: Update.
40315         * doc/posix-functions/vprintf.texi: Update.
40316         * doc/posix-functions/vsnprintf.texi: Update.
40317         * doc/posix-functions/vsprintf.texi: Update.
40318         * doc/glibc-functions/obstack_printf.texi: Update.
40319         * doc/glibc-functions/obstack_vprintf.texi: Update.
40320         Reported by Eric Blake.
40321
40322 2009-02-25  Bruno Haible  <bruno@clisp.org>
40323
40324         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
40325         with known value.
40326         Reported by Gary V. Vaughan <gary@gnu.org>.
40327
40328 2009-02-25  Bruno Haible  <bruno@clisp.org>
40329
40330         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
40331         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
40332         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
40333         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
40334         Reported by Gary V. Vaughan <gary@gnu.org>.
40335
40336 2009-02-25  Bruno Haible  <bruno@clisp.org>
40337
40338         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
40339         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
40340         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
40341         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
40342         Reported by Gary V. Vaughan <gary@gnu.org>.
40343
40344 2009-02-25  Eric Blake  <ebb9@byu.net>
40345
40346         tests: skip fseek/ftell tests if ungetc is broken
40347         * m4/ungetc.m4: New file.
40348         * modules/fseek-tests: Split test, so ungetc dependency is
40349         separate from rest of test.
40350         * modules/fseeko-tests: Likewise.
40351         * modules/ftell-tests: Likewise.
40352         * modules/ftello-tests: Likewise.
40353         * tests/test-fseek.c (main): Isolate ungetc dependency.
40354         * tests/test-fseeko.c (main): Likewise.
40355         * tests/test-ftell.c (main): Likewise.
40356         * tests/test-ftello.c (main): Likewise.
40357         * tests/test-fseek2.sh: New file.
40358         * tests/test-fseeko2.sh: Likewise.
40359         * tests/test-ftell2.sh: Likewise.
40360         * tests/test-ftello2.sh: Likewise.
40361
40362 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
40363
40364         test-getaddrinfo: fix usage of skip return code 77
40365         * tests/test-gettaddrinfo.c: Return skip code 77 only
40366         for first occurance of skip (4x77 is not 77)
40367
40368 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
40369
40370         strtod: avoid C99 decl-after-statement
40371         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
40372
40373 2009-02-24  Eric Blake  <ebb9@byu.net>
40374
40375         strtod: detect HP-UX 11.31 bug
40376         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
40377         Reported by Gary V. Vaughan.
40378
40379 2009-02-23  Bruno Haible  <bruno@clisp.org>
40380
40381         Fix invalid read past end of memory block.
40382         * lib/vasnprintf.c (DCHAR_SET): Define.
40383         (local_wcslen): Define only when needed.
40384         (local_strnlen, local_wcsnlen): New functions.
40385         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
40386         directives that involve a conversion ourselves.
40387         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
40388         wcsnlen, mbrtowc, wcrtomb.
40389         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
40390         * tests/test-vasprintf-posix.c (test_function): Likewise.
40391         * tests/test-snprintf-posix.h (test_function): Likewise.
40392         * tests/test-sprintf-posix.h (test_function): Likewise.
40393         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40394
40395 2009-02-22  Bruno Haible  <bruno@clisp.org>
40396
40397         Implement new clarified decomposition of Hangul syllables.
40398         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
40399         of type LTV, return only a pairwise decomposition.
40400         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
40401         Likewise.
40402         * tests/uninorm/test-decomposition.c (main): Updated expected result.
40403         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
40404         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
40405
40406 2009-02-22  Bruno Haible  <bruno@clisp.org>
40407
40408         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
40409         zero-length results and shrink excess allocated memory.
40410         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
40411         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
40412         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
40413         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
40414         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
40415         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
40416         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
40417         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
40418         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
40419         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
40420         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
40421         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
40422
40423 2009-02-21  Bruno Haible  <bruno@clisp.org>
40424
40425         * doc/gnulib.texi: Include safe-alloc.texi earlier.
40426         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
40427         spaces after a period. Put a space between a macro name and its
40428         argument list. Trivial rewordings.
40429         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40430         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40431         (main): Return 0 explicitly.
40432
40433 2009-02-21  Bruno Haible  <bruno@clisp.org>
40434
40435         Tests for module 'uninorm/filter'.
40436         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40437         * modules/uninorm/filter-tests: New file.
40438
40439         New module 'uninorm/filter'.
40440         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40441         uninorm_filter_flush, uninorm_filter_free): New declarations.
40442         * lib/uninorm/uninorm-filter.c: New file.
40443         * modules/uninorm/filter: New file.
40444
40445 2009-02-21  Bruno Haible  <bruno@clisp.org>
40446
40447         Tests for module 'uninorm/nfkc'.
40448         * tests/uninorm/test-nfkc.c: New file.
40449         * tests/uninorm/test-u8-nfkc.c: New file.
40450         * tests/uninorm/test-u16-nfkc.c: New file.
40451         * tests/uninorm/test-u32-nfkc.c: New file.
40452         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40453         * tests/uninorm/test-u32-nfkc-big.c: New file.
40454         * modules/uninorm/nfkc-tests: New file.
40455
40456         New module 'uninorm/nfkc'.
40457         * lib/uninorm/nfkc.c: New file.
40458         * modules/uninorm/nfkc: New file.
40459
40460         Tests for module 'uninorm/nfkd'.
40461         * tests/uninorm/test-nfkd.c: New file.
40462         * tests/uninorm/test-u8-nfkd.c: New file.
40463         * tests/uninorm/test-u16-nfkd.c: New file.
40464         * tests/uninorm/test-u32-nfkd.c: New file.
40465         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40466         * tests/uninorm/test-u32-nfkd-big.c: New file.
40467         * modules/uninorm/nfkd-tests: New file.
40468
40469         New module 'uninorm/nfkd'.
40470         * lib/uninorm/nfkd.c: New file.
40471         * modules/uninorm/nfkd: New file.
40472
40473         Tests for module 'uninorm/nfc'.
40474         * tests/uninorm/test-nfc.c: New file.
40475         * tests/uninorm/test-u8-nfc.c: New file.
40476         * tests/uninorm/test-u16-nfc.c: New file.
40477         * tests/uninorm/test-u32-nfc.c: New file.
40478         * tests/uninorm/test-u32-nfc-big.sh: New file.
40479         * tests/uninorm/test-u32-nfc-big.c: New file.
40480         * modules/uninorm/nfc-tests: New file.
40481
40482         New module 'uninorm/nfc'.
40483         * lib/uninorm/nfc.c: New file.
40484         * modules/uninorm/nfc: New file.
40485
40486         Tests for module 'uninorm/nfd'.
40487         * tests/uninorm/test-nfd.c: New file.
40488         * tests/uninorm/test-u8-nfd.c: New file.
40489         * tests/uninorm/test-u16-nfd.c: New file.
40490         * tests/uninorm/test-u32-nfd.c: New file.
40491         * tests/uninorm/test-u32-nfd-big.sh: New file.
40492         * tests/uninorm/test-u32-nfd-big.c: New file.
40493         * tests/uninorm/test-u32-normalize-big.h: New file.
40494         * tests/uninorm/test-u32-normalize-big.c: New file.
40495         * tests/uninorm/NormalizationTest.txt: New file, created from
40496         Unicode 5.1.0 NormalizationTest.txt.
40497         * modules/uninorm/nfd-tests: New file.
40498
40499         New module 'uninorm/nfd'.
40500         * lib/uninorm/nfd.c: New file.
40501         * modules/uninorm/nfd: New file.
40502
40503         New module 'uninorm/u32-normalize'.
40504         * lib/uninorm/u32-normalize.c: New file.
40505         * modules/uninorm/u32-normalize: New file.
40506
40507         New module 'uninorm/u16-normalize'.
40508         * lib/uninorm/u16-normalize.c: New file.
40509         * modules/uninorm/u16-normalize: New file.
40510
40511         New module 'uninorm/u8-normalize'.
40512         * lib/uninorm/u8-normalize.c: New file.
40513         * lib/uninorm/normalize-internal.h: New file.
40514         * lib/uninorm/u-normalize-internal.h: New file.
40515         * modules/uninorm/u8-normalize: New file.
40516
40517         New module 'uninorm/decompose-internal'.
40518         * lib/uninorm/decompose-internal.c: New file.
40519         * modules/uninorm/decompose-internal: New file.
40520
40521         Tests for module 'uninorm/composition'.
40522         * tests/uninorm/test-composition.c: New file.
40523         * modules/uninorm/composition-tests: New file.
40524
40525         New module 'uninorm/composition'.
40526         * lib/uninorm/composition.c: New file.
40527         * lib/uninorm/composition-table.gperf: New file, generated by
40528         gen-uni-tables.
40529         * modules/uninorm/composition: New file.
40530
40531         Tests for module 'uninorm/compat-decomposition'.
40532         * tests/uninorm/test-compat-decomposition.c: New file.
40533         * modules/uninorm/compat-decomposition-tests: New file.
40534
40535         New module 'uninorm/compat-decomposition'.
40536         * lib/uninorm/decompose-internal.h: New file.
40537         * lib/uninorm/compat-decomposition.c: New file.
40538         * modules/uninorm/compat-decomposition: New file.
40539
40540         Tests for module 'uninorm/canonical-decomposition'.
40541         * tests/uninorm/test-canonical-decomposition.c: New file.
40542         * modules/uninorm/canonical-decomposition-tests: New file.
40543
40544         New module 'uninorm/canonical-decomposition'.
40545         * lib/uninorm/canonical-decomposition.c: New file.
40546         * modules/uninorm/canonical-decomposition: New file.
40547
40548         Tests for module 'uninorm/decomposition'.
40549         * tests/uninorm/test-decomposition.c: New file.
40550         * modules/uninorm/decomposition-tests: New file.
40551
40552         New module 'uninorm/decomposition'.
40553         * lib/uninorm/decomposition.c: New file.
40554         * modules/uninorm/decomposition: New file.
40555
40556         New module 'uninorm/decomposition-table'.
40557         * lib/uninorm/decomposition-table.h: New file.
40558         * lib/uninorm/decomposition-table.c: New file.
40559         * lib/uninorm/decomposition-table1.h: New file, generated by
40560         gen-uni-tables.
40561         * lib/uninorm/decomposition-table2.h: New file, generated by
40562         gen-uni-tables.
40563         * modules/uninorm/decomposition-table: New file.
40564
40565         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40566         (UC_DECOMP_*): New enumeration items.
40567         (get_decomposition): New function.
40568         (struct decomp_table): New type.
40569         (output_decomposition, output_decomposition_tables): New functions.
40570         (unicode_composition_exclusions): New variable.
40571         (fill_composition_exclusions, debug_output_composition_tables): New
40572         functions.
40573         (main): Accept one more argument. Invoke fill_composition_exclusions.
40574         Output decomposition and composition tables.
40575
40576         New module 'uninorm/base'.
40577         * lib/uninorm.h: New file.
40578         * lib/unictype.h: Update comment.
40579         * modules/uninorm/base: New file.
40580
40581 2009-02-21  David Lutterkort  <lutter@redhat.com>
40582
40583         Tests for module 'safe-alloc'.
40584         * tests/test-safe-alloc.c: New file.
40585         * modules/safe-alloc-tests: New file.
40586
40587         New module 'safe-alloc'.
40588         * lib/safe-alloc.h: New file.
40589         * lib/safe-alloc.c: New file.
40590         * m4/safe-alloc.m4: New file.
40591         * modules/safe-alloc: New file.
40592         * doc/safe-alloc.texi: New file.
40593         * doc/gnulib.texi: Include it.
40594         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40595         safe-alloc.
40596
40597 2009-02-18  Bruno Haible  <bruno@clisp.org>
40598
40599         Fix link error on non-glibc systems.
40600         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40601         variable.
40602         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40603
40604 2009-02-18  Jim Meyering  <meyering@redhat.com>
40605
40606         fts: avoid used-uninitialized error due to recent change
40607         * lib/fts.c (fts_read): Guard uses of the new member,
40608         parent->fts_n_dirs_remaining, since it's not relevant for
40609         the parent of a directory specified on the command-line.
40610
40611 2009-02-17  James Youngman  <jay@gnu.org>
40612             Bruno Haible  <bruno@clisp.org>
40613
40614         * m4/include_next.m4: Reformulate comment.
40615
40616 2009-02-16  Jim Meyering  <meyering@redhat.com>
40617
40618         fts: add #if guards so that the fts_lgpl module still builds
40619         * lib/fts.c: Guard just-added hash-table-using parts with
40620         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40621         Reported by Simon Josefsson.
40622
40623 2009-02-15  Bruno Haible  <bruno@clisp.org>
40624
40625         * modules/array-mergesort-tests: New file.
40626         * tests/test-array-mergesort.c: New file.
40627
40628         New module 'array-mergesort'.
40629         * modules/array-mergesort: New file.
40630         * lib/array-mergesort.h: New file.
40631
40632 2009-02-15  Bruno Haible  <bruno@clisp.org>
40633
40634         Fix 2009-02-07 commit.
40635         * lib/gen-uni-tables.c (output_predicate, output_category,
40636         output_combclass, output_bidi_category, output_decimal_digit,
40637         output_digit, output_numeric, output_mirror, output_scripts,
40638         output_ident_category, output_simple_mapping): Fix format directives.
40639         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40640
40641 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40642
40643         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40644         fixes are available from IBM.
40645
40646 2009-02-13  Jim Meyering  <meyering@redhat.com>
40647
40648         fts: arrange not to stat non-directories in more cases
40649         This makes GNU find (when it doesn't need to stat each file)
40650         *much* more efficient at traversing reiserfs file systems.
40651         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40652         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40653         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40654         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40655         (leaf_optimization_applies): New function.
40656         (LCO_hash, LCO_compare): New helper functions.
40657         (link_count_optimize_ok): New function.
40658         (fts_stat): Initialize new member (if dir).
40659         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40660         we've just stat'ed a directory.  Skip the stat call when possible.
40661         ---
40662         Note this AFS-related exchange:
40663         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40664         and note find's pioctl call in find/fstype.c.
40665         But that is necessary only if you want to enable the
40666         optimization for AFS, and for now, I don't.
40667
40668         fts: move a function definition "up" (no semantic change)
40669         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40670         "up" to precede upcoming use of a related function.
40671
40672 2009-02-11  Jim Meyering  <meyering@redhat.com>
40673
40674         fts: correct internal computation of nlinks (optimization-related)
40675         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40676         whether the current entry is a directory, so don't test it.
40677
40678 2009-02-10  Bruno Haible  <bruno@clisp.org>
40679
40680         Tests for module 'uniwbrk/ulc-wordbreaks'.
40681         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40682         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40683         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40684
40685         Tests for module 'uniwbrk/u32-wordbreaks'.
40686         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40687         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40688
40689         Tests for module 'uniwbrk/u16-wordbreaks'.
40690         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40691         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40692
40693         Tests for module 'uniwbrk/u8-wordbreaks'.
40694         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40695         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40696
40697 2009-02-10  Bruno Haible  <bruno@clisp.org>
40698
40699         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40700         property.
40701         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40702         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40703         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40704
40705 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40706
40707         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40708         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40709
40710 2009-02-10  Bruno Haible  <bruno@clisp.org>
40711
40712         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40713         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40714         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40715         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40716         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40717         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40718
40719 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40720
40721         * lib/sockets.h (gl_fd_to_handle): New function.
40722
40723         * tests/test-sockets.c: Call gl_fd_to_handle.
40724
40725 2009-02-09  Bruno Haible  <bruno@clisp.org>
40726
40727         * doc/havelib.texi: Document the conventions on bi-arch systems.
40728
40729 2009-02-08  Bruno Haible  <bruno@clisp.org>
40730
40731         Document the AC_LIB_LINKFLAGS macro.
40732         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40733         * doc/gnulib.texi: Include it.
40734
40735 2009-02-08  Bruno Haible  <bruno@clisp.org>
40736
40737         Fix wrong order of sections, compared to TOC.
40738         * doc/gnulib.texi: Include relocatable-maint.texi after the
40739         "Regular expressions" node, not before.
40740
40741 2009-02-08  Bruno Haible  <bruno@clisp.org>
40742
40743         Tests for module 'unicase/totitle'.
40744         * modules/unicase/totitle-tests: New file.
40745
40746         Tests for module 'unicase/tolower'.
40747         * modules/unicase/tolower-tests: New file.
40748
40749         Tests for module 'unicase/toupper'.
40750         * modules/unicase/toupper-tests: New file.
40751         * tests/unicase/test-mapping-part1.h: New file.
40752         * tests/unicase/test-mapping-part2.h: New file.
40753
40754         New module 'unicase/totitle'.
40755         * modules/unicase/totitle: New file.
40756         * lib/unicase/totitle.c: New file.
40757
40758         New module 'unicase/tolower'.
40759         * modules/unicase/tolower: New file.
40760         * lib/unicase/tolower.c: New file.
40761
40762         New module 'unicase/toupper'.
40763         * modules/unicase/toupper: New file.
40764         * lib/unicase/toupper.c: New file.
40765         * lib/unicase/simple-mapping.h: New file.
40766
40767         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40768         (mapping_table): New structure.
40769         (output_simple_mapping): New function.
40770         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40771         * modules/gen-uni-tables (Description): Update.
40772         * lib/unicase/toupper.h: New file, automatically generated by
40773         gen-uni-tables.
40774         * lib/unicase/tolower.h: New file, automatically generated by
40775         gen-uni-tables.
40776         * lib/unicase/totitle.h: New file, automatically generated by
40777         gen-uni-tables.
40778         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40779         gen-uni-tables.
40780         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40781         gen-uni-tables.
40782         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40783         gen-uni-tables.
40784
40785         New module 'unicase/base'.
40786         * modules/unicase/base: New file.
40787         * lib/unicase.h: New file.
40788
40789 2009-02-08  Bruno Haible  <bruno@clisp.org>
40790
40791         New module 'uniwbrk/ulc-wordbreaks'.
40792         * modules/uniwbrk/ulc-wordbreaks: New file.
40793         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40794
40795         New module 'uniwbrk/u32-wordbreaks'.
40796         * modules/uniwbrk/u32-wordbreaks: New file.
40797         * lib/uniwbrk/u32-wordbreaks.c: New file.
40798
40799         New module 'uniwbrk/u16-wordbreaks'.
40800         * modules/uniwbrk/u16-wordbreaks: New file.
40801         * lib/uniwbrk/u16-wordbreaks.c: New file.
40802
40803         New module 'uniwbrk/u8-wordbreaks'.
40804         * modules/uniwbrk/u8-wordbreaks: New file.
40805         * lib/uniwbrk/u8-wordbreaks.c: New file.
40806         * lib/uniwbrk/u-wordbreaks.h: New file.
40807
40808         New module 'uniwbrk/table'.
40809         * modules/uniwbrk/table: New file.
40810         * lib/uniwbrk/wbrktable.h: New file.
40811         * lib/uniwbrk/wbrktable.c: New file.
40812
40813         New module 'uniwbrk/wordbreak-property'.
40814         * modules/uniwbrk/wordbreak-property: New file.
40815         * lib/uniwbrk/wordbreak-property.c: New file.
40816
40817         * lib/gen-uni-tables.c (WBP_*): New enum items.
40818         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40819         (unicode_org_wbp): New variable.
40820         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40821         New functions.
40822         (wbp_table): New structure.
40823         (output_wbp, output_wbrk_tables): New functions.
40824         (main): Accept additional argument. Invoke fill_org_wbp,
40825         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40826         output_wbrk_tables.
40827         * modules/gen-uni-tables (Description): Update.
40828         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40829         gen-uni-tables.
40830
40831         New module 'uniwbrk/base'.
40832         * modules/uniwbrk/base: New file.
40833         * lib/uniwbrk.h: New file.
40834
40835 2009-02-08  Bruno Haible  <bruno@clisp.org>
40836
40837         Update to Unicode 5.1.0.
40838         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40839         U+2185..U+2188.
40840         (is_property_default_ignorable_code_point): Don't include characters
40841         of category Cc or Cs and not-a-characters.
40842         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
40843         U+0D79, U+109E, U+109F, U+A60C.
40844         * lib/unictype/bidi_of.h: Regenerated.
40845         * lib/unictype/blocks.h: Regenerated.
40846         * lib/unictype/categ_C.h: Regenerated.
40847         * lib/unictype/categ_Cf.h: Regenerated.
40848         * lib/unictype/categ_Cn.h: Regenerated.
40849         * lib/unictype/categ_L.h: Regenerated.
40850         * lib/unictype/categ_Ll.h: Regenerated.
40851         * lib/unictype/categ_Lm.h: Regenerated.
40852         * lib/unictype/categ_Lo.h: Regenerated.
40853         * lib/unictype/categ_Lu.h: Regenerated.
40854         * lib/unictype/categ_M.h: Regenerated.
40855         * lib/unictype/categ_Mc.h: Regenerated.
40856         * lib/unictype/categ_Me.h: Regenerated.
40857         * lib/unictype/categ_Mn.h: Regenerated.
40858         * lib/unictype/categ_N.h: Regenerated.
40859         * lib/unictype/categ_Nd.h: Regenerated.
40860         * lib/unictype/categ_Nl.h: Regenerated.
40861         * lib/unictype/categ_No.h: Regenerated.
40862         * lib/unictype/categ_P.h: Regenerated.
40863         * lib/unictype/categ_Pd.h: Regenerated.
40864         * lib/unictype/categ_Pe.h: Regenerated.
40865         * lib/unictype/categ_Pf.h: Regenerated.
40866         * lib/unictype/categ_Pi.h: Regenerated.
40867         * lib/unictype/categ_Po.h: Regenerated.
40868         * lib/unictype/categ_Ps.h: Regenerated.
40869         * lib/unictype/categ_S.h: Regenerated.
40870         * lib/unictype/categ_Sk.h: Regenerated.
40871         * lib/unictype/categ_Sm.h: Regenerated.
40872         * lib/unictype/categ_So.h: Regenerated.
40873         * lib/unictype/categ_of.h: Regenerated.
40874         * lib/unictype/combining.h: Regenerated.
40875         * lib/unictype/ctype_alnum.h: Regenerated.
40876         * lib/unictype/ctype_alpha.h: Regenerated.
40877         * lib/unictype/ctype_graph.h: Regenerated.
40878         * lib/unictype/ctype_lower.h: Regenerated.
40879         * lib/unictype/ctype_print.h: Regenerated.
40880         * lib/unictype/ctype_punct.h: Regenerated.
40881         * lib/unictype/ctype_upper.h: Regenerated.
40882         * lib/unictype/decdigit.h: Regenerated.
40883         * lib/unictype/digit.h: Regenerated.
40884         * lib/unictype/mirror.h: Regenerated.
40885         * lib/unictype/numeric.h: Regenerated.
40886         * lib/unictype/pr_alphabetic.h: Regenerated.
40887         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
40888         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
40889         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
40890         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
40891         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
40892         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
40893         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
40894         * lib/unictype/pr_combining.h: Regenerated.
40895         * lib/unictype/pr_dash.h: Regenerated.
40896         * lib/unictype/pr_decimal_digit.h: Regenerated.
40897         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
40898         * lib/unictype/pr_deprecated.h: Regenerated.
40899         * lib/unictype/pr_diacritic.h: Regenerated.
40900         * lib/unictype/pr_extender.h: Regenerated.
40901         * lib/unictype/pr_format_control.h: Regenerated.
40902         * lib/unictype/pr_grapheme_base.h: Regenerated.
40903         * lib/unictype/pr_grapheme_extend.h: Regenerated.
40904         * lib/unictype/pr_grapheme_link.h: Regenerated.
40905         * lib/unictype/pr_id_continue.h: Regenerated.
40906         * lib/unictype/pr_id_start.h: Regenerated.
40907         * lib/unictype/pr_ideographic.h: Regenerated.
40908         * lib/unictype/pr_ignorable_control.h: Regenerated.
40909         * lib/unictype/pr_lowercase.h: Regenerated.
40910         * lib/unictype/pr_math.h: Regenerated.
40911         * lib/unictype/pr_numeric.h: Regenerated.
40912         * lib/unictype/pr_other_alphabetic.h: Regenerated.
40913         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
40914         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
40915         * lib/unictype/pr_other_id_continue.h: Regenerated.
40916         * lib/unictype/pr_other_lowercase.h: Regenerated.
40917         * lib/unictype/pr_other_math.h: Regenerated.
40918         * lib/unictype/pr_punctuation.h: Regenerated.
40919         * lib/unictype/pr_sentence_terminal.h: Regenerated.
40920         * lib/unictype/pr_soft_dotted.h: Regenerated.
40921         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
40922         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
40923         * lib/unictype/pr_unified_ideograph.h: Regenerated.
40924         * lib/unictype/pr_uppercase.h: Regenerated.
40925         * lib/unictype/pr_xid_continue.h: Regenerated.
40926         * lib/unictype/pr_xid_start.h: Regenerated.
40927         * lib/unictype/pr_zero_width.h: Regenerated.
40928         * lib/unictype/scripts.h: Regenerated.
40929         * lib/unictype/scripts_byname.gperf: Regenerated.
40930         * lib/unictype/sy_java_ident.h: Regenerated.
40931         * lib/unilbrk/lbrkprop1.h: Regenerated.
40932         * lib/unilbrk/lbrkprop2.h: Regenerated.
40933         * tests/unictype/test-categ_C.c: Regenerated.
40934         * tests/unictype/test-categ_Cf.c: Regenerated.
40935         * tests/unictype/test-categ_Cn.c: Regenerated.
40936         * tests/unictype/test-categ_L.c: Regenerated.
40937         * tests/unictype/test-categ_Ll.c: Regenerated.
40938         * tests/unictype/test-categ_Lm.c: Regenerated.
40939         * tests/unictype/test-categ_Lo.c: Regenerated.
40940         * tests/unictype/test-categ_Lu.c: Regenerated.
40941         * tests/unictype/test-categ_M.c: Regenerated.
40942         * tests/unictype/test-categ_Mc.c: Regenerated.
40943         * tests/unictype/test-categ_Me.c: Regenerated.
40944         * tests/unictype/test-categ_Mn.c: Regenerated.
40945         * tests/unictype/test-categ_N.c: Regenerated.
40946         * tests/unictype/test-categ_Nd.c: Regenerated.
40947         * tests/unictype/test-categ_Nl.c: Regenerated.
40948         * tests/unictype/test-categ_No.c: Regenerated.
40949         * tests/unictype/test-categ_P.c: Regenerated.
40950         * tests/unictype/test-categ_Pd.c: Regenerated.
40951         * tests/unictype/test-categ_Pe.c: Regenerated.
40952         * tests/unictype/test-categ_Pf.c: Regenerated.
40953         * tests/unictype/test-categ_Pi.c: Regenerated.
40954         * tests/unictype/test-categ_Po.c: Regenerated.
40955         * tests/unictype/test-categ_Ps.c: Regenerated.
40956         * tests/unictype/test-categ_S.c: Regenerated.
40957         * tests/unictype/test-categ_Sk.c: Regenerated.
40958         * tests/unictype/test-categ_Sm.c: Regenerated.
40959         * tests/unictype/test-categ_So.c: Regenerated.
40960         * tests/unictype/test-ctype_alnum.c: Regenerated.
40961         * tests/unictype/test-ctype_alpha.c: Regenerated.
40962         * tests/unictype/test-ctype_graph.c: Regenerated.
40963         * tests/unictype/test-ctype_lower.c: Regenerated.
40964         * tests/unictype/test-ctype_print.c: Regenerated.
40965         * tests/unictype/test-ctype_punct.c: Regenerated.
40966         * tests/unictype/test-ctype_upper.c: Regenerated.
40967         * tests/unictype/test-decdigit.h: Regenerated.
40968         * tests/unictype/test-digit.h: Regenerated.
40969         * tests/unictype/test-numeric.h: Regenerated.
40970         * tests/unictype/test-pr_alphabetic.c: Regenerated.
40971         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
40972         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
40973         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
40974         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
40975         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
40976         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
40977         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
40978         * tests/unictype/test-pr_combining.c: Regenerated.
40979         * tests/unictype/test-pr_dash.c: Regenerated.
40980         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
40981         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
40982         * tests/unictype/test-pr_deprecated.c: Regenerated.
40983         * tests/unictype/test-pr_diacritic.c: Regenerated.
40984         * tests/unictype/test-pr_extender.c: Regenerated.
40985         * tests/unictype/test-pr_format_control.c: Regenerated.
40986         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
40987         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
40988         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
40989         * tests/unictype/test-pr_id_continue.c: Regenerated.
40990         * tests/unictype/test-pr_id_start.c: Regenerated.
40991         * tests/unictype/test-pr_ideographic.c: Regenerated.
40992         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
40993         * tests/unictype/test-pr_lowercase.c: Regenerated.
40994         * tests/unictype/test-pr_math.c: Regenerated.
40995         * tests/unictype/test-pr_numeric.c: Regenerated.
40996         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
40997         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
40998         Regenerated.
40999         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
41000         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
41001         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
41002         * tests/unictype/test-pr_other_math.c: Regenerated.
41003         * tests/unictype/test-pr_punctuation.c: Regenerated.
41004         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
41005         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
41006         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
41007         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
41008         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
41009         * tests/unictype/test-pr_uppercase.c: Regenerated.
41010         * tests/unictype/test-pr_xid_continue.c: Regenerated.
41011         * tests/unictype/test-pr_xid_start.c: Regenerated.
41012         * tests/unictype/test-pr_zero_width.c: Regenerated.
41013
41014         Update to Unicode 5.1.0.
41015         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
41016         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
41017         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
41018         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
41019         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
41020         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
41021         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
41022         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
41023         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
41024         (nonspacing_table_ind): Update.
41025         * tests/uniwidth/test-uc_width2.sh: Update expected result.
41026
41027         Update to Unicode 5.1.0.
41028         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
41029         code transform.
41030         * lib/uniname/uniname.c (unicode_character_name,
41031         unicode_name_character): Add the range 0x1Fxxx to the code transform.
41032         * lib/uniname/uninames.h: Regenerated.
41033         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
41034
41035 2009-02-07  Bruno Haible  <bruno@clisp.org>
41036
41037         Merge gen-ctype and gen-lbrk into a single program.
41038         * lib/gen-uni-tables.c: New file, incorporating
41039         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
41040         Add directory prefixes to the names of the generated files.
41041         * lib/unictype/gen-ctype.c: Remove file.
41042         * lib/unilbrk/gen-lbrk.c: Remove file.
41043         * modules/gen-uni-tables: New file.
41044         * modules/unictype/gen-ctype: Remove file.
41045         * modules/unilbrk/gen-lbrk: Remove file.
41046
41047 2009-02-07  Bruno Haible  <bruno@clisp.org>
41048
41049         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
41050
41051         New module 'unistr/u32-strcoll'.
41052         * modules/unistr/u32-strcoll: New file.
41053         * lib/unistr/u32-strcoll.c: New file.
41054
41055         New module 'unistr/u16-strcoll'.
41056         * modules/unistr/u16-strcoll: New file.
41057         * lib/unistr/u16-strcoll.c: New file.
41058
41059         New module 'unistr/u8-strcoll'.
41060         * modules/unistr/u8-strcoll: New file.
41061         * lib/unistr/u8-strcoll.c: New file.
41062         * lib/unistr/u-strcoll.h: New file.
41063
41064 2009-02-07  Bruno Haible  <bruno@clisp.org>
41065
41066         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
41067         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41068         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41069         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
41070         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
41071         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
41072
41073 2009-02-07  Bruno Haible  <bruno@clisp.org>
41074
41075         Make 64-bit clean.
41076         * lib/unictype/gen-ctype.c (output_predicate, output_category,
41077         output_combclass, output_bidi_category, output_decimal_digit,
41078         output_digit, output_numeric, output_mirror, output_scripts,
41079         output_ident_category): Use proper width specifier in format strings.
41080
41081 2009-02-07  Bruno Haible  <bruno@clisp.org>
41082
41083         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
41084         failure behaviour.
41085
41086 2009-02-07  Jim Meyering  <meyering@redhat.com>
41087
41088         regex: avoid compilation failure with upcoming gcc-4.4
41089         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
41090         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
41091         "... error: integer overflow in preprocessor expression".
41092
41093 2009-02-05  Ben Pfaff  <blp@gnu.org>
41094
41095         Fix link errors on Windows when close module is used.
41096         * modules/close: Add $(LIB_CLOSE) to Link section.
41097         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
41098         $(LIB_CLOSE) on Windows.
41099
41100 2009-02-05  Jim Meyering  <meyering@redhat.com>
41101
41102         still avoid unused-parameter warnings, but do it cleanly
41103         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
41104         (get_fs_usage): Cast to void instead.
41105         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
41106         (dev_from_mount_options, read_file_system_list): Cast to void.
41107         Prompted by Bruno Haible.
41108
41109 2009-02-04  Jim Meyering  <meyering@redhat.com>
41110
41111         fsusage.c: correct copyright year
41112         * lib/fsusage.c: Reflect year in which the change is pushed into
41113
41114         avoid misc. warnings
41115         * lib/fsusage.c (UNUSED_PARAM): Define.
41116         (get_fs_usage): Mark parameter "disk" as unused.
41117         * lib/getugroups.c (getgrent): Use "void" in prototype.
41118         * lib/mountlist.c: Mark unused parameters.
41119         (read_file_system_list): Declare a local with "const".
41120         * lib/nanosleep.c (getnow): Declare static.
41121         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
41122
41123         dirfd: set errno upon failure
41124         * lib/dirfd.c: Include <errno.h>.
41125         Set errno to ENOTSUP when returning -1.
41126         * modules/dirfd (Depends-on): Add errno.
41127         Suggested by John Kodis <kodis@comcast.net>.
41128
41129 2009-02-01  Bruno Haible  <bruno@clisp.org>
41130
41131         Don't assume sizeof (long) >= sizeof (void *).
41132         * lib/memcmp.c: Include stdint.h.
41133         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
41134         srcp2 to 'const byte *'.
41135         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
41136         types to uintptr_t.
41137         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
41138         * modules/memcmp (Depends-on): Add stdint.
41139         Reported by Ozkan Sezer <sezeroz@gmail.com>.
41140
41141 2009-01-30  Eric Blake  <ebb9@byu.net>
41142
41143         fix more require-before-expand issues
41144         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
41145         expand, AC_PROG_AWK.
41146         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
41147
41148 2009-01-28  Eric Blake  <ebb9@byu.net>
41149
41150         version-etc: use consistent URL formatting
41151         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
41152         Improve formatting.  Use fputs for string without %.
41153
41154 2009-01-28  Jim Meyering  <meyering@redhat.com>
41155
41156         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
41157         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
41158         "underquoted definition of NAME" from autoconf-2.59.
41159
41160 2009-01-28  Bruno Haible  <bruno@clisp.org>
41161
41162         * doc/gnulib.texi: Add "Obsolete modules" to index.
41163
41164 2009-01-28  Jim Meyering  <meyering@redhat.com>
41165
41166         useless-if-before-free: recognize more variants
41167         * build-aux/useless-if-before-free: Also recognize e.g.,
41168         if (NULL != p) free (p);
41169
41170 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
41171
41172         test-getaddrinfo: skip (don't fail) this test when there's no network
41173         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
41174         on the presumption that it means you lack network access.
41175
41176 2009-01-26  Jim Meyering  <meyering@redhat.com>
41177
41178         fflush: avoid warnings on modern systems
41179         * lib/fflush.c (rpl_fflush): Move declarations of locals,
41180         pos and result, into scopes where they're used.
41181
41182 2009-01-26  Eric Blake  <ebb9@byu.net>
41183
41184         Silence warning reintroduced by recent extensions patch.
41185         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
41186         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
41187         autoconf.
41188
41189         Backport improved autoconf semantics of AC_DEFUN_ONCE.
41190         * m4/00gnulib.m4: New file.
41191         * gnulib-tool (func_get_filelist): Always use it.
41192         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
41193         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
41194
41195 2009-01-25  Bruno Haible  <bruno@clisp.org>
41196
41197         Make test-quotearg work on MacOS X and AIX.
41198         * tests/test-quotearg.sh: New file.
41199         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
41200         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
41201         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
41202         include <libintl.h>.
41203         (fake_locale): Remove variable.
41204         (gettext, dgettext, dcgettext): Remove functions.
41205         (main): Instead of setting a fake locale, set a real locale. Call
41206         textdomain and bindtextdomain.
41207         * modules/quotearg-tests (Files): Add the new files.
41208         (Depends-on): Add gettext, setenv, unsetenv.
41209         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41210         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
41211         Augment TESTS_ENVIRONMENT.
41212
41213 2009-01-25  Bruno Haible  <bruno@clisp.org>
41214
41215         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
41216         fr_FR.ISO8859-1 locale on MacOS X.
41217         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
41218         ja_JP.eucJP locale on MacOS X.
41219         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
41220         zh_CN.GB18030 locale on MacOS X.
41221
41222 2009-01-25  Bruno Haible  <bruno@clisp.org>
41223
41224         Avoid link errors on MacOS X 10.3.
41225         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
41226         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41227
41228 2009-01-25  Bruno Haible  <bruno@clisp.org>
41229
41230         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41231         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
41232         * modules/pipe (Files): Remove m4/posix_spawn.m4.
41233         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41234         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
41235         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41236         posix_spawnattr_init, posix_spawnattr_setsigmask,
41237         posix_spawnattr_setflags, posix_spawnattr_destroy.
41238
41239         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41240         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
41241         * modules/execute (Files): Remove m4/posix_spawn.m4.
41242         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41243         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41244         posix_spawnattr_init, posix_spawnattr_setsigmask,
41245         posix_spawnattr_setflags, posix_spawnattr_destroy.
41246
41247 2009-01-25  Bruno Haible  <bruno@clisp.org>
41248
41249         * lib/glthread/threadlib.c: Include <stdlib.h>.
41250
41251 2009-01-25  Bruno Haible  <bruno@clisp.org>
41252
41253         * lib/glthread/threadlib.c (dummy): New declaration.
41254
41255 2009-01-25  Bruno Haible  <bruno@clisp.org>
41256
41257         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
41258         multibyte characters also for the GB18030 encoding. Don't crash when
41259         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
41260
41261 2009-01-25  Bruno Haible  <bruno@clisp.org>
41262
41263         Avoid redefining 'struct random_data' on OSF/1 5.1.
41264         * lib/stdlib.in.h: Include <random.h> if it exists.
41265         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
41266         HAVE_RANDOM_H. Include <random.h> when testing whether
41267         'struct random_data' exists.
41268         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
41269
41270 2009-01-25  Bruno Haible  <bruno@clisp.org>
41271
41272         Don't install charset.alias on MacOS X >= 10.3.
41273         * lib/localcharset.c (DARWIN7): New macro.
41274         (get_charset_aliases): Hardcode the result for Darwin7.
41275         * modules/localcharset (install-exec-local): Don't install
41276         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
41277
41278 2009-01-25  Bruno Haible  <bruno@clisp.org>
41279
41280         Don't install charset.alias on mingw and Cygwin.
41281         * modules/localcharset (install-exec-local): Don't install
41282         charset.alias on mingw and Cygwin, if the file does not yet exist.
41283         The result for these platforms is hardcoded in localcharset.c.
41284
41285 2009-01-25  Bruno Haible  <bruno@clisp.org>
41286
41287         Make it possible again to use AC_GNU_SOURCE together with gnulib.
41288         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
41289         before requiring AC_USE_SYSTEM_EXTENSIONS.
41290
41291 2009-01-25  Jim Meyering  <meyering@redhat.com>
41292
41293         c-strtod: avoid warnings
41294         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
41295         "assignment discards qualifiers from pointer target type" warnings.
41296
41297 2009-01-24  Bruno Haible  <bruno@clisp.org>
41298
41299         Add support for non-UTF-8 locales on MacOS X.
41300         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
41301         canonical encodings. For Darwin 7 and newer, don't map traditional
41302         encodings to UTF-8.
41303         Reported by Vincent Lefevre <vincent@vinc17.org>
41304         at <http://savannah.gnu.org/bugs/?25235>.
41305
41306 2009-01-24  Bruno Haible  <bruno@clisp.org>
41307
41308         * doc/gnulib.texi (Obsolete modules): New section.
41309         Reported by Mike Frysinger <vapier@gentoo.org>.
41310
41311 2009-01-24  Bruno Haible  <bruno@clisp.org>
41312
41313         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
41314         (%.dvi): New rule.
41315
41316 2009-01-24  Bruno Haible  <bruno@clisp.org>
41317
41318         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
41319         Reported by Eric Blake.
41320
41321 2009-01-24  Bruno Haible  <bruno@clisp.org>
41322
41323         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
41324         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
41325         Reported by Gary V. Vaughan <gary@gnu.org>.
41326
41327 2009-01-24  Bruno Haible  <bruno@clisp.org>
41328
41329         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
41330
41331 2009-01-23  Bruno Haible  <bruno@clisp.org>
41332
41333         Make c-strtod, c-strtold usable in libraries.
41334         * lib/c-strtod.c: Include string.h instead of xalloc.h.
41335         (C_STRTOD): Call strdup instead of xstrdup.
41336         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
41337         * modules/c-strtold (Depends-on): Likewise.
41338         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
41339         * NEWS: Mention the change.
41340         Reported by Michael Gold <mgold@ncf.ca>.
41341
41342 2009-01-23  Jim Meyering  <meyering@redhat.com>
41343
41344         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
41345         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
41346         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
41347
41348 2009-01-23  Simon Josefsson  <simon@josefsson.org>
41349
41350         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
41351         GNU CoreUtils.
41352         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
41353         * modules/version-etc (Description): Update.
41354
41355 2009-01-22  Bruno Haible  <bruno@clisp.org>
41356
41357         Cache the C locale object.
41358         * lib/c-strtod.c (c_locale_cache): New variable.
41359         (c_locale): New function.
41360         (C_STRTOD): Use it, and don't call freelocale.
41361         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
41362         Suggested by Paolo Bonzini.
41363
41364 2009-01-21  Bruno Haible  <bruno@clisp.org>
41365
41366         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
41367         conditions other than overflow.
41368
41369 2009-01-21  Bruno Haible  <bruno@clisp.org>
41370
41371         * lib/c-strtod.c: Include errno.h.
41372         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
41373         value from STRTOD_L and STRTOD.
41374
41375 2009-01-21  Bruno Haible  <bruno@clisp.org>
41376         and Jim Meyering  <meyering@redhat.com>
41377
41378         nanosleep: skip configure test (fail it) for apple universal builds
41379         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
41380         universal builds, assume that nanosleep does not work.
41381         * modules/nanosleep (Depends-on): Add multiarch.
41382
41383         mktime: skip configure test (fail it) for apple universal builds
41384         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
41385         universal builds, assume that mktime does not work.
41386         * modules/mktime (Depends-on): Add multiarch.
41387
41388 2009-01-21  Eric Blake  <ebb9@byu.net>
41389
41390         multiarch: avoid expand-before-require warning
41391         * modules/multiarch (configure.ac): Require, rather than expand,
41392         gl_MULTIARCH.
41393         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
41394         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
41395         enforce that all clients require it.  Partial reversion of
41396         2008-12-29 patch.
41397
41398         error: avoid expand-before-require warning
41399         * modules/errno (configure.ac): Require, rather than expand,
41400         gl_HEADER_ERRNO_H.
41401         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
41402         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
41403         enforce that all clients require it.
41404
41405         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
41406         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
41407         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
41408         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
41409
41410 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
41411
41412         Revert:
41413         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41414
41415         regex: do not depend on obsolete modules.
41416         * modules/regex: Remove memcmp and memmove.
41417
41418 2009-01-20  Bruno Haible  <bruno@clisp.org>
41419
41420         Make the 'link' module link on Windows NT 4.
41421         * lib/link.c (_WIN32_WINNT): Don't define.
41422         (CreateHardLinkFuncType): New type.
41423         (CreateHardLinkFunc, initialized): New variables.
41424         (initialize): New function.
41425         (link): Invoke CreateHardLink indirectly through the function pointer.
41426
41427 2009-01-20  Bruno Haible  <bruno@clisp.org>
41428
41429         Fix compilation failure on mingw.
41430         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41431
41432 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41433
41434         * doc/c-strtod.texi: Mention a couple of restrictions.
41435
41436 2009-01-20  Jim Meyering  <meyering@redhat.com>
41437
41438         gettimeofday: move more declarations out of functions
41439         * lib/gettimeofday.c: Move extern declarations of tzset and
41440         gmtime out of containing functions.  Prompted by Bruno Haible.
41441
41442 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41443
41444         regex: do not depend on obsolete modules.
41445         * modules/regex: Remove memcmp and memmove.
41446
41447 2009-01-19  Bruno Haible  <bruno@clisp.org>
41448
41449         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41450         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41451         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41452         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41453         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41454
41455 2009-01-19  Bruno Haible  <bruno@clisp.org>
41456
41457         * tests/test-link.c: Include <errno.h>.
41458         (main): Exit with code 77 when a hard link cannot be created due to
41459         the file system.
41460         * tests/test-link.sh: Skip test when a hard link cannot be created due
41461         to the file system.
41462         Suggested by Eric Blake.
41463
41464 2009-01-19  Martin Lambers  <marlam@marlam.de>
41465
41466         * modules/link-tests: New file.
41467         * tests/test-link.sh: New file.
41468         * tests/test-link.c: New file.
41469
41470 2009-01-19  Eric Blake  <ebb9@byu.net>
41471
41472         doc: mention another function added in cygwin 1.7.0
41473         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41474         Another new function in cygwin 1.7.
41475
41476 2009-01-19  Bruno Haible  <bruno@clisp.org>
41477
41478         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41479         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41480         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41481         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41482         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41483         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41484         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41485         * m4/md4.m4 (gl_MD4): Likewise.
41486         * m4/md5.m4 (gl_MD5): Likewise.
41487         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41488         * m4/sha1.m4 (gl_SHA1): Likewise.
41489         * m4/sha256.m4 (gl_SHA256): Likewise.
41490         * m4/sha512.m4 (gl_SHA512): Likewise.
41491
41492 2009-01-19  Bruno Haible  <bruno@clisp.org>
41493
41494         * modules/uniname/uniname-tests (Depends-on): Add progname.
41495         * tests/uniname/test-uninames.c: Include progname.h.
41496         (main): Call set_program_name.
41497
41498         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41499         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41500         (main): Call set_program_name.
41501
41502         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41503         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41504         (main): Call set_program_name.
41505
41506         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41507         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41508         (main): Call set_program_name.
41509
41510         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41511         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41512         (main): Call set_program_name.
41513
41514         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41515         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41516         (main): Call set_program_name.
41517
41518         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41519         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41520         (main): Call set_program_name.
41521
41522         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41523         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41524         (main): Call set_program_name.
41525
41526         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41527         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41528         (main): Call set_program_name.
41529
41530 2009-01-19  Eric Blake  <ebb9@byu.net>
41531
41532         test-unistd: test previous patch
41533         * tests/test-unistd.c: Test *_FILENO macros.
41534
41535         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41536         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41537         Guarantee a definition.
41538         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41539         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41540         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41541         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41542         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41543         Likewise.
41544         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41545         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41546         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41547         Likewise.
41548         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41549         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41550         (STDERR_FILENO): Likewise.
41551         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41552         (STDERR_FILENO): Likewise.
41553         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41554         (STDERR_FILENO): Likewise.
41555         Reported by Elbert Pol.
41556
41557 2009-01-19  Eric Blake  <ebb9@byu.net>
41558
41559         doc: mention more functions added in cygwin 1.7.0
41560         * doc/posix-functions/abort.texi (abort): Update wording related
41561         to cygwin.
41562         * doc/posix-functions/daylight.texi (daylight): Likewise.
41563         * doc/posix-functions/optarg.texi (optarg): Likewise.
41564         * doc/posix-functions/optarg.texi (opterr): Likewise.
41565         * doc/posix-functions/optarg.texi (optind): Likewise.
41566         * doc/posix-functions/optarg.texi (optopt): Likewise.
41567         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41568         worked in 1.5.x, and was withdrawn in 1.7.
41569         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41570         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41571         cygwin versions.
41572         * doc/posix-functions/perror.texi (perror): Likewise.
41573         * doc/posix-functions/printf.texi (printf): Likewise.
41574         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41575         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41576         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41577         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41578         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41579         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41580         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41581         Likewise.
41582         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41583         Likewise.
41584         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41585         this function.
41586         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41587         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41588         Likewise.
41589         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41590         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41591         * doc/posix-functions/confstr.texi (confstr): Likewise.
41592         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41593         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41594         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41595         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41596         * doc/posix-functions/fputws.texi (fputws): Likewise.
41597         * doc/posix-functions/fwide.texi (fwide): Likewise.
41598         * doc/posix-functions/getwc.texi (getwc): Likewise.
41599         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41600         * doc/posix-functions/putwc.texi (putwc): Likewise.
41601         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41602         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41603         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41604         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41605         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41606         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41607         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41608         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41609         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41610         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41611         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41612
41613 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41614
41615         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41616         * lib/ioctl.c: Include <sys/ioctl.h>.
41617
41618 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41619
41620         * modules/getdate-tests (Depends-on): Add progname.
41621         * tests/test-getdate.c: Use progname module, to avoid link errors
41622         on non-glibc systems.
41623
41624 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41625
41626         * modules/filenamecat-tests (Depends-on): Add progname.
41627         * modules/fstrcmp-tests (Depends-on): Likewise.
41628
41629         * tests/test-filenamecat.c: Use progname module, to avoid link
41630         errors on non-glibc systems.
41631         * tests/test-fstrcmp.c: Likewise.
41632
41633 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41634
41635         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41636         * lib/gettimeofday.c: Move extern declaration out of function.
41637
41638 2009-01-18  Bruno Haible  <bruno@clisp.org>
41639
41640         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41641         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41642         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41643
41644 2009-01-18  Bruno Haible  <bruno@clisp.org>
41645
41646         * lib/strftime.c (MEMPCPY): Remove unused macro.
41647         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41648
41649 2009-01-18  Martin Lambers  <marlam@marlam.de>
41650
41651         New module 'link'.
41652         * lib/unistd.in.h (link): New declaration.
41653         * lib/link.c: New file.
41654         * m4/link.m4: New file.
41655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41656         HAVE_LINK.
41657         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41658         * modules/link: New file.
41659         * doc/posix-functions/link.texi: Mention the new module.
41660
41661 2009-01-18  Bruno Haible  <bruno@clisp.org>
41662
41663         * tests/test-avltree_list.c (main): Call set_program_name.
41664         * tests/test-avltree_oset.c (main): Likewise.
41665         * tests/test-obstack-printf.c: Include progname.h.
41666         (main): Call set_program_name.
41667         * tests/test-quotearg.c: Include progname.h.
41668         (main): Call set_program_name.
41669         * tests/test-xmemdup0.c: Include progname.h.
41670         (main): Call set_program_name.
41671
41672 2009-01-18  Bruno Haible  <bruno@clisp.org>
41673
41674         New module 'alphasort'.
41675         * lib/dirent.in.h (alphasort): New declaration.
41676         * lib/alphasort.c: New file, from glibc with modifications.
41677         * m4/alphasort.m4: New file.
41678         * modules/alphasort: New file.
41679         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41680         HAVE_ALPHASORT.
41681         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41682         HAVE_ALPHASORT.
41683         * doc/posix-functions/alphasort.texi: Mention the new module and the
41684         portability problems.
41685
41686 2009-01-18  Bruno Haible  <bruno@clisp.org>
41687
41688         New module 'scandir'.
41689         * lib/dirent.in.h (scandir): New declaration.
41690         * lib/scandir.c: New file, from glibc with modifications.
41691         * m4/scandir.m4: New file.
41692         * modules/scandir: New file.
41693         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41694         HAVE_SCANDIR.
41695         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41696         HAVE_SCANDIR.
41697         * doc/posix-functions/scandir.texi: Mention the new module and the
41698         portability problems.
41699
41700 2009-01-17  Bruno Haible  <bruno@clisp.org>
41701
41702         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41703         Update documentation.
41704         (func_remove_suffix): Escape all dots in the suffix. Update
41705         documentation.
41706         (func_filter_filelist): Update documentation.
41707         Reported by Ralf Wildenhues.
41708
41709 2009-01-17  Bruno Haible  <bruno@clisp.org>
41710
41711         * modules/dprintf-posix-tests: New file.
41712         * tests/test-dprintf-posix.sh: New file.
41713         * tests/test-dprintf-posix.c: New file.
41714
41715         New modules 'dprintf', 'dprintf-posix'.
41716         * lib/stdio.in.h (dprintf): New declaration.
41717         * lib/dprintf.c: New file.
41718         * m4/dprintf.m4: New file.
41719         * m4/dprintf-posix.m4: New file.
41720         * modules/dprintf: New file.
41721         * modules/dprintf-posix: New file.
41722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41723         HAVE_DPRINTF, REPLACE_DPRINTF.
41724         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41725         HAVE_DPRINTF, REPLACE_DPRINTF.
41726         * doc/posix-functions/dprintf.texi: Mention the new modules.
41727
41728 2009-01-17  Bruno Haible  <bruno@clisp.org>
41729
41730         * modules/vdprintf-posix-tests: New file.
41731         * tests/test-vdprintf-posix.sh: New file.
41732         * tests/test-vdprintf-posix.c: New file.
41733
41734         New modules 'vdprintf', 'vdprintf-posix'.
41735         * lib/stdio.in.h (vdprintf): New declaration.
41736         * lib/vdprintf.c: New file.
41737         * m4/vdprintf.m4: New file.
41738         * m4/vdprintf-posix.m4: New file.
41739         * modules/vdprintf: New file.
41740         * modules/vdprintf-posix: New file.
41741         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41742         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41743         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41744         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41745         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41746
41747 2009-01-17  Bruno Haible  <bruno@clisp.org>
41748
41749         Fix replacement of fopen on mingw.
41750         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41751         mingw.
41752
41753 2009-01-17  Bruno Haible  <bruno@clisp.org>
41754
41755         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41756         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41757
41758 2009-01-17  Bruno Haible  <bruno@clisp.org>
41759
41760         Avoid test-fflush2.sh failure on mingw.
41761         * tests/test-fflush2.c: Include binary-io.h.
41762         (main): Put standard input into binary mode.
41763         * modules/fflush-tests (Depends-on): Add binary-io.
41764
41765 2009-01-17  Bruno Haible  <bruno@clisp.org>
41766
41767         * lib/wchar.in.h: In another particular situation, include only the
41768         system's <wchar.h> file.
41769         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41770         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41771         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41772
41773 2009-01-17  Bruno Haible  <bruno@clisp.org>
41774
41775         Support for stripping executables in --enable-relocatable.
41776         * build-aux/install-reloc: Expect one more argument, or an environment
41777         variable RELOC_STRIP_PROG. If set, strip the destination program and
41778         its wrapper.
41779         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41780         RELOC_STRIP_PROG.
41781         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41782         to set RELOCATABLE_STRIP.
41783         * NEWS: Mention the new Makefile requirement.
41784
41785 2009-01-17  Bruno Haible  <bruno@clisp.org>
41786
41787         * build-aux/install-reloc: Remove debugging information left over by
41788         C compiler on MacOS X.
41789
41790 2009-01-17  Bruno Haible  <bruno@clisp.org>
41791
41792         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41793         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41794         _NSGetExecutablePath.
41795
41796 2009-01-16  Jim Meyering  <meyering@redhat.com>
41797
41798         strerror: avoid warnings about discarding "const"
41799         * lib/strerror.c (rpl_strerror): Instead of returning a const
41800         string from each and every "case", use a variable, and add a single
41801         cast after the switch.
41802
41803 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41804
41805         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41806
41807 2009-01-16  Bruno Haible  <bruno@clisp.org>
41808
41809         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41810         array initializer syntax that also works in C++ mode.
41811         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41812
41813 2009-01-16  Jim Meyering  <meyering@redhat.com>
41814
41815         poll: suppress a warning
41816         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41817         to ignore "...unsigned expression < 0 is always false" warnings.
41818
41819 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41820
41821         poll: remove declarations of unused variables
41822         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41823         sockbuf and optlen.
41824
41825 2009-01-15  Bruno Haible  <bruno@clisp.org>
41826
41827         Make fflush-after-ungetc POSIX compliant on BSD systems.
41828         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41829         (clear_ungetc_buffer): Implement also for other systems.
41830         (rpl_fflush): On glibc systems, invoke
41831         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41832         clear_ungetc_buffer after fetching the stream's position, not before.
41833
41834 2009-01-15  Bruno Haible  <bruno@clisp.org>
41835
41836         Make fflush-after-ungetc POSIX compliant on glibc systems.
41837         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41838         after ungetc.
41839         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41840         (rpl_fflush): On glibc systems, simply call the system's fflush
41841         function after clearing the ungetc buffer.
41842         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
41843         Instead, lseek only to the end of file, then use the system's fseeko
41844         for the rest. On glibc systems, reset the EOF indicator bit.
41845
41846 2009-01-15  Jim Meyering  <meyering@redhat.com>
41847
41848         openmp.m4: revert quote-adding change, for portability to older autoconf
41849         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
41850         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
41851         Simon Josefsson noticed the problem when using autoconf-2.61.
41852
41853 2009-01-15  Bruno Haible  <bruno@clisp.org>
41854
41855         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
41856         * tests/test-fflush2.c (ASSERT): Always fail.
41857         (main): Add two tests for fflush() after ungetc(), taking into account
41858         the Austin Group's clarification.
41859         Suggested by Eric Blake.
41860
41861 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
41862
41863         mktime.m4: remove K&R-style function prototypes
41864         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
41865         for the Sun C++ compiler.
41866
41867 2009-01-14  Bruno Haible  <bruno@clisp.org>
41868
41869         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
41870         while including <wchar.h>.
41871         * lib/wchar.in.h: In two particular situations on HP-UX, include only
41872         the system's <wchar.h> file.
41873         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41874
41875 2009-01-14  Bruno Haible  <bruno@clisp.org>
41876
41877         * m4/csharp.m4: Don't mention gettext on the serial number line.
41878         * m4/csharpexec.m4: Likewise.
41879         * m4/eaccess.m4: Likewise.
41880         * m4/javaexec.m4: Likewise.
41881         * m4/sig_atomic_t.m4: Likewise.
41882         * m4/tmpdir.m4: Likewise.
41883         * m4/intldir.m4: Bump gettext version.
41884         * m4/lib-ld.m4: Likewise.
41885
41886 2009-01-14  Bruno Haible  <bruno@clisp.org>
41887
41888         * lib/progname.c (set_program_name): Add more comments.
41889         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41890
41891 2009-01-14  Simon Josefsson  <simon@josefsson.org>
41892
41893         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
41894         were sys/stat.h does not define it.
41895
41896 2009-01-14  Jim Meyering  <meyering@redhat.com>
41897
41898         many *.m4 files: improve m4 quoting
41899         99% of this change was performed by running the following commands:
41900         git ls-files | grep '\.m4$' | xargs perl -pi \
41901           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
41902           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41903           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41904           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
41905         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
41906         The remainder were to add Copyright dates, increment serial numbers,
41907         undo some changes in comments, exclude m4/intl.m4, and add quotes
41908         around the "1" in ",1" where the unusual spacing prohibited the
41909         above regexps from doing the job.  For more details, see
41910         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
41911         * m4/acl.m4: Modified.
41912         * m4/afs.m4: Likewise.
41913         * m4/alloca.m4: Likewise.
41914         * m4/argp.m4: Likewise.
41915         * m4/argz.m4: Likewise.
41916         * m4/atexit.m4: Likewise.
41917         * m4/bison-i18n.m4: Likewise.
41918         * m4/bison.m4: Likewise.
41919         * m4/byteswap.m4: Likewise.
41920         * m4/c-stack.m4: Likewise.
41921         * m4/c-strtod.m4: Likewise.
41922         * m4/calloc.m4: Likewise.
41923         * m4/canonicalize-lgpl.m4: Likewise.
41924         * m4/chown.m4: Likewise.
41925         * m4/clock_time.m4: Likewise.
41926         * m4/codeset.m4: Likewise.
41927         * m4/copy-file.m4: Likewise.
41928         * m4/csharp.m4: Likewise.
41929         * m4/csharpcomp.m4: Likewise.
41930         * m4/csharpexec.m4: Likewise.
41931         * m4/d-ino.m4: Likewise.
41932         * m4/d-type.m4: Likewise.
41933         * m4/dirfd.m4: Likewise.
41934         * m4/double-slash-root.m4: Likewise.
41935         * m4/eaccess.m4: Likewise.
41936         * m4/eealloc.m4: Likewise.
41937         * m4/environ.m4: Likewise.
41938         * m4/errno_h.m4: Likewise.
41939         * m4/euidaccess.m4: Likewise.
41940         * m4/execute.m4: Likewise.
41941         * m4/fatal-signal.m4: Likewise.
41942         * m4/fchdir.m4: Likewise.
41943         * m4/fcntl_h.m4: Likewise.
41944         * m4/fileblocks.m4: Likewise.
41945         * m4/filenamecat.m4: Likewise.
41946         * m4/findprog.m4: Likewise.
41947         * m4/flexmember.m4: Likewise.
41948         * m4/fnmatch.m4: Likewise.
41949         * m4/fopen.m4: Likewise.
41950         * m4/fpending.m4: Likewise.
41951         * m4/fprintf-posix.m4: Likewise.
41952         * m4/free.m4: Likewise.
41953         * m4/frexp.m4: Likewise.
41954         * m4/frexpl.m4: Likewise.
41955         * m4/fsusage.m4: Likewise.
41956         * m4/ftruncate.m4: Likewise.
41957         * m4/gc-camellia.m4: Likewise.
41958         * m4/gc-random.m4: Likewise.
41959         * m4/gc.m4: Likewise.
41960         * m4/getaddrinfo.m4: Likewise.
41961         * m4/getcwd-abort-bug.m4: Likewise.
41962         * m4/getcwd-path-max.m4: Likewise.
41963         * m4/getdate.m4: Likewise.
41964         * m4/getdomainname.m4: Likewise.
41965         * m4/getgroups.m4: Likewise.
41966         * m4/gethostname.m4: Likewise.
41967         * m4/gethrxtime.m4: Likewise.
41968         * m4/getline.m4: Likewise.
41969         * m4/getloadavg.m4: Likewise.
41970         * m4/getndelim2.m4: Likewise.
41971         * m4/getpass.m4: Likewise.
41972         * m4/gettext.m4: Likewise.
41973         * m4/gettime.m4: Likewise.
41974         * m4/gettimeofday.m4: Likewise.
41975         * m4/gnulib-common.m4: Likewise.
41976         * m4/group-member.m4: Likewise.
41977         * m4/host-os.m4: Likewise.
41978         * m4/iconv.m4: Likewise.
41979         * m4/iconv_open.m4: Likewise.
41980         * m4/inet_ntop.m4: Likewise.
41981         * m4/inet_pton.m4: Likewise.
41982         * m4/inline.m4: Likewise.
41983         * m4/intldir.m4: Likewise.
41984         * m4/intlmacosx.m4: Likewise.
41985         * m4/intmax.m4: Likewise.
41986         * m4/intmax_t.m4: Likewise.
41987         * m4/inttypes.m4: Likewise.
41988         * m4/inttypes_h.m4: Likewise.
41989         * m4/inttypes-pri.m4: Likewise.
41990         * m4/isapipe.m4: Likewise.
41991         * m4/isnand.m4: Likewise.
41992         * m4/isnanf.m4: Likewise.
41993         * m4/isnanl.m4: Likewise.
41994         * m4/javacomp.m4: Likewise.
41995         * m4/javaexec.m4: Likewise.
41996         * m4/jm-winsz1.m4: Likewise.
41997         * m4/jm-winsz2.m4: Likewise.
41998         * m4/lchown.m4: Likewise.
41999         * m4/lcmessage.m4: Likewise.
42000         * m4/ldexpl.m4: Likewise.
42001         * m4/lib-ld.m4: Likewise.
42002         * m4/lib-link.m4: Likewise.
42003         * m4/libsigsegv.m4: Likewise.
42004         * m4/link-follow.m4: Likewise.
42005         * m4/localcharset.m4: Likewise.
42006         * m4/locale-fr.m4: Likewise.
42007         * m4/locale-ja.m4: Likewise.
42008         * m4/locale-tr.m4: Likewise.
42009         * m4/locale-zh.m4: Likewise.
42010         * m4/lock.m4: Likewise.
42011         * m4/longlong.m4: Likewise.
42012         * m4/ls-mntd-fs.m4: Likewise.
42013         * m4/lstat.m4: Likewise.
42014         * m4/malloc.m4: Likewise.
42015         * m4/mathl.m4: Likewise.
42016         * m4/mbrtowc.m4: Likewise.
42017         * m4/mbstate_t.m4: Likewise.
42018         * m4/mbswidth.m4: Likewise.
42019         * m4/memchr.m4: Likewise.
42020         * m4/memcmp.m4: Likewise.
42021         * m4/memcpy.m4: Likewise.
42022         * m4/memmem.m4: Likewise.
42023         * m4/memmove.m4: Likewise.
42024         * m4/mempcpy.m4: Likewise.
42025         * m4/memrchr.m4: Likewise.
42026         * m4/memset.m4: Likewise.
42027         * m4/minmax.m4: Likewise.
42028         * m4/mkdir-slash.m4: Likewise.
42029         * m4/mkdtemp.m4: Likewise.
42030         * m4/mktime.m4: Likewise.
42031         * m4/mmap-anon.m4: Likewise.
42032         * m4/mountlist.m4: Likewise.
42033         * m4/nanosleep.m4: Likewise.
42034         * m4/nls.m4: Likewise.
42035         * m4/nocrash.m4: Likewise.
42036         * m4/open.m4: Likewise.
42037         * m4/openat.m4: Likewise.
42038         * m4/openmp.m4: Likewise.
42039         * m4/pathmax.m4: Likewise.
42040         * m4/perl.m4: Likewise.
42041         * m4/physmem.m4: Likewise.
42042         * m4/pipe.m4: Likewise.
42043         * m4/po.m4: Likewise.
42044         * m4/poll.m4: Likewise.
42045         * m4/posixtm.m4: Likewise.
42046         * m4/posixver.m4: Likewise.
42047         * m4/printf-frexp.m4: Likewise.
42048         * m4/printf-frexpl.m4: Likewise.
42049         * m4/printf-posix.m4: Likewise.
42050         * m4/printf-posix-rpl.m4: Likewise.
42051         * m4/printf.m4: Likewise.
42052         * m4/progtest.m4: Likewise.
42053         * m4/putenv.m4: Likewise.
42054         * m4/readline.m4: Likewise.
42055         * m4/readlink.m4: Likewise.
42056         * m4/readutmp.m4: Likewise.
42057         * m4/realloc.m4: Likewise.
42058         * m4/regex.m4: Likewise.
42059         * m4/relocatable.m4: Likewise.
42060         * m4/relocatable-lib.m4: Likewise.
42061         * m4/rename-dest-slash.m4: Likewise.
42062         * m4/rename.m4: Likewise.
42063         * m4/rmdir-errno.m4: Likewise.
42064         * m4/rmdir.m4: Likewise.
42065         * m4/roundf.m4: Likewise.
42066         * m4/roundl.m4: Likewise.
42067         * m4/rpmatch.m4: Likewise.
42068         * m4/save-cwd.m4: Likewise.
42069         * m4/selinux-selinux-h.m4: Likewise.
42070         * m4/setenv.m4: Likewise.
42071         * m4/settime.m4: Likewise.
42072         * m4/sig2str.m4: Likewise.
42073         * m4/sig_atomic_t.m4: Likewise.
42074         * m4/signalblocking.m4: Likewise.
42075         * m4/signbit.m4: Likewise.
42076         * m4/sigpipe.m4: Likewise.
42077         * m4/sockets.m4: Likewise.
42078         * m4/sockpfaf.m4: Likewise.
42079         * m4/st_dm_mode.m4: Likewise.
42080         * m4/stat-time.m4: Likewise.
42081         * m4/stdbool.m4: Likewise.
42082         * m4/stdint.m4: Likewise.
42083         * m4/stdint_h.m4: Likewise.
42084         * m4/stpcpy.m4: Likewise.
42085         * m4/stpncpy.m4: Likewise.
42086         * m4/strcase.m4: Likewise.
42087         * m4/strchrnul.m4: Likewise.
42088         * m4/strcspn.m4: Likewise.
42089         * m4/strdup.m4: Likewise.
42090         * m4/strftime.m4: Likewise.
42091         * m4/strndup.m4: Likewise.
42092         * m4/strnlen.m4: Likewise.
42093         * m4/strpbrk.m4: Likewise.
42094         * m4/strptime.m4: Likewise.
42095         * m4/strsep.m4: Likewise.
42096         * m4/strtod.m4: Likewise.
42097         * m4/strtoimax.m4: Likewise.
42098         * m4/strtok_r.m4: Likewise.
42099         * m4/strtol.m4: Likewise.
42100         * m4/strtoll.m4: Likewise.
42101         * m4/strtoul.m4: Likewise.
42102         * m4/strtoull.m4: Likewise.
42103         * m4/strtoumax.m4: Likewise.
42104         * m4/strverscmp.m4: Likewise.
42105         * m4/threadlib.m4: Likewise.
42106         * m4/timegm.m4: Likewise.
42107         * m4/tm_gmtoff.m4: Likewise.
42108         * m4/tmpdir.m4: Likewise.
42109         * m4/tmpfile.m4: Likewise.
42110         * m4/tzset.m4: Likewise.
42111         * m4/uintmax_t.m4: Likewise.
42112         * m4/unlinkdir.m4: Likewise.
42113         * m4/unlocked-io.m4: Likewise.
42114         * m4/uptime.m4: Likewise.
42115         * m4/userspec.m4: Likewise.
42116         * m4/utimbuf.m4: Likewise.
42117         * m4/utime.m4: Likewise.
42118         * m4/utimes-null.m4: Likewise.
42119         * m4/utimes.m4: Likewise.
42120         * m4/vararrays.m4: Likewise.
42121         * m4/vasnprintf.m4: Likewise.
42122         * m4/vfprintf-posix.m4: Likewise.
42123         * m4/vprintf-posix.m4: Likewise.
42124         * m4/wait-process.m4: Likewise.
42125         * m4/wchar_t.m4: Likewise.
42126         * m4/wint_t.m4: Likewise.
42127         * m4/write-any-file.m4: Likewise.
42128         * m4/yield.m4: Likewise.
42129
42130 2009-01-13  Bruno Haible  <bruno@clisp.org>
42131
42132         Avoid test-copy-file.sh failures when ACL support insufficient.
42133         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
42134         TESTS_ENVIRONMENT.
42135         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
42136         Reported by Jim Meyering.
42137
42138 2009-01-13  Bruno Haible  <bruno@clisp.org>
42139
42140         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
42141         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
42142         * modules/unistdio/u8-printf-parse (Files): Likewise.
42143         * modules/unistdio/u32-printf-parse (Files): Likewise.
42144         * modules/unistdio/ulc-printf-parse (Files): Likewise.
42145
42146 2009-01-13  Simon Josefsson  <simon@josefsson.org>
42147
42148         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
42149         and m4/inttypes_h.m4 too.
42150
42151 2009-01-12  Eric Blake  <ebb9@byu.net>
42152
42153         tests: IRIX 6.2 cc can't compile -0.0 into .data
42154         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
42155         rather than at compile-time.
42156         * tests/test-floorl.c (minus_zero): Likewise.
42157         * tests/test-frexpl.c (minus_zero): Likewise.
42158         * tests/test-isnan.c (minus_zerol): Likewise.
42159         * tests/test-isnanl.h (minus_zero): Likewise.
42160         * tests/test-ldexpl.c (minus_zero): Likewise.
42161         * tests/test-roundl.c (minus_zero): Likewise.
42162         * tests/test-signbit.c (minus_zerol): Likewise.
42163         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42164         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42165         * tests/test-truncl.c (minus_zero): Likewise.
42166         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42167         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42168         Reported by Tom G. Christensen and Nelson H. F. Beebe.
42169
42170 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42171
42172         regex: fix glibc bug 9697
42173         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
42174         handling.
42175
42176 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42177
42178         regex: fix glibc bug 697
42179         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
42180         being NULL also if there are no backreferences.
42181
42182 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42183
42184         regex: merge glibc changes
42185         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
42186         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
42187         re_string_skip_chars, re_string_reconstruct): Likewise.
42188         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
42189
42190 2009-01-07  Jim Meyering  <meyering@redhat.com>
42191
42192         poll: filter through cppi
42193         * lib/poll.c: Indent cpp directives to reflect nesting.
42194
42195 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
42196
42197         poll: don't return uninitialized
42198         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
42199
42200 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
42201
42202         avoid compile failure on AIX 6.1
42203         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
42204         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
42205
42206 2009-01-04  Jim Meyering  <meyering@redhat.com>
42207
42208         remove duplicate inclusion of <stdio.h>
42209         * tests/test-fprintf-posix.c: Likewise.
42210         * tests/test-printf-posix.c: Likewise.
42211         * tests/test-snprintf-posix.c: Likewise.
42212         * tests/test-sprintf-posix.c: Likewise.
42213         * tests/test-vasprintf-posix.c: Likewise.
42214         * tests/test-vfprintf-posix.c: Likewise.
42215         * tests/test-vprintf-posix.c: Likewise.
42216         * tests/test-vsnprintf-posix.c: Likewise.
42217         * tests/test-vsprintf-posix.c: Likewise.
42218
42219 2009-01-03  Jim Meyering  <meyering@redhat.com>
42220
42221         gnulib-tool: fix sed-based filtering
42222         * gnulib-tool (func_filter_filelist): Remove extra backslash
42223         in sed_fff_filter definition.
42224
42225 2009-01-02  Jim Meyering  <meyering@redhat.com>
42226
42227         strftime: avoid compilation failure on Solaris 2.6
42228         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
42229         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
42230         Don't #define mbrlen or mbsinit, since now they're guaranteed to
42231         be available.  Reported by Tom G. Christensen.  Details in
42232         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
42233
42234 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42235             Bruno Haible  <bruno@clisp.org>
42236
42237         Speed up gnulib-tool by doing more string processing through shell
42238         built-ins.
42239         * gnulib-tool (fast_func_append): New variable.
42240         (func_remove_prefix, func_remove_suffix): New functions.
42241         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
42242         (func_filter_filelist): New function.
42243         (func_get_dependencies): Use func_remove_suffix instead of sed.
42244         (func_get_automake_snippet): Use func_filter_filelist instead of a
42245         subshell and sed invocation.
42246
42247 2009-01-01  Bruno Haible  <bruno@clisp.org>
42248
42249         Fix a security bug.
42250         * gnulib-tool (func_import, import, update): Don't allow the characters
42251         '"', '$', '`', '\' in macro arguments that become part of commands that
42252         are evaluated.
42253
42254 2009-01-01  Bruno Haible  <bruno@clisp.org>
42255
42256         * gnulib-tool (func_reset_sigpipe): Add more comments.
42257
42258 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42259
42260         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
42261         func_emit_tests_Makefile_am, func_import): Abort loops early if we
42262         already know the answer.
42263
42264 2009-01-01  Jim Meyering  <meyering@redhat.com>
42265
42266         * lib/version-etc.c (version_etc_va): Update copyright year.
42267
42268 2008-12-30  Bruno Haible  <bruno@clisp.org>
42269
42270         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
42271         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
42272         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
42273
42274 2008-12-29  Eric Blake  <ebb9@byu.net>
42275
42276         multiarch: avoid autoconf AC_REQUIRE bug
42277         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
42278         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
42279         2.63 and older.
42280         Reported by Bruno Haible, and analyzed in
42281         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
42282
42283 2008-12-29  Bruno Haible  <bruno@clisp.org>
42284
42285         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
42286         files in subdirectories correctly.
42287         Reported by Ralf Wildenhues.
42288
42289 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42290
42291         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
42292         rather than 'join FILE -', for Solaris join.
42293
42294 2008-12-29  Bruno Haible  <bruno@clisp.org>
42295
42296         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
42297         quoting.
42298         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
42299         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
42300         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
42301         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
42302         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
42303         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
42304         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
42305         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
42306         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42307         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
42308         * m4/nls.m4 (AM_NLS): Likewise.
42309         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
42310         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
42311         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
42312         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
42313         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
42314         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
42315         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
42316         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
42317         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
42318         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
42319         * m4/xsize.m4 (gl_XSIZE): Likewise.
42320         Suggested by Jim Meyering.
42321
42322 2008-11-17  Bruce Korb  <bkorb@gnu.org>
42323
42324         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
42325         * lib/parse-duration.c: use a switch instead of cascading if's.
42326
42327 2008-12-29  Eric Blake  <ebb9@byu.net>
42328
42329         wchar.h: supply WEOF on Irix 5.3
42330         * lib/wchar.in.h (wint_t): Also supply WEOF.
42331         * lib/wctype.in.h (wint_t): Likewise.
42332         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
42333         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
42334         Reported by Tom G. Christensen.
42335
42336 2008-12-26  Bruno Haible  <bruno@clisp.org>
42337
42338         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
42339         i486, i586, i686.
42340
42341 2008-12-26  Bruno Haible  <bruno@clisp.org>
42342
42343         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
42344
42345 2008-12-26  Bruno Haible  <bruno@clisp.org>
42346
42347         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
42348         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
42349         not __STDC_CONSTANT_MACROS.
42350         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42351
42352 2008-12-25  Bruno Haible  <bruno@clisp.org>
42353
42354         Add support for universal builds to vasnprintf.
42355         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
42356         universal builds, guess no.
42357         * modules/vasnprintf-posix (Depends-on): Add multiarch.
42358         * modules/vasprintf-posix (Depends-on): Likewise.
42359         * modules/fprintf-posix (Depends-on): Likewise.
42360         * modules/vfprintf-posix (Depends-on): Likewise.
42361         * modules/snprintf-posix (Depends-on): Likewise.
42362         * modules/vsnprintf-posix (Depends-on): Likewise.
42363         * modules/sprintf-posix (Depends-on): Likewise.
42364         * modules/vsprintf-posix (Depends-on): Likewise.
42365         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42366         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42367         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42368         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42369         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42370         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42371         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42372
42373         Add support for universal builds to <inttypes.h>.
42374         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
42375         _SCNu64_PREFIX): In Apple
42376         universal builds, define directly, using _LP64.
42377         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
42378         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
42379         * modules/inttypes (Depends-on): Add multiarch.
42380         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42381
42382         Add support for universal builds to <stdint.h>.
42383         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
42384         universal builds, define directly, using _LP64.
42385         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
42386         Apple universal builds, don't test for the size and suffix of ptrdiff_t
42387         and size_t.
42388         * modules/stdint (Depends-on): Add multiarch.
42389         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42390
42391         New module 'multiarch'.
42392         * modules/multiarch: New file.
42393         * m4/multiarch.m4: New file.
42394
42395 2008-12-25  Bruno Haible  <bruno@clisp.org>
42396
42397         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
42398
42399 2008-12-25  Bruno Haible  <bruno@clisp.org>
42400
42401         * modules/btowc (License): Relicense under LGPLv2+.
42402         * modules/mbsinit (License): Likewise.
42403         * modules/mbrtowc (License): Likewise.
42404         * modules/wcrtomb (License): Likewise.
42405         * modules/streq (License): Likewise.
42406         Reported by David Lutterkort <lutter@redhat.com>.
42407
42408 2008-12-23  Bruno Haible  <bruno@clisp.org>
42409
42410         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
42411
42412 2008-12-23  Bruno Haible  <bruno@clisp.org>
42413
42414         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
42415         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
42416         GETADDRINFO_LIB, not in LIBS.
42417         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
42418         * modules/canon-host (Link): Likewise.
42419         * NEWS: Mention the change.
42420         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
42421         GETADDRINFO_LIB.
42422
42423 2008-12-22  Bruno Haible  <bruno@clisp.org>
42424
42425         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
42426         * doc/posix-functions/iswalpha_l.texi: Likewise.
42427         * doc/posix-functions/iswblank_l.texi: Likewise.
42428         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42429         * doc/posix-functions/iswctype_l.texi: Likewise.
42430         * doc/posix-functions/iswdigit_l.texi: Likewise.
42431         * doc/posix-functions/iswgraph_l.texi: Likewise.
42432         * doc/posix-functions/iswlower_l.texi: Likewise.
42433         * doc/posix-functions/iswprint_l.texi: Likewise.
42434         * doc/posix-functions/iswpunct_l.texi: Likewise.
42435         * doc/posix-functions/iswspace_l.texi: Likewise.
42436         * doc/posix-functions/iswupper_l.texi: Likewise.
42437         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42438         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42439         * doc/posix-functions/open_wmemstream.texi: Likewise.
42440         * doc/posix-functions/swscanf.texi: Likewise.
42441         * doc/posix-functions/towctrans_l.texi: Likewise.
42442         * doc/posix-functions/towlower.texi: Likewise.
42443         * doc/posix-functions/towlower_l.texi: Likewise.
42444         * doc/posix-functions/towupper.texi: Likewise.
42445         * doc/posix-functions/towupper_l.texi: Likewise.
42446         * doc/posix-functions/vfwprintf.texi: Likewise.
42447         * doc/posix-functions/vfwscanf.texi: Likewise.
42448         * doc/posix-functions/vswscanf.texi: Likewise.
42449         * doc/posix-functions/vwprintf.texi: Likewise.
42450         * doc/posix-functions/vwscanf.texi: Likewise.
42451         * doc/posix-functions/wcpcpy.texi: Likewise.
42452         * doc/posix-functions/wcpncpy.texi: Likewise.
42453         * doc/posix-functions/wcscasecmp.texi: Likewise.
42454         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42455         * doc/posix-functions/wcscoll_l.texi: Likewise.
42456         * doc/posix-functions/wcsdup.texi: Likewise.
42457         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42458         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42459         * doc/posix-functions/wcsnlen.texi: Likewise.
42460         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42461         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42462         * doc/posix-functions/wctrans_l.texi: Likewise.
42463         * doc/posix-functions/wctype_l.texi: Likewise.
42464         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42465         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42466         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42467         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42468         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42469         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42470         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42471         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42472         * doc/glibc-functions/wcschrnul.texi: Likewise.
42473         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42474         * doc/glibc-functions/wcstod_l.texi: Likewise.
42475         * doc/glibc-functions/wcstof_l.texi: Likewise.
42476         * doc/glibc-functions/wcstol_l.texi: Likewise.
42477         * doc/glibc-functions/wcstold_l.texi: Likewise.
42478         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42479         * doc/glibc-functions/wcstoq.texi: Likewise.
42480         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42481         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42482         * doc/glibc-functions/wcstouq.texi: Likewise.
42483         * doc/glibc-functions/wmempcpy.texi: Likewise.
42484
42485 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42486             Eric Blake  <ebb9@byu.net>
42487             Paolo Bonzini  <bonzini@gnu.org>
42488             Bruno Haible  <bruno@clisp.org>
42489
42490         Make c-stack work on Haiku.
42491         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42492         (c_stack_action): Use SA_ONSTACK flag.
42493
42494 2008-12-22  Bruno Haible  <bruno@clisp.org>
42495
42496         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42497
42498 2008-12-22  Bruno Haible  <bruno@clisp.org>
42499
42500         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42501         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42502         being overridden.
42503         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42504         New macros.
42505         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42506         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42507         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42508         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42509
42510 2008-12-22  Bruno Haible  <bruno@clisp.org>
42511
42512         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42513         from test code.
42514
42515 2008-12-22  Eric Blake  <ebb9@byu.net>
42516
42517         Avoid gcc warnings on cygwin.
42518         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42519         Avoid unused variable.
42520         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42521         Likewise.
42522
42523 2008-12-22  Bruno Haible  <bruno@clisp.org>
42524
42525         Remove HAVE_MBRTOWC conditionals.
42526         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42527         (mbscasecmp): Assume mbrtowc function.
42528         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42529         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42530         * lib/mbschr.c: Include mbuiter.h unconditionally.
42531         (mbschr): Assume mbrtowc function.
42532         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42533         (mbscspn): Assume mbrtowc function.
42534         * lib/mbslen.c: Include mbuiter.h unconditionally.
42535         (mbslen): Assume mbrtowc function.
42536         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42537         (mbsncasecmp): Assume mbrtowc function.
42538         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42539         (mbsnlen): Assume mbrtowc function.
42540         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42541         (mbspbrk): Assume mbrtowc function.
42542         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42543         (mbspcasecmp): Assume mbrtowc function.
42544         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42545         (mbsrchr): Assume mbrtowc function.
42546         * lib/mbssep.c: Include mbuiter.h unconditionally.
42547         (mbssep): Assume mbrtowc function.
42548         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42549         (mbsspn): Assume mbrtowc function.
42550         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42551         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42552         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42553         (mbstok_r): Assume mbrtowc function.
42554         * lib/propername.c: Include mbuiter.h unconditionally.
42555         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42556         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42557         (trim2): Assume mbrtowc function.
42558         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42559         (mbsnwidth): Assume mbrtowc function.
42560         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42561         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42562         fallback definitions.
42563         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42564
42565 2008-12-22  Bruno Haible  <bruno@clisp.org>
42566
42567         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42568
42569 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42570
42571         * modules/regex: Request emulations for the mb*/wc* functions we need.
42572         * m4/regex.m4: Don't look for those functions here.
42573         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42574
42575 2008-12-22  Bruno Haible  <bruno@clisp.org>
42576
42577         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42578
42579 2008-12-21  Bruno Haible  <bruno@clisp.org>
42580
42581         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42582         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42583         (Include): Remove conditionalization.
42584         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42585         (Include): Remove conditionalization.
42586         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42587         (Include): Remove conditionalization.
42588         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42589         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42590         * NEWS: Mention the change.
42591         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42592         via Sergey Poznyakoff <gray@gnu.org.ua>.
42593
42594 2008-12-21  Bruno Haible  <bruno@clisp.org>
42595
42596         * MODULES.html.sh (Extended multibyte and wide character utilities
42597         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42598         wcrtomb, wcsrtombs.
42599         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42600         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42601         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42602         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42603
42604 2008-12-21  Bruno Haible  <bruno@clisp.org>
42605
42606         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42607
42608 2008-12-21  Bruno Haible  <bruno@clisp.org>
42609
42610         * modules/wcsnrtombs-tests: New file.
42611         * tests/test-wcsnrtombs1.sh: New file.
42612         * tests/test-wcsnrtombs2.sh: New file.
42613         * tests/test-wcsnrtombs3.sh: New file.
42614         * tests/test-wcsnrtombs4.sh: New file.
42615         * tests/test-wcsnrtombs.c: New file.
42616
42617         New module 'wcsnrtombs'.
42618         * lib/wchar.in.h (wcsnrtombs): New declaration.
42619         * lib/wcsnrtombs.c: New file.
42620         * lib/wcsrtombs-state.c: New file.
42621         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42622         (internal_state): Remove variable.
42623         * m4/wcsnrtombs.m4: New file.
42624         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42625         compilation units.
42626         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42627         HAVE_WCSNRTOMBS.
42628         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42629         HAVE_WCSNRTOMBS.
42630         * modules/wcsnrtombs: New file.
42631         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42632         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42633
42634 2008-12-21  Bruno Haible  <bruno@clisp.org>
42635
42636         * modules/wcsrtombs-tests: New file.
42637         * tests/test-wcsrtombs1.sh: New file.
42638         * tests/test-wcsrtombs2.sh: New file.
42639         * tests/test-wcsrtombs3.sh: New file.
42640         * tests/test-wcsrtombs4.sh: New file.
42641         * tests/test-wcsrtombs.c: New file.
42642
42643         New module 'wcsrtombs'.
42644         * lib/wchar.in.h (wcsrtombs): New declaration.
42645         * lib/wcsrtombs.c: New file.
42646         * m4/wcsrtombs.m4: New file.
42647         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42648         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42649         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42650         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42651         * modules/wcsrtombs: New file.
42652         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42653         bugs.
42654
42655 2008-12-21  Bruno Haible  <bruno@clisp.org>
42656
42657         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42658         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42659         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42660         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42661         if not correct.
42662         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42663         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42664         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42665         m4/locale-zh.m4, m4/codeset.m4.
42666         * doc/posix-functions/wcrtomb.texi: Document the bug.
42667
42668 2008-12-21  Bruno Haible  <bruno@clisp.org>
42669
42670         Work around a btowc() bug on IRIX 6.5.
42671         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42672         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42673         REPLACE_WTOBC if not.
42674         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42675         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42676         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42677
42678 2008-12-21  Bruno Haible  <bruno@clisp.org>
42679
42680         * modules/wcrtomb-tests: New file.
42681         * tests/test-wcrtomb.sh: New file.
42682         * tests/test-wcrtomb.c: New file.
42683
42684         New module 'wcrtomb'.
42685         * lib/wchar.in.h (wcrtomb): New declaration.
42686         * lib/wcrtomb.c: New file.
42687         * m4/wcrtomb.m4: New file.
42688         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42689         HAVE_WCRTOMB.
42690         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42691         HAVE_WCRTOMB.
42692         * modules/wcrtomb: New file.
42693         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42694
42695 2008-12-21  Bruno Haible  <bruno@clisp.org>
42696
42697         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42698         * modules/mbsrtowcs (Files): Likewise.
42699         * modules/wctob (Files): Likewise.
42700         * modules/c-strcase-tests (Files): Likewise.
42701         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42702         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42703         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42704         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42705         * modules/vasnprintf-posix-tests (Files): Likewise.
42706
42707 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42708
42709         gitlog-to-changelog: pass all command-line arguments to git-log
42710         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42711         it is sometimes convenient to filter the commits in various ways.
42712         gitlog-to-changelog only allows --since to specify a start date,
42713         but git-log itself supports many other filtering mechanisms.
42714         At the moment, I want to filter by branch name.  Rather than
42715         adding a --branch option to gitlog-to-changelog, it seems more
42716         flexible to simply pass all options directly to git-log and let
42717         git do the work.  Notice that this effectively makes --since a
42718         redundant option for gitlog-to-changelog, but removing it would
42719         require current usage to change since calls would then require
42720         an additional '--'.
42721
42722 2008-12-21  Bruno Haible  <bruno@clisp.org>
42723
42724         * modules/mbsnrtowcs-tests: New file.
42725         * tests/test-mbsnrtowcs1.sh: New file.
42726         * tests/test-mbsnrtowcs2.sh: New file.
42727         * tests/test-mbsnrtowcs3.sh: New file.
42728         * tests/test-mbsnrtowcs4.sh: New file.
42729         * tests/test-mbsnrtowcs.c: New file.
42730
42731         New module 'mbsnrtowcs'.
42732         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42733         * lib/mbsnrtowcs.c: New file.
42734         * lib/mbsrtowcs-state.c: New file.
42735         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42736         (internal_state): Remove variable.
42737         * m4/mbsnrtowcs.m4: New file.
42738         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42739         compilation units.
42740         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42741         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42742         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42743         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42744         * modules/mbsnrtowcs: New file.
42745         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42746         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42747         portability problem.
42748
42749 2008-12-21  Bruno Haible  <bruno@clisp.org>
42750
42751         Work around mbsrtowcs bug.
42752         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42753         (gl_FUNC_MBSRTOWCS): Invoke it.
42754         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42755         m4/locale-zh.m4.
42756         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42757
42758 2008-12-21  Bruno Haible  <bruno@clisp.org>
42759
42760         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42761
42762 2008-12-21  Bruno Haible  <bruno@clisp.org>
42763
42764         Update doc for AIX.
42765         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42766         16-bit wchar_t type.
42767         * doc/posix-functions/btowc.texi: Likewise.
42768         * doc/posix-functions/fgetwc.texi: Likewise.
42769         * doc/posix-functions/fgetws.texi: Likewise.
42770         * doc/posix-functions/fputwc.texi: Likewise.
42771         * doc/posix-functions/fputws.texi: Likewise.
42772         * doc/posix-functions/fwide.texi: Likewise.
42773         * doc/posix-functions/fwprintf.texi: Likewise.
42774         * doc/posix-functions/fwscanf.texi: Likewise.
42775         * doc/posix-functions/getwchar.texi: Likewise.
42776         * doc/posix-functions/getwc.texi: Likewise.
42777         * doc/posix-functions/iswalnum.texi: Likewise.
42778         * doc/posix-functions/iswalpha.texi: Likewise.
42779         * doc/posix-functions/iswblank.texi: Likewise.
42780         * doc/posix-functions/iswcntrl.texi: Likewise.
42781         * doc/posix-functions/iswctype.texi: Likewise.
42782         * doc/posix-functions/iswdigit.texi: Likewise.
42783         * doc/posix-functions/iswgraph.texi: Likewise.
42784         * doc/posix-functions/iswlower.texi: Likewise.
42785         * doc/posix-functions/iswprint.texi: Likewise.
42786         * doc/posix-functions/iswpunct.texi: Likewise.
42787         * doc/posix-functions/iswspace.texi: Likewise.
42788         * doc/posix-functions/iswupper.texi: Likewise.
42789         * doc/posix-functions/iswxdigit.texi: Likewise.
42790         * doc/posix-functions/mbrtowc.texi: Likewise.
42791         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42792         * doc/posix-functions/mbstowcs.texi: Likewise.
42793         * doc/posix-functions/mbtowc.texi: Likewise.
42794         * doc/posix-functions/putwchar.texi: Likewise.
42795         * doc/posix-functions/putwc.texi: Likewise.
42796         * doc/posix-functions/swprintf.texi: Likewise.
42797         * doc/posix-functions/tolower.texi: Likewise.
42798         * doc/posix-functions/toupper.texi: Likewise.
42799         * doc/posix-functions/towctrans.texi: Likewise.
42800         * doc/posix-functions/ungetwc.texi: Likewise.
42801         * doc/posix-functions/vswprintf.texi: Likewise.
42802         * doc/posix-functions/wcrtomb.texi: Likewise.
42803         * doc/posix-functions/wcscat.texi: Likewise.
42804         * doc/posix-functions/wcschr.texi: Likewise.
42805         * doc/posix-functions/wcscmp.texi: Likewise.
42806         * doc/posix-functions/wcscoll.texi: Likewise.
42807         * doc/posix-functions/wcscpy.texi: Likewise.
42808         * doc/posix-functions/wcscspn.texi: Likewise.
42809         * doc/posix-functions/wcsftime.texi: Likewise.
42810         * doc/posix-functions/wcslen.texi: Likewise.
42811         * doc/posix-functions/wcsncat.texi: Likewise.
42812         * doc/posix-functions/wcsncmp.texi: Likewise.
42813         * doc/posix-functions/wcsncpy.texi: Likewise.
42814         * doc/posix-functions/wcspbrk.texi: Likewise.
42815         * doc/posix-functions/wcsrchr.texi: Likewise.
42816         * doc/posix-functions/wcsrtombs.texi: Likewise.
42817         * doc/posix-functions/wcsspn.texi: Likewise.
42818         * doc/posix-functions/wcsstr.texi: Likewise.
42819         * doc/posix-functions/wcstod.texi: Likewise.
42820         * doc/posix-functions/wcstof.texi: Likewise.
42821         * doc/posix-functions/wcstoimax.texi: Likewise.
42822         * doc/posix-functions/wcstok.texi: Likewise.
42823         * doc/posix-functions/wcstold.texi: Likewise.
42824         * doc/posix-functions/wcstoll.texi: Likewise.
42825         * doc/posix-functions/wcstol.texi: Likewise.
42826         * doc/posix-functions/wcstombs.texi: Likewise.
42827         * doc/posix-functions/wcstoull.texi: Likewise.
42828         * doc/posix-functions/wcstoul.texi: Likewise.
42829         * doc/posix-functions/wcstoumax.texi: Likewise.
42830         * doc/posix-functions/wcswidth.texi: Likewise.
42831         * doc/posix-functions/wcsxfrm.texi: Likewise.
42832         * doc/posix-functions/wctob.texi: Likewise.
42833         * doc/posix-functions/wctomb.texi: Likewise.
42834         * doc/posix-functions/wctrans.texi: Likewise.
42835         * doc/posix-functions/wctype.texi: Likewise.
42836         * doc/posix-functions/wcwidth.texi: Likewise.
42837         * doc/posix-functions/wmemchr.texi: Likewise.
42838         * doc/posix-functions/wmemcmp.texi: Likewise.
42839         * doc/posix-functions/wmemcpy.texi: Likewise.
42840         * doc/posix-functions/wmemmove.texi: Likewise.
42841         * doc/posix-functions/wmemset.texi: Likewise.
42842         * doc/posix-functions/wprintf.texi: Likewise.
42843         * doc/posix-functions/wscanf.texi: Likewise.
42844
42845 2008-12-21  Bruno Haible  <bruno@clisp.org>
42846
42847         Update doc for HP-UX 11.11.
42848         * doc/posix-functions/btowc.texi: Clarify that the function is missing
42849         in HP-UX version 11.00, not in all versions of HP-UX 11.
42850         * doc/posix-functions/fwide.texi: Likewise.
42851         * doc/posix-functions/fwprintf.texi: Likewise.
42852         * doc/posix-functions/fwscanf.texi: Likewise.
42853         * doc/posix-functions/inet_ntop.texi: Likewise.
42854         * doc/posix-functions/inet_pton.texi: Likewise.
42855         * doc/posix-functions/mbrlen.texi: Likewise.
42856         * doc/posix-functions/mbrtowc.texi: Likewise.
42857         * doc/posix-functions/mbsinit.texi: Likewise.
42858         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42859         * doc/posix-functions/swprintf.texi: Likewise.
42860         * doc/posix-functions/swscanf.texi: Likewise.
42861         * doc/posix-functions/towctrans.texi: Likewise.
42862         * doc/posix-functions/vfwprintf.texi: Likewise.
42863         * doc/posix-functions/vswprintf.texi: Likewise.
42864         * doc/posix-functions/vwprintf.texi: Likewise.
42865         * doc/posix-functions/wcrtomb.texi: Likewise.
42866         * doc/posix-functions/wcsrtombs.texi: Likewise.
42867         * doc/posix-functions/wcsstr.texi: Likewise.
42868         * doc/posix-functions/wctob.texi: Likewise.
42869         * doc/posix-functions/wctrans.texi: Likewise.
42870         * doc/posix-functions/wmemchr.texi: Likewise.
42871         * doc/posix-functions/wmemcmp.texi: Likewise.
42872         * doc/posix-functions/wmemcpy.texi: Likewise.
42873         * doc/posix-functions/wmemmove.texi: Likewise.
42874         * doc/posix-functions/wmemset.texi: Likewise.
42875         * doc/posix-functions/wprintf.texi: Likewise.
42876         * doc/posix-functions/wscanf.texi: Likewise.
42877
42878 2008-12-21  Bruno Haible  <bruno@clisp.org>
42879
42880         Work around a portability problem.
42881         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
42882         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
42883
42884 2008-12-20  Bruno Haible  <bruno@clisp.org>
42885
42886         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
42887         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
42888         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
42889         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
42890         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
42891
42892         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
42893         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
42894         set.
42895         (GNULIB_defined_mbstate_t): New macro.
42896         (mbsinit): Redefine if REPLACE_MBSINIT is set.
42897         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
42898         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
42899         reuses the system's mbrtowc function but works around the bugs.
42900         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
42901         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
42902         macros.
42903         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
42904         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
42905         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
42906         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
42907         REPLACE_MBSINIT if mbsinit needs to be overridden.
42908         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
42909         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42910         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
42911         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42912         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42913         m4/locale-zh.m4.
42914         (Depends): Add mbsinit.
42915         * modules/mbsinit (Depends): Add mbrtowc.
42916         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
42917
42918 2008-12-20  Bruno Haible  <bruno@clisp.org>
42919
42920         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
42921         so that there are no conversion errors on AIX.
42922         * tests/test-mbsrtowcs.c (main): LIkewise.
42923
42924 2008-12-20  Bruno Haible  <bruno@clisp.org>
42925
42926         Work around wctob bug on Solaris <= 9.
42927         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
42928         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
42929         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
42930         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
42931         * modules/wctob (Files): Add m4/locale-fr.m4.
42932         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
42933
42934 2008-12-20  Bruno Haible  <bruno@clisp.org>
42935
42936         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
42937         /dev/null.
42938         * tests/test-select-in.sh: Likewise.
42939         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42940
42941 2008-12-20  Bruno Haible  <bruno@clisp.org>
42942
42943         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
42944         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
42945         Cygwin 1.5.x.
42946
42947 2008-12-20  Bruno Haible  <bruno@clisp.org>
42948
42949         Ensure mbstate_t is defined on HP-UX 11.11.
42950         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
42951         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
42952         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
42953         AC_USE_SYSTEM_EXTENSIONS.
42954         * modules/fnmatch (Depends-on): Add extensions.
42955         * modules/mbrlen (Depends-on): Likewise.
42956         * modules/mbrtowc (Depends-on): Likewise.
42957         * modules/mbsinit (Depends-on): Likewise.
42958         * modules/mbsrtowcs (Depends-on): Likewise.
42959         * modules/mbswidth (Depends-on): Likewise.
42960         * modules/quotearg (Depends-on): Likewise.
42961         * modules/strftime (Depends-on): Likewise.
42962
42963 2008-12-20  Bruno Haible  <bruno@clisp.org>
42964
42965         Ensure wctob is declared on IRIX 6.5.
42966         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
42967         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
42968         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
42969         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
42970         of HAVE_WCTOB.
42971         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
42972         HAVE_WCTOB.
42973         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
42974
42975 2008-12-19  Bruno Haible  <bruno@clisp.org>
42976
42977         * modules/mbsrtowcs-tests: New file.
42978         * tests/test-mbsrtowcs1.sh: New file.
42979         * tests/test-mbsrtowcs2.sh: New file.
42980         * tests/test-mbsrtowcs3.sh: New file.
42981         * tests/test-mbsrtowcs4.sh: New file.
42982         * tests/test-mbsrtowcs.c: New file.
42983
42984         New module 'mbsrtowcs'.
42985         * lib/wchar.in.h (mbsrtowcs): New declaration.
42986         * lib/mbsrtowcs.c: New file.
42987         * m4/mbsrtowcs.m4: New file.
42988         * modules/mbsrtowcs: New file.
42989         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
42990         HAVE_MBSRTOWCS.
42991         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
42992         HAVE_MBSRTOWCS.
42993         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
42994
42995 2008-12-19  Bruno Haible  <bruno@clisp.org>
42996
42997         New module 'mbrlen'.
42998         * lib/wchar.in.h (mbrlen): New declaration.
42999         * lib/mbrlen.c: New file.
43000         * m4/mbrlen.m4: New file.
43001         * modules/mbrlen: New file.
43002         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
43003         HAVE_MBRLEN.
43004         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
43005         HAVE_MBRLEN.
43006         * doc/posix-functions/mbrlen.texi: Document the new module.
43007
43008 2008-12-19  Bruno Haible  <bruno@clisp.org>
43009
43010         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
43011         * modules/mbrtowc (Depends-on): Add verify.
43012         Suggested by Paul Eggert.
43013
43014 2008-12-18  Bruno Haible  <bruno@clisp.org>
43015
43016         * modules/mbsinit-tests: New file.
43017         * tests/test-mbsinit.sh: New file.
43018         * tests/test-mbsinit.c: New file.
43019
43020 2008-12-18  Bruno Haible  <bruno@clisp.org>
43021
43022         * modules/mbrtowc-tests: New file.
43023         * tests/test-mbrtowc1.sh: New file.
43024         * tests/test-mbrtowc2.sh: New file.
43025         * tests/test-mbrtowc3.sh: New file.
43026         * tests/test-mbrtowc4.sh: New file.
43027         * tests/test-mbrtowc.c: New file.
43028
43029         New module 'mbrtowc'.
43030         * lib/wchar.in.h (mbstate_t): Override when the system does not have
43031         mbsinit and mbrtowc.
43032         (mbrtowc): New declaration.
43033         * lib/mbrtowc.c: New file.
43034         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
43035         * modules/mbrtowc: New file.
43036         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
43037         HAVE_MBRTOWC.
43038         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
43039         HAVE_MBRTOWC.
43040         * doc/posix-functions/mbrtowc.texi: Document the new module.
43041
43042 2008-12-18  Bruno Haible  <bruno@clisp.org>
43043
43044         New module 'wctob'.
43045         * lib/wchar.in.h (wctob): New declaration.
43046         * lib/wctob.c: New file.
43047         * m4/wctob.m4: New file.
43048         * modules/wctob: New file.
43049         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
43050         HAVE_WCTOB.
43051         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
43052         * doc/posix-functions/wctob.texi: Document the new module.
43053
43054 2008-12-18  Bruno Haible  <bruno@clisp.org>
43055
43056         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
43057         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
43058
43059 2008-12-18  Simon Josefsson  <simon@josefsson.org>
43060
43061         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
43062         G. Christensen" <tgc@jupiterrise.com>.
43063
43064         * lib/flock.c: Need to include errno.h.  Reported by "Tom
43065         G. Christensen" <tgc@jupiterrise.com>.
43066
43067         * lib/flock.c: Need to include string.h.  Reported by "Tom
43068         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
43069         <ebb9@byu.net>.
43070
43071 2008-12-18  Bruno Haible  <bruno@clisp.org>
43072
43073         * m4/locale-ja.m4: New file, from GNU gettext.
43074
43075 2008-12-17  Bruno Haible  <bruno@clisp.org>
43076
43077         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
43078         Suggested by Eric Blake.
43079
43080 2008-12-17  Bruno Haible  <bruno@clisp.org>
43081
43082         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
43083
43084 2008-12-17  Bruno Haible  <bruno@clisp.org>
43085
43086         * lib/mbsinit.c: Include verify.h. Verify an assumption.
43087         * modules/mbsinit (Depends-on): Add verify.
43088         Suggested by Paul Eggert.
43089
43090 2008-12-17  Bruno Haible  <bruno@clisp.org>
43091
43092         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
43093         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
43094         gl_FUNC_MBRTOWC.
43095         * m4/mbiter.m4 (gl_MBITER): LIkewise.
43096         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
43097         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
43098         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
43099         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
43100         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
43101         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
43102         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
43103         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
43104         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
43105         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
43106         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
43107         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
43108         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
43109         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
43110         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43111         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
43112         * modules/trim (configure.ac): Likewise.
43113
43114 2008-12-17  Bruno Haible  <bruno@clisp.org>
43115
43116         * modules/btowc-tests: New file.
43117         * tests/test-btowc1.sh: New file.
43118         * tests/test-btowc2.sh: New file.
43119         * tests/test-btowc.c: New file.
43120
43121         New module 'btowc'.
43122         * lib/wchar.in.h (btowc): New declaration.
43123         * lib/btowc.c: New file.
43124         * m4/btowc.m4: New file.
43125         * modules/btowc: New file.
43126         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
43127         HAVE_BTOWC.
43128         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
43129         * doc/posix-functions/btowc.texi: Document the new module.
43130
43131 2008-12-17  Bruno Haible  <bruno@clisp.org>
43132
43133         New module 'mbsinit'.
43134         * lib/wchar.in.h (mbsinit): New declaration.
43135         * lib/mbsinit.c: New file.
43136         * m4/mbsinit.m4: New file.
43137         * modules/mbsinit: New file.
43138         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
43139         HAVE_MBSINIT.
43140         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
43141         HAVE_MBSINIT.
43142         * doc/posix-functions/mbsinit.texi: Document the new module.
43143
43144 2008-12-16  Bruno Haible  <bruno@clisp.org>
43145
43146         * lib/unistd.in.h: Add comment.
43147         * tests/test-environ.c: Don't include <stdlib.h>.
43148
43149 2008-12-16  Bruno Haible  <bruno@clisp.org>
43150
43151         * lib/parse-duration.h (parse_duration): Document return value
43152         convention.
43153         * lib/parse-duration.c: Include specification header first. Add
43154         comments.
43155         (_): Remove macro.
43156         (parse_year_month_day, parse_hour_minute_second): Move side effects
43157         outside of strchr call.
43158         (parse_non_iso8601): Move side effects outside of isspace call.
43159         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
43160         call.
43161
43162 2008-12-16  Bruno Haible  <bruno@clisp.org>
43163
43164         * tests/test-parse-duration.sh: Produce no output when the test
43165         succeeds.
43166
43167 2008-12-16  Bruno Haible  <bruno@clisp.org>
43168
43169         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
43170         expressions.
43171
43172 2008-12-15  Bruno Haible  <bruno@clisp.org>
43173
43174         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
43175         * doc/glibc-functions/flistxattr.texi: Likewise.
43176         * doc/glibc-functions/fopencookie.texi: Likewise.
43177         * doc/glibc-functions/fremovexattr.texi: Likewise.
43178         * doc/glibc-functions/fsetxattr.texi: Likewise.
43179         * doc/glibc-functions/getxattr.texi: Likewise.
43180         * doc/glibc-functions/lgetxattr.texi: Likewise.
43181         * doc/glibc-functions/listxattr.texi: Likewise.
43182         * doc/glibc-functions/llistxattr.texi: Likewise.
43183         * doc/glibc-functions/lremovexattr.texi: Likewise.
43184         * doc/glibc-functions/lsetxattr.texi: Likewise.
43185         * doc/glibc-functions/removexattr.texi: Likewise.
43186         * doc/glibc-functions/setxattr.texi: Likewise.
43187         * doc/posix-functions/open_memstream.texi: Likewise.
43188
43189 2008-12-15  Eric Blake  <ebb9@byu.net>
43190
43191         Update doc for cygwin 1.7.
43192         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
43193         functions.
43194         * doc/posix-functions/fchmodat.texi: Likewise.
43195         * doc/posix-functions/fchownat.texi: Likewise.
43196         * doc/posix-functions/fdopendir.texi: Likewise.
43197         * doc/posix-functions/fmemopen.texi: Likewise.
43198         * doc/posix-functions/freeaddrinfo.texi: Likewise.
43199         * doc/posix-functions/fstatat.texi: Likewise.
43200         * doc/posix-functions/futimens.texi: Likewise.
43201         * doc/posix-functions/gai_strerror.texi: Likewise.
43202         * doc/posix-functions/getaddrinfo.texi: Likewise.
43203         * doc/posix-functions/getnameinfo.texi: Likewise.
43204         * doc/posix-functions/if_freenameindex.texi: Likewise.
43205         * doc/posix-functions/if_indextoname.texi: Likewise.
43206         * doc/posix-functions/if_nameindex.texi: Likewise.
43207         * doc/posix-functions/if_nametoindex.texi: Likewise.
43208         * doc/posix-functions/insque.texi: Likewise.
43209         * doc/posix-functions/linkat.texi: Likewise.
43210         * doc/posix-functions/llrint.texi: Likewise.
43211         * doc/posix-functions/llrintf.texi: Likewise.
43212         * doc/posix-functions/llrintl.texi: Likewise.
43213         * doc/posix-functions/lockf.texi: Likewise.
43214         * doc/posix-functions/lrintl.texi: Likewise.
43215         * doc/posix-functions/mkdirat.texi: Likewise.
43216         * doc/posix-functions/mkfifoat.texi: Likewise.
43217         * doc/posix-functions/mknodat.texi: Likewise.
43218         * doc/posix-functions/mq_close.texi: Likewise.
43219         * doc/posix-functions/mq_getattr.texi: Likewise.
43220         * doc/posix-functions/mq_notify.texi: Likewise.
43221         * doc/posix-functions/mq_open.texi: Likewise.
43222         * doc/posix-functions/mq_receive.texi: Likewise.
43223         * doc/posix-functions/mq_send.texi: Likewise.
43224         * doc/posix-functions/mq_setattr.texi: Likewise.
43225         * doc/posix-functions/mq_timedreceive.texi: Likewise.
43226         * doc/posix-functions/mq_timedsend.texi: Likewise.
43227         * doc/posix-functions/mq_unlink.texi: Likewise.
43228         * doc/posix-functions/open_memstream.texi: Likewise.
43229         * doc/posix-functions/openat.texi: Likewise.
43230         * doc/posix-functions/posix_fadvise.texi: Likewise.
43231         * doc/posix-functions/posix_fallocate.texi: Likewise.
43232         * doc/posix-functions/posix_madvise.texi: Likewise.
43233         * doc/posix-functions/posix_memalign.texi: Likewise.
43234         * doc/posix-functions/posix_openpt.texi: Likewise.
43235         * doc/posix-functions/readlinkat.texi: Likewise.
43236         * doc/posix-functions/remque.texi: Likewise.
43237         * doc/posix-functions/renameat.texi: Likewise.
43238         * doc/posix-functions/rintl.texi: Likewise.
43239         * doc/posix-functions/sem_unlink.texi: Likewise.
43240         * doc/posix-functions/shm_open.texi: Likewise.
43241         * doc/posix-functions/shm_unlink.texi: Likewise.
43242         * doc/posix-functions/signgam.texi: Likewise.
43243         * doc/posix-functions/sigset.texi: Likewise.
43244         * doc/posix-functions/stpcpy.texi: Likewise.
43245         * doc/posix-functions/stpncpy.texi: Likewise.
43246         * doc/posix-functions/strerror.texi: Likewise.
43247         * doc/posix-functions/strtod.texi: Likewise.
43248         * doc/posix-functions/symlinkat.texi: Likewise.
43249         * doc/posix-functions/unlinkat.texi: Likewise.
43250         * doc/posix-functions/utimensat.texi: Likewise.
43251         * doc/glibc-functions/bindresvport.texi: Likewise.
43252         * doc/glibc-functions/dn_expand.texi: Likewise.
43253         * doc/glibc-functions/exp10.texi: Likewise.
43254         * doc/glibc-functions/exp10f.texi: Likewise.
43255         * doc/glibc-functions/fgetxattr.texi: Likewise.
43256         * doc/glibc-functions/flistxattr.texi: Likewise.
43257         * doc/glibc-functions/fopencookie.texi: Likewise.
43258         * doc/glibc-functions/freeifaddrs.texi: Likewise.
43259         * doc/glibc-functions/fremovexattr.texi: Likewise.
43260         * doc/glibc-functions/fsetxattr.texi: Likewise.
43261         * doc/glibc-functions/getifaddrs.texi: Likewise.
43262         * doc/glibc-functions/getxattr.texi: Likewise.
43263         * doc/glibc-functions/lgetxattr.texi: Likewise.
43264         * doc/glibc-functions/listxattr.texi: Likewise.
43265         * doc/glibc-functions/llistxattr.texi: Likewise.
43266         * doc/glibc-functions/lremovexattr.texi: Likewise.
43267         * doc/glibc-functions/lsetxattr.texi: Likewise.
43268         * doc/glibc-functions/pow10.texi: Likewise.
43269         * doc/glibc-functions/pow10f.texi: Likewise.
43270         * doc/glibc-functions/rcmd_af.texi: Likewise.
43271         * doc/glibc-functions/removexattr.texi: Likewise.
43272         * doc/glibc-functions/res_init.texi: Likewise.
43273         * doc/glibc-functions/res_mkquery.texi: Likewise.
43274         * doc/glibc-functions/res_query.texi: Likewise.
43275         * doc/glibc-functions/res_querydomain.texi: Likewise.
43276         * doc/glibc-functions/res_send.texi: Likewise.
43277         * doc/glibc-functions/rresvport_af.texi: Likewise.
43278         * doc/glibc-functions/setxattr.texi: Likewise.
43279         * doc/glibc-functions/strcasestr.texi: Likewise.
43280
43281 2008-12-15  Bruno Haible  <bruno@clisp.org>
43282
43283         Fix compilation error on OSF/1 4.0.
43284         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
43285         <sys/time.h>, simply delegate to the system header.
43286         Reported by Daniel Richard G. <oss@teragram.com>.
43287
43288 2008-12-15  Bruno Haible  <bruno@clisp.org>
43289
43290         * doc/posix-functions/openat.texi: Mention the 'openat' module.
43291         * doc/posix-functions/fchmodat.texi: Likewise.
43292         * doc/posix-functions/fchownat.texi: Likewise.
43293         * doc/posix-functions/fdopendir.texi: Likewise.
43294         * doc/posix-functions/fstatat.texi: Likewise.
43295         * doc/posix-functions/mkdirat.texi: Likewise.
43296         * doc/posix-functions/unlinkat.texi: Likewise.
43297
43298 2008-12-14  Bruno Haible  <bruno@clisp.org>
43299
43300         Update doc for POSIX:2008.
43301         * doc/posix-functions/faccessat.texi: New file.
43302         * doc/posix-functions/fchmodat.texi: New file.
43303         * doc/posix-functions/fchownat.texi: New file.
43304         * doc/posix-functions/fdopendir.texi: New file.
43305         * doc/posix-functions/fstatat.texi: New file.
43306         * doc/posix-functions/futimens.texi: New file.
43307         * doc/posix-functions/linkat.texi: New file.
43308         * doc/posix-functions/mkdirat.texi: New file.
43309         * doc/posix-functions/mkfifoat.texi: New file.
43310         * doc/posix-functions/mknodat.texi: New file.
43311         * doc/posix-functions/open_wmemstream.texi: New file.
43312         * doc/posix-functions/openat.texi: New file.
43313         * doc/posix-functions/psiginfo.texi: New file.
43314         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
43315         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
43316         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
43317         * doc/posix-functions/readlinkat.texi: New file.
43318         * doc/posix-functions/renameat.texi: New file.
43319         * doc/posix-functions/strerror_l.texi: New file.
43320         * doc/posix-functions/symlinkat.texi: New file.
43321         * doc/posix-functions/unlinkat.texi: New file.
43322         * doc/posix-functions/utimensat.texi: New file.
43323         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43324
43325 2008-12-14  Bruno Haible  <bruno@clisp.org>
43326
43327         Update doc for POSIX:2008.
43328         * doc/posix-functions/alphasort.texi: Renamed from
43329         doc/glibc-functions/alphasort.texi.
43330         * doc/posix-functions/dirfd.texi: Renamed from
43331         doc/glibc-functions/dirfd.texi.
43332         * doc/posix-functions/dprintf.texi: Renamed from
43333         doc/glibc-functions/dprintf.texi.
43334         * doc/posix-functions/duplocale.texi: Renamed from
43335         doc/glibc-functions/duplocale.texi.
43336         * doc/posix-functions/fexecve.texi: Renamed from
43337         doc/glibc-functions/fexecve.texi.
43338         * doc/posix-functions/fmemopen.texi: Renamed from
43339         doc/glibc-functions/fmemopen.texi.
43340         * doc/posix-functions/freelocale.texi: Renamed from
43341         doc/glibc-functions/freelocale.texi.
43342         * doc/posix-functions/getdate_err.texi: Renamed from
43343         doc/glibc-functions/getdate_err.texi.
43344         * doc/posix-functions/isalnum_l.texi: Renamed from
43345         doc/glibc-functions/isalnum_l.texi.
43346         * doc/posix-functions/isalpha_l.texi: Renamed from
43347         doc/glibc-functions/isalpha_l.texi.
43348         * doc/posix-functions/isblank_l.texi: Renamed from
43349         doc/glibc-functions/isblank_l.texi.
43350         * doc/posix-functions/iscntrl_l.texi: Renamed from
43351         doc/glibc-functions/iscntrl_l.texi.
43352         * doc/posix-functions/isdigit_l.texi: Renamed from
43353         doc/glibc-functions/isdigit_l.texi.
43354         * doc/posix-functions/isgraph_l.texi: Renamed from
43355         doc/glibc-functions/isgraph_l.texi.
43356         * doc/posix-functions/islower_l.texi: Renamed from
43357         doc/glibc-functions/islower_l.texi.
43358         * doc/posix-functions/isprint_l.texi: Renamed from
43359         doc/glibc-functions/isprint_l.texi.
43360         * doc/posix-functions/ispunct_l.texi: Renamed from
43361         doc/glibc-functions/ispunct_l.texi.
43362         * doc/posix-functions/isspace_l.texi: Renamed from
43363         doc/glibc-functions/isspace_l.texi.
43364         * doc/posix-functions/isupper_l.texi: Renamed from
43365         doc/glibc-functions/isupper_l.texi.
43366         * doc/posix-functions/iswalnum_l.texi: Renamed from
43367         doc/glibc-functions/iswalnum_l.texi.
43368         * doc/posix-functions/iswalpha_l.texi: Renamed from
43369         doc/glibc-functions/iswalpha_l.texi.
43370         * doc/posix-functions/iswblank_l.texi: Renamed from
43371         doc/glibc-functions/iswblank_l.texi.
43372         * doc/posix-functions/iswcntrl_l.texi: Renamed from
43373         doc/glibc-functions/iswcntrl_l.texi.
43374         * doc/posix-functions/iswctype_l.texi: Renamed from
43375         doc/glibc-functions/iswctype_l.texi.
43376         * doc/posix-functions/iswdigit_l.texi: Renamed from
43377         doc/glibc-functions/iswdigit_l.texi.
43378         * doc/posix-functions/iswgraph_l.texi: Renamed from
43379         doc/glibc-functions/iswgraph_l.texi.
43380         * doc/posix-functions/iswlower_l.texi: Renamed from
43381         doc/glibc-functions/iswlower_l.texi.
43382         * doc/posix-functions/iswprint_l.texi: Renamed from
43383         doc/glibc-functions/iswprint_l.texi.
43384         * doc/posix-functions/iswpunct_l.texi: Renamed from
43385         doc/glibc-functions/iswpunct_l.texi.
43386         * doc/posix-functions/iswspace_l.texi: Renamed from
43387         doc/glibc-functions/iswspace_l.texi.
43388         * doc/posix-functions/iswupper_l.texi: Renamed from
43389         doc/glibc-functions/iswupper_l.texi.
43390         * doc/posix-functions/iswxdigit_l.texi: Renamed from
43391         doc/glibc-functions/iswxdigit_l.texi.
43392         * doc/posix-functions/isxdigit_l.texi: Renamed from
43393         doc/glibc-functions/isxdigit_l.texi.
43394         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
43395         doc/glibc-functions/mbsnrtowcs.texi.
43396         * doc/posix-functions/mkdtemp.texi: Renamed from
43397         doc/glibc-functions/mkdtemp.texi.
43398         * doc/posix-functions/newlocale.texi: Renamed from
43399         doc/glibc-functions/newlocale.texi.
43400         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
43401         doc/glibc-functions/nl_langinfo_l.texi.
43402         * doc/posix-functions/open_memstream.texi: Renamed from
43403         doc/glibc-functions/open_memstream.texi.
43404         * doc/posix-functions/opterr.texi: Renamed from
43405         doc/glibc-functions/opterr.texi.
43406         * doc/posix-functions/optind.texi: Renamed from
43407         doc/glibc-functions/optind.texi.
43408         * doc/posix-functions/optopt.texi: Renamed from
43409         doc/glibc-functions/optopt.texi.
43410         * doc/posix-functions/psignal.texi: Renamed from
43411         doc/glibc-functions/psignal.texi.
43412         * doc/posix-functions/scandir.texi: Renamed from
43413         doc/glibc-functions/scandir.texi.
43414         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
43415         doc/glibc-functions/sched_get_priority_min.texi.
43416         * doc/posix-functions/signgam.texi: Renamed from
43417         doc/glibc-functions/signgam.texi.
43418         * doc/posix-functions/stpcpy.texi: Renamed from
43419         doc/glibc-functions/stpcpy.texi.
43420         * doc/posix-functions/stpncpy.texi: Renamed from
43421         doc/glibc-functions/stpncpy.texi.
43422         * doc/posix-functions/strcasecmp_l.texi: Renamed from
43423         doc/glibc-functions/strcasecmp_l.texi.
43424         * doc/posix-functions/strcoll_l.texi: Renamed from
43425         doc/glibc-functions/strcoll_l.texi.
43426         * doc/posix-functions/strfmon_l.texi: Renamed from
43427         doc/glibc-functions/strfmon_l.texi.
43428         * doc/posix-functions/strftime_l.texi: Renamed from
43429         doc/glibc-functions/strftime_l.texi.
43430         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43431         doc/glibc-functions/strncasecmp_l.texi.
43432         * doc/posix-functions/strndup.texi: Renamed from
43433         doc/glibc-functions/strndup.texi.
43434         * doc/posix-functions/strnlen.texi: Renamed from
43435         doc/glibc-functions/strnlen.texi.
43436         * doc/posix-functions/strsignal.texi: Renamed from
43437         doc/glibc-functions/strsignal.texi.
43438         * doc/posix-functions/strxfrm_l.texi: Renamed from
43439         doc/glibc-functions/strxfrm_l.texi.
43440         * doc/posix-functions/timer_gettime.texi: Renamed from
43441         doc/glibc-functions/timer_gettime.texi.
43442         * doc/posix-functions/tolower_l.texi: Renamed from
43443         doc/glibc-functions/tolower_l.texi.
43444         * doc/posix-functions/toupper_l.texi: Renamed from
43445         doc/glibc-functions/toupper_l.texi.
43446         * doc/posix-functions/towctrans_l.texi: Renamed from
43447         doc/glibc-functions/towctrans_l.texi.
43448         * doc/posix-functions/towlower_l.texi: Renamed from
43449         doc/glibc-functions/towlower_l.texi.
43450         * doc/posix-functions/towupper_l.texi: Renamed from
43451         doc/glibc-functions/towupper_l.texi.
43452         * doc/posix-functions/uselocale.texi: Renamed from
43453         doc/glibc-functions/uselocale.texi.
43454         * doc/posix-functions/vdprintf.texi: Renamed from
43455         doc/glibc-functions/vdprintf.texi.
43456         * doc/posix-functions/wcpcpy.texi:
43457         Renamed from doc/glibc-functions/wcpcpy.texi.
43458         * doc/posix-functions/wcpncpy.texi: Renamed from
43459         doc/glibc-functions/wcpncpy.texi.
43460         * doc/posix-functions/wcscasecmp.texi: Renamed from
43461         doc/glibc-functions/wcscasecmp.texi.
43462         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43463         doc/glibc-functions/wcscasecmp_l.texi.
43464         * doc/posix-functions/wcscoll_l.texi: Renamed from
43465         doc/glibc-functions/wcscoll_l.texi.
43466         * doc/posix-functions/wcsdup.texi: Renamed from
43467         doc/glibc-functions/wcsdup.texi.
43468         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43469         doc/glibc-functions/wcsncasecmp.texi.
43470         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43471         doc/glibc-functions/wcsncasecmp_l.texi.
43472         * doc/posix-functions/wcsnlen.texi: Renamed from
43473         doc/glibc-functions/wcsnlen.texi.
43474         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43475         doc/glibc-functions/wcsnrtombs.texi.
43476         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43477         doc/glibc-functions/wcsxfrm_l.texi.
43478         * doc/posix-functions/wctrans_l.texi: Renamed from
43479         doc/glibc-functions/wctrans_l.texi.
43480         * doc/posix-functions/wctype_l.texi: Renamed from
43481         doc/glibc-functions/wctype_l.texi.
43482         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43483         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43484         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43485         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43486         these subsections.
43487         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43488         Remove sections.
43489
43490 2008-12-14  Bruno Haible  <bruno@clisp.org>
43491
43492         Update doc for POSIX:2008.
43493         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43494
43495 2008-12-14  Bruno Haible  <bruno@clisp.org>
43496
43497         Update doc for POSIX:2008.
43498         * doc/pastposix-functions/bcmp.texi: Renamed from
43499         doc/posix-functions/bcmp.texi.
43500         * doc/pastposix-functions/bcopy.texi: Renamed from
43501         doc/posix-functions/bcopy.texi.
43502         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43503         doc/posix-functions/bsd_signal.texi.
43504         * doc/pastposix-functions/bzero.texi: Renamed from
43505         doc/posix-functions/bzero.texi.
43506         * doc/pastposix-functions/ecvt.texi: Renamed from
43507         doc/posix-functions/ecvt.texi.
43508         * doc/pastposix-functions/fcvt.texi: Renamed from
43509         doc/posix-functions/fcvt.texi.
43510         * doc/pastposix-functions/ftime.texi: Renamed from
43511         doc/posix-functions/ftime.texi.
43512         * doc/pastposix-functions/gcvt.texi: Renamed from
43513         doc/posix-functions/gcvt.texi.
43514         * doc/pastposix-functions/getcontext.texi: Renamed from
43515         doc/posix-functions/getcontext.texi.
43516         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43517         doc/posix-functions/gethostbyaddr.texi.
43518         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43519         doc/posix-functions/gethostbyname.texi.
43520         * doc/pastposix-functions/getwd.texi: Renamed from
43521         doc/posix-functions/getwd.texi.
43522         * doc/pastposix-functions/h_errno.texi: Renamed from
43523         doc/posix-functions/h_errno.texi.
43524         * doc/pastposix-functions/index.texi: Renamed from
43525         doc/posix-functions/index.texi.
43526         * doc/pastposix-functions/makecontext.texi: Renamed from
43527         doc/posix-functions/makecontext.texi.
43528         * doc/pastposix-functions/mktemp.texi: Renamed from
43529         doc/posix-functions/mktemp.texi.
43530         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43531         doc/posix-functions/pthread_attr_getstackaddr.texi.
43532         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43533         doc/posix-functions/pthread_attr_setstackaddr.texi.
43534         * doc/pastposix-functions/rindex.texi: Renamed from
43535         doc/posix-functions/rindex.texi.
43536         * doc/pastposix-functions/scalb.texi: Renamed from
43537         doc/posix-functions/scalb.texi.
43538         * doc/pastposix-functions/setcontext.texi: Renamed from
43539         doc/posix-functions/setcontext.texi.
43540         * doc/pastposix-functions/swapcontext.texi: Renamed from
43541         doc/posix-functions/swapcontext.texi.
43542         * doc/pastposix-functions/ualarm.texi: Renamed from
43543         doc/posix-functions/ualarm.texi.
43544         * doc/pastposix-functions/usleep.texi: Renamed from
43545         doc/posix-functions/usleep.texi.
43546         * doc/pastposix-functions/vfork.texi: Renamed from
43547         doc/posix-functions/vfork.texi.
43548         * doc/pastposix-functions/wcswcs.texi: Renamed from
43549         doc/posix-functions/wcswcs.texi.
43550         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43551         (Function Substitutes): Update.
43552
43553 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43554
43555         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43556         m4/strerror.m4.
43557
43558 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43559             Bruno Haible  <bruno@clisp.org>
43560
43561         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43562
43563 2008-12-13  Bruno Haible  <bruno@clisp.org>
43564
43565         * modules/strtoull (Depends-on): Remove unistd.
43566
43567 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43568
43569         * modules/strtoull (Depends-on): Add stdlib.
43570
43571 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43572
43573         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43574
43575 2008-12-10  Jim Meyering  <meyering@redhat.com>
43576
43577         gl_ASSERT: don't say assertions are disabled when they're not
43578         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43579         "checking whether to enable assertions... no", when they are in
43580         fact enabled.  This is solely a bug in the output of configure.
43581         In spite of saying "no", NDEBUG was not defined in that case.
43582         Also, as noted by Eric Blake, leave assertions enabled upon
43583         --enable-assert=INVALID.
43584
43585 2008-12-10  Bruno Haible  <bruno@clisp.org>
43586
43587         Change MODULES.html to refer to POSIX:2008 where possible.
43588         * MODULES.html.sh (POSIX2008_URL): New variable.
43589         (posix_headers): Remove sys/timeb, ucontext.
43590         (posix2001_headers): New variable.
43591         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43592         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43593         index, makecontext, mktemp, pthread_attr_getstackaddr,
43594         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43595         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43596         (posix2001_functions): New variable.
43597         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43598         otherwise.
43599
43600 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43601
43602         add missing include to parse-duration.c
43603         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43604         * modules/parse-duration (Depends-on): Add xalloc.
43605
43606         fix sed script reading maint.mk
43607         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43608         (syntax-check-rules): Use it.
43609
43610 2008-12-09  Bruno Haible  <bruno@clisp.org>
43611
43612         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43613         MacOS X 10.4/PowerPC.
43614         Reported by Simon Josefsson.
43615
43616 2008-12-08  Jim Meyering  <meyering@redhat.com>
43617
43618         work around mingw's lack of some S_IF definitions
43619         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43620         Reported by Simon Josefsson.
43621
43622 2008-12-08  Bruno Haible  <bruno@clisp.org>
43623
43624         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43625         applied to variables. Needed on MacOS X 10.4/PowerPC.
43626         Reported by Simon Josefsson.
43627
43628 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43629         and Eric Blake  <ebb9@byu.net>
43630
43631         assert: honor --enable-assert
43632         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43633         order to honor --enable-assert, rather than treating it as a
43634         synonym for --disable-assert.
43635
43636 2008-12-08  Jim Meyering  <meyering@redhat.com>
43637
43638         * lib/posixtm.c: Remove now-useless declaration of mktime.
43639
43640         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43641
43642 2008-12-07  Bruno Haible  <bruno@clisp.org>
43643
43644         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43645         test_once): Mark functions as static.
43646         * tests/test-tls.c (test_tls): Likewise.
43647
43648 2008-12-07  Bruno Haible  <bruno@clisp.org>
43649
43650         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43651         iconv_register_autodetect.
43652
43653 2008-12-07  Jim Meyering  <meyering@redhat.com>
43654
43655         posixtm.c: avoid a warning
43656         * lib/posixtm.c (posixtime): Don't initialize tm0.
43657         It's no longer needed to placate gcc4's -Wuninitialized,
43658         and the attempt to placate would elicit a new warning.
43659
43660         unicodeio.c: mark unused parameters
43661         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43662         (fallback_failure_callback): Likewise.
43663
43664 2008-12-07  Bruno Haible  <bruno@clisp.org>
43665
43666         * gnulib-tool (func_create_testdir): When building the tests
43667         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43668         Reported by Simon Josefsson.
43669
43670 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43671
43672         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43673
43674 2008-12-06  Bruno Haible  <bruno@clisp.org>
43675
43676         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43677         Suggested by Eric Blake.
43678
43679 2008-12-06  Bruno Haible  <bruno@clisp.org>
43680
43681         Fix a c-stack test failure on MacOS X.
43682         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43683         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43684         handler for SIGBUS as well.
43685         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43686         install a signal handler for SIGBUS as well.
43687         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43688
43689 2008-12-06  Bruno Haible  <bruno@clisp.org>
43690
43691         Advocacy documentation.
43692         * doc/gnulib-intro.texi (Benefits): New section.
43693         * doc/gnulib.texi: Update.
43694
43695 2008-12-06  Bruno Haible  <bruno@clisp.org>
43696
43697         Document the 'manywarnings' module.
43698         * doc/manywarnings.texi: New file.
43699         * doc/gnulib.texi: Include it.
43700
43701 2008-12-05  Eric Blake  <ebb9@byu.net>
43702
43703         tests: silence some gcc warnings
43704         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43705         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43706         type mismatches.
43707
43708 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43709             Bruno Haible  <bruno@clisp.org>
43710
43711         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43712
43713 2008-11-29  Jim Meyering  <meyering@redhat.com>
43714
43715         unicodeio.c: mark unused parameters
43716         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43717         (fallback_failure_callback): Likewise.
43718
43719         fts: fix a thinko
43720         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43721         (set_stat_type): Return S_IF*-valued "type" directly.
43722         Prompted by James Youngman's spotting a related bug.
43723         Confirmed by further testing through find.
43724
43725         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43726         * lib/fts.c (D_TYPE): Define.
43727         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43728         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43729         (s_ifmt_shift_bits): New function.
43730         (set_stat_type): New function.
43731         (fts_build): When not calling fts_stat, call set_stat_type
43732         to propagate dirent.d_type info to fts_read caller.
43733         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43734         fts_statp->st_mode type information may be valid.
43735
43736 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43737
43738         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43739         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43740         <sds@gnu.org>.
43741
43742 2008-11-20  Bruno Haible  <bruno@clisp.org>
43743
43744         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43745         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43746         INCLUDE_NEXT.
43747         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43748         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43749         * modules/math (Makefile.am): Substitute
43750         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43751         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43752
43753 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43754             Bruno Haible  <bruno@clisp.org>
43755
43756         * lib/stdint.in.h: Define all type macros so that their expansion is
43757         a single typedef'ed token. Fixes a compilation failure in Boost which
43758         does "using ::int8_t;".
43759
43760 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43761
43762         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43763         gl_MANYWARN_ALL_GCC.
43764         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43765         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43766         * modules/manywarnings: New file.
43767         * MODULES.html.sh: Mention manywarnings module.
43768
43769 2008-11-18  Bruno Haible  <bruno@clisp.org>
43770
43771         * doc/gnulib-tool.texi (Unit tests): New section.
43772
43773 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43774
43775         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43776         paths like 'lib/po/foo.po'.
43777
43778 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43779
43780         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43781         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43782
43783 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43784
43785         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43786         parameter works.
43787
43788 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43789
43790         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43791
43792 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43793
43794         * modules/parse-duration-tests: New file.
43795         * tests/test-parse-duration.sh: New file.
43796         * tests/test-parse-duration.c: New file.
43797
43798         New module 'parse-duration'.
43799         * lib/parse-duration.h: New file.
43800         * lib/parse-duration.c: New file.
43801         * modules/parse-duration: New file.
43802
43803 2008-11-17  Bruno Haible  <bruno@clisp.org>
43804
43805         * tests/test-select-out.sh: Comment out the first pipe test.
43806         Reported by Simon Josefsson.
43807
43808 2008-11-17  Bruno Haible  <bruno@clisp.org>
43809
43810         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43811         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43812         gl_HOSTENT.
43813
43814 2008-11-17  Bruno Haible  <bruno@clisp.org>
43815
43816         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43817         -lnetwork and -lnet. Needed for Haiku and BeOS.
43818
43819 2008-11-16  Bruno Haible  <bruno@clisp.org>
43820
43821         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43822
43823 2008-11-16  Bruno Haible  <bruno@clisp.org>
43824
43825         Avoid test failure on Haiku.
43826         * tests/test-fsync.c: Include <errno.h>.
43827         (main): Don't require that fsync (0) fails.
43828
43829 2008-11-15  Bruno Haible  <bruno@clisp.org>
43830
43831         New module 'hostent'.
43832         * modules/hostent: New file.
43833         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43834
43835 2008-11-15  Bruno Haible  <bruno@clisp.org>
43836
43837         New module 'servent'.
43838         * modules/servent: New file.
43839         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43840
43841 2008-11-15  Bruno Haible  <bruno@clisp.org>
43842
43843         Avoid generating same test program with two different rules.
43844         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
43845         test-frexp to test-frexp-nolibm.
43846         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
43847         test-frexpl to test-frexpl-nolibm.
43848
43849 2008-11-15  Bruno Haible  <bruno@clisp.org>
43850
43851         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
43852         $(FREXPL_LIBM).
43853
43854 2008-11-15  Bruno Haible  <bruno@clisp.org>
43855
43856         * lib/netdb.in.h: Activate the definitions also when the system's
43857         <netdb.h> has 'struct addrinfo'.
43858         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
43859         EAI_OVERFLOW or AI_NUMERICSERV.
43860         * doc/posix-headers/netdb.texi: Document the problem.
43861
43862 2008-11-15  Bruno Haible  <bruno@clisp.org>
43863
43864         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
43865
43866         Make the 'sched' module work on platforms where <sched.h> exists but
43867         is incomplete (such as Haiku).
43868         * lib/sched.in.h; Include the system's <sched.h> if it exists.
43869         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
43870         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
43871         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
43872         HAVE_STRUCT_SCHED_PARAM.
43873         * modules/sched (Depends-on): Add include_next.
43874         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
43875         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
43876         * doc/posix-headers/sched.texi: Document the issue.
43877
43878 2008-11-13  Jim Meyering  <meyering@redhat.com>
43879
43880         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
43881         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
43882         test would fail due to the difference in the Report bugs to ...
43883         line.  The expected address is empty, "<>", while the actual
43884         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
43885
43886 2008-11-12  Bruno Haible  <bruno@clisp.org>
43887
43888         lstat: don't compile lstat.c on systems lacking lstat
43889         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
43890         which don't have lstat; this is handled by lib/sys_stat.in.h already.
43891         Reported by Daniel P. Berrange via Jim Meyering.
43892
43893 2008-11-12  Jim Meyering  <meyering@redhat.com>
43894
43895         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
43896
43897 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43898
43899         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
43900         instead.
43901
43902 2008-11-12  Bruno Haible  <bruno@clisp.org>
43903
43904         * lib/unicodeio.c: Include unistr.h.
43905         (utf8_wctomb): Remove function.
43906         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
43907
43908 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43909
43910         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
43911         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
43912         <bruno@clisp.org>.
43913         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
43914
43915 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43916
43917         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
43918         * doc/gnulib.texi: Add section for warnings.
43919
43920 2008-11-11  Bruno Haible  <bruno@clisp.org>
43921
43922         * lib/sockets.h: Add a comment.
43923
43924 2008-11-11  Karl Berry  <karl@gnu.org>
43925
43926         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
43927
43928 2008-11-11  Eric Blake  <ebb9@byu.net>
43929
43930         fdl.texi: avoid git symlinks
43931         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
43932
43933 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43934
43935         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
43936
43937 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43938
43939         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
43940         (gl_WARN_ADD): Substitute $2 if literal.
43941
43942 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43943
43944         * m4/warning.m4: Remove.
43945
43946 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43947
43948         * m4/warnings.m4: Almost complete rewrite. :-)
43949
43950 2008-11-10  Simon Josefsson  <simon@josefsson.org>
43951
43952         * modules/warnings: New module.
43953         * m4/warnings.m4: New file.
43954         * MODULES.html.sh: Mention warnings module.
43955         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
43956         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43957
43958 2008-11-10  Eric Blake  <ebb9@byu.net>
43959
43960         fdl.texi: make a symlink to the latest version
43961         * doc/standards.texi: Revert today's earlier change.
43962         * doc/fdl-1.2.texi: Rename from old fdl.texi...
43963         * doc/fdl.texi: ...and replace this with a symlink to the newer
43964         fdl-1.3.texi.
43965
43966 2008-11-10  Bruno Haible  <bruno@clisp.org>
43967
43968         * tests/test-select-fd.c (main): Accept the result file name as fourth
43969         argument.
43970         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
43971         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
43972
43973 2008-11-10  Bruno Haible  <bruno@clisp.org>
43974
43975         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
43976         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
43977         as autoconf-substituted macros.
43978         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
43979         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
43980         gl_NETDB_H_DEFAULTS. Set these variables.
43981         * modules/netdb (Makefile.am): Substitute these variables.
43982
43983 2008-11-10  Eric Blake  <ebb9@byu.net>
43984
43985         standards.texi: include correct file for FDL 1.3
43986         * doc/standards.texi (GNU Free Documentation License): Change
43987         include file to pull in FDL 1.3, not 1.2.
43988
43989         fdl.texi: revert accidental change to license
43990         * doc/fdl.texi: This is FDL 1.2, not 1.3.
43991
43992 2008-11-10  Bruno Haible  <bruno@clisp.org>
43993
43994         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
43995         cross-compiling guesses also when the native compile gives no result.
43996
43997 2008-11-10  Bruno Haible  <bruno@clisp.org>
43998
43999         * lib/spawni.c (__spawni): Force variable into the stack.
44000
44001 2008-11-10  Bruno Haible  <bruno@clisp.org>
44002
44003         Add support for Haiku.
44004         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
44005         glibc and BeOS, but also on Haiku.
44006         * lib/fpurge.c (fpurge): Likewise.
44007         * lib/freadable.c (freadable): Likewise.
44008         * lib/freadahead.c (freadahead): Likewise.
44009         * lib/freading.c (freading): Likewise.
44010         * lib/freadptr.c (freadptr): Likewise.
44011         * lib/freadseek.c (freadptrinc): Likewise.
44012         * lib/fseeko.c (rpl_fseeko): Likewise.
44013         * lib/fseterr.c (fseterr): Likewise.
44014         * lib/fwritable.c (fwritable): Likewise.
44015         * lib/fwriting.c (fwriting): Likewise.
44016         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
44017
44018 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44019
44020         * lib/config.charset: Treat Haiku like BeOS.
44021
44022 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44023
44024         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
44025         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
44026
44027 2008-11-08  Bruno Haible  <bruno@clisp.org>
44028
44029         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
44030         AC_CACHE_CHECK.
44031
44032 2008-11-08  Bruno Haible  <bruno@clisp.org>
44033
44034         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
44035
44036 2008-11-08  Bruno Haible  <bruno@clisp.org>
44037
44038         * tests/test-select-fd.c: New file.
44039         * tests/test-select-in.sh: New file.
44040         * tests/test-select-out.sh: New file.
44041         * tests/test-select-stdin.c: New file.
44042         * modules/select-tests (Files): Add the new files.
44043         (Depends-on): Add gettimeofday.
44044         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
44045         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
44046         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
44047
44048 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
44049             Bruno Haible  <bruno@clisp.org>
44050
44051         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
44052
44053 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
44054
44055         * build-aux/pmccabe2html: Added support for C++ source files.
44056
44057 2008-11-05  Ben Pfaff  <blp@gnu.org>
44058
44059         Fix lib/close.c build on Windows.
44060         * modules/close (Files): Add lib/w32sock.h.
44061
44062 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
44063
44064         Accept Bison's NEWS format.
44065         * build-aux/announce-gen (print_news_deltas): Tweak
44066         $re_prefix.
44067
44068 2008-11-04  Bruno Haible  <bruno@clisp.org>
44069
44070         * modules/random_r (Maintainer): Add glibc.
44071
44072 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44073
44074         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
44075         by karl@freefriends.org (Karl Berry).
44076         * doc/alloca.texi: Likewise.
44077         * doc/c-ctype.texi: Likewise.
44078         * doc/c-strcase.texi: Likewise.
44079         * doc/c-strcaseeq.texi: Likewise.
44080         * doc/c-strcasestr.texi: Likewise.
44081         * doc/c-strstr.texi: Likewise.
44082         * doc/c-strtod.texi: Likewise.
44083         * doc/c-strtold.texi: Likewise.
44084         * doc/ctime.texi: Likewise.
44085         * doc/error.texi: Likewise.
44086         * doc/fdl.texi: Likewise.
44087         * doc/gcd.texi: Likewise.
44088         * doc/getdate.texi: Likewise.
44089         * doc/gnulib-intro.texi: Likewise.
44090         * doc/gnulib-tool.texi: Likewise.
44091         * doc/gnulib.texi: Likewise.
44092         * doc/inet_ntoa.texi: Likewise.
44093         * doc/maintain.texi: Likewise.
44094         * doc/make-stds.texi: Likewise.
44095         * doc/quote.texi: Likewise.
44096         * doc/regexprops-generic.texi: Likewise.
44097         * doc/standards.texi: Likewise.
44098         * doc/verify.texi: Likewise.
44099         * doc/visibility.texi: Likewise.
44100         * doc/gnulib.texi (GNU Free Documentation License): Include
44101         fdl-1.3.texi instead of fdl.texi.
44102
44103 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44104
44105         * doc/fdl-1.3.texi: New file, from
44106         <http://www.gnu.org/licenses/fdl-1.3.texi>.
44107         * modules/fdl-1.3: Add.
44108         * MODULES.html.sh: Add fdl-1.3.
44109
44110 2008-11-03  Bruno Haible  <bruno@clisp.org>
44111
44112         Make determination of absolute name of header file work with AIX xlc.
44113         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
44114         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
44115         preprocessing.
44116         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44117         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
44118
44119 2008-11-03  Simon Josefsson  <simon@josefsson.org>
44120
44121         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
44122         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
44123         <ludo@gnu.org>.
44124
44125 2008-11-02  Bruno Haible  <bruno@clisp.org>
44126
44127         Mark 'strpbrk' obsolete.
44128         * modules/strpbrk (Status, Notice): New sections.
44129         * modules/strtok_r (Depends-on): Add strpbrk.
44130
44131 2008-11-02  Bruno Haible  <bruno@clisp.org>
44132
44133         Mark 'strdup' obsolete.
44134         * modules/strdup (Status, Notice): New sections.
44135         * modules/findprog (Depends-on): Add strdup.
44136         * modules/getaddrinfo (Depends-on): Likewise.
44137         * modules/localename (Depends-on): Likewise.
44138         * modules/relocatable-lib (Depends-on): Likewise.
44139         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
44140         * modules/relocatable-prog (Depends-on): Likewise.
44141         * modules/trim (Depends-on): Likewise.
44142         * modules/unictype/gen-ctype (Depends-on): Likewise.
44143         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44144
44145 2008-11-02  Bruno Haible  <bruno@clisp.org>
44146
44147         Mark 'strcspn' obsolete.
44148         * modules/strcspn (Status, Notice): New sections.
44149
44150 2008-11-02  Bruno Haible  <bruno@clisp.org>
44151
44152         Mark 'rmdir' obsolete.
44153         * modules/rmdir (Status, Notice): New sections.
44154         * modules/clean-temp (Depends-on): Add rmdir.
44155         * modules/openat (Depends-on): Likewise.
44156
44157 2008-11-02  Bruno Haible  <bruno@clisp.org>
44158
44159         Mark 'raise' obsolete.
44160         * modules/raise (Status, Notice): New sections.
44161         (Include): Specify <signal.h>.
44162         * modules/stdio (Depends-on): Add raise.
44163         * modules/write (Depends-on): Likewise.
44164
44165 2008-11-02  Bruno Haible  <bruno@clisp.org>
44166
44167         Mark 'memset' obsolete.
44168         * modules/memset (Status, Notice): New sections.
44169
44170 2008-11-02  Bruno Haible  <bruno@clisp.org>
44171
44172         Mark 'memmove' obsolete.
44173         * modules/memmove (Status, Notice): New sections.
44174         * modules/argp (Depends-on): Add memmove.
44175         * modules/argz (Depends-on): Likewise.
44176         * modules/canonicalize (Depends-on): Likewise.
44177         * modules/canonicalize-lgpl (Depends-on): Likewise.
44178         * modules/fts (Depends-on): Likewise.
44179         * modules/getcwd (Depends-on): Likewise.
44180         * modules/human (Depends-on): Likewise.
44181         * modules/regex (Depends-on): Likewise.
44182         * modules/striconveh (Depends-on): Likewise.
44183         * modules/trim (Depends-on): Likewise.
44184         * modules/unistr/u8-move (Depends-on): Likewise.
44185         * modules/unistr/u16-move (Depends-on): Likewise.
44186         * modules/unistr/u32-move (Depends-on): Likewise.
44187
44188 2008-11-02  Bruno Haible  <bruno@clisp.org>
44189
44190         Mark 'memcpy' obsolete.
44191         * modules/memcpy (Status, Notice): New sections.
44192
44193 2008-11-02  Bruno Haible  <bruno@clisp.org>
44194
44195         Mark 'memcmp' obsolete.
44196         * modules/memcmp (Status, Notice): New sections.
44197         * modules/argmatch (Depends-on): Add memchr.
44198         * modules/backupfile (Depends-on): Likewise.
44199         * modules/c-strcasestr (Depends-on): Likewise.
44200         * modules/crypto/des (Depends-on): Likewise.
44201         * modules/csharpcomp (Depends-on): Likewise.
44202         * modules/fnmatch (Depends-on): Likewise.
44203         * modules/git-merge-changelog (Depends-on): Likewise.
44204         * modules/isnand (Depends-on): Likewise.
44205         * modules/isnand-nolibm (Depends-on): Likewise.
44206         * modules/isnanf (Depends-on): Likewise.
44207         * modules/isnanf-nolibm (Depends-on): Likewise.
44208         * modules/isnanl (Depends-on): Likewise.
44209         * modules/isnanl-nolibm (Depends-on): Likewise.
44210         * modules/mbchar (Depends-on): Likewise.
44211         * modules/memcoll (Depends-on): Likewise.
44212         * modules/quotearg (Depends-on): Likewise.
44213         * modules/regex (Depends-on): Likewise.
44214         * modules/relocatable-prog (Depends-on): Likewise.
44215         * modules/same (Depends-on): Likewise.
44216         * modules/signbit (Depends-on): Likewise.
44217         * modules/strcasestr-simple (Depends-on): Likewise.
44218         * modules/unictype/gen-ctype (Depends-on): Likewise.
44219         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44220         * modules/uniname/uniname (Depends-on): Likewise.
44221         * modules/unistr/u8-cmp (Depends-on): Likewise.
44222
44223 2008-11-02  Bruno Haible  <bruno@clisp.org>
44224
44225         Mark 'memchr' obsolete.
44226         * modules/memchr (Status, Notice): New sections.
44227         * modules/argp (Depends-on): Add memchr.
44228         * modules/base64 (Depends-on): Likewise.
44229         * modules/c-strcasestr (Depends-on): Likewise.
44230         * modules/chdir-long (Depends-on): Likewise.
44231         * modules/fnmatch (Depends-on): Likewise.
44232         * modules/getsubopt (Depends-on): Likewise.
44233         * modules/git-merge-changelog (Depends-on): Likewise.
44234         * modules/glob (Depends-on): Likewise.
44235         * modules/strcasestr-simple (Depends-on): Likewise.
44236         * modules/strnlen (Depends-on): Likewise.
44237
44238 2008-11-02  Bruno Haible  <bruno@clisp.org>
44239
44240         Mark 'atexit' obsolete.
44241         * modules/atexit (Status, Notice): New sections.
44242         * modules/chdir-long (Depends-on): Add atexit.
44243         * modules/wait-process (Depends-on): Likewise.
44244
44245 2008-11-02  Bruno Haible  <bruno@clisp.org>
44246
44247         * gnulib-tool: New option --with-obsolete.
44248         (func_usage): Document it.
44249         (func_modules_transitive_closure): Drop obsolete dependencies if
44250         incobsolete is not true.
44251         (func_import): Read and save the incobsolete variable to the cache.
44252
44253 2008-11-02  Bruno Haible  <bruno@clisp.org>
44254
44255         * modules/TEMPLATE-EXTENDED: New field 'Status'.
44256         * gnulib-tool: New option --extract-status.
44257         (func_usage): Document it.
44258         (sed_extract_prog): Recognize it.
44259         (func_get_status): New function.
44260
44261 2008-10-30  Simon Josefsson  <simon@josefsson.org>
44262
44263         * modules/sockets (License): Change from LGPL to LGPLv2+.
44264
44265 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44266
44267         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
44268
44269 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44270
44271         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44272         Mention times and sys_times.
44273         * modules/sys_times, modules/sys_times-tests: New modules.
44274         * modules/times, modules/times-tests: Likewise
44275         * m4/sys_times_h.m4: New file.
44276         * lib/sys_times.in.h: Likewise
44277         * lib/times.c: Likewise.
44278         * tests/test-sys_times.c: Likewise.
44279         * tests/test-times.c: Likewise.
44280         * doc/posix-headers/sys_times.texi: Update.
44281         * doc/posix-functions/times.texi: Update.
44282
44283 2008-10-28  Jim Meyering  <meyering@redhat.com>
44284
44285         * modules/tempname (Depends-on): Add lstat.
44286
44287         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
44288
44289 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44290
44291         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
44292         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
44293         using idiom used elsewhere in gnulib.
44294
44295 2008-10-27  Jim Meyering  <meyering@redhat.com>
44296
44297         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
44298
44299 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44300
44301         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
44302         TESTS_ENVIRONMENT, for shell scripts that needs to call built
44303         programs.
44304         * tests/test-argp-2.sh: Use $EXEEXT when needed.
44305
44306 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44307
44308         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
44309
44310 2008-10-27  Bruno Haible  <bruno@clisp.org>
44311
44312         * tests/test-lstat.c: Include <stdio.h>.
44313
44314 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44315
44316         * modules/lstat-tests: New module.
44317         * tests/test-lstat.c: New file.
44318
44319 2008-10-26  Jim Meyering  <meyering@redhat.com>
44320
44321         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
44322
44323 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44324             Bruno Haible  <bruno@clisp.org>
44325
44326         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
44327         * modules/configmake (Include): Add a note that the include must come
44328         after all system headers.
44329         * lib/javaversion.c: Include configmake.h after all other includes.
44330
44331 2008-10-26  Bruno Haible  <bruno@clisp.org>
44332
44333         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
44334         HAVE_STRUCT_RANDOM_DATA to 1.
44335         (gl_STDLIB_H): Simplify.
44336
44337 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44338
44339         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
44340         substitute HAVE_STRUCT_RANDOM_DATA.
44341         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
44342         random_data.
44343         * modules/stdlib (Makefile.am): Substitute
44344         HAVE_STRUCT_RANDOM_DATA.
44345
44346 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44347
44348         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
44349         * doc/gnulib-intro.texi (Copyright): Likewise.
44350
44351 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44352
44353         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
44354         findings.
44355
44356 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
44357             Bruno Haible  <bruno@clisp.org>
44358
44359         * lib/unistd.in.h: Include <winsock2.h>.
44360         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
44361         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
44362         Provide dummy declarations.
44363         (gethostname): Override.
44364         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
44365         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
44366         gl_PREREQ_SYS_H_WINSOCK2.
44367         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
44368         * doc/posix-functions/gethostname.texi: More details.
44369
44370 2008-10-25  Bruno Haible  <bruno@clisp.org>
44371
44372         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44373         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
44374         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
44375
44376         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
44377         here ...
44378         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
44379         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
44380         gl_UNISTD_H_DEFAULTS.
44381
44382 2008-10-25  Eric Blake  <ebb9@byu.net>
44383
44384         signbit: avoid spurious compiler failure
44385         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
44386         declarations inside function.
44387
44388 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44389             Bruno Haible  <bruno@clisp.org>
44390
44391         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
44392         * modules/random_r (Depends-on): Add stdint.
44393
44394 2008-10-24  Bruno Haible  <bruno@clisp.org>
44395
44396         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
44397         Eggert.
44398         * modules/strerror (License): Likewise.
44399
44400 2008-10-24  Jim Meyering  <meyering@redhat.com>
44401
44402         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
44403         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
44404
44405 2008-10-24  Eric Blake  <ebb9@byu.net>
44406
44407         getgroups: fix compilation when getgroups is available
44408         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
44409         but with <config.h> override of getgroups disabled.
44410
44411 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44412
44413         * doc/gnulib.texi (Header files): Add note about C++ problems.
44414         Explained by Bruno Haible <bruno@clisp.org>.
44415
44416 2008-10-23  Bruno Haible  <bruno@clisp.org>
44417
44418         Define a dummy SA_NODEFER macro on Interix.
44419         * lib/signal.in.h (SA_NODEFER): Define fallback.
44420         Reported by Aleksey Cheusov <cheusov@tut.by> via
44421         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
44422
44423 2008-10-23  Bruno Haible  <bruno@clisp.org>
44424
44425         * modules/freadahead (License): Change to LGPLv2+.
44426         Suggested by Simon Josefsson.
44427
44428 2008-10-23  Jim Meyering  <meyering@redhat.com>
44429
44430         random_r: new module
44431         * modules/random_r: New file.
44432         * m4/random_r.m4: New file.
44433         * lib/random_r.c: New file, from glibc.
44434         * modules/random_r-tests: New file.
44435         * tests/test-random_r.c: New file.
44436         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44437          Declare.
44438         (RAND_MAX): Define.
44439         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44440         * modules/stdlib: Substitute them, too.
44441         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44442         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44443         * doc/glibc-functions/random_r.texi: Likewise.
44444         * doc/glibc-functions/setstate_r.texi: Likewise.
44445         * doc/glibc-functions/srandom_r.texi: Likewise.
44446         * config/srclist.txt: Mention it.
44447
44448 2008-10-23  David Lutterkort  <lutter@redhat.com>
44449
44450         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44451         link requirement
44452
44453 2008-10-23  Jim Meyering  <meyering@redhat.com>
44454
44455         selinux-h: mark parameters of stub functions as intentionally unused
44456         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44457         * lib/se-context.in.h: Likewise.
44458
44459 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44460
44461         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44462
44463 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44464
44465         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44466
44467 2008-10-22  Eric Blake  <ebb9@byu.net>
44468
44469         glthread/thread: avoid compiler warning
44470         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44471         Add unreachable abort to silence compiler.
44472
44473 2008-10-22  Eric Blake  <ebb9@byu.net>
44474
44475         netdb: also supply struct addrinfo for cygwin 1.5.x
44476         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44477         older cygwin.
44478         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44479         cygwin.
44480         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44481
44482 2008-10-22  Bruno Haible  <bruno@clisp.org>
44483
44484         * users.txt: Update entry about pspp.
44485
44486 2008-10-21  Bruno Haible  <bruno@clisp.org>
44487
44488         Simplification.
44489         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44490         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44491
44492         Simplification.
44493         * lib/ioctl.c (ioctl): Don't undefine.
44494         * lib/socket.c (socket): Don't undefine.
44495
44496         Remove unused module indicator macros.
44497         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44498         GNULIB_$1 as a C macro.
44499
44500         * doc/posix-functions/close.texi: Undo last change.
44501         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44502         Windows platforms.
44503
44504 2008-10-21  Bruno Haible  <bruno@clisp.org>
44505
44506         Add gethostname() declaration to <unistd.h>.
44507         * lib/unistd.in.h (gethostname): New declaration.
44508         * lib/gethostname.c: Include <unistd.h>.
44509         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44510         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44512         and HAVE_GETHOSTNAME.
44513         * modules/gethostname (Depends-on): Add unistd.
44514         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44515         (Include): Specify <unistd.h>.
44516         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44517         HAVE_GETHOSTNAME.
44518         * tests/test-gethostname.c: Include <unistd.h> first.
44519
44520 2008-10-21  Bruno Haible  <bruno@clisp.org>
44521
44522         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44523         * modules/select-tests (Depends-on): Likewise.
44524         Reported by Simon Josefsson.
44525
44526 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44527
44528         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44529         * lib/accept.c: New file, based on winsock.c.
44530         * lib/bind.c: New file, based on winsock.c.
44531         * lib/connect.c: New file, based on winsock.c.
44532         * lib/getpeername.c: New file, based on winsock.c.
44533         * lib/getsockname.c: New file, based on winsock.c.
44534         * lib/getsockopt.c: New file, based on winsock.c.
44535         * lib/ioctl.c: New file, based on winsock.c.
44536         * lib/listen.c: New file, based on winsock.c.
44537         * lib/recv.c: New file, based on winsock.c.
44538         * lib/recvfrom.c: New file, based on winsock.c.
44539         * lib/send.c: New file, based on winsock.c.
44540         * lib/sendto.c: New file, based on winsock.c.
44541         * lib/setsockopt.c: New file, based on winsock.c.
44542         * lib/shutdown.c: New file, based on winsock.c.
44543         * lib/socket.c: New file, based on winsock.c.
44544         * lib/w32sock.h: New file, based on winsock.c.
44545         * lib/winsock.c: Remove file.
44546         * modules/accept: Likewise.
44547         * modules/bind: Likewise.
44548         * modules/connect: Likewise.
44549         * modules/getpeername: Likewise.
44550         * modules/getsockname: Likewise.
44551         * modules/getsockopt: Likewise.
44552         * modules/ioctl: Likewise.
44553         * modules/listen: Likewise.
44554         * modules/recv: Likewise.
44555         * modules/recvfrom: Likewise.
44556         * modules/send: Likewise.
44557         * modules/sendto: Likewise.
44558         * modules/setsockopt: Likewise.
44559         * modules/shutdown: Likewise.
44560         * modules/socket: Use socket.c instead of winsock.c.
44561         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44562         * doc/posix-functions/accept.texi: Doc fix.
44563         * doc/posix-functions/bind.texi: Doc fix.
44564         * doc/posix-functions/close.texi: Doc fix.
44565         * doc/posix-functions/connect.texi: Doc fix.
44566         * doc/posix-functions/getpeername.texi: Doc fix.
44567         * doc/posix-functions/getsockname.texi: Doc fix.
44568         * doc/posix-functions/getsockopt.texi: Doc fix.
44569         * doc/posix-functions/ioctl.texi: Doc fix.
44570         * doc/posix-functions/listen.texi: Doc fix.
44571         * doc/posix-functions/recv.texi: Doc fix.
44572         * doc/posix-functions/recvfrom.texi: Doc fix.
44573         * doc/posix-functions/send.texi: Doc fix.
44574         * doc/posix-functions/sendto.texi: Doc fix.
44575         * doc/posix-functions/setsockopt.texi: Doc fix.
44576         * doc/posix-functions/shutdown.texi: Doc fix.
44577         * doc/posix-functions/socket.texi: Doc fix.
44578
44579 2008-10-20  Bruno Haible  <bruno@clisp.org>
44580
44581         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44582         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44583         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44584         as an alias for SIGABRT.
44585         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44586         (sigaction): Map it to SIGABRT.
44587         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44588
44589 2008-10-20  Bruno Haible  <bruno@clisp.org>
44590
44591         * lib/fts.c: Don't include lstat.h.
44592         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44593
44594         Move the lstat() declaration to <sys/stat.h>.
44595         * lib/lstat.h: Remove file.
44596         * lib/sys_stat.in.h: Add special invocation convention.
44597         (lstat): New declaration.
44598         * lib/lstat.c (orig_lstat): New function.
44599         (rpl_lstat): Use orig_lstat instead of lstat.
44600         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44601         AC_C_INLINE. Set REPLACE_LSTAT.
44602         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44603         and REPLACE_LSTAT.
44604         * modules/lstat (Files): Remove lib/lstat.h.
44605         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44606         (Include): Specify <sys/stat.h> instead of lstat.h.
44607         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44608         REPLACE_LSTAT.
44609         * NEWS: Mention the change.
44610
44611 2008-10-20  Bruno Haible  <bruno@clisp.org>
44612
44613         * modules/posix_spawn-tests: New file.
44614         * tests/test-posix_spawn3.c: New file.
44615
44616 2008-10-20  Bruno Haible  <bruno@clisp.org>
44617
44618         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44619         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44620         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44621         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44622         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44623
44624 2008-10-20  Bruno Haible  <bruno@clisp.org>
44625
44626         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44627         of posix_spawn on AIX 5.3.
44628
44629 2008-10-20  Bruno Haible  <bruno@clisp.org>
44630
44631         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44632
44633 2008-10-20  Bruno Haible  <bruno@clisp.org>
44634
44635         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44636         of AC_LANG_PROGRAM.
44637
44638 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44639
44640         * lib/netdb.in.h: Don't define GNU specific constants until they
44641         are supported or needed.  Reported by Bruno Haible
44642         <bruno@clisp.org>.
44643
44644 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44645
44646         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44647
44648 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44649
44650         * lib/getaddrinfo.h: Remove file.
44651         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44652         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44653         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44654         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44655         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44656         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44657         * tests/test-getaddrinfo.c: Likewise.
44658         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44659         * NEWS: Mention change.
44660
44661 2008-10-19  Bruno Haible  <bruno@clisp.org>
44662
44663         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44664
44665 2008-10-19  Bruno Haible  <bruno@clisp.org>
44666
44667         * lib/wait-process.c: Include simply <sys/wait.h>.
44668         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44669         WIFSTOPPED): Remove fallback definitions.
44670         * modules/wait-process (Depends-on): Add sys_wait.
44671
44672         New module 'sys_wait'.
44673         * modules/sys_wait: New file.
44674         * lib/sys_wait.in.h: New file, partially copied from
44675         lib/wait-process.c.
44676         * m4/sys_wait_h.m4: New file.
44677         * doc/posix-headers/sys_wait.texi: Mention the new module.
44678
44679 2008-10-19  Bruno Haible  <bruno@clisp.org>
44680
44681         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44682
44683 2008-10-19  Bruno Haible  <bruno@clisp.org>
44684
44685         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44686         * lib/wait-process.c (WAIT_T): Remove type.
44687         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44688         (wait_subprocess): Update.
44689
44690 2008-10-19  Bruno Haible  <bruno@clisp.org>
44691
44692         New module 'atoll'.
44693         * modules/atoll: New file.
44694         * lib/stdlib.in.h (atoll): New declaration.
44695         * lib/atoll.c: New file, from glibc with modifications.
44696         * m4/atoll.m4: New file.
44697         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44698         HAVE_ATOLL.
44699         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44700         * doc/posix-functions/atoll.texi: Mention the new module.
44701
44702 2008-10-19  Bruno Haible  <bruno@clisp.org>
44703
44704         Add strtoull() declaration to <stdlib.h>.
44705         * lib/stdlib.in.h (strtoull): New declaration.
44706         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44707         Set HAVE_STRTOULL.
44708         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44709         HAVE_STRTOULL.
44710         * modules/strtoull (Depends-on): Add stdlib.
44711         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44712         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44713         HAVE_STRTOULL.
44714
44715 2008-10-19  Bruno Haible  <bruno@clisp.org>
44716
44717         Add strtoll() declaration to <stdlib.h>.
44718         * lib/stdlib.in.h (strtoll): New declaration.
44719         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44720         Set HAVE_STRTOLL.
44721         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44722         HAVE_STRTOLL.
44723         * modules/strtoll (Depends-on): Add stdlib.
44724         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44725         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44726
44727 2008-10-19  Bruno Haible  <bruno@clisp.org>
44728
44729         * modules/bcopy (Depends-on): Add strings.
44730         (Include): Specify <strings.h>.
44731
44732 2008-10-19  Bruno Haible  <bruno@clisp.org>
44733
44734         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44735
44736 2008-10-19  Bruno Haible  <bruno@clisp.org>
44737
44738         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44739         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44740         mingw.
44741
44742 2008-10-19  Bruno Haible  <bruno@clisp.org>
44743
44744         * lib/atanl.c: Don't include isnanl.h.
44745         * lib/cosl.c: Likewise.
44746         * lib/ldexpl.c: Likewise.
44747         * lib/logl.c: Likewise.
44748         * lib/sinl.c: Likewise.
44749         * lib/sqrtl.c: Likewise.
44750         * lib/tanl.c: Likewise.
44751
44752         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44753         * lib/isnanf.h: Remove file.
44754         * lib/isnand.h: Remove file.
44755         * lib/isnanl.h: Remove file.
44756         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44757         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44758         macros.
44759         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44760         HAVE_ISNANF, don't define it as a C macro.
44761         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44762         HAVE_ISNAND, don't define it as a C macro.
44763         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44764         HAVE_ISNANL, don't define it as a C macro.
44765         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44766         HAVE_ISNAN[FDL].
44767         * modules/isnanf (Files): Remove lib/isnanf.h.
44768         (Depends-on): Add math.
44769         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44770         (Include): Specify <math.h> instead of isnanf.h.
44771         * modules/isnand (Files): Remove lib/isnand.h.
44772         (Depends-on): Add math.
44773         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44774         (Include): Specify <math.h> instead of isnand.h.
44775         * modules/isnanl (Files): Remove lib/isnanl.h.
44776         (Depends-on): Add math.
44777         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44778         (Include): Specify <math.h> instead of isnanl.h.
44779         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44780         HAVE_ISNAN[FDL].
44781         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44782         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44783         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44784         * NEWS: Mention the change.
44785
44786 2008-10-18  Bruno Haible  <bruno@clisp.org>
44787
44788         Add getusershell(), setusershell(), endusershell() declarations to
44789         <unistd.h>.
44790         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44791         declarations.
44792         * lib/getusershell.c: Include unistd.h.
44793         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44794         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44795         HAVE_GETUSERSHELL.
44796         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44797         and HAVE_GETUSERSHELL.
44798         * modules/getusershell (Depends-on): Add unistd, extensions.
44799         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44800         (Include): Specify <unistd.h>.
44801         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44802         HAVE_GETUSERSHELL.
44803
44804 2008-10-18  Bruno Haible  <bruno@clisp.org>
44805
44806         Add a getloadavg() declaration to <stdlib.h>.
44807         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44808         getloadavg declaration.
44809         (getloadavg): New declaration.
44810         * lib/getloadavg.c: Include <stdlib.h> first.
44811         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44812         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44813         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44814         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44815         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44816         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44817         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44818         (Include): Specify <stdlib.h>.
44819         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44820         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44821
44822 2008-10-18  Bruno Haible  <bruno@clisp.org>
44823
44824         * lib/dirchownmod.c: Don't include lchmod.h.
44825
44826         Move the lchmod() declaration to <sys/stat.h>.
44827         * lib/lchmod.h: Remove file.
44828         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44829         (lchmod): New declaration, moved here from lib/lchown.h.
44830         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44831         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44832         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44833         and HAVE_LCHMOD.
44834         * modules/lchmod (Files): Remove lib/lchmod.h.
44835         (Depends-on): Add sys_stat, extensions.
44836         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44837         (Include): Specify <sys/stat.h> instead of lchmod.h.
44838         * modules/sys_stat (Depends-on): Add link-warning.
44839         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44840         definition of GL_LINK_WARNING.
44841         * NEWS: Mention the change.
44842
44843 2008-10-18  Bruno Haible  <bruno@clisp.org>
44844
44845         * lib/fchdir.c: Don't include dirfd.h.
44846         * lib/fts.c: Likewise.
44847         * lib/getcwd.c: Likewise.
44848         * lib/glob.c: Likewise.
44849
44850         Move the dirfd() declaration to <dirent.h>.
44851         * lib/dirfd.h: Remove file.
44852         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
44853         (dirfd): New declaration.
44854         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
44855         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
44856         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
44857         HAVE_DECL_DIRFD.
44858         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
44859         HAVE_DECL_DIRFD.
44860         * modules/dirfd (Files): Remove lib/dirfd.h.
44861         (Depends-on): Add dirent, extensions.
44862         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
44863         (Include): Specify <dirent.h> instead of dirfd.h.
44864         * modules/dirent (Depends-on): Add link-warning.
44865         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
44866         definition of GL_LINK_WARNING.
44867         * NEWS: Mention the change.
44868
44869 2008-10-18  Bruno Haible  <bruno@clisp.org>
44870
44871         Move the euidaccess() declaration to <unistd.h>.
44872         * lib/euidaccess.h: Remove file.
44873         * lib/unistd.in.h (euidaccess): New declaration.
44874         * lib/euidaccess.c: Don't include euidaccess.h.
44875         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
44876         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
44877         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
44878         and HAVE_EUIDACCESS.
44879         * modules/euidaccess (Files): Remove lib/euidaccess.h.
44880         (Depends-on): Add unistd.
44881         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44882         (Include): Specify <unistd.h> instead of euidaccess.h.
44883         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
44884         HAVE_EUIDACCESS.
44885         * NEWS: Mention the change.
44886
44887 2008-10-18  Bruno Haible  <bruno@clisp.org>
44888
44889         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
44890
44891         Move the getdomainname() declaration to <unistd.h>.
44892         * lib/getdomainname.h: Remove file.
44893         * lib/unistd.in.h (getdomainname): New declaration.
44894         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
44895         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44896         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44897         HAVE_GETDOMAINNAME.
44898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44899         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
44900         * modules/getdomainname (Files): Remove lib/getdomainname.h.
44901         (Depends-on): Add unistd, extensions.
44902         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44903         (Includes): Specify <unistd.h> instead of getdomainname.h.
44904         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
44905         HAVE_GETDOMAINNAME.
44906         * NEWS: Mention the change.
44907
44908 2008-10-18  Bruno Haible  <bruno@clisp.org>
44909
44910         * modules/dirent: New file.
44911         * m4/dirent_h.m4: New file.
44912         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
44913         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
44914         * modules/fchdir (Files): Remove lib/dirent.in.h.
44915         (Depends-on): Add dirent.
44916         (Makefile.am): Move rules to modules/dirent.
44917         * doc/posix-headers/dirent.texi: Mention the new module.
44918
44919 2008-10-18  Bruno Haible  <bruno@clisp.org>
44920
44921         Avoid -Wunused-parameter warnings in public gnulib header files.
44922         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
44923         macro.
44924         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
44925
44926 2008-10-18  Bruno Haible  <bruno@clisp.org>
44927
44928         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
44929         * doc/glibc-functions/error.texi: Mention the module 'error'.
44930         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
44931         * doc/glibc-functions/getdomainname.texi: Mention the module
44932         'getdomainname'.
44933         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
44934         * doc/glibc-functions/getpagesize.texi: Mention the module
44935         'getpagesize'.
44936         * doc/glibc-functions/getusershell.texi: Mention the module
44937         'getusershell'.
44938         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
44939         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
44940         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
44941         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
44942         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
44943         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
44944         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
44945         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
44946         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
44947         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
44948         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
44949         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
44950         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
44951         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
44952
44953 2008-10-17  Bruno Haible  <bruno@clisp.org>
44954
44955         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
44956         HP-UX and IRIX, use -0.0L.
44957         * tests/test-ceill.c (minus_zero): Likewise.
44958         * tests/test-floorl.c (minus_zero): Likewise.
44959         * tests/test-frexpl.c (minus_zero): Likewise.
44960         * tests/test-isnan.c (minus_zerol): Likewise.
44961         * tests/test-isnanl.h (minus_zero): Likewise.
44962         * tests/test-ldexpl.c (minus_zero): Likewise.
44963         * tests/test-roundl.c (minus_zero): Likewise.
44964         * tests/test-signbit.c (minus_zerol): Likewise.
44965         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44966         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44967         * tests/test-truncl.c (minus_zero): Likewise.
44968         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44969         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44970         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
44971         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44972
44973 2008-10-17  Bruno Haible  <bruno@clisp.org>
44974
44975         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
44976         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
44977         that it gets activated only for gcc >= 3.0.
44978         * lib/dirent.in.h: Likewise.
44979         * lib/errno.in.h: Likewise.
44980         * lib/fcntl.in.h: Likewise.
44981         * lib/float.in.h: Likewise.
44982         * lib/iconv.in.h: Likewise.
44983         * lib/inttypes.in.h: Likewise.
44984         * lib/locale.in.h: Likewise.
44985         * lib/math.in.h: Likewise.
44986         * lib/netdb.in.h: Likewise.
44987         * lib/netinet_in.in.h: Likewise.
44988         * lib/search.in.h: Likewise.
44989         * lib/signal.in.h: Likewise.
44990         * lib/spawn.in.h: Likewise.
44991         * lib/stdarg.in.h: Likewise.
44992         * lib/stdint.in.h: Likewise.
44993         * lib/stdio.in.h: Likewise.
44994         * lib/stdlib.in.h: Likewise.
44995         * lib/string.in.h: Likewise.
44996         * lib/strings.in.h: Likewise.
44997         * lib/sys_file.in.h: Likewise.
44998         * lib/sys_ioctl.in.h: Likewise.
44999         * lib/sys_select.in.h: Likewise.
45000         * lib/sys_socket.in.h: Likewise.
45001         * lib/sys_stat.in.h: Likewise.
45002         * lib/sys_time.in.h: Likewise.
45003         * lib/sysexits.in.h: Likewise.
45004         * lib/time.in.h: Likewise.
45005         * lib/unistd.in.h: Likewise.
45006         * lib/wchar.in.h: Likewise.
45007         * lib/wctype.in.h: Likewise.
45008         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45009
45010 2008-10-17  Jim Meyering  <meyering@redhat.com>
45011
45012         ignore-value: don't depend on inline module
45013         * modules/ignore-value (Depends-on): Remove 'inline'.
45014         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
45015         Suggestion from Bruno Haible.
45016
45017 2008-10-17  Bruno Haible  <bruno@clisp.org>
45018
45019         New implementation of condition variables for Win32.
45020         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
45021         (gl_linked_waitqueue_t): New type.
45022         (gl_cond_t): Use it.
45023         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
45024         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
45025         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
45026         (glthread_cond_init_func, glthread_cond_wait_func,
45027         glthread_cond_timedwait_func, glthread_cond_signal_func,
45028         glthread_cond_broadcast_func, glthread_cond_destroy_func):
45029         Reimplemented on the basis of gl_linked_waitqueue_t.
45030         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
45031         gl_waitqueue_t.
45032         (gl_rwlock_t): Update.
45033         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
45034
45035 2008-10-17  Simon Josefsson  <simon@josefsson.org>
45036
45037         * modules/recvfrom (Depends-on): Add dependency on getpeername.
45038         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45039
45040 2008-10-17  Jim Meyering  <meyering@redhat.com>
45041
45042         ignore-value: new module
45043         * modules/ignore-value: New file.
45044         * lib/ignore-value.h: New file.
45045         * MODULES.html.sh (Compiler warning management): New section,
45046         just for this module.  More to come.
45047
45048 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45049
45050         open-safer.c: avoid 'signed and unsigned in conditional...' warning
45051         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
45052         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
45053
45054 2008-10-16  Jim Meyering  <meyering@redhat.com>
45055
45056         openat-die.c: avoid 'no previous prototype' warning
45057         * lib/openat-die.c: Include "openat.h".
45058         Reported by Reuben Thomas <rrt@sc3d.org>.
45059
45060 2008-10-16  Simon Josefsson  <simon@josefsson.org>
45061
45062         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
45063         * lib/netdb.in.h: Fix typo.
45064         Reported by Bruno Haible  <bruno@clisp.org>
45065
45066         * lib/netdb.in.h: Include sys/socket.h for platforms without
45067         netdb.h, to get structures like hostent on MinGW.
45068         * modules/netdb (Depends-on): Add sys_socket.
45069
45070 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45071
45072         * modules/netdb, modules/netdb-tests: New file.
45073         * m4/netdb_h.m4: New file.
45074         * lib/netdb.in.h: Add, currently just an empty file pending
45075         definitions.
45076         * tests/test-netdb.c: New file.
45077         * doc/posix-headers/netdb.texi: Mention that we replace it if
45078         needed.
45079         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45080         netdb.
45081
45082 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45083
45084         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
45085         with code.
45086
45087 2008-10-13  Bruno Haible  <bruno@clisp.org>
45088
45089         * lib/glthread/cond.c (glthread_cond_wait_func,
45090         glthread_cond_timedwait_func): Add a comment.
45091
45092 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45093
45094         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
45095         * tests/test-select.c: Likewise,
45096
45097 2008-10-13  Bruno Haible  <bruno@clisp.org>
45098
45099         * lib/glthread/cond.c (glthread_cond_wait_func,
45100         glthread_cond_timedwait_func): Fix variable name.
45101         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45102
45103 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
45104
45105         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
45106         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
45107         struct sockaddr.sa_len.
45108         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
45109
45110 2008-10-13  Simon Josefsson  <simon@josefsson.org>
45111
45112         * build-aux/pmccabe2html: Add css and css_url parameters.
45113
45114 2008-10-12  Bruno Haible  <bruno@clisp.org>
45115
45116         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
45117         calling aclx_get.
45118         Reported by Rainer Tammer <tammer@tammer.net>.
45119
45120 2008-10-12  Bruno Haible  <bruno@clisp.org>
45121
45122         Use msvcrt aware primitives for creation/termination of Win32 threads.
45123         * lib/glthread/thread.c: Include <process.h>.
45124         (glthread_create_func): Use _beginthreadex instead of CreateThread.
45125         (wrapper_func): Update signature.
45126         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
45127
45128 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45129             Bruno Haible  <bruno@clisp.org>
45130
45131         Provide a Win32 implementation of the 'cond' module.
45132         * lib/glthread/cond.h [USE_WIN32]: New implementation.
45133         * lib/glthread/cond.c (glthread_cond_init_func,
45134         glthread_cond_wait_func, glthread_cond_timedwait_func,
45135         glthread_cond_signal_func, glthread_cond_broadcast_func,
45136         glthread_cond_destroy_func) [USE_WIN32]: New functions.
45137         * modules/cond (Dependencies): Add gettimeofday.
45138
45139 2008-10-11  Bruno Haible  <bruno@clisp.org>
45140
45141         Make sleep work on older versions of mingw.
45142         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
45143         only whether it exists.
45144         * doc/posix-functions/sleep.texi: Mention the problem with older
45145         versions of mingw.
45146
45147 2008-10-11  Bruno Haible  <bruno@clisp.org>
45148
45149         New module 'shutdown'.
45150         * modules/shutdown: New file.
45151         * lib/sys_socket.in.h (shutdown): New declaration.
45152         * lib/winsock.c (shutdown): New function.
45153         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45154         GNULIB_SHUTDOWN.
45155         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
45156         * doc/posix-functions/shutdown.texi: Document the new module.
45157
45158 2008-10-11  Jim Meyering  <meyering@redhat.com>
45159
45160         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
45161
45162 2008-10-11  Bruno Haible  <bruno@clisp.org>
45163
45164         New module 'fclose'.
45165         * modules/fclose: New file.
45166         * lib/stdio.in.h (fclose): New declaration.
45167         * lib/fclose.c: New file.
45168         * m4/fclose.m4: New file.
45169         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
45170         REPLACE_FCLOSE.
45171         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
45172         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
45173         REPLACE_FCLOSE.
45174         * modules/close (Depends-on): fclose.
45175         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
45176
45177 2008-10-11  Bruno Haible  <bruno@clisp.org>
45178
45179         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
45180         set errno and don't call _close.
45181
45182 2008-10-10  Bruno Haible  <bruno@clisp.org>
45183
45184         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
45185         ACL, not afterwards. Fixes test failure on Cygwin.
45186
45187 2008-10-09  Ben Pfaff  <blp@gnu.org>
45188
45189         * build-aux/announce-gen: Fix gnulib version related part of usage
45190         message.  Die with a useful error message if no tarballs are
45191         found.
45192
45193 2008-10-10  Jim Meyering  <meyering@redhat.com>
45194
45195         bootstrap: use git's --depth=N option only if it's supported
45196         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
45197         recognize the --depth option.  Reported by Pádraig Brady.
45198
45199 2008-10-09  Bruno Haible  <bruno@clisp.org>
45200
45201         New module 'ioctl'.
45202         * modules/ioctl: New file.
45203         * lib/sys_socket.in.h (ioctl): Remove declaration.
45204         * lib/winsock.c: Include <sys/ioctl.h>.
45205         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
45206         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45207         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
45208         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
45209         * doc/posix-functions/ioctl.texi: Mention the new module.
45210
45211 2008-10-09  Bruno Haible  <bruno@clisp.org>
45212
45213         New module 'sys_ioctl'.
45214         * lib/sys_ioctl.in.h: New file.
45215         * m4/sys_ioctl_h.m4: New file.
45216         * modules/sys_ioctl: New file.
45217         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
45218
45219 2008-10-09  Bruno Haible  <bruno@clisp.org>
45220
45221         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
45222         * lib/winsock.c: Include <stdarg.h>.
45223         (rpl_ioctl): Change to second argument 'int' and then varargs.
45224
45225 2008-10-09  Bruno Haible  <bruno@clisp.org>
45226
45227         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
45228         when the sys_socket module is present and the system has <winsock2.h>.
45229
45230 2008-10-09  Bruno Haible  <bruno@clisp.org>
45231
45232         * doc/posix-functions/close.texi: Mention module 'close' instead of
45233         module 'sys_socket'.
45234
45235 2008-10-09  Bruno Haible  <bruno@clisp.org>
45236
45237         * doc/glibc-headers/sys_ioctl.texi: New file.
45238         * doc/gnulib.texi: Include it.
45239
45240 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45241             Bruno Haible  <bruno@clisp.org>
45242
45243         Combine the two replacements of 'close'.
45244         * lib/sys_socket.in.h (close): Define to a reminder to include
45245         <unistd.h>.
45246         (_gl_close_fd_maybe_socket): New declaration.
45247         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
45248         * lib/winsock.c (close): Remove undefinition.
45249         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
45250         needed for the gnulib module 'close'.
45251         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
45252         define to an error symbol or to a warning, if suitable.
45253         * lib/close.c: Include <sys/socket.h>.
45254         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
45255         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
45256         UNISTD_H_HAVE_WINSOCK2_H.
45257         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
45258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45259         UNISTD_H_HAVE_WINSOCK2_H.
45260         * modules/sys_socket (Files): Add m4/unistd_h.m4.
45261         (configure.ac): Set a module indicator.
45262         (Makefile.am): Substitute GNULIB_CLOSE.
45263         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
45264         * modules/poll-tests (Depends-on): Add close.
45265         * modules/select-tests (Depends-on): Likewise.
45266
45267 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45268             Bruno Haible  <bruno@clisp.org>
45269
45270         New module 'close'.
45271         * modules/close: New file.
45272         * lib/unistd.in.h (close): Move declaration out of the
45273         FCHDIR_REPLACEMENT scope.
45274         (_gl_unregister_fd): New declaration.
45275         * lib/close.c: New file.
45276         * lib/fchdir.c (rpl_close): Remove function.
45277         * m4/close.m4: New file.
45278         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45279         close.
45280         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
45281         REPLACE_CLOSE.
45282         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
45283         REPLACE_CLOSE.
45284         * modules/fchdir (Depends-on): Add close.
45285
45286 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45287             Bruno Haible  <bruno@clisp.org>
45288
45289         * lib/fcntl.in.h (open): Simplify conditionals.
45290         (_gl_register_fd): New declaration.
45291         * lib/fchdir.c (rpl_open): Remove function.
45292         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
45293         also.
45294         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
45295         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45296         open.
45297
45298 2008-10-09  Jim Meyering  <meyering@redhat.com>
45299
45300         GNUmakefile: use the more name-space-friendly "_version"
45301         * top/GNUmakefile (_dummy): Update.
45302         (_version): Rename from "version".
45303
45304 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45305             Bruno Haible  <bruno@clisp.org>
45306
45307         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
45308         rpl_close.
45309         (_gl_register_fd): New function, extracted from rpl_open.
45310         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
45311         (rpl_open, rpl_opendir): Use _gl_register_fd.
45312
45313 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45314
45315         Fix organization of 'open' replacement.
45316         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
45317         (gl_FUNC_OPEN): Use it.
45318         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
45319
45320 2008-10-08  Bruno Haible  <bruno@clisp.org>
45321
45322         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
45323
45324 2008-10-08  Simon Josefsson  <simon@josefsson.org>
45325
45326         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
45327         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
45328         listen).
45329
45330 2008-10-08  Eric Blake  <ebb9@byu.net>
45331
45332         GNUmakefile: add 'make version' target
45333         * top/GNUmakefile (_curr-ver): Split version update rules...
45334         (version): ...into a target.
45335
45336 2008-10-07  Bruno Haible  <bruno@clisp.org>
45337
45338         Use a more portable replacement expression for -0.0L.
45339         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
45340         instead of -0.0L. Fix m4 quotation.
45341
45342         * tests/test-signbit.c: Include <float.h>.
45343         (minus_zero): New variable.
45344         (test_signbitl): Use minus_zero instead of -zero.
45345         * modules/signbit-tests (Depends-on): Add float.
45346
45347         * tests/test-ceill.c: Include <float.h>.
45348         (zero): Remove variable.
45349         (minus_zero): New variable.
45350         (main): Use minus_zero instead of -zero.
45351         * modules/ceill-tests (Depends-on): Add float.
45352
45353         * tests/test-floorl.c: Include <float.h>.
45354         (zero): Remove variable.
45355         (minus_zero): New variable.
45356         (main): Use minus_zero instead of -zero.
45357         * modules/floorl-tests (Depends-on): Add float.
45358
45359         * tests/test-roundl.c: Include <float.h>.
45360         (zero): Remove variable.
45361         (minus_zero): New variable.
45362         (main): Use minus_zero instead of -zero.
45363         * modules/roundl-tests (Depends-on): Add float.
45364
45365         * tests/test-truncl.c: Include <float.h>.
45366         (zero): Remove variable.
45367         (minus_zero): New variable.
45368         (main): Use minus_zero instead of -zero.
45369         * modules/truncl-tests (Depends-on): Add float.
45370
45371         * tests/test-frexpl.c (zero): Remove variable.
45372         (minus_zero): New variable.
45373         (main): Use minus_zero instead of -zero.
45374         * modules/frexpl-tests (Depends-on): Add float.
45375
45376         * tests/test-isnan.c (zerol): Remove variable.
45377         (minus_zerol): New variable.
45378         (test_long_double): Use minus_zerol instead of -zerol.
45379         * modules/isnan-tests (Depends-on): Add float.
45380
45381         * tests/test-isnanl.h (zero): Remove variable.
45382         (minus_zero): New variable.
45383         (main): Use minus_zero instead of -zero.
45384         * modules/isnanl-nolibm-tests (Depends-on): Add float.
45385         * modules/isnanl-tests (Depends-on): Add float.
45386
45387         * tests/test-ldexpl.c (zero): Remove variable.
45388         (minus_zero): New variable.
45389         (main): Use minus_zero instead of -zero.
45390         * modules/ldexpl-tests (Depends-on): Add float.
45391
45392         * tests/test-snprintf-posix.h (zerol): Remove variable.
45393         (minus_zerol): New variable.
45394         (test_function): Use minus_zerol instead of -zerol.
45395         * modules/snprintf-posix-tests (Depends-on): Add float.
45396         * modules/vsnprintf-posix-tests (Depends-on): Add float.
45397
45398         * tests/test-sprintf-posix.h (zerol): Remove variable.
45399         (minus_zerol): New variable.
45400         (test_function): Use minus_zerol instead of -zerol.
45401         * modules/sprintf-posix-tests (Depends-on): Add float.
45402         * modules/vsprintf-posix-tests (Depends-on): Add float.
45403
45404         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
45405         (minus_zerol): New variable.
45406         (test_function): Use minus_zerol instead of -zerol.
45407         * modules/vasnprintf-posix-tests (Depends-on): Add float.
45408
45409         * tests/test-vasprintf-posix.c (zerol): Remove variable.
45410         (minus_zerol): New variable.
45411         (test_function): Use minus_zerol instead of -zerol.
45412         * modules/vasprintf-posix-tests (Depends-on): Add float.
45413
45414 2008-10-07  Simon Josefsson  <simon@josefsson.org>
45415
45416         * MODULES.html.sh (Support for building documentation): Mention
45417         pmccabe2html.  Sort entries.
45418
45419         Add pmccabe2html module, from gnupdf.
45420         * build-aux/pmccabe.css: New file.
45421         * build-aux/pmccabe2html: New file.
45422         * m4/pmccabe2html.m4: New file.
45423         * modules/pmccabe2html: New file.
45424
45425 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
45426
45427         flock: new module
45428         * MODULES.html.sh: Add to list of modules.
45429         * lib/flock.c: flock implementation for Windows and Unix systems
45430         which have fcntl.
45431         * doc/glibc-functions/flock.texi: Update documentation.
45432         * lib/sys_file.in.h: <sys/file.h> header file.
45433         * m4/flock.m4: M4 macros.
45434         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45435         * modules/flock: flock module.
45436         * modules/flock-tests: flock tests module.
45437         * modules/sys_file: sys/file.h module.
45438         * tests/test-flock.c: test suite for flock.
45439
45440 2008-10-06  Jim Meyering  <meyering@redhat.com>
45441
45442         bootstrap: check for LT_INIT more portably still ;-)
45443         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45444         Spotted by Bruno Haible.
45445
45446 2008-10-06  Eric Blake  <ebb9@byu.net>
45447
45448         test-signbit: avoid tripping Irix cc bug on -0.0L
45449         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45450         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45451         entire testsuite consistent and avoids an Irix 6.2 bug.
45452
45453 2008-10-05  Bruno Haible  <bruno@clisp.org>
45454             Jim Meyering  <jim@meyering.net>
45455
45456         Add an option for ignoring EPIPE during close_stdout.
45457         * lib/closeout.h: Include <stdbool.h>.
45458         (close_stdout_set_ignore_EPIPE): New declaration.
45459         * lib/closeout.c: Include <stdbool.h>.
45460         (ignore_EPIPE): New variable.
45461         (close_stdout_set_ignore_EPIPE): New function.
45462         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45463         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45464         failure.
45465         * modules/closeout (Depends-on): Add stdbool.
45466
45467 2008-10-05  Bruno Haible  <bruno@clisp.org>
45468
45469         * modules/accept: New file.
45470         * modules/bind: New file.
45471         * modules/connect: New file.
45472         * modules/getpeername: New file.
45473         * modules/getsockname: New file.
45474         * modules/getsockopt: New file.
45475         * modules/listen: New file.
45476         * modules/recv: New file.
45477         * modules/recvfrom: New file.
45478         * modules/send: New file.
45479         * modules/sendto: New file.
45480         * modules/setsockopt: New file.
45481         * modules/socket: New file.
45482         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45483         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45484         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45485         the particular module is requested. Add a link warning when the
45486         particular module is not requested.
45487         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45488         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45489         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45490         the particular module is requested.
45491         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45492         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45493         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45494         * modules/sys_socket (Depends-on): Add link-warning.
45495         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45496         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45497         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45498         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45499         GL_LINK_WARNING.
45500         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45501         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45502         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45503         * doc/posix-functions/getpeername.texi: Mention the new module
45504         'getpeername'.
45505         * doc/posix-functions/getsockname.texi: Mention the new module
45506         'getsockname'.
45507         * doc/posix-functions/getsockopt.texi: Mention the new module
45508         'getsockopt'.
45509         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45510         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45511         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45512         * doc/posix-functions/send.texi: Mention the new module 'send'.
45513         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45514         * doc/posix-functions/setsockopt.texi: Mention the new module
45515         'setsockopt'.
45516         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45517         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45518         listen, connect, accept.
45519         * modules/select-tests (Depends-on): Likewise.
45520
45521 2008-10-05  Bruno Haible  <bruno@clisp.org>
45522
45523         * lib/winsock.c (strerror): Remove unused #undef.
45524         (rpl_close): Remove unused local variable.
45525
45526         * modules/sys_socket (Depends-on); Add errno.
45527
45528 2008-10-05  Bruno Haible  <bruno@clisp.org>
45529
45530         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45531         (select): Add a link warning when the 'select' module is not used.
45532         * modules/sys_select (Depends-on): Add link-warning.
45533         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45534         Suggested by Paolo Bonzini.
45535
45536 2008-10-05  Jim Meyering  <meyering@redhat.com>
45537
45538         bootstrap: check for LT_INIT more portably
45539         * build-aux/bootstrap: Avoid using grep -E, since it's not
45540         portable enough.  Suggestion from Bruno Haible.
45541
45542 2008-10-05  Bruno Haible  <bruno@clisp.org>
45543
45544         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45545         as being fixed by gnulib.
45546
45547 2008-10-05  Bruno Haible  <bruno@clisp.org>
45548
45549         * modules/select-tests: New file, mostly copied from
45550         modules/sys_select-tests.
45551         * tests/test-select.c: New file, mostly copied from
45552         tests/test-sys_select.c.
45553         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45554         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45555         (Makefile.am): Remove test_sys_select_LDADD.
45556
45557         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45558         to an undefined symbol, for an error message.
45559         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45560         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45561         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45562         winsock-select.c here.
45563         * modules/sys_select (Files): Remove lib/winsock-select.c.
45564         (Depends-on): Remove alloca.
45565         (Makefile.am): Substitute GNULIB_SELECT.
45566         * modules/select: New file.
45567         * doc/posix-functions/select.texi: Update.
45568
45569 2008-10-05  Bruno Haible  <bruno@clisp.org>
45570
45571         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45572         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45573         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45574         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45575         getdtablesize.
45576         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45577         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45578
45579 2008-10-05  Bruno Haible  <bruno@clisp.org>
45580
45581         * modules/getdtablesize-tests: New file.
45582         * tests/test-getdtablesize.c: New file.
45583
45584         New module 'getdtablesize'.
45585         * lib/unistd.in.h (getdtablesize): New declaration.
45586         * lib/getdtablesize.c: New file.
45587         * m4/getdtablesize.m4: New file.
45588         * modules/getdtablesize: New file.
45589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45590         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45591         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45592         HAVE_GETDTABLESIZE.
45593         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45594
45595 2008-10-05  Bruno Haible  <bruno@clisp.org>
45596
45597         * modules/sched (Makefile.am): Fix typo.
45598         Reported by Simon Josefsson.
45599
45600 2008-10-05  Jim Meyering  <meyering@redhat.com>
45601
45602         bootstrap: check for LT_INIT, too
45603         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45604         are deprecated.  Suggestion from Ralf Wildenhues.
45605
45606 2008-10-05  Bruno Haible  <bruno@clisp.org>
45607
45608         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45609         overriding them by ours.
45610         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45611
45612 2008-10-05  Jim Meyering  <meyering@redhat.com>
45613
45614         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45615         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45616         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45617
45618 2008-10-04  Bruno Haible  <bruno@clisp.org>
45619
45620         * modules/dup2 (License): Change to LGPLv2+.
45621         * modules/sleep (License): Likewise.
45622         * modules/perror (License): Likewise.
45623         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45624         Blake.
45625         * modules/signal (License): Likewise.
45626         * modules/sigprocmask (License): Likewise.
45627         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45628         Meyering.
45629
45630 2008-10-04  Bruno Haible  <bruno@clisp.org>
45631
45632         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45633         Reported by Rainer Tammer <tammer@tammer.net>.
45634
45635 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45636             Bruno Haible  <bruno@clisp.org>
45637
45638         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45639         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45640         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45641
45642 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45643
45644         filevercmp: new module
45645         * lib/filevercmp.h: New function filevercmp comparing version strings.
45646         * lib/filevercmp.c: Implementation of filevercmp function.
45647         * modules/filevercmp: Module metadata.
45648         * tests/test-filevercmp.c: Unit test for new module.
45649         * modules/filevercmp-tests: Unit test metadata.
45650         * MODULES.html.sh: Add filevercmp module.
45651
45652 2008-10-03  Bruno Haible  <bruno@clisp.org>
45653
45654         * lib/c-ctype.h: Add comment.
45655         Reported by Jim Meyering.
45656
45657 2008-10-02  Bruno Haible  <bruno@clisp.org>
45658
45659         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45660
45661 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45662
45663         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45664         name of bootstrap.conf accordingly.
45665
45666 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45667
45668         * build-aux/bootstrap: Install git-merge-changelog configuration
45669         items into .gitconfig if needed.
45670
45671 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45672
45673         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45674         git repository, and initialize/update it accordingly.
45675
45676 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45677
45678         * modules/fsync-tests: New file.
45679         * tests/test-fsync.c: New file.
45680
45681         New module 'fsync'.
45682         * lib/fsync.c: New file.
45683         * m4/fsync.m4: New file.
45684         * modules/fsync: New file.
45685         * lib/unistd.in.h (fsync): New declaration.
45686         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45687         GNULIB_FSYNC and HAVE_FSYNC.
45688         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45689         * MODULES.html.sh (posix_functions): Add fsync.
45690         * doc/posix-functions/fsync.texi: Mention the new module.
45691
45692 2008-10-02  Jim Meyering  <meyering@redhat.com>
45693
45694         fts.c: sync with similar code from coreutils' remove.c
45695         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45696         Guard also with "#if defined __linux__", since for now at least,
45697         this code is Linux-kernel-specific.
45698
45699 2008-10-02  Jim Meyering  <meyering@redhat.com>
45700
45701         fts: bug fixes
45702         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45703         Include <sys/vfs.h>, not <sys/statfs.h>.
45704
45705         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45706         Include <sys/vfs.h>, not <sys/statfs.h>.
45707
45708 2008-10-01  Bruno Haible  <bruno@clisp.org>
45709
45710         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45711         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45712         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45713         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45714         * doc/posix-functions/posix_spawnp.texi: Likewise.
45715         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45716         whether posix_spawn actually works.
45717         * m4/pipe.m4 (gl_PIPE): Likewise.
45718         * modules/execute (Files): Add m4/posix_spawn.m4.
45719         * modules/pipe (Files): Add m4/posix_spawn.m4.
45720         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45721
45722 2008-10-01  Jim Meyering  <meyering@redhat.com>
45723
45724         remove trailing spaces
45725         * NEWS: Likewise.
45726         * lib/poll.c (poll): Likewise.
45727         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45728         * lib/winsock.c (rpl_close): Likewise.
45729         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45730         * modules/yield: Likewise.
45731         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45732         * tests/test-sys_select.c (connect_to_socket): Likewise.
45733
45734         fts.c: adjust a new interface to be more generally useful
45735         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45736         (fts_build): Adjust caller.
45737
45738 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45739
45740         * modules/cond-tests: New file.
45741         * tests/test-cond.c: New file.
45742
45743 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45744             Bruno Haible  <bruno@clisp.org>
45745
45746         * modules/cond (Dependencies): Add errno, time.
45747         * lib/glthread/cond.h: Include <time.h>.
45748         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45749         across platforms.
45750
45751 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45752             Bruno Haible  <bruno@clisp.org>
45753
45754         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45755
45756 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45757             Bruno Haible  <bruno@clisp.org>
45758
45759         * modules/tls-tests (Depends-on): Add thread, yield.
45760         (configure.ac): Remove all checks.
45761         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45762         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45763         gl_thread_self): Remove definitions. Include glthread/thread.h and
45764         glthread/yield.h instead.
45765         (test_tls): Pass an additional NULL argument to gl_thread_join.
45766
45767 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45768             Bruno Haible  <bruno@clisp.org>
45769
45770         * modules/lock-tests (Depends-on): Add thread, yield.
45771         (configure.ac): Remove all checks.
45772         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45773         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45774         gl_thread_self): Remove definitions. Include glthread/thread.h and
45775         glthread/yield.h instead.
45776         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45777         additional NULL argument to gl_thread_join.
45778
45779 2008-09-30  Bruno Haible  <bruno@clisp.org>
45780
45781         Fix the Win32 implementation of the 'thread' module.
45782         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45783         pointer type.
45784         (gl_thread_self): Invoke gl_thread_self_func.
45785         (gl_thread_self_func): New declaration.
45786         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45787         (do_init_self_key, init_self_key): New functions.
45788         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45789         Remove some fields.
45790         (running_threads, running_lock): Remove variables.
45791         (get_current_thread_handle): New function.
45792         (gl_thread_self_func, wrapper_func, glthread_create_func,
45793         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45794         simplified.
45795
45796 2008-09-30  Bruno Haible  <bruno@clisp.org>
45797
45798         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45799         files.
45800
45801 2008-09-30  Jim Meyering  <meyering@redhat.com>
45802
45803         fts.m4: correct the test for statfs.f_type
45804         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45805         when checking for statfs.f_type.
45806
45807 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45808
45809         tests: avoid some compiler warnings
45810         * tests/test-memchr.c (main): Pass NULL indirectly.
45811         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45812
45813 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
45814
45815         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45816         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45817         exactly specified dayshifts.
45818         (dayshift): New rule.
45819         (rel): Add dayshift.
45820         (relative_time_table) [tomorrow, yesterday, today, now]:
45821         Use tDAY_SHIFT in place of tDAY_UNIT.
45822         * tests/test-getdate.c: Add tests for now-disallowed countable
45823         dayshifts, e.g., "4 yesterday ago".
45824
45825 2008-09-29  Bruno Haible  <bruno@clisp.org>
45826
45827         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45828         * tests/test-posix_spawn1.in.sh: Renamed from
45829         tests/test-posix_spawn.in.sh.
45830         * tests/test-posix_spawn2.c: New file.
45831         * tests/test-posix_spawn2.in.sh: New file.
45832         * modules/posix_spawnp-tests (Files): Update.
45833         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45834
45835 2008-09-29  Bruno Haible  <bruno@clisp.org>
45836
45837         Propagate effects of putenv/setenv/unsetenv to child processes.
45838         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45839         * lib/pipe.c (create_pipe): Likewise.
45840
45841 2008-09-29  Bruno Haible  <bruno@clisp.org>
45842
45843         Enable use of shell scripts as executables in mingw.
45844         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
45845         run the program as a shell script.
45846         * lib/pipe.c (create_pipe): Likewise.
45847         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
45848         resulting array.
45849
45850 2008-09-29  Eric Blake  <ebb9@byu.net>
45851
45852         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
45853
45854 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
45855
45856         * doc/posix-functions/accept.texi: Update mingw problems.
45857         * doc/posix-functions/bind.texi: Update mingw problems.
45858         * doc/posix-functions/close.texi: Update mingw problems.
45859         * doc/posix-functions/connect.texi: Update mingw problems.
45860         * doc/posix-functions/getpeername.texi: Update mingw problems.
45861         * doc/posix-functions/getsockname.texi: Update mingw problems.
45862         * doc/posix-functions/getsockopt.texi: Update mingw problems.
45863         * doc/posix-functions/ioctl.texi: Update mingw problems.
45864         * doc/posix-functions/listen.texi: Update mingw problems.
45865         * doc/posix-functions/recv.texi: Update mingw problems.
45866         * doc/posix-functions/recvfrom.texi: Update mingw problems.
45867         * doc/posix-functions/select.texi: Update mingw problems.
45868         * doc/posix-functions/send.texi: Update mingw problems.
45869         * doc/posix-functions/sendto.texi: Update mingw problems.
45870         * doc/posix-functions/setsockopt.texi: Update mingw problems.
45871         * doc/posix-functions/socket.texi: Update mingw problems.
45872
45873 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
45874             Bruno Haible  <bruno@clisp.org>
45875
45876         * lib/sys_select.in.h: Include sys/time.h.
45877         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
45878         * modules/sys_select: Depend on sys_time.
45879         * tests/test-sys_select.c: Test that sys/select.h defines struct
45880         timeval fully.
45881
45882 2008-09-29  Bruno Haible  <bruno@clisp.org>
45883
45884         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
45885         * lib/sys_select.in.h: Likewise.
45886
45887 2008-09-29  Bruno Haible  <bruno@clisp.org>
45888
45889         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
45890
45891 2008-09-29  Bruno Haible  <bruno@clisp.org>
45892
45893         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
45894         Set LIBSOCKET instead of augmenting LIBS.
45895         * modules/sockets (Link): New section.
45896         * modules/sockets-tests (test_sockets_LDADD): New variable.
45897         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
45898         * modules/poll-tests (test_poll_LDADD): New variable.
45899         * NEWS: Document the change.
45900
45901 2008-09-29  Bruno Haible  <bruno@clisp.org>
45902
45903         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
45904         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
45905         ARPA_INET_H directly.
45906         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45907
45908 2008-09-28  Bruno Haible  <bruno@clisp.org>
45909
45910         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
45911         from gl_HEADER_SYS_SOCKET.
45912         (gl_HEADER_SYS_SOCKET): Invoke it.
45913         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45914
45915 2008-09-28  Bruno Haible  <bruno@clisp.org>
45916
45917         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
45918         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
45919         Needed on OSF/1 4.0.
45920
45921 2008-09-28  Bruno Haible  <bruno@clisp.org>
45922
45923         Override open more carefully.
45924         * lib/open.c (orig_open): New function.
45925         (rpl_open): Use orig_open instead of open.
45926         * lib/fcntl.in.h: Add special invocation convention.
45927         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
45928         (gl_FUNC_OPEN): Invoke it.
45929
45930         Override freopen more carefully.
45931         * lib/freopen.c (orig_freopen): New function.
45932         (rpl_freopen): Use orig_freopen instead of freopen.
45933         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
45934         (gl_FUNC_FREOPEN): Invoke it.
45935
45936         Override fopen more carefully.
45937         * lib/fopen.c (orig_fopen): New function.
45938         (rpl_fopen): Use orig_fopen instead of fopen.
45939         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
45940         (gl_FUNC_FOPEN): Invoke it.
45941         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
45942
45943 2008-09-28  Bruno Haible  <bruno@clisp.org>
45944
45945         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
45946         SIGPIPE.
45947
45948 2008-09-28  Bruno Haible  <bruno@clisp.org>
45949
45950         * tests/test-sigaction.c (handler, main): Disable the check whether
45951         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
45952         glibc systems with LinuxThreads.
45953
45954 2008-09-28  Bruno Haible  <bruno@clisp.org>
45955
45956         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
45957
45958         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
45959         with AIX xlc.
45960         * lib/fcntl.in.h (open): Likewise.
45961         Reported by Rainer Tammer <tammer@tammer.net>.
45962
45963 2008-09-28  Bruno Haible  <bruno@clisp.org>
45964
45965         * modules/posix_spawnp-tests: New file.
45966         * tests/test-posix_spawn.c: New file.
45967         * tests/test-posix_spawn.in.sh: New file.
45968
45969         New module 'posix_spawnp'.
45970         * modules/posix_spawnp: New file.
45971         * lib/spawnp.c: New file, from GNU libc with modifications.
45972         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
45973
45974         New module 'posix_spawn'.
45975         * modules/posix_spawn: New file.
45976         * lib/spawn.c: New file, from GNU libc with modifications.
45977         * doc/posix-functions/posix_spawn.texi: Mention the new module.
45978
45979         New module 'posix_spawnattr_destroy'.
45980         * modules/posix_spawnattr_destroy: New file.
45981         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
45982         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
45983         module.
45984
45985         New module 'posix_spawnattr_setsigmask'.
45986         * modules/posix_spawnattr_setsigmask: New file.
45987         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
45988         modifications.
45989         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
45990         new module.
45991
45992         New module 'posix_spawnattr_getsigmask'.
45993         * modules/posix_spawnattr_getsigmask: New file.
45994         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
45995         modifications.
45996         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
45997         new module.
45998
45999         New module 'posix_spawnattr_setsigdefault'.
46000         * modules/posix_spawnattr_setsigdefault: New file.
46001         * lib/spawnattr_setdefault.c: New file, from GNU libc with
46002         modifications.
46003         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
46004         new module.
46005
46006         New module 'posix_spawnattr_getsigdefault'.
46007         * modules/posix_spawnattr_getsigdefault: New file.
46008         * lib/spawnattr_getdefault.c: New file, from GNU libc with
46009         modifications.
46010         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
46011         new module.
46012
46013         New module 'posix_spawnattr_setschedpolicy'.
46014         * modules/posix_spawnattr_setschedpolicy: New file.
46015         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
46016         modifications.
46017         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
46018         new module.
46019
46020         New module 'posix_spawnattr_getschedpolicy'.
46021         * modules/posix_spawnattr_getschedpolicy: New file.
46022         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
46023         modifications.
46024         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
46025         new module.
46026
46027         New module 'posix_spawnattr_setschedparam'.
46028         * modules/posix_spawnattr_setschedparam: New file.
46029         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
46030         modifications.
46031         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
46032         new module.
46033
46034         New module 'posix_spawnattr_getschedparam'.
46035         * modules/posix_spawnattr_getschedparam: New file.
46036         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
46037         modifications.
46038         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
46039         new module.
46040
46041         New module 'posix_spawnattr_setpgroup'.
46042         * modules/posix_spawnattr_setpgroup: New file.
46043         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
46044         modifications.
46045         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
46046         module.
46047
46048         New module 'posix_spawnattr_getpgroup'.
46049         * modules/posix_spawnattr_getpgroup: New file.
46050         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
46051         modifications.
46052         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
46053         module.
46054
46055         New module 'posix_spawnattr_setflags'.
46056         * modules/posix_spawnattr_setflags: New file.
46057         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
46058         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
46059         module.
46060
46061         New module 'posix_spawnattr_getflags'.
46062         * modules/posix_spawnattr_getflags: New file.
46063         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
46064         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
46065         module.
46066
46067         New module 'posix_spawnattr_init'.
46068         * modules/posix_spawnattr_init: New file.
46069         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
46070         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
46071         module.
46072
46073         New module 'posix_spawn_file_actions_destroy'.
46074         * modules/posix_spawn_file_actions_destroy: New file.
46075         * lib/spawn_faction_destroy.c: New file, from GNU libc with
46076         modifications.
46077         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
46078         the new module.
46079
46080         New module 'posix_spawn_file_actions_addopen'.
46081         * modules/posix_spawn_file_actions_addopen: New file.
46082         * lib/spawn_faction_addopen.c: New file, from GNU libc with
46083         modifications.
46084         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
46085         the new module.
46086
46087         New module 'posix_spawn_file_actions_adddup2'.
46088         * modules/posix_spawn_file_actions_adddup2: New file.
46089         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
46090         modifications.
46091         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
46092         the new module.
46093
46094         New module 'posix_spawn_file_actions_addclose'.
46095         * modules/posix_spawn_file_actions_addclose: New file.
46096         * lib/spawn_faction_addclose.c: New file, from GNU libc with
46097         modifications.
46098         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
46099         the new module.
46100
46101         New module 'posix_spawn_file_actions_init'.
46102         * modules/posix_spawn_file_actions_init: New file.
46103         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
46104         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
46105         new module.
46106
46107         New module 'posix_spawn-internal'.
46108         * modules/posix_spawn-internal: New file.
46109         * lib/spawn_int.h: New file, from GNU libc with modifications.
46110         * lib/spawni.c: New file, from GNU libc with modifications.
46111         * m4/posix_spawn.m4: New file.
46112
46113         New module 'spawn'.
46114         * modules/spawn: New file.
46115         * lib/spawn.in.h: New file, from GNU libc with modifications.
46116         * m4/spawn_h.m4: New file.
46117         * doc/posix-headers/spawn.texi: Mention the new module.
46118
46119 2008-09-28  Bruno Haible  <bruno@clisp.org>
46120
46121         * modules/sched-tests: New file.
46122         * tests/test-sched.c: New file.
46123
46124         New module 'sched'.
46125         * modules/sched: New file.
46126         * lib/sched.in.h: New file.
46127         * m4/sched_h.m4: New file.
46128         * doc/posix-headers/sched.texi: Mention the new module.
46129
46130 2008-09-27  Eric Blake  <ebb9@byu.net>
46131
46132         Fix previous patch, and tweak references to $0.
46133         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
46134         (func_version, func_gnulib_dir): Don't call this program
46135         gnulib-tool.
46136         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
46137         with using $0 in function.
46138         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
46139         (func_fatal_error): Reuse the name the user invoked us with.
46140
46141 2008-09-27  Bruno Haible  <bruno@clisp.org>
46142
46143         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
46144         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
46145         (gl_ICONV_H): Not here.
46146         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
46147         instead of assigning ICONV_H directly.
46148
46149         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
46150         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
46151         WCHAR_H directly.
46152
46153 2008-09-27  Bruno Haible  <bruno@clisp.org>
46154
46155         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
46156         * modules/arpa_inet (Depends-on): Add link-warning.
46157         (Makefile.am): Insert the definition of GL_LINK-WARNING.
46158         * modules/unistd (Makefile.am): Likewise.
46159
46160 2008-09-26  Bruno Haible  <bruno@clisp.org>
46161
46162         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
46163         variables.
46164         (func_version): Essentially copied from gnulib-tool.
46165         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
46166         func_readlink): Copied from gnulib-tool.
46167
46168 2008-09-26  Bruno Haible  <bruno@clisp.org>
46169
46170         * gnulib-tool (func_version): Change directory to $gnulib_dir before
46171         invoking git-version-gen.
46172
46173 2008-09-26  Bruno Haible  <bruno@clisp.org>
46174
46175         * posix-modules: Update to directory names changed on 2008-01-19.
46176         Remove commas in output before splitting into words. No more need to
46177         avoid 'ftruncate' since 2007-02-19.
46178
46179 2008-09-26  Bruno Haible  <bruno@clisp.org>
46180
46181         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
46182
46183 2008-09-26  Bruno Haible  <bruno@clisp.org>
46184
46185         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
46186         * modules/fwriteerror (Depends-on): Add errno.
46187
46188 2008-09-26  Bruno Haible  <bruno@clisp.org>
46189
46190         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
46191         * tests/test-vc-list-files-cvs.sh: Likewise.
46192
46193 2008-09-26  Bruno Haible  <bruno@clisp.org>
46194
46195         * doc/posix-headers/sys_resource.texi: Reorder items.
46196
46197 2008-09-26  Jim Meyering  <meyering@redhat.com>
46198
46199         fts: tweak inode comparison function
46200         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
46201         inode numbers, as documented.
46202
46203         fts: sort dirent entries on inode number before traversing
46204         This avoids a quadratic, seek-related performance penalty when
46205         operating on a directory containing many entries (measurable at 10k;
46206         3.5 hours at 2 million entries with a cold cache) on certain types
46207         of file systems, including ext3 and ext4, but not tmpfs.
46208         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
46209         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
46210         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
46211         (fs_handles_readdir_ordered_dirents_efficiently): New function.
46212         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
46213         (fts_build): Set the stat.st_ino member from D_INO.
46214         If it is likely to be useful, sort dirent entries on inode number.
46215
46216         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
46217         and the struct statfs.f_type member.
46218         * modules/fts (Depends-on): Add d-ino.
46219
46220 2008-09-26  Bruno Haible  <bruno@clisp.org>
46221
46222         * modules/sigpipe-die (Depends-on): Add sigpipe.
46223
46224         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
46225         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
46226         and GNULIB_STDIO_H_SIGPIPE are set.
46227         * lib/stdio-write.c: New file.
46228         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
46229         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46230         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46231         REPLACE_STDIO_WRITE_FUNCS.
46232         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
46233         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46234         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46235         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46236         * modules/stdio (Files): Add lib/stdio-write.c.
46237         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
46238         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46239         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46240         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46241         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
46242         REPLACE_FPRINTF_POSIX.
46243         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
46244         REPLACE_PRINTF_POSIX.
46245         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
46246         REPLACE_VFPRINTF_POSIX.
46247         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
46248         REPLACE_VPRINTF_POSIX.
46249         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
46250         SIGPIPE issue.
46251         * doc/posix-functions/fputc.texi: Likewise.
46252         * doc/posix-functions/fputs.texi: Likewise.
46253         * doc/posix-functions/fwrite.texi: Likewise.
46254         * doc/posix-functions/printf.texi: Likewise.
46255         * doc/posix-functions/putc.texi: Likewise.
46256         * doc/posix-functions/putchar.texi: Likewise.
46257         * doc/posix-functions/puts.texi: Likewise.
46258         * doc/posix-functions/vfprintf.texi: Likewise.
46259         * doc/posix-functions/vprintf.texi: Likewise.
46260
46261         * modules/safe-write (Depends-on): Add write.
46262
46263         * modules/sigpipe-tests: New file.
46264         * tests/test-sigpipe.c: New file.
46265         * tests/test-sigpipe.sh: New file.
46266
46267         * modules/write: New file.
46268         * lib/unistd.in.h: Include <sys/types.h>.
46269         (write): New declaration.
46270         * lib/write.c: New file.
46271         * m4/write.m4: New file.
46272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46273         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
46274         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
46275         GNULIB_WRITE, REPLACE_WRITE.
46276         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
46277         and the SIGPIPE issue.
46278
46279         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
46280         (raise): New declaration.
46281         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
46282         (ext_signal): New function.
46283         (rpl_raise): New function.
46284         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
46285         GNULIB_SIGNAL_H_SIGPIPE.
46286         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
46287         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
46288
46289         * modules/sigpipe: New file.
46290         * m4/sigpipe.m4: New file.
46291
46292 2008-09-25  Derek Price  <derek@ximbiot.com>
46293             Bruno Haible  <bruno@clisp.org>
46294
46295         * gnulib-tool (func_import): Report all license incompatibilities, not
46296         just the first one.
46297
46298 2008-09-25  Bruno Haible  <bruno@clisp.org>
46299
46300         * gnulib-tool (func_import): When computing the edits, consider not
46301         only the Makefile.ams that exist but also those that will be generated.
46302
46303 2008-09-25  Simon Josefsson  <simon@josefsson.org>
46304
46305         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
46306         fixes gnulib-tool --test warning about duplicate dependency.
46307
46308 2008-09-25  Bruno Haible  <bruno@clisp.org>
46309
46310         * gnulib-tool: Don't ask the user to perform edits in the generated
46311         Makefile.ams.
46312         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
46313         apply to the Makefile.am being generated.
46314         (func_emit_tests_Makefile_am): Execute edits that apply to the
46315         Makefile.am being generated.
46316         (func_import): Setup list of Makefile.am edits before emitting the
46317         Makefile.ams, not at the end.
46318         (func_create_testdir): Update.
46319         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46320
46321 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46322
46323         * gnulib-tool (func_import): Store the --tests-base option in the
46324         comment in gnulib-cache.m4.
46325
46326 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
46327
46328         * NEWS: Document increased portability that sys_select now provides.
46329
46330         * lib/sys_select.in.h: Install select wrapper.
46331         * lib/sys_socket.in.h: Use more descriptive name when there is no
46332         select wrapper.
46333         * lib/winsock-select.c: New.
46334         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
46335         Require gl_HEADER_SYS_SOCKET.
46336         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
46337         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
46338         * tests/test-sys_select.c: Add functional tests.
46339
46340 2008-09-24  Eric Blake  <ebb9@byu.net>
46341
46342         open, fopen: close fd leak in last patch
46343         * lib/open.c (rpl_open): Close fd before returning error.
46344         * lib/fopen.c (rpl_fopen): Close fd before returning error.
46345         * doc/posix-functions/open.texi (open): Document that Irix also
46346         has the bug.
46347         * doc/posix-functions/fopen.texi (fopen): Likewise.
46348         Reported by Paolo Bonzini.
46349
46350 2008-09-24  Bruno Haible  <bruno@clisp.org>
46351
46352         Ensure that a filename ending in a slash cannot be used to access a
46353         non-directory.
46354         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
46355         to check whether it's really a directory.
46356         * lib/fopen.c: Include fcntl.h, unistd.h.
46357         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
46358         and fdopen().
46359         * modules/fopen (Depends-on): Add unistd.
46360         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
46361         * tests/test-fopen.c (main): Likewise.
46362         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
46363         * doc/posix-functions/fopen.texi: Likewise.
46364         Reported by Eric Blake.
46365
46366 2008-09-23  Eric Blake  <ebb9@byu.net>
46367
46368         c-stack: avoid compiler optimizations when provoking overflow
46369         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
46370         recursion harder to optimize, to ensure a stack overflow occurs.
46371         * tests/test-c-stack.c (recurse): Likewise.
46372         Borrowed from libsigsegv.
46373
46374         c-stack: work around Irix sigaltstack bug
46375         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
46376         whether sigaltstack uses wrong end of stack_t (copied in part from
46377         libsigsegv).
46378         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
46379         Irix bug, without requiring an over-allocation.
46380         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
46381         bug.
46382
46383         fopen: document mingw bug on directories
46384         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
46385         not allowing a stream visiting a directory, even though reading
46386         from such a stream is not portable.
46387
46388 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46389
46390         * lib/poll.c: Rewrite.
46391         * modules/poll: Depend on alloca.
46392
46393 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46394
46395         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
46396         instead define prototypes for a full set of wrappers.  Ensure
46397         that Cygwin does not use the compatibility code, which is only
46398         for MinGW.
46399         * lib/winsock.c: New.
46400         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
46401         * modules/sys_socket: Add lib/winsock.c.
46402
46403         * modules/poll-tests: Add errno and perror.
46404         * tests/test-poll.c: Use ioctl, not ioctlsocket.
46405
46406 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46407
46408         * tests/test-poll.c: Downgrade minimum needed Winsock version.
46409
46410 2008-09-23  Bruno Haible  <bruno@clisp.org>
46411
46412         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
46413         * doc/glibc-functions/*: Likewise.
46414
46415 2008-09-23  Simon Josefsson  <simon@josefsson.org>
46416
46417         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
46418         success.
46419
46420 2008-09-22  Eric Blake  <ebb9@byu.net>
46421             Bruno Haible  <bruno@clisp.org>
46422
46423         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
46424         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
46425         supply %A but mishandle pseudo-NaN.
46426         Reported by Simon Josefsson.
46427
46428 2008-09-21  Bruno Haible  <bruno@clisp.org>
46429
46430         * tests/test-lock.c (main): Tweak skip message.
46431         * tests/test-tls.c (main): Likewise.
46432
46433 2008-09-21  Bruno Haible  <bruno@clisp.org>
46434
46435         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46436         whether 'struct sigaction' has sa_sigaction here...
46437         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46438         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46439
46440 2008-09-21  Bruno Haible  <bruno@clisp.org>
46441
46442         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46443         section.
46444         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46445         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46446         the new section.
46447         (Support for obsolete systems lacking POSIX:2001): New section.
46448         (String handling <string.h>): Move strdup to the new section.
46449         Suggested by Simon Josefsson and Paolo Bonzini.
46450
46451 2008-09-21  Bruno Haible  <bruno@clisp.org>
46452
46453         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46454         exponents in %e and %g results on 'long double'. Needed for mingw's
46455         improved *printf functions.
46456         * tests/test-vasprintf-posix.c (test_function): Likewise.
46457         * tests/test-snprintf-posix.h (test_function): Likewise.
46458         * tests/test-sprintf-posix.h (test_function): Likewise.
46459         Reported by Eric Blake.
46460
46461 2008-09-21  Bruno Haible  <bruno@clisp.org>
46462
46463         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46464         * tests/test-sprintf-posix.h (test_function): Likewise.
46465
46466 2008-09-21  Bruno Haible  <bruno@clisp.org>
46467
46468         * modules/getpass (Depends-on): Add strdup-posix.
46469
46470         New module 'strdup-posix'.
46471         * modules/strdup-posix: New file.
46472         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46473         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46474         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46475         REPLACE_STRDUP.
46476         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46477         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46478         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46479         strdup-posix.
46480
46481         * modules/strdup (Depends-on): Remove malloc-posix.
46482
46483 2008-09-20  Bruno Haible  <bruno@clisp.org>
46484
46485         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46486         Wildenhues.
46487
46488 2008-09-20  Bruno Haible  <bruno@clisp.org>
46489
46490         Ensure that wint_t gets defined on IRIX 5.3.
46491         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46492         * lib/wctype.in.h (wint_t): Likewise.
46493         (__wctype_wint_t): Remove type.
46494         (isw*): Use wint_t instead of __wctype_wint_t.
46495         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46496         * modules/wchar (Files): Add m4/wint_t.m4.
46497         (Makefile.am): Substitute HAVE_WINT_T.
46498         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46499         * tests/test-wctype.c: Check that wint_t is defined.
46500         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46501         * doc/posix-headers/wctype.texi: Likewise.
46502         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46503
46504 2008-09-18  Bruno Haible  <bruno@clisp.org>
46505
46506         * gnulib-tool (func_exit): Update comment.
46507
46508 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46509
46510         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46511         assumes strdup exists and does not depend on strdup to return
46512         ENOMEM on out of memory conditions.
46513
46514 2008-09-18  Bruno Haible  <bruno@clisp.org>
46515
46516         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
46517         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46518         digits for the exponent.
46519
46520 2008-09-18  Jim Meyering  <meyering@redhat.com>
46521             Bruno Haible  <bruno@clisp.org>
46522
46523         * lib/vasnprintf.c (decimal_point_char): Define also if
46524         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46525
46526 2008-09-16  Bruno Haible  <bruno@clisp.org>
46527         and Eric Blake  <ebb9@byu.net>
46528
46529         vasnprintf: support Irix 5.3
46530         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46531         that mishandle long double infinity.
46532         Reported by Tom G. Christensen.
46533
46534 2008-09-16  Bruno Haible  <bruno@clisp.org>
46535
46536         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46537         Solaris 9.
46538         * doc/glibc-functions/alphasort.texi: Likewise.
46539         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46540
46541 2008-09-16  Jim Meyering  <meyering@redhat.com>
46542
46543         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46544         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46545         a umask modification leak out of a subshell.  Otherwise, the
46546         opensolaris /bin/sh would be accepted and thus cause unwarranted
46547         failures in the coreutils test suite.
46548
46549 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46550
46551         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46552         to succeed.
46553
46554 2008-09-16  Jim Meyering  <meyering@redhat.com>
46555
46556         avoid spurious test failure when library is built without ACL support
46557         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46558         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46559         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46560         * tests/test-copy-acl.sh: Likewise.
46561
46562 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46563
46564         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46565         based on character occurrence counts.
46566
46567 2008-09-15  Eric Blake  <ebb9@byu.net>
46568
46569         tests: avoid some compiler warnings
46570         * tests/test-memchr.c (main): Pass NULL indirectly.
46571         * tests/test-closein.c (main): Avoid unused variable.
46572
46573 2008-09-15  Bruno Haible  <bruno@clisp.org>
46574
46575         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46576         are missing on OpenBSD 4.0 individually.
46577         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46578
46579 2008-09-15  Bruno Haible  <bruno@clisp.org>
46580
46581         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46582         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46583         * doc/posix-functions/perror.texi: Likewise.
46584         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46585         is missing.
46586         Reported by Eric Blake.
46587
46588         * lib/errno.in.h: Use replacement values >= 2000.
46589         Reported by Eric Blake.
46590
46591 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46592
46593         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46594         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46595         limit.
46596         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46597         compareseq was aborted.
46598
46599 2008-09-14  Bruno Haible  <bruno@clisp.org>
46600
46601         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46602         yvec_edit_count.
46603         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46604         (fstrcmp_bounded): Simplify result computation accordingly.
46605
46606 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46607
46608         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46609         (fstrcmp): Define in terms of fstrcmp_bounded.
46610         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46611         lower_bound argument.
46612         Return quickly if the result is certainly < lower_bound.
46613         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46614
46615 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46616
46617         * lib/diffseq.h (EARLY_ABORT): New macro.
46618         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46619         evaluates to true.
46620
46621 2008-09-14  Bruno Haible  <bruno@clisp.org>
46622
46623         * modules/perror-tests: New file.
46624         * tests/test-perror.sh: New file.
46625         * tests/test-perror.c: New file.
46626
46627         New module 'perror'.
46628         * lib/stdio.in.h (perror): New declaration.
46629         * lib/perror.c: New file.
46630         * m4/perror.m4: New file.
46631         * modules/perror: New file.
46632         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46633         * doc/posix-functions/perror.texi: Mention the perror module.
46634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46635         REPLACE_PERROR.
46636         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46637         REPLACE_PERROR.
46638
46639 2008-09-14  Bruno Haible  <bruno@clisp.org>
46640
46641         * modules/stdio (Makefile.am): Reorder to match the order in
46642         lib/stdio.in.h.
46643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46644
46645 2008-09-13  Bruno Haible  <bruno@clisp.org>
46646
46647         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46648
46649 2008-09-13  Bruno Haible  <bruno@clisp.org>
46650
46651         Extend strerror to cover the added errno values.
46652         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46653         (rpl_strerror): Provide error messages for the added errno values and
46654         for the WSA* values.
46655         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46656         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46657         strerror.
46658         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46659         * modules/strerror (Depends-on): Add errno.
46660         * doc/posix-functions/strerror.texi: Document the change.
46661         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46662         and EOVERFLOW.
46663
46664 2008-09-13  Bruno Haible  <bruno@clisp.org>
46665
46666         * modules/EOVERFLOW: Remove file.
46667         * m4/eoverflow.m4: Remove file.
46668         * modules/EOVERFLOW-tests: Remove file.
46669         * tests/test-EOVERFLOW.c: Remove file.
46670         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46671         * modules/ftell (Depends-on): Likewise.
46672         * modules/getdelim (Depends-on): Likewise.
46673         * modules/getugroups (Depends-on): Likewise.
46674         * modules/poll (Depends-on): Likewise.
46675         * modules/snprintf (Depends-on): Likewise.
46676         * modules/sprintf-posix (Depends-on): Likewise.
46677         * modules/vasnprintf (Depends-on): Likewise.
46678         * modules/vasprintf (Depends-on): Likewise.
46679         * modules/vfprintf-posix (Depends-on): Likewise.
46680         * modules/vsnprintf (Depends-on): Likewise.
46681         * modules/vsprintf-posix (Depends-on): Likewise.
46682         * modules/xvasprintf (Depends-on): Likewise.
46683         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46684         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46685         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46686         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46687         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46688         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46689         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46690         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46691         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46692         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46693         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46694         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46695         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46696         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46697         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46698         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46699         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46700         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46701         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46702         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46703         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46704         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46705         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46706         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46707         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46708         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46709         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46710         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46711         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46712         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46713         * MODULES.html.sh: Remove EOVERFLOW.
46714         * NEWS: Mention the change.
46715
46716 2008-09-13  Bruno Haible  <bruno@clisp.org>
46717
46718         * modules/errno-tests: New file.
46719         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46720
46721         * lib/errno.in.h: New file.
46722         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46723         * modules/errno: New file.
46724         * doc/posix-headers/errno.texi: Update documentation.
46725         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46726
46727 2008-09-13  Bruno Haible  <bruno@clisp.org>
46728
46729         * tests/test-poll.c: Use #if for native Windows, rather than testing
46730         __MSVCRT__.
46731
46732 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46733             Bruno Haible  <bruno@clisp.org>
46734
46735         * lib/glob.c: Don't include <pwd.h> on native Windows.
46736         (WINDOWS32): New macro.
46737         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46738
46739 2008-09-13  Bruno Haible  <bruno@clisp.org>
46740
46741         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46742         (ETIMEDOUT): Remove macro.
46743         (glthread_cond_timedwait_multithreaded): New declaration.
46744         (glthread_cond_timedwait): Use it.
46745         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46746         (glthread_cond_timedwait_multithreaded): New function.
46747
46748 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46749
46750         * modules/poll-tests: Do not check for io.h.
46751         * tests/test-poll.c: Check for __MSVCRT__ instead.
46752
46753 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46754
46755         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46756         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46757         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46758
46759 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46760
46761         * modules/poll-tests: New.
46762         * tests/test-poll.c: New.
46763
46764 2008-09-12  Eric Blake  <ebb9@byu.net>
46765
46766         frexp: test for NetBSD failure on -0.0
46767         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46768         not all, bugs from NetBSD 3.0 have been fixed.
46769         * doc/posix-functions/frexp.texi (frexp): Document bug.
46770         Reported by Thomas Klausner.
46771
46772         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46773         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46774         literal -0.0.
46775         Reported by Jonathan C. Patschke <jp@centtech.com>.
46776
46777 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46778
46779         * lib/glthread/cond.h: Use dummy implementation also if
46780         USE_WIN32_THREADS.
46781
46782 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46783
46784         * modules/fnmatch-posix (License): Change to LGPLv2+.
46785         * modules/fnmatch-gnu (License): Likewise.
46786
46787 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46788
46789         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46790
46791 2008-09-11  Jim Meyering  <meyering@redhat.com>
46792
46793         * users.txt: Add gtk-vnc.
46794
46795 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46796
46797         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46798         rotate amounts.
46799
46800         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46801         required for 16-bit and 8-bit rotates.
46802         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46803         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46804         UINT8_MAX instead of hard-coded constants.
46805         Suggested by Paul Eggert.
46806
46807 2008-09-07  Bruno Haible  <bruno@clisp.org>
46808
46809         * tests/test-striconveh.c (main): Check behaviour when converting from
46810         UTF-7.
46811
46812         Make striconveh work better with stateful encodings.
46813         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46814         that iconv does not increment the inptr when returning -1/EINVAL.
46815
46816 2008-09-07  Bruno Haible  <bruno@clisp.org>
46817
46818         * build-aux/config.rpath: Update according to libtool-2.2.6.
46819         * build-aux/config.libpath: Likewise.
46820
46821 2008-09-06  Bruno Haible  <bruno@clisp.org>
46822
46823         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46824         * lib/freadptr.c (freadptr): Likewise.
46825         * lib/freadseek.c (freadptrinc): Likewise.
46826         Reported by Simon Josefsson.
46827
46828 2008-09-06  Bruno Haible  <bruno@clisp.org>
46829
46830         * modules/freadptr (License): Change to LGPLv2+.
46831         * modules/freadseek (License): Likewise.
46832         Suggested by Eric Blake.
46833
46834         * modules/memchr2 (License): Change to LGPLv2+.
46835         Approved by Eric Blake.
46836
46837 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46838             Bruno Haible  <bruno@clisp.org>
46839
46840         Make gnulib-tool work with native 'sed' on AIX.
46841         * gnulib-tool (sed_noop): New variable.
46842         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
46843         func_add_or_update, func_create_testdir): Use it to initialize sed
46844         script variables.
46845         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46846
46847 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
46848             Bruno Haible  <bruno@clisp.org>
46849
46850         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
46851         also works after #include directives.
46852
46853 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
46854
46855         getdate.y: reject an out-of-range timezone value
46856         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
46857         the range [-24...+24].  When specified with only one or two digits,
46858         * tests/test-getdate.c: Tests for the fix.
46859         * doc/getdate.texi: Document this change.
46860
46861 2008-09-03  Bruno Haible  <bruno@clisp.org>
46862
46863         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
46864
46865 2008-09-02  Simon Josefsson  <simon@josefsson.org>
46866
46867         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
46868         <bruce.korb@gmail.com> with ideas from Ben Pfaff
46869         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
46870         Blake <ebb9@byu.net>.
46871
46872         * tests/test-bitrotate.c: Add more test vectors.
46873
46874 2008-09-02  Eric Blake  <ebb9@byu.net>
46875
46876         vasnprintf-posix: handle large precision via %.*d
46877         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
46878         when handling it ourselves.
46879         * tests/test-vasnprintf-posix.c (test_function): Add test.
46880         * tests/test-snprintf-posix.h (test_function): Likewise.
46881         * tests/test-sprintf-posix.h (test_function): Likewise.
46882         * tests/test-vasprintf-posix.c (test_function): Likewise.
46883         Reported by Alain Guibert.
46884
46885 2008-09-01  Eric Blake  <ebb9@byu.net>
46886
46887         c-stack: make configure-time check more robust
46888         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
46889         successful sigaction call.
46890         Reported by Tom G. Christensen.
46891
46892 2008-09-01  Bruno Haible  <bruno@clisp.org>
46893
46894         New module 'findprog-lgpl'.
46895         * modules/findprog-lgpl: New file.
46896         * lib/findprog-lgpl.c: New file.
46897         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
46898         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
46899         to decide whether to use strdup or xstrdup, concatenated_filename or
46900         xconcatenated_filename.
46901
46902 2008-09-01  Bruno Haible  <bruno@clisp.org>
46903
46904         Split module 'concat-filename' into 'concat-filename' (LGPL) and
46905         'xconcat-filename' (GPL).
46906         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
46907         (License): Change to LGPLv2+.
46908         * modules/xconcat-filename: New file.
46909         * lib/concat-filename.h (concatenated_filename): Change specification.
46910         (xconcatenated_filename): New declaration.
46911         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
46912         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
46913         memory situations.
46914         * lib/xconcat-filename.c: New file.
46915         * NEWS: Mention the change.
46916         * lib/findprog.c: Include concat-filename.h, not filename.h.
46917         (find_in_path): Use xconcatenated_filename instead of
46918         concatenated_filename.
46919         * lib/javacomp.c: Include concat-filename.h, not filename.h.
46920         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
46921         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
46922         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
46923         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
46924         instead of concatenated_filename.
46925         * lib/javaexec.c: Include concat-filename.h, not filename.h.
46926         (execute_java_class): Use xconcatenated_filename instead of
46927         concatenated_filename.
46928         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
46929         * modules/javacomp (Depends-on): Likewise.
46930         * modules/javaexec (Depends-on): Likewise.
46931
46932 2008-09-01  Bruno Haible  <bruno@clisp.org>
46933
46934         Split module 'filename' into 'filename' and 'concat-filename'.
46935         * modules/filename: Keep only lib/filename.h.
46936         (License): Change to LGPLv2+.
46937         * modules/concat-filename: New file, extracted from modules/filename.
46938         * lib/filename.h (concatenated_filename): Remove declaration.
46939         * lib/concat-filename.h: New file, extracted from lib/filename.h.
46940         * lib/concat-filename.c: Include concat-filename.h.
46941         * NEWS: Mention the change.
46942
46943 2008-09-01  Simon Josefsson  <simon@josefsson.org>
46944
46945         * lib/bitrotate.h (rotl8, rotr8): Add.
46946
46947         * modules/bitrotate (configure.ac): Need
46948         AC_REQUIRE([AC_C_INLINE]).
46949         (Description): Mention stdint.h.  Reported by Bruno Haible
46950         <bruno@clisp.org>.
46951
46952         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
46953         Paolo Bonzini <bonzini@gnu.org>.
46954
46955 2008-08-31  Bruno Haible  <bruno@clisp.org>
46956
46957         Assume Solaris specific bi-arch conventions on Solaris systems.
46958         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
46959         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
46960         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
46961         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
46962         like acl_libdirstem.
46963         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
46964         acl_libdirstem.
46965         * NEWS: Mention the change.
46966         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
46967
46968 2008-08-31  Jim Meyering  <meyering@redhat.com>
46969
46970         * lib/strftime.h: Add comments describing the two added arguments.
46971
46972         remove duplicate #include directives
46973         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
46974         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
46975
46976 2008-08-31  Bruno Haible  <bruno@clisp.org>
46977
46978         New module 'sigpipe-die'.
46979         * modules/sigpipe-die: New file.
46980         * lib/sigpipe-die.h: New file.
46981         * lib/sigpipe-die.c: New file.
46982         * MODULES.html.sh (Signal handling): Add sigpipe-die.
46983
46984 2008-08-31  Bruno Haible  <bruno@clisp.org>
46985
46986         Don't override previously installed signal handlers.
46987         * lib/fatal-signal.c (saved_sigactions): New variable.
46988         (uninstall_handlers): Reset the signal to the saved handler, not
46989         to SIG_DFL (except when ignored).
46990         (install_handlers): Save the previous handlers.
46991
46992 2008-08-30  Bruno Haible  <bruno@clisp.org>
46993
46994         * gnulib-tool (func_reset_sigpipe): New function.
46995         (func_get_automake_snippet, func_modules_transitive_closure,
46996         func_import): Invoke it before a join command that reads from stdin,
46997         to avoid "echo: write error: Broken pipe" error messages on stderr.
46998         Reported by Sam Steingold <sds@gnu.org>.
46999
47000 2008-08-30  Bruno Haible  <bruno@clisp.org>
47001
47002         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
47003         Code copied from m4/open.m4.
47004         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
47005         access and the filename ends in a slash. Code copied from lib/open.c.
47006         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
47007         * tests/test-fopen.c (main): Check against bug with trailing slash.
47008
47009 2008-08-29  Bruno Haible  <bruno@clisp.org>
47010
47011         Avoid some "gcc -pedantic" warnings.
47012         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
47013         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
47014         * lib/dirent.in.h: Likewise.
47015         * lib/fcntl.in.h: Likewise.
47016         * lib/float.in.h: Likewise.
47017         * lib/iconv.in.h: Likewise.
47018         * lib/inttypes.in.h: Likewise.
47019         * lib/locale.in.h: Likewise.
47020         * lib/math.in.h: Likewise.
47021         * lib/netinet_in.in.h: Likewise.
47022         * lib/search.in.h: Likewise.
47023         * lib/signal.in.h: Likewise.
47024         * lib/stdarg.in.h: Likewise.
47025         * lib/stdint.in.h: Likewise.
47026         * lib/stdio.in.h: Likewise.
47027         * lib/stdlib.in.h: Likewise.
47028         * lib/string.in.h: Likewise.
47029         * lib/strings.in.h: Likewise.
47030         * lib/sys_select.in.h: Likewise.
47031         * lib/sys_socket.in.h: Likewise.
47032         * lib/sys_stat.in.h: Likewise.
47033         * lib/sys_time.in.h: Likewise.
47034         * lib/sysexits.in.h: Likewise.
47035         * lib/time.in.h: Likewise.
47036         * lib/unistd.in.h: Likewise.
47037         * lib/wchar.in.h: Likewise.
47038         * lib/wctype.in.h: Likewise.
47039         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
47040         * modules/fchdir (Makefile.am): Likewise.
47041         * modules/fcntl (Makefile.am): Likewise.
47042         * modules/float (Makefile.am): Likewise.
47043         * modules/iconv_open (Makefile.am): Likewise.
47044         * modules/inttypes (Makefile.am): Likewise.
47045         * modules/locale (Makefile.am): Likewise.
47046         * modules/math (Makefile.am): Likewise.
47047         * modules/netinet_in (Makefile.am): Likewise.
47048         * modules/search (Makefile.am): Likewise.
47049         * modules/signal (Makefile.am): Likewise.
47050         * modules/stdarg (Makefile.am): Likewise.
47051         * modules/stdint (Makefile.am): Likewise.
47052         * modules/stdio (Makefile.am): Likewise.
47053         * modules/stdlib (Makefile.am): Likewise.
47054         * modules/string (Makefile.am): Likewise.
47055         * modules/strings (Makefile.am): Likewise.
47056         * modules/sys_select (Makefile.am): Likewise.
47057         * modules/sys_socket (Makefile.am): Likewise.
47058         * modules/sys_stat (Makefile.am): Likewise.
47059         * modules/sys_time (Makefile.am): Likewise.
47060         * modules/sysexits (Makefile.am): Likewise.
47061         * modules/time (Makefile.am): Likewise.
47062         * modules/unistd (Makefile.am): Likewise.
47063         * modules/wchar (Makefile.am): Likewise.
47064         * modules/wctype (Makefile.am): Likewise.
47065         Reported by Reuben Thomas <rrt@sc3d.org>.
47066
47067 2008-08-29  Bruno Haible  <bruno@clisp.org>
47068
47069         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
47070         any more.
47071
47072 2008-08-29  Simon Josefsson  <simon@josefsson.org>
47073
47074         * MODULES.html.sh (Misc): Add bitrotate.
47075
47076         * modules/bitrotate: New file.
47077
47078         * lib/bitrotate.h: New file.
47079
47080         * modules/bitrotate-tests: New file.
47081
47082         * tests/test-bitrotate.c: New file.
47083
47084         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
47085         on the bitrotate module.
47086
47087         * lib/arctwo.c: Use new bitrotate module.
47088
47089 2008-08-29  Jim Meyering  <meyering@redhat.com>
47090
47091         bootstrap: merge changes from coreutils
47092         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
47093         of copied files.  Remove a kludge, now that this is fixed.
47094         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
47095         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
47096         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
47097
47098 2008-08-29  Bruno Haible  <bruno@clisp.org>
47099
47100         * MODULES.html.sh: Remove --cvs-urls option.
47101
47102 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
47103
47104         maint.mk: adjust to file name change
47105         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
47106
47107 2008-08-28  Jim Meyering  <meyering@redhat.com>
47108
47109         * modules/getndelim2 (License): Relicense to LGPLv2+.
47110         Approved by Richard Stallman for the version of 1995, and by
47111         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
47112
47113 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
47114
47115         * lib/getdelim.c (flockfile, funlockfile): Make all of them
47116         dummy if one is not available.  Do not touch them if
47117         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
47118         (getc_maybe_unlocked): New.
47119         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
47120
47121 2008-08-26  Eric Blake  <ebb9@byu.net>
47122
47123         doc/INSTALL: resync from autoconf
47124         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
47125         (INSTALL_PRELUDE): Delete; this is done more efficiently by
47126         moving...
47127         * install.texi [!autoconf]: ...here.  Resync from autoconf.
47128         * INSTALL: Regenerate.
47129         * INSTALL.ISO: New file.
47130         * INSTALL.UTF-8: Likewise.
47131
47132 2008-08-26  Jim Meyering  <meyering@redhat.com>
47133
47134         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
47135         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
47136         these definitions conditional, so that they may be overridden, too.
47137
47138 2008-08-26  Bruno Haible  <bruno@clisp.org>
47139
47140         Generate INSTALL file variants with prettier quotes.
47141         * doc/Makefile (INSTALL_PRELUDE): New macro.
47142         (INSTALL): Use it.
47143         (INSTALL.ISO, INSTALL.UTF-8): New rules.
47144
47145 2008-08-26  Bruno Haible  <bruno@clisp.org>
47146
47147         Run makeinfo in an English locale.
47148         * doc/Makefile (MAKEINFO): New variable.
47149
47150 2008-08-26  Bruno Haible  <bruno@clisp.org>
47151
47152         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
47153         Suggested by Eric Blake.
47154
47155 2008-08-25  Bruno Haible  <bruno@clisp.org>
47156
47157         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
47158
47159 2008-08-25  Eric Blake  <ebb9@byu.net>
47160
47161         c-stack: test that stack overflow can be caught
47162         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
47163         that platform allows handling stack overflow; at least OS/2 EMX
47164         has sigaltstack, but crashes before transferring control to
47165         handler on stack overflow.
47166         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
47167         check for HAVE_STACK_OVERFLOW_HANDLING.
47168         Reported by Elbert Pol.
47169
47170 2008-08-25  Bruno Haible  <bruno@clisp.org>
47171
47172         * doc/posix-functions/strftime.texi: Fix description of strftime
47173         module.
47174
47175 2008-08-24  Bruno Haible  <bruno@clisp.org>
47176
47177         * tests/uniwidth/test-uc_width2.c: New file.
47178         * tests/uniwidth/test-uc_width2.sh: New file.
47179         * modules/uniwidth/width-tests (Files): Add the new files.
47180         (TESTS): Add uniwidth/test-uc_width2.sh.
47181         (TESTS_ENVIRONMENT): New variable.
47182         (check_PROGRAMS): Add test-uc_width2.
47183         (test_uc_width2_SOURCES): New variable.
47184
47185         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
47186         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
47187         not 0x00AB.
47188         Reported by Alexander V. Lukyanov <lav@netis.ru>.
47189
47190 2008-08-22  Eric Blake  <ebb9@byu.net>
47191
47192         test-lock, test-tls: mention why a test is skipped
47193         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
47194         skipped.
47195         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
47196
47197         count-one-bits: relax license
47198         * modules/count-one-bits (License): Relicense to LGPLv2+.
47199         Suggested by Ludovic Courtès, approved by Ben Pfaff.
47200
47201 2008-08-22  Andreas Schwab  <schwab@suse.de>
47202
47203         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
47204         Remove spurious space in assignment.
47205
47206 2008-08-21  Simon Josefsson  <simon@josefsson.org>
47207
47208         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
47209         Paul Eggert <eggert@CS.UCLA.EDU>.
47210
47211 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
47212
47213         * modules/gettext: Add m4/threadlib.m4.
47214
47215 2008-08-19  Eric Blake  <ebb9@byu.net>
47216
47217         test-c-stack: fix compilation failure on FreeBSD 5.0
47218         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
47219         headers before <sys/resource.h>.
47220         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
47221         the bug.
47222         Reported by Nelson H. F. Beebe.
47223
47224         strverscmp: migrate from "strverscmp.h" to <string.h>
47225         * modules/string (Makefile.am): Add new hooks.
47226         * modules/strverscmp (Files): Remove strverscmp.h.
47227         (Depends-on): Add string.
47228         (configure.ac): Add indicator.
47229         (Include): Mention new header.
47230         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
47231         defaults.
47232         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
47233         results.
47234         * lib/strverscmp.h: Delete.
47235         * lib/string.in.h (strverscmp): Provide declaration, when needed.
47236         * tests/test-strverscmp.c (includes): Adjust client.
47237         * lib/check-version.c (includes): Likewise.
47238         * NEWS: Document the change.
47239
47240         strverscmp: add unit test
47241         * modules/strverscmp-tests: New file.
47242         * tests/test-strverscmp.c: Likewise.
47243
47244 2008-08-19  Simon Josefsson  <simon@josefsson.org>
47245
47246         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
47247         regarding Windows crypto stuff, from Mono.
47248
47249 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
47250
47251         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
47252         if present, for intel RND.  Return error on failures.
47253
47254 2008-08-18  Ben Pfaff  <blp@gnu.org>
47255
47256         gitlog-to-changelog: give better diagnostic for failed pipe-open
47257         * build-aux/gitlog-to-changelog: Improve error message: suggest
47258         that the version of Git may be too old.
47259
47260 2008-08-18  Simon Josefsson  <simon@josefsson.org>
47261
47262         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
47263         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
47264
47265 2008-08-18  Bruno Haible  <bruno@clisp.org>
47266
47267         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
47268         pthread_in_use().
47269
47270 2008-08-18  Bruno Haible  <bruno@clisp.org>
47271
47272         * lib/glthread/threadlib.c: Include <pthread.h>.
47273
47274 2008-08-18  Bruno Haible  <bruno@clisp.org>
47275
47276         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
47277         glthread_recursive_lock_* macros.
47278         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
47279         Fix syntax error.
47280
47281 2008-08-18  Bruno Haible  <bruno@clisp.org>
47282
47283         * lib/glthread/thread.c: Avoid forcing a context switch right after
47284         thread creation.
47285
47286 2008-08-17  Bruno Haible  <bruno@clisp.org>
47287
47288         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
47289         * lib/glthread/thread.h: Provide Win32 specific implementation.
47290         * modules/thread (Files): Add lib/glthread/thread.c.
47291         (Depends-on): Add lock.
47292         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
47293
47294 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47295
47296         New module 'yield'.
47297         * modules/yield: New file.
47298         * lib/glthread/yield.h: New file.
47299         * m4/yield.m4: New file.
47300         * MODULES.html.sh (Multithreading): Add yield.
47301
47302 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47303
47304         New module 'thread'.
47305         * modules/thread: New file.
47306         * lib/glthread/thread.h: New file.
47307         * m4/thread.m4: New file.
47308         * MODULES.html.sh (Multithreading): Add thread.
47309
47310 2008-08-17  Bruno Haible  <bruno@clisp.org>
47311
47312         * lib/glthread/lock.h: Include <stdlib.h> always.
47313         * lib/glthread/tls.h: Likewise.
47314         * lib/glthread/cond.h: Likewise.
47315
47316 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47317
47318         New module 'cond'.
47319         * modules/cond: New file.
47320         * lib/glthread/cond.h: New file.
47321         * lib/glthread/cond.c: New file.
47322         * m4/cond.m4: New file.
47323         * MODULES.html.sh (Multithreading): Add cond.
47324
47325 2008-08-16  Eric Blake  <ebb9@byu.net>
47326
47327         c-stack: fix regression on Irix 5.3 from 2008-06-21
47328         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
47329         sa_sigaction...
47330         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
47331         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
47332         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
47333         * modules/signal (Makefile.am): Use the value.
47334         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
47335         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
47336         * doc/posix-headers/signal.texi (signal.h): Document this
47337         portability issue.
47338         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
47339         Reported by Tom G. Christensen.
47340
47341 2008-08-17  Bruno Haible  <bruno@clisp.org>
47342
47343         New module 'threadlib'.
47344         * modules/threadlib: New file.
47345         * lib/glthread/threadlib.c: New file, extracted from
47346         lib/glthread/lock.c.
47347         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
47348         functions.
47349         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
47350         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
47351         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
47352         macros.
47353         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
47354         (gl_DISABLE_THREADS): Remove macro.
47355         * modules/lock (Files): Remove build-aux/config.rpath.
47356         (Depends-on): Remove havelib. Add threadlib.
47357         (configure.ac-early): Remove section.
47358         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
47359         * modules/tls (Depends-on): Remove lock. Add threadlib.
47360         (Link): New section, copied from threadlib.
47361         * MODULES.html.sh (Multithreading): Add threadlib.
47362
47363 2008-08-14  Bruno Haible  <bruno@clisp.org>
47364
47365         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
47366         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
47367         glthread_rwlock_unlock, glthread_rwlock_destroy,
47368         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
47369         glthread_recursive_lock_destroy): Define as macros always.
47370         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
47371         glthread_lock_lock.
47372         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
47373         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
47374         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
47375         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
47376         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
47377         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
47378         (glthread_recursive_lock_lock_func): Renamed from
47379         glthread_recursive_lock_lock.
47380         (glthread_recursive_lock_unlock_func): Renamed from
47381         glthread_recursive_lock_unlock.
47382         (glthread_recursive_lock_destroy_func): Renamed from
47383         glthread_recursive_lock_destroy.
47384
47385 2008-08-14  Bruno Haible  <bruno@clisp.org>
47386
47387         * lib/glthread/lock.h: Renamed from lib/lock.h.
47388         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
47389         * lib/glthread/tls.h: Renamed from lib/tls.h.
47390         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
47391         * lib/fstrcmp.c: Update includes.
47392         * lib/strsignal.c: Update includes.
47393         * modules/lock (Files, Makefile.am): Update.
47394         (Include): Change to "glthread/lock.h".
47395         * modules/tls (Files, Makefile.am): Update.
47396         (Include): Change to "glthread/tls.h".
47397         * tests/test-lock.c: Update includes.
47398         * tests/test-tls.c: Update includes.
47399         * NEWS: Mention the renamed header files.
47400
47401 2008-08-11  Jim Meyering  <meyering@redhat.com>
47402
47403         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
47404
47405 2008-08-11  Eric Blake  <ebb9@byu.net>
47406
47407         test-c-stack: avoid C99-ism
47408         * tests/test-c-stack.c (main): Fix whitespace, move declaration
47409         before statement.
47410         Reported by Alain Guibert.
47411
47412 2008-08-10  Jim Meyering  <meyering@redhat.com>
47413
47414         ensure that return value of uinttostr et al are not ignored
47415         * lib/inttostr.h (__GNUC_PREREQ): Define.
47416         (__attribute_warn_unused_result__): Define.
47417         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
47418
47419 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
47420
47421         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
47422         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
47423
47424 2008-08-07  Jim Meyering  <meyering@redhat.com>
47425
47426         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
47427
47428         * modules/mkstemp (License): Relicense under LGPLv2+.
47429         * modules/tempname (License): Likewise.
47430
47431 2008-08-06  Bruno Haible  <bruno@clisp.org>
47432
47433         * lib/poll.c (poll): Further micro-optimization.
47434
47435 2008-08-06  Jim Meyering  <meyering@redhat.com>
47436
47437         inet_pton.c: use locale-independent tolower
47438         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47439         (inet_pton6): Use c_tolower rather than tolower.
47440         * modules/inet_pton (Depends-on): Add c-ctype.
47441
47442 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47443
47444         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47445         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47446
47447 2008-08-06  Jim Meyering  <meyering@redhat.com>
47448
47449         * modules/inet_pton (License): Relicense under LGPLv2+.
47450
47451 2008-08-03  Bruno Haible  <bruno@clisp.org>
47452
47453         Additional non-aborting API for lock and tls.
47454         * lib/lock.h: Include <errno.h>.
47455         (glthread_lock_init): New macro/function.
47456         (gl_lock_init): Define as wrapper around glthread_lock_init.
47457         (glthread_lock_lock): New macro/function.
47458         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47459         (glthread_lock_unlock): New macro/function.
47460         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47461         (glthread_lock_destroy): New macro/function.
47462         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47463         (glthread_rwlock_init): New macro/function.
47464         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47465         (glthread_rwlock_rdlock): New macro/function.
47466         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47467         (glthread_rwlock_wrlock): New macro/function.
47468         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47469         (glthread_rwlock_unlock): New macro/function.
47470         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47471         (glthread_rwlock_destroy): New macro/function.
47472         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47473         (glthread_recursive_lock_init): New macro/function.
47474         (gl_recursive_lock_init): Define as wrapper around
47475         glthread_recursive_lock_init.
47476         (glthread_recursive_lock_lock): New macro/function.
47477         (gl_recursive_lock_lock): Define as wrapper around
47478         glthread_recursive_lock_lock.
47479         (glthread_recursive_lock_unlock): New macro/function.
47480         (gl_recursive_lock_unlock): Define as wrapper around
47481         glthread_recursive_lock_unlock.
47482         (glthread_recursive_lock_destroy): New macro/function.
47483         (gl_recursive_lock_destroy): Define as wrapper around
47484         glthread_recursive_lock_destroy.
47485         (glthread_once): New macro/function.
47486         (gl_once): Define as wrapper around glthread_once.
47487         Update function declarations.
47488         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47489         glthread_rwlock_init. Return error code.
47490         (glthread_rwlock_rdlock_multithreaded): Renamed from
47491         glthread_rwlock_rdlock. Return error code.
47492         (glthread_rwlock_wrlock_multithreaded): Renamed from
47493         glthread_rwlock_wrlock. Return error code.
47494         (glthread_rwlock_unlock_multithreaded): Renamed from
47495         glthread_rwlock_unlock. Return error code.
47496         (glthread_rwlock_destroy_multithreaded): Renamed from
47497         glthread_rwlock_destroy. Return error code.
47498         (glthread_recursive_lock_init_multithreaded): Renamed from
47499         glthread_recursive_lock_init. Return error code.
47500         (glthread_recursive_lock_lock_multithreaded): Renamed from
47501         glthread_recursive_lock_lock. Return error code.
47502         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47503         glthread_recursive_lock_unlock. Return error code.
47504         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47505         glthread_recursive_lock_destroy. Return error code.
47506         (glthread_once_call): Make static.
47507         (glthread_once_multithreaded): Renamed from glthread_once.
47508         * lib/tls.h: Include <errno.h>.
47509         (glthread_tls_key_init): New macro/function.
47510         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47511         (glthread_tls_set): New macro/function.
47512         (gl_tls_set): Define as wrapper around glthread_tls_set.
47513         (glthread_tls_key_destroy): New macro/function.
47514         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47515         Update function declarations.
47516         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47517         glthread_tls_get.
47518         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47519
47520 2008-08-04  Eric Blake  <ebb9@byu.net>
47521
47522         gnumakefile: use space, not TAB, outside of targets
47523         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47524
47525 2008-08-02  Jim Meyering  <meyering@redhat.com>
47526
47527         getdate.y: avoid locale-dependent date parsing failure
47528         In Turkish locales, getdate would fail to recognize keywords
47529         containing a lowercase "i".  The solution is not to rely on
47530         locale-sensitive case-conversion.
47531         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47532         (lookup_word): Use c_toupper in place of toupper.
47533         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47534         Reported by Vefa Bicakci <bicave@superonline.com> in
47535         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47536         * modules/getdate (Depends-on): Add c-ctype.
47537
47538 2008-08-02  Bruno Haible  <bruno@clisp.org>
47539
47540         * gnulib-tool (func_import): When updating or creating a .gitignore
47541         file, prepend each added line with a slash, and ignore leading slashes
47542         from the existing lines.
47543         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47544
47545 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47546
47547         Portability fix for GNU make 3.79.1.
47548         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47549         versions do not understand.
47550
47551 2008-08-01  Bruno Haible  <bruno@clisp.org>
47552
47553         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47554         * tests/test-isnanf.h (zero): New variable.
47555         (main): Avoid literal -0.0f.
47556         * tests/test-isnand.h (zero): New variable.
47557         (main): Avoid literal -0.0.
47558         * tests/test-isnanl.h (zero): New variable.
47559         (main): Avoid literal -0.0L.
47560         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47561         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47562         -0.0, -0.0L.
47563         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47564         (test_signbitd): Avoid literal -0.0.
47565         (test_signbitl): Avoid literal -0.0L.
47566         * tests/test-ceilf1.c (zero): New variable.
47567         (main): Avoid literal -0.0f.
47568         * tests/test-ceill.c (zero): New variable.
47569         (main): Avoid literal -0.0L.
47570         * tests/test-floorf1.c (zero): New variable.
47571         (main): Avoid literal -0.0f.
47572         * tests/test-floorl.c (zero): New variable.
47573         (main): Avoid literal -0.0L.
47574         * tests/test-roundf1.c (zero): New variable.
47575         (main): Avoid literal -0.0f.
47576         * tests/test-round1.c (zero): New variable.
47577         (main): Avoid literal -0.0.
47578         * tests/test-roundl.c (zero): New variable.
47579         (main): Avoid literal -0.0L.
47580         * tests/test-truncf1.c (zero): New variable.
47581         (main): Avoid literal -0.0f.
47582         * tests/test-trunc1.c (zero): New variable.
47583         (main): Avoid literal -0.0.
47584         * tests/test-truncl.c (zero): New variable.
47585         (main): Avoid literal -0.0L.
47586         * tests/test-frexp.c (zero): New variable.
47587         (main): Avoid literal -0.0.
47588         * tests/test-frexpl.c (zero): New variable.
47589         (main): Avoid literal -0.0L.
47590         * tests/test-ldexpl.c (zero): New variable.
47591         (main): Avoid literal -0.0L.
47592         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47593         (zerod, zerol): New variables.
47594         (test_function): Avoid literals -0.0, -0.0L.
47595         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47596         (zerod, zerol): New variables.
47597         (test_function): Avoid literals -0.0, -0.0L.
47598         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47599         (zerod, zerol): New variables.
47600         (test_function): Avoid literals -0.0, -0.0L.
47601         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47602         (zerod, zerol): New variables.
47603         (test_function): Avoid literals -0.0, -0.0L.
47604         * tests/test-strtod.c (zero): New variable.
47605         (main): Avoid literal -0.0.
47606         Reported by Jonathan C. Patschke <jp@centtech.com>.
47607
47608 2008-07-31  Jim Meyering  <meyering@redhat.com>
47609
47610         sha256.h: correct definition of SHA224_DIGEST_SIZE
47611         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47612         Reported by Paulie Pena IV <paulie4@gmail.com>.
47613         Define as 224 / 8, rather than as a literal.
47614         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47615         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47616         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47617
47618 2008-07-31  Bruno Haible  <bruno@clisp.org>
47619
47620         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47621         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47622         Reported by Jonathan Patschke <jp@centtech.com>.
47623
47624 2008-07-31  Bruno Haible  <bruno@clisp.org>
47625
47626         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47627         Reported by Paolo Bonzini <bonzini@gnu.org>.
47628
47629 2008-07-30  Eric Blake  <ebb9@byu.net>
47630
47631         test-strtod: allow compilation without -lm
47632         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47633         Reported by Dennis Clarke <blastwave@gmail.com>.
47634
47635 2008-07-28  Jim Meyering  <meyering@redhat.com>
47636
47637         bootstrap: work also when there are no .po files in po/
47638         * build-aux/bootstrap (update_po_files): Complete the change
47639         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47640
47641 2008-07-27  Jim Meyering  <meyering@redhat.com>
47642
47643         * users.txt: Add zile.
47644
47645 2008-07-26  Ben Pfaff  <blp@gnu.org>
47646
47647         Add missing dependencies on new m4/exponent[fdl].m4 files.
47648         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47649         * modules/isnand-nolibm: Add m4/exponentd.m4.
47650         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47651         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47652         m4/isnan[fdl].m4, because the macros actually used moved.
47653         Reported by Jim Meyering.
47654
47655 2008-07-14  Ben Pfaff  <blp@gnu.org>
47656
47657         Add isinf module.
47658         * lib/isinf.c: New file.
47659         * lib/math.in.h: Define isinf macro if we have decided to replace
47660         it.
47661         * m4/isinf.m4: New file.
47662         * m4/math_h.m4: Initialize and substitute variables for isinf
47663         module.
47664         * modules/isinf: New file.
47665         * modules/isinf-tests: New file.
47666         * modules/math: Add substitutions for new module.
47667         * tests/test-isinf.c: New file.
47668         * doc/posix-functions/isinf.texi: Mention new module.
47669         * MODULES.html.sh: Mention new module.
47670
47671 2008-07-14  Ben Pfaff  <blp@gnu.org>
47672
47673         Factor out some macros for use by additional modules.
47674         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47675         exponentf.m4.
47676         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47677         exponentd.m4.
47678         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47679         file exponentl.m4.
47680         * m4/exponentf.m4: New file.
47681         * m4/exponentd.m4: New file.
47682         * m4/exponentl.m4: New file.
47683         * modules/isnanf: Use new file m4/exponentf.m4.
47684         * modules/isnand: Use new file m4/exponentd.m4.
47685         * modules/isnanl: Use new file m4/exponentl.m4.
47686
47687 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47688
47689         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47690         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47691         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47692         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47693
47694         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47695         readlink on platforms without PATH_MAX.
47696
47697 2008-07-21  Eric Blake  <ebb9@byu.net>
47698
47699         Warn, not fail, on stale version.
47700         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47701
47702         Don't allow installation with stale devel version number.
47703         * top/GNUmakefile (_is-install-target): New macro.
47704         (_curr-ver): Forbid installation with stale version number.
47705
47706 2008-07-20  Bruno Haible  <bruno@clisp.org>
47707
47708         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47709         TESTS_ENVIRONMENT.
47710         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47711
47712 2008-07-20  Bruno Haible  <bruno@clisp.org>
47713
47714         * lib/c-stack.h (c_stack_action): Add documentation.
47715         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47716
47717 2008-07-20  Bruno Haible  <bruno@clisp.org>
47718
47719         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47720         * modules/readlink (License): Likewise.
47721
47722 2008-07-17  Eric Blake  <ebb9@byu.net>
47723
47724         * modules/c-stack (Link): Fix typo.
47725
47726         Make c-stack use libsigsegv, when available.
47727         * modules/c-stack (Depends-on): Add libsigsegv.
47728         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47729         needed.
47730         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47731         (segv_handler, overflow_handler, c_stack_action)
47732         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47733         implementation when libsigsegv is available, but only when using
47734         the library is necessary.
47735         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47736         comment, explaining why XSI check fails on Linux.
47737         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47738         * tests/test-c-stack2.sh: Tweak skip message.
47739         * NEWS: Document new link-time requirements.
47740
47741 2008-07-16  Eric Blake  <ebb9@byu.net>
47742
47743         c-stack: Expose false positives when not using libsigsegv.
47744         * modules/c-stack-tests (Files): Expand test.
47745         * tests/test-c-stack.c (main): Add means to conditionally trigger
47746         non-overflow SIGSEGV.
47747         * tests/test-c-stack2.sh: New file.
47748
47749 2008-07-14  Bruno Haible  <bruno@clisp.org>
47750
47751         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47752         Reported by Eric Blake.
47753
47754 2008-07-14  Sam Steingold  <sds@gnu.org>
47755             Bruno Haible  <bruno@clisp.org>
47756
47757         New module libsigsegv.
47758         * modules/libsigsegv: New file.
47759         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47760         modifications.
47761         * MODULES.html.sh (Signal handling): New section.
47762
47763 2008-07-14  Bruno Haible  <bruno@clisp.org>
47764
47765         * modules/unictype/ctype-* (Description): Add the word "function".
47766         Improves the resulting doc in MODULES.html.
47767
47768 2008-07-12  Ben Pfaff  <blp@gnu.org>
47769
47770         Add longlong module.
47771         * modules/longlong: New file.
47772
47773 2008-07-12  Bruno Haible  <bruno@clisp.org>
47774
47775         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47776         to empty.
47777
47778 2008-07-10  Ben Pfaff  <blp@gnu.org>
47779
47780         Add isnan module.
47781         * doc/posix-functions/isnan.texi: Mention new module.
47782         * lib/math.in.h: Define isnan macro if we have decided to replace
47783         it.
47784         * m4/isnan.m4: New file.
47785         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47786         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47787         also.
47788         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47789         redundancy.
47790         * m4/math_h.m4: Initialize and substitute variables for isnan
47791         module.
47792         * modules/isnan: New file.
47793         * modules/isnan-tests: New file.
47794         * modules/math: Add substitutions for new module.
47795         * tests/test-isnan.c: New file.
47796         * MODULES.html.sh: Mention new module.
47797
47798 2008-07-10  Ben Pfaff  <blp@gnu.org>
47799
47800         Add isnanf module.
47801         * lib/isnanf.m4: New file.
47802         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47803         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47804         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47805         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47806         * modules/isnanf: New file.
47807         * modules/isnanf-tests: New file.
47808         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47809         files.
47810         * tests/test-isnanf-nolibm.c: factored most of its contents into
47811         new file tests/test-isnanf.h.
47812         * tests/test-isnanf.h: New file.
47813         * tests/test-isnanf.c: New file.
47814         * MODULES.html.sh: Mention new module.
47815         * doc/glibc-functions/isnanf.texi: Mention new module.
47816
47817 2008-07-10  Ben Pfaff  <blp@gnu.org>
47818
47819         Add isnand module.
47820         * lib/isnand.h: New file.
47821         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47822         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47823         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47824         functionality also.
47825         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47826         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47827         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47828         * modules/isnand: New file.
47829         * modules/isnand-tests: New file.
47830         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47831         files.
47832         * tests/test-isnand-nolibm.c: factored most of its contents into
47833         new file tests/test-isnand.h.
47834         * tests/test-isnand.h: New file.
47835         * tests/test-isnand.c: New file.
47836         * MODULES.html.sh: Mention new module.
47837
47838 2008-07-10  Ben Pfaff  <blp@gnu.org>
47839
47840         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47841         * lib/isnand.h: Rename lib/isnand-nolibm.h.
47842         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
47843         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
47844         * modules/isnanf-nolibm: Update references to renamed files.
47845         * modules/isnand-nolibm: Likewise.
47846         * modules/isnanf-nolibm-tests: Likewise.
47847         * modules/isnand-nolibm-tests: Likewise.
47848         * lib/frexp.c: Likewise.
47849         * lib/isfinite.c: Likewise.
47850         * lib/signbitd.c: Likewise.
47851         * lib/signbitf.c: Likewise.
47852         * lib/vasnprintf.c: Likewise.
47853         * tests/test-ceilf1.c: Likewise.
47854         * tests/test-ceilf2.c: Likewise.
47855         * tests/test-floorf1.c: Likewise.
47856         * tests/test-floorf2.c: Likewise.
47857         * tests/test-frexp.c: Likewise.
47858         * tests/test-round1.c: Likewise.
47859         * tests/test-round2.c: Likewise.
47860         * tests/test-roundf1.c: Likewise.
47861         * tests/test-strtod.c: Likewise.
47862         * tests/test-trunc1.c: Likewise.
47863         * tests/test-trunc2.c: Likewise.
47864         * tests/test-truncf1.c: Likewise.
47865         * tests/test-truncf2.c: Likewise.
47866         * NEWS: Mention the renamed header files.
47867
47868 2008-07-11  Jim Meyering  <meyering@redhat.com>
47869
47870         vc-list-files: make the last-resort awk code more portable
47871         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
47872         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
47873         does not support it.
47874
47875 2008-07-10  Eric Blake  <ebb9@byu.net>
47876
47877         Work with tar's bootstrap.
47878         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
47879         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
47880         an m4 comment.
47881
47882 2008-07-09  Jim Meyering  <meyering@redhat.com>
47883
47884         posix-shell.m4: fix typo that made this test malfunction
47885         * m4/posix-shell.m4: Remove capitalization in variable name.
47886
47887 2008-07-08  Bruno Haible  <bruno@clisp.org>
47888
47889         * m4/onceonly.m4: Update comments.
47890         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47891
47892 2008-07-04  Jim Meyering  <meyering@redhat.com>
47893
47894         * users.txt: Add vc-dwim.
47895         (bison, coreutils): Use the gitweb URL.
47896
47897 2008-07-03  Jim Meyering  <meyering@redhat.com>
47898
47899         * users.txt: Add libffcall.  From Sam Steingold.
47900
47901 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
47902
47903         getdate.y: do not ignore TZ with relative day, month or year offset
47904         * lib/getdate.y (get_date): Move the tz-handling block to follow the
47905         relative-date-handling, since otherwise, the latter would clobber the
47906         sole output (an updated Start value) of the tz-handling block.
47907         * tests/test-getdate.c: Tests for the fix
47908
47909 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47910
47911         Recognize 'foo_LIBRARIES += libgnu.a'.
47912         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
47913         makefile snippet has already specified an installation location,
47914         also using '+='.
47915
47916 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
47917
47918         getdate.y: factor out common actions
47919         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
47920         Use them in place of open-coded actions.
47921
47922 2008-07-01  Simon Josefsson  <simon@josefsson.org>
47923
47924         Add self-test for getdate module.
47925         * modules/getdate-tests: New file.
47926         * tests/test-getdate.c: New file.
47927
47928 2008-06-29  Bruno Haible  <bruno@clisp.org>
47929
47930         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
47931         .gitignore.
47932         Reported by Sylvain Beucler <beuc@beuc.net>.
47933
47934 2008-06-29  Bruno Haible  <bruno@clisp.org>
47935
47936         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
47937         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
47938
47939 2008-06-29  Bruno Haible  <bruno@clisp.org>
47940
47941         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
47942         EXTRA_DIST.
47943         Reported by Sylvain Beucler <beuc@beuc.net>.
47944
47945 2008-06-26  Jim Meyering  <meyering@redhat.com>
47946
47947         make several modules depend on the "open" module
47948         This provides slightly increased consistency when opening-for-write
47949         the name of a non-directory spelled with a trailing slash.
47950         * modules/chdir-safer: Likewise.
47951         * modules/chown: Likewise.
47952         * modules/clean-temp: Likewise.
47953         * modules/copy-file: Likewise.
47954         * modules/fchdir: Likewise.
47955         * modules/fcntl-safer: Likewise.
47956         * modules/pipe: Likewise.
47957         * modules/utime: Likewise.
47958         Prompted by Eric Blake and Bruno Haible.
47959
47960 2008-06-24  Andreas Schwab  <schwab@suse.de>
47961
47962         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
47963         literals can be used as initializers for global variables.
47964
47965 2008-06-23  Eric Blake  <ebb9@byu.net>
47966
47967         Make gnulib-cache.m4 easier to diff.
47968         * gnulib-tool (func_import): Allow newlines when reading cached
47969         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
47970
47971 2008-06-23  Bruno Haible  <bruno@clisp.org>
47972
47973         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
47974         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
47975         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
47976         m4/signalblocking.m4.
47977         (gl_PREREQ_SIGACTION): Don't invoke it.
47978         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
47979         gl_PREREQ_SIG_HANDLER_H.
47980         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47981         Don't check for sigaction here.
47982
47983 2008-06-23  Bruno Haible  <bruno@clisp.org>
47984
47985         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
47986         (install_handlers): Don't set the SA_RESETHAND flag.
47987
47988 2008-06-23  Bruno Haible  <bruno@clisp.org>
47989
47990         * m4/sigaction.m4: Comment fixes.
47991         * lib/signal.in.h: Likewise.
47992
47993 2008-06-23  Eric Blake  <ebb9@byu.net>
47994
47995         Fix typo.
47996         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
47997
47998         Avoid SA_ namespace.
47999         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
48000         Reported by Ralf Wildenhues.
48001
48002         Avoid test failure due to SA_RESTORER.
48003         * tests/test-sigaction.c (SA_MASK): New macro.
48004         (main): Avoid failing due to extension flags being set.
48005         Reported by Jim Meyering.
48006
48007         Revert use of sig-handler.h in sigprocmask.c.
48008         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
48009         it requires the existence of struct sigaction.
48010         * lib/sigprocmask.c (handler_t): Restore typedef.
48011         (rpl_signal, old_handlers): Use local type.
48012
48013 2008-06-22  Bruno Haible  <bruno@clisp.org>
48014
48015         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
48016         conditionally.
48017         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48018
48019 2008-06-22  Bruno Haible  <bruno@clisp.org>
48020
48021         * doc/posix-functions/siginterrupt.texi: Move note.
48022
48023         * lib/signal.in.h (SA_RESTART): New macro.
48024         * lib/sigaction.c: Update comment.
48025
48026         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
48027
48028         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
48029         (gl_PREREQ_SIGPROCMASK): Invoke it.
48030         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
48031
48032         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
48033
48034         * lib/sigprocmask.c: Update a comment.
48035
48036 2008-06-21  Eric Blake  <ebb9@byu.net>
48037
48038         Use sigaction module rather than signal().
48039         * modules/c-stack (Depends-on): Add sigaction.
48040         * modules/fatal-signal (Depends-on): Likewise.
48041         * modules/nanosleep (Depends-on): Likewise.
48042         * modules/sigprocmask (Files): Add sig-handler.h.
48043         * modules/sigaction (Files): Likewise.
48044         * lib/sig-handler.h (get_handler): New file, suggested by Paul
48045         Eggert.
48046         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
48047         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
48048         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
48049         (init_fatal_signals): Likewise.
48050         * lib/nanosleep.c (rpl_nanosleep): Likewise.
48051         (siginterrupt): Delete fallback.
48052         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
48053         instead.
48054         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
48055         siginterrupt.
48056
48057         New module sigaction, for mingw.
48058         * modules/sigaction: New module...
48059         * modules/sigaction-tests: ...and its test.
48060         * m4/sigaction.m4: New file.
48061         * lib/sigaction.c: Likewise.
48062         * tests/test-sigaction.c: Likewise.
48063         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
48064         * modules/signal (Makefile.am): Likewise.
48065         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
48066         needed.
48067         * doc/posix-headers/signal.texi (signal.h): Mention provided
48068         types.
48069         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
48070         that sigaction is preferable.
48071         * doc/posix-functions/sigaction.texi (sigaction): Mention new
48072         module.
48073         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48074         sigaction.
48075
48076         Improve robustness of sigprocmask by overriding signal.
48077         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
48078         is in use.
48079         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
48080         (SIGKILL, SIGSTOP): Provide fallbacks.
48081         (rpl_signal): Implement.
48082         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
48083         signal can be called inside handlers.
48084
48085         Fix nanosleep module on mingw.
48086         * modules/nanosleep (Depends-on): Add sys_select.
48087         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
48088
48089         Fix licensing of sigprocmask.
48090         * modules/raise (License): Relicense as LGPL.
48091
48092 2008-06-21  Bruno Haible  <bruno@clisp.org>
48093
48094         * lib/propername.c (proper_name_utf8): Don't use the transliterated
48095         result if it contains question marks.
48096         Reported by Michael Geng <linux@michaelgeng.de>.
48097
48098 2008-06-19  Bruno Haible  <bruno@clisp.org>
48099
48100         Fix CVS-ism.
48101         * doc/gnulib.texi: Include updated-stamp.texi.
48102         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
48103         (updated-stamp.texi): New rule.
48104         (gnulib.info): Depend on it.
48105         * doc/.gitignore: Add updated-stamp.texi.
48106         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
48107
48108 2008-06-19  Bruno Haible  <bruno@clisp.org>
48109
48110         * doc/Makefile (gnulib.info): Update and simplify dependencies.
48111         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48112
48113 2008-06-19  Eric Blake  <ebb9@byu.net>
48114
48115         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
48116         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
48117         Reported by Stepan Kasal.
48118
48119 2008-06-18  Bruno Haible  <bruno@clisp.org>
48120
48121         * lib/fatal-signal.c (init_fatal_signals): Add comment.
48122         Reported by Eric Blake.
48123
48124 2008-06-18  Eric Blake  <ebb9@byu.net>
48125
48126         Work around cygwin 1.5.25 strsignal bug.
48127         * tests/test-strsignal.c: Allow for const char *.
48128         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
48129
48130 2008-06-18  Simon Josefsson  <simon@josefsson.org>
48131
48132         * users.txt: Update URL to article and add author/date
48133         information.
48134
48135 2008-06-17  Bruno Haible  <bruno@clisp.org>
48136
48137         New macro gl_DISABLE_THREADS.
48138         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
48139         if the user did not pass --enable-threads or --disable-threads option.
48140         (gl_DISABLE_THREADS): New macro.
48141         Reported by Eric Blake <ebb9@byu.net>.
48142
48143 2008-06-17  Bruno Haible  <bruno@clisp.org>
48144
48145         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
48146         when the macro ignores it.
48147         Based on a patch by Eric Blake <ebb9@byu.net>.
48148
48149 2008-06-17  Bruno Haible  <bruno@clisp.org>
48150
48151         * modules/tls (License): Change to LGPLv2+.
48152         Reported by Eric Blake.
48153
48154 2008-06-17  Eric Blake  <ebb9@byu.net>
48155
48156         Simplify c-stack prerequisites.
48157         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
48158         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
48159         no longer requires <ucontext.h> to exist.  Optimize setrlimit
48160         check.
48161         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
48162         <sys/resource.h>.
48163
48164         Move c-stack test into testsuite.
48165         * modules/c-stack-tests: New file.
48166         * lib/c-stack.c [DEBUG]: Move test program...
48167         * tests/test-c-stack.c: ...into this new file.  Skip rather than
48168         fail test if sigaltstack is lacking.
48169         * tests/test-c-stack.sh: New driver file.
48170
48171 2008-06-16  Eric Blake  <ebb9@byu.net>
48172
48173         Use raise module consistently.
48174         * modules/fatal-signal (Depends-on): Add raise.
48175         * modules/sigprocmask (Depends-on): Likewise.
48176         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
48177         * lib/sigprocmask.c (sigprocmask): Likewise.
48178         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48179         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
48180
48181         Fix compliance bug in sigpending.
48182         * lib/sigprocmask.c (sigpending): Return pending array via
48183         parameter, not return value.
48184
48185 2008-06-14  Eric Blake  <ebb9@byu.net>
48186
48187         Improve obstack-printf test code.
48188         * tests/test-obstack-printf.c (test_function): Fix comment, and
48189         simplify usage of obstack_* in macros.  Add a test for coverage.
48190         Reported by Bruno Haible.
48191
48192 2008-06-14  Bruno Haible  <bruno@clisp.org>
48193
48194         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
48195         array size as a constant, not as a const variable.
48196         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
48197         AC_USE_SYSTEM_EXTENSIONS.
48198         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48199         Test whether the obstack_printf function actually exists.
48200         * modules/obstack-printf (Depends-on): Add extensions.
48201         (Include): Remove obstack.h.
48202         * modules/obstack-printf-posix (Depends-on): Add extensions.
48203         (Include): Remove obstack.h.
48204
48205 2008-06-13  Eric Blake  <ebb9@byu.net>
48206
48207         Add obstack-printf and obstack-printf-posix modules.
48208         * modules/obstack-printf: New file.
48209         * modules/obstack-printf-posix: Likewise.
48210         * MODULES.html.sh (Misc): Mention them.
48211         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48212         Likewise.
48213         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48214         Likewise.
48215         * modules/stdio (Makefile.am): Accomodate new modules.
48216         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48217         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
48218         Declare.
48219         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
48220         functions.
48221         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
48222         (gl_REPLACE_OBSTACK_PRINTF): New macros
48223         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
48224         * tests/test-obstack-printf.c: New file.
48225         * modules/obstack-printf-tests: Likewise.
48226         * modules/obstack-printf-posix-tests: Likewise.
48227
48228 2008-06-11  Bruno Haible  <bruno@clisp.org>
48229
48230         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
48231         * lib/open.c: Include errno.h.
48232         (open): Fail when attempting to write to a file that has a trailing
48233         slash.
48234         * tests/test-open.c (main): Test against trailing slash bug.
48235         * doc/posix-functions/open.texi: Mention the trailing slash bug.
48236
48237 2008-06-10  Bruno Haible  <bruno@clisp.org>
48238
48239         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
48240         for $? to work inside the trap command, with various /bin/sh-s.
48241         * tests/test-vc-list-files-cvs.sh: Likewise.
48242
48243 2008-06-10  Bruno Haible  <bruno@clisp.org>
48244
48245         * lib/acl-internal.h: Don't include gettext.h here.
48246         * lib/set-mode-acl.c: Include gettext.h here.
48247         * lib/copy-acl.c: Likewise.
48248
48249 2008-06-10  Bruno Haible  <bruno@clisp.org>
48250
48251         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
48252         * lib/wait-process.c (wait_subprocess): Likewise.
48253         * lib/execute.h (execute): Add termsigp argument.
48254         * lib/execute.c (execute): Likewise.
48255         * lib/csharpcomp.c (compile_csharp_using_pnet,
48256         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
48257         * lib/csharpexec.c (execute_csharp_using_pnet,
48258         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
48259         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
48260         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
48261         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
48262         is_jikes_present): Update.
48263         * lib/javaexec.c (execute_java_class): Update.
48264         * lib/javaversion.c (execute_and_read_line): Update.
48265         * NEWS: Document the changes.
48266         Reported by Eric Blake.
48267
48268 2008-06-10  Eric Blake  <ebb9@byu.net>
48269
48270         Add missing include.
48271         * tests/test-strstr.c (includes): Add <signal.h>.
48272         * tests/test-strcasestr.c (includes): Likewise.
48273         * tests/test-memmem.c (includes): Likewise.
48274
48275 2008-06-10  Bruno Haible  <bruno@clisp.org>
48276
48277         * lib/wait-process.c (wait_subprocess): Add an assertion.
48278
48279 2008-06-10  Bruno Haible  <bruno@clisp.org>
48280
48281         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
48282
48283 2008-06-10  Bruno Haible  <bruno@clisp.org>
48284
48285         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
48286         using alarm().
48287         * tests/test-strcasestr.c (main): Likewise.
48288         * tests/test-strstr.c (main): Likewise.
48289
48290 2008-06-09  Bruno Haible  <bruno@clisp.org>
48291
48292         Work around the Solaris 10 ACE ACLs ABI change.
48293         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
48294         declare if ACL_NO_TRIVIAL is present.
48295         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
48296         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
48297         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
48298         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
48299         define if ACL_NO_TRIVIAL is present.
48300         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
48301         and use the current ABI.
48302         (file_has_acl): Use same #if condition as elsewhere.
48303         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
48304         in use, and use the current ABI.
48305         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
48306         Reported by Jim Meyering.
48307
48308 2008-06-09  Eric Blake  <ebb9@byu.net>
48309
48310         Work around environments that (stupidly) ignore SIGALRM.
48311         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
48312         before using alarm().
48313         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48314         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48315         Reported by Ian Beckwith <ianb@erislabs.net>.
48316
48317         Produce autobuild blurb earlier in log.
48318         * modules/autobuild (configure.ac-early): Move AB_INIT here.
48319
48320 2008-06-09  Jim Meyering  <meyering@redhat.com>
48321         and OndÅ™ej Vašík  <ovasik@redhat.com>
48322
48323         utimens.c: correct kernel bug work-around
48324         OndÅ™ej Vašík found that the invalid return value of 280 indicates
48325         failure, not success, and the kernel bug we're trying to work
48326         around affects not just the utimensat call, but also the fallback
48327         futimens call.
48328         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
48329         not success.
48330         [HAVE_FUTIMENS]: Use the same work-around, here.
48331
48332 2008-06-09  Jim Meyering  <meyering@redhat.com>
48333
48334         add more guards around definition of ACE_-related code
48335         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
48336         ALLOW and ACE_OWNER are also defined.
48337
48338 2008-06-08  Bruno Haible  <bruno@clisp.org>
48339
48340         * lib/acl-internal.h: Add me as co-author.
48341         * lib/file-has-acl.c: Likewise.
48342         * lib/set-mode-acl.c: Likewise.
48343         * lib/copy-acl.c: Likewise.
48344
48345 2008-06-08  Bruno Haible  <bruno@clisp.org>
48346
48347         Add support for AIX ACLs.
48348         * lib/acl-internal.h (acl_nontrivial): New declaration.
48349         * lib/file-has-acl.c (acl_nontrivial): New function.
48350         (file_has_acl): Add implementation using AIX 4 ACL API.
48351         * lib/set-mode-acl.c (qset_acl): Likewise.
48352         * lib/copy-acl.c (qcopy_acl): Likewise.
48353
48354 2008-06-08  Bruno Haible  <bruno@clisp.org>
48355
48356         Add support for HP-UX ACLs.
48357         * lib/acl-internal.h (acl_nontrivial): New declaration.
48358         * lib/file-has-acl.c (acl_nontrivial): New function.
48359         (file_has_acl): Add implementation using HP-UX 11 ACL API.
48360         * lib/set-mode-acl.c (qset_acl): Likewise.
48361         * lib/copy-acl.c (qcopy_acl): Likewise.
48362
48363 2008-06-08  Bruno Haible  <bruno@clisp.org>
48364
48365         Add support for Cygwin ACLs.
48366         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
48367         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
48368         the chmod_or_fchmod call.
48369         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
48370
48371 2008-06-08  Bruno Haible  <bruno@clisp.org>
48372
48373         Fix bug with setuid modes in Solaris 10+ code.
48374         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
48375         succeeded, when the mode contains some special bits.
48376
48377 2008-06-08  Bruno Haible  <bruno@clisp.org>
48378
48379         Add support for Solaris 7..10 ACLs.
48380         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
48381         declarations.
48382         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
48383         functions.
48384         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
48385         * lib/set-mode-acl.c (qset_acl): Likewise.
48386         * lib/copy-acl.c (qcopy_acl): Likewise.
48387
48388 2008-06-08  Bruno Haible  <bruno@clisp.org>
48389
48390         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
48391         declaration.
48392         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
48393         (acl_access_nontrivial): Remove MacOS X case.
48394         (file_has_acl): Use acl_extended_nontrivial.
48395         * lib/copy-acl.c (qcopy_acl): Likewise.
48396
48397 2008-06-08  Bruno Haible  <bruno@clisp.org>
48398
48399         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
48400
48401 2008-06-08  Jim Meyering  <meyering@redhat.com>
48402
48403         * modules/acl (Maintainer): Add Bruno Haible.
48404
48405 2008-06-07  Bruno Haible  <bruno@clisp.org>
48406
48407         Improve support for Tru64 ACLs.
48408         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
48409         ACL on OSF/1.
48410
48411 2008-06-07  Bruno Haible  <bruno@clisp.org>
48412
48413         Add support for MacOS X ACLs.
48414         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
48415         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
48416         * lib/set-mode-acl.c (qset_acl): Likewise.
48417         * lib/copy-acl.c (qcopy_acl): Likewise.
48418
48419 2008-06-07  Bruno Haible  <bruno@clisp.org>
48420
48421         Fix memory leak introduced on 2008-05-22.
48422         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
48423         use.
48424
48425 2008-06-07  Bruno Haible  <bruno@clisp.org>
48426
48427         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
48428         to construct an empty ACL.
48429
48430 2008-06-07  Bruno Haible  <bruno@clisp.org>
48431
48432         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48433         precisely.
48434         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48435
48436 2008-06-07  Bruno Haible  <bruno@clisp.org>
48437
48438         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48439         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48440
48441 2008-06-07  Bruno Haible  <bruno@clisp.org>
48442
48443         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48444         regardless of POSIX.
48445         * doc/posix-functions/_longjmp.texi: Likewise.
48446         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48447         SystemV platform in this case.
48448
48449 2008-06-06  Eric Blake  <ebb9@byu.net>
48450
48451         Document abort() bugs.
48452         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48453
48454         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48455         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48456         sigsetjmp.
48457         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48458         siglongjmp, but only as a macro.
48459         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48460         is obsolete.
48461         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48462
48463         Tweak documentation to cover cygwin argz bugs.
48464         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48465         argz bug fix; no code change needed since no cygwin releases
48466         occurred between the last fix and the bug being tested.
48467         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48468         module and recently fixed cygwin bugs.
48469         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48470         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48471         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48472         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48473         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48474         Likewise.
48475         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48476         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48477         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48478         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48479         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48480         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48481         Likewise.
48482
48483         Avoid gcc warning on cygwin.
48484         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48485         !ACL_NO_TRIVIAL]: Avoid unused variable.
48486
48487 2008-06-05  Eric Blake  <ebb9@byu.net>
48488
48489         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48490         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48491         git-version-gen fails to come up with a version.
48492         Reported by Simon Josefsson.
48493
48494 2008-06-05  Jim Meyering  <meyering@redhat.com>
48495             Paul Eggert  <eggert@cs.ucla.edu>
48496
48497         utimens.c: work around a probable Linux kernel bug
48498         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48499         appears to be a kernel bug that causes utimensat to return 280
48500         instead of 0, indicating success.
48501
48502 2008-06-04  Bruno Haible  <bruno@clisp.org>
48503
48504         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48505         2008-06-01 commit.
48506
48507 2008-06-04  Bruno Haible  <bruno@clisp.org>
48508
48509         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48510         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48511         (file_has_acl): Use it. Save errno afterwards.
48512         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48513
48514 2008-06-03  Bruno Haible  <bruno@clisp.org>
48515
48516         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48517         draft code. Simplify #ifs.
48518         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48519         Put Solaris code after POSIX-draft code. Fix comments regarding
48520         Solaris 10, HP-UX. Mention Cygwin.
48521         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48522
48523 2008-06-03  Eric Blake  <ebb9@byu.net>
48524
48525         Provide fallback for older kernels.
48526         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48527         Provide runtime fallback if kernel lacks support.
48528         Reported by Mike Frysinger.
48529
48530 2008-06-02  Bruno Haible  <bruno@clisp.org>
48531
48532         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48533         it exists.
48534
48535 2008-06-02  Bruno Haible  <bruno@clisp.org>
48536
48537         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48538         * lib/copy-acl.c (qcopy_acl): Update comment.
48539
48540 2008-06-02  Bruno Haible  <bruno@clisp.org>
48541
48542         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48543         like ACL APIs.
48544
48545 2008-06-02  Bruno Haible  <bruno@clisp.org>
48546
48547         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48548         * tests/test-set-mode-acl.sh: Likewise.
48549         * tests/test-copy-acl.sh: Likewise.
48550         * tests/test-copy-file.sh: Likewise.
48551
48552 2008-06-02  Bruno Haible  <bruno@clisp.org>
48553
48554         * tests/test-file-has-acl.sh: Remove unused code.
48555
48556 2008-06-01  Bruno Haible  <bruno@clisp.org>
48557
48558         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48559         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48560         messages.
48561         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48562
48563 2008-06-01  Bruno Haible  <bruno@clisp.org>
48564
48565         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48566         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48567         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48568         APIs.
48569         * modules/acl-tests (configure.ac): Remove tests now contained in
48570         m4/acl.m4.
48571
48572 2008-06-02  Jim Meyering  <meyering@redhat.com>
48573
48574         announce-gen: use a better key-server host name
48575         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48576         it may be more consistently reliable.  Suggested by Werner Koch
48577         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48578
48579 2008-06-01  Bruno Haible  <bruno@clisp.org>
48580
48581         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48582         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48583
48584 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48585
48586         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48587
48588 2008-06-01  Bruno Haible  <bruno@clisp.org>
48589
48590         New ACL tests.
48591         * tests/test-file-has-acl.sh: New file.
48592         * tests/test-file-has-acl.c: New file.
48593         * tests/test-set-mode-acl.sh: New file.
48594         * tests/test-set-mode-acl.c: New file.
48595         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48596         * tests/test-copy-acl.c: New file.
48597         * modules/acl-tests: New file, based on modules/copy-file-tests.
48598         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48599         (Depends-on): Add acl-tests.
48600         (configure.ac): Remove checks.
48601         (Makefile.am): Don't create test-sameacls program here any more.
48602
48603 2008-06-01  Bruno Haible  <bruno@clisp.org>
48604
48605         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48606         * tests/test-sameacls.c: Include progname.h.
48607         (main): Invoke set_program_name. Portability fixes for MacOS X,
48608         Solaris, HP-UX.
48609
48610 2008-06-01  Bruno Haible  <bruno@clisp.org>
48611
48612         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48613         function.
48614         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48615
48616 2008-06-01  Bruno Haible  <bruno@clisp.org>
48617
48618         * modules/rpmatch (Depends-on): Add strdup.
48619
48620 2008-06-01  Bruno Haible  <bruno@clisp.org>
48621
48622         * lib/pipe.c: Include unistd-safer.h.
48623         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48624         * modules/pipe (Depends-on): Add unistd-safer.
48625
48626 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48627
48628         * modules/autobuild (configure.ac): Call AB_INIT.
48629
48630 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48631
48632         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48633         Suggested by Bruno Haible <bruno@clisp.org>.
48634
48635 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48636
48637         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48638         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48639         <bruno@clisp.org>.
48640
48641 2008-05-29  Eric Blake  <ebb9@byu.net>
48642
48643         Prefer new POSIX 200x interfaces over futimesat.
48644         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48645         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48646         when available.
48647         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48648
48649 2008-05-28  Bruno Haible  <bruno@clisp.org>
48650
48651         * modules/stpcpy (License): Change to LGPLv2+.
48652         Requested by David Lutterkort <dlutter@redhat.com>.
48653
48654 2008-05-27  Bruno Haible  <bruno@clisp.org>
48655
48656         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48657         current mingw.
48658         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48659
48660 2008-05-27  Bruno Haible  <bruno@clisp.org>
48661
48662         * modules/iconv_open (Link): New section, from module 'iconv'.
48663         * modules/striconv (Link): Likewise.
48664         * modules/striconveh (Link): Likewise.
48665         * modules/xstriconv (Link): Likewise.
48666         * modules/unicodeio (Link): Likewise.
48667         * modules/propername (Link): Likewise.
48668         Reported by Jim Meyering.
48669
48670 2008-05-26  Jim Meyering  <meyering@redhat.com>
48671
48672         sha256: do not artificially restrict buffer length to be < 2^32
48673         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48674         uint32_t to size_t.
48675         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48676         to match.
48677
48678         avoid unaligned access errors, e.g., on sparc
48679         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48680         direct access through a possibly-unaligned uint64* pointer.
48681         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48682         direct access through a possibly-unaligned uint32* pointer.
48683         Prompted by this patch from Tom "spot" Callaway:
48684         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48685
48686         sha512.c: fix typo in comment
48687         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48688
48689 2008-05-25  Bruno Haible  <bruno@clisp.org>
48690
48691         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48692         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48693         (Makefile.am): Update lib_SOURCES.
48694
48695 2008-05-25  Bruno Haible  <bruno@clisp.org>
48696
48697         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48698
48699 2008-05-25  Jim Meyering  <meyering@redhat.com>
48700
48701         useless-if-before-free: freed expr may have white-space differences
48702         * build-aux/useless-if-before-free: Recognize cases in which the
48703         freed expression differs from the tested one in embedded white
48704         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48705         $1 was used, so we can't make any regexp shy.  Improved tests now
48706         detect this.
48707
48708         useless-if-before-free: accept white space in the expression.
48709         * build-aux/useless-if-before-free: For now, any white space
48710         in the expression must be identical in the free argument.
48711
48712         useless-if-before-free: efficiency tweak
48713         * build-aux/useless-if-before-free: Make the expression-matching
48714         regexp "shy".
48715         Make the *outer* regexp shy, not the expr-matching one.
48716
48717         update code-in-comment to accept cast of free arg
48718         * build-aux/useless-if-before-free: Update regexp.
48719
48720 2008-05-25  Bruno Haible  <bruno@clisp.org>
48721
48722         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48723         * modules/copy-file-tests (Files, Makefile.am): Update.
48724         * tests/test-copy-file.c (func_test_copy): Update.
48725
48726 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48727
48728         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48729
48730 2008-05-23  Bruno Haible  <bruno@clisp.org>
48731
48732         Improve support for ACLs on OSF/1.
48733         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48734         Remove fallback for unknown flavors of ACLs.
48735
48736 2008-05-22  Bruno Haible  <bruno@clisp.org>
48737
48738         Add support for ACLs on OSF/1.
48739         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48740         replacements.
48741         (acl_free_text): New macro fallback.
48742         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48743         acl_free.
48744         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48745         acl_free_text function. Require AC_C_INLINE.
48746
48747 2008-05-22  Bruno Haible  <bruno@clisp.org>
48748
48749         Make copy_acl work on MacOS X 10.5.
48750         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48751         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48752         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48753         If MODE_INSIDE_ACL, don't assume that every system has the same text
48754         representation for ACLs as FreeBSD.
48755         * lib/copy-acl.c (copy_acl): Add support for platforms with
48756         !MODE_INSIDE_ACL.
48757         * lib/file-has-acl.c (file_has_acl): Likewise.
48758         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48759         FreeBSD, MacOS X, or IRIX, respectively.
48760
48761 2008-05-22  Bruno Haible  <bruno@clisp.org>
48762
48763         * lib/acl.h: Don't include <sys/acl.h>.
48764         (GETACLCNT): Move fallback to lib/acl-internal.h.
48765         * lib/acl-internal.h: Include <sys/acl.h> here.
48766         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48767
48768 2008-05-22  Bruno Haible  <bruno@clisp.org>
48769
48770         Split off copy_acl function to separate file.
48771         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48772         * lib/acl.c (copy_acl): Moved function to separate file.
48773         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48774         * modules/acl (Files): Add lib/copy-acl.c.
48775         (Makefiles.am): Augment lib_SOURCES.
48776
48777 2008-05-22  Bruno Haible  <bruno@clisp.org>
48778
48779         * modules/copy-file-tests: New file.
48780         * tests/test-copy-file.sh: New file.
48781         * tests/test-copy-file.c: New file.
48782         * tests/test-copy-file-sameacls.c: New file.
48783
48784 2008-05-22  Eric Blake  <ebb9@byu.net>
48785
48786         Avoid gcc warning.
48787         * tests/test-memcmp.c (main): Pass NULL indirectly.
48788
48789 2008-05-21  Bruno Haible  <bruno@clisp.org>
48790
48791         Add reference doc about ACLs.
48792         * doc/acl-resources.txt: New file.
48793         * doc/acl-cygwin.txt: New file.
48794
48795 2008-05-21  Bruno Haible  <bruno@clisp.org>
48796
48797         Avoid one more warning from gcc.
48798         * lib/vasnprintf.c (IF_LINT): Update comments.
48799         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48800
48801 2008-05-21  Jim Meyering  <meyering@redhat.com>
48802
48803         avoid a warning from gcc
48804         * lib/vasnprintf.c (IF_LINT): Define.
48805         (scale10_round_decimal_long_double):
48806         Use it to avoid a "may be used uninitialized" warning.
48807         (scale10_round_decimal_double): Likewise.
48808
48809 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48810
48811         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48812         declared.
48813
48814 2008-05-20  Bruno Haible  <bruno@clisp.org>
48815
48816         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48817         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48818
48819 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48820
48821         * modules/memcmp-tests: New file.
48822         * tests/test-memcmp.c: New file.
48823
48824 2008-05-19  Bruno Haible  <bruno@clisp.org>
48825
48826         * modules/propername (Notice, configure.ac): Put quoted "..." into
48827         --keyword option.
48828         * lib/propername.h: Update comments accordingly.
48829         Reported by Eric Blake.
48830
48831 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48832
48833         * modules/getpass-gnu (Depends-on): Add fseeko.
48834
48835 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48836
48837         * modules/base64-tests: New file.
48838
48839 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48840
48841         * lib/base64.c (base64_decode_ctx): If a decode context structure
48842         was passed in use it to ignore newlines.  If a context structure
48843         was _not_ passed in, continue to treat newlines as garbage (this
48844         is the historical behavior).  Formerly base64_decode.
48845         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48846         takes a decode context structure.
48847         * lib/base64.h (base64_decode): Macro for four-argument calls.
48848         (base64_decode_alloc): Likewise.
48849         * lib/base64.c (base64_decode_ctx): If a decode context structure
48850         was passed in use it to ignore newlines.  If a context structure
48851         was _not_ passed in, continue to treat newlines as garbage (this
48852         is the historical behavior).  Formerly base64_decode.
48853         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48854         takes a decode context structure.
48855         * lib/base64.h (base64_decode): Macro for four-argument calls.
48856         (base64_decode_alloc): Likewise.
48857
48858 2008-05-19  Jim Meyering  <meyering@redhat.com>
48859
48860         avoid a warning from gcc
48861         * lib/trim.c (IF_LINT): Define.
48862         (trim2): Use it to avoid a "may be used uninitialized" warning.
48863
48864         Fix doc typo.
48865         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
48866
48867 2008-05-19  Bruno Haible  <bruno@clisp.org>
48868
48869         * doc/glibc-functions/getpass.texi: Document limits of other
48870         implementations.
48871
48872 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48873             Bruno Haible <bruno@clisp.org>
48874
48875         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
48876
48877 2008-05-18  Bruno Haible  <bruno@clisp.org>
48878
48879         * modules/propername: New file, from GNU gettext.
48880         * lib/propername.h: New file, from GNU gettext.
48881         * lib/propername.c: New file, from GNU gettext.
48882         * MODULES.html.sh (Internationalization functions): Add propername.
48883
48884 2008-05-16  Jim Meyering  <meyering@redhat.com>
48885             Bruno Haible  <bruno@clisp.org>
48886
48887         Avoid some warnings from "gcc -Wshadow".
48888         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
48889
48890 2008-05-15  Eric Blake  <ebb9@byu.net>
48891
48892         Extend previous patch to cygwin 1.7.0.
48893         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
48894         fast implementation in cygwin >= 1.7.0.
48895         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48896         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48897
48898 2008-05-15  Bruno Haible  <bruno@clisp.org>
48899
48900         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
48901         implementation in glibc >= 2.9.
48902         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48903         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48904
48905 2008-05-15  Bruno Haible  <bruno@clisp.org>
48906
48907         * MODULES.html.sh (Internationalization functions): Remove linebreak.
48908         (Unicode string functions): Add unilbrk/*.
48909         Reported by Karl Berry.
48910
48911 2008-05-15  Eric Blake  <ebb9@byu.net>
48912
48913         Fix violation of <stdbool.h> replacement in regex.
48914         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
48915         * lib/regexec.c (re_search_internal): Likewise.
48916         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
48917
48918 2008-05-15  Jim Meyering  <meyering@redhat.com>
48919
48920         avoid distracting test output when git or cvs is not found
48921         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
48922         * tests/test-vc-list-files-git.sh: Likewise.
48923
48924 2008-05-15  Eric Blake  <ebb9@byu.net>
48925
48926         Glibc finally accepted the memmem speedup code, bugzilla #5514.
48927         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
48928         glibc version.
48929         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48930         * doc/posix-functions/strstr.texi (strstr): Likewise.
48931         * lib/str-two-way.h (MAX): Sychronize with glibc.
48932
48933 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
48934
48935         * lib/regcomp.c (optimize_utf8): Add a note on why we test
48936         opr.ctx_type.
48937         (calc_first): Initialize constraint field.
48938         (duplicate_node_closure): Use it instead of special casing ANCHORS.
48939         Fix grammar.
48940         (duplicate_node): Merge constraint field for all node types.
48941         (calc_eclosure_iter): Look at constraint field for all node types.
48942         * lib/regex_internal.c (create_cd_newstate): Don't look at
48943         opr.ctx_type.
48944
48945 2008-05-14  Bruno Haible  <bruno@clisp.org>
48946
48947         Help GCC to do better code generation.
48948         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
48949         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
48950         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
48951         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
48952         Declare with attribute 'malloc' if supported.
48953
48954 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
48955
48956         use "echo STR|wc -c" rather than unportable "expr length STR"
48957         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
48958         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
48959
48960 2008-05-14  Jim Meyering  <meyering@redhat.com>
48961
48962         use dd ibs=$n count=1 ... rather than less-portable head -c$n
48963         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
48964         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
48965         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
48966         via Collin Lasse.
48967
48968 2008-05-14  Eric Blake  <ebb9@byu.net>
48969
48970         Avoid quadratic growth in gl_LIBSOURCES.
48971         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
48972         Suggested by Bruno Haible.
48973
48974         Test xmemdup0.
48975         * modules/xmemdup0-tests: New file.
48976         * tests/test-xmemdup0.c: Likewise.
48977
48978 2008-05-13  Eric Blake  <ebb9@byu.net>
48979
48980         Split xmemdup0 into its own module.
48981         * modules/xmemdup0: New file.
48982         * lib/xmemdup0.h: Likewise.
48983         * lib/xmemdup0.c: Likewise.
48984         * MODULES.html.sh (Memory management functions): Add xmemdup0.
48985         * lib/xalloc.h (xmemdup0): Remove.
48986         * lib/xmalloc.c (xmemdup0): Likewise.
48987
48988 2008-05-13  Eric Blake  <ebb9@byu.net>
48989             Bruno Haible  <bruno@clisp.org>
48990
48991         Reduce number of forks required during autoconf.
48992         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
48993         and gl_LIBSOURCES_DIR.
48994         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
48995         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
48996         m4_syscmd per file.
48997         <m4_foreach_w>: Move...
48998         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
48999
49000 2008-05-13  Eric Blake  <ebb9@byu.net>
49001
49002         * gnulib-tool: Fix various comment typos.
49003
49004 2008-05-12  Bruno Haible  <bruno@clisp.org>
49005
49006         Tailor the linebreaking algorithm.
49007         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
49008
49009 2008-05-12  Bruno Haible  <bruno@clisp.org>
49010
49011         Update to Unicode 5.0.0.
49012         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49013         LBP_JV, LBP_JT. Redistribute values.
49014         (unilbrk_table): Change size.
49015         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
49016         Unicode TR#14 rev. 22.
49017         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49018         LBP_JV, LBP_JT. Redistribute values.
49019         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
49020         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
49021         Update.
49022         * lib/unilbrk/lbrkprop1.h: Regenerated.
49023         * lib/unilbrk/lbrkprop2.h: Regenerated.
49024         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
49025         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
49026         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
49027         Likewise.
49028         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
49029         Likewise.
49030         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
49031         result.
49032         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
49033         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
49034         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
49035         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
49036         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
49037         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
49038
49039 2008-05-11  Bruno Haible  <bruno@clisp.org>
49040
49041         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
49042
49043 2008-05-11  Bruno Haible  <bruno@clisp.org>
49044
49045         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
49046         * modules/unilbrk/gen-lbrk: New file.
49047
49048 2008-05-11  Bruno Haible  <bruno@clisp.org>
49049
49050         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
49051         * m4/sha512.m4 (gl_SHA512): Likewise.
49052
49053 2008-05-11  Jim Meyering  <meyering@redhat.com>
49054
49055         New modules: crypto/sha256, crypto/sha512 (from coreutils)
49056         * modules/crypto/sha256: New file.
49057         * modules/crypto/sha512: Likewise.
49058         * lib/sha256.c: Likewise.
49059         * lib/sha256.h: Likewise.
49060         * lib/sha512.c: Likewise.
49061         * lib/sha512.h: Likewise.
49062         * lib/u64.h: Likewise.
49063         * m4/sha256.m4: Likewise.
49064         * m4/sha512.m4: Likewise.
49065         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
49066
49067 2008-05-10  Bruno Haible  <bruno@clisp.org>
49068
49069         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
49070         (Input/Output <stdio.h>): Add xprintf.
49071         (Signal handling <signal.h>): Add strsignal.
49072         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
49073         (Core language properties): Add func.
49074         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
49075         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
49076         strings.
49077         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
49078         (Input/output): New section.
49079         (File system functions): Add openat-die, stat-macros.
49080         (Networking functions): Add sockets.
49081         (Unicode string functions): Add unictype/*.
49082         (Support for building libraries and executables): Add gperf.
49083         (Support for building documentation): Add agpl-3.0.
49084         (Misc): Add nocrash.
49085
49086 2008-05-10  Bruno Haible  <bruno@clisp.org>
49087
49088         * modules/unictype/gen-ctype: New file.
49089
49090 2008-05-10  Jim Meyering  <meyering@redhat.com>
49091
49092         Make chdir-safer.c more efficient on a system with no symlinks.
49093         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
49094         also if ELOOP is zero.  Suggested by Bruno Haible.
49095
49096         Make chdir-safer.c slightly safer.
49097         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
49098         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
49099
49100         Avoid compile failure on systems without ELOOP (like mingw).
49101         * lib/chdir-safer.c (ELOOP): Define if not already defined.
49102         Reported by Bruno Haible.
49103
49104 2008-05-10  Bruno Haible  <bruno@clisp.org>
49105
49106         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
49107         (is_utf8_encoding): Use a case-insensitive comparison.
49108         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
49109         streq.
49110
49111 2008-05-10  Bruno Haible  <bruno@clisp.org>
49112
49113         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
49114         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
49115         * lib/unilbrk/ulc-common.h (iconv_string_length,
49116         iconv_string_keeping_offsets): Remove declarations.
49117         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
49118         Don't include <iconv.h>, streq.h, xsize.h.
49119         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
49120         conversion.
49121         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
49122         <iconv.h>, streq.h, xsize.h.
49123         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
49124         conversion.
49125         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
49126         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
49127         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
49128         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
49129
49130 2008-05-10  Bruno Haible  <bruno@clisp.org>
49131
49132         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
49133         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
49134
49135         * modules/unilbrk/u32-width-linebreaks-tests: New file.
49136         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
49137
49138         * modules/unilbrk/u16-width-linebreaks-tests: New file.
49139         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
49140
49141         * modules/unilbrk/u8-width-linebreaks-tests: New file.
49142         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
49143
49144         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
49145         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
49146
49147         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
49148         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
49149
49150         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
49151         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
49152
49153         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
49154         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
49155
49156 2008-05-10  Bruno Haible  <bruno@clisp.org>
49157
49158         Split up 'linebreak' module.
49159         * lib/unilbrk.h: New file, based on lib/linebreak.h.
49160         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
49161         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
49162         modifications.
49163         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
49164         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
49165         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
49166         lib/linebreak.c.
49167         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
49168         lib/linebreak.c.
49169         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
49170         lib/linebreak.c.
49171         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
49172         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
49173         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
49174         lib/linebreak.c.
49175         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
49176         lib/linebreak.c.
49177         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
49178         lib/linebreak.c.
49179         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
49180         lib/linebreak.c.
49181         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
49182         lib/linebreak.c.
49183         * modules/unilbrk/base: New file.
49184         * modules/unilbrk/tables: New file.
49185         * modules/unilbrk/u8-possible-linebreaks: New file.
49186         * modules/unilbrk/u16-possible-linebreaks: New file.
49187         * modules/unilbrk/u32-possible-linebreaks: New file.
49188         * modules/unilbrk/ulc-common: New file.
49189         * modules/unilbrk/ulc-possible-linebreaks: New file.
49190         * modules/unilbrk/u8-width-linebreaks: New file.
49191         * modules/unilbrk/u16-width-linebreaks: New file.
49192         * modules/unilbrk/u32-width-linebreaks: New file.
49193         * modules/unilbrk/ulc-width-linebreaks: New file.
49194         * lib/linebreak.h: Remove file.
49195         * lib/linebreak.c: Remove file.
49196         * m4/linebreak.m4: Remove file.
49197         * modules/linebreak: Remove file.
49198         * NEWS: Mention the changes.
49199
49200 2008-05-09  Eric Blake  <ebb9@byu.net>
49201
49202         Add xmemdup0.
49203         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
49204         implementation.
49205         * lib/xmalloc.c (xmemdup0): New C implementation.
49206
49207 2008-05-08  Bruno Haible  <bruno@clisp.org>
49208
49209         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
49210
49211 2008-05-07  Eric Blake  <ebb9@byu.net>
49212
49213         Support cross-compilation of <wctype.h>.
49214         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
49215         AC_CACHE_CHECK.
49216
49217 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
49218
49219         * build-aux/vc-list-files: Add support for bzr.
49220
49221 2008-05-03  Jim Meyering  <meyering@redhat.com>
49222
49223         avoid failed assertion with tight malloc
49224         * tests/test-getndelim2.c: Correct an off-by-one assertion.
49225
49226 2008-05-03  Simon Josefsson  <simon@josefsson.org>
49227
49228         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
49229         are needed from arpa/inet.h.
49230         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
49231         Reported by Bruno Haible.
49232
49233 2008-05-02  Jim Meyering  <meyering@redhat.com>
49234
49235         avoid compilation error on FreeBSD 6
49236         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
49237
49238 2008-05-01  Jim Meyering  <meyering@redhat.com>
49239
49240         useless-if-before-free: correct --help's exit status description
49241         * build-aux/useless-if-before-free (usage): Like grep, exit 0
49242         for one or more matches, etc.  Reported by Bruno Haible.
49243
49244         vc-list-files: make the stand-alone gnulib test work
49245         * modules/vc-list-files-tests (configure.ac):
49246         Define and AC_SUBST abs_aux_dir.
49247         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
49248         $(abs_top_srcdir) to each script and having each of them
49249         duplicate the work of setting PATH, set PATH here, using
49250         the new variable, abs_aux_dir instead.
49251         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
49252         * tests/test-vc-list-files-git.sh: Likewise.
49253         Reported by Bruno Haible.
49254
49255 2008-05-01  Bruno Haible  <bruno@clisp.org>
49256
49257         * lib/getndelim2.c (getndelim2): Fix newsize computation during
49258         reallocation. Rename 'done' to 'found_delimiter'.
49259
49260 2008-05-01  Jim Meyering  <meyering@redhat.com>
49261
49262         vc-list-files: accommodate /bin/sh like the one from Solaris 10
49263         * build-aux/vc-list-files: Use `...`, not $(...).
49264
49265 2008-04-30  Jim Meyering  <meyering@redhat.com>
49266
49267         add tests for vc-list-files
49268         * modules/vc-list-files-tests: New module.
49269         * tests/test-vc-list-files-cvs.sh: New file.
49270         * tests/test-vc-list-files-git.sh: New file.
49271
49272         avoid a warning from gcc
49273         * lib/getndelim2.c (IF_LINT): Define.
49274         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
49275
49276         vc-list-files: work properly with build-aux/cvsu, too
49277         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
49278         to all cvs-based clauses.
49279
49280         vc-list-files: work properly in the CVS+awk case, too
49281         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
49282
49283         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
49284         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
49285         take more than one file argument, so .  Add quotes, just in case $dir
49286         ever contains a shell meta-character.  Prompted by Soren Hansen in
49287         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
49288
49289 2008-04-29  Eric Blake  <ebb9@byu.net>
49290
49291         Optimize getndelim2 to use block operations when possible.
49292         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
49293         freadseek, and memchr2.
49294         * lib/getndelim2.c (getndelim2): Use them for block reads.
49295
49296 2008-04-29  Bruno Haible  <bruno@clisp.org>
49297
49298         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
49299         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49300         * modules/inet_ntop (Depends-on): Add extensions.
49301         * modules/inet_pton (Depends-on): Likewise.
49302         Reported by Simon Josefsson.
49303
49304 2008-04-29  Jim Meyering  <meyering@redhat.com>
49305
49306         When the is more than one match in a block, match all of them.
49307         * build-aux/useless-if-before-free: Iterate through each block
49308         until there are no more matches.
49309
49310         Fix broken useless-if-before-free script.
49311         * build-aux/useless-if-before-free: Fix typo: missing "?" after
49312         the expression to match cast of argument to free-like function.
49313
49314 2008-04-29  Eric Blake  <ebb9@byu.net>
49315
49316         Use new header.
49317         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
49318
49319 2008-04-29  Jim Meyering  <meyering@redhat.com>
49320
49321         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
49322         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
49323         by gnulib to exist and to declare e.g., inet_ntop.
49324         Don't include "inet_ntop.h", now removed.
49325
49326         * m4/arpa_inet_h.m4: Remove trailing blanks.
49327
49328 2008-04-29  Eric Blake  <ebb9@byu.net>
49329
49330         Silence valgrind on safe reads beyond potential array bounds.
49331         * lib/rawmemchr.valgrind: New file.
49332         * lib/strchrnul.valgrind: Likewise.
49333         * modules/rawmemchr (Files): Distribute new file.
49334         * modules/strchrnul (Files): Likewise.
49335         Suggested by Bruno Haible.
49336
49337 2008-04-29  Bruno Haible  <bruno@clisp.org>
49338
49339         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
49340         (inet_ntop, inet_pton): Change portability warning's wording.
49341         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
49342         Invoke gl_CHECK_NEXT_HEADERS.
49343         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49344         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
49345         set ARPA_INET_H.
49346         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49347         * modules/arpa_inet (Description): No longer only for systems that
49348         lack it.
49349         (Depends-on): Add include_next.
49350         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
49351         HAVE_ARPA_INET_H.
49352
49353 2008-04-29  Jim Meyering  <meyering@redhat.com>
49354
49355         * modules/mkdir (License): Re-license as LGPLv2+.
49356
49357 2008-04-29  Bruno Haible  <bruno@clisp.org>
49358
49359         * modules/rawmemchr (Maintainer): Set to Eric.
49360         * modules/strchrnul (Maintainer): Likewise.
49361
49362 2008-04-29  Simon Josefsson  <simon@josefsson.org>
49363
49364         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
49365         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
49366
49367         * modules/arpa_inet (arpa/inet.h): Use them.
49368
49369 2008-04-28  Eric Blake  <ebb9@byu.net>
49370
49371         Test getndelim2.
49372         * modules/getndelim2-tests: New file.
49373         * tests/test-getndelim2.c: Likewise.
49374         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
49375         stream.
49376         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
49377
49378         * MODULES.html.sh: Document new module.
49379
49380 2008-04-20  Bruno Haible  <bruno@clisp.org>
49381
49382         * lib/c-stack.c (die): Use raise.
49383         * modules/c-stack (Depends-on): Add raise.
49384
49385 2008-04-28  Bruno Haible  <bruno@clisp.org>
49386
49387         Expect rpmatch to be declared.
49388         * lib/yesno.c (rpmatch): Remove declaration.
49389
49390         Declare rpmatch.
49391         * lib/stdlib.in.h (rpmatch): New declaration.
49392         * lib/rpmatch.c: Include <stdlib.h> first.
49393         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
49394         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
49395         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
49396         HAVE_RPMATCH.
49397         * modules/rpmatch (Depends-on): Add stdlib, extensions.
49398         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49399         (Include): Set to <stdlib.h>.
49400         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
49401         HAVE_RPMATCH.
49402         * NEWS: Document the change.
49403
49404 2008-04-28  Bruno Haible  <bruno@clisp.org>
49405
49406         Change rpmatch to use nl_langinfo when appropriate.
49407         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
49408         (N_): New macro.
49409         (localized_pattern): New function/macro.
49410         (try): Remove match, nomatch arguments. Copy the pattern into safe
49411         memory before caching it.
49412         (rpmatch): Use localized_pattern. Add translator comments.
49413         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
49414         Suggested by Eric Blake.
49415         * modules/rpmatch (Depends-on): Add stdbool.
49416
49417 2008-04-28  Eric Blake  <ebb9@byu.net>
49418
49419         Add rawmemchr module, matching glibc.
49420         * modules/string (Makefile.am): New indicator.
49421         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
49422         * lib/string.in.h (rawmemchr): Declare when appropriate.
49423         * modules/rawmemchr: New file.
49424         * m4/rawmemchr.m4: Likewise.
49425         * lib/rawmemchr.c: Likewise.
49426         * modules/rawmemchr-tests: Likewise.
49427         * tests/test-rawmemchr.c: Likewise.
49428         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
49429         module.
49430         * modules/strchrnul (Depends-on): Add rawmemchr.
49431         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49432
49433         Whitespace cleanup.
49434         * tests/test-strchrnul.c: Reindent.
49435         * lib/strchrnul.c: Likewise.
49436
49437         Optimize and test strchrnul.
49438         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49439         * modules/strchrnul-tests: New file.
49440         * tests/test-strchrnul.c: Likewise.
49441
49442         Remove intprops dependency.
49443         * modules/memchr (Depends-on): Remove intprops.
49444         * modules/memrchr (Depends-on): Likewise.
49445         * modules/memchr2 (Depends-on): Likewise.
49446         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49447         * lib/memrchr.c (__memrchr): Likewise.
49448         * lib/memrchr2.c (memchr2): Likewise.
49449         Reported by Simon Josefsson.
49450
49451 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49452
49453         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49454         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49455
49456 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49457
49458         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49459
49460         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49461
49462         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49463
49464         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49465         declarations.
49466         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49467
49468         * m4/inet_pton.m4: Don't check for header files.
49469
49470         * m4/inet_ntop.m4: Don't check for header files.
49471
49472 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49473
49474         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49475         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49476         trigger for cygwin).
49477         Reported by Bruno Haible  <bruno@clisp.org>.
49478
49479 2008-04-28  Bruno Haible  <bruno@clisp.org>
49480
49481         * doc/posix-functions/strdup.texi: Mention mingw problem.
49482
49483 2008-04-27  Bruno Haible  <bruno@clisp.org>
49484
49485         * modules/stat-time-tests (Depends-on): Add sleep.
49486         * tests/test-stat-time.c (force_unlink): New function.
49487         (cleanup): Use it.
49488         (test_mtime): Remove the ctime related tests.
49489         (test_ctime): New function, containing the ctime related tests.
49490         (main): Call test_ctime, except on native Windows platforms.
49491
49492 2008-04-27  Bruno Haible  <bruno@clisp.org>
49493
49494         * lib/rpmatch.c (rpmatch): Add some comments.
49495         Reported by James Youngman <jay@gnu.org>.
49496
49497 2008-04-27  Bruno Haible  <bruno@clisp.org>
49498
49499         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49500         quiet NaNs.
49501
49502 2008-04-27  Bruno Haible  <bruno@clisp.org>
49503
49504         Make test-yesno.sh work on mingw.
49505         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49506         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49507         (main): Set stdin to binary mode.
49508         * modules/yesno-tests (Depends-on): Add binary-io.
49509
49510 2008-04-27  Bruno Haible  <bruno@clisp.org>
49511
49512         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49513         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49514         argument that lie outside the IEEE 854 domain.
49515         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49516         (gl_ISFINITE): Use it.
49517         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49518
49519 2008-04-27  Bruno Haible  <bruno@clisp.org>
49520
49521         Allow local renaming in config.h.
49522         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49523
49524 2008-04-27  Bruno Haible  <bruno@clisp.org>
49525
49526         * lib/memchr.c (__memchr): Change type of 'i'.
49527         * lib/memchr2.c (memchr2): Likewise.
49528
49529 2008-04-26  Eric Blake  <ebb9@byu.net>
49530         and Bruno Haible  <bruno@clisp.org>
49531
49532         Optimize and test memrchr.
49533         * modules/memrchr (Depends-on): Add intprops.
49534         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49535         * modules/memrchr-tests: New file.
49536         * tests/test-memrchr.c: New file.
49537
49538 2008-04-26  Bruno Haible  <bruno@clisp.org>
49539
49540         Add tentative support for DragonFly BSD.
49541         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49542         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49543         fp.
49544         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49545         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49546         * lib/fpurge.c (fpurge): Likewise.
49547         * lib/freadable.c (freaadable): Likewise.
49548         * lib/freadahead.c (freadahead): Likewise.
49549         * lib/freading.c (freading): Likewise.
49550         * lib/freadptr.c (freadptr): Likewise.
49551         * lib/freadseek.c (freadptrinc): Likewise.
49552         * lib/fseeko.c (fseeko): Likewise.
49553         * lib/fseterr.c (fseterr): Likewise.
49554         * lib/fwritable.c (fwritable): Likewise.
49555         * lib/fwriting.c (fwriting): Likewise.
49556
49557 2008-04-26  Bruno Haible  <bruno@clisp.org>
49558
49559         * lib/stdio-impl.h: New file.
49560         * lib/fbufmode.c: Include stdio-impl.h.
49561         (fbufmode): Use fp_, remove redundant #defines.
49562         * lib/fflush.c: Include stdio-impl.h.
49563         (clear_ungetc_buffer): Remove redundant #defines.
49564         * lib/fpurge.c: Include stdio-impl.h.
49565         (fpurge): Remove redundant #defines.
49566         * lib/freadable.c: Include stdio-impl.h.
49567         (freadable): Remove redundant #defines.
49568         * lib/freadahead.c: Include stdio-impl.h.
49569         (freadahead): Remove redundant #defines.
49570         * lib/freading.c: Include stdio-impl.h.
49571         (freading): Remove redundant #defines.
49572         * lib/freadptr.c: Include stdio-impl.h.
49573         (freadptr): Remove redundant #defines.
49574         * lib/freadseek.c: Include stdio-impl.h.
49575         (freadptrinc): Remove redundant #defines.
49576         * lib/fseeko.c: Include stdio-impl.h.
49577         (rpl_fseeko): Remove redundant #defines.
49578         * lib/fseterr.c: Include stdio-impl.h.
49579         (fseterr): Remove redundant #defines.
49580         * lib/fwritable.c: Include stdio-impl.h.
49581         (fwritable: Remove redundant #defines.
49582         * lib/fwriting.c: Include stdio-impl.h.
49583         (fwriting): Remove redundant #defines.
49584         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49585         * modules/fflush (Files): Likewise.
49586         * modules/fpurge (Files): Likewise.
49587         * modules/freadable (Files): Likewise.
49588         * modules/freadahead (Files): Likewise.
49589         * modules/freading (Files): Likewise.
49590         * modules/freadptr (Files): Likewise.
49591         * modules/freadseek (Files): Likewise.
49592         * modules/fseeko (Files): Likewise.
49593         * modules/fseterr (Files): Likewise.
49594         * modules/fwritable (Files): Likewise.
49595         * modules/fwriting (Files): Likewise.
49596
49597 2008-04-26  Bruno Haible  <bruno@clisp.org>
49598
49599         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49600         restore_seek_optimization, update_fpos_cache): New functions, extracted
49601         from rpl_fflush.
49602         (rpl_fflush): Use them.
49603         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49604         (gl_REPLACE_FFLUSH): Use it.
49605
49606 2008-04-26  Bruno Haible  <bruno@clisp.org>
49607
49608         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49609         on Solaris.
49610         * tests/test-xstrtoimax.sh: Likewise.
49611         * tests/test-xstrtoumax.sh: Likewise.
49612         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49613
49614 2008-04-26  Bruno Haible  <bruno@clisp.org>
49615
49616         * modules/memchr-tests: New file.
49617         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49618
49619 2008-04-26  Eric Blake  <ebb9@byu.net>
49620             Bruno Haible  <bruno@clisp.org>
49621
49622         * lib/memchr.c: Include intprops.h.
49623         (__memchr): Optimize parallel detection of matching bytes. Rename local
49624         variables. Add explanatory comments.
49625
49626 2008-04-26  Bruno Haible  <bruno@clisp.org>
49627
49628         Fix module 'memchr', broken since 2000-10-28.
49629         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49630
49631 2008-04-26  Bruno Haible  <bruno@clisp.org>
49632
49633         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49634         comments.
49635
49636 2008-04-25  Eric Blake  <ebb9@byu.net>
49637
49638         Use native fstatat on cygwin 1.7.0.
49639         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49640         first.
49641
49642 2008-04-23  Eric Blake  <ebb9@byu.net>
49643
49644         Improve memchr2 performance.
49645         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49646         NUL bytes.
49647         * modules/memchr2 (Depends-on): Use intprops.h.
49648
49649 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49650
49651         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49652         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49653         <blp@cs.stanford.edu>.
49654
49655 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49656
49657         * lib/arpa_inet.in.h: New file.
49658
49659         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49660         (Makefile.am): Sed in substitute header file.
49661
49662         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49663         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49664
49665         * modules/inet_ntop (configure.ac): Use
49666         gl_ARPA_INET_MODULE_INDICATOR.
49667
49668         * modules/inet_pton (configure.ac): Use
49669         gl_ARPA_INET_MODULE_INDICATOR.
49670
49671 2008-04-22  Jim Meyering  <meyering@redhat.com>
49672
49673         * modules/verify (License): Re-license as LGPLv2+.
49674
49675 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49676
49677         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49678         parameter to void* as per POSIX standard (MinGW uses char*).
49679
49680 2008-04-21  Bruno Haible  <bruno@clisp.org>
49681
49682         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49683         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49684         Define to replacements if REPLACE_ISWCNTRL is 1.
49685         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49686         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49687         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49688         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49689         what it fixes.
49690         * doc/posix-functions/iswalpha.texi: Likewise.
49691         * doc/posix-functions/iswblank.texi: Likewise.
49692         * doc/posix-functions/iswcntrl.texi: Likewise.
49693         * doc/posix-functions/iswdigit.texi: Likewise.
49694         * doc/posix-functions/iswgraph.texi: Likewise.
49695         * doc/posix-functions/iswlower.texi: Likewise.
49696         * doc/posix-functions/iswprint.texi: Likewise.
49697         * doc/posix-functions/iswpunct.texi: Likewise.
49698         * doc/posix-functions/iswspace.texi: Likewise.
49699         * doc/posix-functions/iswupper.texi: Likewise.
49700         * doc/posix-functions/iswxdigit.texi: Likewise.
49701         Reported by Alain Guibert.
49702
49703 2008-04-21  Bruno Haible  <bruno@clisp.org>
49704
49705         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49706         Patch by Alain Guibert.
49707
49708 2008-04-21  Bruno Haible  <bruno@clisp.org>
49709
49710         Fix test failures on mingw.
49711         * tests/test-xstrtol.c (print_no_progname): New function.
49712         (main): Install it in error_print_progname hook.
49713         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49714         * tests/test-xstrtoimax.sh: Likewise.
49715         * tests/test-xstrtoumax.sh: Likewise.
49716
49717 2008-04-21  Bruno Haible  <bruno@clisp.org>
49718
49719         Fix test failure on mingw.
49720         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49721
49722 2008-04-21  Bruno Haible  <bruno@clisp.org>
49723
49724         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49725         Actually assign a value.
49726
49727 2008-04-20  Bruno Haible  <bruno@clisp.org>
49728
49729         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49730         take 2.
49731         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49732         'canonicalize-lgpl' module is also used.
49733         * lib/canonicalize-lgpl.c: Undo last change.
49734         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49735
49736 2008-04-20  Bruno Haible  <bruno@clisp.org>
49737
49738         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49739         config.h. Provide _mkdir based fallback for mingw.
49740         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49741         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49742         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49743         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49744         rather than defining mkdir in config.h.
49745         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49746         (gl_SYS_STAT_H_DEFAULTS): New macro.
49747         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49748         HAVE_IO_H any more.
49749         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49750         HAVE_DECL_MKDIR and HAVE_IO_H.
49751
49752 2008-04-20  Bruno Haible  <bruno@clisp.org>
49753
49754         * lib/isapipe.c: Port to native Windows platforms.
49755
49756 2008-04-20  Bruno Haible  <bruno@clisp.org>
49757
49758         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49759
49760 2008-04-21  Eric Blake  <ebb9@byu.net>
49761
49762         Work around preprocessors that don't handle UINTMAX_MAX.
49763         * lib/memchr2.c (memchr2): Avoid embedded #if.
49764         Reported by Alain Guibert, fix suggested by Bruno Haible.
49765
49766 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49767
49768         * doc/posix-functions/strftime.texi (strftime): Explain better
49769         Windows incompatibility.  Suggested by Micah Cowan
49770         <micah@cowan.name>.
49771
49772 2008-04-20  Bruno Haible  <bruno@clisp.org>
49773
49774         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49775         unistr/u8-mblen.
49776
49777 2008-04-20  Bruno Haible  <bruno@clisp.org>
49778
49779         Fix test failure on platforms with non-GNU iconv.
49780         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49781         (U_TO_U8): Use it, rather than u16_to_u8.
49782         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49783         units at the end of the input string.
49784         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49785
49786 2008-04-20  Bruno Haible  <bruno@clisp.org>
49787
49788         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49789         when the resulting length is 0.
49790         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49791
49792 2008-04-20  Bruno Haible  <bruno@clisp.org>
49793
49794         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49795         works.
49796         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49797
49798 2008-04-20  Bruno Haible  <bruno@clisp.org>
49799
49800         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49801         * modules/tsearch-tests (configure.ac): Test for initstate function.
49802
49803 2008-04-20  Bruno Haible  <bruno@clisp.org>
49804
49805         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49806         for nlink_t if missing.
49807         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49808
49809 2008-04-19  Bruno Haible  <bruno@clisp.org>
49810
49811         Work around snprintf bug on Linux libc5.
49812         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49813         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49814         gl_SNPRINTF_SIZE1.
49815         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49816         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49817         that test failed.
49818         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49819         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49820         * modules/snprintf (Files): Add m4/printf.m4.
49821         * modules/vsnprintf (Files): Likewise.
49822         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49823         * doc/posix-functions/vsnprintf.texi: Likewise.
49824
49825 2008-04-19  Bruno Haible  <bruno@clisp.org>
49826
49827         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49828         from 0.0058 to less than 10^-7.
49829
49830 2008-04-19  Bruno Haible  <bruno@clisp.org>
49831
49832         Fix rounding when a precision is given.
49833         * lib/vasnprintf.c (is_borderline): New function.
49834         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49835         9...9x.
49836         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49837         %e, %g.
49838         * tests/test-vasprintf-posix.c (test_function): Likewise.
49839         * tests/test-snprintf-posix.h (test_function): Likewise.
49840         * tests/test-sprintf-posix.h (test_function): Likewise.
49841         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
49842         * tests/test-printf-posix.h (test_function): Likewise.
49843         * tests/test-printf-posix.output: Update.
49844         Reported by John Darrington <john@darrington.wattle.id.au> via
49845         Ben Pfaff <blp@cs.stanford.edu>.
49846
49847 2008-04-18  Simon Josefsson  <simon@josefsson.org>
49848
49849         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
49850         Suggested by Bruno Haible <bruno@clisp.org>.
49851
49852 2008-04-17  Bruno Haible  <bruno@clisp.org>
49853
49854         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
49855         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
49856         implementation.
49857         Patch by Bruce Merry <bmerry@gmail.com>.
49858
49859 2008-04-17  Simon Josefsson  <simon@josefsson.org>
49860
49861         * doc/posix-functions/strftime.texi (strftime): Mention that %e
49862         doesn't work under Windows.
49863
49864 2008-04-16  Bruno Haible  <bruno@clisp.org>
49865
49866         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
49867         New macros.
49868         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
49869         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
49870         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
49871         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
49872         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
49873         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
49874         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
49875         macros.
49876         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
49877         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
49878         Northern Sotho, Uighur.
49879
49880 2008-04-16  Bruno Haible  <bruno@clisp.org>
49881
49882         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
49883         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
49884         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
49885         Reported by Daniel Bergström <daniel@octocode.com>.
49886
49887 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
49888             Bruno Haible  <bruno@clisp.org>
49889
49890         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
49891         function.
49892         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
49893         New functions, mostly extracted from gl_locale_name_default.
49894         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
49895
49896 2008-04-16  Eric Blake  <ebb9@byu.net>
49897
49898         Adjust strtod detection to catch glibc 2.7 bug.
49899         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
49900         Reported by John Gatewood Ham.
49901
49902 2008-04-16  Bruno Haible  <bruno@clisp.org>
49903
49904         Add tentative support for Linux libc5.
49905         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
49906         * lib/fpurge.c (fpurge): Likewise.
49907         * lib/freadable.c (freadable): Likewise.
49908         * lib/freadahead.c (freadahead): Likewise.
49909         * lib/freading.c (freading): Likewise.
49910         * lib/freadptr.c (freadptr): Likewise.
49911         * lib/freadseek.c (freadptrinc): Likewise.
49912         * lib/fseeko.c (rpl_fseeko): Likewise.
49913         * lib/fseterr.c (fseterr): Likewise.
49914         * lib/fwritable.c (fwritable): Likewise.
49915         * lib/fwriting.c (fwriting): Likewise.
49916         Reported by Alain Guibert <alguibert+bts@free.fr>.
49917
49918 2008-04-15  Bruno Haible  <bruno@clisp.org>
49919
49920         * modules/mathl (configure.ac): Define module indicator.
49921
49922 2008-04-15  Bruno Haible  <bruno@clisp.org>
49923
49924         * lib/logl.c (logl): Remove unused variables.
49925
49926 2008-04-15  Bruno Haible  <bruno@clisp.org>
49927
49928         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
49929         fails.
49930
49931 2008-04-15  Bruno Haible  <bruno@clisp.org>
49932
49933         * lib/trim.c (trim2): Fix argument of isspace() macro.
49934
49935 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
49936
49937         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
49938         to 0.
49939         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
49940
49941 2008-04-14  Bruno Haible  <bruno@clisp.org>
49942
49943         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
49944         AC_LANG_PROGRAM argument.
49945         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
49946         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
49947         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
49948         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49949         * m4/math_h.m4 (gl_MATH_H): Likewise.
49950         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
49951         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49952         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49953         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
49954         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
49955         * m4/regex.m4 (gl_REGEX): Likewise.
49956         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
49957         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
49958         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49959         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
49960         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49961         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49962         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49963         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49964
49965 2008-04-14  Jim Meyering  <meyering@redhat.com>
49966
49967         test-strtod: fix typos: s/abs/fabs/
49968         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
49969
49970 2008-04-13  Bruno Haible  <bruno@clisp.org>
49971
49972         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
49973         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
49974         module is also used and while not building the reloc-wrapper.
49975
49976 2008-04-13  Bruno Haible  <bruno@clisp.org>
49977
49978         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
49979
49980 2008-04-13  Bruno Haible  <bruno@clisp.org>
49981
49982         Fix AIX compilation failure introduced on 2008-04-02.
49983         * tests/test-frexp.c (exp): Undefine before redefining.
49984         * tests/test-frexpl.c (exp): Likewise.
49985
49986 2008-04-13  Bruno Haible  <bruno@clisp.org>
49987
49988         Work around a HP-UX stdio bug.
49989         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
49990         * tests/test-ftello.c (main): Likewise.
49991         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
49992         * doc/posix-functions/ftello.texi: Likewise.
49993
49994 2008-04-13  Bruno Haible  <bruno@clisp.org>
49995
49996         Make test-signbit pass on HP-UX/hppa.
49997         * tests/test-signbit.c (minus_zerol): New variable.
49998         (test_signbitl): Use it.
49999
50000 2008-04-13  Bruno Haible  <bruno@clisp.org>
50001
50002         Make truncl work on OSF/1 4.0.
50003         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
50004         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50005         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50006         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
50007         HAVE_DECL_TRUNCL.
50008         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
50009         HAVE_DECL_TRUNCL.
50010         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
50011
50012 2008-04-13  Bruno Haible  <bruno@clisp.org>
50013
50014         * lib/unictype.h: Remove trailing comma from enumeration definitions.
50015
50016 2008-04-13  Bruno Haible  <bruno@clisp.org>
50017
50018         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
50019         expression, so as to avoid HP-UX 11 cc compiler bug.
50020
50021 2008-04-13  Bruno Haible  <bruno@clisp.org>
50022
50023         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
50024
50025 2008-04-13  Bruno Haible  <bruno@clisp.org>
50026
50027         * lib/git-merge-changelog.c: Remove empty declaration outside of
50028         functions.
50029
50030 2008-04-13  Bruno Haible  <bruno@clisp.org>
50031
50032         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
50033
50034 2008-04-13  Bruno Haible  <bruno@clisp.org>
50035
50036         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
50037         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
50038         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
50039         also if it exists but lacks definitions of the SHUT_* macros.
50040         * modules/sys_socket (Description): Update.
50041         Reported by Elbert Pol <e.pol@chello.nl>.
50042
50043 2008-04-13  Bruno Haible  <bruno@clisp.org>
50044
50045         * lib/localcharset.c (OS2): Don't redefine if already defined.
50046         Reported by Elbert Pol <e.pol@chello.nl>.
50047
50048 2008-04-13  Bruno Haible  <bruno@clisp.org>
50049
50050         * lib/binary-io.h [__EMX__]: Include <io.h>.
50051         Reported by Elbert Pol <e.pol@chello.nl>.
50052
50053 2008-04-12  Bruno Haible  <bruno@clisp.org>
50054
50055         * lib/fpucw.h: Enable the definitions also for x86_64.
50056         Needed for NetBSD/x86_64.
50057         Reported by Thomas Klausner <tk@giga.or.at>.
50058
50059 2008-04-12  Bruno Haible  <bruno@clisp.org>
50060
50061         * tests/test-strtod.c: Include isnand.h.
50062         (main): Use isnand instead of isnan.
50063         Reported by Jim Meyering.
50064
50065 2008-04-12  Bruno Haible  <bruno@clisp.org>
50066
50067         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
50068         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
50069
50070 2008-04-12  Jim Meyering  <meyering@redhat.com>
50071
50072         * m4/math_h.m4 (gl_MATH_H): Fix typos.
50073
50074 2008-04-12  Bruno Haible  <bruno@clisp.org>
50075
50076         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
50077         Reported by Elbert Pol <e.pol@chello.nl>.
50078
50079 2008-04-12  Eric Blake  <ebb9@byu.net>
50080
50081         Work around Solaris 10 math.h bug.
50082         * m4/math_h.m4 (gl_MATH_H): Check for bug.
50083         (gl_MATH_H_DEFAULTS): Set up default.
50084         * modules/math (Makefile.am): Replace new indicators.
50085         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
50086         * tests/test-math.c (main): Test this.
50087         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
50088         * doc/posix-headers/math.texi (math.h): Mention bug.
50089         Reported by Nelson H. F. Beebe and Jim Meyering.
50090
50091 2008-04-11  Bruno Haible  <bruno@clisp.org>
50092
50093         Adapt to future versions of Apple GCC.
50094         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
50095         Reported by Peter O'Gorman <peter@pogma.com>.
50096
50097 2008-04-11  Bruno Haible  <bruno@clisp.org>
50098
50099         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
50100
50101 2008-04-11  Bruno Haible  <bruno@clisp.org>
50102
50103         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
50104
50105         * modules/getaddrinfo-tests (Makefile.am): Define
50106         test_getaddrinfo_LDADD.
50107
50108 2008-04-11  Bruno Haible  <bruno@clisp.org>
50109
50110         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
50111         (init): Fix syntax error.
50112         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
50113         is declared.
50114
50115 2008-04-11  Bruno Haible  <bruno@clisp.org>
50116
50117         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
50118         * modules/glob (Depends-on): Add stdbool.
50119
50120 2008-04-11  Bruno Haible  <bruno@clisp.org>
50121
50122         * lib/trim.c: Include <string.h>.
50123
50124 2008-04-11  Eric Blake  <ebb9@byu.net>
50125
50126         Avoid compile failure on OS/2.
50127         * lib/regex_internal.h (internal_function): Disable optimization
50128         on OS/2 (__EMX__), where it caused compiler error.
50129         Reported by Elbert Pol.
50130
50131 2008-04-11  Bruno Haible  <bruno@clisp.org>
50132
50133         Flush the standard error stream before aborting. Needed on mingw.
50134         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
50135         * tests/test-array_list.c (ASSERT): Likewise.
50136         * tests/test-array_oset.c (ASSERT): Likewise.
50137         * tests/test-avltree_list.c (ASSERT): Likewise.
50138         * tests/test-avltree_oset.c (ASSERT): Likewise.
50139         * tests/test-avltreehash_list.c (ASSERT): Likewise.
50140         * tests/test-binary-io.c (ASSERT): Likewise.
50141         * tests/test-byteswap.c (ASSERT): Likewise.
50142         * tests/test-c-ctype.c (ASSERT): Likewise.
50143         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
50144         * tests/test-c-strcasestr.c (ASSERT): Likewise.
50145         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
50146         * tests/test-c-strstr.c (ASSERT): Likewise.
50147         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
50148         * tests/test-canonicalize.c (ASSERT): Likewise.
50149         * tests/test-carray_list.c (ASSERT): Likewise.
50150         * tests/test-ceilf1.c (ASSERT): Likewise.
50151         * tests/test-ceilf2.c (ASSERT): Likewise.
50152         * tests/test-ceill.c (ASSERT): Likewise.
50153         * tests/test-count-one-bits.c (ASSERT): Likewise.
50154         * tests/test-fbufmode.c (ASSERT): Likewise.
50155         * tests/test-fflush2.c (ASSERT): Likewise.
50156         * tests/test-floorf1.c (ASSERT): Likewise.
50157         * tests/test-floorf2.c (ASSERT): Likewise.
50158         * tests/test-floorl.c (ASSERT): Likewise.
50159         * tests/test-fopen.c (ASSERT): Likewise.
50160         * tests/test-fpending.c (ASSERT): Likewise.
50161         * tests/test-fprintf-posix.c (ASSERT): Likewise.
50162         * tests/test-fpurge.c (ASSERT): Likewise.
50163         * tests/test-freadable.c (ASSERT): Likewise.
50164         * tests/test-freadahead.c (ASSERT): Likewise.
50165         * tests/test-freading.c (ASSERT): Likewise.
50166         * tests/test-freadptr.c (ASSERT): Likewise.
50167         * tests/test-freadptr2.c (ASSERT): Likewise.
50168         * tests/test-freadseek.c (ASSERT): Likewise.
50169         * tests/test-freopen.c (ASSERT): Likewise.
50170         * tests/test-frexp.c (ASSERT): Likewise.
50171         * tests/test-frexpl.c (ASSERT): Likewise.
50172         * tests/test-fseek.c (ASSERT): Likewise.
50173         * tests/test-fseeko.c (ASSERT): Likewise.
50174         * tests/test-fstrcmp.c (ASSERT): Likewise.
50175         * tests/test-ftell.c (ASSERT): Likewise.
50176         * tests/test-ftello.c (ASSERT): Likewise.
50177         * tests/test-func.c (ASSERT): Likewise.
50178         * tests/test-fwritable.c (ASSERT): Likewise.
50179         * tests/test-fwriting.c (ASSERT): Likewise.
50180         * tests/test-getdelim.c (ASSERT): Likewise.
50181         * tests/test-getline.c (ASSERT): Likewise.
50182         * tests/test-i-ring.c (ASSERT): Likewise.
50183         * tests/test-iconv-utf.c (ASSERT): Likewise.
50184         * tests/test-iconv.c (ASSERT): Likewise.
50185         * tests/test-isfinite.c (ASSERT): Likewise.
50186         * tests/test-isnand.c (ASSERT): Likewise.
50187         * tests/test-isnanf.c (ASSERT): Likewise.
50188         * tests/test-isnanl.h (ASSERT): Likewise.
50189         * tests/test-ldexpl.c (ASSERT): Likewise.
50190         * tests/test-linked_list.c (ASSERT): Likewise.
50191         * tests/test-linkedhash_list.c (ASSERT): Likewise.
50192         * tests/test-localename.c (ASSERT): Likewise.
50193         * tests/test-lseek.c (ASSERT): Likewise.
50194         * tests/test-mbscasecmp.c (ASSERT): Likewise.
50195         * tests/test-mbscasestr1.c (ASSERT): Likewise.
50196         * tests/test-mbscasestr2.c (ASSERT): Likewise.
50197         * tests/test-mbscasestr3.c (ASSERT): Likewise.
50198         * tests/test-mbscasestr4.c (ASSERT): Likewise.
50199         * tests/test-mbschr.c (ASSERT): Likewise.
50200         * tests/test-mbscspn.c (ASSERT): Likewise.
50201         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
50202         * tests/test-mbspbrk.c (ASSERT): Likewise.
50203         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
50204         * tests/test-mbsrchr.c (ASSERT): Likewise.
50205         * tests/test-mbsspn.c (ASSERT): Likewise.
50206         * tests/test-mbsstr1.c (ASSERT): Likewise.
50207         * tests/test-mbsstr2.c (ASSERT): Likewise.
50208         * tests/test-mbsstr3.c (ASSERT): Likewise.
50209         * tests/test-memchr2.c (ASSERT): Likewise.
50210         * tests/test-memmem.c (ASSERT): Likewise.
50211         * tests/test-open.c (ASSERT): Likewise.
50212         * tests/test-printf-frexp.c (ASSERT): Likewise.
50213         * tests/test-printf-frexpl.c (ASSERT): Likewise.
50214         * tests/test-printf-posix.c (ASSERT): Likewise.
50215         * tests/test-quotearg.c (ASSERT): Likewise.
50216         * tests/test-rbtree_list.c (ASSERT): Likewise.
50217         * tests/test-rbtree_oset.c (ASSERT): Likewise.
50218         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
50219         * tests/test-round1.c (ASSERT): Likewise.
50220         * tests/test-roundf1.c (ASSERT): Likewise.
50221         * tests/test-roundl.c (ASSERT): Likewise.
50222         * tests/test-signbit.c (ASSERT): Likewise.
50223         * tests/test-sleep.c (ASSERT): Likewise.
50224         * tests/test-snprintf-posix.c (ASSERT): Likewise.
50225         * tests/test-snprintf.c (ASSERT): Likewise.
50226         * tests/test-sprintf-posix.c (ASSERT): Likewise.
50227         * tests/test-stat-time.c (ASSERT): Likewise.
50228         * tests/test-strcasestr.c (ASSERT): Likewise.
50229         * tests/test-strerror.c (ASSERT): Likewise.
50230         * tests/test-striconv.c (ASSERT): Likewise.
50231         * tests/test-striconveh.c (ASSERT): Likewise.
50232         * tests/test-striconveha.c (ASSERT): Likewise.
50233         * tests/test-strsignal.c (ASSERT): Likewise.
50234         * tests/test-strstr.c (ASSERT): Likewise.
50235         * tests/test-strtod.c (ASSERT): Likewise.
50236         * tests/test-trunc1.c (ASSERT): Likewise.
50237         * tests/test-trunc2.c (ASSERT): Likewise.
50238         * tests/test-truncf1.c (ASSERT): Likewise.
50239         * tests/test-truncf2.c (ASSERT): Likewise.
50240         * tests/test-truncl.c (ASSERT): Likewise.
50241         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
50242         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
50243         * tests/test-vasnprintf.c (ASSERT): Likewise.
50244         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
50245         * tests/test-vasprintf.c (ASSERT): Likewise.
50246         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
50247         * tests/test-vprintf-posix.c (ASSERT): Likewise.
50248         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
50249         * tests/test-vsnprintf.c (ASSERT): Likewise.
50250         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
50251         * tests/test-wcwidth.c (ASSERT): Likewise.
50252         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
50253         * tests/test-xprintf-posix.c (ASSERT): Likewise.
50254         * tests/test-xvasprintf.c (ASSERT): Likewise.
50255         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
50256         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
50257         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
50258         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
50259         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
50260         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
50261         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
50262         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
50263         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
50264         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
50265         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
50266         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
50267         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
50268         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
50269         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
50270         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
50271         * tests/unictype/test-block_list.c (ASSERT): Likewise.
50272         * tests/unictype/test-block_of.c (ASSERT): Likewise.
50273         * tests/unictype/test-block_test.c (ASSERT): Likewise.
50274         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
50275         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
50276         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
50277         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
50278         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
50279         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
50280         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
50281         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
50282         * tests/unictype/test-combining.c (ASSERT): Likewise.
50283         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
50284         * tests/unictype/test-digit.c (ASSERT): Likewise.
50285         * tests/unictype/test-mirror.c (ASSERT): Likewise.
50286         * tests/unictype/test-numeric.c (ASSERT): Likewise.
50287         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
50288         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
50289         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
50290         * tests/unictype/test-scripts.c (ASSERT): Likewise.
50291         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
50292         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
50293         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
50294         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
50295         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
50296         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
50297         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
50298         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
50299         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
50300         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
50301         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
50302         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
50303         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
50304         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
50305         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
50306         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
50307         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
50308         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
50309         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
50310         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
50311         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
50312         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
50313         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
50314         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
50315         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
50316         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
50317         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
50318         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
50319         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
50320         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
50321         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
50322         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
50323         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
50324         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
50325         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
50326         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
50327         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
50328         Reported by Eric Blake.
50329
50330 2008-04-11  Bruno Haible  <bruno@clisp.org>
50331
50332         * lib/wchar.in.h: Tweak comment.
50333
50334 2008-04-11  Bruno Haible  <bruno@clisp.org>
50335
50336         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
50337         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
50338         gl_COMMON.
50339         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
50340
50341 2008-04-11  Bruno Haible  <bruno@clisp.org>
50342
50343         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
50344
50345 2008-04-11  Simon Josefsson  <simon@josefsson.org>
50346
50347         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
50348         of attempting to use non-existing /dev/*random.  Based on patch
50349         from Adam Strzelecki <ono@java.pl> in
50350         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
50351
50352 2008-04-08  Bruno Haible  <bruno@clisp.org>
50353
50354         Add tentative support for emx+gcc.
50355         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
50356         * lib/fpurge.c (fpurge): Likewise.
50357         * lib/freadable.c (freadable): Likewise.
50358         * lib/freadahead.c (freadahead): Likewise.
50359         * lib/freading.c (freading): Likewise.
50360         * lib/freadptr.c (freadptr): Likewise.
50361         * lib/freadseek.c (freadptrinc): Likewise.
50362         * lib/fseeko.c (rpl_fseeko): Likewise.
50363         * lib/fseterr.c (fseterr): Likewise.
50364         * lib/fwritable.c (fwritable): Likewise.
50365         * lib/fwriting.c (fwriting): Likewise.
50366         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
50367
50368 2008-04-09  Eric Blake  <ebb9@byu.net>
50369
50370         Avoid some autoconf warnings.
50371         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
50372         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
50373         * m4/afs.m4 (gl_AFS): Likewise.
50374         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
50375         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
50376         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50377         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
50378         (gl_INTEGER_TYPE_SUFFIX): Likewise.
50379         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
50380         (AC_CHECK_DECLS_ONCE): Likewise.
50381         Rename file...
50382         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
50383         gnulib-tool requires autoconf 2.59 or better.
50384         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
50385
50386 2008-04-08  Eric Blake  <ebb9@byu.net>
50387
50388         Use 'git describe --match' if present (added in git 1.5.5).
50389         * build-aux/git-version-gen: Limit result to tags that match 'v*'
50390         if possible.
50391
50392 2008-04-08  Bruno Haible  <bruno@clisp.org>
50393
50394         Add tentative support for OpenServer.
50395         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
50396         _ptr, _cnt.
50397         * lib/fpurge.c (fpurge): Likewise.
50398         * lib/freadable.c (freadable): Likewise.
50399         * lib/freadahead.c (freadahead): Likewise.
50400         * lib/freading.c (freading): Likewise.
50401         * lib/freadptr.c (freadptr): Likewise.
50402         * lib/freadseek.c (freadptrinc): Likewise.
50403         * lib/fseeko.c (rpl_fseeko): Likewise.
50404         * lib/fseterr.c (fseterr): Likewise.
50405         * lib/fwritable.c (fwritable): Likewise.
50406         * lib/fwriting.c (fwriting): Likewise.
50407         Reported by Roger Cornelius <rac@tenzing.org> and
50408         Brian K. White <brian@aljex.com>.
50409
50410 2008-04-06  Jim Meyering  <meyering@redhat.com>
50411
50412         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
50413
50414 2008-04-06  Bruno Haible  <bruno@clisp.org>
50415
50416         Avoid possible error with non-ASCII bytes in UTF-8 locales.
50417         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
50418         * tests/test-printf-posix.sh: Likewise.
50419         * tests/test-vfprintf-posix.sh: Likewise.
50420         * tests/test-vprintf-posix.sh: Likewise.
50421         * tests/test-xprintf-posix.sh: Likewise.
50422
50423 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50424
50425         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
50426         hide error from 'ls', needed on OS/2.
50427         Report by Elbert Pol <elbert.pol@gmail.com>.
50428
50429 2008-04-04  Eric Blake  <ebb9@byu.net>
50430
50431         Make test-fseeko.c failures meaningful.
50432         * tests/test-fseeko.c: Print line number on failure.
50433         * tests/test-fseek.c: Likewise.
50434         Reported by Nelson H. F. Beebe.
50435
50436         Improve strtod bug detection check.
50437         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50438         required for Solaris 10.
50439         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50440
50441 2008-04-04  Bruno Haible  <bruno@clisp.org>
50442
50443         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50444         by m4/setenv.m4.
50445
50446 2008-04-03  Eric Blake  <ebb9@byu.net>
50447
50448         Ensure sane .version contents.
50449         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50450         version string.
50451         * build-aux/git-version-gen: Improve documentation.
50452
50453         Make GNU make output nicer.
50454         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50455         MAKECMDGOALS to enforce message for all command line targets.  Set
50456         srcdir for use in maint.mk.
50457
50458         Another maintainer tweak.
50459         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50460         a target that regenerates version.
50461
50462 2008-04-03  Jim Meyering  <meyering@redhat.com>
50463
50464         vc-list-files: don't cause coreutils "make po-check" failure
50465         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50466
50467 2008-04-03  Eric Blake  <ebb9@byu.net>
50468
50469         Allow VPATH usage of vc-list-files.
50470         * build-aux/vc-list-files (scriptversion): Add timestamp.
50471         (options): Add --help, --version, -C.
50472         (CVS): Support installed cvsu.
50473
50474 2008-04-02  Bruno Haible  <bruno@clisp.org>
50475
50476         Avoid some "statement with no effect" warnings from gcc.
50477         * tests/test-wctype.c (main): Explicitly ignore unused values.
50478         Reported by Jim Meyering.
50479
50480 2008-04-02  Jim Meyering  <meyering@redhat.com>
50481
50482         Avoid some warnings from "gcc -Wshadow".
50483         * tests/test-frexp.c (exp): Define to a different identifier.
50484         * tests/test-frexpl.c (exp): Likewise.
50485
50486 2008-04-03  Jim Meyering  <meyering@redhat.com>
50487
50488         bootstrap: remove dangling *.[ch] symlinks from lib
50489         * build-aux/bootstrap [dangling symlink removal]: Move find's
50490         -depth option to precede all others, to avoid a warning.
50491         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50492
50493 2008-04-02  Bruno Haible  <bruno@clisp.org>
50494
50495         Avoid some warnings from "gcc -Wshadow".
50496         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50497         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50498         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50499         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50500         Reported by Jim Meyering.
50501
50502 2008-04-01  Bruno Haible  <bruno@clisp.org>
50503
50504         Fix test to work on IRIX 6.5 with cc.
50505         * tests/test-math.c (numeric_equal): New function.
50506         (main): Use it.
50507
50508 2008-04-01  Bruno Haible  <bruno@clisp.org>
50509
50510         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50511
50512 2008-04-01  Bruno Haible  <bruno@clisp.org>
50513
50514         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50515         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50516         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50517         (Depends-on): Remove math.
50518
50519         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
50520         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50521         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
50522         (Depends-on): Remove math.
50523
50524         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50525         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50526         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50527         (Depends-on): Remove math.
50528         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50529         (Depends-on): Remove math.
50530
50531         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50532         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50533         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50534         (Depends-on): Remove math.
50535         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50536         (Depends-on): Remove math.
50537
50538         * tests/test-round1.c: Include nan.h.
50539         (main): Use NaNd instead of NAN.
50540         * modules/round-tests (Files): Add tests/nan.h.
50541
50542         * tests/test-trunc1.c: Include nan.h.
50543         (main): Use NaNd instead of NAN.
50544         * modules/trunc-tests (Files): Add tests/nan.h.
50545
50546         * tests/test-roundf1.c: Include nan.h.
50547         (main): Use NaNf instead of NAN.
50548         * modules/roundf-tests (Files): Add tests/nan.h.
50549
50550         * tests/test-truncf1.c: Include nan.h.
50551         (main): Use NaNf instead of NAN.
50552         * modules/truncf-tests (Files): Add tests/nan.h.
50553
50554         * tests/test-ceilf1.c: Include nan.h.
50555         (main): Use NaNf instead of NAN.
50556         * modules/ceilf-tests (Files): Add tests/nan.h.
50557
50558         * tests/test-floorf1.c: Include nan.h.
50559         (main): Use NaNf instead of NAN.
50560         * modules/floorf-tests (Files): Add tests/nan.h.
50561
50562         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50563         (main): Use NaNf instead of NAN.
50564         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50565
50566         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50567         (main): Use NaNd instead of NAN.
50568         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50569
50570         * tests/test-frexp.c: Include nan.h.
50571         (main): Use NaNd instead of NAN.
50572         * modules/frexp-tests (Files): Add tests/nan.h.
50573
50574         * lib/isnan.c: Don't include <math.h>.
50575         (FUNC): Don't use NAN macro.
50576         * modules/isnand-nolibm (Depends-on): Remove math.
50577         * modules/isnanf-nolibm (Depends-on): Remove math.
50578         * modules/isnanl (Depends-on): Remove math.
50579         * modules/isnanl-nolibm (Depends-on): Remove math.
50580
50581         * tests/nan.h: New file.
50582
50583 2008-04-01  Eric Blake  <ebb9@byu.net>
50584
50585         Fix typos.
50586         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50587         values to be the right type.
50588
50589         For now, cater to gnulib strtod inaccuracies.
50590         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50591         fractional results.  While not as nice from a QoI perspective, it
50592         is a quicker patch than correctly implementing decimal to binary
50593         rounding.
50594
50595 2008-03-31  Eric Blake  <ebb9@byu.net>
50596
50597         Guarantee a definition of NAN.
50598         * lib/math.in.h (NAN): Define if missing.
50599         * tests/test-math.c (main): Test it.
50600         * doc/posix-headers/math.texi (math.h): Document this.
50601         * lib/isnan.c (rpl_isnand): Use it.
50602         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50603         * tests/test-floorf1.c (NaN): Likewise.
50604         * tests/test-frexp.c (NaN): Likewise.
50605         * tests/test-isnand.c (NaN): Likewise.
50606         * tests/test-isnanf.c (NaN): Likewise.
50607         * tests/test-round1.c (NaN): Likewise.
50608         * tests/test-roundf1.c (NaN): Likewise.
50609         * tests/test-snprintf-posix.h (NaN): Likewise.
50610         * tests/test-sprintf-posix.h (NaN): Likewise.
50611         * tests/test-trunc1.c (NaN): Likewise.
50612         * tests/test-truncf1.c (NaN): Likewise.
50613         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50614         * tests/test-vasprintf-posix.c (NaN): Likewise.
50615         * modules/isnand-nolibm (Depends-on): Add math.
50616         * modules/isnanf-nolibm (Depends-on): Likewise.
50617         * modules/isnanl (Depends-on): Likewise.
50618         * modules/isnanl-nolibm (Depends-on): Likewise.
50619         * modules/snprintf-posix-tests (Depends-on): Likewise.
50620         * modules/sprintf-posix-tests (Depends-on): Likewise.
50621         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50622         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50623         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50624         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50625
50626 2008-03-31  Bruno Haible  <bruno@clisp.org>
50627
50628         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50629         * doc/posix-functions/strtod.texi: Likewise.
50630
50631 2008-03-31  Bruno Haible  <bruno@clisp.org>
50632
50633         * tests/test-strtod.c (main): Don't use C99 syntax.
50634
50635 2008-03-31  Bruno Haible  <bruno@clisp.org>
50636
50637         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50638         Reported by Eric Blake.
50639
50640 2008-03-31  Jim Meyering  <meyering@redhat.com>
50641
50642         Don't compare actual signbit return values.
50643         * tests/test-strtod.c (main): Rather, compare only their
50644         zero/non-zero nature.
50645
50646 2008-03-31  Eric Blake  <ebb9@byu.net>
50647
50648         More strtod documentation.
50649         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50650         failures as distinct bugs.
50651
50652 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50653
50654         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50655         Problem reported by Erik Benada in
50656         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50657
50658 2008-03-30  Bruno Haible  <bruno@clisp.org>
50659
50660         * tests/test-strtod.c: Add comments about which assertion fails on which
50661         platform.
50662         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50663
50664 2008-03-30  Eric Blake  <ebb9@byu.net>
50665
50666         Test signbit behavior on zeros.
50667         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50668         (test_signbitd, test_signbitl): Likewise.
50669
50670         More strtod touchups.
50671         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50672         sign of negative underflow, for now.  Use .5, not .1.
50673         * doc/posix-functions/strtod.texi (strtod): Mention these
50674         limitations.
50675         Reported by Jim Meyering.
50676
50677 2008-03-30  Bruno Haible  <bruno@clisp.org>
50678
50679         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50680         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50681
50682 2008-03-30  Bruno Haible  <bruno@clisp.org>
50683
50684         Avoid failure when attempting to return empty iconv results on some
50685         platforms.
50686         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50687         allocation, don't report ENOMEM when the resulting string is empty.
50688
50689 2008-03-30  Bruno Haible  <bruno@clisp.org>
50690
50691         Fix buffer overrun.
50692         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50693         Don't consider the width for tmp_length. Check count against tmp_length
50694         before doing the padding. Ensure enough allocation during padding.
50695
50696 2008-03-30  Eric Blake  <ebb9@byu.net>
50697
50698         strtod touchups.
50699         * lib/strtod.c (strtod): Avoid compiler warnings.
50700         Reported by Jim Meyering.
50701
50702 2008-03-30  Bruno Haible  <bruno@clisp.org>
50703
50704         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50705         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50706         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50707         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50708         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50709         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50710         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50711         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50712
50713         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50714         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50715         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50716         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50717         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50718         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50719         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50720         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50721
50722         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50723         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50724         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50725         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50726         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50727         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50728         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50729         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50730
50731         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50732         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50733
50734         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50735         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50736
50737         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50738         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50739
50740         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50741         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50742         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50743
50744         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50745         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50746         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50747
50748         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50749         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50750         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50751
50752         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50753         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50754         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50755
50756         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50757         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50758         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50759         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50760         (Depends-on): Add EOVERFLOW.
50761         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50762         (Depends-on): Add EOVERFLOW.
50763         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50764         (Depends-on): Add EOVERFLOW.
50765         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50766         (Depends-on): Add EOVERFLOW.
50767         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50768         (Depends-on): Add EOVERFLOW.
50769         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50770         (Depends-on): Add EOVERFLOW.
50771         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50772         (Depends-on): Add EOVERFLOW.
50773         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50774         (Depends-on): Add EOVERFLOW.
50775
50776         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50777         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50778         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50779
50780         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50781         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50782         * modules/snprintf (Depends-on): Add EOVERFLOW.
50783
50784         * lib/poll.c (EOVERFLOW): Remove fallback.
50785         * modules/poll (Depends-on): Add EOVERFLOW.
50786
50787         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50788         * modules/getugroups (Depends-on): Add EOVERFLOW.
50789
50790         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50791         * modules/getdelim (Depends-on): Add EOVERFLOW.
50792
50793         * lib/ftell.c (EOVERFLOW): Remove fallback.
50794         * modules/ftell (Depends-on): Add EOVERFLOW.
50795
50796         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50797         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50798         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50799
50800         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50801
50802         * modules/EOVERFLOW-tests: New file.
50803         * tests/test-EOVERFLOW.c: New file.
50804
50805         * modules/EOVERFLOW: New file.
50806         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50807
50808 2008-03-30  Bruno Haible  <bruno@clisp.org>
50809
50810         Fix bug introduced on 2007-06-10.
50811         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50812         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50813
50814 2008-03-30  Bruno Haible  <bruno@clisp.org>
50815
50816         Improve freadseek's efficiency after ungetc.
50817         * lib/freadseek.c: Include freadahead.h.
50818         (freadptrinc): New function, extracted from freadseek.
50819         (freadseek): Use it in a loop. Use freadahead to determine the number
50820         of loop iterations.
50821         * modules/freadseek (Depends-on): Add freadahead.
50822         (configure.ac): Require AC_C_INLINE.
50823
50824 2008-03-30  Bruno Haible  <bruno@clisp.org>
50825
50826         * lib/freadseek.c (freadseek): Don't ignore the return value of
50827         freadptr.
50828
50829 2008-03-29  Eric Blake  <ebb9@byu.net>
50830
50831         Add hex float support.
50832         * modules/strtod (Depends-on): Add c-ctype.
50833         (Link): Mention POW_LIB.
50834         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50835         whitespace between 'e' and exponent.
50836         * tests/test-strtod.c (main): Enable hex float tests.
50837         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50838         now provides.
50839
50840         Document various strtod bugs, with some fixes.
50841         * doc/posix-functions/strtod.texi (strtod): Document bugs with
50842         "-0x", "inf", "nan", and hex constants.
50843         * doc/posix-functions/atof.texi (atof): Likewise.
50844         * modules/stdlib (Makefile.am): Support strtod.
50845         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
50846         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
50847         detect additional strtod bugs.
50848         * lib/stdlib.in.h (rpl_strtod): Add declarations.
50849         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
50850         bool where appropriate.  Parse 'inf' and 'nan'.
50851         * tests/test-strtod.c: New file.
50852         * modules/strtod (Depends-on): Add stdbool, stdlib.
50853         (configure.ac): Turn on module indicator.
50854         * modules/strtod-tests: New module.
50855
50856 2008-03-29  Eric Blake  <ebb9@byu.net>
50857
50858         Fix ftell on mingw.
50859         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
50860         * modules/ftell-tests (Depends-on): Add binary-io.
50861         * modules/ftello-tests (Depends-on): Likewise.
50862         * tests/test-ftell.c (main): Enhance test to cover behavior after
50863         ungetc.  Enforce binary mode.
50864         * tests/test-ftello.c (main): Likewise.
50865
50866         Pass test-freadseek on cygwin.
50867         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
50868         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
50869         ungetc buffer.
50870
50871         * tests/test-fflush2.c (main): Fix typo.
50872
50873 2008-03-29  Bruno Haible  <bruno@clisp.org>
50874
50875         * tests/test-fflush2.c (main): Temporarily disable the contents of
50876         this test.
50877         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
50878         Reported by Eric Blake.
50879
50880 2008-03-28  Simon Josefsson  <simon@josefsson.org>
50881
50882         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
50883         (GC_SHA224_DIGEST_SIZE): Add.
50884
50885         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
50886         (gc_hash_digest_length): Likewise.
50887         (gc_hash_buffer): Likewise.
50888
50889 2008-03-25  Bruno Haible  <bruno@clisp.org>
50890
50891         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
50892         detail which gettext release to use.
50893         Reported by Simon Josefsson.
50894
50895 2008-03-26  Jim Meyering  <meyering@redhat.com>
50896
50897         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
50898         * modules/gnumakefile (clean-GNUmakefile): Also, use
50899         test ... && ... || : syntax rather than if-then ... fi.
50900
50901         gnumakefile: Don't double-quote-expand $(VPATH) value.
50902         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
50903
50904 2008-03-24  Eric Blake  <ebb9@byu.net>
50905
50906         Alter GNUmakefile to install into top directory.
50907         * modules/maintainer-makefile: Split, and add dependency...
50908         * modules/gnumakefile: to this new module.
50909         * build-aux/GNUmakefile: Move...
50910         * top/GNUmakefile: ...here.
50911         * build-aux/maint.mk: Move...
50912         * top/maint.mk: ...here.
50913         * MODULES.html.sh (Support for maintaining...): Document new
50914         module.
50915
50916 2008-03-23  Bruno Haible  <bruno@clisp.org>
50917
50918         * gnulib-tool: New options --vc-files, --no-vc-files.
50919         (func_usage): Document them.
50920         (vc_files): New variable.
50921         (func_import): Consider vc_files.
50922         (func_create_testdir): Set vc_files to empty.
50923         Suggested by Jim Meyering and Karl Berry.
50924
50925 2008-03-23  Bruno Haible  <bruno@clisp.org>
50926
50927         Fix regex compilation error on HP-UX 11.
50928         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
50929         * modules/regex (Files): Add m4/mbstate_t.m4.
50930         Reported by Ton Voon <ton.voon@altinity.com>.
50931
50932 2008-03-23  Bruno Haible  <bruno@clisp.org>
50933
50934         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
50935
50936 2008-03-23  Eric Blake  <ebb9@byu.net>
50937             Bruno Haible  <bruno@clisp.org>
50938
50939         Install files from top/ in the destination directory.
50940         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50941         augmentation also for the files from top/.
50942         (func_import, func_create_testdir): Rewrite file names:
50943         top/filename -> filename.
50944
50945 2008-03-23  Bruno Haible  <bruno@clisp.org>
50946
50947         Tweak "gnulib --version" output.
50948         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
50949
50950 2008-03-23  Bruno Haible  <bruno@clisp.org>
50951
50952         Tweak "gnulib --version" output.
50953         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
50954         rather than contents of ChangeLog, when possible.
50955
50956 2008-03-21  Eric Blake  <ebb9@byu.net>
50957
50958         More --version tweaks.
50959         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
50960         date of last ChangeLog entry.
50961
50962 2008-03-21  Jim Meyering  <meyering@redhat.com>
50963
50964         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
50965
50966 2008-03-20  Eric Blake  <ebb9@byu.net>
50967
50968         VPATH fix.
50969         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
50970
50971 2008-03-20  Simon Josefsson  <simon@josefsson.org>
50972
50973         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
50974         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
50975
50976 2008-03-20  Eric Blake  <ebb9@byu.net>
50977
50978         Sync GNUmakefile with coreutils.
50979         * build-aux/GNUmakefile (have-Makefile): Rename...
50980         (_have-Makefile): ...to this, for namespace consideration.
50981         (GNUmakefile.cfg): Include, if present.
50982         (_autoreconf): Define a default.
50983         (_is-dist-target): New rule for rebuilds to pick up intra-release
50984         version.
50985         (maint-cfg.mk): Rename...
50986         (cfg.mk): ...to this.
50987
50988 2008-03-18  Jim Meyering  <meyering@redhat.com>
50989
50990         New script and module: mktempd
50991         * MODULES.html.sh (maint+release support): Add mktempd.
50992         * build-aux/mktempd: New file.
50993         * modules/mktempd: New file.
50994
50995 2008-03-15  Jim Meyering  <meyering@redhat.com>
50996
50997         Undo last change.
50998         * lib/sha1.c, lib/md5.c: 63 != ~63.
50999         Reported by Andreas Schwab.
51000
51001         sha1.c, md5.c: Hoist a redundant expression.
51002         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
51003         "ctx->buflen" only once, before calling *_process_block.
51004         * lib/md5.c (md5_process_bytes): Likewise.
51005
51006 2008-03-14  Eric Blake  <ebb9@byu.net>
51007
51008         Bump copyright year in files generated by gnulib-tool.
51009         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
51010         gnulib-tool, rather than hard-coding it.
51011
51012         Fix 'gnulib-tool --version' output to work with git.
51013         * gnulib-tool (func_gnulib_dir): New function, extracted from...
51014         (startup): ...here.
51015         (func_version): Use it to invoke git-version-gen, rather than
51016         relying on CVS keyword expansion.  Modernize wording.
51017         (cvsdatestamp, last_checkin_date, version): Kill unused
51018         variables.
51019
51020 2008-03-12  Jim Meyering  <meyering@redhat.com>
51021
51022         Recognize optional cast of the argument to free.
51023         * build-aux/useless-if-before-free: Update regexps.
51024
51025         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
51026
51027 2008-03-11  Bruno Haible  <bruno@clisp.org>
51028
51029         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
51030         by a single package.
51031         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
51032         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
51033         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
51034         Reported by Sam Steingold <sds@gnu.org>.
51035
51036 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51037
51038         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
51039         repositories.
51040
51041 2008-03-11  Bruno Haible  <bruno@clisp.org>
51042
51043         Avoid conflicts between local macro definitions.
51044         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
51045         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
51046
51047 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
51048             Bruno Haible  <bruno@clisp.org>
51049
51050         Make va_copy work with some version of xlc on AIX 5.1.
51051         * lib/stdarg.in.h: New file.
51052         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
51053         On AIX, use a <stdarg.h> file substitute.
51054         * modules/stdarg (Files): Add lib/stdarg.in.h.
51055         (Depends-on): Add include_next.
51056         (Makefile.am): Build a stdarg.h substitute if requested.
51057         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
51058
51059 2008-03-10  Bruno Haible  <bruno@clisp.org>
51060
51061         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
51062         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51063         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51064
51065 2008-03-10  Bruno Haible  <bruno@clisp.org>
51066
51067         * modules/stdlib (Depends-on): Add include_next, remove
51068         absolute-header.
51069
51070 2008-03-09  Bruno Haible  <bruno@clisp.org>
51071
51072         * lib/freadahead.h (freadahead): Document more precisely.
51073         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
51074         the sum of both buffer sizes.
51075         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
51076         * NEWS: Document the change.
51077
51078 2008-03-09  Bruno Haible  <bruno@clisp.org>
51079
51080         Extend freadptr to return also the buffer size.
51081         * lib/freadptr.h (freadptr): Add sizep argument.
51082         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
51083         (freadptr): Add sizep argument. Determine buffer size like freadahead
51084         does.
51085         * tests/test-freadptr.c: Don't include freadahead.h.
51086         (main): Adapt for new calling convention of freadptr.
51087         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
51088         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
51089         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
51090         tests/test-freadptr2.sh.
51091         (Depends): Remove freadahead.
51092         (TESTS): Add test-freadptr2.sh.
51093         (check_PROGRAMS): Add test-freadptr2.
51094
51095 2008-03-09  Bruno Haible  <bruno@clisp.org>
51096
51097         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
51098         Report and solution by Simon Josefsson.
51099
51100 2008-03-06  Bruno Haible  <bruno@clisp.org>
51101
51102         Make fflush after ungetc work on BSD platforms.
51103         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
51104         * tests/test-fflush2.c: New file.
51105         * tests/test-fflush2.sh: New file.
51106         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
51107         tests/test-fflush2.c.
51108         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
51109         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
51110
51111 2008-03-06  Eric Blake  <ebb9@byu.net>
51112
51113         Likewise for ftello.
51114         * modules/ftello (Dependencies): Add extensions.
51115         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
51116
51117 2008-03-06  Bruno Haible  <bruno@clisp.org>
51118
51119         * modules/fseeko (Dependencies): Add extensions.
51120         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
51121         Needed on glibc systems.
51122
51123 2008-03-06  Bruno Haible  <bruno@clisp.org>
51124
51125         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
51126         email address.
51127         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51128
51129 2008-03-06  Bruno Haible  <bruno@clisp.org>
51130
51131         * users.txt: Add libgnupdf.
51132
51133 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51134
51135         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
51136         (Header File Substitutes, Function Substitutes,
51137         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
51138         (Build robot for gnulib): Fix typo.
51139
51140 2008-03-06  Bruno Haible  <bruno@clisp.org>
51141
51142         * doc/gnulib-tool.texi (VCS Issues): Small updates.
51143         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51144
51145 2008-03-06  Bruno Haible  <bruno@clisp.org>
51146
51147         * doc/func.texi: New file, extracted from doc/gnulib.texi.
51148         * doc/gnulib.texi: Include it.
51149
51150 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51151
51152         * modules/func (License): Change license to unlimited; there was
51153         no LGPL parts in the module anyway.
51154
51155 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51156
51157         * modules/__func__: Renamed to modules/func.
51158         * modules/__func__-tests: Renamed to modules/func-tests.
51159         * tests/test-__func__.c: Renamed to tests/test-func.c.
51160         * m4/__func__.m4: Renamed to m4/func.m4.
51161         * doc/gnulib.texi (__func__): Section renamed to func.
51162         Suggested by Eric Blake <ebb9@byu.net>.
51163
51164 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51165
51166         * doc/gnulib.texi (__func__): Use C99 terminology when talking
51167         about __func__.  Make example self-contained.  Suggested by Eric
51168         Blake <ebb9@byu.net>.
51169
51170         * tests/test-__func__.c (main): Avoid extraneous () around __func.
51171         Suggested by Eric Blake <ebb9@byu.net>.
51172
51173 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51174
51175         * modules/__func__: New file.
51176         * modules/__func__-tests: New file.
51177         * tests/test-__func__.c: New file.
51178         * m4/__func__.m4: New file.
51179         * doc/gnulib.texi (__func__): Document __func__ module.
51180
51181 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51182
51183         * modules/byteswap (License): Re-license as LGPLv2+.
51184
51185 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51186
51187         * doc/Makefile: Add pdf target.
51188
51189 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51190
51191         * modules/inline (License): Use 'unlimited', since there are only
51192         *.m4 files in this module.
51193
51194 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51195             Bruno Haible  <bruno@clisp.org>
51196
51197         Add support for HP C 7.1 on OpenVMS 8.3.
51198         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
51199
51200 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51201
51202         Update VMS specifics.
51203         * lib/getopt.c [VMS]: Remove include of unixlib.h.
51204
51205 2008-03-02  Jim Meyering  <meyering@redhat.com>
51206
51207         Remove the last dependency on the "free" module.
51208         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
51209         Reported by Bob Proulx.
51210
51211         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
51212
51213         Remove useless "if" tests before free.  Deprecate "free" module.
51214         * doc/posix-functions/free.texi: Mention that this
51215         module is no longer useful.
51216         * modules/free (Notice): Say this module is obsolete.
51217         * modules/readutmp (Depends-on): Remove free.
51218         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
51219         * lib/putenv.c (putenv): Likewise.
51220         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
51221         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
51222         * tests/test-c-strcasestr.c (main): Likewise.
51223         * tests/test-c-strstr.c (main): Likewise.
51224         * tests/test-mbscasestr1.c (main): Likewise.
51225         * tests/test-mbscasestr2.c (main): Likewise.
51226         * tests/test-mbsstr1.c (main): Likewise.
51227         * tests/test-mbsstr2.c (main): Likewise.
51228         * tests/test-memmem.c (main): Likewise.
51229         * tests/test-strcasestr.c (main): Likewise.
51230         * tests/test-striconv.c (main): Likewise.
51231         * tests/test-striconveh.c (main): Likewise.
51232         * tests/test-striconveha.c (main): Likewise.
51233         * tests/test-strstr.c (main): Likewise.
51234
51235         * build-aux/git-version-gen: Adjust a comment and the Usage string.
51236
51237         bootstrap: sync from coreutils again
51238         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
51239
51240 2008-03-01  Jim Meyering  <meyering@redhat.com>
51241
51242         bootstrap: sync from coreutils
51243         * build-aux/bootstrap (update_po_files): Copy a .po file into place
51244         also when the target doesn't exist.
51245
51246 2008-03-01  Eric Blake  <ebb9@byu.net>
51247
51248         Fix bugs in last patch.
51249         * lib/memchr2.c (memchr2): Fix typo.
51250         * tests/test-memchr2.c: Test previous bug, and don't use GNU
51251         extension.
51252         Reported by Bruce Korb.
51253
51254         New module 'memchr2'.
51255         * modules/memchr2: New file.
51256         * modules/memchr2-tests: Likewise.
51257         * lib/memchr2.h: Likewise.
51258         * lib/memchr2.c: Likewise, based on memchr.c.
51259         * tests/test-memchr2.c: New test.
51260         * MODULES.html.sh (String handling): Add memchr2.
51261
51262 2008-02-29  Bruno Haible  <bruno@clisp.org>
51263
51264         * modules/freadseek-tests: New file.
51265         * tests/test-freadseek.sh: New file.
51266         * tests/test-freadseek.c: New file.
51267
51268         New module 'freadseek'.
51269         * modules/freadseek: New file.
51270         * lib/freadseek.h: New file.
51271         * lib/freadseek.c: New file.
51272         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
51273
51274 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51275
51276         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
51277         wydawca.
51278
51279         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
51280         program_invocation_name and program_invocation_short_name are
51281         present.
51282
51283 2008-02-28  Bruno Haible  <bruno@clisp.org>
51284
51285         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
51286         * tests/test-freadptr.sh: Also test non-seekable stdin.
51287
51288 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
51289
51290         * build-aux/bootstrap (source_base, m4_base)
51291         (doc_base, tests_base): New variables.
51292         (gnulib_tool_options): Do not hardcode base directories, use
51293         the above variables instead.
51294
51295 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
51296
51297         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
51298
51299 2008-02-28  Bruno Haible  <bruno@clisp.org>
51300
51301         * modules/freadptr-tests: New file.
51302         * tests/test-freadptr.sh: New file.
51303         * tests/test-freadptr.c: New file.
51304
51305         New module 'freadptr'.
51306         * modules/freadptr: New file.
51307         * lib/freadptr.h: New file.
51308         * lib/freadptr.c: New file.
51309         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
51310
51311 2008-02-26  Karl Berry  <karl@freefriends.org>
51312
51313         Sync from Libtool:
51314         * libltdl/argz.c (argz_add, argz_count): New functions.
51315         * libltdl/argz.in.h: Declare them.
51316         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
51317
51318 2008-02-22  Bruno Haible  <bruno@clisp.org>
51319
51320         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
51321         is a pointer type.  Needed for HP-UX 10.
51322         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
51323         * doc/posix-functions/gmtime_r.texi: Likewise.
51324         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51325
51326 2008-02-24  Bruno Haible  <bruno@clisp.org>
51327
51328         * modules/environ-tests: New file.
51329         * tests/test-environ.c: New file.
51330
51331         New module 'environ'.
51332         * modules/environ: New file.
51333         * lib/unistd.in.h (environ): New declaration.
51334         * m4/environ.m4: New file.
51335         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
51336         after use.
51337         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
51338         HAVE_DECL_ENVIRON.
51339         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
51340         HAVE_DECL_ENVIRON.
51341         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
51342         wrong claim that 'environ' is missing on some systems.
51343         * modules/execute (Depends-on): Add environ.
51344         * lib/execute.c (environ): Remove fallback declaration.
51345         * modules/pipe (Depends-on): Add environ.
51346         * lib/pipe.c (environ): Remove fallback declaration.
51347         * modules/setenv (Depends-on): Add environ.
51348         * lib/setenv.c (environ): Remove fallback declaration.
51349         * modules/unsetenv (Depends-on): Add environ.
51350         * lib/unsetenv.c (environ): Remove fallback declaration.
51351         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
51352         m4/environ.m4.
51353         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
51354         (gl_PREREQ_UNSETENV): Likewise.
51355
51356 2008-02-24  Bruno Haible  <bruno@clisp.org>
51357
51358         * doc/posix-functions/environ.texi: Document the MacOS X problem.
51359
51360 2008-02-20  Bob Proulx  <bob@proulx.com>
51361
51362         Enable use of older two part flavor 'git describe'.
51363         * build-aux/git-version-gen: If using the older two part flavor of
51364         git version then recreate the third part now present in the
51365         newer three part flavor of git describe.
51366
51367 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
51368
51369         * lib/fts.c (fts_build): Typo correction to comment.
51370
51371 2008-02-17  Bruno Haible  <bruno@clisp.org>
51372
51373         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
51374         generating no-op conflicts.
51375
51376 2008-02-17  Bruno Haible  <bruno@clisp.org>
51377
51378         Speed up by 10%.
51379         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
51380         result_entries, rather than an index-based loop.
51381
51382 2008-02-17  Bruno Haible  <bruno@clisp.org>
51383
51384         Speed up by 25%.
51385         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
51386         'hashcode_cached'.
51387         (entry_create): New function.
51388         (entry_hashcode): Use the cached hashcode if possible.
51389         (read_changelog_file, try_split_merged_entry): Use entry_create.
51390
51391 2008-02-17  Bruno Haible  <bruno@clisp.org>
51392
51393         Speed up from O(n^2) to O(n) for long ChangeLog files.
51394         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
51395         (read_changelog_file): Change implementation of entries_reversed list
51396         to rbtreehash.
51397         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
51398
51399 2008-02-17  Bruno Haible  <bruno@clisp.org>
51400
51401         New option --split-merged-entry.
51402         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
51403         (find_paragraph_end, try_split_merged_entry): New functions.
51404         (long_options): Add option --split-merged-entry.
51405         (usage): Document option --split-merged-entry.
51406         (main): Implement option --split-merged-entry.
51407         Reported by Eric Blake.
51408
51409 2008-02-17  Bruno Haible  <bruno@clisp.org>
51410
51411         * lib/git-merge-changelog.c: Include c-strstr.h.
51412         (main): Support the "git pull --rebase" situation.
51413         * modules/git-merge-changelog (Depends-on): Add c-strstr.
51414         Reported by Eric Blake.
51415
51416 2008-02-16  Eric Blake  <ebb9@byu.net>
51417
51418         Avoid doubling \ in common case of "c-maybe" quoting style.
51419         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
51420         eliding outer quotes.
51421         * lib/quotearg.h: Document this.
51422         * tests/test-quotearg.c (result_strings, inputs, results_g)
51423         (flag_results, locale_results): Test it by adding a new string to
51424         each test group.
51425         (compare_strings): Test new string.
51426
51427 2008-02-13  Eric Blake  <ebb9@byu.net>
51428
51429         Avoid trigraph quoting in default output.
51430         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51431         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51432         unless explicitly requested.
51433         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51434
51435 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51436
51437         Don't rely on signed integer overflowing to negative value.
51438         * lib/getugroups.c (getugroups): Include <limits.h>.
51439         Instead, compare against INT_MAX, and increment only if the test passes.
51440
51441 2008-02-13  Jim Meyering  <meyering@redhat.com>
51442         and Eric Blake  <ebb9@byu.net>
51443
51444         Avoid shadowing warning and compile errors on Linux.
51445         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51446         forwarding macros on Linux.
51447         (dcgettext): Define a stub, for Linux.
51448         (results_g, main): Avoid warnings.
51449
51450 2008-02-12  Eric Blake  <ebb9@byu.net>
51451
51452         Silence warning in last patch.
51453         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51454
51455         Quotearg part 4: add tests, fix c-maybe colon quoting.
51456         * lib/quotearg.h: Improve documentation.
51457         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51458         escapes when adding outer quotes.  When quoting trigraphs, use
51459         valid C notation.  When quoting NUL, omit extra characters if next
51460         character is not digit.  Alter prototype.
51461         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51462         callers.
51463         * modules/quotearg-tests: New module.
51464         * tests/test-quotearg.c: New test.
51465
51466 2008-02-07  Eric Blake  <ebb9@byu.net>
51467
51468         Quotearg part 3: add flag to control outer quote elision.
51469         * lib/quotearg.h (c_maybe_quoting_style): New style.
51470         (enum quoting_flags): Better documentation of flags.
51471         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51472         c-maybe style.
51473         (quotearg_buffer_restyled): Handle new flag to elide outer
51474         quotes.
51475
51476         Quotearg part 2: add flag that can control NUL elision.
51477         * lib/quotearg.h (set_quoting_flags): New prototype.
51478         * lib/quotearg.c (struct quoting_options): Add flag field.
51479         (set_quoting_flags): New function.
51480         (quotearg_buffer_restyled): Add flags parameter.
51481         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51482         (quotearg_n_options): Set the flag, since length cannot be
51483         returned.
51484         (quoting_options_from_style): Default flags correctly.
51485
51486         Quotearg part 1: more wrappers, restore quotearg_char state.
51487         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51488         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51489         (quotearg_colon_mem): New wrappers.
51490         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51491         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51492         functions.
51493         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51494         (quotearg_colon_mem): New functions.
51495
51496 2008-02-11  Bruno Haible  <bruno@clisp.org>
51497
51498         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51499         library in the current directory: it does not work with parallel make.
51500         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51501
51502 2008-02-11  Bruno Haible  <bruno@clisp.org>
51503
51504         * .gitattributes: New file.
51505
51506 2008-02-11  Jim Meyering  <meyering@redhat.com>
51507
51508         useless-if-before-free: Fix reversed exit values.
51509         * build-aux/useless-if-before-free: Use correct values
51510         for EXIT_MATCH and EXIT_NO_MATCH.
51511
51512         * build-aux/useless-if-before-free: Close stdout carefully.
51513
51514 2008-02-10  Bruno Haible  <bruno@clisp.org>
51515
51516         New module 'git-merge-changelog'.
51517         * modules/git-merge-changelog: New file.
51518         * lib/git-merge-changelog.c: New file.
51519
51520 2008-02-10  Jim Meyering  <meyering@redhat.com>
51521
51522         useless-if-before-free: New option: --list (-l).
51523
51524         useless-if-before-free: Don't exit immediately upon open failure.
51525         * build-aux/useless-if-before-free: Exit 2 for errors.
51526         Upon failure to open a file, don't exit immediately.
51527         Rather, just warn and continue with any remaining files.
51528
51529 2008-02-10  Bruno Haible  <bruno@clisp.org>
51530
51531         New abstract list operation 'node_set_value'.
51532         * lib/gl_list.h (gl_list_node_set_value): New function.
51533         (struct gl_list_implementation): New field node_set_value.
51534         * lib/gl_list.c (gl_list_node_set_value): New function.
51535         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51536         (gl_array_list_implementation): Update.
51537         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51538         (gl_carray_list_implementation): Update.
51539         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51540         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51541         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51542         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51543         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51544         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51545         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51546         Update.
51547         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51548         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51549         (gl_sublist_list_implementation): Update.
51550
51551 2008-02-10  Bruno Haible  <bruno@clisp.org>
51552
51553         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51554         Needed when ELEMENT is #defined to 'some_type *'.
51555
51556 2008-02-10  Jim Meyering  <meyering@redhat.com>
51557
51558         New script and module: useless-if-before-free
51559         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51560         * build-aux/useless-if-before-free: New file.
51561         * modules/useless-if-before-free: New file.
51562
51563         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51564
51565         xstrtol_error: Fix typo.
51566         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51567         s/exit_failure/exit_status/.
51568
51569 2008-02-09  Jim Meyering  <meyering@redhat.com>
51570
51571         New script and module: gitlog-to-changelog
51572         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51573         * modules/gitlog-to-changelog: New file.
51574         * build-aux/gitlog-to-changelog: New file.
51575
51576 2008-02-08  Jim Meyering  <meyering@redhat.com>
51577
51578         Avoid two "parameter unused" warnings.
51579         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51580         Mark "st" as used.
51581
51582         Use "git COMMAND", not "git-COMMAND".
51583         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51584         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51585         * build-aux/git-version-gen: Use "git status", not "git-status".
51586
51587 2008-02-07  Bruno Haible  <bruno@clisp.org>
51588
51589         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51590         Avoids a crash on Windows Vista.
51591         Reported by Adam Strzelecki <ono@java.pl> via
51592         Simon Josefsson <simon@josefsson.org>.
51593
51594 2008-02-06  Bruno Haible  <bruno@clisp.org>
51595
51596         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51597         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51598         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51599         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51600         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51601         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51602         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51603         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51604         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51605         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51606         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51607         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51608         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51609         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51610         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51611         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51612         left-adjust flag.
51613         * tests/test-snprintf-posix.h (test_function): Likewise.
51614         * tests/test-sprintf-posix.h (test_function): Likewise.
51615         * tests/test-vasprintf-posix.c (test_function): Likewise.
51616         * doc/posix-functions/fprintf.texi: Update.
51617         * doc/posix-functions/printf.texi: Update.
51618         * doc/posix-functions/snprintf.texi: Update.
51619         * doc/posix-functions/sprintf.texi: Update.
51620         * doc/posix-functions/vfprintf.texi: Update.
51621         * doc/posix-functions/vprintf.texi: Update.
51622         * doc/posix-functions/vsnprintf.texi: Update.
51623         * doc/posix-functions/vsprintf.texi: Update.
51624         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51625
51626 2008-02-06  Bruno Haible  <bruno@clisp.org>
51627
51628         Fix bug introduced on 2008-01-26.
51629         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51630
51631 2008-02-06  Bruno Haible  <bruno@clisp.org>
51632
51633         Fix bug introduced on 2007-06-10.
51634         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51635         !NEED_PRINTF_FLAG_ZERO.
51636
51637 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51638
51639         getloadavg: use libperfstat on AIX5
51640         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51641
51642 2008-02-03  Bruno Haible  <bruno@clisp.org>
51643
51644         * lib/diffseq.h: Add comments about required #includes.
51645         Reported by Michael Biggs <gnulib@doubleplum.net>.
51646
51647 2008-02-01  Bruno Haible  <bruno@clisp.org>
51648
51649         * users.txt: Add gnuit.
51650
51651 2008-01-31  Bruno Haible  <bruno@clisp.org>
51652
51653         * lib/md4.c (set_uint32): Mark as inline.
51654         * lib/md5.c (set_uint32): Likewise.
51655         * lib/sha1.c (set_uint32): Likewise.
51656         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51657         * m4/md5.m4 (gl_MD5): Likewise.
51658         * m4/sha1.m4 (gl_SHA1): Likewise.
51659
51660 2008-01-31  Jim Meyering  <meyering@redhat.com>
51661
51662         Use "sizeof VAR", rather than a literal "4".
51663         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51664         * lib/md4.c (md4_read_ctx): Likewise.
51665         * lib/sha1.c (sha1_read_ctx): Likewise.
51666
51667 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51668
51669         * tests/test-sha1.c: New file, based on test-md5.c.
51670
51671         * modules/crypto/sha1-tests: New file.
51672
51673 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51674
51675         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51676
51677 2008-01-31  Jim Meyering  <meyering@redhat.com>
51678
51679         Prefer "sizeof v" over the equivalent "4".
51680         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51681         * lib/md5.c (set_uint32): Likewise.
51682         * lib/sha1.c (set_uint32): Likewise.
51683
51684 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51685
51686         * lib/sha1.c (set_uint32): Mark function as static.
51687
51688 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51689
51690         md2: clarify comments to say that alignment is not required.
51691         * lib/md2.h: Remove warning about alignment in comment.
51692         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51693         never been required.
51694
51695 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51696
51697         md4: adapt alignment constraint fix from sha1.
51698         * lib/md4.c (set_uint32): New function, from sha1.c
51699         (md4_read_ctx): Use it.
51700         (md4_finish_ctx): Doc fix.
51701         * lib/md4.h: Doc fix.
51702
51703 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51704
51705         md5: adapt alignment constraint fix from sha1.
51706         * lib/md5.c (set_uint32): New function, from sha1.c
51707         (md5_read_ctx): Use it.
51708         (md5_finish_ctx): Doc fix.
51709         * lib/md5.h: Doc fix.
51710
51711 2008-01-30  Peter Palfrader  <weasel@debian.org>
51712
51713         sha1: remove the result buffer alignment constraint
51714         * lib/sha1.c (set_uint32): New function.
51715         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51716         constraint.
51717         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51718         * lib/sha1.h: Likewise.
51719
51720 2008-01-30  Andreas Schwab  <schwab@suse.de>
51721             Bruno Haible  <bruno@clisp.org>
51722
51723         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51724         correct definition of LDBL_MIN_EXP.
51725
51726 2008-01-30  Karl Berry  <karl@gnu.org>
51727
51728         * config/srclist-update: try to preserve x bit on updates.
51729         * config/srclistvars.sh: update for karl.
51730
51731 2008-01-29  Jim Meyering  <meyering@redhat.com>
51732
51733         vasnprintf.c: Avoid warning about unused label
51734         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51735         "overflow" label definition and associated code with the
51736         same cpp condition that guards the sole use of that label.
51737
51738 2008-01-26  Bruno Haible  <bruno@clisp.org>
51739
51740         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51741         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51742         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51743         * lib/isnanl-nolibm.h (isnanl): Likewise.
51744         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51745
51746 2008-01-26  Bruno Haible  <bruno@clisp.org>
51747
51748         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51749         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51750
51751 2008-01-26  Bruno Haible  <bruno@clisp.org>
51752
51753         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51754         GCC >= 4.0 built-in.
51755         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51756
51757 2008-01-26  Bruno Haible  <bruno@clisp.org>
51758
51759         Rename isnan, applicable to 'double' only, to isnand.
51760         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51761         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51762         (configure.ac): Update.
51763         (Include): Replace "isnan.h" with "isnand.h".
51764         * m4/isnand.m4: Renamed from m4/isnan.m4.
51765         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51766         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51767         instead of isnan.c.
51768         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51769         instead of HAVE_ISNAN_IN_LIBC.
51770         (isnand): Renamed from isnan.
51771         * lib/isnand.c: New file.
51772         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51773         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51774         (Makefile.am): Update.
51775         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51776         Include isnand.h instead of isnan.h.
51777         (main): Test isnand instead of isnan.
51778         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51779         isnan-nolibm.
51780         * modules/frexp (Depends-on): Likewise.
51781         * modules/frexp-tests (Depends-on): Likewise.
51782         * modules/frexp-nolibm (Depends-on): Likewise.
51783         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51784         * modules/isfinite (Depends-on): Likewise.
51785         * modules/round-tests (Depends-on): Likewise.
51786         * modules/signbit (Depends-on): Likewise.
51787         * modules/signbit-tests (Depends-on): Likewise.
51788         * modules/snprintf-posix (Depends-on): Likewise.
51789         * modules/sprintf-posix (Depends-on): Likewise.
51790         * modules/trunc-tests (Depends-on): Likewise.
51791         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51792         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51793         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51794         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51795         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51796         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51797         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51798         * modules/vasnprintf-posix (Depends-on): Likewise.
51799         * modules/vasprintf-posix (Depends-on): Likewise.
51800         * modules/vfprintf-posix (Depends-on): Likewise.
51801         * modules/vsnprintf-posix (Depends-on): Likewise.
51802         * modules/vsprintf-posix (Depends-on): Likewise.
51803         * lib/frexp.c: Include isnand.h instead of isnan.h.
51804         (ISNAN): Set to isnand instead of isnan.
51805         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51806         (gl_isfinited): Use isnand instead of isnan.
51807         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51808         (gl_signbitd): Use isnand instead of isnan.
51809         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51810         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51811         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51812         (main): Use isnand instead of isnan.
51813         * tests/test-round1.c: Include isnand.h.
51814         (main): Use isnand instead of isnan.
51815         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51816         (ISNAN): Set to isnand instead of isnan.
51817         * tests/test-trunc1.c: Include isnand.h.
51818         (main): Use isnand instead of isnan.
51819         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51820         (equal): Use isnand instead of isnan.
51821         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51822         isnand-nolibm.
51823         * NEWS: Mention the change.
51824
51825 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51826             Bruno Haible  <bruno@clisp.org>
51827
51828         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51829         the GCC builtins for signbits are present and set
51830         REPLACE_SIGNBIT_USING_GCC if so.
51831         * lib/math.in.h (signbit): Define using GCC builtins if
51832         REPLACE_SIGNBIT_USING_GCC is set.
51833         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51834         REPLACE_SIGNBIT_USING_GCC.
51835         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51836
51837 2008-01-25  Jim Meyering  <meyering@redhat.com>
51838
51839         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51840         * lib/poll.c: Include <config.h>, not "config.h".
51841         * tests/test-getaddrinfo.c: Likewise.
51842
51843 2008-01-25  Simon Josefsson  <simon@josefsson.org>
51844
51845         * modules/sockets-tests: New file.
51846
51847 2008-01-24  Simon Josefsson  <simon@josefsson.org>
51848
51849         * modules/sockets: New module, can be used to call WSA_Startup and
51850         WSA_Cleanup when needed.
51851
51852         * lib/sockets.h, lib/sockets.c: New files.
51853
51854         * m4/sockets.m4: New file.
51855
51856         * tests/test-sockets.c: New file.
51857
51858 2008-01-19  Bruno Haible  <bruno@clisp.org>
51859
51860         * doc/posix-headers: Renamed from doc/headers.
51861         * doc/posix-functions: Renamed from doc/functions.
51862         * doc/gnulib.texi: Update.
51863
51864 2008-01-19  Bruno Haible  <bruno@clisp.org>
51865
51866         * doc/glibc-functions/strcasestr.texi: Include contents of
51867         doc/functions/strcasestr.texi, fixing the list of platforms.
51868         * doc/functions/strcasestr.texi: Remove file.
51869
51870 2008-01-19  Bruno Haible  <bruno@clisp.org>
51871
51872         * doc/glibc-functions/memmem.texi: Include contents of
51873         doc/functions/memmem.texi.
51874         * doc/functions/memmem.texi: Remove file.
51875
51876 2008-01-18  Bruno Haible  <bruno@clisp.org>
51877
51878         * doc/glibc-functions/*.texi: New files.
51879         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
51880         to use the new files.
51881
51882 2008-01-17  Bruno Haible  <bruno@clisp.org>
51883
51884         * tests/test-gethostname.c (main): Fix printf statement.
51885
51886 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51887
51888         * modules/gethostname-tests: New file.
51889
51890         * tests/test-gethostname.c: New file.
51891
51892 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51893
51894         * lib/gethostname.c: Include string.h unconditionally, strncpy is
51895         used by the UNAME case.  Reported by Bruno Haible
51896         <bruno@clisp.org>.
51897
51898 2008-01-17  Eric Blake  <ebb9@byu.net>
51899
51900         Convert c-strcasestr to be more efficient.
51901         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
51902         (Depends-on): Add c-strcase, remove malloca, strnlen.
51903         * tests/test-c-strcasestr.c (main): Enhance test.
51904         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
51905
51906 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
51907
51908         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
51909         Use it in creating po/Makevars.
51910
51911 2008-01-15  Simon Josefsson  <simon@josefsson.org>
51912
51913         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
51914         Applications that requires it should initialize libgcrypt
51915         manually.
51916
51917 2008-01-16  Simon Josefsson  <simon@josefsson.org>
51918
51919         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
51920
51921 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
51922
51923         Fix problem with getdate on mingw32 reported by Simon Josefsson
51924         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
51925         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
51926         tzname", when deciding whether to declare tzname.
51927         * lib/strftime.c (tzname): Likewise.
51928
51929 2008-01-15  Bruno Haible  <bruno@clisp.org>
51930
51931         Work around a MacOS X 10.5 bug in frexpl().
51932         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
51933         * doc/functions/frexpl.texi: Document the bug.
51934         Reported by Elias Pipping <pipping@gentoo.org>.
51935
51936 2008-01-14  Eric Blake  <ebb9@byu.net>
51937
51938         Touch up previous patch.
51939         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
51940         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
51941
51942         Convert strcasestr module to use Two-Way algorithm.
51943         * modules/strcasestr-simple: New module, based on the old
51944         strcasestr, but with Two-Way rather than KMP.
51945         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
51946         * lib/string.in.h (rpl_strcasestr): Declare.
51947         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
51948         performance.
51949         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
51950         * modules/string (Makefile.am): Support strcasestr.
51951         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
51952         * modules/strcasestr-tests (Depends-on): Check for alarm.
51953         * tests/test-strcasestr.c: Augment test.
51954         * lib/str-two-way.h: Clean up stray macro.
51955         * NEWS: Document new module.
51956         * MODULES.html.sh (string handling): Likewise.
51957         * doc/functions/strcasestr.texi: New file.
51958         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
51959         here, since it is not a POSIX function.
51960
51961 2008-01-14  Colin Watson  <cjwatson@debian.org>
51962             Bruno Haible  <bruno@clisp.org>
51963
51964         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
51965         works fine; if not, set REPLACE_STRSIGNAL.
51966         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
51967         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51968         REPLACE_STRSIGNAL.
51969         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
51970         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
51971         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
51972
51973 2008-01-14  Bruno Haible  <bruno@clisp.org>
51974
51975         * modules/strsignal (Include): Change to <string.h>.
51976
51977 2008-01-14  Colin Watson  <cjwatson@debian.org>
51978
51979         * modules/argp (Notice): Add a notice recommending to change
51980         XGETTEXT_OPTIONS.
51981         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
51982
51983 2008-01-13  Colin Watson  <cjwatson@debian.org>
51984
51985         * modules/strsignal-tests: New file.
51986         * tests/test-strsignal.c: New file.
51987
51988         * lib/strsignal.c: New file, from glibc with modifications.
51989         * lib/siglist.h: New file, from glibc with modifications.
51990         * lib/string.in.h (strsignal): New declaration.
51991         * m4/strsignal.m4: New file.
51992         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51993         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
51994         * modules/strsignal: New file.
51995         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
51996         HAVE_DECL_STRSIGNAL.
51997
51998 2008-01-13  Bruno Haible  <bruno@clisp.org>
51999
52000         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
52001         locale encoding is not ASCII. Needed for OpenBSD 4.0.
52002         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
52003         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52004
52005 2008-01-13  Bruno Haible  <bruno@clisp.org>
52006
52007         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
52008         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
52009         * lib/argp.h (__attribute__): Likewise.
52010         * lib/c-stack.c (__attribute__): Likewise.
52011         * lib/error.h (__attribute__): Likewise.
52012         * lib/fts.c (__attribute__): Likewise.
52013         * lib/openat.h (__attribute__): Likewise.
52014         * lib/stdio.in.h (__attribute__): Likewise.
52015         * lib/string.in.h (__attribute__): Likewise.
52016         * lib/utimens.c (__attribute__): Likewise.
52017         * lib/vasnprintf.h (__attribute__): Likewise.
52018         * lib/xalloc.h (__attribute__): Likewise.
52019         * lib/xprintf.h (__attribute__): Likewise.
52020         * lib/xstrtol.h (__attribute__): Likewise.
52021         * lib/xvasprintf.h (__attribute__): Likewise.
52022
52023 2008-01-12  Bruno Haible  <bruno@clisp.org>
52024
52025         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
52026         * doc/glibc-headers/a.out.texi: New file.
52027         * doc/glibc-headers/aliases.texi: New file.
52028         * doc/glibc-headers/alloca.texi: New file.
52029         * doc/glibc-headers/ar.texi: New file.
52030         * doc/glibc-headers/argp.texi: New file.
52031         * doc/glibc-headers/argz.texi: New file.
52032         * doc/glibc-headers/byteswap.texi: New file.
52033         * doc/glibc-headers/crypt.texi: New file.
52034         * doc/glibc-headers/endian.texi: New file.
52035         * doc/glibc-headers/envz.texi: New file.
52036         * doc/glibc-headers/err.texi: New file.
52037         * doc/glibc-headers/error.texi: New file.
52038         * doc/glibc-headers/execinfo.texi: New file.
52039         * doc/glibc-headers/fpu_control.texi: New file.
52040         * doc/glibc-headers/fstab.texi: New file.
52041         * doc/glibc-headers/fts.texi: New file.
52042         * doc/glibc-headers/getopt.texi: New file.
52043         * doc/glibc-headers/ieee754.texi: New file.
52044         * doc/glibc-headers/ifaddrs.texi: New file.
52045         * doc/glibc-headers/libintl.texi: New file.
52046         * doc/glibc-headers/mcheck.texi: New file.
52047         * doc/glibc-headers/mntent.texi: New file.
52048         * doc/glibc-headers/obstack.texi: New file.
52049         * doc/glibc-headers/paths.texi: New file.
52050         * doc/glibc-headers/printf.texi: New file.
52051         * doc/glibc-headers/pty.texi: New file.
52052         * doc/glibc-headers/resolv.texi: New file.
52053         * doc/glibc-headers/shadow.texi: New file.
52054         * doc/glibc-headers/sysexits.texi: New file.
52055         * doc/glibc-headers/ttyent.texi: New file.
52056
52057 2008-01-12  Jim Meyering  <meyering@redhat.com>
52058
52059         announce-gen: emit Gnulib's git-based version string.
52060         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
52061         New option --gnulib-version=V, where V is expected to be
52062         the output of running git describe in the gnulib directory.
52063         (get_tool_versions): Request feedback on xdelta.  I suspect it's
52064         not useful, and plan to stop publishing an xdelta file with each
52065         coreutils release.
52066
52067         * build-aux/announce-gen: Also check for lzma-compressed files.
52068
52069 2008-01-11  Bruno Haible  <bruno@clisp.org>
52070
52071         * tests/test-memmem.c (main): Increase maximum allowed time.
52072         * tests/test-strstr.c (main): Likewise.
52073
52074 2008-01-11  Bruno Haible  <bruno@clisp.org>
52075
52076         * doc/functions/memmem.texi: Add more precisions about platforms.
52077         * doc/functions/strstr.texi: Likewise.
52078
52079 2008-01-10  Eric Blake  <ebb9@byu.net>
52080
52081         * m4/strstr.m4: Delete cruft from copy-n-paste.
52082         Reported by Bruno Haible.
52083
52084 2008-01-10  Bruno Haible  <bruno@clisp.org>
52085
52086         Make c-strstr rely on strstr.
52087         * lib/c-strstr.c: Don't include str-kmp.h.
52088         (c_strstr): Define in terms of strstr.
52089         * modules/c-strstr (Files): Remove lib/str-kmp.h.
52090         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
52091
52092 2008-01-10  Bruno Haible  <bruno@clisp.org>
52093
52094         * doc/gnulib.texi (String Functions in C Locale): New section.
52095         * doc/c-ctype.texi: New file.
52096         * doc/c-strcase.texi: New file.
52097         * doc/c-strcaseeq.texi: New file.
52098         * doc/c-strcasestr.texi: New file.
52099         * doc/c-strstr.texi: New file.
52100         * doc/c-strtod.texi: New file.
52101         * doc/c-strtold.texi: New file.
52102
52103 2008-01-10  Eric Blake  <ebb9@byu.net>
52104
52105         * lib/relocatable.h: Fix a comment.
52106
52107 2008-01-10  Eric Blake  <ebb9@byu.net>
52108
52109         Share two-way algorithm.
52110         * lib/str-two-way.h: New file, merged from...
52111         * lib/memmem.c: ...here...
52112         * lib/strstr.c: ...and here.
52113         * modules/memmem (Files): Use it.
52114         * modules/strstr (Files): Likewise.
52115
52116         Avoid quadratic strstr implementations.
52117         * lib/strstr.c: New file.
52118         * m4/strstr.m4: Likewise.
52119         * modules/strstr: Likewise.
52120         * modules/strstr-tests: Likewise.
52121         * tests/test-strstr.c: Likewise.
52122         * lib/string.in.h (rpl_strstr): Declare.
52123         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
52124         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
52125         * modules/string (Makefile.am): Likewise.
52126         * MODULES.html.sh (string handling): Mention new module.
52127         * doc/functions/strstr.texi (strstr): Document the bug.
52128
52129 2008-01-10  Bruno Haible  <bruno@clisp.org>
52130
52131         * lib/relocatable.h (relocate): State whether result is freshly
52132         allocated or not.
52133         * lib/relocatable.c (relocate): Return a freshly allocated string
52134         instead of a pointer to a privately held string.
52135         Reported by Sylvain Beucler <beuc@gnu.org>.
52136
52137 2008-01-10  Colin Watson  <cjwatson@debian.org>
52138
52139         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
52140         s/S_ISNLK/S_ISLNK/.
52141
52142 2008-01-09  Bruno Haible  <bruno@clisp.org>
52143
52144         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
52145         and other files.
52146         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
52147         if it's only a guess.
52148         * modules/memmem: Simplify by depending on memmem-simple.
52149
52150 2008-01-09  Bruno Haible  <bruno@clisp.org>
52151
52152         Work around OpenBSD 4.0 tdelete() bug.
52153         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
52154         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
52155         macros and don't redefine the enum values.
52156         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
52157         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
52158         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
52159
52160 2008-01-09  Bruno Haible  <bruno@clisp.org>
52161
52162         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
52163         (main): Don't perform the tests if setlocale did not install a UTF-8
52164         locale. Needed on OpenBSD 4.0.
52165         * modules/wcwidth-tests (Depends-on): Add localcharset.
52166
52167 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52168
52169         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
52170         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
52171         * NEWS: announce this.
52172         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
52173
52174 2008-01-09  Simon Josefsson  <simon@josefsson.org>
52175         and Eric Blake  <ebb9@byu.net>
52176
52177         Add memmem-simple module.
52178         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
52179         (gl_FUNC_MEMMEM): Separate performance from presence checks.
52180         * modules/memmem-simple: New file.
52181         * modules/memmem (Description): Tweak.
52182         * MODULES.html.sh (string handling): Mention new module.
52183         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
52184         addressed by memmem-simple.
52185         * NEWS: Document the difference.
52186
52187 2008-01-09  Eric Blake  <ebb9@byu.net>
52188
52189         Give gcc some memmem optimization hints.
52190         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
52191         (strcasestr): Declare as pure.
52192         * modules/memmem (Maintainer): Claim my implementation.
52193
52194 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52195
52196         Support AIX 6.1 and higher.
52197         * build-aux/config.libpath: Likewise.
52198         * build-aux/config.rpath: Likewise.
52199
52200 2008-01-08  Jim Meyering  <meyering@redhat.com>
52201             Bruno Haible  <bruno@clisp.org>
52202
52203         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
52204         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
52205         Reported by Peter Fales in
52206         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
52207
52208 2008-01-08  Bruno Haible  <bruno@clisp.org>
52209
52210         * modules/unictype/category-of (Depends-on): Add
52211         unictype/category-none.
52212         * modules/unictype/category-and-tests (Depends-on): Add
52213         unictype/category-{L,N,Lu,Nd}.
52214         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
52215         * modules/unictype/category-or-tests (Depends-on): Add
52216         unictype/category-{L,N}.
52217         * modules/unictype/category-name-tests (Depends-on): Add
52218         unictype/category-{Z,Nl}.
52219         Reported by Simon Josefsson.
52220
52221 2008-01-08  Bruno Haible  <bruno@clisp.org>
52222
52223         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
52224         convention better.
52225         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
52226         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
52227         Reported by Peter Miller <millerp@canb.auug.org.au>.
52228
52229 2008-01-08  Eric Blake  <ebb9@byu.net>
52230
52231         Rewrite memmem to guarantee linear complexity without malloc.
52232         * lib/memmem.c (memmem): Use Two-Way rather than
52233         Knuth-Morris-Pratt, to allow O(1) space usage.
52234         (critical_factorization, two_way_short_needle)
52235         (two_way_long_needle): New functions.
52236         (knuth_morris_pratt): Delete.
52237         * modules/memmem (Depends-on): No longer need malloca or stdbool.
52238         Add stdint.
52239         * tests/test-memmem.c (main): Add tests for periodic needle and
52240         sublinear performance.
52241         * doc/functions/memmem.texi (memmem): Document other deficiencies
52242         in cygwin and older glibc.
52243
52244 2008-01-08  Bruno Haible  <bruno@clisp.org>
52245
52246         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
52247         augmentation.
52248
52249 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
52250
52251         Add a configure time option: --disable-acl.
52252         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
52253         AC_ARG_ENABLE(acl).
52254
52255 2008-01-06  Simon Josefsson  <simon@josefsson.org>
52256
52257         * tests/test-localename.c: Don't include obsolete "setenv.h".
52258
52259         * modules/localename-tests (Depends-on): Need unsetenv.
52260
52261 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52262
52263         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
52264
52265 2008-01-06  Colin Watson  <cjwatson@debian.org>
52266
52267         * users.txt: Add man-db.
52268
52269 2008-01-07  Bruno Haible  <bruno@clisp.org>
52270
52271         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
52272         previous section name.
52273
52274 2008-01-07  Bruno Haible  <bruno@clisp.org>
52275
52276         * lib/progname.c (set_program_name): Don't strip off a leading
52277         "lt-" prefix outside a .libs directory.
52278         Suggested by Paul Eggert.
52279
52280 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
52281             Bruno Haible  <bruno@clisp.org>
52282
52283         Improve memory cleanup in 'relocatable' module.
52284         * lib/relocatable.h (compute_curr_prefix): Change return type to
52285         'char *'.
52286         * lib/relocatable.c (compute_curr_prefix): Change return type to
52287         'char *'. Free curr_installdir after use.
52288         (relocate): Free curr_prefix_better after use.
52289         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
52290
52291 2008-01-01  Bruno Haible  <bruno@clisp.org>
52292
52293         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
52294         failure on older glibc systems.
52295         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52296
52297 2008-01-05  Eric Blake  <ebb9@byu.net>
52298
52299         Avoid quadratic system memmem.
52300         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
52301         Reported by Ralf Wildenhues.
52302
52303         Fix memmem test for mingw.
52304         * modules/memmem-tests (configure.ac): Check for alarm.
52305         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
52306         it.
52307         * doc/functions/memmem.texi: New file.
52308         * doc/gnulib.texi (Function Substitutes): Add memmem.
52309         Reported by Bruno Haible.
52310
52311 2008-01-04  Bruno Haible  <bruno@clisp.org>
52312
52313         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
52314         Require gl_HEADER_STRINGS_H_DEFAULTS, not
52315         gl_HEADER_STRING_H_DEFAULTS.
52316
52317 2008-01-04  Eric Blake  <ebb9@byu.net>
52318
52319         Shorten duration of memmem test.
52320         * tests/test-memmem.c (main): Use alarm to declare failure if test
52321         is taking too long.
52322         Reported by Ralf Wildenhues.
52323
52324 2007-12-21  Simon Josefsson  <simon@josefsson.org>
52325
52326         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
52327         string, needed by strerror.
52328
52329 2008-01-03  Colin Watson  <cjwatson@debian.org>
52330             Bruno Haible  <bruno@clisp.org>
52331
52332         * doc/gnulib-tool.texi (Localization): New section.
52333
52334 2008-01-02  Bruno Haible  <bruno@clisp.org>
52335
52336         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
52337         variables to 'unsigned char *' type.
52338         Reported by Paul Eggert.
52339
52340 2008-01-02  Jim Meyering  <jim@meyering.net>
52341
52342         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
52343
52344 2007-12-31  Jim Meyering  <jim@meyering.net>
52345
52346         Avoid use of private FTS type name.
52347         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
52348
52349 2007-12-30  Karl Berry  <karl@gnu.org>
52350
52351         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52352         work around defect in Texinfo and/or the standalone Info browser.
52353
52354 2007-12-30  Bruno Haible  <bruno@clisp.org>
52355
52356         Unify 5 copies of the KMP code.
52357         * lib/str-kmp.h: New file.
52358         * lib/c-strcasestr.c: Include str-kmp.h.
52359         (knuth_morris_pratt): Remove function.
52360         (c_strcasestr): Update.
52361         * lib/c-strstr.c: Include str-kmp.h.
52362         (knuth_morris_pratt): Remove function.
52363         (c_strcasestr): Update.
52364         * lib/mbscasestr.c: Include str-kmp.h.
52365         (knuth_morris_pratt_unibyte): Remove function.
52366         * lib/mbsstr.c: Include str-kmp.h.
52367         (knuth_morris_pratt_unibyte): Remove function.
52368         * lib/strcasestr.c: Include str-kmp.h.
52369         (knuth_morris_pratt): Remove function.
52370         (strcasestr): Update.
52371         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
52372         * modules/c-strstr (Files): Likewise.
52373         * modules/mbscasestr (Files): Likewise.
52374         * modules/mbsstr (Files): Likewise.
52375         * modules/strcasestr (Files): Likewise.
52376         Suggested by Paul Eggert.
52377
52378 2007-12-30  Bruno Haible  <bruno@clisp.org>
52379
52380         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
52381         defined.
52382
52383 2007-12-30  Bruno Haible  <bruno@clisp.org>
52384
52385         * lib/xmalloca.h: Include xalloc.h.
52386         (xnmalloca): New macro.
52387
52388 2007-12-30  Bruno Haible  <bruno@clisp.org>
52389
52390         * lib/malloca.h (nmalloca): New macro.
52391         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
52392         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
52393         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
52394         knuth_morris_pratt_multibyte): Likewise.
52395         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
52396         knuth_morris_pratt_multibyte): Likewise.
52397         * lib/memmem.c (knuth_morris_pratt): Likewise.
52398         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
52399
52400 2007-12-25  Bruno Haible  <bruno@clisp.org>
52401
52402         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
52403         * lib/glob.c: Don't include openat.h.
52404         (link_exists2_p): Add back the code that deals with the
52405         !GLOB_ALTDIRFUNC case.
52406         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
52407         let it do the filename concatenation.
52408         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
52409         * modules/glob (Depends-on): Remove openat.
52410
52411 2007-12-31  Bruno Haible  <bruno@clisp.org>
52412
52413         * modules/dirfd (License): Change to LGPLv2+.
52414         Approved by Jim Meyering.
52415
52416 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52417
52418         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
52419         when multiplying M by sizeof (size_t).
52420
52421 2007-12-10  Martin Lambers  <marlam@marlam.de>
52422
52423         Override getpagesize on mingw.
52424         * lib/getpagesize.c: New file.
52425         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
52426         * modules/getpagesize (Files): Add lib/getpagesize.c.
52427         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
52428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52429         REPLACE_GETPAGESIZE.
52430         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52431
52432 2007-12-25  Bruno Haible  <bruno@clisp.org>
52433
52434         * modules/localcharset (Notice): New field.
52435         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52436         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52437
52438 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52439             Bruno Haible  <bruno@clisp.org>
52440
52441         Avoid using the syntax symbol() in formatted documentation.
52442         * MODULES.html.sh (func_module): When replacing symbol() with a
52443         hyperlink, remove the parentheses. Show an error if some remain.
52444         Recognize and render the '...' syntax.
52445         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52446         Rework. Add paragraph about GCC's inlining.
52447         * doc/alloca.texi: Likewise.
52448         * doc/error.texi: Remove parentheses from symbol reference.
52449         * doc/gnulib-intro.texi: Likewise.
52450         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52451         * modules/fnmatch (Description): Reword to say "the ... function".
52452         * modules/full-read (Description): Likewise.
52453         * modules/full-write (Description): Likewise.
52454         * modules/safe-read (Description): Likewise.
52455         * modules/safe-write (Description): Likewise.
52456         * modules/strchrnul (Description): Likewise.
52457         * modules/trim (Description): Likewise.
52458         * modules/error (Description): Remove parentheses from symbol
52459         references.
52460         * modules/verror (Description): Likewise.
52461         Reported by Karl Berry.
52462
52463 2007-12-25  Bruno Haible  <bruno@clisp.org>
52464
52465         Fixup after 2007-10-16 commit.
52466         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52467
52468 2007-12-24  Bruno Haible  <bruno@clisp.org>
52469
52470         Make --enable-relocatable work with DESTDIR.
52471         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52472         to compute installdir from destprog.
52473         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52474         also set the RELOC_DESTDIR variable.
52475         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52476
52477 2007-12-24  Bruno Haible  <bruno@clisp.org>
52478
52479         Fix link error due to xalloc_die().
52480         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52481         of xreadlink.
52482         * lib/relocwrapper.c: Update comments.
52483         * build-aux/install-reloc: Remove xreadlink.c from file list.
52484         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52485         xreadlink.c.
52486         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52487
52488 2007-12-24  Bruno Haible  <bruno@clisp.org>
52489
52490         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52491         * lib/setenv.h: Remove file.
52492         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52493         lib/setenv.h.
52494         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52495         (Depends-on): Add stdlib.
52496         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52497         gl_FUNC_UNSETENV.
52498         (Include): Replace setenv.h with <stdlib.h>.
52499         * modules/unsetenv: New file.
52500         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52501         * lib/unsetenv.c: Include <stdlib.h> first.
52502         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52503         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52504         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52505         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52506         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52507         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52508         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52509         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52510         * doc/functions/unsetenv.texi: Update.
52511         * modules/xsetenv (Depends-on): Add unsetenv.
52512         * modules/getdate (Depends-on): Likewise.
52513         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52514         * lib/xsetenv.c: Don't include setenv.h.
52515         * lib/getdate.y: Likewise.
52516         * lib/relocwrapper.c: Likewise.
52517         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52518         (Depends-on): Add stdlib.
52519         * NEWS: Mention the changes.
52520         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52521
52522 2007-12-23  Bruno Haible  <bruno@clisp.org>
52523
52524         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52525         indentation.
52526
52527 2007-12-23  Bruno Haible  <bruno@clisp.org>
52528
52529         * lib/c-strcasestr.c: Add more comments.
52530         * lib/c-strstr.c: Likewise.
52531         * lib/mbscasestr.c: Likewise.
52532         * lib/mbsstr.c: Likewise.
52533         * lib/strcasestr.c: Likewise.
52534         * lib/memmem.c: Likewise.
52535
52536 2007-12-23  Bruno Haible  <bruno@clisp.org>
52537
52538         * tests/test-memmem.c: Include <string.h> first.
52539
52540 2007-12-22  Bruno Haible  <bruno@clisp.org>
52541
52542         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52543         the contents of $testsbase.
52544         Reported by Ralf Wildenhues.
52545
52546 2007-12-22  Bruno Haible  <bruno@clisp.org>
52547
52548         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52549         two variables local_ldadd_before, local_ldadd_last.
52550
52551 2007-12-20  Eric Blake  <ebb9@byu.net>
52552
52553         Work around circular library issue when cross-compiling.
52554         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52555         that progname.o does not need to pull in rpl_memcmp.
52556
52557 2007-12-19  Eric Blake  <ebb9@byu.net>
52558
52559         Fix memmem to avoid O(n^2) worst-case complexity.
52560         * lib/memmem.c (knuth_morris_pratt): New function.
52561         (memmem): Use it if first few naive iterations fail.
52562         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52563         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52564         * modules/memchr (License): Likewise.
52565         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52566         malloca.
52567         * tests/test-memmem.c: Rewrite, borrowing ideas from
52568         test-mbsstr1.c; the old version wouldn't even compile!
52569         * modules/memmem-tests: New file.
52570         * lib/string.in.h (rpl_memmem): Add declaration.
52571         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52572         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52573         REPLACE_MEMMEM.
52574
52575 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52576
52577         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52578         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52579         before any system include files, and undef after them all.  This
52580         should fix a problem on VMS reported by John E. Malmberg in
52581         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52582
52583 2007-12-17  Eric Blake  <ebb9@byu.net>
52584
52585         Revert addition of verify, for BSD/OS.
52586         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52587         can't handle large files, for the sake of obsolete platforms.
52588         * modules/fseeko (Depends-on): Remove verify.
52589         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52590         * doc/functions/ftello.texi (ftello): Likewise.
52591         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52592         Reported by Larry Jones.
52593
52594 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52595
52596         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52597         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52598
52599 2007-12-17  Jim Meyering  <meyering@redhat.com>
52600
52601         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52602         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52603         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52604         * modules/getcwd (Depends-on): Add openat.
52605         Reported by Petr Salinger.
52606
52607 2007-12-17  Bruno Haible  <bruno@clisp.org>
52608
52609         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52610         avoid a segmentation fault of the configure test on x86_64 systems.
52611
52612 2007-12-15  Jim Meyering  <meyering@redhat.com>
52613
52614         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52615
52616 2007-12-13  Eric Blake  <ebb9@byu.net>
52617
52618         Another fseek test.
52619         * tests/test-fseek.c (main): Also test ungetc handling.
52620         * tests/test-fseeko.c (main): Likewise.
52621         * modules/fseeko (Depends-on): Add verify.
52622         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52623         large.
52624         Reported by Larry Jones.
52625
52626         Fix fseeko on mingw.
52627         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52628         seek.
52629
52630         Beef up fseek tests.
52631         * tests/test-fseek.c (main): Also test eof handling.
52632         * tests/test-fseeko.c (main): Likewise.
52633         Reported by Larry Jones.
52634
52635 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52636
52637         Fix fseeko on BSD-based platforms.
52638         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52639         successful seek.
52640
52641 2007-12-12  Eric Blake  <ebb9@byu.net>
52642
52643         Allow circular dependency of separate libtests.a
52644         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52645         when use_libtests.
52646
52647 2007-12-11  Eric Blake  <ebb9@byu.net>
52648
52649         Fix bug with -0.0L in previous patch.
52650         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52651         * tests/test-isnan.c (main): Also test on zeroes.
52652         * tests/test-isnanf.c (main): Likewise.
52653         * tests/test-isnanl.h (main): Likewise.
52654
52655         Detect pseudo-denormals on x86 even when cross-compiling.
52656         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52657         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52658         invalid bit patterns that happen to satisfy ==.
52659
52660         Avoid link failures with separate libtests.a.
52661         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52662         last, to satisfy circular dependencies.
52663
52664 2007-12-11  Eric Blake  <ebb9@byu.net>
52665         and Bruno Haible  <bruno@clisp.org>
52666
52667         Fix OpenBSD 4.0 <float.h> handling of long double.
52668         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52669         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52670         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52671
52672 2007-12-11  Jim Meyering  <meyering@redhat.com>
52673
52674         * users.txt: Add libvirt.
52675
52676         Support versions of autoconf prior to 2.59c.
52677         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52678         if it is not already defined.
52679
52680 2007-12-09  Bruno Haible  <bruno@clisp.org>
52681
52682         Let 'gnulib-tool --import' collect sources needed for the tests in
52683         tests/ rather than in lib/.
52684         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52685         argument. If true, add rules to generate libtests.a, and put libtests.a
52686         into $(LDADD). Consider source files in subdirectories and set
52687         uses_subdirs.
52688         (func_emit_initmacro_start, func_emit_initmacro_end,
52689         func_emit_initmacro_done): Pass all arguments explicitly.
52690         (func_import): Determine two module lists main_modules,
52691         testsrelated_modules. Determine use_libtests. Determine two variables
52692         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52693         instead of just sed_transform_lib_file. Determine two variables
52694         main_files and testsrelated_files. Compute 'files' as the union of
52695         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52696         func_add_or_update. In the generated gnulib-comp.m4, collect the
52697         object files for tests/ in different variables than those for lib/.
52698         Substitute LIBTESTS_LIBDEPS.
52699         (func_create_testdir): Combine the uses_subdirs results from
52700         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52701
52702 2007-12-09  Bruno Haible  <bruno@clisp.org>
52703
52704         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52705         the build-aux directory.
52706
52707 2007-12-09  Bruno Haible  <bruno@clisp.org>
52708
52709         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52710         introduced on 2006-09-09.
52711
52712 2007-12-07  Jim Meyering  <meyering@redhat.com>
52713
52714         Let these macros work also with autoconf-2.59.
52715         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52716         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52717         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52718
52719 2007-12-06  Jim Meyering  <meyering@redhat.com>
52720
52721         Avoid a configure-time syntax error in gl_FUNC_ACL.
52722         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52723         function in each branch, before testing the cache variable.
52724
52725 2007-12-04  Eric Blake  <ebb9@byu.net>
52726
52727         Make scripts executable.
52728         * build-aux/config.guess: Add execute permissions.
52729         * build-aux/config.sub: Likewise.
52730         * build-aux/gendocs.sh: Likewise.
52731
52732         Fix frexp on mingw.
52733         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52734         cross-compiling.
52735         * doc/functions/frexp.texi (frexp): Document the bug.
52736
52737         Make cygwin fseeko check more reliable.
52738         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52739         version numbers, rather than unrelated feature check.
52740         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52741         * doc/functions/ftello.texi (ftello): Likewise.
52742         Reported by Bruno Haible.
52743
52744         * m4/strerror.m4: Bump version number.
52745
52746 2007-12-03  Bruno Haible  <bruno@clisp.org>
52747
52748         * doc/functions/mprotect.texi: Mention the mingw problem.
52749
52750 2007-12-03  Eric Blake  <ebb9@byu.net>
52751
52752         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52753         REPLACE_STRERROR is initialized before this macro.
52754
52755 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52756
52757         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52758         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52759         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52760         put -lsec in even for programs other than 'ls'.  This fixes a problem
52761         for gettext reported by Bruno Haible in
52762         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52763         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52764         Add support for Solaris 10.  This isn't efficient, but should get the
52765         job done for now.
52766
52767 2007-12-03  James Youngman  <jay@gnu.org>
52768
52769         * doc/regexprops-generic.texi: change "an close-group" to "a
52770         close-group" and "illegal" to "not allowed".
52771
52772 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52773
52774         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52775         pr_byname.h. Needed for the rare case when the maintainer has done
52776         "make maintainer-clean" in the source directory and then attempts a
52777         build outside the source directory.
52778         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52779         scripts_byname.h.
52780
52781 2007-12-02  Martin Lambers <marlam@marlam.de>
52782             Bruno Haible  <bruno@clisp.org>
52783
52784         * lib/getpagesize.h: Remove file.
52785         * lib/unistd.in.h: Include declaration of getpagesize here.
52786         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52787         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52788         HAVE_SYS_PARAM_H.
52789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52790         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52791         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52792         (Depends-on): Add unistd.
52793         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52794         (Include): Use <unistd.h> instead of getpagesize.h.
52795         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52796         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52797         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52798         gl_GETPAGESIZE invocation, already handled by module dependency.
52799         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52800
52801 2007-12-02  Bruno Haible  <bruno@clisp.org>
52802
52803         * modules/strings-tests: New file.
52804         * tests/test-strings.c: New file.
52805
52806         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52807         * lib/strings.in.h: New file.
52808         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52809         * m4/strings_h.m4: New file.
52810         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52811         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52812         * modules/strings: New file.
52813         * modules/string (Makefile.am): Update.
52814         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52815         Reported by Karl Berry.
52816
52817 2007-12-01  Eric Blake  <ebb9@byu.net>
52818
52819         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52820         accomodate fix in cygwin 1.5.25.
52821
52822 2007-12-01  Jim Meyering  <meyering@redhat.com>
52823
52824         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52825         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52826         that would inhibit utf8-optimization of a regexp containing line-
52827         or buffer-anchors, e.g., `^', `$'.
52828
52829 2007-11-30  Bruno Haible  <bruno@clisp.org>
52830
52831         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52832         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52833         glthread_recursive_lock_init.
52834         * lib/lock.c (glthread_recursive_lock_init)
52835         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52836         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52837
52838 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52839
52840         New function qset_acl, like set_acl but with syscall semantics.
52841         * lib/acl.h (qset_acl): New decl.
52842         * lib/acl.c (qset_acl): New function.
52843         (set_acl): Use new function.  Use more-consistent diagnostics.
52844
52845 2007-11-28  Jim Meyering  <meyering@redhat.com>
52846
52847         * modules/physmem (License): Change from GPL to LGPLv2+.
52848
52849 2007-11-26  Bruno Haible  <bruno@clisp.org>
52850
52851         * lib/vasnprintf.c (decode_long_double): Don't abort if the
52852         'long double' type has excess precision.
52853         Reported by Jim Meyering in
52854         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
52855
52856 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52857
52858         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
52859         Sync from <http://gnu.org/licenses>.
52860         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
52861         with license text from same location.
52862         * doc/maintain.texi, doc/standards.texi:  Sync from
52863         <http://savannah.gnu.org/projects/gnustandards>.
52864
52865 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
52866         and Jim Meyering  <meyering@redhat.com>
52867
52868         Adjust getdate' grammar to accept a slightly more regular language.
52869         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
52870         Before, the former was rejected.
52871         * lib/getdate.y (digits_to_date_time): New function, factored
52872         out of ...
52873         (number): ...here.  Just call digits_to_date_time.
52874         (hybrid): New non-terminal to handle an <unsigned number,
52875         signed relative offset> sequence consistently.
52876
52877 2007-11-18  Jim Meyering  <meyering@redhat.com>
52878
52879         Pull my changes from coreutils:
52880         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
52881         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
52882         use of $gnulib_tool_option_extras, so that it's separated from the
52883         preceding argument.
52884
52885         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
52886         * build-aux/bootstrap (cp_mark_as_generated): Create any required
52887         parent destination directories before copying a file into place.
52888
52889 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52890
52891         bootstrap: work also with 4-argument variant of AC_INIT
52892         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
52893
52894 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52895
52896         Port test-getaddrinfo to Solaris.
52897         Problem reported by Bruno Haible in
52898         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
52899         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
52900         explanation of setting 'hints'.
52901         Don't reject an implementation merely because it returns EAI_SERVICE.
52902         (EAI_SERVICE): Define to 0 if not defined.
52903
52904 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52905
52906         The license of gnu-make and posix-shell is now "GPLed build tool".
52907         * modules/gnu-make (License): Likewise.
52908         * modules/posix-shell (License): Likewise.
52909
52910         New module posix-shell, for determining a POSIX shell
52911         or perhaps something that is close enough to a POSIX shell.
52912         * m4/posix-shell.m4: New file.
52913         * modules/posix-shell: New file.
52914
52915         * MODULES.html.sh: Mention new module.
52916
52917         New module gnu-make, for determining whether we're using GNU Make.
52918         * m4/gnu-make.m4: New file.
52919         * modules/gnu-make: New file.
52920         * MODULES.html.sh: Mention new module.
52921
52922 2007-11-14  Jim Meyering  <meyering@redhat.com>
52923
52924         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
52925         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
52926         use this macro to create a function _definition_.
52927         Remove useless "#undef ARGMATCH_DIE".
52928
52929 2007-11-14  Bruno Haible  <bruno@clisp.org>
52930
52931         * lib/config.charset: Update for OpenBSD 4.1.
52932         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
52933
52934 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
52935
52936         Document 64-bit #if problems in stdint.texi.
52937         * doc/headers/stdint.texi (stdint.h): Mention problems with
52938         64-bit-#if, and how to work around them.
52939
52940         Don't insist on 'long long int' support in the preprocessor.  It
52941         breaks too many things.  For example, PRIdMAX still uses a 'long
52942         long int' format with the latest Sun compiler, even though
52943         HAVE_LONG_LONG_INT isn't defined due to that compiler's
52944         preprocessor problem.  This causes the latest coreutils to dump
52945         core on Solaris 10 sparc with the Sun C compiler.
52946         Instead, fix the 2007-10-16 problem in a different way, by evaluating
52947         the troublesome expressions at configure-time, not at #if-time.
52948         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
52949         preprocessor.
52950         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
52951         compile-time C checks, done at 'configure'-time.
52952         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
52953         * modules/inttypes (Makefile): Substitute the new symbols that
52954         gl_INTTYPES_H now generates.
52955         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
52956
52957 2007-11-12  Bruno Haible  <bruno@clisp.org>
52958
52959         Tests for Unicode character classification functions.
52960
52961         * modules/unictype/bidicategory-byname-tests: New file.
52962         * modules/unictype/bidicategory-name-tests: New file.
52963         * modules/unictype/bidicategory-of-tests: New file.
52964         * modules/unictype/bidicategory-test-tests: New file.
52965         * modules/unictype/block-list-tests: New file.
52966         * modules/unictype/block-of-tests: New file.
52967         * modules/unictype/block-test-tests: New file.
52968         * modules/unictype/category-C-tests: New file.
52969         * modules/unictype/category-Cc-tests: New file.
52970         * modules/unictype/category-Cf-tests: New file.
52971         * modules/unictype/category-Cn-tests: New file.
52972         * modules/unictype/category-Co-tests: New file.
52973         * modules/unictype/category-Cs-tests: New file.
52974         * modules/unictype/category-L-tests: New file.
52975         * modules/unictype/category-Ll-tests: New file.
52976         * modules/unictype/category-Lm-tests: New file.
52977         * modules/unictype/category-Lo-tests: New file.
52978         * modules/unictype/category-Lt-tests: New file.
52979         * modules/unictype/category-Lu-tests: New file.
52980         * modules/unictype/category-M-tests: New file.
52981         * modules/unictype/category-Mc-tests: New file.
52982         * modules/unictype/category-Me-tests: New file.
52983         * modules/unictype/category-Mn-tests: New file.
52984         * modules/unictype/category-N-tests: New file.
52985         * modules/unictype/category-Nd-tests: New file.
52986         * modules/unictype/category-Nl-tests: New file.
52987         * modules/unictype/category-No-tests: New file.
52988         * modules/unictype/category-P-tests: New file.
52989         * modules/unictype/category-Pc-tests: New file.
52990         * modules/unictype/category-Pd-tests: New file.
52991         * modules/unictype/category-Pe-tests: New file.
52992         * modules/unictype/category-Pf-tests: New file.
52993         * modules/unictype/category-Pi-tests: New file.
52994         * modules/unictype/category-Po-tests: New file.
52995         * modules/unictype/category-Ps-tests: New file.
52996         * modules/unictype/category-S-tests: New file.
52997         * modules/unictype/category-Sc-tests: New file.
52998         * modules/unictype/category-Sk-tests: New file.
52999         * modules/unictype/category-Sm-tests: New file.
53000         * modules/unictype/category-So-tests: New file.
53001         * modules/unictype/category-Z-tests: New file.
53002         * modules/unictype/category-Zl-tests: New file.
53003         * modules/unictype/category-Zp-tests: New file.
53004         * modules/unictype/category-Zs-tests: New file.
53005         * modules/unictype/category-and-not-tests: New file.
53006         * modules/unictype/category-and-tests: New file.
53007         * modules/unictype/category-byname-tests: New file.
53008         * modules/unictype/category-name-tests: New file.
53009         * modules/unictype/category-none-tests: New file.
53010         * modules/unictype/category-of-tests: New file.
53011         * modules/unictype/category-or-tests: New file.
53012         * modules/unictype/category-test-withtable-tests: New file.
53013         * modules/unictype/combining-class-tests: New file.
53014         * modules/unictype/ctype-alnum-tests: New file.
53015         * modules/unictype/ctype-alpha-tests: New file.
53016         * modules/unictype/ctype-blank-tests: New file.
53017         * modules/unictype/ctype-cntrl-tests: New file.
53018         * modules/unictype/ctype-digit-tests: New file.
53019         * modules/unictype/ctype-graph-tests: New file.
53020         * modules/unictype/ctype-lower-tests: New file.
53021         * modules/unictype/ctype-print-tests: New file.
53022         * modules/unictype/ctype-punct-tests: New file.
53023         * modules/unictype/ctype-space-tests: New file.
53024         * modules/unictype/ctype-upper-tests: New file.
53025         * modules/unictype/ctype-xdigit-tests: New file.
53026         * modules/unictype/decimal-digit-tests: New file.
53027         * modules/unictype/digit-tests: New file.
53028         * modules/unictype/mirror-tests: New file.
53029         * modules/unictype/numeric-tests: New file.
53030         * modules/unictype/property-alphabetic-tests: New file.
53031         * modules/unictype/property-ascii-hex-digit-tests: New file.
53032         * modules/unictype/property-bidi-arabic-digit-tests: New file.
53033         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
53034         * modules/unictype/property-bidi-block-separator-tests: New file.
53035         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
53036         * modules/unictype/property-bidi-common-separator-tests: New file.
53037         * modules/unictype/property-bidi-control-tests: New file.
53038         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
53039         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
53040         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
53041         * modules/unictype/property-bidi-european-digit-tests: New file.
53042         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
53043         * modules/unictype/property-bidi-left-to-right-tests: New file.
53044         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
53045         * modules/unictype/property-bidi-other-neutral-tests: New file.
53046         * modules/unictype/property-bidi-pdf-tests: New file.
53047         * modules/unictype/property-bidi-segment-separator-tests: New file.
53048         * modules/unictype/property-bidi-whitespace-tests: New file.
53049         * modules/unictype/property-byname-tests: New file.
53050         * modules/unictype/property-combining-tests: New file.
53051         * modules/unictype/property-composite-tests: New file.
53052         * modules/unictype/property-currency-symbol-tests: New file.
53053         * modules/unictype/property-dash-tests: New file.
53054         * modules/unictype/property-decimal-digit-tests: New file.
53055         * modules/unictype/property-default-ignorable-code-point-tests: New file.
53056         * modules/unictype/property-deprecated-tests: New file.
53057         * modules/unictype/property-diacritic-tests: New file.
53058         * modules/unictype/property-extender-tests: New file.
53059         * modules/unictype/property-format-control-tests: New file.
53060         * modules/unictype/property-grapheme-base-tests: New file.
53061         * modules/unictype/property-grapheme-extend-tests: New file.
53062         * modules/unictype/property-grapheme-link-tests: New file.
53063         * modules/unictype/property-hex-digit-tests: New file.
53064         * modules/unictype/property-hyphen-tests: New file.
53065         * modules/unictype/property-id-continue-tests: New file.
53066         * modules/unictype/property-id-start-tests: New file.
53067         * modules/unictype/property-ideographic-tests: New file.
53068         * modules/unictype/property-ids-binary-operator-tests: New file.
53069         * modules/unictype/property-ids-trinary-operator-tests: New file.
53070         * modules/unictype/property-ignorable-control-tests: New file.
53071         * modules/unictype/property-iso-control-tests: New file.
53072         * modules/unictype/property-join-control-tests: New file.
53073         * modules/unictype/property-left-of-pair-tests: New file.
53074         * modules/unictype/property-line-separator-tests: New file.
53075         * modules/unictype/property-logical-order-exception-tests: New file.
53076         * modules/unictype/property-lowercase-tests: New file.
53077         * modules/unictype/property-math-tests: New file.
53078         * modules/unictype/property-non-break-tests: New file.
53079         * modules/unictype/property-not-a-character-tests: New file.
53080         * modules/unictype/property-numeric-tests: New file.
53081         * modules/unictype/property-other-alphabetic-tests: New file.
53082         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
53083         * modules/unictype/property-other-grapheme-extend-tests: New file.
53084         * modules/unictype/property-other-id-continue-tests: New file.
53085         * modules/unictype/property-other-id-start-tests: New file.
53086         * modules/unictype/property-other-lowercase-tests: New file.
53087         * modules/unictype/property-other-math-tests: New file.
53088         * modules/unictype/property-other-uppercase-tests: New file.
53089         * modules/unictype/property-paired-punctuation-tests: New file.
53090         * modules/unictype/property-paragraph-separator-tests: New file.
53091         * modules/unictype/property-pattern-syntax-tests: New file.
53092         * modules/unictype/property-pattern-white-space-tests: New file.
53093         * modules/unictype/property-private-use-tests: New file.
53094         * modules/unictype/property-punctuation-tests: New file.
53095         * modules/unictype/property-quotation-mark-tests: New file.
53096         * modules/unictype/property-radical-tests: New file.
53097         * modules/unictype/property-sentence-terminal-tests: New file.
53098         * modules/unictype/property-soft-dotted-tests: New file.
53099         * modules/unictype/property-space-tests: New file.
53100         * modules/unictype/property-terminal-punctuation-tests: New file.
53101         * modules/unictype/property-test-tests: New file.
53102         * modules/unictype/property-titlecase-tests: New file.
53103         * modules/unictype/property-unassigned-code-value-tests: New file.
53104         * modules/unictype/property-unified-ideograph-tests: New file.
53105         * modules/unictype/property-uppercase-tests: New file.
53106         * modules/unictype/property-variation-selector-tests: New file.
53107         * modules/unictype/property-white-space-tests: New file.
53108         * modules/unictype/property-xid-continue-tests: New file.
53109         * modules/unictype/property-xid-start-tests: New file.
53110         * modules/unictype/property-zero-width-tests: New file.
53111         * modules/unictype/scripts-tests: New file.
53112         * modules/unictype/syntax-c-ident-tests: New file.
53113         * modules/unictype/syntax-c-whitespace-tests: New file.
53114         * modules/unictype/syntax-java-ident-tests: New file.
53115         * modules/unictype/syntax-java-whitespace-tests: New file.
53116         * tests/unictype/test-bidi_byname.c: New file.
53117         * tests/unictype/test-bidi_name.c: New file.
53118         * tests/unictype/test-bidi_of.c: New file.
53119         * tests/unictype/test-bidi_test.c: New file.
53120         * tests/unictype/test-block_list.c: New file.
53121         * tests/unictype/test-block_of.c: New file.
53122         * tests/unictype/test-block_test.c: New file.
53123         * tests/unictype/test-categ_and.c: New file.
53124         * tests/unictype/test-categ_and_not.c: New file.
53125         * tests/unictype/test-categ_byname.c: New file.
53126         * tests/unictype/test-categ_name.c: New file.
53127         * tests/unictype/test-categ_none.c: New file.
53128         * tests/unictype/test-categ_of.c: New file.
53129         * tests/unictype/test-categ_or.c: New file.
53130         * tests/unictype/test-categ_test_withtable.c: New file.
53131         * tests/unictype/test-combining.c: New file.
53132         * tests/unictype/test-decdigit.c: New file.
53133         * tests/unictype/test-digit.c: New file.
53134         * tests/unictype/test-mirror.c: New file.
53135         * tests/unictype/test-numeric.c: New file.
53136         * tests/unictype/test-pr_byname.c: New file.
53137         * tests/unictype/test-pr_test.c: New file.
53138         * tests/unictype/test-predicate-part1.h: New file.
53139         * tests/unictype/test-predicate-part2.h: New file.
53140         * tests/unictype/test-scripts.c: New file.
53141         * tests/unictype/test-sy_c_ident.c: New file.
53142         * tests/unictype/test-sy_java_ident.c: New file.
53143
53144         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
53145         for Unicode 5.0.0.
53146         * tests/unictype/test-categ_Cc.c: Likewise.
53147         * tests/unictype/test-categ_Cf.c: Likewise.
53148         * tests/unictype/test-categ_Cn.c: Likewise.
53149         * tests/unictype/test-categ_Co.c: Likewise.
53150         * tests/unictype/test-categ_Cs.c: Likewise.
53151         * tests/unictype/test-categ_L.c: Likewise.
53152         * tests/unictype/test-categ_Ll.c: Likewise.
53153         * tests/unictype/test-categ_Lm.c: Likewise.
53154         * tests/unictype/test-categ_Lo.c: Likewise.
53155         * tests/unictype/test-categ_Lt.c: Likewise.
53156         * tests/unictype/test-categ_Lu.c: Likewise.
53157         * tests/unictype/test-categ_M.c: Likewise.
53158         * tests/unictype/test-categ_Mc.c: Likewise.
53159         * tests/unictype/test-categ_Me.c: Likewise.
53160         * tests/unictype/test-categ_Mn.c: Likewise.
53161         * tests/unictype/test-categ_N.c: Likewise.
53162         * tests/unictype/test-categ_Nd.c: Likewise.
53163         * tests/unictype/test-categ_Nl.c: Likewise.
53164         * tests/unictype/test-categ_No.c: Likewise.
53165         * tests/unictype/test-categ_P.c: Likewise.
53166         * tests/unictype/test-categ_Pc.c: Likewise.
53167         * tests/unictype/test-categ_Pd.c: Likewise.
53168         * tests/unictype/test-categ_Pe.c: Likewise.
53169         * tests/unictype/test-categ_Pf.c: Likewise.
53170         * tests/unictype/test-categ_Pi.c: Likewise.
53171         * tests/unictype/test-categ_Po.c: Likewise.
53172         * tests/unictype/test-categ_Ps.c: Likewise.
53173         * tests/unictype/test-categ_S.c: Likewise.
53174         * tests/unictype/test-categ_Sc.c: Likewise.
53175         * tests/unictype/test-categ_Sk.c: Likewise.
53176         * tests/unictype/test-categ_Sm.c: Likewise.
53177         * tests/unictype/test-categ_So.c: Likewise.
53178         * tests/unictype/test-categ_Z.c: Likewise.
53179         * tests/unictype/test-categ_Zl.c: Likewise.
53180         * tests/unictype/test-categ_Zp.c: Likewise.
53181         * tests/unictype/test-categ_Zs.c: Likewise.
53182         * tests/unictype/test-ctype_alnum.c: Likewise.
53183         * tests/unictype/test-ctype_alpha.c: Likewise.
53184         * tests/unictype/test-ctype_blank.c: Likewise.
53185         * tests/unictype/test-ctype_cntrl.c: Likewise.
53186         * tests/unictype/test-ctype_digit.c: Likewise.
53187         * tests/unictype/test-ctype_graph.c: Likewise.
53188         * tests/unictype/test-ctype_lower.c: Likewise.
53189         * tests/unictype/test-ctype_print.c: Likewise.
53190         * tests/unictype/test-ctype_punct.c: Likewise.
53191         * tests/unictype/test-ctype_space.c: Likewise.
53192         * tests/unictype/test-ctype_upper.c: Likewise.
53193         * tests/unictype/test-ctype_xdigit.c: Likewise.
53194         * tests/unictype/test-decdigit.h: Likewise.
53195         * tests/unictype/test-digit.h: Likewise.
53196         * tests/unictype/test-numeric.h: Likewise.
53197         * tests/unictype/test-pr_alphabetic.c: Likewise.
53198         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
53199         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
53200         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
53201         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
53202         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
53203         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
53204         * tests/unictype/test-pr_bidi_control.c: Likewise.
53205         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
53206         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
53207         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
53208         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
53209         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
53210         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
53211         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
53212         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
53213         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
53214         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
53215         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
53216         * tests/unictype/test-pr_combining.c: Likewise.
53217         * tests/unictype/test-pr_composite.c: Likewise.
53218         * tests/unictype/test-pr_currency_symbol.c: Likewise.
53219         * tests/unictype/test-pr_dash.c: Likewise.
53220         * tests/unictype/test-pr_decimal_digit.c: Likewise.
53221         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
53222         * tests/unictype/test-pr_deprecated.c: Likewise.
53223         * tests/unictype/test-pr_diacritic.c: Likewise.
53224         * tests/unictype/test-pr_extender.c: Likewise.
53225         * tests/unictype/test-pr_format_control.c: Likewise.
53226         * tests/unictype/test-pr_grapheme_base.c: Likewise.
53227         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
53228         * tests/unictype/test-pr_grapheme_link.c: Likewise.
53229         * tests/unictype/test-pr_hex_digit.c: Likewise.
53230         * tests/unictype/test-pr_hyphen.c: Likewise.
53231         * tests/unictype/test-pr_id_continue.c: Likewise.
53232         * tests/unictype/test-pr_id_start.c: Likewise.
53233         * tests/unictype/test-pr_ideographic.c: Likewise.
53234         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
53235         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
53236         * tests/unictype/test-pr_ignorable_control.c: Likewise.
53237         * tests/unictype/test-pr_iso_control.c: Likewise.
53238         * tests/unictype/test-pr_join_control.c: Likewise.
53239         * tests/unictype/test-pr_left_of_pair.c: Likewise.
53240         * tests/unictype/test-pr_line_separator.c: Likewise.
53241         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
53242         * tests/unictype/test-pr_lowercase.c: Likewise.
53243         * tests/unictype/test-pr_math.c: Likewise.
53244         * tests/unictype/test-pr_non_break.c: Likewise.
53245         * tests/unictype/test-pr_not_a_character.c: Likewise.
53246         * tests/unictype/test-pr_numeric.c: Likewise.
53247         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
53248         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
53249         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
53250         * tests/unictype/test-pr_other_id_continue.c: Likewise.
53251         * tests/unictype/test-pr_other_id_start.c: Likewise.
53252         * tests/unictype/test-pr_other_lowercase.c: Likewise.
53253         * tests/unictype/test-pr_other_math.c: Likewise.
53254         * tests/unictype/test-pr_other_uppercase.c: Likewise.
53255         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
53256         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
53257         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
53258         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
53259         * tests/unictype/test-pr_private_use.c: Likewise.
53260         * tests/unictype/test-pr_punctuation.c: Likewise.
53261         * tests/unictype/test-pr_quotation_mark.c: Likewise.
53262         * tests/unictype/test-pr_radical.c: Likewise.
53263         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
53264         * tests/unictype/test-pr_soft_dotted.c: Likewise.
53265         * tests/unictype/test-pr_space.c: Likewise.
53266         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
53267         * tests/unictype/test-pr_titlecase.c: Likewise.
53268         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
53269         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
53270         * tests/unictype/test-pr_uppercase.c: Likewise.
53271         * tests/unictype/test-pr_variation_selector.c: Likewise.
53272         * tests/unictype/test-pr_white_space.c: Likewise.
53273         * tests/unictype/test-pr_xid_continue.c: Likewise.
53274         * tests/unictype/test-pr_xid_start.c: Likewise.
53275         * tests/unictype/test-pr_zero_width.c: Likewise.
53276         * tests/unictype/test-sy_c_whitespace.c: Likewise.
53277         * tests/unictype/test-sy_java_whitespace.c: Likewise.
53278
53279 2007-11-12  Bruno Haible  <bruno@clisp.org>
53280
53281         Unicode character classification functions.
53282         * lib/unictype.h: New file.
53283         * modules/unictype/base: New file.
53284         * modules/unictype/category-L: New file.
53285         * modules/unictype/category-Lu: New file.
53286         * modules/unictype/category-Ll: New file.
53287         * modules/unictype/category-Lt: New file.
53288         * modules/unictype/category-Lm: New file.
53289         * modules/unictype/category-Lo: New file.
53290         * modules/unictype/category-M: New file.
53291         * modules/unictype/category-Mn: New file.
53292         * modules/unictype/category-Mc: New file.
53293         * modules/unictype/category-Me: New file.
53294         * modules/unictype/category-N: New file.
53295         * modules/unictype/category-Nd: New file.
53296         * modules/unictype/category-Nl: New file.
53297         * modules/unictype/category-No: New file.
53298         * modules/unictype/category-P: New file.
53299         * modules/unictype/category-Pc: New file.
53300         * modules/unictype/category-Pd: New file.
53301         * modules/unictype/category-Ps: New file.
53302         * modules/unictype/category-Pe: New file.
53303         * modules/unictype/category-Pi: New file.
53304         * modules/unictype/category-Pf: New file.
53305         * modules/unictype/category-Po: New file.
53306         * modules/unictype/category-S: New file.
53307         * modules/unictype/category-Sm: New file.
53308         * modules/unictype/category-Sc: New file.
53309         * modules/unictype/category-Sk: New file.
53310         * modules/unictype/category-So: New file.
53311         * modules/unictype/category-Z: New file.
53312         * modules/unictype/category-Zs: New file.
53313         * modules/unictype/category-Zl: New file.
53314         * modules/unictype/category-Zp: New file.
53315         * modules/unictype/category-C: New file.
53316         * modules/unictype/category-Cc: New file.
53317         * modules/unictype/category-Cf: New file.
53318         * modules/unictype/category-Cs: New file.
53319         * modules/unictype/category-Co: New file.
53320         * modules/unictype/category-Cn: New file.
53321         * modules/unictype/category-or: New file.
53322         * modules/unictype/category-of: New file.
53323         * modules/unictype/category-test: New file.
53324         * modules/unictype/category-test-withtable: New file.
53325         * modules/unictype/category-byname: New file.
53326         * modules/unictype/category-none: New file.
53327         * modules/unictype/category-and: New file.
53328         * modules/unictype/category-and-not: New file.
53329         * modules/unictype/category-name: New file.
53330         * modules/unictype/combining-class: New file.
53331         * modules/unictype/category-all: New file.
53332         * modules/unictype/bidicategory-all: New file.
53333         * modules/unictype/bidicategory-byname: New file.
53334         * modules/unictype/bidicategory-name: New file.
53335         * modules/unictype/bidicategory-of: New file.
53336         * modules/unictype/bidicategory-test: New file.
53337         * modules/unictype/decimal-digit: New file.
53338         * modules/unictype/digit: New file.
53339         * modules/unictype/numeric: New file.
53340         * modules/unictype/mirror: New file.
53341         * modules/unictype/property-white-space: New file.
53342         * modules/unictype/property-alphabetic: New file.
53343         * modules/unictype/property-other-alphabetic: New file.
53344         * modules/unictype/property-not-a-character: New file.
53345         * modules/unictype/property-default-ignorable-code-point: New file.
53346         * modules/unictype/property-other-default-ignorable-code-point: New
53347         file.
53348         * modules/unictype/property-deprecated: New file.
53349         * modules/unictype/property-logical-order-exception: New file.
53350         * modules/unictype/property-variation-selector: New file.
53351         * modules/unictype/property-private-use: New file.
53352         * modules/unictype/property-unassigned-code-value: New file.
53353         * modules/unictype/property-uppercase: New file.
53354         * modules/unictype/property-other-uppercase: New file.
53355         * modules/unictype/property-lowercase: New file.
53356         * modules/unictype/property-other-lowercase: New file.
53357         * modules/unictype/property-titlecase: New file.
53358         * modules/unictype/property-soft-dotted: New file.
53359         * modules/unictype/property-id-start: New file.
53360         * modules/unictype/property-other-id-start: New file.
53361         * modules/unictype/property-id-continue: New file.
53362         * modules/unictype/property-other-id-continue: New file.
53363         * modules/unictype/property-xid-start: New file.
53364         * modules/unictype/property-xid-continue: New file.
53365         * modules/unictype/property-pattern-white-space: New file.
53366         * modules/unictype/property-pattern-syntax: New file.
53367         * modules/unictype/property-join-control: New file.
53368         * modules/unictype/property-grapheme-base: New file.
53369         * modules/unictype/property-grapheme-extend: New file.
53370         * modules/unictype/property-other-grapheme-extend: New file.
53371         * modules/unictype/property-grapheme-link: New file.
53372         * modules/unictype/property-bidi-control: New file.
53373         * modules/unictype/property-bidi-left-to-right: New file.
53374         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
53375         * modules/unictype/property-bidi-arabic-right-to-left: New file.
53376         * modules/unictype/property-bidi-european-digit: New file.
53377         * modules/unictype/property-bidi-eur-num-separator: New file.
53378         * modules/unictype/property-bidi-eur-num-terminator: New file.
53379         * modules/unictype/property-bidi-arabic-digit: New file.
53380         * modules/unictype/property-bidi-common-separator: New file.
53381         * modules/unictype/property-bidi-block-separator: New file.
53382         * modules/unictype/property-bidi-segment-separator: New file.
53383         * modules/unictype/property-bidi-whitespace: New file.
53384         * modules/unictype/property-bidi-non-spacing-mark: New file.
53385         * modules/unictype/property-bidi-boundary-neutral: New file.
53386         * modules/unictype/property-bidi-pdf: New file.
53387         * modules/unictype/property-bidi-embedding-or-override: New file.
53388         * modules/unictype/property-bidi-other-neutral: New file.
53389         * modules/unictype/property-hex-digit: New file.
53390         * modules/unictype/property-ascii-hex-digit: New file.
53391         * modules/unictype/property-ideographic: New file.
53392         * modules/unictype/property-unified-ideograph: New file.
53393         * modules/unictype/property-radical: New file.
53394         * modules/unictype/property-ids-binary-operator: New file.
53395         * modules/unictype/property-ids-trinary-operator: New file.
53396         * modules/unictype/property-zero-width: New file.
53397         * modules/unictype/property-space: New file.
53398         * modules/unictype/property-non-break: New file.
53399         * modules/unictype/property-iso-control: New file.
53400         * modules/unictype/property-format-control: New file.
53401         * modules/unictype/property-dash: New file.
53402         * modules/unictype/property-hyphen: New file.
53403         * modules/unictype/property-punctuation: New file.
53404         * modules/unictype/property-line-separator: New file.
53405         * modules/unictype/property-paragraph-separator: New file.
53406         * modules/unictype/property-quotation-mark: New file.
53407         * modules/unictype/property-sentence-terminal: New file.
53408         * modules/unictype/property-terminal-punctuation: New file.
53409         * modules/unictype/property-currency-symbol: New file.
53410         * modules/unictype/property-math: New file.
53411         * modules/unictype/property-other-math: New file.
53412         * modules/unictype/property-paired-punctuation: New file.
53413         * modules/unictype/property-left-of-pair: New file.
53414         * modules/unictype/property-combining: New file.
53415         * modules/unictype/property-composite: New file.
53416         * modules/unictype/property-decimal-digit: New file.
53417         * modules/unictype/property-numeric: New file.
53418         * modules/unictype/property-diacritic: New file.
53419         * modules/unictype/property-extender: New file.
53420         * modules/unictype/property-ignorable-control: New file.
53421         * modules/unictype/property-test: New file.
53422         * modules/unictype/property-byname: New file.
53423         * modules/unictype/property-all: New file.
53424         * modules/unictype/scripts: New file.
53425         * modules/unictype/scripts-all: New file.
53426         * modules/unictype/block-of: New file.
53427         * modules/unictype/block-test: New file.
53428         * modules/unictype/block-list: New file.
53429         * modules/unictype/block-all: New file.
53430         * modules/unictype/syntax-c-whitespace: New file.
53431         * modules/unictype/syntax-java-whitespace: New file.
53432         * modules/unictype/syntax-c-ident: New file.
53433         * modules/unictype/syntax-java-ident: New file.
53434         * modules/unictype/ctype-alnum: New file.
53435         * modules/unictype/ctype-alpha: New file.
53436         * modules/unictype/ctype-cntrl: New file.
53437         * modules/unictype/ctype-digit: New file.
53438         * modules/unictype/ctype-graph: New file.
53439         * modules/unictype/ctype-lower: New file.
53440         * modules/unictype/ctype-print: New file.
53441         * modules/unictype/ctype-punct: New file.
53442         * modules/unictype/ctype-space: New file.
53443         * modules/unictype/ctype-upper: New file.
53444         * modules/unictype/ctype-xdigit: New file.
53445         * modules/unictype/ctype-blank: New file.
53446         * lib/unictype/bidi_byname.c: New file.
53447         * lib/unictype/bidi_name.c: New file.
53448         * lib/unictype/bidi_of.c: New file.
53449         * lib/unictype/bidi_test.c: New file.
53450         * lib/unictype/bitmap.h: New file.
53451         * lib/unictype/block_test.c: New file.
53452         * lib/unictype/blocks.c: New file.
53453         * lib/unictype/categ_C.c: New file.
53454         * lib/unictype/categ_Cc.c: New file.
53455         * lib/unictype/categ_Cf.c: New file.
53456         * lib/unictype/categ_Cn.c: New file.
53457         * lib/unictype/categ_Co.c: New file.
53458         * lib/unictype/categ_Cs.c: New file.
53459         * lib/unictype/categ_L.c: New file.
53460         * lib/unictype/categ_Ll.c: New file.
53461         * lib/unictype/categ_Lm.c: New file.
53462         * lib/unictype/categ_Lo.c: New file.
53463         * lib/unictype/categ_Lt.c: New file.
53464         * lib/unictype/categ_Lu.c: New file.
53465         * lib/unictype/categ_M.c: New file.
53466         * lib/unictype/categ_Mc.c: New file.
53467         * lib/unictype/categ_Me.c: New file.
53468         * lib/unictype/categ_Mn.c: New file.
53469         * lib/unictype/categ_N.c: New file.
53470         * lib/unictype/categ_Nd.c: New file.
53471         * lib/unictype/categ_Nl.c: New file.
53472         * lib/unictype/categ_No.c: New file.
53473         * lib/unictype/categ_P.c: New file.
53474         * lib/unictype/categ_Pc.c: New file.
53475         * lib/unictype/categ_Pd.c: New file.
53476         * lib/unictype/categ_Pe.c: New file.
53477         * lib/unictype/categ_Pf.c: New file.
53478         * lib/unictype/categ_Pi.c: New file.
53479         * lib/unictype/categ_Po.c: New file.
53480         * lib/unictype/categ_Ps.c: New file.
53481         * lib/unictype/categ_S.c: New file.
53482         * lib/unictype/categ_Sc.c: New file.
53483         * lib/unictype/categ_Sk.c: New file.
53484         * lib/unictype/categ_Sm.c: New file.
53485         * lib/unictype/categ_So.c: New file.
53486         * lib/unictype/categ_Z.c: New file.
53487         * lib/unictype/categ_Zl.c: New file.
53488         * lib/unictype/categ_Zp.c: New file.
53489         * lib/unictype/categ_Zs.c: New file.
53490         * lib/unictype/categ_and.c: New file.
53491         * lib/unictype/categ_and_not.c: New file.
53492         * lib/unictype/categ_byname.c: New file.
53493         * lib/unictype/categ_name.c: New file.
53494         * lib/unictype/categ_none.c: New file.
53495         * lib/unictype/categ_of.c: New file.
53496         * lib/unictype/categ_or.c: New file.
53497         * lib/unictype/categ_test.c: New file.
53498         * lib/unictype/combining.c: New file.
53499         * lib/unictype/ctype_alnum.c: New file.
53500         * lib/unictype/ctype_alpha.c: New file.
53501         * lib/unictype/ctype_blank.c: New file.
53502         * lib/unictype/ctype_cntrl.c: New file.
53503         * lib/unictype/ctype_digit.c: New file.
53504         * lib/unictype/ctype_graph.c: New file.
53505         * lib/unictype/ctype_lower.c: New file.
53506         * lib/unictype/ctype_print.c: New file.
53507         * lib/unictype/ctype_punct.c: New file.
53508         * lib/unictype/ctype_space.c: New file.
53509         * lib/unictype/ctype_upper.c: New file.
53510         * lib/unictype/ctype_xdigit.c: New file.
53511         * lib/unictype/decdigit.c: New file.
53512         * lib/unictype/digit.c: New file.
53513         * lib/unictype/identsyntaxmap.h: New file.
53514         * lib/unictype/mirror.c: New file.
53515         * lib/unictype/numeric.c: New file.
53516         * lib/unictype/pr_alphabetic.c: New file.
53517         * lib/unictype/pr_ascii_hex_digit.c: New file.
53518         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53519         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53520         * lib/unictype/pr_bidi_block_separator.c: New file.
53521         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53522         * lib/unictype/pr_bidi_common_separator.c: New file.
53523         * lib/unictype/pr_bidi_control.c: New file.
53524         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53525         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53526         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53527         * lib/unictype/pr_bidi_european_digit.c: New file.
53528         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53529         * lib/unictype/pr_bidi_left_to_right.c: New file.
53530         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53531         * lib/unictype/pr_bidi_other_neutral.c: New file.
53532         * lib/unictype/pr_bidi_pdf.c: New file.
53533         * lib/unictype/pr_bidi_segment_separator.c: New file.
53534         * lib/unictype/pr_bidi_whitespace.c: New file.
53535         * lib/unictype/pr_byname.c: New file.
53536         * lib/unictype/pr_byname.gperf: New file.
53537         * lib/unictype/pr_combining.c: New file.
53538         * lib/unictype/pr_composite.c: New file.
53539         * lib/unictype/pr_currency_symbol.c: New file.
53540         * lib/unictype/pr_dash.c: New file.
53541         * lib/unictype/pr_decimal_digit.c: New file.
53542         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53543         * lib/unictype/pr_deprecated.c: New file.
53544         * lib/unictype/pr_diacritic.c: New file.
53545         * lib/unictype/pr_extender.c: New file.
53546         * lib/unictype/pr_format_control.c: New file.
53547         * lib/unictype/pr_grapheme_base.c: New file.
53548         * lib/unictype/pr_grapheme_extend.c: New file.
53549         * lib/unictype/pr_grapheme_link.c: New file.
53550         * lib/unictype/pr_hex_digit.c: New file.
53551         * lib/unictype/pr_hyphen.c: New file.
53552         * lib/unictype/pr_id_continue.c: New file.
53553         * lib/unictype/pr_id_start.c: New file.
53554         * lib/unictype/pr_ideographic.c: New file.
53555         * lib/unictype/pr_ids_binary_operator.c: New file.
53556         * lib/unictype/pr_ids_trinary_operator.c: New file.
53557         * lib/unictype/pr_ignorable_control.c: New file.
53558         * lib/unictype/pr_iso_control.c: New file.
53559         * lib/unictype/pr_join_control.c: New file.
53560         * lib/unictype/pr_left_of_pair.c: New file.
53561         * lib/unictype/pr_line_separator.c: New file.
53562         * lib/unictype/pr_logical_order_exception.c: New file.
53563         * lib/unictype/pr_lowercase.c: New file.
53564         * lib/unictype/pr_math.c: New file.
53565         * lib/unictype/pr_non_break.c: New file.
53566         * lib/unictype/pr_not_a_character.c: New file.
53567         * lib/unictype/pr_numeric.c: New file.
53568         * lib/unictype/pr_other_alphabetic.c: New file.
53569         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53570         * lib/unictype/pr_other_grapheme_extend.c: New file.
53571         * lib/unictype/pr_other_id_continue.c: New file.
53572         * lib/unictype/pr_other_id_start.c: New file.
53573         * lib/unictype/pr_other_lowercase.c: New file.
53574         * lib/unictype/pr_other_math.c: New file.
53575         * lib/unictype/pr_other_uppercase.c: New file.
53576         * lib/unictype/pr_paired_punctuation.c: New file.
53577         * lib/unictype/pr_paragraph_separator.c: New file.
53578         * lib/unictype/pr_pattern_syntax.c: New file.
53579         * lib/unictype/pr_pattern_white_space.c: New file.
53580         * lib/unictype/pr_private_use.c: New file.
53581         * lib/unictype/pr_punctuation.c: New file.
53582         * lib/unictype/pr_quotation_mark.c: New file.
53583         * lib/unictype/pr_radical.c: New file.
53584         * lib/unictype/pr_sentence_terminal.c: New file.
53585         * lib/unictype/pr_soft_dotted.c: New file.
53586         * lib/unictype/pr_space.c: New file.
53587         * lib/unictype/pr_terminal_punctuation.c: New file.
53588         * lib/unictype/pr_test.c: New file.
53589         * lib/unictype/pr_titlecase.c: New file.
53590         * lib/unictype/pr_unassigned_code_value.c: New file.
53591         * lib/unictype/pr_unified_ideograph.c: New file.
53592         * lib/unictype/pr_uppercase.c: New file.
53593         * lib/unictype/pr_variation_selector.c: New file.
53594         * lib/unictype/pr_white_space.c: New file.
53595         * lib/unictype/pr_xid_continue.c: New file.
53596         * lib/unictype/pr_xid_start.c: New file.
53597         * lib/unictype/pr_zero_width.c: New file.
53598         * lib/unictype/scripts.c: New file.
53599         * lib/unictype/sy_c_ident.c: New file.
53600         * lib/unictype/sy_c_whitespace.c: New file.
53601         * lib/unictype/sy_java_ident.c: New file.
53602         * lib/unictype/sy_java_whitespace.c: New file.
53603
53604         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53605         Unicode 5.0.0.
53606         * lib/unictype/blocks.h: Likewise.
53607         * lib/unictype/categ_C.h: Likewise.
53608         * lib/unictype/categ_Cc.h: Likewise.
53609         * lib/unictype/categ_Cf.h: Likewise.
53610         * lib/unictype/categ_Cn.h: Likewise.
53611         * lib/unictype/categ_Co.h: Likewise.
53612         * lib/unictype/categ_Cs.h: Likewise.
53613         * lib/unictype/categ_L.h: Likewise.
53614         * lib/unictype/categ_Ll.h: Likewise.
53615         * lib/unictype/categ_Lm.h: Likewise.
53616         * lib/unictype/categ_Lo.h: Likewise.
53617         * lib/unictype/categ_Lt.h: Likewise.
53618         * lib/unictype/categ_Lu.h: Likewise.
53619         * lib/unictype/categ_M.h: Likewise.
53620         * lib/unictype/categ_Mc.h: Likewise.
53621         * lib/unictype/categ_Me.h: Likewise.
53622         * lib/unictype/categ_Mn.h: Likewise.
53623         * lib/unictype/categ_N.h: Likewise.
53624         * lib/unictype/categ_Nd.h: Likewise.
53625         * lib/unictype/categ_Nl.h: Likewise.
53626         * lib/unictype/categ_No.h: Likewise.
53627         * lib/unictype/categ_P.h: Likewise.
53628         * lib/unictype/categ_Pc.h: Likewise.
53629         * lib/unictype/categ_Pd.h: Likewise.
53630         * lib/unictype/categ_Pe.h: Likewise.
53631         * lib/unictype/categ_Pf.h: Likewise.
53632         * lib/unictype/categ_Pi.h: Likewise.
53633         * lib/unictype/categ_Po.h: Likewise.
53634         * lib/unictype/categ_Ps.h: Likewise.
53635         * lib/unictype/categ_S.h: Likewise.
53636         * lib/unictype/categ_Sc.h: Likewise.
53637         * lib/unictype/categ_Sk.h: Likewise.
53638         * lib/unictype/categ_Sm.h: Likewise.
53639         * lib/unictype/categ_So.h: Likewise.
53640         * lib/unictype/categ_Z.h: Likewise.
53641         * lib/unictype/categ_Zl.h: Likewise.
53642         * lib/unictype/categ_Zp.h: Likewise.
53643         * lib/unictype/categ_Zs.h: Likewise.
53644         * lib/unictype/categ_of.h: Likewise.
53645         * lib/unictype/combining.h: Likewise.
53646         * lib/unictype/ctype_alnum.h: Likewise.
53647         * lib/unictype/ctype_alpha.h: Likewise.
53648         * lib/unictype/ctype_blank.h: Likewise.
53649         * lib/unictype/ctype_cntrl.h: Likewise.
53650         * lib/unictype/ctype_digit.h: Likewise.
53651         * lib/unictype/ctype_graph.h: Likewise.
53652         * lib/unictype/ctype_lower.h: Likewise.
53653         * lib/unictype/ctype_print.h: Likewise.
53654         * lib/unictype/ctype_punct.h: Likewise.
53655         * lib/unictype/ctype_space.h: Likewise.
53656         * lib/unictype/ctype_upper.h: Likewise.
53657         * lib/unictype/ctype_xdigit.h: Likewise.
53658         * lib/unictype/decdigit.h: Likewise.
53659         * lib/unictype/digit.h: Likewise.
53660         * lib/unictype/mirror.h: Likewise.
53661         * lib/unictype/numeric.h: Likewise.
53662         * lib/unictype/pr_alphabetic.h: Likewise.
53663         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53664         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53665         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53666         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53667         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53668         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53669         * lib/unictype/pr_bidi_control.h: Likewise.
53670         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53671         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53672         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53673         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53674         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53675         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53676         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53677         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53678         * lib/unictype/pr_bidi_pdf.h: Likewise.
53679         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53680         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53681         * lib/unictype/pr_combining.h: Likewise.
53682         * lib/unictype/pr_composite.h: Likewise.
53683         * lib/unictype/pr_currency_symbol.h: Likewise.
53684         * lib/unictype/pr_dash.h: Likewise.
53685         * lib/unictype/pr_decimal_digit.h: Likewise.
53686         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53687         * lib/unictype/pr_deprecated.h: Likewise.
53688         * lib/unictype/pr_diacritic.h: Likewise.
53689         * lib/unictype/pr_extender.h: Likewise.
53690         * lib/unictype/pr_format_control.h: Likewise.
53691         * lib/unictype/pr_grapheme_base.h: Likewise.
53692         * lib/unictype/pr_grapheme_extend.h: Likewise.
53693         * lib/unictype/pr_grapheme_link.h: Likewise.
53694         * lib/unictype/pr_hex_digit.h: Likewise.
53695         * lib/unictype/pr_hyphen.h: Likewise.
53696         * lib/unictype/pr_id_continue.h: Likewise.
53697         * lib/unictype/pr_id_start.h: Likewise.
53698         * lib/unictype/pr_ideographic.h: Likewise.
53699         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53700         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53701         * lib/unictype/pr_ignorable_control.h: Likewise.
53702         * lib/unictype/pr_iso_control.h: Likewise.
53703         * lib/unictype/pr_join_control.h: Likewise.
53704         * lib/unictype/pr_left_of_pair.h: Likewise.
53705         * lib/unictype/pr_line_separator.h: Likewise.
53706         * lib/unictype/pr_logical_order_exception.h: Likewise.
53707         * lib/unictype/pr_lowercase.h: Likewise.
53708         * lib/unictype/pr_math.h: Likewise.
53709         * lib/unictype/pr_non_break.h: Likewise.
53710         * lib/unictype/pr_not_a_character.h: Likewise.
53711         * lib/unictype/pr_numeric.h: Likewise.
53712         * lib/unictype/pr_other_alphabetic.h: Likewise.
53713         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53714         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53715         * lib/unictype/pr_other_id_continue.h: Likewise.
53716         * lib/unictype/pr_other_id_start.h: Likewise.
53717         * lib/unictype/pr_other_lowercase.h: Likewise.
53718         * lib/unictype/pr_other_math.h: Likewise.
53719         * lib/unictype/pr_other_uppercase.h: Likewise.
53720         * lib/unictype/pr_paired_punctuation.h: Likewise.
53721         * lib/unictype/pr_paragraph_separator.h: Likewise.
53722         * lib/unictype/pr_pattern_syntax.h: Likewise.
53723         * lib/unictype/pr_pattern_white_space.h: Likewise.
53724         * lib/unictype/pr_private_use.h: Likewise.
53725         * lib/unictype/pr_punctuation.h: Likewise.
53726         * lib/unictype/pr_quotation_mark.h: Likewise.
53727         * lib/unictype/pr_radical.h: Likewise.
53728         * lib/unictype/pr_sentence_terminal.h: Likewise.
53729         * lib/unictype/pr_soft_dotted.h: Likewise.
53730         * lib/unictype/pr_space.h: Likewise.
53731         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53732         * lib/unictype/pr_titlecase.h: Likewise.
53733         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53734         * lib/unictype/pr_unified_ideograph.h: Likewise.
53735         * lib/unictype/pr_uppercase.h: Likewise.
53736         * lib/unictype/pr_variation_selector.h: Likewise.
53737         * lib/unictype/pr_white_space.h: Likewise.
53738         * lib/unictype/pr_xid_continue.h: Likewise.
53739         * lib/unictype/pr_xid_start.h: Likewise.
53740         * lib/unictype/pr_zero_width.h: Likewise.
53741         * lib/unictype/scripts.h: Likewise.
53742         * lib/unictype/scripts_byname.gperf: Likewise.
53743         * lib/unictype/sy_c_ident.h: Likewise.
53744         * lib/unictype/sy_c_whitespace.h: Likewise.
53745         * lib/unictype/sy_java_ident.h: Likewise.
53746         * lib/unictype/sy_java_whitespace.h: Likewise.
53747
53748         * lib/unictype/Makefile: New file.
53749         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53750         glibc.
53751         * lib/unictype/3level.h: New file, copied from glibc.
53752         * lib/unictype/3levelbit.h: New file.
53753
53754 2007-11-11  Bruno Haible  <bruno@clisp.org>
53755
53756         * modules/gperf: New file.
53757         * modules/iconv_open (Depends-on): Add it.
53758         (Makefile.am): Remove the GPERF definition.
53759
53760 2007-11-11  Bruno Haible  <bruno@clisp.org>
53761
53762         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53763         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53764
53765 2007-11-11  Bruno Haible  <bruno@clisp.org>
53766
53767         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53768         (usage): Remove function.
53769
53770 2007-11-11  Bruno Haible  <bruno@clisp.org>
53771
53772         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53773         gl_FUNC_CEILF_LIBS.
53774         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53775         gl_FUNC_CEIL_LIBS.
53776         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53777         gl_FUNC_CEILL_LIBS.
53778         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53779         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53780         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53781
53782 2007-11-11  Bruno Haible  <bruno@clisp.org>
53783
53784         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53785         roundf were declared but do not exist on functions.
53786         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53787         roundl were declared but do not exist on functions.
53788         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53789         HAVE_FLOORL_AND_CEILL, respectively.
53790         Needed for Sun C on Solaris 10.
53791
53792 2007-11-11  Bruno Haible  <bruno@clisp.org>
53793
53794         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53795         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53796         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53797         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53798         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53799         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53800         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53801         HAVE_DECL_ROUNDF.
53802         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53803         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53805         of HAVE_DECL_ROUND*.
53806         * modules/math (Makefile.am): Update.
53807
53808 2007-11-10  Bruno Haible  <bruno@clisp.org>
53809
53810         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53811         ptrdiff_t as m4/intl.m4.
53812
53813 2007-11-10  Jim Meyering  <meyering@redhat.com>
53814
53815         Avoid link failure for the argmatch test.
53816         * tests/test-argmatch.c (usage): Define function to avoid a link
53817         failure: argmatch_die requires a usage function.
53818
53819 2007-11-09  Bruno Haible  <bruno@clisp.org>
53820
53821         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53822         * doc/functions/vsnprintf.texi: Likewise.
53823         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53824         with a size argument < 2.
53825
53826 2007-11-09  Bruno Haible  <bruno@clisp.org>
53827
53828         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53829         buffer. Fixes an inefficiency introduced on 2007-11-03.
53830
53831 2007-11-09  Bruno Haible  <bruno@clisp.org>
53832
53833         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53834         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53835
53836 2007-11-08  Jim Meyering  <meyering@redhat.com>
53837
53838         Change cache variable name prefix "jm_" to "gl_" everywhere.
53839         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53840         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53841         * m4/uptime.m4: s/gl_/jm_/
53842
53843 2007-11-07  Bruno Haible  <bruno@clisp.org>
53844
53845         Update to GNU gettext 0.17.
53846         * m4/intl.m4: Update to GNU gettext 0.17.
53847         * m4/po.m4: Likewise.
53848         * modules/gettext (Files): Remove m4/ulonglong.m4.
53849         (configure.ac): Require gettext infrastructure from version 0.17.
53850
53851 2007-11-06  Bruno Haible  <bruno@clisp.org>
53852
53853         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
53854         symbolic values are not defined in a public header.
53855         * lib/freadable.c (freadable) [QNX]: Likewise.
53856         * lib/freadahead.c (freadahead) [QNX]: Likewise.
53857         * lib/freading.c (freading) [QNX]: Likewise.
53858         * lib/fseterr.c (fseterr) [QNX]: Likewise.
53859         * lib/fwritable.c (fwritable) [QNX]: Likewise.
53860         * lib/fwriting.c (fwriting) [QNX]: Likewise.
53861         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
53862         Reported by Alain Magloire.
53863
53864         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
53865
53866 2007-11-05  Bruno Haible  <bruno@clisp.org>
53867
53868         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
53869         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
53870         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
53871         Reported by Eric Blake.
53872
53873 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53874             Bruno Haible  <bruno@clisp.org>
53875
53876         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
53877         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
53878         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
53879         (malloc): Undefine also before including <stdlib.h>.
53880         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
53881         Needed on OSF/1 4.0.
53882
53883 2007-11-05  Jim Meyering  <meyering@redhat.com>
53884
53885         git-version-gen: sync from coreutils.
53886         * build-aux/git-version-gen: Add comments.
53887         Change the first '-' to '.' in the snapshot version string,
53888         e.g., 6.9-377-08144 -> 6.9.377-08144
53889         Remove first parameter.
53890         Don't declare a version "-dirty" merely because a time
53891         stamp has changed.
53892
53893 2007-11-04  Bruno Haible  <bruno@clisp.org>
53894
53895         * lib/lock.h: Protect all macro definitions containing an 'if'
53896         statement through a "do { ... } while (0)".
53897         * lib/tls.h: Likewise.
53898
53899 2007-11-04  Bruno Haible  <bruno@clisp.org>
53900
53901         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
53902
53903 2007-11-04  Bruno Haible  <bruno@clisp.org>
53904
53905         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
53906         * modules/fprintf-posix (Depends-on): Add nocrash.
53907         * modules/snprintf-posix (Depends-on): Likewise.
53908         * modules/sprintf-posix (Depends-on): Likewise.
53909         * modules/vasnprintf-posix (Depends-on): Likewise.
53910         * modules/vasprintf-posix (Depends-on): Likewise.
53911         * modules/vfprintf-posix (Depends-on): Likewise.
53912         * modules/vsnprintf-posix (Depends-on): Likewise.
53913         * modules/vsprintf-posix (Depends-on): Likewise.
53914         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53915         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53916         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53917         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53918         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53919         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53920         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53921
53922 2007-11-04  Bruno Haible  <bruno@clisp.org>
53923
53924         * modules/nocrash: New file.
53925         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
53926         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
53927
53928 2007-11-04  Bruno Haible  <bruno@clisp.org>
53929
53930         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
53931         precision handling.
53932         * tests/test-vasprintf-posix.c (test_function): Likewise.
53933         * tests/test-snprintf-posix.h (test_function): Likewise.
53934         * tests/test-sprintf-posix.h (test_function): Likewise.
53935
53936         Fix *printf behaviour for large precisions on mingw and BeOS.
53937         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
53938         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
53939         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
53940         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53941         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53942         gl_PRINTF_PRECISION and test its result. Invoke
53943         gl_PREREQ_VASNPRINTF_PRECISION.
53944         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53945         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53946         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53947         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53948         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53949         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53950         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53951         * doc/functions/fprintf.texi: Update.
53952         * doc/functions/printf.texi: Update.
53953         * doc/functions/snprintf.texi: Update.
53954         * doc/functions/sprintf.texi: Update.
53955         * doc/functions/vfprintf.texi: Update.
53956         * doc/functions/vprintf.texi: Update.
53957         * doc/functions/vsnprintf.texi: Update.
53958         * doc/functions/vsprintf.texi: Update.
53959
53960 2007-11-04  Bruno Haible  <bruno@clisp.org>
53961
53962         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
53963
53964 2007-11-04  Bruno Haible  <bruno@clisp.org>
53965
53966         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
53967         Reported by Sylvain Beucler <beuc@gnu.org>.
53968
53969 2007-11-03  Bruno Haible  <bruno@clisp.org>
53970
53971         * tests/test-fprintf-posix2.sh: New file.
53972         * tests/test-fprintf-posix2.c: New file.
53973         * modules/fprintf-posix-tests (Files): Add them.
53974         (TESTS): Add test-fprintf-posix2.sh.
53975         (configure.ac): Check for getrlimit and setrlimit.
53976         (check_PROGRAMS): Add test-fprintf-posix2.
53977
53978         * tests/test-printf-posix2.sh: New file.
53979         * tests/test-printf-posix2.c: New file.
53980         * modules/printf-posix-tests (Files): Add them.
53981         (TESTS): Add test-printf-posix2.sh.
53982         (configure.ac): Check for getrlimit and setrlimit.
53983         (check_PROGRAMS): Add test-printf-posix2.
53984
53985         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
53986         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
53987         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
53988         (decode_double): New function, copied from decode_long_double.
53989         (scale10_round_decimal_decoded): New function, extracted from
53990         scale10_round_decimal_long_double.
53991         (scale10_round_decimal_long_double): Use it.
53992         (scale10_round_decimal_double): New function.
53993         (floorlog10): New function.
53994         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
53995         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
53996         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53997         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53998         gl_PRINTF_ENOMEM and test its result. Invoke
53999         gl_PREREQ_VASNPRINTF_ENOMEM.
54000         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54001         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54002         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54003         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54004         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54005         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54006         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54007         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
54008         * modules/snprintf-posix (Depends-on): Likewise.
54009         * modules/sprintf-posix (Depends-on): Likewise.
54010         * modules/vasnprintf-posix (Depends-on): Likewise.
54011         * modules/vasprintf-posix (Depends-on): Likewise.
54012         * modules/vfprintf-posix (Depends-on): Likewise.
54013         * modules/vsnprintf-posix (Depends-on): Likewise.
54014         * modules/vsprintf-posix (Depends-on): Likewise.
54015         * doc/functions/fprintf.texi: Update.
54016         * doc/functions/printf.texi: Update.
54017         * doc/functions/snprintf.texi: Update.
54018         * doc/functions/sprintf.texi: Update.
54019         * doc/functions/vfprintf.texi: Update.
54020         * doc/functions/vprintf.texi: Update.
54021         * doc/functions/vsnprintf.texi: Update.
54022         * doc/functions/vsprintf.texi: Update.
54023
54024 2007-11-03  Bruno Haible  <bruno@clisp.org>
54025
54026         * modules/frexp-nolibm-tests: New file.
54027
54028         * modules/frexp-nolibm: New file.
54029         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
54030
54031 2007-11-03  Bruno Haible  <bruno@clisp.org>
54032
54033         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
54034         value is C99 compliant.
54035         Needed for OSF/1 5.1.
54036
54037 2007-11-03  Bruno Haible  <bruno@clisp.org>
54038
54039         Fix out-of-memory handling of vasnprintf.
54040         * lib/printf-parse.c: Include <errno.h>.
54041         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
54042         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
54043         is already set.
54044
54045 2007-11-02  Eric Blake  <ebb9@byu.net>
54046
54047         Fix tests on cygwin.
54048         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
54049
54050 2007-11-01  Bruno Haible  <bruno@clisp.org>
54051
54052         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
54053         warning.
54054         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
54055         needed for POSIX compatibility.
54056
54057 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54058
54059         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
54060         for compatibility with GNU.
54061
54062 2007-11-01  Bruno Haible  <bruno@clisp.org>
54063
54064         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
54065         (putenv): Renamed from rpl_putenv. Change argument type from
54066         'const char *' to 'char *'.
54067         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
54068         of defining putenv in config.h, just set REPLACE_PUTENV.
54069         * modules/putenv (Depends-on): Add stdlib.
54070         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54071         (Include): Use <stdlib.h>.
54072         * lib/stdlib.in.h (putenv): New declaration.
54073         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
54074         REPLACE_PUTENV.
54075         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
54076         REPLACE_PUTENV.
54077         Needed for MacOS X 10.5.0.
54078         Reported by Peter O'Gorman <peter@pogma.com>.
54079
54080 2007-11-01  Jim Meyering  <meyering@redhat.com>
54081
54082         Treat an empty date string exactly like "0".
54083         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
54084         if the remaining date string (to be parsed) is empty, use "0".
54085         Reported by Mischa Molhoek and discussed in this thread:
54086         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
54087
54088 2007-10-31  Bruno Haible  <bruno@clisp.org>
54089
54090         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
54091         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
54092         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
54093         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
54094         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
54095         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
54096
54097 2007-10-31  Bruno Haible  <bruno@clisp.org>
54098
54099         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
54100         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
54101         (AC_TYPE_LONG_LONG_INT): Use it.
54102         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
54103         it as well.
54104         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
54105         to m4/longlong.m4.
54106         * modules/stdint (Files): Remove m4/ulonglong.m4.
54107         * modules/strtoull (Files): Use m4/longlong.m4 instead of
54108         m4/ulonglong.m4.
54109         * modules/strtoumax (Files): Likewise.
54110
54111 2007-10-30  Bruno Haible  <bruno@clisp.org>
54112
54113         * modules/xvasprintf-posix: New file.
54114         Suggested by Eric Blake.
54115
54116 2007-10-30  Bruno Haible  <bruno@clisp.org>
54117
54118         * modules/xprintf-posix-tests: New file.
54119         * tests/test-xprintf-posix.sh: New file.
54120         * tests/test-xprintf-posix.c: New file.
54121         * tests/test-xfprintf-posix.c: New file.
54122
54123         * modules/xprintf-posix: New file.
54124
54125 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54126
54127         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
54128         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
54129         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
54130
54131 2007-10-29  Bruno Haible  <bruno@clisp.org>
54132
54133         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
54134         contain the special marker '_cv_'.
54135         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
54136         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
54137         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
54138         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
54139         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
54140         Reported by Ralf Wildenhues.
54141
54142 2007-10-29  Bruno Haible  <bruno@clisp.org>
54143
54144         * gnulib-tool (func_import): When --lgpl is not specified, set
54145         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
54146         GPLv3.
54147         Reported by Simon Josefsson.
54148
54149 2007-10-28  Bruno Haible  <bruno@clisp.org>
54150
54151         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
54152         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
54153         HAVE_DECL_ISFINITE.
54154         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54155         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
54156         HAVE_DECL_ISFINITE.
54157
54158 2007-10-28  Bruno Haible  <bruno@clisp.org>
54159
54160         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
54161         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
54162
54163 2007-10-28  Bruno Haible  <bruno@clisp.org>
54164
54165         Fix link errors with Sun C 5.0 on Solaris 10.
54166         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
54167         function is declared but not present in the compiler's libm.
54168         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
54169         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
54170         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
54171         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
54172         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
54173         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
54174         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
54175         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54176         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
54177         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
54178         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
54179         HAVE_DECL_FLOORL.
54180
54181 2007-10-28  Bruno Haible  <bruno@clisp.org>
54182
54183         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
54184         gl_FUNC_FLOORL. Cache the result.
54185         (gl_FUNC_FLOORL): Use it.
54186         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
54187         gl_FUNC_CEILL. Cache the result.
54188         (gl_FUNC_CEILL): Use it.
54189
54190         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
54191         gl_FUNC_FLOOR. Cache the result.
54192         (gl_FUNC_FLOOR): Use it.
54193         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
54194         gl_FUNC_CEIL. Cache the result.
54195         (gl_FUNC_CEIL): Use it.
54196
54197         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
54198         gl_FUNC_FLOORF. Cache the result.
54199         (gl_FUNC_FLOORF): Use it.
54200         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
54201         gl_FUNC_CEILF. Cache the result.
54202         (gl_FUNC_CEILF): Use it.
54203
54204 2007-10-28  Bruno Haible  <bruno@clisp.org>
54205
54206         * gnulib-tool: Allow specifying the LGPL version number through
54207         --lgpl=2 or --lgpl=3.
54208         (func_usage): Document --lgpl with argument.
54209         Handle --lgpl=... arguments.
54210         (func_import): Recognize also gl_LGPL calls with an argument. When
54211         --lgpl=2 is used and the module's license is just LGPL, report an
54212         error. Set sed_transform_lib_file according to the lgpl variable. In
54213         the generated files, use --lgpl or gl_LGPL invocations with argument,
54214         if necessary.
54215         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
54216         an LGPv2+ license.
54217         * doc/gnulib-tool.texi (Modified imports): Update explanation of
54218         gl_LGPL macro.
54219
54220 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54221             Bruno Haible  <bruno@clisp.org>
54222
54223         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
54224         (u16_uctomb_aux): Likewise.
54225         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
54226         !HAVE_INLINE.
54227         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
54228
54229 2007-10-28  Bruno Haible  <bruno@clisp.org>
54230
54231         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
54232         Invoke AM_GETTEXT_OPTION if it exists.
54233         * modules/vasprintf: Likewise.
54234         * modules/verror: Likewise.
54235         * modules/xprintf: Likewise.
54236         * modules/xvasprintf: Likewise.
54237
54238 2007-10-27  Ben Pfaff  <blp@gnu.org>
54239
54240         * lib/math.in.h: Define isfinite macro and prototypes for
54241         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
54242         implementations.
54243         * m4/math_h.m4: New substitutions for isfinite module.
54244         * lib/isfinite.c: New file.
54245         * m4/isfinite.m4: New file.
54246         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
54247         * modules/isfinite: New file.
54248         * modules/isfinite-tests: New file.
54249         * tests/tests-isfinite.c: New file.
54250         * doc/functions/isfinite.texi: Mention isfinite module.
54251         * MODULES.html.sh: Mention new module.
54252
54253 2007-10-27  Ben Pfaff  <blp@gnu.org>
54254
54255         Ralf Wildenhues reported that Tru64 4.0D declares the round
54256         functions but does not have definitions.
54257         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
54258         cannot be found in any library, set the output variable to
54259         "missing" instead of "".
54260         * m4/round.m4: Also use our substitute if we cannot find round in
54261         any library, even if it is declared.
54262         * m4/roundf.m4: Likewise for roundf.
54263         * m4/roundl.m4: Likewise for roundl.
54264         * lib/math.in.h: Undefine roundf, round, roundl before defining
54265         their replacements, to allow for hypothetical systems where these
54266         may be defined as macros but not available in libraries.
54267
54268 2007-10-27  Bruno Haible  <bruno@clisp.org>
54269
54270         * doc/gnulib.texi: Invoke @firstparagraphindent.
54271         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
54272         changes in gnulib.
54273         (Source changes): New section.
54274
54275 2007-10-26  Bruno Haible  <bruno@clisp.org>
54276
54277         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
54278         borrowed from autoconf.
54279
54280 2007-10-26  Bruno Haible  <bruno@clisp.org>
54281
54282         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
54283         strerror returned the empty string. Needed on HP-UX 11.00.
54284
54285 2007-10-24  Micah Cowan  <micah@cowan.name>
54286
54287         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
54288         * build-aux/bootstrap: Remove support for now-unnecessary option,
54289         --cvs-user, and envvars CVS_USER, CVS_RSH.
54290
54291 2007-10-24  Jim Meyering  <meyering@redhat.com>
54292
54293         Avoid diagnostics from sha1sum when there is no cached checksum.
54294         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
54295         if the po.s1 file hasn't been created yet.
54296
54297         * build-aux/bootstrap: Sync from coreutils:
54298         2007-10-24  Jim Meyering  <meyering@redhat.com>
54299         Get gnulib from the git repository, not from an obsolete cvs one.
54300         * build-aux/bootstrap: Suggestion from Micah Cowan.
54301         2007-10-04  Jim Meyering  <jim@meyering.net>
54302         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
54303         (update_po_files): Work also when there are no .po files in po/.
54304
54305 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54306
54307         * README: Append ".git" to git and cg examples.
54308         Problem reported by Benoit Sigoure.
54309
54310 2007-10-23  Micah Cowan  <micah@cowan.name>
54311
54312         * users.txt: Add wget.
54313
54314 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54315
54316         Fix linking of some unistdio tests on FreeBSD.
54317         * modules/unistdio/u16-vsnprintf-tests
54318         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
54319         * modules/unistdio/u16-vsprintf-tests
54320         (test_u16_vsnprintf1_LDADD): Likewise.
54321         * modules/unistdio/u32-vsnprintf-tests
54322         (test_u32_vsnprintf1_LDADD): Likewise.
54323         * modules/unistdio/u32-vsprintf-tests
54324         (test_u32_vsprintf1_LDADD): Likewise.
54325         * modules/unistdio/u8-vsnprintf-tests
54326         (test_u8_vsnprintf1_LDADD): Likewise.
54327         * modules/unistdio/u8-vsprintf-tests
54328         (test_u8_vsprintf1_LDADD): Likewise.
54329         * modules/unistdio/ulc-vsnprintf-tests
54330         (test_ulc_vsnprintf1_LDADD): Likewise.
54331         * modules/unistdio/ulc-vsprintf-tests
54332         (test_ulc_vsprintf1_LDADD): Likewise.
54333
54334         Fix linking of some uniconv tests on FreeBSD.
54335         * modules/uniconv/u16-conv-from-enc-tests
54336         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
54337         * modules/uniconv/u16-conv-to-enc-tests
54338         (test_u16_conv_to_enc_LDADD): Likewise.
54339         * modules/uniconv/u16-strconv-from-enc-tests
54340         (test_u16_strconv_from_enc_LDADD): Likewise.
54341         * modules/uniconv/u16-strconv-to-enc-tests
54342         (test_u16_strconv_to_enc_LDADD): Likewise.
54343         * modules/uniconv/u32-conv-from-enc-tests
54344         (test_u32_conv_from_enc_LDADD): Likewise.
54345         * modules/uniconv/u32-conv-to-enc-tests
54346         (test_u32_conv_to_enc_LDADD): Likewise.
54347         * modules/uniconv/u32-strconv-from-enc-tests
54348         (test_u32_strconv_from_enc_LDADD): Likewise.
54349         * modules/uniconv/u32-strconv-to-enc-tests
54350         (test_u32_strconv_to_enc_LDADD): Likewise.
54351         * modules/uniconv/u8-conv-from-enc-tests
54352         (test_u8_conv_from_enc_LDADD): Likewise.
54353         * modules/uniconv/u8-conv-to-enc-tests
54354         (test_u8_conv_to_enc_LDADD): Likewise.
54355         * modules/uniconv/u8-strconv-from-enc-tests
54356         (test_u8_strconv_from_enc_LDADD): Likewise.
54357         * modules/uniconv/u8-strconv-to-enc-tests
54358         (test_u8_strconv_to_enc_LDADD): Likewise.
54359
54360 2007-10-22  Bruno Haible  <bruno@clisp.org>
54361
54362         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
54363         size.
54364
54365 2007-10-22  Eric Blake  <ebb9@byu.net>
54366
54367         Tweak x*printf documentation.
54368         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
54369         variable name and comments.
54370         Suggested by Bruno Haible.
54371
54372 2007-10-22  Bruno Haible  <bruno@clisp.org>
54373
54374         * lib/acl.c (copy_acl): Fix file name in comment.
54375
54376 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54377
54378         Fix Tru64 problem with stdbool.h.
54379         * lib/stdbool.in.h (false, true):
54380         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
54381         Don't declare as an enum in this situation; it runs afoul of Tru64.
54382         Problem reported by Steven M. Schweda in
54383         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
54384
54385 2007-10-22  Eric Blake  <ebb9@byu.net>
54386
54387         Also wrap vf?printf.
54388         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
54389         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
54390         (xvprintf, xvfprintf): New functions.
54391
54392 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54393
54394         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
54395         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
54396
54397         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
54398         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
54399
54400 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54401
54402         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
54403         by Bruno Haible.
54404
54405 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54406
54407         * lib/getloadavg.c
54408         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
54409         Undef `sys' after including sys/table.h, for Tru64 4.0D.
54410
54411         * tests/test-i-ring.c: Work for C89.
54412
54413 2007-10-22  Bruno Haible  <bruno@clisp.org>
54414
54415         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
54416         -1u, in preprocessor expression, so that we don't test for the bug
54417         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
54418         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
54419
54420 2007-10-22  Eric Blake  <ebb9@byu.net>
54421
54422         * tests/test-yesno.sh: Silence stderr during test.
54423
54424 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54425
54426         * modules/crypto/gc-camellia: New file.
54427
54428         * m4/gc-camellia.m4: New file.
54429
54430         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54431
54432         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54433
54434 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54435
54436         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54437         --help to stdout.  Reported by sms@antinode.org (Steven
54438         M. Schweda).
54439
54440 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54441
54442         * users.txt: Fix link to libksba.
54443
54444 2007-10-21  Ben Pfaff  <blp@gnu.org>
54445
54446         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54447         round.c roundf implementation that depends on floorf and ceilf to
54448         be tested unconditionally.
54449
54450 2007-10-21  Ben Pfaff  <blp@gnu.org>
54451
54452         * m4/check-libm-func.m4: Removed.
54453         * m4/check-math-lib.m4: New file.
54454         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54455         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54456         definition and lack of AC_LIBOBJ([roundf]).
54457         * m4/roundl.m4: Ditto, and similarly for roundl.
54458         * modules/round: Reference new m4 file.
54459         * modules/roundf: Ditto.
54460         * modules/roundl: Ditto.
54461         * tests/test-round2.c (main): Use ROUND instead of round.
54462         Bug report from Bruno Haible.
54463
54464 2007-10-21  Bruno Haible  <bruno@clisp.org>
54465
54466         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54467         context.
54468
54469 2007-10-21  Bruno Haible  <bruno@clisp.org>
54470
54471         * tests/test-wcwidth.c (main): Allow negative result for some control
54472         characters.
54473
54474         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54475         Needed on OSF/1 5.1.
54476
54477 2007-10-21  Bruno Haible  <bruno@clisp.org>
54478
54479         * tests/test-floorf1.c: Include isnanf.h.
54480         (main): Use isnanf() instead of isnan().
54481         * tests/test-ceilf1.c: Include isnanf.h.
54482         (main): Use isnanf() instead of isnan().
54483         * tests/test-truncf1.c: Include isnanf.h.
54484         (main): Use isnanf() instead of isnan().
54485         * tests/test-roundf1.c: Include isnanf.h.
54486         (main): Use isnanf() instead of isnan().
54487
54488 2007-10-21  Eric Blake  <ebb9@byu.net>
54489
54490         * users.txt: Update URL for m4.
54491
54492 2007-10-21  Bruno Haible  <bruno@clisp.org>
54493
54494         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54495
54496 2007-10-21  Bruno Haible  <bruno@clisp.org>
54497
54498         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54499         Git's management files if the CVS files are not present.
54500
54501 2007-10-20  Bruno Haible  <bruno@clisp.org>
54502
54503         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54504         gcc-3.4.x.
54505
54506 2007-10-20  Ben Pfaff  <blp@gnu.org>
54507
54508         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54509         implementations.
54510         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54511         * lib/round.c: New file.
54512         * lib/roundf.c: New file.
54513         * lib/roundl.c: New file.
54514         * m4/round.m4: New file.
54515         * m4/roundf.m4: New file.
54516         * m4/roundl.m4: New file.
54517         * m4/check-libm-func-m4: New file.
54518         * modules/math: Replace round, roundf, roundl related @VARS@ in
54519         math.in.h.
54520         * modules/round: New file.
54521         * modules/round-tests: New file.
54522         * modules/roundf: New file.
54523         * modules/roundf-tests: New file.
54524         * modules/roundl: New file.
54525         * modules/roundl-tests: New file.
54526         * tests/test-round1.c: New file.
54527         * tests/test-round2.c: New file.
54528         * tests/test-roundf1.c: New file.
54529         * tests/test-roundf2.c: New file.
54530         * tests/test-roundl.c: New file.
54531         * doc/functions/round.texi: Mention round module.
54532         * doc/functions/roundf.texi: Mention roundf module.
54533         * doc/functions/roundl.texi: Mention roundl module.
54534         * MODULES.html.sh: Mention new modules.
54535         Thanks to Bruno Haible for suggestions.
54536
54537 2007-10-20  Jim Meyering  <meyering@redhat.com>
54538
54539         * lib/xprintf.c: Include <config.h> unconditionally.
54540
54541         Change xprintf's license to GPL.
54542         * modules/xprintf (License): s/LGPL/GPL/, since this module
54543         depends on modules (exit and exitfail) which are GPL.
54544         Suggestion from Bruno Haible.
54545
54546         xprintf fixes.
54547         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54548         Use a clearer diagnostic.
54549         Patch from Bruno Haible.
54550
54551 2007-10-20  Bruno Haible  <bruno@clisp.org>
54552
54553         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54554         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54555         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54556
54557 2007-10-20  Bruno Haible  <bruno@clisp.org>
54558
54559         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54560         precision in the comparison result > x - 1 or similar.
54561         * tests/test-ceilf2.c (correct_result_p): Likewise.
54562         * tests/test-truncf2.c (correct_result_p): Likewise.
54563         * tests/test-trunc2.c (correct_result_p): Likewise.
54564         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54565
54566 2007-10-20  Bruno Haible  <bruno@clisp.org>
54567
54568         * modules/ceil: New file.
54569         * m4/ceil.m4: New file.
54570         * doc/functions/ceil.texi: Mention the 'ceil' module.
54571
54572 2007-10-20  Bruno Haible  <bruno@clisp.org>
54573
54574         * modules/floor: New file.
54575         * m4/floor.m4: New file.
54576         * doc/functions/floor.texi: Mention the 'floor' module.
54577
54578 2007-10-20  Bruno Haible  <bruno@clisp.org>
54579
54580         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54581         of %a.
54582         * modules/floorf-tests (Depends-on): Likewise.
54583         * modules/truncf-tests (Depends-on): Likewise.
54584         * modules/trunc-tests (Depends-on): Likewise.
54585         Reported by Ben Pfaff.
54586
54587 2007-10-19  Jim Meyering  <meyering@redhat.com>
54588
54589         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54590         Don't bother testing specific errno values.  Just test ferror.
54591
54592         New module: xprintf
54593         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54594
54595 2007-10-19  Bruno Haible  <bruno@clisp.org>
54596
54597         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54598         syntax.
54599         * modules/javaexec (Makefile.am): Likewise.
54600         * modules/relocatable-prog (Makefile.am): Likewise.
54601         Suggested by Jim Meyering.
54602
54603 2007-10-18  Bruno Haible  <bruno@clisp.org>
54604
54605         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54606         Reported by Jim Meyering.
54607
54608 2007-10-18  Eric Blake  <ebb9@byu.net>
54609
54610         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54611
54612 2007-10-18  Bruno Haible  <bruno@clisp.org>
54613
54614         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54615         the format string into writable memory. Needed in Fortify conditions.
54616
54617 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54618             Bruno Haible  <bruno@clisp.org>
54619
54620         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54621         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54622         * modules/trim (Depends-on): Add mbchar.
54623         (configure.ac): Add gl_FUNC_MBRTOWC.
54624         (Makefile.am): Augment lib_SOURCES.
54625
54626 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54627
54628         Modify glob.c to use fstatat and dirfd, to simplify it.
54629         Suggested by Eric Blake.
54630         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54631         Don't include <stdbool.h>; not used.
54632         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54633         (link_exists_p): Simplify implementation, since we can now assume
54634         dirfd and fstatat.
54635         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54636
54637 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54638
54639         * gnulib-tool (func_get_dependencies): Fix sed script to
54640         match only tests.
54641
54642 2007-10-17  Bruno Haible  <bruno@clisp.org>
54643
54644         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54645         allow locale names without encoding suffix.
54646         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54647         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54648
54649 2007-10-16  Bruno Haible  <bruno@clisp.org>
54650
54651         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54652         * lib/getgroups.c (getgroups): Likewise.
54653         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54654
54655 2007-10-16  Bruno Haible  <bruno@clisp.org>
54656
54657         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54658         * modules/malloc-posix (License): Likewise.
54659         * modules/realloc-posix (License): Likewise.
54660         * modules/calloc-posix (License): Likewise.
54661         * modules/intprops (License): Change from GPL to LGPL, with
54662         Paul Eggert's approval.
54663
54664 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54665
54666         Merge glibc changes into lib/glob.c.
54667
54668         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54669         2007-10-15 04:59:03 UTC.  Here are the changes:
54670
54671         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54672
54673         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54674
54675         * lib/glob.c: Add some branch prediction throughout.
54676
54677         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54678
54679         [BZ #5103]
54680         * lib/glob.c (glob): Recognize patterns starting \/.
54681
54682         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54683
54684         [BZ #3996]
54685         * lib/glob.c (attribute_hidden): Define if not defined.
54686         (glob): Unescape dirname, filename or username when needed and not
54687         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54688         is NULL.  Handle unescaped [ in pattern without closing ].
54689         Don't pass GLOB_CHECK down to recursive glob for directories.
54690         (__glob_pattern_type): New function.
54691         (__glob_pattern_p): Implement using __glob_pattern_type.
54692         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54693         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54694         Remove unreachable code.
54695
54696         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54697
54698         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54699         explain why there are no leaks.
54700
54701         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54702
54703         [BZ #3253]
54704         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54705         time, rather allocate increasingly bigger arrays of pointers, if
54706         possible with alloca, if too large with malloc.
54707
54708 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54709
54710         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54711         Problem reported by H.Merijn Brand in
54712         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54713         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54714         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54715
54716 2007-10-15  Bruno Haible  <bruno@clisp.org>
54717
54718         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54719         with explicit rpl_ prefix.
54720         * lib/fopen.c (fopen): Likewise.
54721         * lib/freopen.c (freopen): Likewise.
54722         * lib/iconv.c (iconv): Likewise.
54723         * lib/iconv_close.c (iconv_close): Likewise.
54724
54725 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54726
54727         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54728
54729 2007-10-15  Bruno Haible  <bruno@clisp.org>
54730
54731         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54732         <stddef.h> instead of <stdlib.h> since we only need NULL.
54733         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54734
54735 2007-10-15  Bruno Haible  <bruno@clisp.org>
54736
54737         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54738         Replace paragraph talking about LIBOBJS.
54739         Reported by Colin Watson <cjwatson@debian.org>.
54740
54741 2007-10-15  Bruno Haible  <bruno@clisp.org>
54742
54743         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54744         <stdlib.h> before using NULL.
54745
54746 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54747
54748         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54749         Reported by Albert Chin <china@thewrittenword.com>.
54750
54751 2007-10-14  Bruno Haible  <bruno@clisp.org>
54752
54753         * modules/iconv_open-utf-tests: New file.
54754         * tests/test-iconv-utf.c: New file.
54755
54756         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54757         * modules/iconv_open-utf: New file.
54758         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54759         (iconv, iconv_close): New declarations.
54760         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54761         be defined.
54762         (iconv_open): Add special handling of conversion between UTF-8 and
54763         UTF-{16,32}{BE,LE}.
54764         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54765         * lib/iconv_close.c: New file.
54766         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54767         gl_FUNC_ICONV_OPEN.
54768         (gl_FUNC_ICONV_OPEN): Use it.
54769         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54770         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54771         and REPLACE_ICONV_UTF.
54772         * modules/iconv_open (Depends-on): Add c-strcase.
54773         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54774         ICONV_CONST.
54775         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54776
54777 2007-10-13  Albert Chin  <china@thewrittenword.com>
54778             Bruno Haible  <bruno@clisp.org>
54779
54780         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54781         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54782
54783 2007-10-13  Bruno Haible  <bruno@clisp.org>
54784
54785         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54786         defined, use the ISO C99 inline semantics.
54787         * lib/argp.h (ARGP_EI): Likewise.
54788
54789 2007-10-13  Bruno Haible  <bruno@clisp.org>
54790
54791         Handle 'inline' change in gcc 4.3.0.
54792         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54793         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54794         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54795         argp_fmtstream_point): Disable 'extern' declaration if the function
54796         definition is going to be provided inline.
54797         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54798         semantics, not the ISO C99 inline semantics.
54799         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54800         'extern' declaration if the function definition is going to be provided
54801         inline.
54802         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54803         the GNU C inline semantics, not the ISO C99 inline semantics. With
54804         GCC 4.2, avoid a warning.
54805
54806 2007-10-13  Bruno Haible  <bruno@clisp.org>
54807
54808         * lib/freading.h (freading): Enable the use of __freading for
54809         glibc >= 2.7.
54810         * lib/freading.c (freading): Likewise.
54811
54812 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54813
54814         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54815         "warning: C99 inline functions are not supported; using GNU89".
54816
54817 2007-10-12  Bruno Haible  <bruno@clisp.org>
54818
54819         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54820         of 2.
54821         * tests/test-ceilf2.c: New file.
54822         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54823
54824         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54825         * modules/ceilf-tests: Update.
54826
54827 2007-10-12  Bruno Haible  <bruno@clisp.org>
54828
54829         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54830         of 2.
54831         * tests/test-floorf2.c: New file.
54832         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54833
54834         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54835         * modules/floorf-tests: Update.
54836
54837 2007-10-12  Bruno Haible  <bruno@clisp.org>
54838
54839         * tests/test-trunc2.c: New file.
54840         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54841
54842         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
54843         * modules/trunc-tests: Update.
54844
54845 2007-10-12  Bruno Haible  <bruno@clisp.org>
54846
54847         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
54848         of 2.
54849         * tests/test-truncf2.c: New file.
54850         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
54851
54852         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
54853         * modules/truncf-tests: Update.
54854
54855 2007-10-11  Eric Blake  <ebb9@byu.net>
54856
54857         Don't claim strerror is broken on Interix.
54858         * doc/functions/strerror.texi (strerror): Known broken systems are
54859         now Solaris 8, and not Interix.
54860         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
54861         Interix on cross-compile.
54862         Reported by Martin Koeppe in
54863         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
54864
54865 2007-10-11  Bruno Haible  <bruno@clisp.org>
54866
54867         * modules/i-ring-tests: New file.
54868         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
54869         instead of assert.
54870
54871 2007-10-11  Bruno Haible  <bruno@clisp.org>
54872
54873         * modules/filenamecat-tests: New file.
54874         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
54875         * lib/filenamecat.c: Remove test code.
54876
54877 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54878
54879         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
54880
54881         * lib/strerror.c: Include <string.h> always, to test interface,
54882         and to remove the need for the dummy.
54883         Include intprops.h to compute width instead of doing it ourselves
54884         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
54885         (strerror): Define it to return NULL if there's no system strerror.
54886         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
54887         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
54888         ancient pre-strerror Unix systems well any more.  Saying "unknown
54889         system error" is enough.
54890         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
54891         simpler strerror.c implementation.
54892         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
54893         Simplify the tests to reflect the simpler strerror implementation.
54894         * modules/strerror (Depends-on): Add intprops.
54895
54896 2007-10-09  Eric Blake  <ebb9@byu.net>
54897
54898         Silence test-fpending.
54899         * modules/fpending-tests (Files): Add wrapper script.
54900         * tests/test-fpending.sh: New file.
54901
54902 2007-10-09  Bruno Haible  <bruno@clisp.org>
54903
54904         * MODULES.html.sh (func_module): Don't create a hyperlink for
54905         function names like 'printf_frexp'.
54906         (Misc): Add crc, memxor.
54907         (Characteristics of floating types): New section.
54908         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
54909         isnanf-nolibm, signbit, trunc, truncf, truncl.
54910         (Enhancements for ISO C 99 functions): New subsection Input/output.
54911         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
54912         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
54913         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
54914         (Compatibility checks for POSIX:2001 functions): Add clock-time.
54915         (Enhancements for POSIX:2001 functions): Add chdir-long.
54916         (File system functions): Add areadlink, chdir-safer, read-file.
54917         Remove cycle-check.
54918         (File system as inode set): New section.
54919         (Date and time): Add gethrxtime.
54920         (Multithreading): Add openmp.
54921         (Internationalization functions): Add localename.
54922         (Unicode string functions): Add unistr/u*-mbsnlen.
54923         (Support for maintaining and releasing projects): Add git-version-gen.
54924         (Lone files): Remove directories.
54925
54926 2007-10-08  Ben Pfaff  <blp@gnu.org>
54927
54928         * lib/xmalloca.h: Fix typo in comment.
54929
54930 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54931
54932         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
54933         when avoiding problems with integer overflow.  Use a portable test
54934         instead.
54935
54936 2007-10-08  Simon Josefsson  <simon@josefsson.org>
54937
54938         * modules/dummy (License): Change to LGPLv2+.
54939         * modules/float (License): Likewise
54940         * modules/realloc (License): Likewise
54941         * modules/stdlib (License): Likewise
54942
54943 2007-10-07  Bruno Haible  <bruno@clisp.org>
54944
54945         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
54946         * floor.c (TWO_MANT_DIG): Likewise.
54947         * ceil.c (TWO_MANT_DIG): Likewise.
54948         Reported by Ben Pfaff.
54949
54950 2007-10-07  Bruno Haible  <bruno@clisp.org>
54951
54952         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
54953         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
54954         * lib/frexp.c (FUNC): Likewise.
54955         * lib/printf-frexp.h (printf_frexp): Likewise.
54956         * lib/printf-frexpl.h (printf_frexpl): Likewise.
54957         * lib/printf-frexp.c (FUNC): Likewise.
54958         Suggested by Jim Meyering.
54959
54960 2007-10-07  Jim Meyering  <meyering@redhat.com>
54961
54962         Make xnanosleep's integer overflow test more robust.
54963         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
54964         so that gcc-4.3.0 doesn't optimize away this test for overflow.
54965
54966 2007-10-07  Bruno Haible  <bruno@clisp.org>
54967
54968         * NEWS: Mention the license change.
54969
54970         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
54971         abbreviations in the modules files.
54972
54973         Change copyright notice from GPLv2+ to GPLv3+.
54974         * README: Change copyright notice.
54975         * MODULES.html.sh: Likewise.
54976         * build-aux/bootstrap.conf: Likewise.
54977         * build-aux/config.libpath: Likewise.
54978         * build-aux/csharpcomp.sh.in: Likewise.
54979         * build-aux/csharpexec.sh.in: Likewise.
54980         * build-aux/install-reloc: Likewise.
54981         * build-aux/javacomp.sh.in: Likewise.
54982         * build-aux/javaexec.sh.in: Likewise.
54983         * build-aux/ldd.sh.in: Likewise.
54984         * build-aux/reloc-ldflags: Likewise.
54985         * build-aux/relocatable.sh.in: Likewise.
54986         * build-aux/x-to-1.in: Likewise.
54987         * check-module: Likewise.
54988         * config/srclistvars.sh: Likewise.
54989         * gnulib-tool: Likewise.
54990         * lib/acl-internal.h: Likewise.
54991         * lib/acl.c: Likewise.
54992         * lib/acl.h: Likewise.
54993         * lib/acl_entries.c: Likewise.
54994         * lib/areadlink-with-size.c: Likewise.
54995         * lib/areadlink.c: Likewise.
54996         * lib/areadlink.h: Likewise.
54997         * lib/argmatch.c: Likewise.
54998         * lib/argmatch.h: Likewise.
54999         * lib/argp-ba.c: Likewise.
55000         * lib/argp-eexst.c: Likewise.
55001         * lib/argp-fmtstream.c: Likewise.
55002         * lib/argp-fmtstream.h: Likewise.
55003         * lib/argp-fs-xinl.c: Likewise.
55004         * lib/argp-help.c: Likewise.
55005         * lib/argp-namefrob.h: Likewise.
55006         * lib/argp-parse.c: Likewise.
55007         * lib/argp-pin.c: Likewise.
55008         * lib/argp-pv.c: Likewise.
55009         * lib/argp-pvh.c: Likewise.
55010         * lib/argp-xinl.c: Likewise.
55011         * lib/argp.h: Likewise.
55012         * lib/at-func.c: Likewise.
55013         * lib/atanl.c: Likewise.
55014         * lib/backupfile.c: Likewise.
55015         * lib/backupfile.h: Likewise.
55016         * lib/basename.c: Likewise.
55017         * lib/binary-io.h: Likewise.
55018         * lib/byteswap.in.h: Likewise.
55019         * lib/c-stack.c: Likewise.
55020         * lib/c-stack.h: Likewise.
55021         * lib/c-strcasestr.c: Likewise.
55022         * lib/c-strcasestr.h: Likewise.
55023         * lib/c-strstr.c: Likewise.
55024         * lib/c-strstr.h: Likewise.
55025         * lib/c-strtod.c: Likewise.
55026         * lib/calloc.c: Likewise.
55027         * lib/canon-host.c: Likewise.
55028         * lib/canon-host.h: Likewise.
55029         * lib/canonicalize-lgpl.c: Likewise.
55030         * lib/canonicalize.c: Likewise.
55031         * lib/canonicalize.h: Likewise.
55032         * lib/ceil.c: Likewise.
55033         * lib/ceilf.c: Likewise.
55034         * lib/ceill.c: Likewise.
55035         * lib/chdir-long.c: Likewise.
55036         * lib/chdir-long.h: Likewise.
55037         * lib/chdir-safer.c: Likewise.
55038         * lib/chdir-safer.h: Likewise.
55039         * lib/chown.c: Likewise.
55040         * lib/classpath.c: Likewise.
55041         * lib/classpath.h: Likewise.
55042         * lib/clean-temp.c: Likewise.
55043         * lib/clean-temp.h: Likewise.
55044         * lib/cloexec.c: Likewise.
55045         * lib/close-stream.c: Likewise.
55046         * lib/closein.c: Likewise.
55047         * lib/closein.h: Likewise.
55048         * lib/closeout.c: Likewise.
55049         * lib/closeout.h: Likewise.
55050         * lib/concat-filename.c: Likewise.
55051         * lib/copy-file.c: Likewise.
55052         * lib/copy-file.h: Likewise.
55053         * lib/count-one-bits.h: Likewise.
55054         * lib/crc.c: Likewise.
55055         * lib/crc.h: Likewise.
55056         * lib/creat-safer.c: Likewise.
55057         * lib/csharpcomp.c: Likewise.
55058         * lib/csharpcomp.h: Likewise.
55059         * lib/csharpexec.c: Likewise.
55060         * lib/csharpexec.h: Likewise.
55061         * lib/cycle-check.c: Likewise.
55062         * lib/cycle-check.h: Likewise.
55063         * lib/diacrit.c: Likewise.
55064         * lib/diacrit.h: Likewise.
55065         * lib/diffseq.h: Likewise.
55066         * lib/dirchownmod.c: Likewise.
55067         * lib/dirent.in.h: Likewise.
55068         * lib/dirfd.c: Likewise.
55069         * lib/dirfd.h: Likewise.
55070         * lib/dirname.c: Likewise.
55071         * lib/dirname.h: Likewise.
55072         * lib/dummy.c: Likewise.
55073         * lib/dup-safer.c: Likewise.
55074         * lib/dup2.c: Likewise.
55075         * lib/eealloc.h: Likewise.
55076         * lib/error.c: Likewise.
55077         * lib/error.h: Likewise.
55078         * lib/euidaccess.c: Likewise.
55079         * lib/exclude.c: Likewise.
55080         * lib/exclude.h: Likewise.
55081         * lib/execute.c: Likewise.
55082         * lib/execute.h: Likewise.
55083         * lib/exitfail.c: Likewise.
55084         * lib/exitfail.h: Likewise.
55085         * lib/expl.c: Likewise.
55086         * lib/fatal-signal.c: Likewise.
55087         * lib/fatal-signal.h: Likewise.
55088         * lib/fbufmode.c: Likewise.
55089         * lib/fbufmode.h: Likewise.
55090         * lib/fchdir.c: Likewise.
55091         * lib/fchmodat.c: Likewise.
55092         * lib/fchownat.c: Likewise.
55093         * lib/fcntl--.h: Likewise.
55094         * lib/fcntl-safer.h: Likewise.
55095         * lib/fcntl.in.h: Likewise.
55096         * lib/fd-safer.c: Likewise.
55097         * lib/fflush.c: Likewise.
55098         * lib/file-has-acl.c: Likewise.
55099         * lib/file-set.c: Likewise.
55100         * lib/file-type.c: Likewise.
55101         * lib/file-type.h: Likewise.
55102         * lib/fileblocks.c: Likewise.
55103         * lib/filemode.c: Likewise.
55104         * lib/filemode.h: Likewise.
55105         * lib/filename.h: Likewise.
55106         * lib/filenamecat.c: Likewise.
55107         * lib/filenamecat.h: Likewise.
55108         * lib/findprog.c: Likewise.
55109         * lib/findprog.h: Likewise.
55110         * lib/float.in.h: Likewise.
55111         * lib/floor.c: Likewise.
55112         * lib/floorf.c: Likewise.
55113         * lib/floorl.c: Likewise.
55114         * lib/fopen-safer.c: Likewise.
55115         * lib/fopen.c: Likewise.
55116         * lib/fpending.c: Likewise.
55117         * lib/fpending.h: Likewise.
55118         * lib/fprintf.c: Likewise.
55119         * lib/fprintftime.h: Likewise.
55120         * lib/fpucw.h: Likewise.
55121         * lib/fpurge.c: Likewise.
55122         * lib/fpurge.h: Likewise.
55123         * lib/freadable.c: Likewise.
55124         * lib/freadable.h: Likewise.
55125         * lib/freadahead.c: Likewise.
55126         * lib/freadahead.h: Likewise.
55127         * lib/freading.c: Likewise.
55128         * lib/freading.h: Likewise.
55129         * lib/free.c: Likewise.
55130         * lib/freopen.c: Likewise.
55131         * lib/frexp.c: Likewise.
55132         * lib/frexpl.c: Likewise.
55133         * lib/fseek.c: Likewise.
55134         * lib/fseterr.c: Likewise.
55135         * lib/fseterr.h: Likewise.
55136         * lib/fstatat.c: Likewise.
55137         * lib/fstrcmp.c: Likewise.
55138         * lib/fstrcmp.h: Likewise.
55139         * lib/fsusage.c: Likewise.
55140         * lib/fsusage.h: Likewise.
55141         * lib/ftell.c: Likewise.
55142         * lib/ftello.c: Likewise.
55143         * lib/fts-cycle.c: Likewise.
55144         * lib/fts.c: Likewise.
55145         * lib/fts_.h: Likewise.
55146         * lib/full-read.c: Likewise.
55147         * lib/full-read.h: Likewise.
55148         * lib/full-write.c: Likewise.
55149         * lib/full-write.h: Likewise.
55150         * lib/fwritable.c: Likewise.
55151         * lib/fwritable.h: Likewise.
55152         * lib/fwriteerror.c: Likewise.
55153         * lib/fwriteerror.h: Likewise.
55154         * lib/fwriting.c: Likewise.
55155         * lib/fwriting.h: Likewise.
55156         * lib/gcd.c: Likewise.
55157         * lib/gcd.h: Likewise.
55158         * lib/getcwd.c: Likewise.
55159         * lib/getdate.h: Likewise.
55160         * lib/getdate.y: Likewise.
55161         * lib/getdomainname.c: Likewise.
55162         * lib/getdomainname.h: Likewise.
55163         * lib/getgroups.c: Likewise.
55164         * lib/gethostname.c: Likewise.
55165         * lib/gethrxtime.c: Likewise.
55166         * lib/gethrxtime.h: Likewise.
55167         * lib/getloadavg.c: Likewise.
55168         * lib/getndelim2.c: Likewise.
55169         * lib/getndelim2.h: Likewise.
55170         * lib/getnline.c: Likewise.
55171         * lib/getnline.h: Likewise.
55172         * lib/getopt.c: Likewise.
55173         * lib/getopt.in.h: Likewise.
55174         * lib/getopt1.c: Likewise.
55175         * lib/getopt_int.h: Likewise.
55176         * lib/getpagesize.h: Likewise.
55177         * lib/getsubopt.c: Likewise.
55178         * lib/gettime.c: Likewise.
55179         * lib/getugroups.c: Likewise.
55180         * lib/getugroups.h: Likewise.
55181         * lib/getusershell.c: Likewise.
55182         * lib/gl_anyavltree_list1.h: Likewise.
55183         * lib/gl_anyavltree_list2.h: Likewise.
55184         * lib/gl_anyhash_list1.h: Likewise.
55185         * lib/gl_anyhash_list2.h: Likewise.
55186         * lib/gl_anylinked_list1.h: Likewise.
55187         * lib/gl_anylinked_list2.h: Likewise.
55188         * lib/gl_anyrbtree_list1.h: Likewise.
55189         * lib/gl_anyrbtree_list2.h: Likewise.
55190         * lib/gl_anytree_list1.h: Likewise.
55191         * lib/gl_anytree_list2.h: Likewise.
55192         * lib/gl_anytree_oset.h: Likewise.
55193         * lib/gl_anytreehash_list1.h: Likewise.
55194         * lib/gl_anytreehash_list2.h: Likewise.
55195         * lib/gl_array_list.c: Likewise.
55196         * lib/gl_array_list.h: Likewise.
55197         * lib/gl_array_oset.c: Likewise.
55198         * lib/gl_array_oset.h: Likewise.
55199         * lib/gl_avltree_list.c: Likewise.
55200         * lib/gl_avltree_list.h: Likewise.
55201         * lib/gl_avltree_oset.c: Likewise.
55202         * lib/gl_avltree_oset.h: Likewise.
55203         * lib/gl_avltreehash_list.c: Likewise.
55204         * lib/gl_avltreehash_list.h: Likewise.
55205         * lib/gl_carray_list.c: Likewise.
55206         * lib/gl_carray_list.h: Likewise.
55207         * lib/gl_linked_list.c: Likewise.
55208         * lib/gl_linked_list.h: Likewise.
55209         * lib/gl_linkedhash_list.c: Likewise.
55210         * lib/gl_linkedhash_list.h: Likewise.
55211         * lib/gl_list.c: Likewise.
55212         * lib/gl_list.h: Likewise.
55213         * lib/gl_oset.c: Likewise.
55214         * lib/gl_oset.h: Likewise.
55215         * lib/gl_rbtree_list.c: Likewise.
55216         * lib/gl_rbtree_list.h: Likewise.
55217         * lib/gl_rbtree_oset.c: Likewise.
55218         * lib/gl_rbtree_oset.h: Likewise.
55219         * lib/gl_rbtreehash_list.c: Likewise.
55220         * lib/gl_rbtreehash_list.h: Likewise.
55221         * lib/gl_sublist.c: Likewise.
55222         * lib/gl_sublist.h: Likewise.
55223         * lib/group-member.c: Likewise.
55224         * lib/group-member.h: Likewise.
55225         * lib/hard-locale.c: Likewise.
55226         * lib/hard-locale.h: Likewise.
55227         * lib/hash-pjw.c: Likewise.
55228         * lib/hash-pjw.h: Likewise.
55229         * lib/hash-triple.c: Likewise.
55230         * lib/hash.c: Likewise.
55231         * lib/hash.h: Likewise.
55232         * lib/human.c: Likewise.
55233         * lib/human.h: Likewise.
55234         * lib/i-ring.c: Likewise.
55235         * lib/i-ring.h: Likewise.
55236         * lib/idcache.c: Likewise.
55237         * lib/imaxabs.c: Likewise.
55238         * lib/imaxdiv.c: Likewise.
55239         * lib/inet_pton.c: Likewise.
55240         * lib/inet_pton.h: Likewise.
55241         * lib/intprops.h: Likewise.
55242         * lib/inttostr.c: Likewise.
55243         * lib/inttostr.h: Likewise.
55244         * lib/inttypes.in.h: Likewise.
55245         * lib/isapipe.c: Likewise.
55246         * lib/isdir.c: Likewise.
55247         * lib/isnan.c: Likewise.
55248         * lib/isnan.h: Likewise.
55249         * lib/isnanf.c: Likewise.
55250         * lib/isnanf.h: Likewise.
55251         * lib/isnanl-nolibm.h: Likewise.
55252         * lib/isnanl.c: Likewise.
55253         * lib/isnanl.h: Likewise.
55254         * lib/javacomp.c: Likewise.
55255         * lib/javacomp.h: Likewise.
55256         * lib/javaexec.c: Likewise.
55257         * lib/javaexec.h: Likewise.
55258         * lib/javaversion.c: Likewise.
55259         * lib/javaversion.h: Likewise.
55260         * lib/javaversion.java: Likewise.
55261         * lib/lbrkprop.h: Likewise.
55262         * lib/lchmod.h: Likewise.
55263         * lib/lchown.c: Likewise.
55264         * lib/ldexpl.c: Likewise.
55265         * lib/linebreak.c: Likewise.
55266         * lib/linebreak.h: Likewise.
55267         * lib/linebuffer.c: Likewise.
55268         * lib/linebuffer.h: Likewise.
55269         * lib/locale.in.h: Likewise.
55270         * lib/logl.c: Likewise.
55271         * lib/long-options.c: Likewise.
55272         * lib/long-options.h: Likewise.
55273         * lib/lstat.c: Likewise.
55274         * lib/lstat.h: Likewise.
55275         * lib/math.in.h: Likewise.
55276         * lib/mbchar.c: Likewise.
55277         * lib/mbchar.h: Likewise.
55278         * lib/mbfile.h: Likewise.
55279         * lib/mbiter.h: Likewise.
55280         * lib/mbscasecmp.c: Likewise.
55281         * lib/mbscasestr.c: Likewise.
55282         * lib/mbschr.c: Likewise.
55283         * lib/mbscspn.c: Likewise.
55284         * lib/mbslen.c: Likewise.
55285         * lib/mbsncasecmp.c: Likewise.
55286         * lib/mbsnlen.c: Likewise.
55287         * lib/mbspbrk.c: Likewise.
55288         * lib/mbspcasecmp.c: Likewise.
55289         * lib/mbsrchr.c: Likewise.
55290         * lib/mbssep.c: Likewise.
55291         * lib/mbsspn.c: Likewise.
55292         * lib/mbsstr.c: Likewise.
55293         * lib/mbstok_r.c: Likewise.
55294         * lib/mbswidth.c: Likewise.
55295         * lib/mbswidth.h: Likewise.
55296         * lib/mbuiter.h: Likewise.
55297         * lib/memcasecmp.c: Likewise.
55298         * lib/memcasecmp.h: Likewise.
55299         * lib/memchr.c: Likewise.
55300         * lib/memcmp.c: Likewise.
55301         * lib/memcoll.c: Likewise.
55302         * lib/memcoll.h: Likewise.
55303         * lib/memcpy.c: Likewise.
55304         * lib/memrchr.c: Likewise.
55305         * lib/mkancesdirs.c: Likewise.
55306         * lib/mkdir-p.c: Likewise.
55307         * lib/mkdir-p.h: Likewise.
55308         * lib/mkdir.c: Likewise.
55309         * lib/mkdirat.c: Likewise.
55310         * lib/mkdtemp.c: Likewise.
55311         * lib/mkstemp-safer.c: Likewise.
55312         * lib/mkstemp.c: Likewise.
55313         * lib/modechange.c: Likewise.
55314         * lib/modechange.h: Likewise.
55315         * lib/mountlist.c: Likewise.
55316         * lib/mountlist.h: Likewise.
55317         * lib/mpsort.c: Likewise.
55318         * lib/nanosleep.c: Likewise.
55319         * lib/obstack.c: Likewise.
55320         * lib/obstack.h: Likewise.
55321         * lib/open-safer.c: Likewise.
55322         * lib/open.c: Likewise.
55323         * lib/openat-die.c: Likewise.
55324         * lib/openat-priv.h: Likewise.
55325         * lib/openat-proc.c: Likewise.
55326         * lib/openat.c: Likewise.
55327         * lib/openat.h: Likewise.
55328         * lib/pagealign_alloc.c: Likewise.
55329         * lib/pagealign_alloc.h: Likewise.
55330         * lib/physmem.c: Likewise.
55331         * lib/physmem.h: Likewise.
55332         * lib/pipe-safer.c: Likewise.
55333         * lib/pipe.c: Likewise.
55334         * lib/pipe.h: Likewise.
55335         * lib/posixtm.c: Likewise.
55336         * lib/posixtm.h: Likewise.
55337         * lib/posixver.c: Likewise.
55338         * lib/printf-frexp.c: Likewise.
55339         * lib/printf-frexp.h: Likewise.
55340         * lib/printf-frexpl.c: Likewise.
55341         * lib/printf-frexpl.h: Likewise.
55342         * lib/printf.c: Likewise.
55343         * lib/progname.c: Likewise.
55344         * lib/progname.h: Likewise.
55345         * lib/progreloc.c: Likewise.
55346         * lib/putenv.c: Likewise.
55347         * lib/quote.c: Likewise.
55348         * lib/quote.h: Likewise.
55349         * lib/quotearg.c: Likewise.
55350         * lib/quotearg.h: Likewise.
55351         * lib/raise.c: Likewise.
55352         * lib/readline.c: Likewise.
55353         * lib/readline.h: Likewise.
55354         * lib/readlink.c: Likewise.
55355         * lib/readtokens.c: Likewise.
55356         * lib/readtokens.h: Likewise.
55357         * lib/readtokens0.c: Likewise.
55358         * lib/readtokens0.h: Likewise.
55359         * lib/readutmp.c: Likewise.
55360         * lib/readutmp.h: Likewise.
55361         * lib/realloc.c: Likewise.
55362         * lib/relocwrapper.c: Likewise.
55363         * lib/rename-dest-slash.c: Likewise.
55364         * lib/rename.c: Likewise.
55365         * lib/rmdir.c: Likewise.
55366         * lib/rpmatch.c: Likewise.
55367         * lib/safe-read.c: Likewise.
55368         * lib/safe-read.h: Likewise.
55369         * lib/safe-write.c: Likewise.
55370         * lib/safe-write.h: Likewise.
55371         * lib/same-inode.h: Likewise.
55372         * lib/same.c: Likewise.
55373         * lib/same.h: Likewise.
55374         * lib/save-cwd.c: Likewise.
55375         * lib/save-cwd.h: Likewise.
55376         * lib/savedir.c: Likewise.
55377         * lib/savedir.h: Likewise.
55378         * lib/savewd.c: Likewise.
55379         * lib/savewd.h: Likewise.
55380         * lib/search.in.h: Likewise.
55381         * lib/setenv.c: Likewise.
55382         * lib/setenv.h: Likewise.
55383         * lib/settime.c: Likewise.
55384         * lib/sh-quote.c: Likewise.
55385         * lib/sh-quote.h: Likewise.
55386         * lib/sig2str.c: Likewise.
55387         * lib/sig2str.h: Likewise.
55388         * lib/signal.in.h: Likewise.
55389         * lib/signbitd.c: Likewise.
55390         * lib/signbitf.c: Likewise.
55391         * lib/signbitl.c: Likewise.
55392         * lib/sigprocmask.c: Likewise.
55393         * lib/sincosl.c: Likewise.
55394         * lib/sleep.c: Likewise.
55395         * lib/sprintf.c: Likewise.
55396         * lib/sqrtl.c: Likewise.
55397         * lib/stat-time.h: Likewise.
55398         * lib/stdio--.h: Likewise.
55399         * lib/stdio-safer.h: Likewise.
55400         * lib/stdlib--.h: Likewise.
55401         * lib/stdlib-safer.h: Likewise.
55402         * lib/stdlib.in.h: Likewise.
55403         * lib/stpcpy.c: Likewise.
55404         * lib/stpncpy.c: Likewise.
55405         * lib/strchrnul.c: Likewise.
55406         * lib/strcspn.c: Likewise.
55407         * lib/strerror.c: Likewise.
55408         * lib/strftime.c: Likewise.
55409         * lib/strftime.h: Likewise.
55410         * lib/striconveh.c: Likewise.
55411         * lib/striconveh.h: Likewise.
55412         * lib/striconveha.c: Likewise.
55413         * lib/striconveha.h: Likewise.
55414         * lib/stripslash.c: Likewise.
55415         * lib/strnlen1.c: Likewise.
55416         * lib/strnlen1.h: Likewise.
55417         * lib/strtod.c: Likewise.
55418         * lib/strtoimax.c: Likewise.
55419         * lib/strtok_r.c: Likewise.
55420         * lib/strtol.c: Likewise.
55421         * lib/strtoll.c: Likewise.
55422         * lib/strtoul.c: Likewise.
55423         * lib/strtoull.c: Likewise.
55424         * lib/sysexits.in.h: Likewise.
55425         * lib/tempname.c: Likewise.
55426         * lib/tempname.h: Likewise.
55427         * lib/timespec.h: Likewise.
55428         * lib/tls.c: Likewise.
55429         * lib/tls.h: Likewise.
55430         * lib/tmpdir.c: Likewise.
55431         * lib/tmpdir.h: Likewise.
55432         * lib/tmpfile-safer.c: Likewise.
55433         * lib/tmpfile.c: Likewise.
55434         * lib/trigl.c: Likewise.
55435         * lib/trigl.h: Likewise.
55436         * lib/trim.c: Likewise.
55437         * lib/trim.h: Likewise.
55438         * lib/trunc.c: Likewise.
55439         * lib/truncf.c: Likewise.
55440         * lib/truncl.c: Likewise.
55441         * lib/tsearch.c: Likewise.
55442         * lib/unicodeio.c: Likewise.
55443         * lib/unicodeio.h: Likewise.
55444         * lib/unistd--.h: Likewise.
55445         * lib/unistd-safer.h: Likewise.
55446         * lib/unistdio/ulc-fprintf.c: Likewise.
55447         * lib/unistdio/ulc-vfprintf.c: Likewise.
55448         * lib/unlinkdir.c: Likewise.
55449         * lib/unlinkdir.h: Likewise.
55450         * lib/unlocked-io.h: Likewise.
55451         * lib/unsetenv.c: Likewise.
55452         * lib/userspec.c: Likewise.
55453         * lib/utime.c: Likewise.
55454         * lib/utimecmp.c: Likewise.
55455         * lib/utimecmp.h: Likewise.
55456         * lib/utimens.c: Likewise.
55457         * lib/verify.h: Likewise.
55458         * lib/verror.c: Likewise.
55459         * lib/verror.h: Likewise.
55460         * lib/version-etc-fsf.c: Likewise.
55461         * lib/version-etc.c: Likewise.
55462         * lib/version-etc.h: Likewise.
55463         * lib/vfprintf.c: Likewise.
55464         * lib/vprintf.c: Likewise.
55465         * lib/vsprintf.c: Likewise.
55466         * lib/w32spawn.h: Likewise.
55467         * lib/wait-process.c: Likewise.
55468         * lib/wait-process.h: Likewise.
55469         * lib/wcwidth.c: Likewise.
55470         * lib/write-any-file.c: Likewise.
55471         * lib/xalloc-die.c: Likewise.
55472         * lib/xalloc.h: Likewise.
55473         * lib/xasprintf.c: Likewise.
55474         * lib/xgetcwd.c: Likewise.
55475         * lib/xgetcwd.h: Likewise.
55476         * lib/xgetdomainname.c: Likewise.
55477         * lib/xgetdomainname.h: Likewise.
55478         * lib/xgethostname.c: Likewise.
55479         * lib/xmalloc.c: Likewise.
55480         * lib/xmalloca.c: Likewise.
55481         * lib/xmalloca.h: Likewise.
55482         * lib/xmemcoll.c: Likewise.
55483         * lib/xnanosleep.c: Likewise.
55484         * lib/xreadlink.c: Likewise.
55485         * lib/xreadlink.h: Likewise.
55486         * lib/xsetenv.c: Likewise.
55487         * lib/xsetenv.h: Likewise.
55488         * lib/xstriconv.c: Likewise.
55489         * lib/xstriconv.h: Likewise.
55490         * lib/xstrndup.c: Likewise.
55491         * lib/xstrndup.h: Likewise.
55492         * lib/xstrtod.c: Likewise.
55493         * lib/xstrtod.h: Likewise.
55494         * lib/xstrtol-error.c: Likewise.
55495         * lib/xstrtol.c: Likewise.
55496         * lib/xstrtol.h: Likewise.
55497         * lib/xtime.h: Likewise.
55498         * lib/xvasprintf.c: Likewise.
55499         * lib/xvasprintf.h: Likewise.
55500         * lib/yesno.c: Likewise.
55501         * lib/yesno.h: Likewise.
55502         * posix-modules: Likewise.
55503         * tests/test-alloca-opt.c: Likewise.
55504         * tests/test-arcfour.c: Likewise.
55505         * tests/test-arctwo.c: Likewise.
55506         * tests/test-argmatch.c: Likewise.
55507         * tests/test-argp-2.sh: Likewise.
55508         * tests/test-argp.c: Likewise.
55509         * tests/test-arpa_inet.c: Likewise.
55510         * tests/test-array_list.c: Likewise.
55511         * tests/test-array_oset.c: Likewise.
55512         * tests/test-atexit.c: Likewise.
55513         * tests/test-avltree_list.c: Likewise.
55514         * tests/test-avltree_oset.c: Likewise.
55515         * tests/test-avltreehash_list.c: Likewise.
55516         * tests/test-base64.c: Likewise.
55517         * tests/test-binary-io.c: Likewise.
55518         * tests/test-byteswap.c: Likewise.
55519         * tests/test-c-ctype.c: Likewise.
55520         * tests/test-c-strcasecmp.c: Likewise.
55521         * tests/test-c-strcasestr.c: Likewise.
55522         * tests/test-c-strncasecmp.c: Likewise.
55523         * tests/test-c-strstr.c: Likewise.
55524         * tests/test-canonicalize-lgpl.c: Likewise.
55525         * tests/test-canonicalize.c: Likewise.
55526         * tests/test-carray_list.c: Likewise.
55527         * tests/test-ceilf.c: Likewise.
55528         * tests/test-ceill.c: Likewise.
55529         * tests/test-count-one-bits.c: Likewise.
55530         * tests/test-crc.c: Likewise.
55531         * tests/test-dirname.c: Likewise.
55532         * tests/test-fbufmode.c: Likewise.
55533         * tests/test-fcntl.c: Likewise.
55534         * tests/test-fflush.c: Likewise.
55535         * tests/test-floorf.c: Likewise.
55536         * tests/test-floorl.c: Likewise.
55537         * tests/test-fopen.c: Likewise.
55538         * tests/test-fprintf-posix.c: Likewise.
55539         * tests/test-fprintf-posix.h: Likewise.
55540         * tests/test-fpurge.c: Likewise.
55541         * tests/test-freadable.c: Likewise.
55542         * tests/test-freadahead.c: Likewise.
55543         * tests/test-freading.c: Likewise.
55544         * tests/test-freopen.c: Likewise.
55545         * tests/test-frexp.c: Likewise.
55546         * tests/test-frexpl.c: Likewise.
55547         * tests/test-fseek.c: Likewise.
55548         * tests/test-fseeko.c: Likewise.
55549         * tests/test-fseterr.c: Likewise.
55550         * tests/test-fstrcmp.c: Likewise.
55551         * tests/test-ftell.c: Likewise.
55552         * tests/test-ftello.c: Likewise.
55553         * tests/test-fwritable.c: Likewise.
55554         * tests/test-fwriting.c: Likewise.
55555         * tests/test-getaddrinfo.c: Likewise.
55556         * tests/test-getpass.c: Likewise.
55557         * tests/test-gettimeofday.c: Likewise.
55558         * tests/test-hmac-md5.c: Likewise.
55559         * tests/test-hmac-sha1.c: Likewise.
55560         * tests/test-iconv.c: Likewise.
55561         * tests/test-iconvme.c: Likewise.
55562         * tests/test-inttypes.c: Likewise.
55563         * tests/test-isnan.c: Likewise.
55564         * tests/test-isnanf.c: Likewise.
55565         * tests/test-isnanl-nolibm.c: Likewise.
55566         * tests/test-isnanl.c: Likewise.
55567         * tests/test-isnanl.h: Likewise.
55568         * tests/test-ldexpl.c: Likewise.
55569         * tests/test-linked_list.c: Likewise.
55570         * tests/test-linkedhash_list.c: Likewise.
55571         * tests/test-locale.c: Likewise.
55572         * tests/test-localename.c: Likewise.
55573         * tests/test-lock.c: Likewise.
55574         * tests/test-lseek.c: Likewise.
55575         * tests/test-malloca.c: Likewise.
55576         * tests/test-math.c: Likewise.
55577         * tests/test-mbscasecmp.c: Likewise.
55578         * tests/test-mbscasestr1.c: Likewise.
55579         * tests/test-mbscasestr2.c: Likewise.
55580         * tests/test-mbscasestr3.c: Likewise.
55581         * tests/test-mbscasestr4.c: Likewise.
55582         * tests/test-mbschr.c: Likewise.
55583         * tests/test-mbscspn.c: Likewise.
55584         * tests/test-mbsncasecmp.c: Likewise.
55585         * tests/test-mbspbrk.c: Likewise.
55586         * tests/test-mbspcasecmp.c: Likewise.
55587         * tests/test-mbsrchr.c: Likewise.
55588         * tests/test-mbsspn.c: Likewise.
55589         * tests/test-mbsstr1.c: Likewise.
55590         * tests/test-mbsstr2.c: Likewise.
55591         * tests/test-mbsstr3.c: Likewise.
55592         * tests/test-md5.c: Likewise.
55593         * tests/test-memmem.c: Likewise.
55594         * tests/test-netinet_in.c: Likewise.
55595         * tests/test-open.c: Likewise.
55596         * tests/test-printf-frexp.c: Likewise.
55597         * tests/test-printf-frexpl.c: Likewise.
55598         * tests/test-printf-posix.c: Likewise.
55599         * tests/test-printf-posix.h: Likewise.
55600         * tests/test-rbtree_list.c: Likewise.
55601         * tests/test-rbtree_oset.c: Likewise.
55602         * tests/test-rbtreehash_list.c: Likewise.
55603         * tests/test-read-file.c: Likewise.
55604         * tests/test-rijndael.c: Likewise.
55605         * tests/test-search.c: Likewise.
55606         * tests/test-signbit.c: Likewise.
55607         * tests/test-sleep.c: Likewise.
55608         * tests/test-snprintf-posix.c: Likewise.
55609         * tests/test-snprintf-posix.h: Likewise.
55610         * tests/test-snprintf.c: Likewise.
55611         * tests/test-sprintf-posix.c: Likewise.
55612         * tests/test-sprintf-posix.h: Likewise.
55613         * tests/test-stat-time.c: Likewise.
55614         * tests/test-stdbool.c: Likewise.
55615         * tests/test-stdint.c: Likewise.
55616         * tests/test-stdio.c: Likewise.
55617         * tests/test-stdlib.c: Likewise.
55618         * tests/test-stpncpy.c: Likewise.
55619         * tests/test-strcasestr.c: Likewise.
55620         * tests/test-striconv.c: Likewise.
55621         * tests/test-striconveh.c: Likewise.
55622         * tests/test-striconveha.c: Likewise.
55623         * tests/test-string.c: Likewise.
55624         * tests/test-sys_select.c: Likewise.
55625         * tests/test-sys_socket.c: Likewise.
55626         * tests/test-sys_stat.c: Likewise.
55627         * tests/test-sys_time.c: Likewise.
55628         * tests/test-sysexits.c: Likewise.
55629         * tests/test-time.c: Likewise.
55630         * tests/test-tls.c: Likewise.
55631         * tests/test-trunc.c: Likewise.
55632         * tests/test-truncf.c: Likewise.
55633         * tests/test-truncl.c: Likewise.
55634         * tests/test-unistd.c: Likewise.
55635         * tests/test-vasnprintf-posix.c: Likewise.
55636         * tests/test-vasnprintf-posix2.c: Likewise.
55637         * tests/test-vasnprintf.c: Likewise.
55638         * tests/test-vasprintf-posix.c: Likewise.
55639         * tests/test-vasprintf.c: Likewise.
55640         * tests/test-verify.c: Likewise.
55641         * tests/test-vfprintf-posix.c: Likewise.
55642         * tests/test-vprintf-posix.c: Likewise.
55643         * tests/test-vsnprintf-posix.c: Likewise.
55644         * tests/test-vsnprintf.c: Likewise.
55645         * tests/test-vsprintf-posix.c: Likewise.
55646         * tests/test-wchar.c: Likewise.
55647         * tests/test-wctype.c: Likewise.
55648         * tests/test-wcwidth.c: Likewise.
55649         * tests/test-xstrtol.c: Likewise.
55650         * tests/test-xvasprintf.c: Likewise.
55651         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55652         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55653         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55654         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55655         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55656         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55657         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55658         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55659         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55660         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55661         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55662         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55663         * tests/uniname/test-uninames.c: Likewise.
55664         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55665         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55666         * tests/unistdio/test-u16-printf1.h: Likewise.
55667         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55668         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55669         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55670         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55671         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55672         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55673         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55674         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55675         * tests/unistdio/test-u32-printf1.h: Likewise.
55676         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55677         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55678         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55679         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55680         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55681         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55682         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55683         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55684         * tests/unistdio/test-u8-printf1.h: Likewise.
55685         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55686         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55687         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55688         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55689         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55690         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55691         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55692         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55693         * tests/unistdio/test-ulc-printf1.h: Likewise.
55694         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55695         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55696         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55697         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55698         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55699         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55700         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55701         * tests/uniwidth/test-u16-width.c: Likewise.
55702         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55703         * tests/uniwidth/test-u32-width.c: Likewise.
55704         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55705         * tests/uniwidth/test-u8-width.c: Likewise.
55706         * tests/uniwidth/test-uc_width.c: Likewise.
55707         * config/srclist-update: Likewise.
55708         (fixlicense): Update to GPLv3+.
55709
55710         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55711         * tests/test-tsearch.c: Change copyright notice.
55712
55713         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55714         * lib/c-strcaseeq.h: Change copyright notice.
55715         * lib/streq.h: Likewise.
55716         * lib/uniconv.h: Likewise.
55717         * lib/uniconv/u-conv-from-enc.h: Likewise.
55718         * lib/uniconv/u-conv-to-enc.h: Likewise.
55719         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55720         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55721         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55722         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55723         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55724         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55725         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55726         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55727         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55728         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55729         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55730         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55731         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55732         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55733         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55734         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55735         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55736         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55737         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55738         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55739         * lib/uniname.h: Likewise.
55740         * lib/uniname/uniname.c: Likewise.
55741         * lib/unistdio.h: Likewise.
55742         * lib/unistdio/u-asnprintf.h: Likewise.
55743         * lib/unistdio/u-asprintf.h: Likewise.
55744         * lib/unistdio/u-printf-args.c: Likewise.
55745         * lib/unistdio/u-printf-args.h: Likewise.
55746         * lib/unistdio/u-printf-parse.h: Likewise.
55747         * lib/unistdio/u-snprintf.h: Likewise.
55748         * lib/unistdio/u-sprintf.h: Likewise.
55749         * lib/unistdio/u-vasprintf.h: Likewise.
55750         * lib/unistdio/u-vsnprintf.h: Likewise.
55751         * lib/unistdio/u-vsprintf.h: Likewise.
55752         * lib/unistdio/u16-asnprintf.c: Likewise.
55753         * lib/unistdio/u16-asprintf.c: Likewise.
55754         * lib/unistdio/u16-printf-parse.c: Likewise.
55755         * lib/unistdio/u16-snprintf.c: Likewise.
55756         * lib/unistdio/u16-sprintf.c: Likewise.
55757         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55758         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55759         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55760         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55761         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55762         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55763         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55764         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55765         * lib/unistdio/u16-vasnprintf.c: Likewise.
55766         * lib/unistdio/u16-vasprintf.c: Likewise.
55767         * lib/unistdio/u16-vsnprintf.c: Likewise.
55768         * lib/unistdio/u16-vsprintf.c: Likewise.
55769         * lib/unistdio/u32-asnprintf.c: Likewise.
55770         * lib/unistdio/u32-asprintf.c: Likewise.
55771         * lib/unistdio/u32-printf-parse.c: Likewise.
55772         * lib/unistdio/u32-snprintf.c: Likewise.
55773         * lib/unistdio/u32-sprintf.c: Likewise.
55774         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55775         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55776         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55777         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55778         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55779         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55780         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55781         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55782         * lib/unistdio/u32-vasnprintf.c: Likewise.
55783         * lib/unistdio/u32-vasprintf.c: Likewise.
55784         * lib/unistdio/u32-vsnprintf.c: Likewise.
55785         * lib/unistdio/u32-vsprintf.c: Likewise.
55786         * lib/unistdio/u8-asnprintf.c: Likewise.
55787         * lib/unistdio/u8-asprintf.c: Likewise.
55788         * lib/unistdio/u8-printf-parse.c: Likewise.
55789         * lib/unistdio/u8-snprintf.c: Likewise.
55790         * lib/unistdio/u8-sprintf.c: Likewise.
55791         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55792         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55793         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55794         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55795         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55796         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55797         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55798         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55799         * lib/unistdio/u8-vasnprintf.c: Likewise.
55800         * lib/unistdio/u8-vasprintf.c: Likewise.
55801         * lib/unistdio/u8-vsnprintf.c: Likewise.
55802         * lib/unistdio/u8-vsprintf.c: Likewise.
55803         * lib/unistdio/ulc-asnprintf.c: Likewise.
55804         * lib/unistdio/ulc-asprintf.c: Likewise.
55805         * lib/unistdio/ulc-printf-parse.c: Likewise.
55806         * lib/unistdio/ulc-snprintf.c: Likewise.
55807         * lib/unistdio/ulc-sprintf.c: Likewise.
55808         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55809         * lib/unistdio/ulc-vasprintf.c: Likewise.
55810         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55811         * lib/unistdio/ulc-vsprintf.c: Likewise.
55812         * lib/unistr.h: Likewise.
55813         * lib/unistr/u-cpy-alloc.h: Likewise.
55814         * lib/unistr/u-cpy.h: Likewise.
55815         * lib/unistr/u-endswith.h: Likewise.
55816         * lib/unistr/u-move.h: Likewise.
55817         * lib/unistr/u-set.h: Likewise.
55818         * lib/unistr/u-startswith.h: Likewise.
55819         * lib/unistr/u-stpcpy.h: Likewise.
55820         * lib/unistr/u-stpncpy.h: Likewise.
55821         * lib/unistr/u-strcat.h: Likewise.
55822         * lib/unistr/u-strcpy.h: Likewise.
55823         * lib/unistr/u-strcspn.h: Likewise.
55824         * lib/unistr/u-strdup.h: Likewise.
55825         * lib/unistr/u-strlen.h: Likewise.
55826         * lib/unistr/u-strncat.h: Likewise.
55827         * lib/unistr/u-strncpy.h: Likewise.
55828         * lib/unistr/u-strnlen.h: Likewise.
55829         * lib/unistr/u-strpbrk.h: Likewise.
55830         * lib/unistr/u-strspn.h: Likewise.
55831         * lib/unistr/u-strstr.h: Likewise.
55832         * lib/unistr/u-strtok.h: Likewise.
55833         * lib/unistr/u16-check.c: Likewise.
55834         * lib/unistr/u16-chr.c: Likewise.
55835         * lib/unistr/u16-cmp.c: Likewise.
55836         * lib/unistr/u16-cpy-alloc.c: Likewise.
55837         * lib/unistr/u16-cpy.c: Likewise.
55838         * lib/unistr/u16-endswith.c: Likewise.
55839         * lib/unistr/u16-mblen.c: Likewise.
55840         * lib/unistr/u16-mbsnlen.c: Likewise.
55841         * lib/unistr/u16-mbtouc-aux.c: Likewise.
55842         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
55843         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
55844         * lib/unistr/u16-mbtouc.c: Likewise.
55845         * lib/unistr/u16-mbtoucr.c: Likewise.
55846         * lib/unistr/u16-move.c: Likewise.
55847         * lib/unistr/u16-next.c: Likewise.
55848         * lib/unistr/u16-prev.c: Likewise.
55849         * lib/unistr/u16-set.c: Likewise.
55850         * lib/unistr/u16-startswith.c: Likewise.
55851         * lib/unistr/u16-stpcpy.c: Likewise.
55852         * lib/unistr/u16-stpncpy.c: Likewise.
55853         * lib/unistr/u16-strcat.c: Likewise.
55854         * lib/unistr/u16-strchr.c: Likewise.
55855         * lib/unistr/u16-strcmp.c: Likewise.
55856         * lib/unistr/u16-strcpy.c: Likewise.
55857         * lib/unistr/u16-strcspn.c: Likewise.
55858         * lib/unistr/u16-strdup.c: Likewise.
55859         * lib/unistr/u16-strlen.c: Likewise.
55860         * lib/unistr/u16-strmblen.c: Likewise.
55861         * lib/unistr/u16-strmbtouc.c: Likewise.
55862         * lib/unistr/u16-strncat.c: Likewise.
55863         * lib/unistr/u16-strncmp.c: Likewise.
55864         * lib/unistr/u16-strncpy.c: Likewise.
55865         * lib/unistr/u16-strnlen.c: Likewise.
55866         * lib/unistr/u16-strpbrk.c: Likewise.
55867         * lib/unistr/u16-strrchr.c: Likewise.
55868         * lib/unistr/u16-strspn.c: Likewise.
55869         * lib/unistr/u16-strstr.c: Likewise.
55870         * lib/unistr/u16-strtok.c: Likewise.
55871         * lib/unistr/u16-to-u32.c: Likewise.
55872         * lib/unistr/u16-to-u8.c: Likewise.
55873         * lib/unistr/u16-uctomb-aux.c: Likewise.
55874         * lib/unistr/u16-uctomb.c: Likewise.
55875         * lib/unistr/u32-check.c: Likewise.
55876         * lib/unistr/u32-chr.c: Likewise.
55877         * lib/unistr/u32-cmp.c: Likewise.
55878         * lib/unistr/u32-cpy-alloc.c: Likewise.
55879         * lib/unistr/u32-cpy.c: Likewise.
55880         * lib/unistr/u32-endswith.c: Likewise.
55881         * lib/unistr/u32-mblen.c: Likewise.
55882         * lib/unistr/u32-mbsnlen.c: Likewise.
55883         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
55884         * lib/unistr/u32-mbtouc.c: Likewise.
55885         * lib/unistr/u32-mbtoucr.c: Likewise.
55886         * lib/unistr/u32-move.c: Likewise.
55887         * lib/unistr/u32-next.c: Likewise.
55888         * lib/unistr/u32-prev.c: Likewise.
55889         * lib/unistr/u32-set.c: Likewise.
55890         * lib/unistr/u32-startswith.c: Likewise.
55891         * lib/unistr/u32-stpcpy.c: Likewise.
55892         * lib/unistr/u32-stpncpy.c: Likewise.
55893         * lib/unistr/u32-strcat.c: Likewise.
55894         * lib/unistr/u32-strchr.c: Likewise.
55895         * lib/unistr/u32-strcmp.c: Likewise.
55896         * lib/unistr/u32-strcpy.c: Likewise.
55897         * lib/unistr/u32-strcspn.c: Likewise.
55898         * lib/unistr/u32-strdup.c: Likewise.
55899         * lib/unistr/u32-strlen.c: Likewise.
55900         * lib/unistr/u32-strmblen.c: Likewise.
55901         * lib/unistr/u32-strmbtouc.c: Likewise.
55902         * lib/unistr/u32-strncat.c: Likewise.
55903         * lib/unistr/u32-strncmp.c: Likewise.
55904         * lib/unistr/u32-strncpy.c: Likewise.
55905         * lib/unistr/u32-strnlen.c: Likewise.
55906         * lib/unistr/u32-strpbrk.c: Likewise.
55907         * lib/unistr/u32-strrchr.c: Likewise.
55908         * lib/unistr/u32-strspn.c: Likewise.
55909         * lib/unistr/u32-strstr.c: Likewise.
55910         * lib/unistr/u32-strtok.c: Likewise.
55911         * lib/unistr/u32-to-u16.c: Likewise.
55912         * lib/unistr/u32-to-u8.c: Likewise.
55913         * lib/unistr/u32-uctomb.c: Likewise.
55914         * lib/unistr/u8-check.c: Likewise.
55915         * lib/unistr/u8-chr.c: Likewise.
55916         * lib/unistr/u8-cmp.c: Likewise.
55917         * lib/unistr/u8-cpy-alloc.c: Likewise.
55918         * lib/unistr/u8-cpy.c: Likewise.
55919         * lib/unistr/u8-endswith.c: Likewise.
55920         * lib/unistr/u8-mblen.c: Likewise.
55921         * lib/unistr/u8-mbsnlen.c: Likewise.
55922         * lib/unistr/u8-mbtouc-aux.c: Likewise.
55923         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
55924         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
55925         * lib/unistr/u8-mbtouc.c: Likewise.
55926         * lib/unistr/u8-mbtoucr.c: Likewise.
55927         * lib/unistr/u8-move.c: Likewise.
55928         * lib/unistr/u8-next.c: Likewise.
55929         * lib/unistr/u8-prev.c: Likewise.
55930         * lib/unistr/u8-set.c: Likewise.
55931         * lib/unistr/u8-startswith.c: Likewise.
55932         * lib/unistr/u8-stpcpy.c: Likewise.
55933         * lib/unistr/u8-stpncpy.c: Likewise.
55934         * lib/unistr/u8-strcat.c: Likewise.
55935         * lib/unistr/u8-strchr.c: Likewise.
55936         * lib/unistr/u8-strcmp.c: Likewise.
55937         * lib/unistr/u8-strcpy.c: Likewise.
55938         * lib/unistr/u8-strcspn.c: Likewise.
55939         * lib/unistr/u8-strdup.c: Likewise.
55940         * lib/unistr/u8-strlen.c: Likewise.
55941         * lib/unistr/u8-strmblen.c: Likewise.
55942         * lib/unistr/u8-strmbtouc.c: Likewise.
55943         * lib/unistr/u8-strncat.c: Likewise.
55944         * lib/unistr/u8-strncmp.c: Likewise.
55945         * lib/unistr/u8-strncpy.c: Likewise.
55946         * lib/unistr/u8-strnlen.c: Likewise.
55947         * lib/unistr/u8-strpbrk.c: Likewise.
55948         * lib/unistr/u8-strrchr.c: Likewise.
55949         * lib/unistr/u8-strspn.c: Likewise.
55950         * lib/unistr/u8-strstr.c: Likewise.
55951         * lib/unistr/u8-strtok.c: Likewise.
55952         * lib/unistr/u8-to-u16.c: Likewise.
55953         * lib/unistr/u8-to-u32.c: Likewise.
55954         * lib/unistr/u8-uctomb-aux.c: Likewise.
55955         * lib/unistr/u8-uctomb.c: Likewise.
55956         * lib/unitypes.h: Likewise.
55957         * lib/uniwidth.h: Likewise.
55958         * lib/uniwidth/cjk.h: Likewise.
55959         * lib/uniwidth/u16-strwidth.c: Likewise.
55960         * lib/uniwidth/u16-width.c: Likewise.
55961         * lib/uniwidth/u32-strwidth.c: Likewise.
55962         * lib/uniwidth/u32-width.c: Likewise.
55963         * lib/uniwidth/u8-strwidth.c: Likewise.
55964         * lib/uniwidth/u8-width.c: Likewise.
55965         * lib/uniwidth/width.c: Likewise.
55966
55967 2007-10-07  Bruno Haible  <bruno@clisp.org>
55968
55969         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
55970         The file is still under LGPL (see modules/inttypes).
55971
55972 2007-10-06  Bruno Haible  <bruno@clisp.org>
55973
55974         * modules/trunc (Dependencies): Add 'extensions'.
55975         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
55976         Reported by Ben Pfaff <blp@gnu.org>.
55977
55978 2007-10-06  Bruno Haible  <bruno@clisp.org>
55979
55980         * modules/freopen-tests: New file.
55981         * tests/test-freopen.c: New file.
55982
55983         * modules/fopen-tests: New file.
55984         * tests/test-fopen.c: New file.
55985
55986         * modules/fopen: New file.
55987         * lib/fopen.c: New file.
55988         * m4/fopen.m4: New file.
55989         * modules/freopen: New file.
55990         * lib/freopen.c: New file.
55991         * m4/freopen.m4: New file.
55992         * lib/stdio.in.h (fopen, freopen): New declarations.
55993         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
55994         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55995         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
55996         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55997         * doc/functions/fopen.texi: Mention the 'fopen' module.
55998         * doc/functions/freopen.texi: Mention the 'freopen' module.
55999
56000 2007-10-06  Bruno Haible  <bruno@clisp.org>
56001
56002         * modules/open-tests: New file.
56003         * tests/test-open.c: New file.
56004
56005         * modules/open: New file.
56006         * lib/open.c: New file.
56007         * m4/open.m4: New file.
56008         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
56009         lib/open.c does.
56010         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
56011         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
56012         macros.
56013         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
56014         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
56015         REPLACE_OPEN.
56016         * doc/functions/open.texi: Mention the 'open' module.
56017
56018 2007-10-04  Bruno Haible  <bruno@clisp.org>
56019
56020         * modules/ceill-tests: New file.
56021         * tests/test-ceill.c: New file.
56022
56023         * modules/ceill: New file.
56024         * lib/ceill.c: Replace entire file.
56025         * m4/ceill.m4: New file.
56026         * lib/math.in.h (ceill): Replace declaration.
56027         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
56028         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
56029         * doc/functions/ceill.texi: Mention the 'ceill' module.
56030         * modules/mathl (Files): Remove lib/ceill.c.
56031         (Depends-on): Add ceill.
56032
56033 2007-10-04  Bruno Haible  <bruno@clisp.org>
56034
56035         * modules/ceilf-tests: New file.
56036         * tests/test-ceilf.c: New file.
56037
56038         * modules/ceilf: New file.
56039         * lib/ceil.c: New file.
56040         * lib/ceilf.c: New file.
56041         * m4/ceilf.m4: New file.
56042         * lib/math.in.h (ceilf): New declaration.
56043         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
56044         HAVE_DECL_CEILF.
56045         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
56046         HAVE_DECL_CEILF.
56047         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
56048
56049 2007-10-04  Bruno Haible  <bruno@clisp.org>
56050
56051         * modules/floorl-tests: New file.
56052         * tests/test-floorl.c: New file.
56053
56054         * modules/floorl: New file.
56055         * lib/floorl.c: Replace entire file.
56056         * m4/floorl.m4: New file.
56057         * lib/math.in.h (floorl): Replace declaration.
56058         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
56059         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
56060         * doc/functions/floorl.texi: Mention the 'floorl' module.
56061         * modules/mathl (Files): Remove lib/floorl.c.
56062         (Depends-on): Add floorl.
56063
56064 2007-10-04  Bruno Haible  <bruno@clisp.org>
56065
56066         * modules/floorf-tests: New file.
56067         * tests/test-floorf.c: New file.
56068
56069         * modules/floorf: New file.
56070         * lib/floor.c: New file.
56071         * lib/floorf.c: New file.
56072         * m4/floorf.m4: New file.
56073         * lib/math.in.h (floorf): New declaration.
56074         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
56075         HAVE_DECL_FLOORF.
56076         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
56077         HAVE_DECL_FLOORF.
56078         * doc/functions/floorf.texi: Mention the 'floorf' module.
56079
56080 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
56081             Bruno Haible  <bruno@clisp.org>
56082
56083         Advertise for the Git server instead of the CVS server.
56084         * doc/gnulib-intro.texi (Steady Development): Mention the Git
56085         repository instead of the CVS one.
56086         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
56087         about all VCS systems generically.
56088         * doc/gnulib.texi (Introduction): Capitalize `Git'.
56089
56090 2007-10-04  Bruno Haible  <bruno@clisp.org>
56091
56092         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
56093         means.
56094         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
56095
56096 2007-10-04  Bruno Haible  <bruno@clisp.org>
56097
56098         * modules/truncl-tests: New file.
56099         * tests/test-truncl.c: New file.
56100
56101         * modules/truncl: New file.
56102         * lib/truncl.c: New file.
56103         * m4/truncl.m4: New file.
56104         * lib/math.in.h (truncl): New declaration.
56105         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
56106         HAVE_DECL_TRUNCL.
56107         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
56108         HAVE_DECL_TRUNCL.
56109         * doc/functions/truncl.texi: Mention the 'truncl' module.
56110
56111 2007-10-04  Bruno Haible  <bruno@clisp.org>
56112
56113         * modules/truncf-tests: New file.
56114         * tests/test-truncf.c: New file.
56115
56116         * modules/truncf: New file.
56117         * lib/trunc.c: Make paramerizable through USE_* macros.
56118         * lib/truncf.c: New file.
56119         * m4/truncf.m4: New file.
56120         * lib/math.in.h (truncf): New declaration.
56121         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
56122         HAVE_DECL_TRUNCF.
56123         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
56124         HAVE_DECL_TRUNCF.
56125         * doc/functions/truncf.texi: Mention the 'truncf' module.
56126
56127 2007-10-03  Bruno Haible  <bruno@clisp.org>
56128
56129         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56130         augmentation also for tests modules.
56131         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
56132         * modules/atexit-tests (Makefile.am): Likewise.
56133         * modules/binary-io-tests (Makefile.am): Likewise.
56134         * modules/c-strcase-tests (Makefile.am): Likewise.
56135         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
56136         * modules/canonicalize-tests (Makefile.am): Likewise.
56137         * modules/closein-tests (Makefile.am): Likewise.
56138         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56139         * modules/freadahead-tests (Makefile.am): Likewise.
56140         * modules/fseek-tests (Makefile.am): Likewise.
56141         * modules/fseeko-tests (Makefile.am): Likewise.
56142         * modules/ftell-tests (Makefile.am): Likewise.
56143         * modules/ftello-tests (Makefile.am): Likewise.
56144         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
56145         * modules/isnanl-tests (Makefile.am): Likewise.
56146         * modules/lseek-tests (Makefile.am): Likewise.
56147         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56148         * modules/mbscasestr-tests (Makefile.am): Likewise.
56149         * modules/mbschr-tests (Makefile.am): Likewise.
56150         * modules/mbscspn-tests (Makefile.am): Likewise.
56151         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56152         * modules/mbspbrk-tests (Makefile.am): Likewise.
56153         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56154         * modules/mbsrchr-tests (Makefile.am): Likewise.
56155         * modules/mbsspn-tests (Makefile.am): Likewise.
56156         * modules/mbsstr-tests (Makefile.am): Likewise.
56157         * modules/printf-posix-tests (Makefile.am): Likewise.
56158         * modules/snprintf-posix-tests (Makefile.am): Likewise.
56159         * modules/sprintf-posix-tests (Makefile.am): Likewise.
56160         * modules/tsearch-tests (Makefile.am): Likewise.
56161         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56162         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56163         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56164         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56165         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56166         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56167         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56168         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56169         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
56170         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
56171         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56172         * modules/xstrtol-tests (Makefile.am): Likewise.
56173         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56174         * modules/yesno-tests (Makefile.am): Likewise.
56175
56176 2007-10-03  Bruno Haible  <bruno@clisp.org>
56177
56178         * modules/trunc-tests: New file.
56179         * tests/test-trunc.c: New file.
56180
56181         * modules/trunc: New file.
56182         * lib/trunc.c: New file.
56183         * m4/trunc.m4: New file.
56184         * lib/math.in.h (trunc): New declaration.
56185         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
56186         HAVE_DECL_TRUNC.
56187         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
56188         HAVE_DECL_TRUNC.
56189         * doc/functions/trunc.texi: Mention the 'trunc' module.
56190
56191 2007-10-03  Bruno Haible  <bruno@clisp.org>
56192
56193         * tests/test-fpending.c: New file, mostly copied
56194         from coreutils/lib/t-fpending.c.
56195         * modules/fpending-tests: New file.
56196
56197 2007-10-03  Bruno Haible  <bruno@clisp.org>
56198
56199         Port the stdio extensions to QNX (untested).
56200         * lib/fseterr.c (fseterr): Add support for QNX.
56201         * lib/fbufmode.c (fbufmode): Likewise.
56202         * lib/freadable.c (freadable): Likewise.
56203         * lib/fwritable.c (fwritable): Likewise.
56204         * lib/freading.c (freading): Likewise.
56205         * lib/fwriting.c (fwriting): Likewise.
56206         * lib/freadahead.c (freadahed): Likewise.
56207         * lib/fpurge.c (fpurge): Likewise.
56208         * lib/fseeko.c (rpl_fseeko): Likewise.
56209
56210 2007-10-03  Bruno Haible  <bruno@clisp.org>
56211             Jim Meyering  <jim@meyering.net>
56212             Eric Blake  <ebb9@byu.net>
56213
56214         * doc/relocatable.texi: Use @command instead of @program.
56215
56216 2007-10-02  Jim Meyering  <jim@meyering.net>
56217
56218         Perform one more "_.h" -> ".in.h" substitution.
56219         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
56220         instead of unistd_.h here, too.
56221
56222 2007-10-01  Bruno Haible  <bruno@clisp.org>
56223
56224         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
56225         Needed for the alloca-opt module.
56226
56227 2007-09-30  Bruno Haible  <bruno@clisp.org>
56228
56229         * lib/alloca.in.h: Renamed from lib/alloca_.h.
56230         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
56231         alloca_.h.
56232         * lib/argz.in.h: Renamed from lib/argz_.h.
56233         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
56234         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
56235         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
56236         byteswap_.h.
56237         * lib/dirent.in.h: Renamed from lib/dirent_.h.
56238         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
56239         dirent_.h.
56240         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
56241         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
56242         fcntl_.h.
56243         * lib/float.in.h: Renamed from lib/float_.h.
56244         * modules/float (Files, Makefile.am): Use float.in.h instead of
56245         float_.h.
56246         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
56247         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
56248         fnmatch_.h.
56249         * lib/getopt.in.h: Renamed from lib/getopt_.h.
56250         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
56251         getopt_.h.
56252         * lib/glob.in.h: Renamed from lib/glob_.h.
56253         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
56254         * lib/iconv.in.h: Renamed from lib/iconv_.h.
56255         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
56256         iconv_.h.
56257         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
56258         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
56259         inttypes_.h.
56260         * lib/locale.in.h: Renamed from lib/locale_.h.
56261         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
56262         locale_.h.
56263         * lib/math.in.h: Renamed from lib/math_.h.
56264         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
56265         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
56266         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
56267         of netinet_in_.h. Add dependency.
56268         * lib/poll.in.h: Renamed from lib/poll_.h.
56269         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
56270         * lib/search.in.h: Renamed from lib/search_.h.
56271         * modules/search (Files, Makefile.am): Use search.in.h instead of
56272         search_.h.
56273         * lib/signal.in.h: Renamed from lib/signal_.h.
56274         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
56275         _signal.h.
56276         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
56277         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
56278         stdbool_.h.
56279         * lib/stdint.in.h: Renamed from lib/stdint_.h.
56280         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
56281         stdint_.h.
56282         * lib/stdio.in.h: Renamed from lib/stdio_.h.
56283         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
56284         stdio_.h.
56285         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
56286         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
56287         stdlib_.h.
56288         * lib/string.in.h: Renamed from lib/string_.h.
56289         * modules/string (Files, Makefile.am): Use string.in.h instead of
56290         string_.h.
56291         * doc/gnulib-tool.texi (Initial import): Update.
56292         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
56293         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
56294         of sys_select_.h. Add dependency.
56295         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
56296         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
56297         of sys_socket_.h.
56298         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
56299         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
56300         sys_stat_.h.
56301         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
56302         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
56303         sys_time_.h.
56304         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
56305         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
56306         sysexits_.h.
56307         * lib/time.in.h: Renamed from lib/time_.h.
56308         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
56309         * lib/unistd.in.h: Renamed from lib/unistd_.h.
56310         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
56311         unistd_.h.
56312         * lib/wchar.in.h: Renamed from lib/wchar_.h.
56313         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
56314         wchar_.h.
56315         * lib/wctype.in.h: Renamed from lib/wctype_.h.
56316         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
56317         wctype_.h.
56318         * build-aux/bootstrap (slurp): Update.
56319         * lib/.cppi-disable: Update.
56320
56321 2007-09-30  Bruno Haible  <bruno@clisp.org>
56322
56323         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
56324         Needed on BeOS.
56325
56326 2007-09-30  Bruno Haible  <bruno@clisp.org>
56327
56328         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
56329
56330 2007-09-29  Bruno Haible  <bruno@clisp.org>
56331
56332         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
56333
56334 2007-09-29  Bruno Haible  <bruno@clisp.org>
56335
56336         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
56337         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
56338         * build-aux/install-reloc: Compile also areadlink.c.
56339         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
56340
56341 2007-09-29  Bruno Haible  <bruno@clisp.org>
56342
56343         * gnulib-tool (func_emit_initmacro_done): Indentation.
56344
56345 2007-09-29  Bruno Haible  <bruno@clisp.org>
56346
56347         * README: Add CVS checkout update instructions.
56348         Info from Bob Proulx <bob@proulx.com>.
56349
56350 2007-09-28  Eric Blake  <ebb9@byu.net>
56351
56352         Provide move-if-change.
56353         * build-aux/move-if-change: New file, based on best practice
56354         rather than any canonical upstream location.
56355
56356 2007-09-28  Jim Meyering  <jim@meyering.net>
56357
56358         Fix canonicalize loop-detection corner case.
56359         Do not attempt to stat the symlink values stored via seen_triple.
56360         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
56361         on linux-2.6.18, (but not 2.6.22).
56362         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
56363         triple_compare.  The former compares dev,ino,filename, while the latter
56364         would actually stat dirname(filename) when dev and ino were equal.
56365         * lib/hash-triple.c: Install <string.h>.
56366         (STREQ): Define.
56367         (triple_compare_ino_str): New function.
56368         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
56369
56370 2007-09-28  Eric Blake  <ebb9@byu.net>
56371
56372         Enforce that AC_REPLACE_FUNCS files exist.
56373         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
56374         override check for typos.
56375
56376         Fix test-closein on Solaris 10.
56377         * tests/test-closein.c (main): Don't assume stdin can be inherited
56378         closed on all systems.
56379         * tests/test-closein.sh: Likewise.
56380         Reported by Piotr Tarnowski.
56381
56382 2007-09-28  Jim Meyering  <jim@meyering.net>
56383
56384         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
56385
56386 2007-09-27  Jim Meyering  <jim@meyering.net>
56387
56388         canonicalize: Avoid a false-positive cycle failure.
56389         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
56390         Sort.  Remove cycle-check.
56391         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
56392         not cycle-check.h.
56393         (seen_triple): New function.
56394         (canonicalize_filename_mode): Use it instead of cycle-check.
56395         * tests/test-canonicalize.c: Add a test for this bug.
56396         * tests/test-canonicalize.sh: Set up and run the test.
56397
56398         New module, file-set, from coreutils.
56399         * modules/file-set: Define it.
56400         * lib/file-set.c, lib/file-set.h: Implement.
56401
56402         New module, hash-triple, from coreutils.
56403         * modules/hash-triple: Define it.
56404         * lib/hash-triple.c, lib/hash-triple.h: Implement.
56405
56406 2007-09-25  Eric Blake  <ebb9@byu.net>
56407
56408         Fix strerror on Interix.
56409         * lib/string_.h (strerror): Declare replacement.
56410         * doc/functions/strerror.texi (strerror): Document the Interix
56411         shortcoming.
56412         * modules/string (Makefile.am): Support new hooks.
56413         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
56414         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
56415         gl_FUNC_STRERROR_SEPARATE.
56416         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
56417         * lib/strerror.c (rpl_strerror): Provide replacement.
56418         * modules/strerror (Depends-on): Add string.
56419         (configure.ac): Detect use of module.
56420         * tests/test-strerror.c: New file.
56421         * modules/strerror-tests: New test module.
56422         * modules/argp (Depends-on): Add strerror.
56423         * modules/error (Depends-on): Likewise.
56424         Reported by Martin Koeppe.
56425
56426 2007-09-24  Bruno Haible  <bruno@clisp.org>
56427
56428         * README: Update git instructions.
56429
56430 2007-09-24  Eric Blake  <ebb9@byu.net>
56431
56432         Revert fpending breakage from 2007-09-08.
56433         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56434         __fpending.c.
56435
56436 2007-09-24  Jim Meyering  <jim@meyering.net>
56437
56438         filenamecat.c: Add a test.
56439         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56440         showing how the function works when DIR is the empty string.
56441
56442 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56443
56444         * tests/test-canonicalize.sh: Turn on executable bit.
56445
56446 2007-09-19  Eric Blake  <ebb9@byu.net>
56447
56448         * README: Update CVS instructions.
56449
56450 2007-09-18  Bruno Haible  <bruno@clisp.org>
56451
56452         * modules/areadlink: New file.
56453         * lib/areadlink.h (areadlink): New declaration.
56454         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56455
56456 2007-09-17  Jim Meyering  <jim@meyering.net>
56457
56458         * lib/savewd.c (ESTALE) [!defined]: Define.
56459         Reported to be required on Interix by Martin Koeppe.
56460
56461 2007-09-17  Bruno Haible  <bruno@clisp.org>
56462
56463         * gnulib-tool (func_version): Use $version.
56464
56465 2007-09-16  Bruno Haible  <bruno@clisp.org>
56466
56467         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56468         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56469         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56470         Reported by Greg Schafer <gschafer@zip.com.au>.
56471
56472 2007-09-15  Bruno Haible  <bruno@clisp.org>
56473
56474         * gnulib-tool (sed): Try a little harder to make bash understand the
56475         alias.
56476         Reported by Bruce Korb <bruce.korb@gmail.com>.
56477
56478 2007-09-13  Eric Blake  <ebb9@byu.net>
56479
56480         * ChangeLog: Remove conflict markers.
56481
56482 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56483
56484         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56485         Reported by Bruno Haible <bruno@clisp.org>.
56486
56487 2007-09-12  Bruno Haible  <bruno@clisp.org>
56488
56489         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56490         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56491         is not defined.
56492
56493 2007-09-12  Eric Blake  <ebb9@byu.net>
56494
56495         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56496         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56497         Autoconf definition.
56498         * modules/euidaccess (Depends-on): Add extensions, for
56499         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56500         * modules/fnmatch (Depends-on): Likewise.
56501         * modules/getaddrinfo (Depends-on): Likewise.
56502         * modules/getdelim (Depends-on): Likewise.
56503         * modules/getline (Depends-on): Likewise.
56504         * modules/getsubopt (Depends-on): Likewise.
56505         * modules/gettext (Depends-on): Likewise.
56506         * modules/group-member (Depends-on): Likewise.
56507         * modules/mbchar (Depends-on): Likewise.
56508         * modules/memmem (Depends-on): Likewise.
56509         * modules/mempcpy (Depends-on): Likewise.
56510         * modules/memrchr (Depends-on): Likewise.
56511         * modules/pagealign_alloc (Depends-on): Likewise.
56512         * modules/readutmp (Depends-on): Likewise.
56513         * modules/stpcpy (Depends-on): Likewise.
56514         * modules/stpncpy (Depends-on): Likewise.
56515         * modules/strchrnul (Depends-on): Likewise.
56516         * modules/strndup (Depends-on): Likewise.
56517         * modules/strsep (Depends-on): Likewise.
56518         * modules/strverscmp (Depends-on): Likewise.
56519         * modules/vasprintf (Depends-on): Likewise.
56520         * modules/wcwidth (Depends-on): Likewise.
56521         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56522         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56523         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56524         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56525         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56526         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56527         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56528         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56529         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56530         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56531         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56532         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56533         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56534         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56535         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56536         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56537         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56538         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56539         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56540         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56541         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56542         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56543         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56544         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56545         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56546         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56547         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56548         so that lock.m4 can be used in gettext without extensions module.
56549
56550 2007-09-11  Bruno Haible  <bruno@clisp.org>
56551
56552         * m4/isc-posix.m4: Remove file.
56553         Suggested by Eric Blake.
56554
56555 2007-09-11  Eric Blake  <ebb9@byu.net>
56556
56557         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56558
56559 2007-09-10  Bruno Haible  <bruno@clisp.org>
56560
56561         * posix-modules: Fix typo in error message.
56562         Reported by Matt <mkraai@beckman.com>.
56563
56564 2007-09-09  Bruno Haible  <bruno@clisp.org>
56565
56566         * doc/functions/getdelim.texi: Update list of platforms lacking the
56567         function.
56568         * doc/functions/getline.texi: Likewise.
56569
56570 2007-09-09  Jim Meyering  <jim@meyering.net>
56571
56572         * lib/hash.c (hash_initialize): Detect calloc failure.
56573         Reported by Bruno Haible.
56574
56575 2007-09-09  Bruno Haible  <bruno@clisp.org>
56576
56577         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56578         malloc or realloc fails.
56579
56580 2007-09-09  Bruno Haible  <bruno@clisp.org>
56581
56582         * modules/getcwd (Depends-on): Add malloc-posix.
56583         * modules/glob (Depends-on): Likewise.
56584         * modules/putenv (Depends-on): Likewise.
56585         * modules/strdup (Depends-on): Likewise.
56586         * modules/getdelim (Depends-on): Add realloc-posix.
56587         * modules/read-file (Depends-on): Likewise.
56588
56589 2007-09-09  Bruno Haible  <bruno@clisp.org>
56590
56591         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56592         (gl_FUNC_MALLOC_POSIX): Require it.
56593         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56594         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56595         * modules/realloc (Files): Add m4/malloc.m4.
56596         * modules/calloc (Files): Likewise.
56597
56598 2007-09-09  Bruno Haible  <bruno@clisp.org>
56599
56600         * modules/malloc-posix: New file.
56601         * modules/malloc (Depends-on): Add malloc-posix.
56602         * lib/malloc.c: Include errno.h.
56603         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56604         and a POSIX-compatible malloc into a single function. Set ENOMEM
56605         when returning NULL.
56606         * m4/malloc.m4: New file.
56607         * doc/functions/malloc.texi: Mention the malloc-posix module.
56608         * lib/stdlib_.h (malloc): New declaration.
56609         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56610         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56611         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56612         and HAVE_MALLOC_POSIX.
56613
56614 2007-09-09  Bruno Haible  <bruno@clisp.org>
56615
56616         * modules/realloc-posix: New file.
56617         * modules/realloc (Depends-on): Add realloc-posix.
56618         * lib/realloc.c: Include errno.h.
56619         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56620         and a POSIX-compatible realloc into a single function. Set ENOMEM
56621         when returning NULL.
56622         * m4/realloc.m4: New file.
56623         * doc/functions/realloc.texi: Mention the realloc-posix module.
56624         * lib/stdlib_.h (realloc): New declaration.
56625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56626         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56627         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56628         and HAVE_REALLOC_POSIX.
56629
56630 2007-09-09  Bruno Haible  <bruno@clisp.org>
56631
56632         * modules/calloc-posix: New file.
56633         * modules/calloc (Depends-on): Add calloc-posix.
56634         * lib/calloc.c: Include errno.h.
56635         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56636         and a POSIX-compatible calloc into a single function. Set ENOMEM
56637         when returning NULL.
56638         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56639         * doc/functions/calloc.texi: Mention the calloc-posix module.
56640         * lib/stdlib_.h (calloc): New declaration.
56641         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56642         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56643         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56644         and HAVE_CALLOC_POSIX.
56645
56646 2007-09-09  Bruno Haible  <bruno@clisp.org>
56647
56648         Allow for modules to show an arbitrary notice.
56649         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56650         * gnulib-tool: New option --extract-notice.
56651         (func_usage): Document it.
56652         (sed_extract_prog): Update.
56653         (func_get_notice): New function.
56654         (func_modules_notice): New function.
56655         (func_import, func_create_testdir): Invoke it.
56656         Suggested by Jim Meyering.
56657
56658 2007-09-09  Bruno Haible  <bruno@clisp.org>
56659
56660         * gnulib-tool: New options --verbose, --quiet.
56661         (func_usage): Document them.
56662         (verbose): New variable.
56663         (func_execute_command): New function.
56664         (func_import): Don't show the module list and the file list if
56665         $verbose < 0.
56666         (func_create_testdir): Likewise. Use func_execute_command.
56667         (func_create_megatestdir): Use func_execute_command.
56668
56669 2007-09-08  Bruno Haible  <bruno@clisp.org>
56670
56671         * gnulib-tool (func_import): Prefer rsync over wget when available,
56672         for fetching the PO files.
56673
56674 2007-09-08  Bruno Haible  <bruno@clisp.org>
56675
56676         * posix-modules: New file. Portions copied from gnulib-tool.
56677         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56678
56679 2007-09-08  Jim Meyering  <jim@meyering.net>
56680
56681         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56682         * lib/fpending.h: Rename from __fpending.h.
56683         * lib/fpending.c: Rename from __fpending.c.
56684         Include "fpending.h", not "__fpending.h".
56685         * lib/__fpending.h, lib/__fpending.c: Remove files.
56686         * modules/fpending (Files): Reflect new file names.
56687         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56688
56689 2007-09-08  Bruno Haible  <bruno@clisp.org>
56690
56691         * m4/inttypes-h.m4: Remove stub file.
56692
56693 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56694
56695         * doc/headers/stdint.texi: Discuss #include_next issue.
56696
56697 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56698
56699         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56700
56701 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56702
56703         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56704         in variable name.
56705
56706 2007-09-03  Jim Meyering  <jim@meyering.net>
56707
56708         New module: git-version-gen.
56709         * modules/git-version-gen: New file.
56710
56711         Import changes from coreutils for bootstrap script.
56712
56713         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56714
56715         bootstrap: uses rsync to download the .po files
56716         * build-aux/bootstrap (po_download_command_format): New global.
56717         (download_po_files): Use rsync.
56718         (update_po_files): Don't remove .po files after download,
56719         so future rsync runs can take advantage of the copies.
56720
56721         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56722
56723         Solve the unnecessary-.po-file-regeneration problem once and for all.
56724         * build-aux/bootstrap (download_po_files): New function, renamed from
56725         get_translations.  Now, downloads, but doesn't update LINGUAS.
56726         (update_po_files): New function.
56727
56728         bootstrap: Ignore more.
56729         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56730         uniwidth to e.g., lib/.gitignore.
56731         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56732
56733         * build-aux/bootstrap: New setting: vc_ignore.
56734         (insert_sorted_if_absent): Create $file if absent.
56735         Adapt to new, possibly empty, list: $vc_ignore.
56736
56737         bootstrap: generate more ignorable names
56738         * build-aux/bootstrap (slurp): When generating ignorable names,
56739         also map .sin to .sed, .gperf to .c, and .y to .c.
56740
56741 2007-09-03  Jim Meyering  <jim@meyering.net>
56742
56743         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56744         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56745
56746 2007-09-02  Bruno Haible  <bruno@clisp.org>
56747
56748         Fix mis-recognition of 'mcs' on QNX 6.
56749         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56750         output contains the string "Mono".
56751         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56752         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56753
56754 2007-09-01  Bruno Haible  <bruno@clisp.org>
56755
56756         Fix collision between uniwidth/* and linebreak modules.
56757         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56758         u32_width): Remove declarations.
56759         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56760         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56761         streq3, streq2, streq1, streq0): Remove functions.
56762         (STREQ): Remove macro.
56763         (is_cjk_encoding): Remove function.
56764         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56765         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56766         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56767         * NEWS: Document the change.
56768
56769 2007-09-01  Bruno Haible  <bruno@clisp.org>
56770
56771         * lib/streq.h: Add double-inclusion guard.
56772
56773 2007-09-01  Karl Berry  <karl@gnu.org>
56774
56775         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56776
56777 2007-08-28  Jim Meyering  <jim@meyering.net>
56778
56779         Rename mreadlink_with_size to areadlink_with_size.
56780         * NEWS: Document the change.
56781         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56782         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56783         * lib/mreadlink.h: Rename this to...
56784         * lib/areadlink.h: ...this.
56785         * modules/mreadlink-with-size: Rename this to...
56786         * modules/areadlink-with-size: ...this.
56787         * lib/canonicalize.c: Reflect the renaming.
56788         * modules/canonicalize: Likewise.
56789
56790 2007-08-26  Bruno Haible  <bruno@clisp.org>
56791
56792         * gnulib-tool (func_import): When deciding which files to remove,
56793         consider also dangling symbolic links.
56794         Reported by Eric Blake.
56795
56796 2007-08-26  Bruno Haible  <bruno@clisp.org>
56797
56798         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56799
56800 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56801
56802         * lib/readline.c: Don't include getline.h, the prototype is now
56803         found in stdio.h.
56804
56805 2007-08-23  Jim Meyering  <jim@meyering.net>
56806
56807         Getdelim touchup.
56808         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56809         around the funlockfile call, since funlockfile never sets errno.
56810         Don't set errno upon failed realloc.
56811
56812 2007-08-22  Eric Blake  <ebb9@byu.net>
56813
56814         Getline touchups.
56815         * lib/getdelim.c (getdelim): Revert regression that required *n to
56816         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56817         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56818         getdelim, rather than whether implementation is missing.
56819         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56820         * lib/stdio_.h (getline): Also declare if replacement is
56821         required.
56822         * doc/functions/getdelim.texi: New file.
56823         * doc/functions/getline.texi: Likewise.
56824         * doc/gnulib.texi (Function Substitutes): Add new files.
56825         Reported by Bruno Haible.
56826
56827 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56828
56829         * users.txt: Add Guile.
56830
56831 2007-08-22  Eric Blake  <ebb9@byu.net>
56832
56833         * tests/test-getdelim.c (main): Use remove, not unlink.
56834         * tests/test-getline.c (main): Likewise.
56835
56836         Move getline and getdelim into stdio.h, per POSIX 200x.
56837         * modules/getline (Files): Remove getline.h.
56838         (Depends-on): Add stdio.
56839         (configure.ac): Add module indicator.
56840         * modules/getdelim (Files): Remove getdelim.h.
56841         (Depends-on): Add stdio.
56842         (configure.ac): Add module indicator.
56843         * modules/stdio (Makefile.am): Work with new indicators.
56844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
56845         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
56846         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56847         * lib/getdelim.h: Delete.
56848         * lib/getline.h: Delete.
56849         * lib/stdio_.h (getdelim, getline): Declare.
56850         * modules/getdelim-tests: New module.
56851         * modules/getline-tests: Likewise.
56852         * tests/test-getdelim.c: New file.
56853         * tests/test-getline.c: Likewise.
56854         * NEWS: Document the change.
56855         * lib/getline.c: Update choice of header.
56856         * lib/csharpcomp.c: Likewise.
56857         * lib/getpass.c: Likewise.
56858         * lib/javacomp.c: Likewise.
56859         * lib/javaversion.c: Likewise.
56860         * lib/yesno.c: Likewise.
56861         * lib/getdelim.c: Likewise.
56862         (getdelim): Set errno on failure, and avoid memory leak.
56863
56864 2007-08-19  Bruno Haible  <bruno@clisp.org>
56865
56866         * modules/closein (Depends-on): Add freadahead.
56867         * lib/closein.c: Include freadahead.h.
56868         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
56869         is zero.
56870
56871 2007-08-19  Bruno Haible  <bruno@clisp.org>
56872
56873         * modules/freadahead-tests: New file.
56874         * tests/test-freadahead.sh: New file.
56875         * tests/test-freadahead.c: New file.
56876
56877         * modules/freadahead: New file.
56878         * lib/freadahead.h: New file.
56879         * lib/freadahead.c: New file.
56880         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
56881         fbufmode, fpurge, freadable, fwritable.
56882
56883 2007-08-19  Eric Blake  <ebb9@byu.net>
56884
56885         Test yesno in combination with closein.
56886         * lib/yesno.c (yesno): Document use of stdin.
56887         * modules/yesno-tests (Files): New module.
56888         * tests/test-yesno.c (main): New file.
56889         * tests/test-yesno.sh: Likewise.
56890
56891 2007-08-19  Bruno Haible  <bruno@clisp.org>
56892
56893         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
56894         * lib/fseeko.c (rpl_fseeko): Likewise.
56895         * lib/fseterr.c (fseterr): Likewise.
56896
56897 2007-08-19  Bruno Haible  <bruno@clisp.org>
56898
56899         * tests/test-lseek.c (main): Disable a test for BeOS.
56900         * doc/functions/lseek.texi: Document the BeOS bug.
56901
56902 2007-08-19  Bruno Haible  <bruno@clisp.org>
56903             Eric Blake  <ebb9@byu.net>
56904
56905         * lib/lseek.c: Include <sys/stat.h>.
56906         (rpl_lseek): Add workaround code also for Unix platforms.
56907         Needed for BeOS.
56908         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
56909         * doc/functions/lseek.texi: Document BeOS definiency.
56910
56911 2007-08-18  Bruno Haible  <bruno@clisp.org>
56912
56913         * modules/fstrcmp-tests: New file.
56914         * tests/test-fstrcmp.c: New file.
56915
56916 2007-08-18  Bruno Haible  <bruno@clisp.org>
56917
56918         * modules/fstrcmp: New file, from GNU gettext with modifications.
56919         * lib/fstrcmp.h: New file, from GNU gettext.
56920         * lib/fstrcmp.c: New file, from GNU gettext.
56921         * MODULES.html.sh (String handling): Add fstrcmp.
56922
56923 2007-08-18  Bruno Haible  <bruno@clisp.org>
56924
56925         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
56926         'bool'.
56927         (diag, compareseq): Remove const from the ctxt argument.
56928         (USE_HEURISTIC): Undefine at the end.
56929
56930 2007-08-18  Jim Meyering  <jim@meyering.net>
56931
56932         New file: lib/idcache.h
56933         * NEWS: Mention the addition.
56934         * modules/idcache (Files): Add lib/idcache.h
56935         * lib/idcache.c: Include "idcache.h".
56936         Don't include <sys/types.h>.
56937         Add a FIXME comment.
56938         Move file-scoped "static" declarations to the top.
56939         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
56940
56941 2007-08-17  Bruno Haible  <bruno@clisp.org>
56942         and Paul Eggert  <eggert@cs.ucla.edu>
56943
56944         * MODULES.html.sh: Add diffseq.
56945         * modules/diffseq: New file.
56946         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
56947         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
56948
56949 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56950
56951         Import changes from coreutils for bootstrap script.
56952
56953         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
56954
56955         * build-aux/bootstrap (slurp): Work even in environments where
56956         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
56957         current code does not slurp files whose names start with ".", and
56958         this looks like it might be a troublesome area.
56959
56960         2007-07-11  Jim Meyering  <jim@meyering.net>
56961
56962         If there's a GPL vN copyright comment, require that N == 3.
56963
56964         2007-07-08  Jim Meyering  <jim@meyering.net>
56965
56966         Run the coreutils-specific code only if tests/Makefile.am.in exists.
56967         * build-aux/bootstrap (mam_template): Move definition out of loop.
56968
56969         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
56970
56971         * build-aux/bootstrap (symlink_to_dir): Rename function from
56972         symlink_to_gnulib.  Add a directory parameter.  Update all
56973         callers.
56974         (cp_mark_as_generated): Also check for -- and link to -- files in
56975         gl/.
56976
56977         2007-07-08  Jim Meyering  <jim@meyering.net>
56978
56979         Adapt to deeper hierarchy in gnulib.
56980         * build-aux/bootstrap (symlink_to_dir): If the destination
56981         directory doesn't exist, create it. This is required at least for
56982         "lib/uniwidth/cjk.h".
56983
56984         2007-05-15  Jim Meyering  <jim@meyering.net>
56985
56986         * build-aux/bootstrap: Now that generated Makefile.am files
56987         are no longer under version control, they must be created at
56988         bootstrap time.
56989
56990 2007-08-14  Ben Pfaff  <blp@gnu.org>
56991
56992         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
56993
56994 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56995
56996         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
56997         given the changes below.
56998         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
56999         even on hosts that have padding bits beyond the supported 64.
57000
57001 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57002
57003         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
57004         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
57005         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
57006         depends on it.
57007         (xstrtol_error): Remove.
57008         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
57009         but with a different signature.
57010         (ATTRIBUTE_NORETURN, __attribute__): New macros.
57011         * lib/xstrtol-error.c: Include exitfail.h.
57012         (xstrtol_fatal): New function, with a different signature from the
57013         old xstrtol_error, so that the caller need not worry about passing
57014         in an exit status, or about storage management of the option argument.
57015         (xstrtol_error): Now a static function.  Redo signature to
57016         implement xstrtol_fatal.  Output the correct number of hyphens in
57017         front of the option so that the caller need not worry about
57018         storage management.
57019         (N_): New macro.
57020         (_): Remove; not used now.
57021         * modules/xstrtol: Depend on getopt.
57022         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
57023         of old STRTOL_FATAL_ERROR macro.
57024         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
57025         of test program.
57026         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
57027         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
57028
57029 2007-08-08  Eric Blake  <ebb9@byu.net>
57030
57031         * lib/xstrtol-error.c: Add missing include.
57032
57033         Move xstrtol messages into gnulib domain, when --pobase is used.
57034         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
57035         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
57036         * modules/xstrtol (Files): Distribute new file.
57037         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
57038         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
57039         * tests/test-xstrtol.c: ...into new file.
57040         * tests/test-xstrtoul.c: Also test xstrtoul.
57041         * tests/test-xstrtoimax.c: Also test xstrtoimax.
57042         * tests/test-xstrtoumax.c: Also test xstrtoumax.
57043         * tests/test-xstrtol.sh: Drive the tests.
57044         * tests/test-xstrtoimax.sh: Likewise.
57045         * tests/test-xstrtoumax.sh: Likewise.
57046         * modules/xstrtol-tests: New module.
57047         * modules/xstrtoimax-tests: Likewise.
57048         * modules/xstrtoumax-tests: Likewise.
57049
57050 2007-08-08  Jim Meyering  <jim@meyering.net>
57051
57052         New function: mfile_name_concat.
57053         * lib/filenamecat.c (mfile_name_concat): New function, just like
57054         file_name_concat, but return NULL upon failure rather than exiting
57055         with a diagnostic.
57056         * lib/filenamecat.h: Declare it.
57057
57058 2007-08-07  Bruno Haible  <bruno@clisp.org>
57059
57060         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
57061         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
57062         warning from gcc.
57063         Reported by Eric Blake.
57064
57065 2007-08-07  Simon Josefsson  <simon@josefsson.org>
57066
57067         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
57068         * modules/crypto/arcfour (License): Likewise.
57069         * modules/crypto/des-tests (License): Likewise.
57070         * modules/crypto/gc-arctwo-tests (License): Likewise.
57071         * modules/crypto/gc-des-tests (License): Likewise.
57072         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
57073         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
57074         * modules/crypto/gc-md2-tests (License): Likewise.
57075         * modules/crypto/gc-md4-tests (License): Likewise.
57076         * modules/crypto/gc-md5-tests (License): Likewise.
57077         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
57078         * modules/crypto/gc-rijndael-tests (License): Likewise.
57079         * modules/crypto/gc-sha1-tests (License): Likewise.
57080         * modules/crypto/gc-tests (License): Likewise.
57081         * modules/crypto/hmac-md5 (License): Likewise.
57082         * modules/crypto/hmac-sha1 (License): Likewise.
57083         * modules/crypto/md2-tests (License): Likewise.
57084         * modules/crypto/md4-tests (License): Likewise.
57085         * modules/crypto/md5 (License): Likewise.
57086         * modules/crypto/rijndael (License): Likewise.
57087         * modules/crypto/sha1 (License): Likewise.
57088         * modules/memxor (License): Likewise.
57089
57090 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57091         and Bruno Haible  <bruno@clisp.org>
57092
57093         * NEWS: Describe interface changes to human, xstrtol.
57094         * lib/human.h: Include <xstrtol.h>.
57095         (human_options): Return enum strtol_error, not int.  Remove
57096         bool arg; take int * instead.
57097         * lib/human.c: Don't include "gettext.h".
57098         (_): Remove; no longer used.
57099         Don't include <xstrtol.h>, since human.h does it.
57100         (human_options): Adjust to abovementioned interface changes.
57101         Do not report error to stderr; that's now the caller's
57102         responsibility.
57103         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
57104         interface change.
57105         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
57106         Str, Argument_type_string.  All uses changed.  Put " argument"
57107         in diagnostics to make them clearer.  Change wording of suffix
57108         message for clarity.
57109         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
57110         Argument_type_string.
57111         (STRTOL_FATAL_WARN): Remove; no longer used.
57112         * modules/human (Depends-on): Remove gettext-h.
57113
57114 2007-08-06  Simon Josefsson  <simon@josefsson.org>
57115
57116         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
57117
57118 2007-07-31  Bruno Haible  <bruno@clisp.org>
57119
57120         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
57121         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
57122         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
57123
57124 2007-07-31  Bruno Haible  <bruno@clisp.org>
57125
57126         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
57127         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
57128
57129 2007-07-30  Bruno Haible  <bruno@clisp.org>
57130
57131         * modules/base64 (License): Use the synonymous term "LGPLv2+".
57132         * modules/c-ctype (License): Likewise.
57133         * modules/c-strcase (License): Likewise.
57134         * modules/check-version (License): Likewise.
57135         * modules/iconv (License): Likewise.
57136         * modules/iconv_open (License): Likewise.
57137         * modules/read-file (License): Likewise.
57138         * modules/striconv (License): Likewise.
57139         * modules/strverscmp (License): Likewise.
57140         * modules/vasprintf (License): Likewise.
57141         * modules/crypto/des (License): Likewise.
57142         * modules/crypto/gc (License): Likewise.
57143         * modules/crypto/gc-arcfour (License): Likewise.
57144         * modules/crypto/gc-arctwo (License): Likewise.
57145         * modules/crypto/gc-des (License): Likewise.
57146         * modules/crypto/gc-hmac-md5 (License): Likewise.
57147         * modules/crypto/gc-hmac-sha1 (License): Likewise.
57148         * modules/crypto/gc-md2 (License): Likewise.
57149         * modules/crypto/gc-md4 (License): Likewise.
57150         * modules/crypto/gc-md5 (License): Likewise.
57151         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
57152         * modules/crypto/gc-random (License): Likewise.
57153         * modules/crypto/gc-rijndael (License): Likewise.
57154         * modules/crypto/gc-sha1 (License): Likewise.
57155         * modules/crypto/md2 (License): Likewise.
57156         * modules/crypto/md4 (License): Likewise.
57157
57158 2007-07-30  Jim Meyering  <jim@meyering.net>
57159
57160         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
57161         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
57162         it has valid stat data.  This bug would cause du not to count the
57163         sizes of inaccessible directories.
57164         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
57165         in <http://bugzilla.redhat.com/250077>.
57166
57167 2007-07-25  Peter O'Gorman  <peter@pogma.com>
57168             Bruno Haible  <bruno@clisp.org>
57169
57170         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
57171         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
57172         #include_next, gives a diagnostic about it, but reports no error in
57173         the exit code.
57174         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
57175
57176 2007-07-24  Ben Pfaff  <blp@gnu.org>
57177
57178         Improve name: "count-one-bits" is better than "popcount".
57179         * MODULES.html.sh: Update name.
57180         * lib/popcount.h: Renamed lib/count-one-bits.h.
57181         (popcount): Renamed count_one_bits.
57182         (popcountl): Renamed count_one_bits_l.
57183         (popcountll): Renamed count_one_bits_ll.
57184         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
57185         * modules/popcount: Renamed module/count-one-bits.
57186         * modules/popcount-tests: Renamed module/count-one-bits-tests.
57187         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
57188
57189 2007-07-23  Ben Pfaff  <blp@gnu.org>
57190
57191         * lib/popcount.h (popcount32): Reduce size of constants, to allow
57192         better code generation, and add U to large constants to avoid
57193         warnings, in non-GCC case.
57194         Suggested by Bruno Haible.
57195
57196 2007-07-23  Ben Pfaff  <blp@gnu.org>
57197
57198         * lib/popcount.h: Use verify_true instead of if...abort.
57199         * modules/popcount: Depend on verify module.
57200         Suggested by Jim Meyering.
57201
57202 2007-07-23  Bruno Haible  <bruno@clisp.org>
57203
57204         * gnulib-tool (func_import): Create a .cvsignore file also when the
57205         directory is not yet in CVS but the toplevel directory is. When
57206         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
57207         Reported by Karl Berry.
57208
57209 2007-07-22  Ben Pfaff  <blp@gnu.org>
57210
57211         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
57212         case.
57213         Suggested by Eric Blake.
57214
57215 2007-07-22  Ben Pfaff  <blp@gnu.org>
57216
57217         New module: popcount.
57218         * MODULES.html.sh: Add popcount.
57219         * modules/popcount: New file.
57220         * modules/popcount-tests: New file.
57221         * tests/test-popcount.c: New file.
57222         * lib/popcount.h: New file.
57223         * m4/popcount.m4: New file.
57224
57225 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57226
57227         * build-aux/announce-gen: Update to GPLv3.
57228
57229         * build-aux/config.guess: Update from config.
57230
57231 2007-07-21  Bruno Haible  <bruno@clisp.org>
57232
57233         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
57234         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
57235
57236 2007-07-20  Jim Meyering  <jim@meyering.net>
57237
57238         * check-module: Diagnose a self-dependency.
57239
57240 2007-07-19  Bruno Haible  <bruno@clisp.org>
57241
57242         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
57243         empty.
57244         Reported by Eric Blake.
57245
57246 2007-07-18  Bruno Haible  <bruno@clisp.org>
57247
57248         * gnulib-tool: New options --po-base, --po-domain.
57249         (func_usage): Document them.
57250         (pobase, po_domain): New variables.
57251         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
57252         DEFAULT_TEXT_DOMAIN.
57253         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
57254         (func_import): Consider pobase and po_domain. Create a po/ directory.
57255         (func_create_testdir): Set pobase and po_domain to empty.
57256         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
57257         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
57258
57259 2007-07-18  Bruno Haible  <bruno@clisp.org>
57260
57261         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57262         EXTRA_DIST augmentation for files in build-aux/.
57263
57264 2007-07-16  Bruno Haible  <bruno@clisp.org>
57265
57266         * modules/lseek (License): Use the synonymous term "LGPLv2+".
57267         * modules/getdelim (License): Likewise.
57268
57269 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57270
57271         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
57272         * modules/d-type (License): Likewise.
57273         * modules/extensions (License): Likewise.
57274         * modules/fnmatch (License): Likewise.
57275         * modules/fseeko (License): Likewise.
57276         * modules/getaddrinfo (License): Likewise.
57277         * modules/getline (License): Likewise.
57278         * modules/getlogin_r (License): Likewise.
57279         * modules/getpass (License): Likewise.
57280         * modules/gettimeofday (License): Likewise.
57281         * modules/glob (License): Likewise.
57282         * modules/inet_ntop (License): Likewise.
57283         * modules/malloc (License): Likewise.
57284         * modules/malloca (License): Likewise.
57285         * modules/memmem (License): Likewise.
57286         * modules/mempcpy (License): Likewise.
57287         * modules/memset (License): Likewise.
57288         * modules/minmax (License): Likewise.
57289         * modules/mktime (License): Likewise.
57290         * modules/netinet_in (License): Likewise.
57291         * modules/pathmax (License): Likewise.
57292         * modules/poll (License): Likewise.
57293         * modules/regex (License): Likewise.
57294         * modules/snprintf (License): Likewise.
57295         * modules/stdbool (License): Likewise.
57296         * modules/stdint (License): Likewise.
57297         * modules/stdio (License): Likewise.
57298         * modules/strcase (License): Likewise.
57299         * modules/strcasestr (License): Likewise.
57300         * modules/strdup (License): Likewise.
57301         * modules/string (License): Likewise.
57302         * modules/strndup (License): Likewise.
57303         * modules/strnlen (License): Likewise.
57304         * modules/strpbrk (License): Likewise.
57305         * modules/strptime (License): Likewise.
57306         * modules/strsep (License): Likewise.
57307         * modules/sys_select (License): Likewise.
57308         * modules/sys_socket (License): Likewise.
57309         * modules/sys_stat (License): Likewise.
57310         * modules/sys_time (License): Likewise.
57311         * modules/time (License): Likewise.
57312         * modules/time_r (License): Likewise.
57313         * modules/timegm (License): Likewise.
57314         * modules/unistd (License): Likewise.
57315         * modules/vsnprintf (License): Likewise.
57316         * modules/wctype (License): Likewise.
57317
57318 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57319
57320         * modules/argz (License): LGPLv2+.
57321
57322 2007-07-15  Karl Berry  <karl@gnu.org>
57323
57324         * doc/gnulib.texi: revise node structure per new fdl.texi.
57325
57326 2007-07-14  Bruno Haible  <bruno@clisp.org>
57327
57328         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
57329         the output file.
57330         * lib/uniname/uninames.h: Regenerated.
57331
57332 2007-07-14  Karl Berry  <karl@gnu.org>
57333
57334         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
57335         omitting sectioning and index commands.
57336
57337 2007-07-13  Bruno Haible  <bruno@clisp.org>
57338
57339         New gnulib-tool option --more-symlinks.
57340         * gnulib-tool (func_usage): Document --more-symlinks.
57341         (do_copyrights): New variable.
57342         Recognize option --more-symlinks.
57343         (func_import): Don't add a copyright notice transform to
57344         sed_transform_lib_file if do_copyrights is empty.
57345
57346 2007-07-13  Bruno Haible  <bruno@clisp.org>
57347
57348         * lib/vasnprintf.c (decimal_point_char): Define also if
57349         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
57350         && !NEED_PRINTF_DIRECTIVE_A.
57351         Reported by Clemens Koller <clemens.koller@anagramm.de> via
57352         Gary V. Vaughan <gary@gnu.org>.
57353
57354 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
57355
57356         * lib/inttypes_.h: Undo previous change, since it was fixed
57357         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
57358
57359 2007-07-13  Bruno Haible  <bruno@clisp.org>
57360
57361         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
57362         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
57363
57364 2007-07-13  Jim Meyering  <jim@meyering.net>
57365
57366         df: Don't fail for Tru64's "file-on-file mount".
57367         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
57368         so we fall through and use statfs instead.  Details here:
57369         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
57370         Reported by Albert Chin.
57371
57372 2007-07-13  Bruno Haible  <bruno@clisp.org>
57373
57374         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
57375         * modules/configmake (License): Likewise.
57376         * modules/gettext (License): Likewise.
57377         * modules/gettext-h (License): Likewise.
57378         * modules/include_next (License): Likewise.
57379         * modules/link-warning (License): Likewise.
57380         * modules/localcharset (License): Likewise.
57381         * modules/localename (License): Likewise.
57382         * modules/lock (License): Likewise.
57383         * modules/relocatable-lib-lgpl (License): Likewise.
57384         * modules/size_max (License): Likewise.
57385         * modules/vasnprintf (License): Likewise.
57386         * modules/wchar (License): Likewise.
57387         * modules/xsize (License): Likewise.
57388
57389 2007-07-13  Bruno Haible  <bruno@clisp.org>
57390
57391         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
57392         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
57393
57394 2007-07-12  Bruno Haible  <bruno@clisp.org>
57395
57396         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
57397         in the modules files.
57398
57399 2007-07-11  Karl Berry  <karl@gnu.org>
57400
57401         * MODULES.html.sh (func_module): use
57402          sed -e '\|^'"${includefile}"'$|d'
57403          instead of /.../d, to avoid errors on $includefile's containing /.
57404
57405 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57406
57407         * gnulib-tool (func_import): Avoid duplication of --avoid
57408         statements
57409         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
57410         names to `_' in variable names.
57411
57412 2007-07-10  Eric Blake  <ebb9@byu.net>
57413
57414         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57415         * NEWS: Document this change.
57416
57417 2007-07-08  Bruno Haible  <bruno@clisp.org>
57418
57419         Update to Unicode 5.0.
57420         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
57421         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
57422         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
57423         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
57424         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
57425         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
57426         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
57427         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
57428         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
57429         U+10A3F, U+1D242..U+1D244.
57430         (nonspacing_table_ind): Update.
57431         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57432         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57433
57434 2007-07-08  Bruno Haible  <bruno@clisp.org>
57435
57436         Update to Unicode 5.0.
57437         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57438         code transform. Extend the name index field of unicode_name_to_code and
57439         unicode_code_to_name from 16 to 24 bits.
57440         * lib/uniname/uniname.c (unicode_character_name,
57441         unicode_name_character): Add the range 0x12xxx to the code transform.
57442         * lib/uniname/uninames.h: Regenerated.
57443         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57444
57445 2007-07-07  Bruno Haible  <bruno@clisp.org>
57446
57447         * modules/wcwidth-tests: New file.
57448         * tests/test-wcwidth.c: New file.
57449
57450         Work around MacOS X wcwidth() bug.
57451         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57452         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57453         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57454         original wcwidth in non-UTF-8 locales.
57455         * modules/wcwidth (Depends-on): Add localcharset, streq,
57456         uniwidth/width.
57457         * doc/functions/wcwidth.texi: Update.
57458
57459 2007-07-07  Bruno Haible  <bruno@clisp.org>
57460
57461         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57462         (wcwidth): New declaration.
57463         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57464         macros.
57465         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57466         here. Prepare for creating <wchar.h> unconditionally.
57467         * modules/wchar (Depends-on): Add link-warning.
57468         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57469         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57470         * lib/wcwidth.h: Remove file.
57471         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57472         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57473         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57474         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57475         (Include): Replace wcwidth.h with <wchar.h>.
57476         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57477         * lib/mbchar.h: Don't include wcwidth.h.
57478         * lib/mbswidth.c: Likewise.
57479         * NEWS: Mention the change.
57480
57481 2007-07-07  Bruno Haible  <bruno@clisp.org>
57482
57483         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57484         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57485         definition with an external declaration.
57486         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57487         defined as a function. Remove AC_C_INLINE requirement.
57488         * modules/wcwidth (Files): Add lib/wcwidth.c.
57489         (Makefile.am): Remove redundant statement.
57490
57491 2007-07-07  Bruno Haible  <bruno@clisp.org>
57492
57493         * MODULES.html.sh (Unicode string functions): Add the new modules.
57494
57495         * tests/uniwidth/test-u32-strwidth.c: New file.
57496         * modules/uniwidth/u32-strwidth-tests: New file.
57497
57498         * lib/uniwidth/u32-strwidth.c: New file.
57499         * modules/uniwidth/u32-strwidth: New file.
57500
57501         * tests/uniwidth/test-u16-strwidth.c: New file.
57502         * modules/uniwidth/u16-strwidth-tests: New file.
57503
57504         * lib/uniwidth/u16-strwidth.c: New file.
57505         * modules/uniwidth/u16-strwidth: New file.
57506
57507         * tests/uniwidth/test-u8-strwidth.c: New file.
57508         * modules/uniwidth/u8-strwidth-tests: New file.
57509
57510         * lib/uniwidth/u8-strwidth.c: New file.
57511         * modules/uniwidth/u8-strwidth: New file.
57512
57513         * tests/uniwidth/test-u32-width.c: New file.
57514         * modules/uniwidth/u32-width-tests: New file.
57515
57516         * lib/uniwidth/u32-width.c: New file.
57517         * modules/uniwidth/u32-width: New file.
57518
57519         * tests/uniwidth/test-u16-width.c: New file.
57520         * modules/uniwidth/u16-width-tests: New file.
57521
57522         * lib/uniwidth/u16-width.c: New file.
57523         * modules/uniwidth/u16-width: New file.
57524
57525         * tests/uniwidth/test-u8-width.c: New file.
57526         * modules/uniwidth/u8-width-tests: New file.
57527
57528         * lib/uniwidth/u8-width.c: New file.
57529         * modules/uniwidth/u8-width: New file.
57530
57531         * tests/uniwidth/test-uc_width.c: New file.
57532         * modules/uniwidth/width-tests: New file.
57533
57534         * lib/uniwidth/width.c: New file, from GNU libiconv.
57535         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57536         * modules/uniwidth/width: New file.
57537
57538         * lib/uniwidth.h: New file, from GNU libiconv.
57539         * modules/uniwidth/base: New file.
57540
57541 2007-07-07  Bruno Haible  <bruno@clisp.org>
57542
57543         * lib/uniname.h: New file, from GNU gettext.
57544         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57545         * lib/uniname/uninames.h: New file, from GNU gettext.
57546         * lib/uniname/uniname.c: New file, from GNU gettext.
57547         * tests/uniname/test-uninames.sh: New file.
57548         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57549         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57550         * modules/uniname/base: New file.
57551         * modules/uniname/uniname: New file.
57552         * modules/uniname/uniname-tests: New file.
57553         * MODULES.html.sh (Unicode string functions): Add the new modules.
57554
57555 2007-07-06  Bruno Haible  <bruno@clisp.org>
57556
57557         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57558
57559 2007-07-06  Bruno Haible  <bruno@clisp.org>
57560
57561         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57562         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57563         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57564         include <sys/time.h>.
57565         Reported by Eric Blake.
57566
57567 2007-07-06  Eric Blake  <ebb9@byu.net>
57568
57569         Fix testing canonicalize on cygwin.
57570         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57571         Revert patch from 2007-06-19.
57572         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57573         canonicalize module is also in use.
57574         * tests/test-canonicalize.c: New file.
57575         * tests/test-canonicalize.sh: Likewise.
57576         * modules/canonicalize-tests: Likewise.
57577
57578 2007-07-06  Jim Meyering  <jim@meyering.net>
57579
57580         * lib/getugroups.c (getugroups): Detect getgrent failure.
57581         Adjust comment to reflect reality: this function may return -1.
57582
57583 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57584
57585         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57586         the new TP address.
57587         (usage): Fix typo
57588         (gnulib_mk): New variable.
57589
57590 2007-07-05  Jim Meyering  <jim@meyering.net>
57591
57592         Don't let endgrent clobber errno, no matter how improbable.
57593         * lib/getugroups.c (getugroups): Save and restore errno around
57594         endgrent call.
57595
57596         Close the group DB even when failing with 2^31 or more members.
57597         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57598
57599 2007-07-04  Jim Meyering  <jim@meyering.net>
57600
57601         * lib/getugroups.h: New file.
57602         * lib/getugroups.c: Include "getugroups.h".
57603         Remove uses of "register" keyword.
57604         Move local variable, "cp", down into scope where used.
57605         Give "username" parameter the "const" attribute.
57606         * modules/getugroups (Files): Add lib/getugroups.h
57607
57608 2007-07-04  Karl Berry  <karl@gnu.org>
57609
57610         * MODULES.html.sh (func_all_modules): Complete rename of
57611         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57612
57613 2007-07-02  Bruno Haible  <bruno@clisp.org>
57614
57615         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57616         mode, when inttypes.h comes from gnulib.
57617         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57618
57619 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57620
57621         * NEWS: Mention lgpl module name change.
57622
57623         * modules/lgpl-2.1: Renamed from lgpl.
57624
57625         * NEWS: Mention gpl module name change.
57626
57627         * modules/gpl-3.0: New file, based on gpl-2.0.
57628
57629         * modules/gpl-2.0: Renamed from gpl.
57630
57631         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57632         doc/gpl-2.0.texi.
57633
57634 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57635
57636         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57637         #define __STDC_LIMIT_MACROS temporarily while including
57638         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57639         Problem reported by Joel E. Denny in
57640         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57641
57642 2007-07-01  Bruno Haible  <bruno@clisp.org>
57643
57644         * lib/unistdio.h: New file.
57645         * lib/unistdio/u-asnprintf.h: New file.
57646         * lib/unistdio/u-asprintf.h: New file.
57647         * lib/unistdio/u-printf-args.c: New file.
57648         * lib/unistdio/u-printf-args.h: New file.
57649         * lib/unistdio/u-printf-parse.h: New file.
57650         * lib/unistdio/u-snprintf.h: New file.
57651         * lib/unistdio/u-sprintf.h: New file.
57652         * lib/unistdio/u-vasprintf.h: New file.
57653         * lib/unistdio/u-vsnprintf.h: New file.
57654         * lib/unistdio/u-vsprintf.h: New file.
57655         * lib/unistdio/ulc-asnprintf.c: New file.
57656         * lib/unistdio/ulc-asprintf.c: New file.
57657         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57658         * lib/unistdio/ulc-printf-parse.c: New file.
57659         * lib/unistdio/ulc-snprintf.c: New file.
57660         * lib/unistdio/ulc-sprintf.c: New file.
57661         * lib/unistdio/ulc-vasnprintf.c: New file.
57662         * lib/unistdio/ulc-vasprintf.c: New file.
57663         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57664         * lib/unistdio/ulc-vsnprintf.c: New file.
57665         * lib/unistdio/ulc-vsprintf.c: New file.
57666         * lib/unistdio/u8-asnprintf.c: New file.
57667         * lib/unistdio/u8-asprintf.c: New file.
57668         * lib/unistdio/u8-printf-parse.c: New file.
57669         * lib/unistdio/u8-snprintf.c: New file.
57670         * lib/unistdio/u8-sprintf.c: New file.
57671         * lib/unistdio/u8-vasnprintf.c: New file.
57672         * lib/unistdio/u8-vasprintf.c: New file.
57673         * lib/unistdio/u8-vsnprintf.c: New file.
57674         * lib/unistdio/u8-vsprintf.c: New file.
57675         * lib/unistdio/u8-u8-asnprintf.c: New file.
57676         * lib/unistdio/u8-u8-asprintf.c: New file.
57677         * lib/unistdio/u8-u8-snprintf.c: New file.
57678         * lib/unistdio/u8-u8-sprintf.c: New file.
57679         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57680         * lib/unistdio/u8-u8-vasprintf.c: New file.
57681         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57682         * lib/unistdio/u8-u8-vsprintf.c: New file.
57683         * lib/unistdio/u16-asnprintf.c: New file.
57684         * lib/unistdio/u16-asprintf.c: New file.
57685         * lib/unistdio/u16-printf-parse.c: New file.
57686         * lib/unistdio/u16-snprintf.c: New file.
57687         * lib/unistdio/u16-sprintf.c: New file.
57688         * lib/unistdio/u16-vasnprintf.c: New file.
57689         * lib/unistdio/u16-vasprintf.c: New file.
57690         * lib/unistdio/u16-vsnprintf.c: New file.
57691         * lib/unistdio/u16-vsprintf.c: New file.
57692         * lib/unistdio/u16-u16-asnprintf.c: New file.
57693         * lib/unistdio/u16-u16-asprintf.c: New file.
57694         * lib/unistdio/u16-u16-snprintf.c: New file.
57695         * lib/unistdio/u16-u16-sprintf.c: New file.
57696         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57697         * lib/unistdio/u16-u16-vasprintf.c: New file.
57698         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57699         * lib/unistdio/u16-u16-vsprintf.c: New file.
57700         * lib/unistdio/u32-asnprintf.c: New file.
57701         * lib/unistdio/u32-asprintf.c: New file.
57702         * lib/unistdio/u32-printf-parse.c: New file.
57703         * lib/unistdio/u32-snprintf.c: New file.
57704         * lib/unistdio/u32-sprintf.c: New file.
57705         * lib/unistdio/u32-vasnprintf.c: New file.
57706         * lib/unistdio/u32-vasprintf.c: New file.
57707         * lib/unistdio/u32-vsnprintf.c: New file.
57708         * lib/unistdio/u32-vsprintf.c: New file.
57709         * lib/unistdio/u32-u32-asnprintf.c: New file.
57710         * lib/unistdio/u32-u32-asprintf.c: New file.
57711         * lib/unistdio/u32-u32-snprintf.c: New file.
57712         * lib/unistdio/u32-u32-sprintf.c: New file.
57713         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57714         * lib/unistdio/u32-u32-vasprintf.c: New file.
57715         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57716         * lib/unistdio/u32-u32-vsprintf.c: New file.
57717         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57718         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57719         * tests/unistdio/test-ulc-printf1.h: New file.
57720         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57721         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57722         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57723         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57724         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57725         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57726         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57727         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57728         * tests/unistdio/test-u8-asnprintf1.c: New file.
57729         * tests/unistdio/test-u8-asnprintf1.h: New file.
57730         * tests/unistdio/test-u8-printf1.h: New file.
57731         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57732         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57733         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57734         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57735         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57736         * tests/unistdio/test-u8-vasprintf1.c: New file.
57737         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57738         * tests/unistdio/test-u8-vsprintf1.c: New file.
57739         * tests/unistdio/test-u16-asnprintf1.c: New file.
57740         * tests/unistdio/test-u16-asnprintf1.h: New file.
57741         * tests/unistdio/test-u16-printf1.h: New file.
57742         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57743         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57744         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57745         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57746         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57747         * tests/unistdio/test-u16-vasprintf1.c: New file.
57748         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57749         * tests/unistdio/test-u16-vsprintf1.c: New file.
57750         * tests/unistdio/test-u32-asnprintf1.c: New file.
57751         * tests/unistdio/test-u32-asnprintf1.h: New file.
57752         * tests/unistdio/test-u32-printf1.h: New file.
57753         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57754         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57755         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57756         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57757         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57758         * tests/unistdio/test-u32-vasprintf1.c: New file.
57759         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57760         * tests/unistdio/test-u32-vsprintf1.c: New file.
57761         * modules/unistdio/base: New file.
57762         * modules/unistdio/u-printf-args: New file.
57763         * modules/unistdio/ulc-asnprintf: New file.
57764         * modules/unistdio/ulc-asprintf: New file.
57765         * modules/unistdio/ulc-fprintf: New file.
57766         * modules/unistdio/ulc-printf-parse: New file.
57767         * modules/unistdio/ulc-snprintf: New file.
57768         * modules/unistdio/ulc-sprintf: New file.
57769         * modules/unistdio/ulc-vasnprintf: New file.
57770         * modules/unistdio/ulc-vasprintf: New file.
57771         * modules/unistdio/ulc-vfprintf: New file.
57772         * modules/unistdio/ulc-vsnprintf: New file.
57773         * modules/unistdio/ulc-vsprintf: New file.
57774         * modules/unistdio/u8-asnprintf: New file.
57775         * modules/unistdio/u8-asprintf: New file.
57776         * modules/unistdio/u8-printf-parse: New file.
57777         * modules/unistdio/u8-snprintf: New file.
57778         * modules/unistdio/u8-sprintf: New file.
57779         * modules/unistdio/u8-vasnprintf: New file.
57780         * modules/unistdio/u8-vasprintf: New file.
57781         * modules/unistdio/u8-vsnprintf: New file.
57782         * modules/unistdio/u8-vsprintf: New file.
57783         * modules/unistdio/u8-u8-asnprintf: New file.
57784         * modules/unistdio/u8-u8-asprintf: New file.
57785         * modules/unistdio/u8-u8-snprintf: New file.
57786         * modules/unistdio/u8-u8-sprintf: New file.
57787         * modules/unistdio/u8-u8-vasnprintf: New file.
57788         * modules/unistdio/u8-u8-vasprintf: New file.
57789         * modules/unistdio/u8-u8-vsnprintf: New file.
57790         * modules/unistdio/u8-u8-vsprintf: New file.
57791         * modules/unistdio/u16-asnprintf: New file.
57792         * modules/unistdio/u16-asprintf: New file.
57793         * modules/unistdio/u16-printf-parse: New file.
57794         * modules/unistdio/u16-snprintf: New file.
57795         * modules/unistdio/u16-sprintf: New file.
57796         * modules/unistdio/u16-vasnprintf: New file.
57797         * modules/unistdio/u16-vasprintf: New file.
57798         * modules/unistdio/u16-vsnprintf: New file.
57799         * modules/unistdio/u16-vsprintf: New file.
57800         * modules/unistdio/u16-u16-asnprintf: New file.
57801         * modules/unistdio/u16-u16-asprintf: New file.
57802         * modules/unistdio/u16-u16-snprintf: New file.
57803         * modules/unistdio/u16-u16-sprintf: New file.
57804         * modules/unistdio/u16-u16-vasnprintf: New file.
57805         * modules/unistdio/u16-u16-vasprintf: New file.
57806         * modules/unistdio/u16-u16-vsnprintf: New file.
57807         * modules/unistdio/u16-u16-vsprintf: New file.
57808         * modules/unistdio/u32-asnprintf: New file.
57809         * modules/unistdio/u32-asprintf: New file.
57810         * modules/unistdio/u32-printf-parse: New file.
57811         * modules/unistdio/u32-snprintf: New file.
57812         * modules/unistdio/u32-sprintf: New file.
57813         * modules/unistdio/u32-vasnprintf: New file.
57814         * modules/unistdio/u32-vasprintf: New file.
57815         * modules/unistdio/u32-vsnprintf: New file.
57816         * modules/unistdio/u32-vsprintf: New file.
57817         * modules/unistdio/u32-u32-asnprintf: New file.
57818         * modules/unistdio/u32-u32-asprintf: New file.
57819         * modules/unistdio/u32-u32-snprintf: New file.
57820         * modules/unistdio/u32-u32-sprintf: New file.
57821         * modules/unistdio/u32-u32-vasnprintf: New file.
57822         * modules/unistdio/u32-u32-vasprintf: New file.
57823         * modules/unistdio/u32-u32-vsnprintf: New file.
57824         * modules/unistdio/u32-u32-vsprintf: New file.
57825         * modules/unistdio/ulc-asnprintf-tests: New file.
57826         * modules/unistdio/ulc-vasnprintf-tests: New file.
57827         * modules/unistdio/ulc-vasprintf-tests: New file.
57828         * modules/unistdio/ulc-vsnprintf-tests: New file.
57829         * modules/unistdio/ulc-vsprintf-tests: New file.
57830         * modules/unistdio/u8-asnprintf-tests: New file.
57831         * modules/unistdio/u8-vasnprintf-tests: New file.
57832         * modules/unistdio/u8-vasprintf-tests: New file.
57833         * modules/unistdio/u8-vsnprintf-tests: New file.
57834         * modules/unistdio/u8-vsprintf-tests: New file.
57835         * modules/unistdio/u16-asnprintf-tests: New file.
57836         * modules/unistdio/u16-vasnprintf-tests: New file.
57837         * modules/unistdio/u16-vasprintf-tests: New file.
57838         * modules/unistdio/u16-vsnprintf-tests: New file.
57839         * modules/unistdio/u16-vsprintf-tests: New file.
57840         * modules/unistdio/u32-asnprintf-tests: New file.
57841         * modules/unistdio/u32-vasnprintf-tests: New file.
57842         * modules/unistdio/u32-vasprintf-tests: New file.
57843         * modules/unistdio/u32-vsnprintf-tests: New file.
57844         * modules/unistdio/u32-vsprintf-tests: New file.
57845         * MODULES.html.sh (Unicode string functions): Add the new modules.
57846
57847 2007-07-01  Bruno Haible  <bruno@clisp.org>
57848
57849         * lib/sprintf.c (sprintf): Limit the available length estimation,
57850         to avoid address wraparound.
57851         * lib/vsprintf.c (vsprintf): Likewise.
57852         * modules/sprintf-posix (Dependencies): Add stdint.
57853         * modules/vsprintf-posix (Dependencies): Likewise.
57854
57855 2007-07-01  Bruno Haible  <bruno@clisp.org>
57856
57857         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
57858         Windows PATH as well. Conservative double-quoting. Comments.
57859
57860 2007-07-01  Bruno Haible  <bruno@clisp.org>
57861             Eric Blake  <ebb9@byu.net>
57862             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57863
57864         * gnulib-tool (self_abspathname): Fix algorithm to cope with
57865         empty components in $PATH, denoting '.'.
57866
57867 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57868
57869         * gnulib-tool: Fix indentation.
57870         (func_create_megatestdir): Likewise.
57871         Report by Bruno Haible.
57872
57873 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57874
57875         Sync from Automake.
57876         * build-aux/gnupload: Fix shell portability issues with for loops.
57877         Report by Karl Berry.
57878
57879 2007-06-29  Simon Josefsson  <simon@josefsson.org>
57880
57881         * build-aux/maint.mk (POURL): Use translationproject.org.
57882
57883 2007-06-27  Simon Josefsson  <simon@josefsson.org>
57884             Bruno Haible  <bruno@clisp.org>
57885
57886         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
57887         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
57888         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
57889         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
57890         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
57891
57892 2007-06-27  Bruno Haible  <bruno@clisp.org>
57893
57894         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
57895         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
57896
57897 2007-06-26  Karl Berry  <karl@gnu.org>
57898
57899         * MODULES.html.sh: remove xreadlink-with-size.
57900
57901 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57902
57903         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
57904         method that I hope also handles the double-include problem noted
57905         by Bruno Haible in
57906         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
57907
57908 2007-06-23  Bruno Haible  <bruno@clisp.org>
57909
57910         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57911         Don't let the 'mostlyclean' target fail if the last subdirectory could
57912         not be removed.
57913         Reported by Karl Berry.
57914
57915 2007-06-23  Bruno Haible  <bruno@clisp.org>
57916
57917         * gnulib-tool (echo): Add a speedier workaround for ksh.
57918         * tests/test-echo.sh: Likewise.
57919
57920 2007-06-23  Bruno Haible  <bruno@clisp.org>
57921
57922         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
57923         * tests/test-echo.sh: Likewise.
57924
57925 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57926
57927         * gnulib-tool (IFS): Initialize early, so we don't set it to
57928         empty later.
57929         (self_abspathname): Rewrite algorithm to set it, reindent.
57930         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
57931         (func_create_megatestdir): Merge some sed scripts.
57932
57933 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57934
57935         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
57936         exposed by Sun Studio 11 cc on Solaris 8.
57937
57938 2007-06-22  Bruno Haible  <bruno@clisp.org>
57939
57940         * gnulib-tool (echo): Ensure the echo primitive does not interpret
57941         backslashes.
57942         * tests/test-echo.sh: New file.
57943
57944 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57945
57946         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
57947         simplify `sed_replace_build_aux' scripts, they are portable but
57948         echoing them with `echo' is not.
57949         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
57950
57951 2007-06-21  Karl Berry  <karl@gnu.org>
57952
57953         * config/srclist.txt: guess we can't handle the licenses via
57954         srclist at the moment.
57955
57956 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57957
57958         * MODULES.html.sh: Add include_next.
57959         * modules/include_next: New file.
57960
57961 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57962
57963         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
57964         INCLUDE_NEXT.
57965         (gl_CHECK_NEXT_HEADERS): New macro.
57966         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
57967         the obsolescent gl_ABSOLUTE_HEADER.
57968         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
57969         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
57970         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
57971         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57972         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
57973         * m4/math_h.m4 (gl_MATH_H): Likewise.
57974         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57975         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57976         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
57977         * m4/stdint.m4 (gl_STDINT_H): Likewise.
57978         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
57979         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
57980         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
57981         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57982         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57983         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
57984         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57985         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
57986         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
57987         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57988         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
57989         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57990         * m4/inttypes.m4 (gl_INTTYPES_H): Define
57991         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
57992         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
57993         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
57994         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
57995         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
57996         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
57997         * lib/float_.h: Likewise.
57998         * lib/inttypes_.h: Likewise.
57999         * lib/math_.h: Likewise.
58000         * lib/search_.h: Likewise.
58001         * lib/signal_.h: Likewise.
58002         * lib/stdint_.h: Likewise.
58003         * lib/stdio_.h: Likewise.
58004         * lib/stdlib_.h: Likewise.
58005         * lib/string_.h: Likewise.
58006         * lib/sys_stat_.h: Likewise.
58007         * lib/sys_time_.h: Likewise.
58008         * lib/time_.h: Likewise.
58009         * lib/unistd_.h: Likewise.
58010         * lib/wchar_.h: Likewise.
58011         * lib/wctype_.h: Likewise.
58012         * lib/dirent_.h: Likewise.
58013         * lib/iconv_.h: Likewise.
58014         * lib/locale_.h: Likewise.
58015         * lib/netinet_in_.h: Likewise.
58016         * lib/sys_select_.h: Likewise.
58017         * lib/sys_socket_.h: Likewise.
58018         * lib/sysexits_.h: Likewise.
58019         * modules/fcntl (Depends-on): Depend on include_next, not
58020         absolute_header.
58021         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
58022         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
58023         * modules/fchdir: Likewise.
58024         * modules/float: Likewise.
58025         * modules/iconv_open: Likewise.
58026         * modules/inttypes: Likewise.
58027         * modules/locale: Likewise.
58028         * modules/math: Likewise.
58029         * modules/netinet_in: Likewise.
58030         * modules/search: Likewise.
58031         * modules/signal: Likewise.
58032         * modules/stdint: Likewise.
58033         * modules/stdio: Likewise.
58034         * modules/stdlib: Likewise.
58035         * modules/string: Likewise.
58036         * modules/sys_select: Likewise.
58037         * modules/sys_socket: Likewise.
58038         * modules/sys_stat: Likewise.
58039         * modules/sys_time: Likewise.
58040         * modules/sysexits: Likewise.
58041         * modules/time: Likewise.
58042         * modules/unistd: Likewise.
58043         * modules/wchar: Likewise.
58044         * modules/wctype: Likewise.
58045         * modules/sys_stat: Change maintainer to "all".
58046         * modules/unistd: Likewise.
58047
58048 2007-06-20  Karl Berry  <karl@gnu.org>
58049
58050         * config/srclist.txt: track www changes in license files.
58051
58052 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
58053
58054         * build-aux/bootstrap: Remove stray dot.
58055         Make sure build_aux settings are honored when linking
58056         gnulib_extra_files.
58057
58058 2007-06-19  Eric Blake  <ebb9@byu.net>
58059
58060         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
58061         Allow compilation on cygwin.
58062
58063 2007-06-19  Jim Meyering  <jim@meyering.net>
58064
58065         xreadlink-with-size: Remove module.  No longer used.
58066         Ex-callers now use xreadlink or mreadlink-with-size.
58067         * modules/xreadlink-with-size: Remove module.
58068         * lib/xreadlink-with-size.c: Remove file.
58069         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
58070         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
58071         just before the function definition *is* accurate.
58072
58073         Eliminate one way canonicalize_filename_mode could exit.
58074         * lib/canonicalize.c (canonicalize_filename_mode):
58075         Use mreadlink_with_size, not xreadlink_with_size.
58076
58077 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
58078
58079         Detect porting problems to FreeBSD/arm, which has time_t wider than
58080         long int.  Original problem reported for GNU diff by Xin Li in
58081         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
58082         * modules/getdate (Depends-on): Add intprops, verify.
58083         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
58084         is an integer type no wider than long int.
58085
58086 2007-06-18  Jim Meyering  <jim@meyering.net>
58087
58088         New module: mreadlink-with-size.
58089         * MODULES.html.sh: Add mreadlink-with-size.
58090         * modules/mreadlink-with-size: New module
58091         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
58092         not xreadlink-with-size.
58093         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
58094
58095 2007-06-16  Bruno Haible  <bruno@clisp.org>
58096
58097         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
58098         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
58099         Reported by Gary V. Vaughan <gary@gnu.org>.
58100
58101 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
58102
58103         Revamp lchown so that it lives in unistd.h where it belongs.
58104         * lib/lchown.h: Remove.
58105         * lib/dirchownmod.c: Don't include lib/lchown.h.
58106         * lib/fchownat.c: Likewise.
58107         * lib/openat.c: Likewise.
58108         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
58109         does not follow symlinks.
58110         (EOPNOTSUPP): Define if not defined.
58111         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
58112         is defined to 0.
58113         (lchown): New decl.
58114         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
58115         Do not check for lchown decl.
58116         Set REPLACE_LCHOWN.
58117         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
58118         REPLACE_LCHOWN.
58119         * modules/chown: Make it clear it follows symlinks.
58120         * modules/lchown: Make it clear it doesn't follow symlinks.
58121         (Files): Remove lib/lchown.h
58122         (Depends-on): Add unistd.
58123         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
58124         (Include): Include <unistd.h>, not "lchown.h".
58125         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
58126         REPLACE_LCHOWN.
58127
58128 2007-06-15  Jim Meyering  <jim@meyering.net>
58129
58130         Change license (GPL to LGPL) of fsusage and dependents.
58131         * modules/fsusage (License): Change to LGPL.
58132         * modules/full-read (License): Likewise.
58133         * modules/full-write (License): Likewise.
58134         * modules/safe-read (License): Likewise.
58135         * modules/safe-write (License): Likewise.
58136
58137 2007-06-14  Ben Pfaff  <blp@gnu.org>
58138
58139         Missing part of allocsa -> malloca transition.
58140         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
58141         gl_MALLOCA.
58142
58143 2007-06-12  Bruno Haible  <bruno@clisp.org>
58144
58145         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
58146         to ia64, x86_64, i386.
58147         Reported by Eric Blake.
58148
58149 2007-06-12  Bruno Haible  <bruno@clisp.org>
58150
58151         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
58152         cross-compiling to x86_64.
58153
58154 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
58155
58156         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
58157         glitch reported by Ralf Wildenhues in
58158         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
58159
58160         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
58161         Vin Shelton.
58162
58163 2007-06-11  Bruno Haible  <bruno@clisp.org>
58164
58165         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
58166         replacement string.
58167         Reported by Eric Blake.
58168
58169 2007-06-10  Bruno Haible  <bruno@clisp.org>
58170
58171         Prepare vasnprintf code for use with Unicode strings.
58172         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
58173         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
58174         TYPE_U32_STRING.
58175         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
58176         a_u32_string variants.
58177         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58178         * lib/printf-args.c: Don't include config.h and the specification
58179         header if PRINTF_FETCHARGS is already defined.
58180         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58181         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
58182         TYPE_U16_STRING, TYPE_U32_STRING.
58183         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
58184         u16_directive, u16_directives, u32_directive, u32_directives): New
58185         types.
58186         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
58187         New declarations.
58188         * lib/printf-parse.c: Don't include config.h and the specification
58189         header if PRINTF_PARSE is already defined. Eliminate the set of
58190         parameters for WIDE_CHAR_VERSION; the user of this file must provide
58191         them now. Include c-ctype.h.
58192         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
58193         directive and CHAR_T_ONLY_ASCII.
58194         * lib/vasnprintf.c: Don't include config.h and the specification header
58195         if VASNPRINTF is already defined.
58196         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
58197         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
58198         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
58199         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
58200         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
58201         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
58202         code accordingly.
58203         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
58204         pad_ourselves also in this case, with the 'c' and 's' directives, and
58205         with a different notion of "width".
58206         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
58207
58208 2007-06-10  Bruno Haible  <bruno@clisp.org>
58209
58210         * modules/unistr/u32-mbsnlen: New file.
58211         * lib/unistr/u32-mbsnlen.c: New file.
58212
58213         * modules/unistr/u16-mbsnlen: New file.
58214         * lib/unistr/u16-mbsnlen.c: New file.
58215
58216         * modules/unistr/u8-mbsnlen: New file.
58217         * lib/unistr/u8-mbsnlen.c: New file.
58218
58219         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
58220         declarations.
58221
58222 2007-06-10  Bruno Haible  <bruno@clisp.org>
58223
58224         * lib/string_.h (mbsnlen): New declaration.
58225         * lib/mbsnlen.c: New file.
58226         * m4/mbsnlen.m4: New file.
58227         * modules/mbsnlen: New file.
58228         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
58229         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
58230         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
58231
58232 2007-06-10  Bruno Haible  <bruno@clisp.org>
58233
58234         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
58235
58236 2007-06-10  Bruno Haible  <bruno@clisp.org>
58237
58238         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
58239         * lib/mbuiter.h: Likewise.
58240
58241 2007-06-10  Bruno Haible  <bruno@clisp.org>
58242
58243         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
58244         declaration.
58245
58246 2007-06-10  Karl Berry  <karl@gnu.org>
58247
58248         * config/srclist.txt: remove gettext entries, Bruno prefers
58249         to update individually.
58250
58251 2007-06-10  Bruno Haible  <bruno@clisp.org>
58252
58253         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
58254         'maxlen'. Ensure only length + width bytes are allocated, not
58255         length + 1 + width.
58256
58257 2007-06-09  Bruno Haible  <bruno@clisp.org>
58258
58259         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
58260         (CHAR_T): Remove macro.
58261         (VASNPRINTF): Update.
58262
58263 2007-06-09  Bruno Haible  <bruno@clisp.org>
58264
58265         * MODULES.html.sh (Unicode string functions): Add the new modules.
58266
58267         * modules/uniconv/u32-conv-to-enc: New file.
58268         * lib/uniconv/u32-conv-to-enc.c: New file.
58269         * modules/uniconv/u32-conv-to-enc-tests: New file.
58270         * tests/uniconv/test-u32-conv-to-enc.c: New file.
58271
58272         * modules/uniconv/u16-conv-to-enc: New file.
58273         * lib/uniconv/u16-conv-to-enc.c: New file.
58274         * lib/uniconv/u-conv-to-enc.h: New file.
58275         * modules/uniconv/u16-conv-to-enc-tests: New file.
58276         * tests/uniconv/test-u16-conv-to-enc.c: New file.
58277
58278         * modules/uniconv/u8-conv-to-enc: New file.
58279         * lib/uniconv/u8-conv-to-enc.c: New file.
58280         * modules/uniconv/u8-conv-to-enc-tests: New file.
58281         * tests/uniconv/test-u8-conv-to-enc.c: New file.
58282
58283         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
58284         u32_conv_to_encoding): New declarations.
58285
58286 2007-06-09  Bruno Haible  <bruno@clisp.org>
58287
58288         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
58289
58290 2007-06-09  Bruno Haible  <bruno@clisp.org>
58291
58292         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
58293         * modules/malloca: Renamed from modules/allocsa, updated.
58294         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
58295         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
58296         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
58297         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
58298         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
58299         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
58300         * modules/xmalloca: Renamed from modules/xallocsa, updated.
58301         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
58302         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
58303         * modules/c-strcasestr (Depends-on): Update.
58304         * lib/c-strcasestr.c: Update.
58305         * modules/c-strstr (Depends-on): Update.
58306         * lib/c-strstr.c: Update.
58307         * modules/canonicalize-lgpl (Depends-on): Update.
58308         * lib/canonicalize-lgpl.c: Update.
58309         * modules/clean-temp (Depends-on): Update.
58310         * lib/clean-temp.c: Update.
58311         * modules/csharpcomp (Depends-on): Update.
58312         * lib/csharpcomp.c: Update.
58313         * modules/csharpexec (Depends-on): Update.
58314         * lib/csharpexec.c: Update.
58315         * modules/javacomp (Depends-on): Update.
58316         * lib/javacomp.c: Update.
58317         * modules/javaexec (Depends-on): Update.
58318         * lib/javaexec.c: Update.
58319         * modules/mbscasestr (Depends-on): Update.
58320         * lib/mbscasestr.c: Update.
58321         * modules/mbsstr (Depends-on): Update.
58322         * lib/mbsstr.c: Update.
58323         * modules/setenv (Depends-on): Update.
58324         * lib/setenv.c: Update.
58325         * modules/strcasestr (Depends-on): Update.
58326         * lib/strcasestr.c: Update.
58327         * modules/striconveha (Depends-on): Update.
58328         * lib/striconveha.c: Update.
58329         * modules/relocatable-prog-wrapper (Files): Update.
58330         * lib/relocwrapper.c: Update.
58331         * build-aux/install-reloc: Update.
58332         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
58333
58334 2007-06-08  Bruno Haible  <bruno@clisp.org>
58335
58336         Port to uClibc.
58337         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
58338         * lib/fpurge.c (fpurge): Likewise.
58339         * lib/freading.c (freading): Likewise.
58340         * lib/fseeko.c (rpl_fseeko): Likewise.
58341         * lib/fseterr.c (fseterr): Likewise.
58342         * lib/fwriting.c (fwriting): Likewise.
58343         * tests/test-fflush.c (main): Avoid a failure on uClibc.
58344
58345 2007-06-08  Bruno Haible  <bruno@clisp.org>
58346
58347         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
58348         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
58349         * modules/gettext (Files): Add m4/intlmacosx.m4.
58350
58351 2007-06-07  Bruno Haible  <bruno@clisp.org>
58352
58353         * modules/localename-tests: New file.
58354         * tests/test-localename.c: New file.
58355
58356         New module 'localename'.
58357         * lib/localename.h: New file.
58358         * lib/localename.c: New file, from GNU gettext.
58359         * m4/localename.m4: New file.
58360         * modules/localename: New file.
58361
58362 2007-06-07  Bruno Haible  <bruno@clisp.org>
58363
58364         Work around the lack of <wchar.h> on some builds of uClibc.
58365         * doc/headers/wchar.texi: Update.
58366         * lib/wchar_.h: Include <wchar.h> only if it exists.
58367         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
58368         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
58369         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
58370         doesn't exist.
58371         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
58372         * modules/mbfile (Depends-on): Add wchar.
58373         * modules/mbiter (Depends-on): Likewise.
58374         * modules/mbuiter (Depends-on): Likewise.
58375         Reported by Simon Josefsson.
58376
58377 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58378
58379         Work around problem reported by Steven M. Schweda in
58380         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
58381         Tru64 5.1B with the Compaq compiler environment installed declares
58382         an 'isblank' function but does not define it in the C library.
58383         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
58384         * lib/regex_internal.h (isblank): Likewise.
58385         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
58386         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58387
58388 2007-06-05  Bruno Haible  <bruno@clisp.org>
58389
58390         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
58391         ia64.
58392         * modules/printf-safe: New file.
58393         * modules/fprintf-posix (Depends-on): Add printf-safe.
58394         * modules/printf-posix (Depends-on): Likewise.
58395         * modules/snprintf-posix (Depends-on): Likewise.
58396         * modules/sprintf-posix (Depends-on): Likewise.
58397         * modules/vasnprintf-posix (Depends-on): Likewise.
58398         * modules/vasprintf-posix (Depends-on): Likewise.
58399         * modules/vfprintf-posix (Depends-on): Likewise.
58400         * modules/vprintf-posix (Depends-on): Likewise.
58401         * modules/vsnprintf-posix (Depends-on): Likewise.
58402         * modules/vsprintf-posix (Depends-on): Likewise.
58403         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
58404         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
58405         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
58406         "no" on i386, x86_64, ia64.
58407         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
58408         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58409         on i386, x86_64, ia64.
58410         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
58411         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58412         on i386, x86_64, ia64.
58413         * tests/test-vasnprintf-posix.c: Include float.h.
58414         (LDBL80_WORDS): New macro.
58415         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58416         on i386, x86_64, ia64.
58417         * tests/test-vasprintf-posix.c: Include float.h.
58418         (LDBL80_WORDS): New macro.
58419         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58420         on i386, x86_64, ia64.
58421         * tests/test-snprintf-posix.c: Include float.h.
58422         * tests/test-sprintf-posix.c: Likewise.
58423         * tests/test-vsnprintf-posix.c: Likewise.
58424         * tests/test-vsprintf-posix.c: Likewise.
58425
58426 2007-06-05  Bruno Haible  <bruno@clisp.org>
58427
58428         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
58429         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58430         non-IEEE numbers on i386, x86_64, ia64.
58431         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58432         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58433         * tests/test-isnanl.h: Include float.h.
58434         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58435
58436 2007-06-05  Bruno Haible  <bruno@clisp.org>
58437
58438         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58439         also the %a / %A. Handle the %a / %A code before this extra handling.
58440
58441 2007-06-05  Bruno Haible  <bruno@clisp.org>
58442
58443         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58444         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58445
58446 2007-06-05  Bruno Haible  <bruno@clisp.org>
58447
58448         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58449         typo in variable name.
58450
58451 2007-06-05  Eric Blake  <ebb9@byu.net>
58452
58453         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58454         Reported by Simon Josefsson.
58455
58456 2007-06-04  Bruno Haible  <bruno@clisp.org>
58457
58458         Avoid test failures on some PowerPC platforms.
58459         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58460         Define differently for PowerPC.
58461         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58462         Reported by Gary V. Vaughan <gary@gnu.org>.
58463
58464 2007-06-02  Bruno Haible  <bruno@clisp.org>
58465
58466         Fix test-stdint failure on FreeBSD/ia64.
58467         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58468         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58469         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58470         * doc/headers/stdint.texi: Update.
58471
58472 2007-06-01  Bruno Haible  <bruno@clisp.org>
58473
58474         * tests/test-binary-io.c (main): Pass a third argument to open().
58475         Reported by Gary V. Vaughan <gary@gnu.org>.
58476
58477 2007-06-01  Bruno Haible  <bruno@clisp.org>
58478
58479         * doc/functions/frexpl.texi: Update for mingw.
58480
58481 2007-06-01  Bruno Haible  <bruno@clisp.org>
58482
58483         * tests/test-lseek.c (main): Disable test of errno for invalid third
58484         argument.
58485         * doc/functions/lseek.texi: Update.
58486         Reported by Gary V. Vaughan <gary@gnu.org>.
58487
58488 2007-05-28  Bruno Haible  <bruno@clisp.org>
58489
58490         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58491
58492 2007-05-31  Eric Blake  <ebb9@byu.net>
58493
58494         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58495         cross compiling.
58496
58497 2007-05-30  Eric Blake  <ebb9@byu.net>
58498         and Bruno Haible  <bruno@clisp.org>
58499
58500         Work around mingw test failures exposed by m4-1.4.9b.
58501         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58502         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58503         moment.
58504
58505 2007-05-30  Bruno Haible  <bruno@clisp.org>
58506
58507         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58508         assuming that they are closed. Needed on HP-UX 11.
58509
58510 2007-05-29  Bruno Haible  <bruno@clisp.org>
58511
58512         Fix a problem with #include_next.
58513         * lib/dirent_.h: Split the double-inclusion guard.
58514         * lib/fcntl_.h: Likewise.
58515         * lib/float_.h: Likewise.
58516         * lib/iconv_.h: Likewise.
58517         * lib/inttypes_.h: Likewise.
58518         * lib/locale_.h: Likewise.
58519         * lib/math_.h: Likewise.
58520         * lib/netinet_in_.h: Likewise.
58521         * lib/search_.h: Likewise.
58522         * lib/signal_.h: Likewise.
58523         * lib/stdint_.h: Likewise.
58524         * lib/stdio_.h: Likewise.
58525         * lib/stdlib_.h: Likewise.
58526         * lib/string_.h: Likewise.
58527         * lib/sys_select_.h: Likewise.
58528         * lib/sys_socket_.h: Likewise.
58529         * lib/sys_stat_.h: Likewise.
58530         * lib/sys_time_.h: Likewise.
58531         * lib/sysexits_.h: Likewise.
58532         * lib/time_.h: Likewise.
58533         * lib/unistd_.h: Likewise.
58534         * lib/wchar_.h: Likewise.
58535         * lib/wctype_.h: Likewise.
58536
58537 2007-05-29  Bruno Haible  <bruno@clisp.org>
58538
58539         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58540         for the moment.
58541
58542 2007-05-29  Bruno Haible  <bruno@clisp.org>
58543
58544         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58545         invocation.
58546         Reported by Eric Blake.
58547
58548 2007-05-29  Bruno Haible  <bruno@clisp.org>
58549
58550         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58551         compiling case.
58552
58553 2007-05-29  Eric Blake  <ebb9@byu.net>
58554             Bruno Haible  <bruno@clisp.org>
58555
58556         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58557         cross compiles.
58558
58559 2007-05-28  Eric Blake  <ebb9@byu.net>
58560
58561         * modules/closein-tests (test_closein_LDADD): Support test on
58562         cygwin with libtool.
58563
58564 2007-05-28  Bruno Haible  <bruno@clisp.org>
58565
58566         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58567         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58568         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58569         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58570         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58571         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58572         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58573         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58574         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58575
58576 2007-05-28  Eric Blake  <ebb9@byu.net>
58577
58578         Unconditionally include <config.h> in unit tests.
58579         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58580         * tests/test-allocsa.c, tests/test-arcfour.c,
58581         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58582         tests/test-array_list.c, tests/test-array_oset.c,
58583         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58584         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58585         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58586         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58587         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58588         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58589         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58590         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58591         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58592         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58593         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58594         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58595         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58596         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58597         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58598         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58599         test-md5.c, test-memmem.c, test-printf-posix.c,
58600         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58601         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58602         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58603         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58604         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58605         test-vasnprintf-posix2.c, test-vasnprintf.c,
58606         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58607         test-vfprintf-posix.c, test-vprintf-posix.c,
58608         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58609         test-xvasprintf.c: Likewise.
58610
58611 2007-05-28  Bruno Haible  <bruno@clisp.org>
58612
58613         * gnulib-tool (func_import): Remember the --with-tests command-line
58614         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58615         Reported by Eric Blake.
58616
58617 2007-05-28  Bruno Haible  <bruno@clisp.org>
58618
58619         * modules/ftell-tests: New file.
58620         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58621         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58622
58623         * lib/ftell.c: New file.
58624         * modules/ftell: New file.
58625         * m4/ftell.m4: New file.
58626         * doc/functions/ftell.texi: Update.
58627         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58628         REPLACE_FTELL.
58629         * lib/stdio_.h (rpl_ftell): New declaration.
58630         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58631         REPLACE_FTELL.
58632
58633 2007-05-28  Eric Blake  <ebb9@byu.net>
58634
58635         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58636
58637 2007-05-28  Bruno Haible  <bruno@clisp.org>
58638
58639         * modules/fseek-tests: New file.
58640         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58641         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58642
58643         * lib/fseek.c: New file.
58644         * modules/fseek: New file.
58645         * m4/fseek.m4: New file.
58646         * doc/functions/fseek.texi: Update.
58647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58648         REPLACE_FSEEK.
58649         * lib/stdio_.h (rpl_fseek): New declaration.
58650         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58651         REPLACE_FSEEK.
58652
58653 2007-05-28  Bruno Haible  <bruno@clisp.org>
58654
58655         * lib/stdio_.h (fflush): More comments.
58656
58657 2007-05-28  Bruno Haible  <bruno@clisp.org>
58658
58659         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58660         runtime test.
58661
58662 2007-05-28  Eric Blake  <ebb9@byu.net>
58663
58664         Improve lseek module.
58665         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58666         * lib/unistd_.h (lseek): Scale back link warning message.
58667         * tests/test-lseek.c: Beef up test.
58668         * tests/test-lseek.sh: Exercise more facets of lseek.
58669         Reported by Bruno Haible.
58670
58671 2007-05-28  Bruno Haible  <bruno@clisp.org>
58672
58673         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58674         to define.
58675
58676 2007-05-27  Bruno Haible  <bruno@clisp.org>
58677
58678         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58679
58680 2007-05-27  Bruno Haible  <bruno@clisp.org>
58681
58682         * modules/openmp: New file.
58683         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58684         Noah Misch.
58685
58686 2007-05-26  Bruno Haible  <bruno@clisp.org>
58687
58688         * modules/chdir-long (Depends-on): Add fchdir.
58689         * modules/chdir-safer (Depends-on): Likewise.
58690         * modules/fts (Depends-on): Likewise.
58691         * modules/fts-lgpl (Depends-on): Likewise.
58692         * modules/openat (Depends-on): Likewise.
58693         * modules/savewd (Depends-on): Likewise.
58694
58695 2007-05-24  Eric Blake  <ebb9@byu.net>
58696
58697         Fix lseek on mingw.
58698         * modules/lseek: New module.
58699         * m4/lseek.m4: New file.
58700         * lib/lseek.c: New file.
58701         * modules/lseek-tests: New file.
58702         * tests/test-lseek.c: New file.
58703         * tests/test-lseek.sh: New file.
58704         * MODULES.html.sh: Document lseek module.
58705         * modules/fflush (Depends-on): Add lseek, fseeko.
58706         * modules/fseeko (Depends-on): Likewise.
58707         * modules/ftello (Depends-on): Likewise.
58708         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58709         broken.
58710         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58711         broken.
58712         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58713         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58714         * lib/ftello.c (rpl_ftello): Likewise.
58715         * tests/test-fseeko.c (main): Test this.
58716         * tests/test-fseeko.sh: Likewise.
58717         * tests/test-ftello.c (main): Likewise.
58718         * tests/test-ftello.sh: Likewise.
58719         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58720         implies replacing fseek.
58721         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58722         HAVE_FTELLO.
58723         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58724         * modules/unistd (Makefile.am): Likewise.
58725         * lib/unistd_.h (lseek): Declare a replacement.
58726         * doc/functions/lseek.texi (lseek): Document this fix.
58727         * doc/functions/fseek.texi (fseek): Likewise.
58728         * doc/functions/ftell.texi (ftell): Likewise.
58729
58730 2007-05-24  Bruno Haible  <bruno@clisp.org>
58731
58732         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58733         in the printed representation of a NaN.
58734         * tests/test-vasprintf-posix.c (test_function): Likewise.
58735         * tests/test-snprintf-posix.h (test_function): Likewise.
58736         * tests/test-sprintf-posix.h (test_function): Likewise.
58737         Reported by Eric Blake.
58738
58739 2007-05-23  Eric Blake  <ebb9@byu.net>
58740
58741         Fix fseeko/ftello on cygwin 1.5.24.
58742         * doc/functions/fseeko.texi (fseeko): Document the fix.
58743         * doc/functions/ftello.texi (ftello): Document the fix.
58744         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58745         * doc/functions/stdout.text (stdout): New file.
58746         * doc/functions/stderr.text (stderr): New file.
58747         * doc/gnulib.texi (Function Substitutes): Use new files.
58748         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58749         prior to 1.7.0.
58750         * tests/test-ftello.c (main): Likewise for ftello.
58751         * tests/test-fseeko.sh: New file.
58752         * tests/test-ftello.sh: New file.
58753         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58754         with seekable stdin.
58755         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58756         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58757         (gl_REPLACE_FSEEKO): New macro.
58758         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58759         * modules/fseeko (Files): Distribute fseeko.c.
58760         * modules/ftello (Files): Distribute ftello.c.
58761         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58762         mode.
58763         * lib/ftello.c (rpl_ftello): New file.
58764         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58765         fseeko, ftello.
58766         (gl_STDIN_LARGE_OFFSET): New macro.
58767         * modules/stdio (Makefile.am): Perform the replacement.
58768         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58769
58770 2007-05-23  Bruno Haible  <bruno@clisp.org>
58771
58772         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58773         GNULIB_POSIXCHECK is defined.
58774
58775 2007-05-21  Bruno Haible  <bruno@clisp.org>
58776
58777         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58778         Check also the output for NaN arguments. When cross-compiling, guess
58779         no on IRIX.
58780         * lib/vasnprintf.c: Update comments.
58781         * tests/test-vasnprintf-posix.c (strisnan): New function.
58782         (test_function): Use it.
58783         * tests/test-vasprintf-posix.c (strisnan): New function.
58784         (test_function): Use it.
58785         * tests/test-snprintf-posix.h (strisnan): New function.
58786         (test_function): Use it.
58787         * tests/test-sprintf-posix.h (strisnan): New function.
58788         (test_function): Use it.
58789         Reported by Eric Blake.
58790
58791 2007-05-20  Bruno Haible  <bruno@clisp.org>
58792
58793         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58794         numbers that fails on BeOS.
58795         * doc/functions/frexpl.texi: Update.
58796
58797 2007-05-20  Jim Meyering  <jim@meyering.net>
58798
58799         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58800         forced upon us by glibc-2.6.
58801
58802 2007-05-20  Bruno Haible  <bruno@clisp.org>
58803
58804         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58805         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58806         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58807         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58808         NEED_PRINTF_INFINITE.
58809         (is_infinitel): New function.
58810         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58811         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58812         gl_PREREQ_VASNPRINTF_INFINITE.
58813         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58814         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58815         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58816         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58817         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58818         gl_PREREQ_VASNPRINTF_INFINITE.
58819         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58820         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58821         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58822         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58823         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58824         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58825         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58826         * doc/functions/fprintf.texi: Update.
58827         * doc/functions/printf.texi: Update.
58828         * doc/functions/snprintf.texi: Update.
58829         * doc/functions/sprintf.texi: Update.
58830         * doc/functions/vfprintf.texi: Update.
58831         * doc/functions/vprintf.texi: Update.
58832         * doc/functions/vsnprintf.texi: Update.
58833         * doc/functions/vsprintf.texi: Update.
58834
58835 2007-05-20  Bruno Haible  <bruno@clisp.org>
58836
58837         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58838         was not found in libc.
58839         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58840
58841 2007-05-20  Bruno Haible  <bruno@clisp.org>
58842
58843         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58844         printed as "-nan" instead of "nan".
58845         * tests/test-vasprintf-posix.c (test_function): Likewise.
58846         * tests/test-snprintf-posix.h (test_function): Likewise.
58847         * tests/test-sprintf-posix.h (test_function): Likewise.
58848         Needed for HP-UX 11.
58849
58850 2007-05-20  Jim Meyering  <jim@meyering.net>
58851
58852         Fix buggy test for the fchownat-deref bug.
58853         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
58854         symlink required for the run-test.  Without it, this test would
58855         always declare that fchownat doesn't work, and client code would
58856         unnecessarily use the replacement function with fixed libc.
58857         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
58858         Reported by Greg Schafer.
58859
58860 2007-05-19  Bruno Haible  <bruno@clisp.org>
58861
58862         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
58863         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
58864         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
58865         Needed for IRIX 6.5 and Solaris 2.5.1.
58866
58867 2007-05-19  Bruno Haible  <bruno@clisp.org>
58868
58869         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
58870         (test_function): Skip tests involving -0.0 on platforms where
58871         -0.0 = 0.0.
58872         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
58873         (test_function): Skip tests involving -0.0 on platforms where
58874         -0.0 = 0.0.
58875         * tests/test-snprintf-posix.h (have_minus_zero): New function.
58876         (test_function): Skip tests involving -0.0 on platforms where
58877         -0.0 = 0.0.
58878         * tests/test-sprintf-posix.h (have_minus_zero): New function.
58879         (test_function): Skip tests involving -0.0 on platforms where
58880         -0.0 = 0.0.
58881         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
58882         tests.
58883         * tests/test-printf-posix.h (test_function): Likewise.
58884         * tests/test-printf-posix.output: Remove all -0.0 related results.
58885         Needed for IRIX 6.5.
58886
58887 2007-05-19  Bruno Haible  <bruno@clisp.org>
58888
58889         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58890         printed as "nan0x7fffffff" instead of "nan".
58891         * tests/test-vasprintf-posix.c (test_function): Likewise.
58892         * tests/test-snprintf-posix.h (test_function): Likewise.
58893         * tests/test-sprintf-posix.h (test_function): Likewise.
58894         * tests/test-fprintf-posix.h (NaN): Remove macro.
58895         (test_function): Remove all NaN related tests.
58896         * tests/test-printf-posix.h (NaN): Remove macro.
58897         (test_function): Remove all NaN related tests.
58898         * tests/test-printf-posix.output: Remove all NaN related results.
58899         Needed for IRIX 6.5.
58900
58901 2007-05-19  Bruno Haible  <bruno@clisp.org>
58902
58903         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
58904         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
58905
58906 2007-05-19  Bruno Haible  <bruno@clisp.org>
58907
58908         * lib/float_.h: New file.
58909         * m4/float_h.m4: New file.
58910         * modules/float: New file.
58911         * modules/isnanl (Dependencies): Add float.
58912         * modules/isnanl-nolibm (Dependencies): Likewise.
58913         * modules/mathl (Dependencies): Likewise.
58914         * modules/printf-frexpl (Dependencies): Likewise.
58915         * modules/signbit (Dependencies): Likewise.
58916         * modules/vasnprintf (Dependencies): Likewise.
58917         * doc/headers/float.texi: Update.
58918
58919 2007-05-19  Jim Meyering  <jim@meyering.net>
58920
58921         * lib/utimens.c (gl_futimens): Rename from futimens,
58922         now that glibc-2.6 declares futimens.
58923         * lib/utimens.h: Likewise.
58924
58925 2007-05-19  Bruno Haible  <bruno@clisp.org>
58926
58927         Avoid test failures on mingw.
58928         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
58929         * tests/test-printf-posix.sh: Likewise.
58930         * tests/test-vfprintf-posix.sh: Likewise.
58931         * tests/test-vprintf-posix.sh: Likewise.
58932
58933 2007-05-19  Bruno Haible  <bruno@clisp.org>
58934
58935         Fix *printf result for NaN, Inf, -0.0 on mingw.
58936         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
58937         * lib/vasnprintf.c: Include math.h and isnan.h.
58938         (is_infinite_or_zero): New function.
58939         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
58940         values in the %f, %F, %e, %E, %g, %G directives.
58941         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
58942         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58943         gl_PRINTF_INFINITE and test its result. Invoke
58944         gl_PREREQ_VASNPRINTF_INFINITE.
58945         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58946         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58947         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58948         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58949         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58950         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58951         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58952         * doc/functions/fprintf.texi: Update.
58953         * doc/functions/printf.texi: Update.
58954         * doc/functions/snprintf.texi: Update.
58955         * doc/functions/sprintf.texi: Update.
58956         * doc/functions/vfprintf.texi: Update.
58957         * doc/functions/vprintf.texi: Update.
58958         * doc/functions/vsnprintf.texi: Update.
58959         * doc/functions/vsprintf.texi: Update.
58960
58961 2007-05-19  Bruno Haible  <bruno@clisp.org>
58962
58963         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
58964         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
58965         Instead of multiplying with 10^k, set extra_zeroes to k.
58966         (scale10_round_long_double): Remove function.
58967
58968 2007-05-18  Bruno Haible  <bruno@clisp.org>
58969
58970         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
58971         introduced on 2007-05-06.
58972
58973 2007-05-18  Bruno Haible  <bruno@clisp.org>
58974
58975         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
58976         %g directives.
58977         * tests/test-vasprintf-posix.c (test_function): Likewise.
58978         * tests/test-snprintf-posix.h (test_function): Likewise.
58979         * tests/test-sprintf-posix.h (test_function): Likewise.
58980
58981 2007-05-18  Bruno Haible  <bruno@clisp.org>
58982
58983         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
58984         (strmatch): New function.
58985         (test_function): Test the %f directive on numbers of various exponents.
58986         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
58987         (strmatch): New function.
58988         (test_function): Test the %f directive on numbers of various exponents.
58989         * tests/test-snprintf-posix.h (strmatch): New function.
58990         (test_function): Test the %f directive on numbers of various exponents.
58991         * tests/test-sprintf-posix.h (strmatch): New function.
58992         (test_function): Test the %f directive on numbers of various exponents.
58993         * tests/test-snprintf-posix.c (SIZEOF): New macro.
58994         * tests/test-sprintf-posix.c (SIZEOF): New macro.
58995         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
58996         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
58997
58998 2007-05-18  Bruno Haible  <bruno@clisp.org>
58999
59000         Add support for 'long double' number output.
59001         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
59002         * lib/vasnprintf.c: Include math.h and float+.h.
59003         (mp_limb_t): New type.
59004         (GMP_LIMB_BITS): New macro.
59005         (mp_twolimb_t): New type.
59006         (GMP_TWOLIMB_BITS): New macro.
59007         (mpn_t): New type.
59008         (multiply, divide, convert_to_decimal, decode_long_double,
59009         scale10_round_long_double, scale10_round_decimal_long_double,
59010         floorlog10l): New functions.
59011         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
59012         for the %f, %F, %e, %E, %g, %G directives.
59013         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
59014         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59015         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
59016         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
59017         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59018         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59019         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59020         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59021         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59022         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59023         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59024         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
59025         * modules/snprintf-posix (Depends-on): Likewise.
59026         * modules/sprintf-posix (Depends-on): Likewise.
59027         * modules/vasnprintf-posix (Depends-on): Likewise.
59028         * modules/vasprintf-posix (Depends-on): Likewise.
59029         * modules/vfprintf-posix (Depends-on): Likewise.
59030         * modules/vsnprintf-posix (Depends-on): Likewise.
59031         * modules/vsprintf-posix (Depends-on): Likewise.
59032         * modules/vasnprintf (Files): Add lib/float+.h.
59033         * doc/functions/fprintf.texi: Update.
59034         * doc/functions/printf.texi: Update.
59035         * doc/functions/snprintf.texi: Update.
59036         * doc/functions/sprintf.texi: Update.
59037         * doc/functions/vfprintf.texi: Update.
59038         * doc/functions/vprintf.texi: Update.
59039         * doc/functions/vsnprintf.texi: Update.
59040         * doc/functions/vsprintf.texi: Update.
59041
59042 2007-05-18  Bruno Haible  <bruno@clisp.org>
59043
59044         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
59045
59046 2007-05-18  Bruno Haible  <bruno@clisp.org>
59047
59048         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
59049         for printing 64-bit integers. Needed for mingw.
59050
59051 2007-05-18  Bruno Haible  <bruno@clisp.org>
59052
59053         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
59054         gl_FUNC_FREXPL_WORKS.
59055         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
59056
59057 2007-05-18  Bruno Haible  <bruno@clisp.org>
59058
59059         * modules/frexpl-nolibm-tests: New file.
59060
59061         * modules/frexpl-nolibm: New file.
59062         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
59063
59064 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59065
59066         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
59067         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59068         GCC 4.2, which otherwise issues a lot of warnings.
59069         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
59070         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
59071         Likewise.
59072         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
59073         * modules/iconv_open (iconv.h): Likewise.
59074         * modules/locale (locale.h): Likewise.
59075         * modules/netinet_in (netinet/in.h): Likewise.
59076         * modules/sys_select (sys_select.h): Likewise.
59077         * modules/sys_socket (sys/socket.h): Likewise.
59078         * modules/sys_stat (sys/stat.h): Likewise.
59079         * modules/sysexits (sysexits.h): Likewise.
59080         * modules/unistd (unistd.h): Likewise.
59081
59082 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59083
59084         * modules/closein-tests (Makefile.am): Distribute
59085         `test-closein.sh'.
59086
59087 2007-05-17  Bruno Haible  <bruno@clisp.org>
59088
59089         * tests/test-printf-posix.output: Renamed from
59090         tests/test-fprintf-posix.out.
59091         * modules/fprintf-posix-tests: Update.
59092         * modules/printf-posix-tests: Update.
59093         * modules/vfprintf-posix-tests: Update.
59094         * modules/vprintf-posix-tests: Update.
59095         * tests/test-fprintf-posix.sh: Update.
59096         * tests/test-printf-posix.sh: Update.
59097         * tests/test-vfprintf-posix.sh: Update.
59098         * tests/test-vprintf-posix.sh: Update.
59099         Reported by Ralf Wildenhues.
59100
59101 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59102
59103         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
59104         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59105         GCC 4.2, which otherwise issues a lot of warnings.
59106         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
59107         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
59108         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
59109         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
59110         it should no longer be needed.
59111         * lib/string_.h: Likewise.
59112         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
59113         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
59114         * modules/inttypes (inttypes.h): Likewise.
59115         * modules/math (math.h): Likewise.
59116         * modules/search (search.h): Likewise.
59117         * modules/signal (signal.h): Likewise.
59118         * modules/stdint (stdint.h): Likewise.
59119         * modules/stdio (stdio.h): Likewise.
59120         * modules/stdlib (stdlib.h): Likewise.
59121         * modules/string (string.h): Likewise.
59122         * modules/sys_time (sys/time.h): Likewise.
59123         * modules/time (time.h): Likewise.
59124         * modules/wchar (wchar.h): Likewise.
59125         * modules/wctype (wtype.h): Likewise.
59126
59127 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59128
59129         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
59130
59131 2007-05-13  Bruno Haible  <bruno@clisp.org>
59132
59133         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
59134         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59135         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
59136         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59137         (gl_PREREQ_STRTOK_R): Don't require it here.
59138
59139 2007-05-13  Bruno Haible  <bruno@clisp.org>
59140
59141         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
59142         when used in C++ mode.
59143
59144 2007-05-12  Bruno Haible  <bruno@clisp.org>
59145
59146         * lib/linebuffer.h: Tweak doc.
59147         * lib/linebuffer.c: Likewise.
59148
59149 2007-05-12  James Youngman  <jay@gnu.org>
59150
59151         * lib/linebuffer.c (readlinebuffer_delim): New function,
59152         like readlinebuffer, but use a caller-specified delimiter.
59153         (readlinebuffer): Just call readlinebuffer_delim with '\n'
59154         as the delimiter.
59155         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
59156
59157 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59158
59159         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
59160         * modules/openat (Files): Remove openat-die.c.
59161         (Depends-on): Add openat-die.
59162         * modules/openat-die: New module.
59163
59164 2007-05-06  Bruno Haible  <bruno@clisp.org>
59165
59166         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
59167         Update with info about Cygwin.
59168         * doc/functions/fprintf.texi: Update.
59169         * doc/functions/printf.texi: Update.
59170         * doc/functions/snprintf.texi: Update.
59171         * doc/functions/sprintf.texi: Update.
59172         * doc/functions/vfprintf.texi: Update.
59173         * doc/functions/vprintf.texi: Update.
59174         * doc/functions/vsnprintf.texi: Update.
59175         * doc/functions/vsprintf.texi: Update.
59176         Reported by Eric Blake.
59177
59178 2007-05-06  Bruno Haible  <bruno@clisp.org>
59179
59180         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
59181         padding ourselves for the floating-point directives.
59182         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
59183         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
59184         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59185         gl_PRINTF_FLAG_ZERO and test its result. Invoke
59186         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
59187         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59188         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59189         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59190         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59191         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59192         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59193         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59194         * tests/test-snprintf-posix.h (test_function): Also check the width
59195         and some flags in the %f directive.
59196         * tests/test-sprintf-posix.h (test_function): Likewise.
59197         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59198         * tests/test-vasprintf-posix.c (test_function): Likewise.
59199         * doc/functions/fprintf.texi: Update.
59200         * doc/functions/printf.texi: Update.
59201         * doc/functions/snprintf.texi: Update.
59202         * doc/functions/sprintf.texi: Update.
59203         * doc/functions/vfprintf.texi: Update.
59204         * doc/functions/vprintf.texi: Update.
59205         * doc/functions/vsnprintf.texi: Update.
59206         * doc/functions/vsprintf.texi: Update.
59207
59208 2007-05-06  Bruno Haible  <bruno@clisp.org>
59209
59210         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
59211         pass the ' flag character to sprintf or snprintf.
59212         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
59213         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
59214         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59215         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
59216         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
59217         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59218         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59219         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59220         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59221         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59222         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59223         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59224         * tests/test-snprintf-posix.h (test_function): Also check the grouping
59225         flag.
59226         * tests/test-sprintf-posix.h (test_function): Likewise.
59227         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59228         * tests/test-vasprintf-posix.c (test_function): Likewise.
59229         * doc/functions/fprintf.texi: Update.
59230         * doc/functions/printf.texi: Update.
59231         * doc/functions/snprintf.texi: Update.
59232         * doc/functions/sprintf.texi: Update.
59233         * doc/functions/vfprintf.texi: Update.
59234         * doc/functions/vprintf.texi: Update.
59235         * doc/functions/vsnprintf.texi: Update.
59236         * doc/functions/vsprintf.texi: Update.
59237
59238 2007-05-01  Bruno Haible  <bruno@clisp.org>
59239
59240         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
59241
59242 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
59243
59244         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
59245         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
59246
59247 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59248
59249         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
59250         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
59251         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
59252
59253 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
59254
59255         * lib/argp-help.c (struct hol_entry): New member `ord'.
59256         (HOL_ENTRY_PTRCMP): Use ord for comparison
59257         (hol_sort): Initialize ord.
59258
59259 2007-05-01  Bruno Haible  <bruno@clisp.org>
59260
59261         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
59262         Reported by Eric Blake.
59263         * doc/gnulib.texi (Function Substitutes): Update.
59264
59265 2007-05-01  Bruno Haible  <bruno@clisp.org>
59266
59267         * doc/functions.texi: Remove file, now redundant through
59268         doc/functions/*.texi.
59269
59270 2007-05-01  Bruno Haible  <bruno@clisp.org>
59271
59272         * modules/argp (Depends-on): Add sleep.
59273
59274 2007-05-01  Bruno Haible  <bruno@clisp.org>
59275
59276         * modules/sleep-tests: New file.
59277         * tests/test-sleep.c: New file.
59278
59279         * modules/sleep: New file.
59280         * lib/sleep.c: New file.
59281         * m4/sleep.m4: New file.
59282         * lib/unistd_.h (sleep): New declaration.
59283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
59284         HAVE_SLEEP.
59285         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
59286         * doc/functions/sleep.texi: Document the sleep module.
59287
59288 2007-05-01  Bruno Haible  <bruno@clisp.org>
59289
59290         * lib/sigprocmask.h: Remove file.
59291         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
59292         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
59293         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
59294         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
59295         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
59296         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
59297         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
59298         HAVE_SIGSET_T as a shell variable.
59299         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
59300         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
59301         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
59302         (Depends-on): Add signal. Remove verify.
59303         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
59304         (Include): Mention <signal.h> instead of sigprocmask.h.
59305         * NEWS: Mention the change.
59306         * lib/fatal-signal.c: Don't include sigprocmask.h.
59307
59308 2007-05-01  Bruno Haible  <bruno@clisp.org>
59309
59310         * modules/signal: New file.
59311         * lib/signal_.h: New file.
59312         * m4/signal_h.m4: New file.
59313
59314 2007-05-01  Bruno Haible  <bruno@clisp.org>
59315
59316         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
59317         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
59318         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
59319         HAVE_WCTYPE_CTMP_BUG into wctype.h.
59320
59321 2007-05-01  Bruno Haible  <bruno@clisp.org>
59322
59323         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
59324         configure time.
59325         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
59326         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
59327         * modules/sys_stat (Makefile.am): Substitute their values into
59328         sys/stat.h.
59329
59330 2007-05-01  Bruno Haible  <bruno@clisp.org>
59331
59332         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
59333         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
59334         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
59335
59336 2007-05-01  Bruno Haible  <bruno@clisp.org>
59337
59338         * doc/header/assert.texi: Undo last change: don't mention the gnulib
59339         'assert' module here.
59340
59341 2007-05-01  Bruno Haible  <bruno@clisp.org>
59342
59343         * doc/functions/*.texi: New files.
59344         * doc/functions/google-ranking.txt: New file.
59345         * doc/gnulib.texi (Function Substitutes): New chapter.
59346         (ctime, inet_ntoa): Remove sections.
59347         * doc/ctime.texi: Remove file.
59348         * doc/inet_ntoa.texi: Remove file.
59349         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
59350         dependencies.
59351         (%.info): New rule, specifying a --reference-limit.
59352
59353 2007-05-01  Bruno Haible  <bruno@clisp.org>
59354
59355         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
59356
59357 2007-05-01  Bruno Haible  <bruno@clisp.org>
59358
59359         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
59360         the portability of 'mkdir' to mingw systems.
59361
59362 2007-05-01  Bruno Haible  <bruno@clisp.org>
59363
59364         * doc/headers/google-ranking.txt: New file.
59365
59366 2007-04-30  Eric Blake  <ebb9@byu.net>
59367
59368         Prefer fseeko to fseek.
59369         * modules/getpass (Depends-on): Add fseeko.
59370         * lib/getpass.c (getpass): Use fseeko, not fseek.
59371
59372 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
59373
59374         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
59375         assumes the sorting is stable, while most qsort implementations
59376         are not.  Use argument addresses to ensure they never compare as
59377         equal.
59378
59379         * tests/test-argp-2.sh (usage-indent test): Fix output
59380         (func_compare): Restore diff options
59381         * tests/test-argp.c: Restore #include "progname.h"
59382
59383 2007-04-29  Bruno Haible  <bruno@clisp.org>
59384
59385         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
59386         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59387         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
59388         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59389         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
59390         (configure.ac): Define CHECK_SNPRINTF_POSIX.
59391         (TESTS, check_PROGRAMS): Add test-snprintf.
59392         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
59393         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
59394         (TESTS, check_PROGRAMS): Add test-vsnprintf.
59395         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
59396         assertions that fail on HP-UX, OSF/1, or IRIX.
59397         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
59398
59399 2007-04-29  Bruno Haible  <bruno@clisp.org>
59400
59401         * MODULES.html.sh (posix_functions): Remove 'contents'.
59402
59403 2007-04-29  Karl Berry  <karl@gnu.org>
59404
59405         * config/srclist.txt (gendocs_template_min): new entry.
59406
59407 2007-04-29  Bruno Haible  <bruno@clisp.org>
59408
59409         Work around fpurge bug on BSD systems.
59410         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
59411         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
59412         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
59413         fpurge to rpl_fpurge if the system already has this function.
59414         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
59415         the case where the system already has this function. Correct invariants
59416         on BSD systems.
59417         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
59418         BSD systems.
59419
59420 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59421
59422         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
59423         proposed by Sven Verdoolaege.
59424
59425         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
59426         options.
59427         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
59428         (usage and help tests): Update
59429
59430 2007-04-29  Bruno Haible  <bruno@clisp.org>
59431
59432         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59433         Print more information in case of failure. Disable a test on BeOS.
59434
59435 2007-04-29  Bruno Haible  <bruno@clisp.org>
59436
59437         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59438         This helps debugging on systems on which no gdb is available.
59439
59440 2007-04-29  Bruno Haible  <bruno@clisp.org>
59441
59442         * lib/freading.h: Improve comments.
59443         * lib/fwriting.h: Likewise.
59444         * tests/test-freading.c (main): Don't check freading immediately after
59445         repositioning. Needed for glibc.
59446
59447 2007-04-29  Bruno Haible  <bruno@clisp.org>
59448
59449         * lib/freading.c (freading): Trivial simplification.
59450
59451 2007-04-28  Bruno Haible  <bruno@clisp.org>
59452
59453         * tests/test-fwriting.c (main): Also test the interaction between
59454         fflush and fwriting.
59455         * modules/fwriting-tests (Depends-on): Add fflush.
59456
59457         * tests/test-freading.c (main): Also test the interaction between
59458         fflush and freading.
59459         * modules/freading-tests (Depends-on): Add fflush.
59460
59461 2007-04-28  Bruno Haible  <bruno@clisp.org>
59462
59463         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59464         fseeko and ftello.
59465         Suggested by Eric Blake.
59466
59467 2007-04-28  Jim Meyering  <jim@meyering.net>
59468
59469         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59470         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59471         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59472
59473 2007-04-27  Eric Blake  <ebb9@byu.net>
59474
59475         * doc/headers/assert.texi (assert.h): Document assert module use.
59476
59477 2007-04-27  Bruno Haible  <bruno@clisp.org>
59478
59479         * doc/headers/*.texi: New files.
59480         * doc/gnulib.texi (Header File Substitutes): New chapter.
59481         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59482         dependencies.
59483         (standards.info ,standards.html, standards.dvi): Update dependencies.
59484         (mostlyclean, clean): New targets.
59485
59486 2007-04-27  Bruno Haible  <bruno@clisp.org>
59487
59488         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59489         * modules/sysexits (Files, Makefile.am): Update.
59490
59491         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59492         * modules/sys_socket (Files, Makefile.am): Update.
59493
59494         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59495         * modules/sys_stat (Files, Makefile.am): Update.
59496
59497 2007-04-27  Eric Blake  <ebb9@byu.net>
59498
59499         * lib/freading.h: Improve comments.
59500         * lib/fwriting.h: Likewise.
59501         * lib/fflush.c: Likewise.
59502
59503         Fix closein for mingw.
59504         * modules/closein-tests: Add tests for closein.
59505         * tests/test-closein.c: New file.
59506         * tests/test-closein.sh: Likewise.
59507         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59508         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59509
59510 2007-04-27  Bruno Haible  <bruno@clisp.org>
59511
59512         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59513         version is < 6.
59514         * lib/math_.h [__DECC]: Likewise.
59515         * lib/stdio_.h [__DECC]: Likewise.
59516         * lib/stdlib_.h [__DECC]: Likewise.
59517         * lib/string_.h [__DECC]: Likewise.
59518         * lib/time_.h [__DECC]: Likewise.
59519         * lib/wchar_.h [__DECC]: Likewise.
59520         * lib/wctype_.h [__DECC]: Likewise.
59521
59522 2007-04-27  Bruno Haible  <bruno@clisp.org>
59523
59524         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59525
59526 2007-04-27  Bruno Haible  <bruno@clisp.org>
59527
59528         * lib/fflush.c: Add comments.
59529         * modules/fpurge-tests (Depends-on): Add fflush.
59530         * modules/freadable-tests (Depends-on): Likewise.
59531         * modules/fwritable-tests (Depends-on): Likewise.
59532
59533 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59534
59535         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59536         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59537         Report by Bruno Haible <bruno@clisp.org>.
59538
59539 2007-04-26  Eric Blake  <ebb9@byu.net>
59540
59541         Fix fflush on mingw.
59542         * modules/fflush (Depends-on): Add freading.
59543         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59544         but unread data.
59545
59546 2007-04-26  Eric Blake  <ebb9@byu.net>
59547         and Bruno Haible  <bruno@clisp.org>
59548
59549         Implement freading and fwriting.
59550         * lib/freading.c: New file.
59551         * lib/freading.h: Likewise.
59552         * m4/freading.m4: Likewise.
59553         * modules/freading: Likewise.
59554         * modules/freading-tests: Likewise.
59555         * tests/test-freading.c: Likewise.
59556         * lib/fwriting.c: New file.
59557         * lib/fwriting.h: Likewise.
59558         * m4/fwriting.m4: Likewise.
59559         * modules/fwriting: Likewise.
59560         * modules/fwriting-tests: Likewise.
59561         * tests/test-fwriting.c: Likewise.
59562         * MODULES.html.sh (File stream based Input/Output): Mention them.
59563
59564 2007-04-26  Bruno Haible  <bruno@clisp.org>
59565
59566         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59567         'long' when we assume it.
59568         Suggested by Eric Blake.
59569
59570 2007-04-26  Bruno Haible  <bruno@clisp.org>
59571
59572         Ensure fseeko, ftello are declared on glibc systems.
59573         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59574         * modules/fseeko (configure.ac-early): Likewise.
59575         * modules/ftello (configure.ac-early): Likewise.
59576         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59577         AC_FUNC_FSEEKO for this.
59578         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59579         (gl_CHECK_FSEEKO): Remove macro.
59580
59581 2007-04-26  Bruno Haible  <bruno@clisp.org>
59582
59583         * tests/test-fflush.c (main): Also check the ftell result after
59584         fflush and fseek/fseeko.
59585         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59586         file descriptor position cache in the stream.
59587         * lib/fseeko.c (rpl_fseeko): Likewise.
59588
59589 2007-04-26  Bruno Haible  <bruno@clisp.org>
59590
59591         * modules/fflush-tests (Depends-on): Add fseeko.
59592
59593 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59594             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59595
59596         * lib/argz_.h: ensure error_t definition is obtained in same
59597         mechanism system argz.h would have.
59598         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59599         argz facilities are known bad.  Err on the side of caution if
59600         cross-compiling.
59601
59602 2007-04-25  Eric Blake  <ebb9@byu.net>
59603
59604         * lib/fpurge.c (includes): Use stdlib.h for free.
59605         * tests/test-fflush.c (main): Also test fflush-fseeko.
59606
59607 2007-04-25  Bruno Haible  <bruno@clisp.org>
59608
59609         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59610         * lib/fseeko.c: New file.
59611         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59612         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59613         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59614         gl_FUNC_FSEEKO.
59615         (gl_FUNC_FSEEKO): Invoke it.
59616         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59617         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59618         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59619
59620 2007-04-25  Bruno Haible  <bruno@clisp.org>
59621
59622         * modules/fflush (Depends-on): Add ftello.
59623
59624 2007-04-25  Bruno Haible  <bruno@clisp.org>
59625
59626         * modules/ftello-tests: New file.
59627         * tests/test-ftello.c: New file.
59628
59629         * modules/ftello: New file.
59630         * m4/ftello.m4: New file.
59631         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59632         HAVE_FTELLO.
59633         * lib/stdio_.h (ftello): New declaration.
59634         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59635         HAVE_FTELLO.
59636
59637 2007-04-25  Bruno Haible  <bruno@clisp.org>
59638
59639         * modules/fseeko-tests: New file.
59640         * tests/test-fseeko.c: New file.
59641
59642         * modules/fseeko: New file.
59643         * m4/fseeko.m4: New file.
59644         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59645         HAVE_FSEEKO.
59646         * lib/stdio_.h (fseeko): New declaration.
59647         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59648         HAVE_FSEEKO.
59649
59650 2007-04-25  Bruno Haible  <bruno@clisp.org>
59651
59652         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59653
59654 2007-04-25  Bruno Haible  <bruno@clisp.org>
59655
59656         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59657         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59658         * tests/test-unistd.c: Likewise.
59659         * tests/test-fcntl.c: Likewise.
59660
59661 2007-04-23  Eric Blake  <ebb9@byu.net>
59662
59663         * lib/fflush.c: Fix missing include.
59664         Reported by Bruno Haible.
59665
59666 2007-04-23  Bruno Haible  <bruno@clisp.org>
59667
59668         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59669         Reported by Eric Blake.
59670
59671 2007-04-23  Bruno Haible  <bruno@clisp.org>
59672
59673         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59674
59675 2007-04-23  Bruno Haible  <bruno@clisp.org>
59676
59677         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59678
59679 2007-04-23  Bruno Haible  <bruno@clisp.org>
59680
59681         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59682         Needed on HP-UX 11.
59683
59684 2007-04-16  Eric Blake  <ebb9@byu.net>
59685
59686         Make fflush rely on fpurge.
59687         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59688         open coding all variants.
59689         * modules/fflush (Depends-on): Add fpurge and unistd.
59690         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59691         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59692
59693         Fix --with-tests compilation on cygwin.
59694         * modules/argmatch-tests (Makefile.am): List gnulib library first
59695         in LDADD.
59696         * modules/argp-tests (Makefile.am): Likewise.
59697         * modules/array-list-tests (Makefile.am): Likewise.
59698         * modules/array-oset-tests (Makefile.am): Likewise.
59699         * modules/avltree-list-tests (Makefile.am): Likewise.
59700         * modules/avltree-oset-tests (Makefile.am): Likewise.
59701         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59702         * modules/carray-list-tests (Makefile.am): Likewise.
59703         * modules/dirname-tests (Makefile.am): Likewise.
59704         * modules/frexp-tests (Makefile.am): Likewise.
59705         * modules/isnanl-tests (Makefile.am): Likewise.
59706         * modules/linked-list-tests (Makefile.am): Likewise.
59707         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59708         * modules/lock-tests (Makefile.am): Likewise.
59709         * modules/rbtree-list-tests (Makefile.am): Likewise.
59710         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59711         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59712         * modules/tls-tests (Makefile.am): Likewise.
59713         * modules/tsearch-tests (Makefile.am): Likewise.
59714         * modules/xvasprintf-tests (Makefile.am): Likewise.
59715
59716         Fix fpurge for cygwin.
59717         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59718         value.
59719         * modules/fpurge-tests (Depends-on): Clean up trash.
59720
59721 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59722
59723         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59724
59725         * m4/autobuild.m4: Re-indent.
59726
59727 2007-04-13  Bruno Haible  <bruno@clisp.org>
59728
59729         * modules/fpurge-tests: New file.
59730         * tests/test-fpurge.c: New file.
59731
59732         * modules/fpurge: New file.
59733         * lib/fpurge.h: New file.
59734         * lib/fpurge.c: New file.
59735         * m4/fpurge.m4: New file.
59736
59737 2007-04-13  Bruno Haible  <bruno@clisp.org>
59738
59739         * modules/fbufmode-tests: New file.
59740         * tests/test-fbufmode.c: New file.
59741
59742         * modules/fbufmode: New file.
59743         * lib/fbufmode.h: New file.
59744         * lib/fbufmode.c: New file.
59745         * m4/fbufmode.m4: New file.
59746
59747 2007-04-13  Bruno Haible  <bruno@clisp.org>
59748
59749         * modules/fwritable-tests: New file.
59750         * tests/test-fwritable.c: New file.
59751
59752         * modules/fwritable: New file.
59753         * lib/fwritable.h: New file.
59754         * lib/fwritable.c: New file.
59755         * m4/fwritable.m4: New file.
59756
59757 2007-04-13  Bruno Haible  <bruno@clisp.org>
59758
59759         * modules/freadable-tests: New file.
59760         * tests/test-freadable.c: New file.
59761
59762         * modules/freadable: New file.
59763         * lib/freadable.h: New file.
59764         * lib/freadable.c: New file.
59765         * m4/freadable.m4: New file.
59766
59767 2007-04-13  Bruno Haible  <bruno@clisp.org>
59768
59769         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59770         MOSTLYCLEANFILES.
59771
59772 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59773
59774         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59775         gzip bootstrap.conf to avoid dragging in i18n machinery.
59776         (gnulib_tool_option): Use it.
59777
59778 2007-04-13  Bruno Haible  <bruno@clisp.org>
59779
59780         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59781         %F directives.
59782         * tests/test-vasprintf-posix.c (test_function): Likewise.
59783         * tests/test-snprintf-posix.h (test_function): Likewise.
59784         * tests/test-sprintf-posix.h (test_function): Likewise.
59785         * tests/test-fprintf-posix.h (test_function): Likewise.
59786         * tests/test-printf-posix.h (test_function): Likewise.
59787         * tests/test-fprintf-posix.out: Likewise.
59788
59789 2007-04-13  Bruno Haible  <bruno@clisp.org>
59790
59791         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59792         * modules/tls-tests (configure.ac): Likewise.
59793         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59794
59795 2007-04-13  Bruno Haible  <bruno@clisp.org>
59796
59797         * lib/tls.c (glthread_tls_get): Fix return type.
59798         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59799
59800 2007-04-12  Eric Blake  <ebb9@byu.net>
59801
59802         * modules/gettime (Depends-on): Remove gettime.
59803         Reported by Dmitry V. Levin.
59804
59805 2007-04-12  Bruno Haible  <bruno@clisp.org>
59806
59807         * modules/fflush (Include): Mention <stdio.h>.
59808         * modules/strtoimax (Include): Mention <inttypes.h>.
59809         * modules/strtoumax (Include): Likewise.
59810
59811 2007-04-12  Eric Blake  <ebb9@byu.net>
59812
59813         * .cvsignore: New file.
59814         * .gitignore: Likewise.
59815
59816 2007-04-12  Bruno Haible  <bruno@clisp.org>
59817
59818         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59819         not before, since $(LDADD) often contains libgnu.a.
59820         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59821         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59822         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59823         Needed on Cygwin.
59824
59825 2007-04-12  Eric Blake  <ebb9@byu.net>
59826
59827         Work around glibc's failure to flush stdin on fclose.
59828         * lib/closein.c (close_stdin): Flush stdin before closing.
59829
59830         Work around glibc's failure to reset seekable stdin on exit.
59831         * modules/closein: New module.
59832         * lib/closein.c: New file.
59833         * lib/closein.h: Likewise.
59834         * m4/closein.m4: Likewise.
59835         * MODULES.html.sh (File stream based Input/Output): Document it.
59836
59837 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59838
59839         * gnulib-tool: Rename generated 'autobuild' script to
59840         'do-autobuild' in --create-megatestdir output.
59841
59842         * doc/gnulib.texi (Build robot for gnulib): Fix.
59843
59844 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59845
59846         * modules/sysexits (Depends-on): Add absolute-header.
59847
59848 2007-04-12  Eric Blake  <ebb9@byu.net>
59849
59850         No need to preserve errno on success.
59851         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
59852         Reported by Bruno Haible.
59853
59854 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59855
59856         * MODULES.html.sh (Support for maintaining and releasing
59857         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
59858
59859 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59860
59861         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
59862
59863 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59864
59865         * modules/autobuild: New module.
59866
59867         * m4/autobuild.m4: New file.
59868
59869 2007-04-11  Bruno Haible  <bruno@clisp.org>
59870
59871         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
59872         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
59873         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
59874         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
59875         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59876         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59877         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59878         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59879         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59880         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59881         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
59882         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59883         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59884         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
59885         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59886         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59887         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
59888         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59889         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59890         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
59891         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59892         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59893         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
59894         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59895         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59896         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
59897         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59898         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59899         Reported by Eric Blake.
59900
59901 2007-04-11  Bruno Haible  <bruno@clisp.org>
59902
59903         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
59904
59905 2007-04-10  Bruno Haible  <bruno@clisp.org>
59906
59907         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
59908         for NaN and Infinity. Needed on FreeBSD 6.1.
59909         * tests/test-vasnprintf-posix.c (test_function): Undo last change
59910         regarding results for "%010a" of Infinity and NaN.
59911         * tests/test-vasprintf-posix.c (test_function): Likewise.
59912         * tests/test-snprintf-posix.h (test_function): Likewise.
59913         * tests/test-sprintf-posix.h (test_function): Likewise.
59914         * tests/test-fprintf-posix.h (test_function): Likewise.
59915         * tests/test-printf-posix.h (test_function): Likewise.
59916         * tests/test-fprintf-posix.out: Likewise.
59917
59918 2007-04-10  Bruno Haible  <bruno@clisp.org>
59919
59920         * modules/locale-tests: New file.
59921         * tests/test-locale.c: New file.
59922
59923         * modules/locale: New file.
59924         * lib/locale_.h: New file.
59925         * m4/locale_h.m4: New file.
59926
59927 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
59928             Bruno Haible  <bruno@clisp.org>
59929
59930         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
59931         be determined, test for availability of the copysignf, copysign,
59932         copysignl functions.
59933         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
59934         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
59935         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
59936
59937 2007-04-09  Eric Blake  <ebb9@byu.net>
59938
59939         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
59940         * modules/stdio (Makefile.am): Support fflush.
59941         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59942         * modules/fflush: New file.
59943         * lib/fflush.c: Likewise.
59944         * m4/fflush.m4: Likewise.
59945         * modules/fflush-tests: New test.
59946         * tests/test-fflush.c: Likewise.
59947         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
59948
59949 2007-04-06  Bruno Haible  <bruno@clisp.org>
59950
59951         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
59952         (VASNPRINTF): Use signbit for faster determination whether to print a
59953         minus sign.
59954         * modules/vasnprintf (Files): Remove lib/float+.h.
59955         * modules/fprintf-posix (Depends-on): Add signbit.
59956         * modules/snprintf-posix (Depends-on): Likewise.
59957         * modules/sprintf-posix (Depends-on): Likewise.
59958         * modules/vasnprintf-posix (Depends-on): Likewise.
59959         * modules/vasprintf-posix (Depends-on): Likewise.
59960         * modules/vfprintf-posix (Depends-on): Likewise.
59961         * modules/vsnprintf-posix (Depends-on): Likewise.
59962         * modules/vsprintf-posix (Depends-on): Likewise.
59963
59964 2007-04-06  Bruno Haible  <bruno@clisp.org>
59965
59966         * tests/test-frexp.c (main): Test also the sign bit of zero results.
59967         * tests/test-frexpl.c (main): Likewise.
59968         * tests/test-ldexpl.c (main): Likewise.
59969         * modules/frexp-tests (Depends-on): Add signbit.
59970         * modules/frexpl-tests (Depdends-on): Likewise.
59971         * modules/ldexpl-tests (Depdends-on): Likewise.
59972
59973 2007-04-06  Bruno Haible  <bruno@clisp.org>
59974
59975         * modules/signbit-tests: New file.
59976         * tests/test-signbit.c: New file.
59977
59978         * modules/signbit: New file.
59979         * lib/signbitf.c: New file.
59980         * lib/signbitd.c: New file.
59981         * lib/signbitl.c: New file.
59982         * m4/signbit.m4: New file.
59983         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
59984         (signbit): New macro.
59985         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
59986         REPLACE_SIGNBIT.
59987         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
59988         REPLACE_FREXPL into math.h.
59989
59990 2007-04-06  Bruno Haible  <bruno@clisp.org>
59991
59992         * modules/isnanf-nolibm-tests: New file.
59993         * tests/test-isnanf.c: New file.
59994
59995         * modules/isnanf-nolibm: New file.
59996         * lib/isnanf.h: New file.
59997         * lib/isnanf.c: New file.
59998         * lib/isnan.c: Consider the USE_FLOAT macro.
59999         * m4/isnanf.m4: New file.
60000
60001 2007-04-06  Bruno Haible  <bruno@clisp.org>
60002
60003         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
60004         (Link): New section.
60005
60006         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
60007
60008 2007-04-06  Bruno Haible  <bruno@clisp.org>
60009
60010         Assume the 'long double' type.
60011         * m4/longdouble.m4: Remove file.
60012         * config/srclist.txt: Don't mention longdouble.m4.
60013         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
60014         * lib/float+.h: Likewise.
60015         * lib/frexp.c: Likewise.
60016         * lib/printf-args.h: Likewise.
60017         * lib/printf-args.c: Likewise.
60018         * lib/printf-frexp.c: Likewise.
60019         * lib/printf-parse.c: Likewise.
60020         * lib/vasnprintf.c: Likewise.
60021         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
60022         * m4/intl.m4: Likewise.
60023         * m4/isnanl.m4: Likewise.
60024         * m4/printf.m4: Likewise.
60025         * m4/printf-frexpl.m4: Likewise.
60026         * m4/vasnprintf.m4: Likewise.
60027         * modules/allocsa (Files): Remove m4/longdouble.m4.
60028         * modules/gettext (Files): Likewise.
60029         * modules/relocatable-prog-wrapper (Files): Likewise.
60030         * modules/vasnprintf (Files): Likewise.
60031         * modules/isnanl (Files): Likewise.
60032         (Include): Simplify.
60033         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
60034         (Include): Simplify.
60035         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
60036         (Include): Simplify.
60037         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
60038         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60039         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
60040         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60041         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60042         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60043         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
60044         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60045         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60046         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60047         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
60048         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60049         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
60050         * tests/test-isnanl.c: Likewise.
60051         * tests/test-snprintf-posix.h: Likewise.
60052         * tests/test-sprintf-posix.h: Likewise.
60053         * tests/test-vasnprintf-posix.c: Likewise.
60054         * tests/test-vasnprintf-posix2.c: Likewise.
60055         * tests/test-vasprintf-posix.c: Likewise.
60056
60057 2007-04-06  Bruno Haible  <bruno@clisp.org>
60058
60059         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
60060         * lib/math_.h [__DECC]: Include the overridden include file through
60061         #include_next, outside the double-inclusion guard.
60062         * lib/stdio_.h [__DECC]: Likewise.
60063         * lib/stdlib_.h [__DECC]: Likewise.
60064         * lib/string_.h [__DECC]: Likewise.
60065         * lib/time_.h [__DECC]: Likewise.
60066         * lib/wchar_.h [__DECC]: Likewise.
60067         * lib/wctype_.h [__DECC]: Likewise.
60068         * lib/inttypes_.h [__DECC]: Likewise.
60069         Reported by Albert Chin <china@thewrittenword.com> in
60070         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
60071
60072 2007-04-04  Eric Blake  <ebb9@byu.net>
60073
60074         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
60075         1.5.x.
60076
60077 2007-04-04  Bruno Haible  <bruno@clisp.org>
60078
60079         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
60080         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
60081
60082 2007-04-04  Bruno Haible  <bruno@clisp.org>
60083
60084         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
60085         results for "%010a" of Infinity and NaN.
60086         * tests/test-vasprintf-posix.c (test_function): Likewise.
60087         * tests/test-snprintf-posix.h (test_function): Likewise.
60088         * tests/test-sprintf-posix.h (test_function): Likewise.
60089         * tests/test-fprintf-posix.h (test_function): Remove these tests.
60090         * tests/test-printf-posix.h (test_function): Likewise.
60091         * tests/test-fprintf-posix.out: Update.
60092         Needed for FreeBSD 6.1.
60093
60094 2007-04-04  Bruno Haible  <bruno@clisp.org>
60095
60096         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
60097         directly used by the gnulib modules nor by gnulib-tool.
60098
60099 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
60100
60101         * DEPENDENCIES: Give overall description of version dependency
60102         desirability.  Use more-typical names for apps.
60103         Add shell, coreutils, diffutils, grep, tar, gzip.
60104
60105 2007-04-04  Simon Josefsson  <simon@josefsson.org>
60106
60107         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
60108
60109 2007-04-04  Karl Berry  <karl@gnu.org>
60110
60111         * MODULES.html.sh (func_module): missing '.
60112
60113 2007-04-03  Bruno Haible  <bruno@clisp.org>
60114
60115         * modules/argmatch-tests (Makefile.am): New variable
60116         test_argmatch_LDADD.
60117         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
60118         * modules/array-list-tests (Makefile.am): New variable
60119         test_array_list_LDADD.
60120         * modules/array-oset-tests (Makefile.am): New variable
60121         test_array_oset_LDADD.
60122         * modules/avltree-list-tests (Makefile.am): New variable
60123         test_avltree_list_LDADD.
60124         * modules/avltree-oset-tests (Makefile.am): New variable
60125         test_avltree_oset_LDADD.
60126         * modules/avltreehash-list-tests (Makefile.am): New variable
60127         test_avltreehash_list_LDADD.
60128         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
60129         test_canonicalize_lgpl_LDADD.
60130         * modules/carray-list-tests (Makefile.am): New variable
60131         test_carray_list_LDADD.
60132         * modules/dirname-tests (Makefile.am): New variable
60133         test_dirname_LDADD.
60134         * modules/linked-list-tests (Makefile.am): New variable
60135         test_linked_list_LDADD.
60136         * modules/linkedhash-list-tests (Makefile.am): New variable
60137         test_linkedhash_list_LDADD.
60138         * modules/rbtree-list-tests (Makefile.am): New variable
60139         test_rbtree_list_LDADD.
60140         * modules/rbtree-oset-tests (Makefile.am): New variable
60141         test_rbtree_oset_LDADD.
60142         * modules/rbtreehash-list-tests (Makefile.am): New variable
60143         test_rbtreehash_list_LDADD.
60144         * modules/xvasprintf-tests (Makefile.am): New variable
60145         test_xvasprintf_LDADD.
60146         Reported by Eric Blake.
60147
60148 2007-04-03  Eric Blake  <ebb9@byu.net>
60149
60150         * DEPENDENCIES: Weaken m4 requirements.
60151
60152 2007-04-03  Bruno Haible  <bruno@clisp.org>
60153
60154         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
60155         * modules/isnanl-tests (configure.ac): Likewise.
60156
60157 2007-04-03  Ben Pfaff  <blp@gnu.org>
60158
60159         * modules/iconv_open: Add $(srcdir)/ to source directory
60160         references in Makefile fragments that call gperf, to fix VPATH
60161         builds.
60162
60163 2007-04-03  Bruno Haible  <bruno@clisp.org>
60164
60165         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
60166         * lib/ldexpl.c: Undo last change.
60167
60168 2007-04-03  Bruno Haible  <bruno@clisp.org>
60169
60170         * modules/printf-frexpl (Depends-on): Undo last change.
60171         (Files): Add m4/ldexpl.m4.
60172
60173 2007-04-03  Bruno Haible  <bruno@clisp.org>
60174
60175         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
60176         * modules/isnanl (Link): New section.
60177
60178         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
60179         * modules/frexp (Link): New section.
60180
60181         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
60182         * modules/frexpl (Link): New section.
60183
60184         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
60185         * modules/ldexpl (Link): New section.
60186
60187 2007-04-03  Bruno Haible  <bruno@clisp.org>
60188
60189         * modules/TEMPLATE-EXTENDED: New file.
60190         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
60191
60192 2007-04-03  Bruno Haible  <bruno@clisp.org>
60193
60194         * DEPENDENCIES: New file.
60195         Suggested by Simon Josefsson.
60196
60197 2007-04-03  Bruno Haible  <bruno@clisp.org>
60198
60199         * doc/gnulib.texi: Escape @.
60200
60201 2007-04-03  James Youngman  <jay@gnu.org>
60202         and Paul Eggert  <eggert@cs.ucla.edu>
60203
60204         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
60205         birthtime on all systems that have birthtime, not just those which
60206         use st_birthtimensec rather than st_birthtim.  Putting zero in
60207         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
60208         that the birth time is not available for files on an NFS mount.
60209
60210 2007-04-03  Simon Josefsson  <simon@josefsson.org>
60211
60212         * modules/memxor: Move back from crypto/, suggested by Bruno.
60213         * modules/crypto/hmac-sha1: Fix memxor dependency.
60214
60215         * modules/crypto/gc: Moved from ../.
60216
60217 2007-04-02  Eric Blake  <ebb9@byu.net>
60218
60219         * lib/ldexpl.c (includes): Avoid libm.
60220
60221         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
60222
60223 2007-04-02  Bruno Haible  <bruno@clisp.org>
60224
60225         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
60226         on IRIX.
60227
60228 2007-04-02  Bruno Haible  <bruno@clisp.org>
60229
60230         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
60231         x86 or x86_64 platforms running MacOS X.
60232         Reported by Ryan Schmidt <@ryandesign.com>.
60233
60234 2007-04-02  Bruno Haible  <bruno@clisp.org>
60235
60236         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
60237         i386.
60238
60239 2007-04-01  Simon Josefsson  <simon@josefsson.org>
60240
60241         * modules/crypto/arcfour: Moved from ../.
60242         * modules/crypto/arcfour-tests: Moved from ../.
60243         * modules/crypto/arctwo: Moved from ../.
60244         * modules/crypto/arctwo-tests: Moved from ../.
60245         * modules/crypto/des: Moved from ../.
60246         * modules/crypto/des-tests: Moved from ../.
60247         * modules/crypto/gc-arcfour: Moved from ../.
60248         * modules/crypto/gc-arcfour-tests: Moved from ../.
60249         * modules/crypto/gc-arctwo: Moved from ../.
60250         * modules/crypto/gc-arctwo-tests: Moved from ../.
60251         * modules/crypto/gc-des: Moved from ../.
60252         * modules/crypto/gc-des-tests: Moved from ../.
60253         * modules/crypto/gc-hmac-md5: Moved from ../.
60254         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
60255         * modules/crypto/gc-hmac-sha1: Moved from ../.
60256         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
60257         * modules/crypto/gc-md2: Moved from ../.
60258         * modules/crypto/gc-md2-tests: Moved from ../.
60259         * modules/crypto/gc-md4: Moved from ../.
60260         * modules/crypto/gc-md4-tests: Moved from ../.
60261         * modules/crypto/gc-md5: Moved from ../.
60262         * modules/crypto/gc-md5-tests: Moved from ../.
60263         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
60264         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
60265         * modules/crypto/gc-random: Moved from ../.
60266         * modules/crypto/gc-rijndael: Moved from ../.
60267         * modules/crypto/gc-rijndael-tests: Moved from ../.
60268         * modules/crypto/gc-sha1: Moved from ../.
60269         * modules/crypto/gc-sha1-tests: Moved from ../.
60270         * modules/crypto/gc-tests: Moved from ../.
60271         * modules/crypto/hmac-md5: Moved from ../.
60272         * modules/crypto/hmac-md5-tests: Moved from ../.
60273         * modules/crypto/hmac-sha1: Moved from ../.
60274         * modules/crypto/hmac-sha1-tests: Moved from ../.
60275         * modules/crypto/md2: Moved from ../.
60276         * modules/crypto/md2-tests: Moved from ../.
60277         * modules/crypto/md4: Moved from ../.
60278         * modules/crypto/md4-tests: Moved from ../.
60279         * modules/crypto/md5: Moved from ../.
60280         * modules/crypto/md5-tests: Moved from ../.
60281         * modules/crypto/memxor: Moved from ../.
60282         * modules/crypto/rijndael: Moved from ../.
60283         * modules/crypto/rijndael-tests: Moved from ../.
60284         * modules/crypto/sha1: Moved from ../.
60285
60286 2007-03-30  James Youngman  <jay@gnu.org>
60287
60288         * tests/test-stat-time.c (prepare_test): use chmod() rather than
60289         rename() to change the ctime of a file (because ctime is unaffected
60290         by rename on jfs2 on AIX 5.1).
60291         (main): Start by doing cleanup, in case a previous run failed leaving
60292         test files behind.
60293
60294 2007-03-31  Bruno Haible  <bruno@clisp.org>
60295
60296         Support old proprietary implementations of iconv.
60297         * modules/iconv_open: New file.
60298         * lib/iconv_.h: New file.
60299         * m4/iconv_h.m4: New file.
60300         * lib/iconv_open.c: New file.
60301         * lib/iconv_open-aix.gperf: New file.
60302         * lib/iconv_open-hpux.gperf: New file.
60303         * lib/iconv_open-irix.gperf: New file.
60304         * lib/iconv_open-osf.gperf: New file.
60305         * m4/iconv_open.m4: New file.
60306         * modules/linebreak (Depends-on): Add iconv_open.
60307         * modules/striconv (Depends-on): Likewise.
60308         * modules/striconveh (Depends-on): Likewise.
60309         * modules/unicodeio (Depends-on): Likewise.
60310         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
60311         (iconv_t)(-1).
60312         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
60313         conversion if cd is (iconv_t)(-1).
60314         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
60315         is not possible.
60316
60317 2007-03-31  Bruno Haible  <bruno@clisp.org>
60318
60319         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60320         work on Solaris either. Protect also second use of "autodetect_jp".
60321
60322 2007-03-31  Bruno Haible  <bruno@clisp.org>
60323
60324         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
60325         the function is not present.
60326
60327 2007-03-31  Bruno Haible  <bruno@clisp.org>
60328
60329         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
60330         the function is not present.
60331
60332 2007-03-31  Bruno Haible  <bruno@clisp.org>
60333
60334         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
60335         a bug in HP-UX iconv_open().
60336
60337 2007-03-31  Bruno Haible  <bruno@clisp.org>
60338
60339         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
60340         (Mathematics <math.h>): New section, add fpieee.
60341         (Input/output <stdio.h>): Add fseterr.
60342         (Mathematics <math.h>): New section, add printf-frexp.
60343         (Container data structures): Add sublist.
60344         (Core language properties): Add fpucw, inline.
60345         (Functions for greatest-width integer types <inttypes.h>): Add
60346         imaxabs, imaxdiv, inttypes.
60347         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
60348         isnanl-nolibm, ldexp.
60349         (Mathematics <math.h>): New section, add printf-frexpl.
60350         (Support for systems lacking POSIX:2001): Add fprintf-posix,
60351         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
60352         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
60353         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
60354         (Unicode string functions): Add unistr/u*-mbtoucr.
60355         (Java): Add javacomp-script, javaexec-script.
60356         (C#): Add csharpcomp-script, csharpexec-script.
60357         (Support for building libraries and executables): Add havelib,
60358         relocatable-*.
60359         (Support for maintaining and releasing projects): Renamed from
60360         'Support for maintaining and release projects'. Add announce-gen.
60361
60362 2007-03-31  Bruno Haible  <bruno@clisp.org>
60363
60364         * README: Talk primarily about git.
60365         (git and CVS): Renamed from CVS.
60366         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
60367         gnulib is available through git.
60368         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
60369
60370 2007-03-30  Bruno Haible  <bruno@clisp.org>
60371
60372         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
60373         * lib/poll_.h: Likewise.
60374         * lib/stat_.h: Likewise.
60375         * lib/sys_time_.h: Likewise.
60376         * lib/sysexit_.h: Likewise.
60377         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
60378         * lib/stdbool_.h: Likewise.
60379         * lib/byteswap_.h: Add double-inclusion guard.
60380
60381 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
60382
60383         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
60384
60385 2007-03-30  Karl Berry  <karl@gnu.org>
60386
60387         * config/srclist-update: double space after USA in the license
60388         substitution, since that's how it's usually (?) written.
60389
60390 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60391
60392         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
60393         reported by Bruno Haible.
60394
60395 2007-03-29  Bruno Haible  <bruno@clisp.org>
60396
60397         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
60398         a bug in AIX iconv().
60399
60400 2007-03-29  Bruno Haible  <bruno@clisp.org>
60401
60402         * modules/ldexpl-tests: New file.
60403         * tests/test-ldexpl.c: New file.
60404
60405 2007-03-29  Bruno Haible  <bruno@clisp.org>
60406
60407         * lib/ldexpl.c: Include fpucw.h.
60408         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
60409         multiplication.
60410         * modules/ldexpl (Depends-on): Add fpucw.
60411
60412 2007-03-29  Bruno Haible  <bruno@clisp.org>
60413
60414         * modules/ldexpl: New file.
60415         * m4/ldexpl.m4: New file.
60416         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
60417         set.
60418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
60419         REPLACE_LDEXPL.
60420         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
60421         REPLACE_LDEXPL.
60422         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60423         gl_FUNC_LDEXPL_WORKS.
60424         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
60425         * modules/mathl (Files): Remove lib/ldexpl.c.
60426         (Depends-on): Add ldexpl.
60427
60428 2007-03-29  Bruno Haible  <bruno@clisp.org>
60429
60430         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60431
60432 2007-03-29  Bruno Haible  <bruno@clisp.org>
60433
60434         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60435         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60436         and possibly also HP-UX.
60437         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60438         work on AIX, IRIX, HP-UX, OSF/1.
60439         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60440         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60441         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60442         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60443         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60444         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60445
60446 2007-03-29  Bruno Haible  <bruno@clisp.org>
60447
60448         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60449
60450 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60451
60452         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60453         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60454
60455 2007-03-29  Eric Blake  <ebb9@byu.net>
60456
60457         * lib/acl-internal.h: Remove redundant include.
60458         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60459         Cygwin when a file is locked.
60460
60461 2007-03-29  Bruno Haible  <bruno@clisp.org>
60462
60463         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60464         file.
60465         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60466
60467 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60468
60469         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60470         try to remove a parent directory if the child couldn't be removed
60471         (except for the first rmdir, which could fail because the child
60472         doesn't exist).  Problem reported by Jeff Blaine in
60473         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60474
60475 2007-03-28  Bruno Haible  <bruno@clisp.org>
60476
60477         * lib/striconveh.c (utf8conv_carefully): New function.
60478         (mem_cd_iconveh_internal): Invoke it.
60479
60480 2007-03-28  Bruno Haible  <bruno@clisp.org>
60481
60482         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60483         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60484         input.
60485         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60486         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60487         unistr/u8-uctomb.
60488
60489 2007-03-28  Bruno Haible  <bruno@clisp.org>
60490
60491         * modules/unistr/u8-mbtoucr: New file.
60492         * lib/unistr/u8-mbtoucr.c: New file.
60493         * modules/unistr/u16-mbtoucr: New file.
60494         * lib/unistr/u16-mbtoucr.c: New file.
60495         * modules/unistr/u16-mbtoucr: New file.
60496         * lib/unistr/u16-mbtoucr.c: New file.
60497         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60498
60499 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60500             Bruno Haible  <bruno@clisp.org>
60501
60502         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60503         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60504         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60505
60506         * m4/stdio_h.m4: Add stubs for vasprintf too.
60507
60508         * modules/stdio: Support vasprintf in sed command.
60509
60510         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60511         vasprintf.h.  Add stdio module indicator.
60512
60513         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60514         vasprintf.h.
60515
60516         * lib/vasprintf.h: File removed.
60517
60518         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60519         * lib/vasprintf.c: Ditto.
60520         * lib/xvasprintf.c: Ditto.
60521         * tests/test-vasprintf-posix.c: Ditto.
60522         * tests/test-vasprintf.c: Ditto.
60523
60524 2007-03-27  Bruno Haible  <bruno@clisp.org>
60525
60526         Make vasnprintf multithread-safe.
60527         * lib/vasnprintf.c (decimal_point_char): New function.
60528         (VASNPRINTF): Use it.
60529         Suggested by Simon Josefsson.
60530
60531 2007-03-27  Eric Blake  <ebb9@byu.net>
60532
60533         Support sub-second birthtime on cygwin.
60534         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60535         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60536         (get_stat_birthtime): Also work with st_birthtim.
60537
60538 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60539
60540         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60541         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60542         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60543         (get_stat_birthtime_ns): Simplify compile-time tests.
60544         (get_stat_birthtime): Change the API to look like
60545         get_stat_mtime etc., except return a negative tv_nsec on error.
60546         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60547         Don't check for "spare" fields.
60548         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60549         or for struct stat.st_birthtime, as these tests aren't used.
60550         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60551
60552 2007-03-27  Bruno Haible  <bruno@clisp.org>
60553
60554         * lib/stat-time.h: Include <sys/stat.h>.
60555
60556 2007-03-27  James Youngman  <jay@gnu.org>
60557
60558         * lib/stat-time.h (get_stat_birthtime): New function for
60559           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60560         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60561           and its variants.
60562         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60563         * modules/stat-time-test: New file.
60564         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60565
60566 2007-03-26  Bruno Haible  <bruno@clisp.org>
60567
60568         Better support of signalling NaNs.
60569         * lib/atanl.c: Include isnanl.h.
60570         (atanl): Perform test for NaN at the beginning of the function and
60571         through a call to isnanl.
60572         * lib/cosl.c: Include isnanl.h.
60573         (cosl): Perform test for NaN at the beginning of the function and
60574         through a call to isnanl.
60575         * lib/ldexpl.c: Include isnanl.h.
60576         (ldexpl): Perform test for NaN through a call to isnanl.
60577         * lib/logl.c: Include isnanl.h.
60578         (logl): Perform test for NaN at the beginning of the function and
60579         through a call to isnanl.
60580         * lib/sinl.c: Include isnanl.h.
60581         (sinl): Perform test for NaN at the beginning of the function and
60582         through a call to isnanl.
60583         * lib/sqrtl.c: Include isnanl.h.
60584         (sqrtl): Perform test for NaN at the beginning of the function and
60585         through a call to isnanl.
60586         * lib/tanl.c: Include isnanl.h.
60587         (tanl): Perform test for NaN at the beginning of the function and
60588         through a call to isnanl.
60589         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60590         * modules/mathl (Depends-on): Add isnanl.
60591
60592 2007-03-26  Eric Blake  <ebb9@byu.net>
60593
60594         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60595         regression in logic sense of previous patch.
60596
60597 2007-03-26  Bruno Haible  <bruno@clisp.org>
60598
60599         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60600         unportable shell command "if ! ...".
60601         Reported by Ralf Wildenhues.
60602
60603 2007-03-25  Bruno Haible  <bruno@clisp.org>
60604
60605         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60606         <sysexits.h> file, and only add EX_CONFIG.
60607         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60608         absolute file name and whether it is sufficient. Substitute also
60609         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60610         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60611         ABSOLUTE_SYSEXITS_H into sysexits.h.
60612
60613 2007-03-25  Bruno Haible  <bruno@clisp.org>
60614
60615         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60616         hints is NULL.
60617
60618 2007-03-25  Bruno Haible  <bruno@clisp.org>
60619
60620         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60621         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60622
60623 2007-03-25  Bruno Haible  <bruno@clisp.org>
60624
60625         * lib/vasnprintf.c: Include langinfo.h.
60626         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60627         multithread-safe.
60628         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60629         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60630         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60631         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60632         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60633         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60634         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60635         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60636         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60637         Reported by Simon Josefsson.
60638
60639 2007-03-25  Bruno Haible  <bruno@clisp.org>
60640
60641         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60642         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60643         * modules/vasnprintf (Depends-on): Add stdint.
60644
60645 2007-03-25  Bruno Haible  <bruno@clisp.org>
60646
60647         * modules/fpieee: New file.
60648         * m4/fpieee.m4: New file.
60649         * modules/isnan-nolibm (Depends-on): Add fpieee.
60650         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60651         * modules/isnanl (Depends-on): Add fpieee.
60652
60653 2007-03-25  Bruno Haible  <bruno@clisp.org>
60654
60655         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60656
60657 2007-03-25  Bruno Haible  <bruno@clisp.org>
60658
60659         Avoid test failures on IRIX 6.5.
60660         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60661         (main): Use it.
60662         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60663         macros.
60664         (main): Use them.
60665
60666 2007-03-25  Bruno Haible  <bruno@clisp.org>
60667
60668         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60669         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60670         exists but doesn't work.
60671         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60672         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60673         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60674         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60675         math.h.
60676
60677 2007-03-25  Bruno Haible  <bruno@clisp.org>
60678
60679         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60680         returns inf. Needed on IRIX 6.5.
60681
60682 2007-03-25  Bruno Haible  <bruno@clisp.org>
60683
60684         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60685         (main): Use isnanl instead of x != x idiom.
60686         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60687
60688         * tests/test-frexp.c: Include isnan.h.
60689         (main): Use isnan instead of x != x idiom.
60690         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60691
60692 2007-03-25  Bruno Haible  <bruno@clisp.org>
60693
60694         * tests/test-frexp.c (NaN): New function/macro.
60695         (main): Use it instead of 0.0 / 0.0.
60696         * tests/test-isnan.c (NaN): New function/macro.
60697         (main): Use it instead of 0.0 / 0.0.
60698         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60699         (test_function): Use it instead of 0.0 / 0.0.
60700         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60701         (test_function): Use it instead of 0.0 / 0.0.
60702         * tests/test-snprintf-posix.h (NaN): New function/macro.
60703         (test_function): Use it instead of 0.0 / 0.0.
60704         * tests/test-sprintf-posix.h (NaN): New function/macro.
60705         (test_function): Use it instead of 0.0 / 0.0.
60706         * tests/test-fprintf-posix.h (NaN): New function/macro.
60707         (test_function): Use it instead of 0.0 / 0.0.
60708         * tests/test-printf-posix.h (NaN): New function/macro.
60709         (test_function): Use it instead of 0.0 / 0.0.
60710
60711         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60712
60713 2007-03-25  Bruno Haible  <bruno@clisp.org>
60714
60715         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60716
60717 2007-03-25  Bruno Haible  <bruno@clisp.org>
60718
60719         * lib/regexec.c (merge_state_with_log): Make static.
60720
60721 2007-03-25  Bruno Haible  <bruno@clisp.org>
60722
60723         * lib/trigl.c (kernel_rem_pio2): Make static.
60724
60725 2007-03-25  Bruno Haible  <bruno@clisp.org>
60726
60727         * lib/sincosl.c (sincosl_table): Make static.
60728
60729 2007-03-25  Bruno Haible  <bruno@clisp.org>
60730
60731         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60732         if the compiler does not support C99.
60733
60734 2007-03-25  Bruno Haible  <bruno@clisp.org>
60735
60736         * modules/time (Makefile.am): Ensure all rule action lines start with a
60737         tab.
60738
60739 2007-03-24  Bruno Haible  <bruno@clisp.org>
60740
60741         * modules/tsearch-tests: New file.
60742         * tests/test-tsearch.sh: New file.
60743         * tests/test-tsearch.c: New file, mostly copied from glibc.
60744
60745         * modules/search-tests: New file.
60746         * tests/test-search.c: New file.
60747
60748         * modules/search: New file.
60749         * lib/search_.h: New file, incorporating lib/tsearch.h.
60750         * m4/search_h.m4: New file.
60751         * lib/tsearch.h: Remove file.
60752         * lib/tsearch.c: Include search.h instead of tsearch.h.
60753         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60754         HAVE_TSEARCH.
60755         * modules/tsearch (Files): Remove lib/tsearch.h.
60756         (Depends-on): Add search.
60757         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60758         (Include): Change tsearch.h into search.h.
60759
60760 2007-03-24  Bruno Haible  <bruno@clisp.org>
60761
60762         * modules/fpucw: New file.
60763         * lib/fpucw.h: New file.
60764         * lib/frexp.c: Include fpucw.h.
60765         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60766         (FUNC): Use them.
60767         * lib/printf-frexp.c: Include fpucw.h.
60768         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60769         (FUNC): Use them.
60770         * lib/vasnprintf.c: Include fpucw.h.
60771         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60772         'long double' calculations.
60773         * tests/test-frexpl.c: Include fpucw.h.
60774         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60775         * tests/test-printf-frexpl.c: Include fpucw.h.
60776         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60777         * modules/frexpl (Depends-on): Add fpucw.
60778         * modules/printf-frexpl (Depends-on): Likewise.
60779         * modules/fprintf-posix (Depends-on): Likewise.
60780         * modules/snprintf-posix (Depends-on): Likewise.
60781         * modules/sprintf-posix (Depends-on): Likewise.
60782         * modules/vasnprintf-posix (Depends-on): Likewise.
60783         * modules/vasprintf-posix (Depends-on): Likewise.
60784         * modules/vfprintf-posix (Depends-on): Likewise.
60785         * modules/vsnprintf-posix (Depends-on): Likewise.
60786         * modules/vsprintf-posix (Depends-on): Likewise.
60787         * modules/frexpl-tests (Depends-on): Likewise.
60788         * modules/printf-frexpl-tests (Depends-on): Likewise.
60789
60790 2007-03-24  Bruno Haible  <bruno@clisp.org>
60791
60792         * lib/float+.h: New file.
60793         * lib/isnan.c: Include float+.h.
60794         (SIZE): New macro.
60795         (FUNC): Compare only SIZE bytes of the value.
60796         * lib/vasnprintf.c: Include float+.h.
60797         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60798         SIZEOF_LDBL or SIZEOF_DBL bytes.
60799         * modules/isnan-nolibm (Files): Add lib/float+.h.
60800         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60801         * modules/isnanl (Files): Add lib/float+.h.
60802         * modules/vasnprintf (Files): Add lib/float+.h.
60803
60804 2007-03-24  Bruno Haible  <bruno@clisp.org>
60805
60806         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60807         include isnanl-nolibm.h.
60808
60809 2007-03-24  Bruno Haible  <bruno@clisp.org>
60810
60811         * tests/test-read-file.c (main): Don't produce spurious output for
60812         expected situations. Make the test fail if it encountered unexpected
60813         results.
60814
60815 2007-03-24  Bruno Haible  <bruno@clisp.org>
60816
60817         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60818         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60819
60820 2007-03-24  Bruno Haible  <bruno@clisp.org>
60821
60822         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60823
60824 2007-03-24  Bruno Haible  <bruno@clisp.org>
60825
60826         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60827         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60828
60829         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60830         * modules/utf8-ucs4: Turn into a symbolic link to module
60831         unistr/u8-mbtouc.
60832
60833         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60834         utf8-ucs4-unsafe.
60835         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60836         unistr/u8-mbtouc-unsafe.
60837
60838         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60839         * modules/utf16-ucs4: Turn into a symbolic link to module
60840         unistr/u16-mbtouc.
60841
60842         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
60843         utf16-ucs4-unsafe.
60844         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
60845         unistr/u16-mbtouc-unsafe.
60846
60847         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
60848         * modules/ucs4-utf8: Turn into a symbolic link to module
60849         unistr/u8-ubtomb.
60850
60851         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
60852         * modules/ucs4-utf16: Turn into a symbolic link to module
60853         unistr/u16-ubtomb.
60854
60855 2007-03-24  Bruno Haible  <bruno@clisp.org>
60856
60857         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
60858         Enable the function only if HAVE_INLINE.
60859         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
60860         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60861         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
60862         Enable the function only if HAVE_INLINE.
60863         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
60864         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60865         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
60866         Enable the function only if HAVE_INLINE.
60867         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
60868         Enable the function only if HAVE_INLINE.
60869         * modules/utf8-ucs4: Update.
60870         * modules/utf8-ucs4-unsafe: Update.
60871         * modules/utf16-ucs4: Update.
60872         * modules/utf16-ucs4-unsafe: Update.
60873         * modules/ucs4-utf8: Update.
60874         * modules/ucs4-utf16: Update.
60875
60876 2007-03-24  Bruno Haible  <bruno@clisp.org>
60877
60878         * lib/utf8-ucs4.h: Remove file.
60879         * lib/utf8-ucs4-unsafe.h: Remove file.
60880         * lib/utf16-ucs4.h: Remove file.
60881         * lib/utf16-ucs4-unsafe.h: Remove file.
60882         * lib/ucs4-utf8.h: Remove file.
60883         * lib/ucs4-utf16.h: Remove file.
60884         * lib/unistr.h: Include their previous contents.
60885         * m4/utf-ucs4.m4: Remove file.
60886         * m4/ucs4-utf.m4: Remove file.
60887         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
60888         (Depends-on): Add unistr/base.
60889         (configure.ac): Remove gl_UTF_UCS4.
60890         (Makefile.am): Update.
60891         (Include): Change to unistr.h.
60892         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
60893         (Depends-on): Add unistr/base.
60894         (configure.ac): Remove gl_UTF_UCS4.
60895         (Makefile.am): Update.
60896         (Include): Change to unistr.h.
60897         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
60898         (Depends-on): Add unistr/base.
60899         (configure.ac): Remove gl_UTF_UCS4.
60900         (Makefile.am): Update.
60901         (Include): Change to unistr.h.
60902         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
60903         (Depends-on): Add unistr/base.
60904         (configure.ac): Remove gl_UTF_UCS4.
60905         (Makefile.am): Update.
60906         (Include): Change to unistr.h.
60907         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
60908         (Depends-on): Add unistr/base.
60909         (configure.ac): Remove gl_UCS4_UTF.
60910         (Makefile.am): Update.
60911         (Include): Change to unistr.h.
60912         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
60913         (Depends-on): Add unistr/base.
60914         (configure.ac): Remove gl_UCS4_UTF.
60915         (Makefile.am): Update.
60916         (Include): Change to unistr.h.
60917         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
60918         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
60919         utf8-ucs4-unsafe.h.
60920         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
60921         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
60922         utf16-ucs4-unsafe.h.
60923         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
60924         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
60925         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
60926         * lib/unistr/u8-strchr.c: Likewise.
60927         * lib/unistr/u8-strrchr.c: Likewise.
60928         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
60929         * lib/unistr/u16-strchr.c: Likewise.
60930         * lib/unistr/u16-strrchr.c: Likewise.
60931         * lib/striconveh.c: Update.
60932         * lib/linebreak.c: Update.
60933
60934 2007-03-24  Bruno Haible  <bruno@clisp.org>
60935
60936         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
60937         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
60938
60939 2007-03-22  Bruno Haible  <bruno@clisp.org>
60940
60941         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
60942
60943 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
60944
60945         * MODULES.html.sh (File system functions): New module write-any-file.
60946         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
60947         * m4/write-any-file.m4: New files.
60948
60949 2007-03-23  Eric Blake  <ebb9@byu.net>
60950
60951         * gnulib-tool: Rearrange space-tab sequences, since some editors
60952         like to eat them.
60953
60954 2007-03-23  Eric Blake  <ebb9@byu.net>
60955
60956         * lib/version-etc.c (version_etc_va): Update license wording to
60957         be more concise.  Recommended by Richard Stallman.
60958
60959 2007-03-22  Bruno Haible  <bruno@clisp.org>
60960
60961         * lib/poll.c (MSG_PEEK): New fallback definition.
60962
60963 2007-03-22  Bruno Haible  <bruno@clisp.org>
60964
60965         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
60966         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
60967         (main): Update.
60968         Fixes a compilation error on BeOS.
60969
60970 2007-03-22  Bruno Haible  <bruno@clisp.org>
60971
60972         * modules/frexpl-tests: New file.
60973         * tests/test-frexpl.c: New file.
60974
60975         * modules/frexpl: New file.
60976         * m4/frexpl.m4: New file.
60977         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
60978         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
60979         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
60980         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
60981         (Depends-on): Add frexpl. Remove isnanl-nolibm.
60982         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
60983
60984 2007-03-22  Bruno Haible  <bruno@clisp.org>
60985
60986         * lib/frexpl.c: Share code with lib/frexp.c.
60987         * modules/mathl (Files): Add lib/frexp.c.
60988         (Depends-on): Add isnanl-nolibm.
60989
60990 2007-03-22  Bruno Haible  <bruno@clisp.org>
60991
60992         * modules/printf-frexp (Files): Add m4/frexp.m4.
60993         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
60994         only if the found frexp function actually works.
60995
60996 2007-03-22  Bruno Haible  <bruno@clisp.org>
60997
60998         * lib/frexp.c: Remove older implementation that uses divisions.
60999
61000 2007-03-21  Bruno Haible  <bruno@clisp.org>
61001
61002         * modules/frexp-tests: New file.
61003         * tests/test-frexp.c: New file.
61004
61005         * modules/frexp: New file.
61006         * lib/frexp.c: New file.
61007         * m4/frexp.m4: New file.
61008         * lib/math_.h (frexp): New declaration.
61009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
61010         REPLACE_FREXP.
61011         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
61012
61013 2007-03-21  Bruno Haible  <bruno@clisp.org>
61014
61015         * modules/isnanl-tests: New file.
61016         * tests/test-isnanl.c: New file.
61017
61018         * modules/isnanl: New file.
61019         * lib/isnanl.h: New file.
61020         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
61021         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
61022         gl_FUNC_ISNANL_WORKS.
61023         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
61024         New macros.
61025
61026 2007-03-21  Bruno Haible  <bruno@clisp.org>
61027
61028         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
61029         lib/isnanl.h.
61030         (Include): Update.
61031         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
61032         * lib/vasnprintf.c: Update.
61033         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
61034         tests/test-isnanl.h, remove tests/test-isnanl.c.
61035         (Makefile.am): Update.
61036         * tests/test-isnanl-nolibm.c: New file.
61037         * tests/test-isnanl.h: New file.
61038         * tests/test-isnanl.c: Remove file.
61039
61040 2007-03-21  Jim Meyering  <jim@meyering.net>
61041
61042         When trying to open ".", treat ESTALE like EACCES.
61043         * lib/savewd.c (savewd_save): Resort to forking not just upon
61044         failure with EACCES, but also when errno is ESTALE.
61045
61046 2007-03-20  Bruno Haible  <bruno@clisp.org>
61047
61048         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
61049         Needed on AIX 5.1. Reported by Matthew Woehlke.
61050
61051 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61052
61053         Suggestions by Bruno Haible:
61054         * lib/acl-internal.h: Include "gettext.h" rather than rolling
61055         our own.
61056         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
61057         * modules/acl (Depends-on): Add gettext.
61058
61059 2007-03-19  Bruno Haible  <bruno@clisp.org>
61060
61061         * modules/iconvme: Remove file.
61062         * lib/iconvme.h: Remove file.
61063         * lib/iconvme.c: Remove file.
61064         * m4/iconvme.m4: Remove file.
61065
61066 2007-03-19  Bruno Haible  <bruno@clisp.org>
61067
61068         * doc/relocatable-maint.texi: Break long shell script line.
61069         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61070
61071 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61072
61073         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
61074         handle file_has_acl.
61075         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
61076         * lib/acl.c: Move header inclusions and related macro defns into
61077         lib/acl-internal.h.
61078         (S_ISLNK): Remove defn, since that's now done for us.
61079         (file_has_acl): Move to lib/file-has-acl.c.
61080         Call acl_trivial if available.  This is the crucial part of the fix.
61081         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
61082         shared within the library.  Rewrite a bit, partly to make it compatible
61083         with the GNU coding style.
61084         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
61085         Remove unnecessary double-quotes.
61086         Don't test for acl_to_text; the build will catch that.
61087         Replace acl_entries if it doesn't exist and it is needed.
61088         Check for -lsec and acl_trivial (as used on Solaris 10).
61089         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
61090         lib/file-has-acl.c.
61091         (Depends-on): Add sys_stat, for S_ISLNK.
61092
61093 2007-03-19  Ben Pfaff  <blp@gnu.org>
61094
61095         * doc/gnulib.texi: Fix typos.
61096         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61097
61098 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61099
61100         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
61101         If size is zero here, buf must be zero.
61102
61103 2007-03-19  Simon Josefsson  <simon@josefsson.org>
61104
61105         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
61106         <bruno@clisp.org>.
61107
61108 2007-03-18  Bruno Haible  <bruno@clisp.org>
61109
61110         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
61111         Suggested by Eric Blake.
61112
61113 2007-03-18  Ben Pfaff  <blp@gnu.org>
61114
61115         * doc/relocatable.texi: Recommend using as prefix a directory
61116         that does not exist and will never be created.  Based on
61117         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
61118         and others.
61119
61120 2007-03-17  Bruno Haible  <bruno@clisp.org>
61121
61122         * lib/fchownat.c: Include lchown.h.
61123
61124 2007-03-17  Bruno Haible  <bruno@clisp.org>
61125
61126         Fix endless loop when the given allocated size was > INT_MAX.
61127         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
61128         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
61129         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
61130         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
61131         * lib/sprintf.c (sprintf): Likewise.
61132
61133 2007-03-17  Bruno Haible  <bruno@clisp.org>
61134
61135         * tests/test-argp-2.sh (func_compare): Output a context diff.
61136
61137 2007-03-17  Bruno Haible  <bruno@clisp.org>
61138
61139         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
61140         locale's decimal-point character.
61141
61142 2007-03-17  Bruno Haible  <bruno@clisp.org>
61143
61144         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
61145         before comparing it. Needed because on some platforms (e.g. x86) a
61146         'long double' occupies less bytes than sizeof (long double).
61147
61148 2007-03-17  Bruno Haible  <bruno@clisp.org>
61149
61150         * tests/test-crc.c (main): Make printf statements 64-bit clean.
61151         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
61152         * tests/test-getaddrinfo.c (simple): Likewise.
61153         * tests/test-read-file.c (main): Likewise.
61154
61155 2007-03-17  Bruno Haible  <bruno@clisp.org>
61156
61157         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
61158
61159 2007-03-17  Bruno Haible  <bruno@clisp.org>
61160
61161         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
61162         unused variable.
61163
61164 2007-03-17  Bruno Haible  <bruno@clisp.org>
61165
61166         * tests/test-c-strcasecmp.c: Include c-strcase.h.
61167         * tests/test-c-strncasecmp.c: Likewise.
61168
61169 2007-03-17  Bruno Haible  <bruno@clisp.org>
61170
61171         * modules/stdlib (Depends-on): Add unistd.
61172         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
61173         Needed for MacOS X 10.3.
61174
61175 2007-03-17  Bruno Haible  <bruno@clisp.org>
61176
61177         * lib/unistr/u-strdup.h: Include <stdlib.h>.
61178
61179 2007-03-17  Bruno Haible  <bruno@clisp.org>
61180
61181         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
61182
61183 2007-03-17  Bruno Haible  <bruno@clisp.org>
61184
61185         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
61186         to reflect files copied from gnulib (with or without modifications).
61187         Suggested by Jim Meyering.
61188
61189 2007-03-17  Eric Blake  <ebb9@byu.net>
61190
61191         * NEWS: Document stdlib change from 2007-02-18.
61192
61193 2007-03-17  Jim Meyering  <jim@meyering.net>
61194
61195         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
61196         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
61197         someone uses a name containing shell meta-characters.
61198         Reported by Alfred M. Szmidt.
61199
61200         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
61201
61202 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61203
61204         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
61205         and copy gettext configuration files only if configure.ac contains
61206         a use of AM_GNU_GETTEXT_VERSION.
61207
61208 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61209
61210         * build-aux/bootstrap (gnulib_name): New variable.
61211         (gnulib_tool_options): Use it.
61212
61213 2007-03-13  Simon Josefsson  <simon@josefsson.org>
61214
61215         * tests/test-des.c: Use new namespace.
61216
61217 2007-03-15  Bruno Haible  <bruno@clisp.org>
61218
61219         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
61220         Reported by James Youngman <jay@gnu.org>.
61221
61222 2007-03-15  Bruno Haible  <bruno@clisp.org>
61223
61224         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
61225         declared prototype. Needed with cc on OSF/1 5.1.
61226
61227 2007-03-15  Bruno Haible  <bruno@clisp.org>
61228
61229         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
61230         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
61231         (struct gl_list_implementation): Add dispose_fn argument to the
61232         'create_empty', 'create' methods.
61233         (struct gl_list_impl_base): Add field 'dispose_fn'.
61234         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
61235         argument.
61236         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
61237         dispose_fn argument.
61238         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
61239         dispose_fn on the dropped values.
61240         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
61241         dispose_fn argument.
61242         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
61243         dropped values.
61244         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
61245         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61246         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
61247         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61248         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
61249         argument.
61250         (gl_tree_list_free): Call dispose_fn on the dropped values.
61251         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
61252         the dropped values.
61253         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61254         Add dispose_fn argument.
61255         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
61256         Call dispose_fn on the dropped values.
61257         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
61258         Add dispose_fn argument.
61259         (gl_sublist_create): Initialize the 'dispose_fn' field.
61260         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
61261         * tests/test-array_list.c (main): Update.
61262         * tests/test-carray_list.c (main): Update.
61263         * tests/test-avltree_list.c (main): Update.
61264         * tests/test-rbtree_list.c (main): Update.
61265         * tests/test-avltreehash_list.c (main): Update.
61266         * tests/test-rbtreehash_list.c (main): Update.
61267         * tests/test-linked_list.c (main): Update.
61268         * tests/test-linkedhash_list.c (main): Update.
61269         * tests/test-array_oset.c (main): Update.
61270
61271 2007-03-15  Bruno Haible  <bruno@clisp.org>
61272
61273         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
61274         (gl_oset_create_empty): Add dispose_fn argument.
61275         (struct gl_oset_implementation): Add dispose_fn argument to
61276         'create_empty' method.
61277         (struct gl_oset_impl_base): Add dispose_fn field.
61278         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
61279         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
61280         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
61281         values.
61282         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
61283         (gl_tree_oset_free): Call dispose_fn on the dropped values.
61284         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61285         dropped value.
61286         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61287         dropped value.
61288         * tests/test-array_oset.c (main): Update.
61289         * tests/test-avltree_oset.c (main): Update.
61290         * tests/test-rbtree_oset.c (main): Update.
61291         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
61292
61293 2007-03-13  Bruno Haible  <bruno@clisp.org>
61294
61295         * tests/test-stdbool.c (i): Update after last patch.
61296
61297 2007-03-12  Bruno Haible  <bruno@clisp.org>
61298
61299         * lib/quotearg.c: Include <wctype.h> early, before the definition of
61300         the iswprint macro. Needed on Solaris 2.5.1.
61301
61302 2007-03-12  Bruno Haible  <bruno@clisp.org>
61303
61304         * tests/test-printf-frexp.c (main): Declare x as volatile.
61305
61306 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61307
61308         * doc/gnulib.texi (Build robot for gnulib): New section.
61309
61310 2007-03-12  Jim Meyering  <jim@meyering.net>
61311
61312         * build-aux/bootstrap: New file.
61313         * build-aux/bootstrap.conf: New file, from coreutils.
61314
61315 2007-03-11  Bruno Haible  <bruno@clisp.org>
61316
61317         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
61318
61319 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61320
61321         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
61322         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
61323         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
61324
61325 2007-03-11  Bruno Haible  <bruno@clisp.org>
61326
61327         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
61328         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
61329
61330 2007-03-11  Bruno Haible  <bruno@clisp.org>
61331
61332         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
61333         formula. Needed for SunPRO C 5.0.
61334
61335 2007-03-11  Bruno Haible  <bruno@clisp.org>
61336
61337         * modules/long-options (Depends-on): Add getopt.
61338
61339 2007-03-11  Bruno Haible  <bruno@clisp.org>
61340
61341         * modules/modechange (Depends-on): Add stdbool.
61342
61343 2007-03-11  Bruno Haible  <bruno@clisp.org>
61344
61345         * modules/i-ring (Depends-on): Add stdbool.
61346
61347 2007-03-11  Bruno Haible  <bruno@clisp.org>
61348
61349         * modules/gc-des (Depends-on): Add stdbool.
61350
61351 2007-03-11  Bruno Haible  <bruno@clisp.org>
61352
61353         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
61354
61355 2007-03-11  Bruno Haible  <bruno@clisp.org>
61356
61357         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
61358
61359 2007-03-11  Bruno Haible  <bruno@clisp.org>
61360
61361         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
61362
61363 2007-03-11  Bruno Haible  <bruno@clisp.org>
61364
61365         * lib/vasnprintf.c (sprintf): Undefine.
61366
61367 2007-03-11  Bruno Haible  <bruno@clisp.org>
61368
61369         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
61370         initializers in SunPRO C and Compaq C compilers.
61371
61372 2007-03-11  Bruno Haible  <bruno@clisp.org>
61373
61374         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
61375         decrementing code ANSI C compliant.
61376
61377 2007-03-11  Bruno Haible  <bruno@clisp.org>
61378
61379         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
61380         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
61381
61382 2007-03-11  Bruno Haible  <bruno@clisp.org>
61383
61384         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
61385         <stdbool.h> substitute doesn't pass.
61386
61387 2007-03-11  Bruno Haible  <bruno@clisp.org>
61388
61389         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
61390
61391 2007-03-11  Bruno Haible  <bruno@clisp.org>
61392
61393         * gnulib-tool (func_create_megatestdir): Create also an autobuild
61394         script, for submission to autobuild.josefsson.org.
61395
61396 2007-03-10  Bruno Haible  <bruno@clisp.org>
61397
61398         * modules/canonicalize-lgpl-tests: New file.
61399         * tests/test-canonicalize-lgpl.sh: New file.
61400         * tests/test-canonicalize-lgpl.c: New file.
61401
61402         * modules/c-strcase-tests: New file.
61403         * tests/test-c-strcase.sh: New file.
61404         * tests/test-c-strcasecmp.c: New file.
61405         * tests/test-c-strncasecmp.c: New file.
61406
61407         * modules/atexit-tests: New file.
61408         * tests/test-atexit.sh: New file.
61409         * tests/test-atexit.c: New file.
61410
61411 2007-03-10  Bruno Haible  <bruno@clisp.org>
61412
61413         * tests/test-binary-io.sh: Use temporary filenames that are not so
61414         likely to clash with those of other tests (in a parallel make).
61415         * tests/test-binary-io.c: Likewise.
61416
61417 2007-03-10  Bruno Haible  <bruno@clisp.org>
61418
61419         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
61420         fallback; use #error instead.
61421         Suggested by Simon Josefsson.
61422
61423 2007-03-10  Bruno Haible  <bruno@clisp.org>
61424
61425         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
61426         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
61427         first and the last.
61428
61429 2007-03-10  Bruno Haible  <bruno@clisp.org>
61430
61431         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61432
61433 2007-03-10  Bruno Haible  <bruno@clisp.org>
61434
61435         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61436         "make distcheck".
61437         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61438         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61439         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61440
61441 2007-03-10  Bruno Haible  <bruno@clisp.org>
61442
61443         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61444         variable.
61445         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61446         variable.
61447
61448 2007-03-09  Eric Blake  <ebb9@byu.net>
61449         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61450
61451         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61452         types are not being provided by gnulib.
61453         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61454         types are supported.
61455
61456 2007-03-10  Bruno Haible  <bruno@clisp.org>
61457
61458         * lib/stdio_.h (__attribute__): New macro.
61459         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61460         vsprintf): Specify __attribute__ __format__ for GCC.
61461         Suggested by Eric Blake.
61462
61463 2007-03-09  Bruno Haible  <bruno@clisp.org>
61464
61465         * modules/printf-posix-tests: New file.
61466         * tests/test-printf-posix.sh: New file.
61467         * tests/test-printf-posix.c: New file.
61468
61469         * modules/printf-posix: New file.
61470         * lib/printf.c: New file.
61471         * m4/printf-posix-rpl.m4: New file.
61472         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61473         REPLACE_PRINTF.
61474         * lib/stdio_.h (printf): New declaration.
61475         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61476         ____strfmon____): New macros.
61477         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61478         REPLACE_PRINTF.
61479
61480 2007-03-09  Bruno Haible  <bruno@clisp.org>
61481
61482         * tests/test-vasnprintf-posix2.sh: New file.
61483         * tests/test-vasnprintf-posix2.c: New file.
61484         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61485         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61486         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61487
61488         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61489         a locale dependent decimal point, rather than always '.'.
61490
61491 2007-03-09  Eric Blake  <ebb9@byu.net>
61492
61493         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61494         spite of platforms like Tandem/NSK that define it to -1.
61495
61496 2007-03-08  Bruno Haible  <bruno@clisp.org>
61497
61498         * modules/vprintf-posix-tests: New file.
61499         * tests/test-vprintf-posix.sh: New file.
61500         * tests/test-vprintf-posix.c: New file.
61501         * tests/test-printf-posix.h: New file.
61502
61503         * modules/vprintf-posix: New file.
61504         * lib/vprintf.c: New file.
61505         * m4/vprintf-posix.m4: New file.
61506         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61507         REPLACE_VPRINTF.
61508         * lib/stdio_.h (vprintf): New declaration.
61509         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61510         REPLACE_VPRINTF.
61511
61512 2007-03-08  Bruno Haible  <bruno@clisp.org>
61513
61514         * modules/fprintf-posix-tests: New file.
61515         * tests/test-fprintf-posix.sh: New file.
61516         * tests/test-fprintf-posix.c: New file.
61517
61518         * modules/fprintf-posix: New file.
61519         * lib/fprintf.c: New file.
61520         * m4/fprintf-posix.m4: New file.
61521         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61522         REPLACE_FPRINTF.
61523         * lib/stdio_.h (fprintf): New declaration.
61524         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61525         REPLACE_FPRINTF.
61526
61527 2007-03-08  Bruno Haible  <bruno@clisp.org>
61528
61529         * modules/vfprintf-posix-tests: New file.
61530         * tests/test-vfprintf-posix.sh: New file.
61531         * tests/test-vfprintf-posix.c: New file.
61532         * tests/test-fprintf-posix.h: New file.
61533         * tests/test-fprintf-posix.out: New file.
61534
61535         * modules/vfprintf-posix: New file.
61536         * lib/vfprintf.c: New file.
61537         * m4/vfprintf-posix.m4: New file.
61538         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61539         REPLACE_VFPRINTF.
61540         * lib/stdio_.h (vfprintf): New declaration.
61541         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61542         REPLACE_VFPRINTF.
61543
61544 2007-03-08  Bruno Haible  <bruno@clisp.org>
61545
61546         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61547
61548 2007-03-08  Bruno Haible  <bruno@clisp.org>
61549
61550         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61551         instead of 'expr' invocations.
61552         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61553         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61554         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61555         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61556         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61557         Suggested by Paul Eggert.
61558
61559 2007-03-08  Bruno Haible  <bruno@clisp.org>
61560
61561         * modules/fseterr-tests: New file.
61562         * tests/test-fseterr.c: New file.
61563
61564         * modules/fseterr: New file.
61565         * lib/fseterr.h: New file.
61566         * lib/fseterr.c: New file.
61567
61568 2007-03-08  Bruno Haible  <bruno@clisp.org>
61569
61570         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61571         * lib/getopt_.h: Likewise.
61572         * lib/mbswidth.h: Likewise.
61573         * lib/setenv.h: Likewise.
61574         * lib/vasnprintf.h: Likewise.
61575         * lib/vasprintf.h: Likewise.
61576         * lib/verror.h: Likewise.
61577         * lib/xsetenv.h: Likewise.
61578         * lib/xvasprintf.h: Likewise.
61579
61580 2007-03-08  Jim Meyering  <jim@meyering.net>
61581
61582         * users.txt: Add parted.
61583
61584         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61585
61586 2007-03-07  Bruno Haible  <bruno@clisp.org>
61587
61588         * m4/printf.m4: Make the shell script snippets copy&pastable.
61589
61590 2007-03-02  Bruno Haible  <bruno@clisp.org>
61591
61592         * lib/netinet_in_.h: New file.
61593         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61594         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61595         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61596         (Depends-on): Add absolute-header.
61597         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61598         into netinet/in.h.
61599
61600 2007-03-03  Bruno Haible  <bruno@clisp.org>
61601
61602         * lib/sys_select_.h: New file.
61603         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61604         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61605         * modules/sys_select (Files): Add lib/sys_select_.h.
61606         (Depends-on): Add absolute-header.
61607         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61608         into sys/select.h.
61609
61610 2007-03-02  Bruno Haible  <bruno@clisp.org>
61611
61612         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61613         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61614         values.
61615         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61616         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61617         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61618         * modules/sys_socket (Depends-on): Add absolute-header.
61619         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61620         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61621         (Include): Remove requirement of inclusion of <sys/types.h>.
61622
61623 2007-03-02  Bruno Haible  <bruno@clisp.org>
61624
61625         * lib/byteswap_.h (bswap_32): Fix formula.
61626
61627 2007-03-06  Bruno Haible  <bruno@clisp.org>
61628
61629         * modules/sprintf-posix-tests: New file.
61630         * tests/test-sprintf-posix.c: New file.
61631
61632         * modules/sprintf-posix: New file.
61633         * lib/sprintf.c: New file.
61634         * m4/sprintf-posix.m4: New file.
61635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61636         REPLACE_SPRINTF.
61637         * lib/stdio_.h (sprintf): New declaration.
61638         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61639         REPLACE_SPRINTF.
61640
61641 2007-03-06  Bruno Haible  <bruno@clisp.org>
61642
61643         * modules/vsprintf-posix-tests: New file.
61644         * tests/test-vsprintf-posix.c: New file.
61645         * tests/test-sprintf-posix.h: New file.
61646
61647         * modules/vsprintf-posix: New file.
61648         * lib/vsprintf.c: New file.
61649         * m4/vsprintf-posix.m4: New file.
61650         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61651         REPLACE_VSPRINTF.
61652         * lib/stdio_.h (vsprintf): New declaration.
61653         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61654         REPLACE_VSPRINTF.
61655
61656 2007-03-06  Bruno Haible  <bruno@clisp.org>
61657
61658         * modules/vsnprintf (Depend-on): Remove minmax.
61659
61660 2007-03-06  Bruno Haible  <bruno@clisp.org>
61661
61662         * modules/snprintf-posix-tests: New file.
61663         * tests/test-snprintf-posix.c: New file.
61664
61665         * modules/snprintf-posix: New file.
61666         * m4/snprintf-posix.m4: New file.
61667         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61668         gl_FUNC_SNPRINTF.
61669         (gl_FUNC_SNPRINTF): Invoke it.
61670         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61671         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61672         is set.
61673         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61674
61675 2007-03-06  Bruno Haible  <bruno@clisp.org>
61676
61677         * modules/vsnprintf-posix-tests: New file.
61678         * tests/test-vsnprintf-posix.c: New file.
61679         * tests/test-snprintf-posix.h: New file.
61680
61681         * modules/vsnprintf-posix: New file.
61682         * m4/vsnprintf-posix.m4: New file.
61683         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61684         gl_FUNC_VSNPRINTF.
61685         (gl_FUNC_VSNPRINTF): Invoke it.
61686         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61687         * lib/stdio_.h (vsnprintf): Define as a replacement if
61688         REPLACE_VSNPRINTF is set.
61689         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61690
61691 2007-03-06  Bruno Haible  <bruno@clisp.org>
61692
61693         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61694         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61695
61696 2007-03-06  Bruno Haible  <bruno@clisp.org>
61697
61698         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61699         (asinl): Declare also if HAVE_DECL_ASINL is set.
61700         (atanl): Declare also if HAVE_DECL_ATANL is set.
61701         (ceill): Declare also if HAVE_DECL_CEILL is set.
61702         (cosl): Declare also if HAVE_DECL_COSL is set.
61703         (expl): Declare also if HAVE_DECL_EXPL is set.
61704         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61705         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61706         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61707         (logl): Declare also if HAVE_DECL_LOGL is set.
61708         (sinl): Declare also if HAVE_DECL_SINL is set.
61709         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61710         (tanl): Declare also if HAVE_DECL_TANL is set.
61711         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61712         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61713         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61714         declaration of frexpl, ldexpl.
61715         * modules/printf-frexpl (Depends-on): Add math.
61716         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61717
61718 2007-03-05  Bruno Haible  <bruno@clisp.org>
61719
61720         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61721         frexpl and ldexpl are declared.
61722         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61723
61724 2007-03-05  Bruno Haible  <bruno@clisp.org>
61725
61726         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61727         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61728
61729 2007-03-05  Bruno Haible  <bruno@clisp.org>
61730
61731         * lib/stdio_.h: Include <stddef.h>.
61732
61733 2007-03-05  Bruno Haible  <bruno@clisp.org>
61734
61735         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61736
61737 2007-03-05  Bruno Haible  <bruno@clisp.org>
61738
61739         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61740         NetBSD 4, from Ralf Wildenhues.
61741
61742 2007-03-04  Bruno Haible  <bruno@clisp.org>
61743
61744         * lib/vasprintf.h: Update #if logic for the case when the functions
61745         exist but are overridden.
61746
61747 2007-03-04  Bruno Haible  <bruno@clisp.org>
61748
61749         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61750         implementations: glibc-2.4 and MacOS X 10.3.
61751         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61752         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61753         * tests/test-vasprintf-posix.c (test_function): Likewise.
61754
61755 2007-03-04  Bruno Haible  <bruno@clisp.org>
61756
61757         * modules/vasprintf-posix-tests: New file.
61758         * tests/test-vasprintf-posix.c: New file.
61759
61760         * modules/vasprintf-posix: New file.
61761         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61762         defined.
61763         * m4/vasprintf-posix.m4: New file.
61764         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61765         gl_FUNC_VASPRINTF.
61766         (gl_FUNC_VASPRINTF): Invoke it.
61767         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61768         here.
61769         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61770
61771 2007-03-04  Bruno Haible  <bruno@clisp.org>
61772
61773         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61774         REPLACE_GETTIMEOFDAY.
61775         * modules/sys_time (Makefile.am): Likewise.
61776         * m4/sys_time_h.m4: Likewise.
61777         * m4/gettimeofday.m4: Likewise.
61778
61779 2007-03-04  Bruno Haible  <bruno@clisp.org>
61780
61781         * modules/vasnprintf-posix-tests: New file.
61782         * tests/test-vasnprintf-posix.c: New file.
61783
61784         * modules/vasnprintf-posix: New file.
61785         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61786         printf-frexpl.h.
61787         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61788         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61789         REPLACE_VASNPRINTF is defined.
61790         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61791         gl_FUNC_VASNPRINTF.
61792         (gl_FUNC_VASNPRINTF): Invoke it.
61793         * m4/vasnprintf-posix.m4: New file.
61794         * m4/printf.m4: New file.
61795
61796 2007-03-04  Bruno Haible  <bruno@clisp.org>
61797
61798         Compile progreloc.c only if --enable-relocatable is specified.
61799         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61800         if --enable-relocatable was specified.
61801         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61802         lib_SOURCES.
61803
61804 2007-03-04  Jim Meyering  <jim@meyering.net>
61805
61806         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61807         Use it consistently, rather than enumerating errno constants.
61808
61809 2007-03-04  Bruno Haible  <bruno@clisp.org>
61810
61811         * modules/xvasprintf-tests: New file.
61812         * tests/test-xvasprintf.c: New file.
61813
61814         * modules/vasprintf-tests: New file.
61815         * tests/test-vasprintf.c: New file.
61816
61817         * modules/vasnprintf-tests: New file.
61818         * tests/test-vasnprintf.c: New file.
61819
61820         * modules/vsnprintf-tests: New file.
61821         * tests/test-vsnprintf.c: New file.
61822
61823         * modules/snprintf-tests: New file.
61824         * tests/test-snprintf.c: New file.
61825
61826 2007-03-04  Bruno Haible  <bruno@clisp.org>
61827
61828         Compile relocatable.c only if --enable-relocatable is specified.
61829         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61830         gl_RELOCATABLE_LIBRARY.
61831         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61832         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61833         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61834         gl_RELOCATABLE_LIBRARY.
61835         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61836         (Makefile.am): Remove lib_SOURCES.
61837         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61838         gl_RELOCATABLE_LIBRARY.
61839         (Makefile.am): Remove lib_SOURCES.
61840         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61841         always.
61842         * modules/relocatable-prog-wrapper (configure.ac): Invoke
61843         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
61844
61845 2007-03-04  Bruno Haible  <bruno@clisp.org>
61846
61847         * modules/argmatch-tests: New file.
61848         * tests/test-argmatch.c: New file.
61849
61850         * tests/test-allocsa.c (main): Halve the number of loop runs.
61851
61852         * modules/alloca-opt-tests: New file.
61853         * tests/test-alloca-opt.c: New file.
61854
61855 2007-03-04  Jim Meyering  <jim@meyering.net>
61856
61857         Work around difference between Linux ACLs and Solaris 10 ZFS.
61858         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
61859         for EINVAL.
61860
61861 2007-03-03  Bruno Haible  <bruno@clisp.org>
61862
61863         * modules/relocatable-prog (Depends-on): Add back progreloc's
61864         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
61865
61866 2007-03-03  Bruno Haible  <bruno@clisp.org>
61867
61868         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
61869         * modules/relocatable-lib: New file.
61870
61871 2007-03-03  Bruno Haible  <bruno@clisp.org>
61872
61873         * modules/relocatable-prog: Renamed from modules/relocatable.
61874         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
61875
61876 2007-03-03  Bruno Haible  <bruno@clisp.org>
61877
61878         * modules/relocatable-script (Files): Add doc/relocatable.texi,
61879         m4/relocatable-lib.m4.
61880         (Depends-on): Remove 'relocatable'.
61881         (configure.ac): Add gl_RELOCATABLE_NOP.
61882
61883 2007-03-03  Bruno Haible  <bruno@clisp.org>
61884
61885         * modules/relocatable-prog-wrapper: New file.
61886         * modules/relocatable (Depends-on): Add it. Remove all other
61887         dependencies except progname.
61888         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
61889
61890         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
61891         (gl_FUNC_STRERROR): Nop.
61892         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
61893
61894         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
61895         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
61896
61897         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
61898         (gl_FUNC_READLINK): Update.
61899
61900         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
61901
61902 2007-03-03  Bruno Haible  <bruno@clisp.org>
61903
61904         * lib/xreadlink.c: Include <unistd.h> unconditionally.
61905         * modules/xreadlink (Depends-on): Add unistd.
61906         * modules/xreadlink-with-size (Depends-on): Likewise.
61907
61908 2007-03-03  Bruno Haible  <bruno@clisp.org>
61909
61910         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
61911         extracted from gt_FUNC_SETENV.
61912         (gt_FUNC_SETENV): Remove macro.
61913         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
61914         remove gt_FUNC_SETENV.
61915
61916 2007-03-03  Bruno Haible  <bruno@clisp.org>
61917
61918         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
61919         ENABLE_RELOCATABLE here.
61920         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
61921
61922 2007-03-03  Bruno Haible  <bruno@clisp.org>
61923
61924         * modules/rbtreehash-list-tests (Depends-on): Add progname.
61925         * tests/test-rbtreehash_list.c: Include progname.h.
61926         (main): Call set_program_name.
61927
61928         * modules/rbtree-oset-tests (Depends-on): Add progname.
61929         * tests/test-rbtree_oset.c: Include progname.h.
61930         (main): Call set_program_name.
61931
61932         * modules/rbtree-list-tests (Depends-on): Add progname.
61933         * tests/test-rbtree_list.c: Include progname.h.
61934         (main): Call set_program_name.
61935
61936         * modules/linked-list-tests (Depends-on): Add progname.
61937         * tests/test-linked_list.c: Include progname.h.
61938         (main): Call set_program_name.
61939
61940 2007-03-03  Bruno Haible  <bruno@clisp.org>
61941
61942         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
61943         All uses of __restrict changed to _Restrict_.
61944         * lib/glob_.h (__restrict): Remove macro.
61945
61946 2007-03-02  Bruno Haible  <bruno@clisp.org>
61947
61948         * modules/gettext (configure.ac): Require gettext infrastructure
61949         from version 0.16.1.
61950
61951 2007-03-02  Bruno Haible  <bruno@clisp.org>
61952
61953         * modules/linkedhash-list-tests (Depends-on): Add progname.
61954         * tests/test-linkedhash_list.c: Include progname.h.
61955         (main): Call set_program_name.
61956
61957         * modules/carray-list-tests (Depends-on): Add progname.
61958         * tests/test-carray_list.c: Include progname.h.
61959         (main): Call set_program_name.
61960
61961         * modules/avltreehash-list-tests (Depends-on): Add progname.
61962         * tests/test-avltreehash_list.c: Include progname.h.
61963         (main): Call set_program_name.
61964
61965         * modules/avltree-oset-tests (Depends-on): Add progname.
61966         * tests/test-avltree_oset.c: Include progname.h.
61967         (main): Call set_program_name.
61968
61969         * modules/avltree-list-tests (Depends-on): Add progname.
61970         * tests/test-avltree_list.c: Include progname.h.
61971         (main): Call set_program_name.
61972
61973         * modules/array-oset-tests (Depends-on): Add progname.
61974         * tests/test-array_oset.c: Include progname.h.
61975         (main): Call set_program_name.
61976
61977         * modules/array-list-tests (Depends-on): Add progname.
61978         * tests/test-array_list.c: Include progname.h.
61979         (main): Call set_program_name.
61980
61981         * modules/argp-tests (Depends-on): Add progname.
61982         * tests/test-argp.c: Include argp.h first. Include progname.h.
61983         (main): Call set_program_name.
61984
61985 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
61986
61987         * doc/gnulib-tool.texi (Initial import): Reword description of
61988         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
61989         limited effect even if defined after the first system include.
61990
61991 2007-03-01  Bruno Haible  <bruno@clisp.org>
61992
61993         * build-aux/config.libpath: Update to libtool-1.5.22.
61994         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61995
61996 2007-03-01  Bruno Haible  <bruno@clisp.org>
61997
61998         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
61999         foo_CFLAGS.
62000         Reported by Ralf Wildenhues.
62001
62002 2007-03-01  Bruno Haible  <bruno@clisp.org>
62003
62004         * build-aux/install-reloc: Remove object files left over by some
62005         compilers.
62006         Reported by Ralf Wildenhues.
62007
62008 2007-03-01  Bruno Haible  <bruno@clisp.org>
62009
62010         * build-aux/install-reloc: Break long lines.
62011
62012 2007-03-01  Bruno Haible  <bruno@clisp.org>
62013
62014         * doc/relocatable.texi: Document that it may not work on OpenBSD.
62015         Reported by Ralf Wildenhues.
62016
62017 2007-03-01  Bruno Haible  <bruno@clisp.org>
62018
62019         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
62020         include ordering constraints.
62021
62022 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62023
62024         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
62025         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
62026         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
62027         as another example.
62028         * lib/time_.h: Fix misspelling.
62029         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62030         Require gl_HEADER_TIME_H_DEFAULTS.
62031         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
62032         * m4/time_r.m4 (gl_TIME_R): Likewise.
62033         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
62034
62035 2007-03-01  Bruno Haible  <bruno@clisp.org>
62036
62037         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
62038         * m4/utimens.m4 (gl_UTIMENS): Likewise.
62039
62040 2007-03-01  Jim Meyering  <jim@meyering.net>
62041
62042         * modules/xreadlink (Maintainer): Add my name.
62043         * modules/xreadlink-with-size (Depends-on): Alphabetize.
62044
62045 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
62046             Bruno Haible  <bruno@clisp.org>
62047
62048         * build-aux/install-reloc: Compile also c-ctype.c.
62049         * build-aux/relocatable.sh.in: New file.
62050         * doc/relocatable.texi: New file.
62051         * doc/relocatable-maint.texi: New file.
62052         * doc/gnulib.texi: Include relocatable-maint.texi.
62053         * lib/progreloc.c: Include unistd.h unconditionally.
62054         * lib/relocwrapper.c: Include unistd.h unconditionally.
62055         Include c-ctype.h.
62056         (add_dotbin): Use c_tolower.
62057         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
62058         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
62059         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
62060         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
62061         to m4/relocatable-lib.m4.
62062         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
62063         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
62064         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
62065         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
62066         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
62067         * modules/relocatable: New file.
62068         * modules/relocatable-lib: New file.
62069         * modules/relocatable-script: New file.
62070
62071 2007-02-28  Bruno Haible  <bruno@clisp.org>
62072
62073         Import --enable-relocatable infrastructure.
62074         * build-aux/config.libpath: New file, from GNU gettext.
62075         * build-aux/install-reloc: New file, from GNU gettext.
62076         * build-aux/reloc-ldflags: New file, from GNU gettext.
62077         * lib/relocatable.h: New file, from GNU gettext.
62078         * lib/relocatable.c: New file, from GNU gettext.
62079         * lib/relocwrapper.c: New file, from GNU gettext.
62080         * m4/relocatable.m4: New file, from GNU gettext.
62081
62082 2007-02-28  Bruno Haible  <bruno@clisp.org>
62083
62084         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
62085
62086         * modules/xreadlink: New file, from GNU gettext with modifications.
62087         * lib/xreadlink.c: New file, from GNU gettext.
62088         * lib/xreadlink.h: Add comments.
62089         (xreadlink): New declaration.
62090
62091         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
62092         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
62093         lib/xreadlink-with-size.c.
62094         (configure.ac): Remove gl_XREADLINK invocation.
62095         (Makefile.am): Augment lib_SOURCES.
62096         * m4/xreadlink.m4: Remove file.
62097         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
62098         (xreadlink_with_size): Renamed from xreadink.
62099         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
62100         * modules/canonicalize (Depends-on): Replace xreadlink with
62101         xreadlink-with-size.
62102         * lib/canonicalize.c (canonicalize_filename_mode): Update.
62103
62104 2007-02-25  Jim Meyering  <jim@meyering.net>
62105
62106         * build-aux/announce-gen: When complaining about excess arguments,
62107         list them.
62108
62109 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
62110
62111         * README: Document signed integer overflow situation more
62112         accurately.
62113
62114 2007-02-25  Bruno Haible  <bruno@clisp.org>
62115
62116         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
62117         'a' or 'A' conversion.
62118
62119 2007-02-25  Bruno Haible  <bruno@clisp.org>
62120
62121         * modules/filename: Renamed from modules/pathname.
62122         (Files): Replace lib/pathname.h with lib/filename.h. Replace
62123         lib/concatpath.c with lib/concat-filename.c.
62124         (Makefile.am): Update.
62125         (Include): Replace pathname.h with filename.h.
62126         * lib/filename.h: Renamed from lib/pathname.h.
62127         (concatenated_filename): Renamed from concatenated_pathname.
62128         * lib/concat-filename.c: Renamed from lib/concatpath.c.
62129         (concatenated_filename): Renamed from concatenated_pathname.
62130         * lib/findprog.c: Include filename.h instead of pathname.h.
62131         (find_in_path): Update.
62132         * lib/javacomp.c: Include filename.h instead of pathname.h.
62133         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
62134         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
62135         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
62136         is_oldgcj_14_13_usable, is_javac_usable): Update.
62137         * lib/javaexec.c: Include filename.h instead of pathname.h.
62138         (execute_java_class): Update.
62139         * modules/findprog: Update.
62140         * modules/javacomp: Update.
62141         * modules/javaexec: Update.
62142         * MODULES.html.sh (File system functions): Add 'filename', remove
62143         'pathname'.
62144
62145 2007-02-25  Bruno Haible  <bruno@clisp.org>
62146
62147         * modules/printf-frexpl-tests: New file.
62148         * tests/test-printf-frexpl.c: New file.
62149
62150         * modules/printf-frexpl: New file.
62151         * lib/printf-frexpl.h: New file.
62152         * lib/printf-frexpl.c: New file.
62153         * m4/printf-frexpl.m4: New file.
62154
62155 2007-02-25  Bruno Haible  <bruno@clisp.org>
62156
62157         * modules/printf-frexp-tests: New file.
62158         * tests/test-printf-frexp.c: New file.
62159
62160         * modules/printf-frexp: New file.
62161         * lib/printf-frexp.h: New file.
62162         * lib/printf-frexp.c: New file.
62163         * m4/printf-frexp.m4: New file.
62164
62165 2007-02-25  Bruno Haible  <bruno@clisp.org>
62166
62167         Assume automake >= 1.10 for the tests.
62168         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
62169         * modules/arctwo-tests: Likewise.
62170         * modules/argp-tests: Likewise.
62171         * modules/avltree-list-tests: Likewise.
62172         * modules/avltree-oset-tests: Likewise.
62173         * modules/avltreehash-list-tests: Likewise.
62174         * modules/carray-list-tests: Likewise.
62175         * modules/crc-tests: Likewise.
62176         * modules/des-tests: Likewise.
62177         * modules/gc-arcfour-tests: Likewise.
62178         * modules/gc-arctwo-tests: Likewise.
62179         * modules/gc-des-tests: Likewise.
62180         * modules/gc-hmac-md5-tests: Likewise.
62181         * modules/gc-hmac-sha1-tests: Likewise.
62182         * modules/gc-md2-tests: Likewise.
62183         * modules/gc-md4-tests: Likewise.
62184         * modules/gc-md5-tests: Likewise.
62185         * modules/gc-pbkdf2-sha1-tests: Likewise.
62186         * modules/gc-rijndael-tests: Likewise.
62187         * modules/gc-sha1-tests: Likewise.
62188         * modules/gc-tests: Likewise.
62189         * modules/getaddrinfo-tests: Likewise.
62190         * modules/hmac-md5-tests: Likewise.
62191         * modules/hmac-sha1-tests: Likewise.
62192         * modules/linked-list-tests: Likewise.
62193         * modules/linkedhash-list-tests: Likewise.
62194         * modules/lock-tests: Likewise.
62195         * modules/md2-tests: Likewise.
62196         * modules/md4-tests: Likewise.
62197         * modules/md5-tests: Likewise.
62198         * modules/rbtree-list-tests: Likewise.
62199         * modules/rbtree-oset-tests: Likewise.
62200         * modules/rbtreehash-list-tests: Likewise.
62201         * modules/read-file-tests: Likewise.
62202         * modules/rijndael-tests: Likewise.
62203         * modules/stdint-tests: Likewise.
62204         * modules/tls-tests: Likewise.
62205
62206 2007-02-24  Bruno Haible  <bruno@clisp.org>
62207
62208         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
62209         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
62210         function; instead check whether isnan with a double argument links.
62211         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
62212         function; instead check whether isnan with a 'long double' argument
62213         links.
62214         Reported by Eric Blake <ebb9@byu.net>.
62215
62216 2007-02-24  Bruno Haible  <bruno@clisp.org>
62217
62218         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
62219         defined.
62220         * lib/isnanl.c: Remove all code. Just include isnan.c.
62221         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
62222
62223 2007-02-25  Jim Meyering  <jim@meyering.net>
62224
62225         Avoid conflicting types for 'unsetenv' on FreeBSD.
62226         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
62227         conflicting with FreeBSD's (5.0 and 6.1) function declaration
62228         in stdlib.h.
62229
62230 2007-02-24  Bruno Haible  <bruno@clisp.org>
62231
62232         * modules/isnanl-nolibm-tests: New file.
62233         * tests/test-isnanl.c: New file.
62234
62235         * modules/isnanl-nolibm: New file.
62236         * lib/isnanl.h: New file.
62237         * lib/isnanl.c: New file.
62238         * m4/isnanl.m4: New file.
62239
62240 2007-02-24  Bruno Haible  <bruno@clisp.org>
62241
62242         * modules/isnan-nolibm-tests: New file.
62243         * tests/test-isnan.c: New file.
62244
62245         * modules/isnan-nolibm: New file.
62246         * lib/isnan.h: New file.
62247         * lib/isnan.c: New file.
62248         * m4/isnan.m4: New file.
62249
62250 2007-02-24  Bruno Haible  <bruno@clisp.org>
62251
62252         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
62253         assume that an exponent fits in 20 bits.
62254
62255 2007-02-24  Jim Meyering  <jim@meyering.net>
62256
62257         * m4/regex.m4: Update the description of the configure-time option,
62258         --without-included-regex, to state accurately what the defaults are,
62259         and perhaps to give people an idea why using this option is risky.
62260
62261 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62262
62263         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
62264         loops on small arguments.  This attempts to avoid the problem
62265         Bruno Haible reported for AIX 4.3.2 in
62266         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
62267
62268 2007-02-23  Bruno Haible  <bruno@clisp.org>
62269
62270         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
62271         Needed for help2man.
62272
62273 2007-02-23  Karl Berry  <karl@gnu.org>
62274
62275         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
62276         exists, foo.h should be cvs-ignored, not committed.
62277
62278 2007-02-23  Eric Blake  <ebb9@byu.net>
62279
62280         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
62281         * lib/stat-time.h (includes): Likewise.
62282         * lib/utimecmp.c (includes): Likewise.
62283         * lib/utimens.h (includes): Likewise.
62284         * lib/getdate.y (includes): Also include "timespec.h" for use
62285         internal to the module.
62286         * modules/utimens (Depends-on): Revert yesterday's patch.
62287         * modules/nanosleep (Depends-on): Add missing dependency.
62288
62289 2007-02-22  Bruno Haible  <bruno@clisp.org>
62290
62291         * lib/glob.c: Don't include getlogin_r.h.
62292
62293 2007-02-22  Jim Meyering  <jim@meyering.net>
62294
62295         * modules/utimens (Depends-on): Add timespec, required for
62296         utimens.h's inclusion of timespec.h.
62297
62298 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
62299
62300         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
62301         long unreadable paths in GNU/Linux.  Problem reported by Andreas
62302         Schwab in
62303         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
62304         I'll try to think of a better way to fix the Solaris problem.
62305
62306         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
62307         like glibc; on Solaris 10, it fails with errno == EINVAL.
62308         POSIX says the behavior is unspecified if the first argument is NULL,
62309         so play it safe and never pass NULL to the system getcwd.
62310
62311 2007-02-21  Jim Meyering  <jim@meyering.net>
62312
62313         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
62314         of gettimeofday.  It would conflict with the one now always
62315         provided via sys_time_.h.  Reported by Matthew Woehlke, as
62316         an IRIX 6.5 build failure.
62317
62318 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62319
62320         Minor fixups to port to Solaris 10 with Sun C 5.8.
62321         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
62322         * modules/getcwd (Depends-on): Add dirfd.
62323         * lib/putenv.c (putenv): #undef it.
62324         (rpl_putenv): New decl.
62325         (malloc, free): Include <stdlib.h> rather than prototyping separately.
62326
62327 2007-02-20  Bruno Haible  <bruno@clisp.org>
62328
62329         * modules/stdio-tests: New file.
62330         * tests/test-stdio.c: New file.
62331
62332         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
62333         (Depends-on): Add stdio.
62334         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62335         (Include): Use <stdio.h> instead of vsnprintf.h.
62336         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62337         HAVE_DECL_VSNPRINTF.
62338         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
62339
62340         * modules/snprintf (Files): Remove lib/snprintf.h.
62341         (Depends-on): Add stdio.
62342         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62343         (Include): Use <stdio.h> instead of snprintf.h.
62344         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62345         HAVE_DECL_SNPRINTF.
62346         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
62347         * lib/getaddrinfo.c: Likewise.
62348
62349         * modules/stdio: New file.
62350         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
62351         * lib/snprintf.h: Remove file.
62352         * lib/vsnprintf.h: Remove file.
62353         * lib/.cppi-disable: Remove snprintf.h.
62354         * m4/stdio_h.m4: New file.
62355         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
62356
62357 2007-02-20  Jim Meyering  <jim@meyering.net>
62358
62359         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
62360         used by e.g., mingw.  From Bruno Haible.
62361
62362 2007-02-19  Bruno Haible  <bruno@clisp.org>
62363
62364         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
62365         warnings.
62366         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62367
62368 2007-02-19  Bruno Haible  <bruno@clisp.org>
62369
62370         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
62371         from mingw users.
62372
62373 2007-02-19  Bruno Haible  <bruno@clisp.org>
62374
62375         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
62376         warnings.
62377         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
62378
62379 2007-02-19  Jim Meyering  <jim@meyering.net>
62380
62381         Don't use FD after a successful "fdopendir (fd)".
62382         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
62383         Reset it by calling dirfd on the just-obtained DIR*.
62384
62385         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
62386         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
62387
62388 2007-02-18  Bruno Haible  <bruno@clisp.org>
62389
62390         * lib/readlink.c: Include <unistd.h>.
62391         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
62392         HAVE_READLINK.
62393         * modules/readlink (Depends-on): Add unistd.
62394         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62395         (Include): Add <unistd.h>.
62396
62397         * lib/getlogin_r.h: Remove file.
62398         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
62399         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
62400         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
62401         HAVE_DECL_GETLOGIN_R.
62402         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
62403         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62404         (Include): Use <unistd.h> instead of getlogin_r.h.
62405
62406         * lib/getcwd.h: Remove file.
62407         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
62408         * lib/xgetcwd.c: Likewise.
62409         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
62410         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
62411         * modules/getcwd (Files): Remove lib/getcwd.h.
62412         (Depends-on): Add unistd.
62413         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62414         (Include): Use <unistd.h> instad of getcwd.h.
62415
62416         * lib/ftruncate.c: Include <unistd.h> first.
62417         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
62418         Set HAVE_FTRUNCATE.
62419         * modules/ftruncate (Depends-on): Add unistd.
62420         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62421
62422         * lib/fchdir.c: Include <unistd.h> first.
62423         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
62424         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
62425         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
62426         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62427         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
62428
62429         * lib/dup2.c: Include <unistd.h> first.
62430         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62431         HAVE_DUP2.
62432         * modules/dup2 (Depends-on): Add unistd.
62433         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62434
62435         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62436         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62437         REPLACE_CHOWN. Don't define chown as a macro here.
62438         * modules/chown (Depends-on): Add unistd.
62439         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62440
62441         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62442         Add definition for GL_LINK_WARNING.
62443         (chown, dup2): New declarations.
62444         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62445         link warning.
62446         (ftruncate): New declaration.
62447         (getcwd): New declaration, taken from old getcwd.h.
62448         (getlogin_r): New declaration, taken from old getlogin_r.h.
62449         (readlink): New declaration.
62450         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62451         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62452         (gl_PREREQ_UNISTD): Remove macro.
62453         (gl_UNISTD_MODULE_INDICATOR): New macro.
62454         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62455         many new variables. Don't set UNISTD_H.
62456         * modules/unistd (Description): Change.
62457         (Depends-on): Add link-warning.
62458         (configure.ac): Update.
62459         (Makefile.am): Create unistd.h always. Substitute many new variables
62460         into it.
62461
62462 2007-02-18  Bruno Haible  <bruno@clisp.org>
62463
62464         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62465         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62466         HAVE_GETSUBOPT.
62467         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62468         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62469         * lib/getsubopt.h: Remove file.
62470         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62471         (Depends-on): Add stdlib.
62472         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62473         (Includes): Use <stdlib.h> instead of getsubopt.h.
62474         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62475         Set HAVE_GETSUBOPT.
62476         * lib/getsubopt.c: Don't include getsubopt.h.
62477
62478 2007-02-18  Bruno Haible  <bruno@clisp.org>
62479
62480         * modules/fchdir (Depends-on): Add dup2.
62481
62482 2007-02-18  Bruno Haible  <bruno@clisp.org>
62483
62484         * lib/stdlib_.h: Handle glibc's special invocation convention
62485         specially.
62486
62487 2007-02-18  Bruno Haible  <bruno@clisp.org>
62488
62489         * modules/stdlib-tests: New file.
62490         * tests/test-stdlib.c: New file.
62491
62492         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62493         (Depends-on): Add stdlib.
62494         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62495         (Includes): Use <stdlib.h> instead of mkstemp.h.
62496         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62497         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62498         * lib/mkstemp.c: Don't include mkstemp.h.
62499         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62500         * lib/stdlib--.h: Don't include mkstemp.h.
62501
62502         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62503         (Depends-on): Add stdlib.
62504         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62505         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62506         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62507         HAVE_MKDTEMP.
62508         * lib/mkdtemp.c: Don't include mkdtemp.h.
62509         * lib/clean-temp.c: Don't include mkdtemp.h.
62510
62511         * modules/exit (Files): Remove lib/exit.h.
62512         (Depends-on): Add stdlib.
62513         (Makefile.am): Remove lib_SOURCES.
62514         (Include): Use <stdlib.h> instead of exit.h.
62515         * lib/argmatch.c: Don't include exit.h.
62516         * lib/execute.c: Likewise.
62517         * lib/pagealign_alloc.c: Likewise.
62518         * lib/pipe.c: Likewise.
62519         * lib/wait-process.c: Likewise.
62520         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62521         * lib/exitfail.c: Likewise.
62522         * lib/savewd.c: Likewise.
62523         * lib/xsetenv.c: Likewise.
62524
62525         * modules/stdlib: New file.
62526         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62527         and extra comments about mkstemp().
62528         * lib/exit.h: Remove file.
62529         * lib/mkdtemp.h: Remove file.
62530         * lib/mkstemp.h: Remove file.
62531         * m4/stdlib_h.m4: New file.
62532         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62533
62534 2007-02-18  Bruno Haible  <bruno@clisp.org>
62535
62536         * modules/math-tests: New file.
62537         * tests/test-math.c: New file.
62538
62539         * modules/math: New file.
62540         * modules/mathl (Files): Remove lib/mathl.h.
62541         (Depends-on): Add math.
62542         (Makefile.am): Don't mention mathl.h.
62543         (Include): Use <math.h> instead of mathl.h.
62544         * lib/math_.h: New file.
62545         * lib/mathl.h: Remove file.
62546         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62547         mathl.h.
62548         * lib/asinl.c: Likewise.
62549         * lib/atanl.c: Likewise.
62550         * lib/ceill.c: Likewise.
62551         * lib/cosl.c: Likewise.
62552         * lib/expl.c: Likewise.
62553         * lib/floorl.c: Likewise.
62554         * lib/frexpl.c: Likewise.
62555         * lib/ldexpl.c: Likewise.
62556         * lib/logl.c: Likewise.
62557         * lib/sincosl.c: Likewise.
62558         * lib/sinl.c: Likewise.
62559         * lib/sqrtl.c: Likewise.
62560         * lib/tanl.c: Likewise.
62561         * lib/trigl.c: Likewise.
62562         * m4/math_h.m4: New file.
62563         * MODULES.html.sh (Mathematics): Add math.
62564
62565 2007-02-17  Bruno Haible  <bruno@clisp.org>
62566
62567         * modules/wctype-tests: New file.
62568         * tests/test-wctype.c: New file.
62569
62570         * modules/wchar-tests: New file.
62571         * tests/test-wchar.c: New file.
62572
62573         * modules/unistd-tests: New file.
62574         * tests/test-unistd.c: New file.
62575
62576         * modules/time-tests: New file.
62577         * tests/test-time.c: New file.
62578
62579         * modules/sysexits-tests: New file.
62580         * tests/test-sysexits.c: New file.
62581
62582         * modules/sys_time-tests: New file.
62583         * tests/test-sys_time.c: New file.
62584
62585         * modules/sys_stat-tests: New file.
62586         * tests/test-sys_stat.c: New file.
62587
62588         * modules/sys_socket-tests: New file.
62589         * tests/test-sys_socket.c: New file.
62590
62591         * modules/sys_select-tests: New file.
62592         * tests/test-sys_select.c: New file.
62593
62594         * modules/string-tests: New file.
62595         * tests/test-string.c: New file.
62596
62597         * modules/stdbool-tests: New file.
62598         * tests/test-stdbool.c: New file.
62599
62600         * modules/netinet_in-tests: New file.
62601         * tests/test-netinet_in.c: New file.
62602
62603         * modules/inttypes-tests: New file.
62604         * tests/test-inttypes.c: New file.
62605
62606         * modules/fcntl-tests: New file.
62607         * tests/test-fcntl.c: New file.
62608
62609         * modules/byteswap-tests: New file.
62610         * tests/test-byteswap.c: New file.
62611
62612         * modules/arpa_inet-tests: New file.
62613         * tests/test-arpa_inet.c: New file.
62614
62615 2007-02-17  Bruno Haible  <bruno@clisp.org>
62616
62617         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62618         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62619         if the corresponding module is not enabled. Emit link warnings if
62620         the function is used nevertheless.
62621         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62622         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62623         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62624         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62625         * modules/inttypes (Depends-on): Add link-warning.
62626         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62627         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62628         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62629         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62630         * modules/imaxdiv (configure.ac): Likewise.
62631         * modules/strtoimax (configure.ac): Likewise.
62632         * modules/strtoumax (configure.ac): Likewise.
62633
62634 2007-02-17  Bruno Haible  <bruno@clisp.org>
62635
62636         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62637         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62638         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62639         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62640
62641 2007-02-17  Bruno Haible  <bruno@clisp.org>
62642
62643         * modules/link-warning: New file.
62644         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62645         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62646         * modules/string (Depends-on): Add link-warning.
62647         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62648         string.h.
62649         * MODULES.html.sh (Support for building libraries and executables): Add
62650         link-warning.
62651
62652 2007-02-17  Bruno Haible  <bruno@clisp.org>
62653
62654         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62655         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62656         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62657         long lines.
62658
62659 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62660             Bruno Haible  <bruno@clisp.org>
62661
62662         * modules/tmpfile: New file.
62663         * lib/tmpfile.c: New file.
62664         * m4/tmpfile.m4: New file.
62665         * MODULES.html.sh (func_all_modules): New section "Input/output".
62666
62667 2007-02-15  Bruno Haible  <bruno@clisp.org>
62668
62669         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62670         (supports_delete_on_close): New function.
62671         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62672
62673 2007-02-14  Bruno Haible  <bruno@clisp.org>
62674
62675         * modules/mbspcasecmp-tests: New file.
62676         * tests/test-mbspcasecmp.sh: New file.
62677         * tests/test-mbspcasecmp.c: New file.
62678
62679         New module mbspcasecmp.
62680         * modules/mbspcasecmp: New file.
62681         * lib/mbspcasecmp.c: New file.
62682         * lib/string_.h (strncasecmp): Change warning message.
62683         (mbspcasecmp): New declaration.
62684         * m4/mbspcasecmp.m4: New file.
62685         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62686         GNULIB_MBSPCASECMP.
62687         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62688         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62689
62690 2007-02-14  Bruno Haible  <bruno@clisp.org>
62691
62692         * modules/mbsncasecmp-tests: New file.
62693         * tests/test-mbsncasecmp.sh: New file.
62694         * tests/test-mbsncasecmp.c: New file.
62695
62696         New module mbsncasecmp.
62697         * modules/mbsncasecmp: New file.
62698         * lib/mbsncasecmp.c: New file.
62699         * lib/string_.h (mbsncasecmp): New declaration.
62700         * m4/mbsncasecmp.m4: New file.
62701         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62702         GNULIB_MBSNCASECMP.
62703         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62704         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62705
62706 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62707
62708         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62709         Verify that it doesn't overlap with our flags.
62710         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62711         do not have the desired effect in multibyte locales; instead, use
62712         mbscasecmp.
62713         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62714         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62715         we don't require GNU fnmatch ourselves (if our users require it, they
62716         should do so explicitly).
62717
62718         Fix regex code so it doesn't rely on strcasecmp.
62719         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62720         Otherwise, include gnulib's langinfo.h.
62721         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62722         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62723         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62724         * modules/regex (FILES): Remove m4/codeset.m4.
62725         (Depends-on): Add localcharset.  Remove strcase.
62726
62727 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62728
62729         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62730         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62731
62732 2007-02-13  Bruno Haible  <bruno@clisp.org>
62733
62734         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62735         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62736
62737 2007-02-12  Bruno Haible  <bruno@clisp.org>
62738
62739         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62740         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62741         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62742         time warning rather than a link error.
62743
62744 2007-02-12  Bruno Haible  <bruno@clisp.org>
62745
62746         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62747         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62748         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62749
62750 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62751
62752         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62753         args, not 2.
62754
62755 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62756
62757         New module 'time', so that apps can include <time.h> as per
62758         POSIX and GNU instead of separate include files like time_r.h
62759         and timegm.h.  This implementation tries out a simpler approach
62760         for replacing decls in standard include files (as compared to
62761         the string module), somewhat as an experiment.
62762
62763         * config/srclist.txt: Comment out mktime.c for now.
62764         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62765         since it doesn't apply any more.  Use generic wording instead.
62766         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62767         'time'.
62768         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62769         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62770         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62771         Don't include <sys/types.h>; no longer needed since we assume C89.
62772         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62773         * lib/strftime.c: Likewise.
62774         * lib/time_r.c: Likewise.
62775         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62776         * lib/nanosleep.c: Include <time.h> first, to check interface.
62777         * lib/strptime.c: Likewise.
62778         * lib/time_r.c: Likewise.
62779         * lib/timegm.c: Likewise.
62780         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62781         needed.
62782         * lib/timegm.c: Don't include timegm.h; no longer needed.
62783         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62784         time.h now handles any problems in that area.
62785         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62786         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62787         that time.h defines struct timespec.
62788         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62789         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62790         handles that.
62791         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62792         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62793         needed.  Set REPLACE_LOCALTIME.
62794         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62795         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62796         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62797         nanosleep; time_h.m4 now does that.  Don't require
62798         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62799         module handles this now.
62800         * modules/getdate (Depends-on): Remove timespec.  Add time.
62801         * modules/nanosleep (Depends-on): Likewise.
62802         * modules/stat-time (Depends-on): Likewise.
62803         * modules/nanosleep (Include): Include time.h, not timespec.h.
62804         * modules/strptime (Files): Remove lib/strptime.h.
62805         (Depends-on): Add extensions, time.
62806         (Include): Include time.h, not strptime.h.
62807         * modules/time_r (Files): Remove lib/time_r.h.
62808         (Depends-on): Add time.
62809         (Include): Include time.h, not time_r.h.
62810         * modules/timegm: Likewise.
62811         * modules/timespec (Description): Now does timespec-related decls
62812         of our own, instead of struct timespec itself.
62813         (Depends-on): Add time; remove extensions.
62814         (Maintainer): Add self.
62815         * modules/utimecmp (Depends-on): Add time; remove timespec.
62816         * modules/utimens (Depends-on): Likewise.
62817         * modules/xnanosleep (Depends-on): Likewise.
62818
62819 2007-02-11  Bruno Haible  <bruno@clisp.org>
62820
62821         * lib/c-strstr.c: Include allocsa.h.
62822         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62823         * lib/c-strcasestr.c: Include allocsa.h.
62824         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62825         * lib/strcasestr.c: Include allocsa.h.
62826         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62827         * lib/mbsstr.c: Include allocsa.h.
62828         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62829         allocsa/freesa instead of malloc/free.
62830         * lib/mbscasestr.c: Include allocsa.h.
62831         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62832         allocsa/freesa instead of malloc/free.
62833         * modules/c-strstr (Depends-on): Add allocsa.
62834         * modules/c-strcasestr (Depends-on): Likewise.
62835         * modules/strcasestr (Depends-on): Likewise.
62836         * modules/mbsstr (Depends-on): Likewise.
62837         * modules/mbscasestr (Depends-on): Likewise.
62838
62839 2007-02-11  Bruno Haible  <bruno@clisp.org>
62840
62841         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
62842
62843         * modules/mbsspn-tests: New file.
62844         * tests/test-mbsspn.sh: New file.
62845         * tests/test-mbsspn.c: New file.
62846
62847 2007-02-11  Bruno Haible  <bruno@clisp.org>
62848
62849         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
62850
62851         * modules/mbspbrk-tests: New file.
62852         * tests/test-mbspbrk.sh: New file.
62853         * tests/test-mbspbrk.c: New file.
62854
62855 2007-02-11  Bruno Haible  <bruno@clisp.org>
62856
62857         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
62858         unneeded cast.
62859
62860         * modules/mbscspn-tests: New file.
62861         * tests/test-mbscspn.sh: New file.
62862         * tests/test-mbscspn.c: New file.
62863
62864 2007-02-11  Bruno Haible  <bruno@clisp.org>
62865
62866         * modules/mbscasecmp-tests: New file.
62867         * tests/test-mbscasecmp.sh: New file.
62868         * tests/test-mbscasecmp.c: New file.
62869
62870 2007-02-11  Bruno Haible  <bruno@clisp.org>
62871
62872         Ensure O(n) worst-case complexity of mbscasestr.
62873         * lib/mbscasestr.c: Include stdbool.h.
62874         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62875         functions.
62876         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
62877         the bookkeeping indicates that it's worth it.
62878         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
62879
62880         * modules/mbscasestr-tests: New file.
62881         * tests/test-mbscasestr1.c: New file.
62882         * tests/test-mbscasestr2.sh: New file.
62883         * tests/test-mbscasestr2.c: New file.
62884         * tests/test-mbscasestr3.sh: New file.
62885         * tests/test-mbscasestr3.c: New file.
62886         * tests/test-mbscasestr4.sh: New file.
62887         * tests/test-mbscasestr4.c: New file.
62888         * m4/locale-tr.m4: New file.
62889
62890 2007-02-11  Bruno Haible  <bruno@clisp.org>
62891
62892         Ensure O(n) worst-case complexity of mbsstr.
62893         * lib/mbsstr.c: Include stdbool.h.
62894         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62895         functions.
62896         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
62897         bookkeeping indicates that it's worth it.
62898         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
62899
62900         * modules/mbsstr-tests: New file.
62901         * tests/test-mbsstr1.c: New file.
62902         * tests/test-mbsstr2.sh: New file.
62903         * tests/test-mbsstr2.c: New file.
62904         * tests/test-mbsstr3.sh: New file.
62905         * tests/test-mbsstr3.c: New file.
62906         * m4/locale-fr.m4: New file.
62907
62908 2007-02-11  Bruno Haible  <bruno@clisp.org>
62909
62910         * lib/mbsrchr.c (mbsrchr): Fix bug.
62911
62912         * modules/mbsrchr-tests: New file.
62913         * tests/test-mbsrchr.sh: New file.
62914         * tests/test-mbsrchr.c: New file.
62915
62916 2007-02-11  Bruno Haible  <bruno@clisp.org>
62917
62918         * lib/mbschr.c (mbschr): Fix bug.
62919
62920         * modules/mbschr-tests: New file.
62921         * tests/test-mbschr.sh: New file.
62922         * tests/test-mbschr.c: New file.
62923         * m4/locale-zh.m4: New file.
62924
62925 2007-02-11  Bruno Haible  <bruno@clisp.org>
62926
62927         Support for copying multibyte string iterators.
62928         * lib/mbiter.h: Include <string.h>.
62929         (mbiter_multi_copy): New function.
62930         (mbi_copy): New macro.
62931         * lib/mbuiter.h: Include <string.h>.
62932         (mbuiter_multi_copy): New function.
62933         (mbui_copy): New macro.
62934
62935 2007-02-11  Bruno Haible  <bruno@clisp.org>
62936
62937         New module mbslen.
62938         * modules/mbslen: New file.
62939         * lib/mbslen.c: New file.
62940         * lib/string_.h (mbslen): New declaration.
62941         * m4/mbslen.m4: New file.
62942         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62943         GNULIB_MBSLEN.
62944         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
62945         * MODULES.html.sh (Internationalization functions): Add mbslen.
62946
62947 2007-02-11  Bruno Haible  <bruno@clisp.org>
62948
62949         Ensure O(n) worst-case complexity of strcasestr substitute.
62950         * lib/strcasestr.c: Include stdbool.h.
62951         (knuth_morris_pratt): New function.
62952         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62953         bookkeeping indicates that it's worth it.
62954         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
62955
62956         * modules/strcasestr-tests: New file.
62957         * tests/test-strcasestr.c: New file.
62958
62959 2007-02-11  Bruno Haible  <bruno@clisp.org>
62960
62961         Ensure O(n) worst-case complexity of c_strcasestr.
62962         * lib/c-strcasestr.c: Include stdbool.h, string.h.
62963         (knuth_morris_pratt): New function.
62964         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
62965         the bookkeeping indicates that it's worth it.
62966         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
62967
62968         * modules/c-strcasestr-tests: New file.
62969         * tests/test-c-strcasestr.c: New file.
62970
62971 2007-02-11  Bruno Haible  <bruno@clisp.org>
62972
62973         Ensure O(n) worst-case complexity of c_strstr.
62974         * lib/c-strstr.c: Include stdbool.h, string.h.
62975         (knuth_morris_pratt): New function.
62976         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62977         bookkeeping indicates that it's worth it.
62978         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
62979
62980         * lib/c-strstr.c: Complete rewrite for maintainability.
62981
62982         * modules/c-strstr-tests: New file.
62983         * tests/test-c-strstr.c: New file.
62984
62985 2007-02-11  Bruno Haible  <bruno@clisp.org>
62986
62987         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
62988         5.2.1 and earlier, whereby \055 was treated just like the range
62989         delimiter '-'.
62990         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62991
62992 2007-02-08  Bruno Haible  <bruno@clisp.org>
62993
62994         * modules/regex (Depends-on): Add stdbool.
62995         Reported by Dalibor Topic <robilad@kaffe.org>.
62996
62997 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62998
62999         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
63000         Prefer returning from main to exiting from it.
63001         Remove unnecessary parens after sizeof.
63002
63003 2007-02-05  Bruno Haible  <bruno@clisp.org>
63004
63005         New module mbssep.
63006         * modules/mbssep: New file.
63007         * lib/mbssep.c: New file.
63008         * lib/string_.h (strsep): Add a conditional link warning.
63009         (mbssep): New declaration.
63010         * m4/mbssep.m4: New file.
63011         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63012         GNULIB_MBSSEP.
63013         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
63014         * MODULES.html.sh (Internationalization functions): Add mbssep.
63015
63016 2007-02-05  Bruno Haible  <bruno@clisp.org>
63017
63018         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
63019         Optimize search in case of 1 delimiter.
63020
63021 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63022
63023         * lib/acl.h: Include sys/types.h before sys/acl.h.
63024
63025 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63026
63027         Merge upstream fix for glibc bugzilla #3957:
63028
63029         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
63030
63031         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
63032         bit for RE_HAT_LISTS_NOT_NEWLINE.
63033         (build_charclass_op): Remove bogus comment.
63034
63035 2007-02-05  Simon Josefsson  <simon@josefsson.org>
63036
63037         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
63038
63039 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63040
63041         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
63042         * lib/memmem.c [!defined _LIBC]: Include config.h.
63043
63044 2007-02-04  Bruno Haible  <bruno@clisp.org>
63045
63046         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
63047         warning message.
63048
63049 2007-02-04  Bruno Haible  <bruno@clisp.org>
63050
63051         New module mbstok_r.
63052         * modules/mbstok_r: New file.
63053         * lib/mbstok_r.c: New file.
63054         * lib/string_.h (strtok_r): Change argument names to match the
63055         comments. Add a conditional link warning.
63056         (mbstok_r): New declaration.
63057         * m4/mbstok_r.m4: New file.
63058         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63059         GNULIB_MBSTOK_R.
63060         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
63061         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
63062
63063 2007-02-04  Bruno Haible  <bruno@clisp.org>
63064
63065         New module mbsspn.
63066         * modules/mbsspn: New file.
63067         * lib/mbsspn.c: New file.
63068         * lib/string_.h (strspn): Add a conditional link warning.
63069         (mbsspn): New declaration.
63070         * m4/mbsspn.m4: New file.
63071         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63072         GNULIB_MBSSPN.
63073         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
63074         * MODULES.html.sh (Internationalization functions): Add mbsspn.
63075
63076 2007-02-04  Bruno Haible  <bruno@clisp.org>
63077
63078         New module mbspbrk.
63079         * modules/mbspbrk: New file.
63080         * lib/mbspbrk.c: New file.
63081         * lib/string_.h (strpbrk): Add a conditional link warning.
63082         (mbspbrk): New declaration.
63083         * m4/mbspbrk.m4: New file.
63084         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63085         GNULIB_MBSPBRK.
63086         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
63087         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
63088
63089 2007-02-04  Bruno Haible  <bruno@clisp.org>
63090
63091         New module mbscspn.
63092         * modules/mbscspn: New file.
63093         * lib/mbscspn.c: New file.
63094         * lib/string_.h (strcspn): Add a conditional link warning.
63095         (mbscspn): New declaration.
63096         * m4/mbscspn.m4: New file.
63097         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63098         GNULIB_MBSCSPN.
63099         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
63100         * MODULES.html.sh (Internationalization functions): Add mbscspn.
63101
63102 2007-02-04  Bruno Haible  <bruno@clisp.org>
63103
63104         New module mbscasestr, reduced goal of strcasestr.
63105         * modules/mbscasestr: New file.
63106         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
63107         (mbscasestr): Renamed from strcasestr.
63108         * lib/strcasestr.c: Don't include mbuiter.h.
63109         (strcasestr): Remove support for multibyte locales.
63110         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
63111         Change the conditional link warning.
63112         (mbscasestr): New declaration.
63113         * m4/mbscasestr.m4: New file.
63114         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
63115         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
63116         REPLACE_STRCASESTR.
63117         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
63118         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63119         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63120         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
63121         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
63122         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63123         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
63124         (Depends-on): Remove mbuiter.
63125         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
63126
63127 2007-02-04  Bruno Haible  <bruno@clisp.org>
63128
63129         Simplify handling of strncasecmp.
63130         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
63131         the conditional link warning.
63132         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63133         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
63134         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
63135         * modules/strcase (configure.ac): Don't invoke
63136         gl_STRING_MODULE_INDICATOR.
63137         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
63138
63139 2007-02-04  Bruno Haible  <bruno@clisp.org>
63140
63141         New module mbscasecmp, reduced goal of strcasecmp.
63142         * modules/mbscasecmp: New file.
63143         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
63144         (mbscasecmp): Renamed from strcasecmp.
63145         * lib/strcasecmp.c: Don't include mbuiter.h.
63146         (strcasecmp): Remove support for multibyte locales.
63147         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
63148         Change the conditional link warning.
63149         (mbscasecmp): New declaration.
63150         * m4/mbscasecmp.m4: New file.
63151         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
63152         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
63153         REPLACE_STRCASECMP.
63154         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
63155         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63156         GNULIB_MBSCASECMP.
63157         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
63158         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
63159         * modules/strcase (Files): Remove m4/mbrtowc.m4.
63160         (Depends-on): Remove mbuiter.
63161         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
63162
63163 2007-02-04  Bruno Haible  <bruno@clisp.org>
63164
63165         New module mbsstr. Remove module strstr.
63166         * modules/mbsstr: New file.
63167         * modules/strstr: Remove file.
63168         * lib/mbsstr.c: Renamed from lib/strstr.c.
63169         (mbsstr): Renamed from strstr.
63170         * lib/string_.h (strstr): Remove declaration. Change the conditional
63171         link warning.
63172         (mbsstr): New declaration.
63173         * m4/mbsstr.m4: New file.
63174         * m4/strstr.m4: Remove file.
63175         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63176         REPLACE_STRSTR.
63177         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
63178         Don't initialize GNULIB_STRSTR.
63179         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
63180         substitute GNULIB_STRSTR and REPLACE_STRSTR.
63181         * MODULES.html.sh (Internationalization functions): Add mbsstr.
63182         (Support for systems lacking ANSI C 89): Remove strstr.
63183
63184 2007-02-04  Bruno Haible  <bruno@clisp.org>
63185
63186         New module mbsrchr.
63187         * modules/mbsrchr: New file.
63188         * lib/mbsrchr.c: New file.
63189         * lib/string_.h (strrchr): Add a conditional link warning.
63190         (mbsrchr): New declaration.
63191         * m4/mbsrchr.m4: New file.
63192         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63193         GNULIB_MBSRCHR.
63194         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
63195         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
63196
63197 2007-02-04  Bruno Haible  <bruno@clisp.org>
63198
63199         New module mbschr.
63200         * modules/mbschr: New file.
63201         * lib/mbschr.c: New file.
63202         * lib/string_.h (strchr): Add a conditional link warning.
63203         (mbschr): New declaration.
63204         * m4/mbschr.m4: New file.
63205         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63206         GNULIB_MBSCHR.
63207         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
63208         * MODULES.html.sh (Internationalization functions): Add mbschr.
63209
63210 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63211
63212         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
63213
63214         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
63215
63216 2007-02-04  Bruno Haible  <bruno@clisp.org>
63217
63218         New module description section 'configure.ac-early'.
63219         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
63220         (func_get_autoconf_early_snippet): New function.
63221         (func_import, func_create_testdir): Use it. Remove special cases for
63222         modules 'extensions' and 'lock'.
63223         * modules/extensions (configure.ac-early): Require
63224         gl_USE_SYSTEM_EXTENSIONS.
63225         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
63226
63227 2007-02-04  Bruno Haible  <bruno@clisp.org>
63228
63229         Make use of gcj-4.3's -fsource and -ftarget option.
63230         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
63231         and if so try the options -fsource and -ftarget.
63232         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
63233         source_version, ftarget_option, target_version arguments.
63234         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
63235         (is_envjavac_oldgcj_14_14_usable): Renamed from
63236         is_envjavac_gcj_14_14_usable.
63237         (is_envjavac_oldgcj_14_13_usable): Renamed from
63238         is_envjavac_gcj_14_13_usable.
63239         (is_gcj_present): Update.
63240         (is_gcj_43, is_gcj43_usable): New functions.
63241         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
63242         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
63243         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
63244         try the options -fsource and -ftarget.
63245
63246 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63247
63248         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
63249         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
63250         larger value.
63251
63252 2007-02-03  Jim Meyering  <jim@meyering.net>
63253
63254         Give tools a better chance to allocate space for very large buffers.
63255         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
63256
63257         Make pwd and readlink work also when run with an unreadable parent dir
63258         on systems with openat support.
63259         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
63260         provided getcwd function, even when we have openat support.
63261         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
63262
63263 2007-02-02  Bruno Haible  <bruno@clisp.org>
63264
63265         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63266         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
63267         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
63268         portability problems if one of these functions is only used on specific
63269         platforms.
63270         Reported by Paul Eggert.
63271
63272 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
63273
63274         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
63275         is causing more trouble than it's curing.
63276         * lib/regex_internal.h (__mempcpy): Remove.
63277         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
63278         (and make the code a tad smaller to boot).
63279         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
63280
63281 2007-02-02  Jim Meyering  <jim@meyering.net>
63282
63283         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
63284         section, not in the Makefile.am: one.
63285
63286 2007-02-02  Eric Blake  <ebb9@byu.net>
63287
63288         * lib/strchrnul.c: Always include config.h first.
63289
63290         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
63291         gnulib strstr is not necessary here.
63292
63293 2007-02-02  Simon Josefsson  <simon@josefsson.org>
63294
63295         * m4/socklen.m4: Fix typo.
63296
63297 2007-02-02  Eric Blake  <ebb9@byu.net>
63298
63299         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
63300         * modules/netinet_in (Makefile.am): Likewise.
63301
63302 2007-02-01  Bruno Haible  <bruno@clisp.org>
63303
63304         * lib/string_.h (GL_LINK_WARNING): New macro.
63305         (strcasecmp, strstr, strcasestr): If provided by the system,
63306         conditionally define as a macro that leads to a warning instead of to
63307         an error.
63308         (strncasecmp): Conditionally define as a macro that leads to a warning.
63309
63310 2007-02-01  Karl Berry  <karl@gnu.org>
63311
63312         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
63313
63314 2007-02-01  Bruno Haible  <bruno@clisp.org>
63315
63316         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
63317         renamings.
63318
63319 2007-02-01  Eric Blake  <ebb9@byu.net>
63320
63321         * modules/regex (Depends-on): Revert dependence on mempcpy.
63322         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
63323         module's definition of mempcpy.
63324         Reported by Paul Eggert.
63325
63326 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
63327
63328         * lib/string_.h: If the gnulib module XYZ is not present, undefine
63329         the symbol XYZ before redefining it.  This fixes a problem with
63330         programs that don't use XYZ, when compiled on systems that define
63331         XYZ to something else.
63332
63333 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
63334
63335         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
63336         occurs when "mkdir -m foo" creates a setgid directory that is (1)
63337         writeable to group or other and (2) is intended to have a special
63338         mode bit that is set or cleared.  In such a case, the directory
63339         should be neither group- nor other-writeable until the special
63340         mode bits are right.
63341
63342 2007-01-31  Eric Blake  <ebb9@byu.net>
63343
63344         * modules/mountlist (Depends-on): Add strstr.
63345
63346         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
63347         bug.
63348         * modules/string (Makefile.am): Remove redundant replacement.
63349         * modules/regex (Depends-on): Add mempcpy.
63350
63351 2007-01-31  Bruno Haible  <bruno@clisp.org>
63352
63353         New module description field 'Link'.
63354         * gnulib-tool (func_usage): Document --extract-link-directive.
63355         (sed_extract_prog): Recognize 'Link' directive.
63356         (func_get_link_directive): New function.
63357         (func_import): Show summary of link directives.
63358         Handle --extract-link-directive option.
63359         * modules/acl (Link): New section.
63360         * modules/clock-time (Link): New section.
63361         * modules/euidaccess (Link): New section.
63362         * modules/gettext (Link): New section.
63363         * modules/iconv (Link): New section.
63364         * modules/lock (Link): New section.
63365         * modules/nanosleep (Link): New section.
63366         * modules/readline (Link): New section.
63367
63368 2007-01-27  Bruno Haible  <bruno@clisp.org>
63369
63370         Enforce the use of gnulib modules for unportable <string.h> functions.
63371         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
63372         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
63373         (gl_HEADER_STRING_H_BODY): Require it.
63374         * lib/string_.h: If the gnulib module XYZ is not present, redefine
63375         the symbol XYZ to one that gives a link error.
63376         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
63377         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
63378         * modules/mempcpy (configure.ac): Likewise.
63379         * modules/memrchr (configure.ac): Likewise.
63380         * modules/stpcpy (configure.ac): Likewise.
63381         * modules/stpncpy (configure.ac): Likewise.
63382         * modules/strcase (configure.ac): Likewise.
63383         * modules/strcasestr (configure.ac): Likewise.
63384         * modules/strchrnul (configure.ac): Likewise.
63385         * modules/strdup (configure.ac): Likewise.
63386         * modules/strndup (configure.ac): Likewise.
63387         * modules/strnlen (configure.ac): Likewise.
63388         * modules/strpbrk (configure.ac): Likewise.
63389         * modules/strsep (configure.ac): Likewise.
63390         * modules/strstr (configure.ac): Likewise.
63391         * modules/strtok_r (configure.ac): Likewise.
63392
63393 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
63394
63395         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
63396
63397 2007-01-30  Jim Meyering  <jim@meyering.net>
63398
63399         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
63400
63401 2007-01-29  Bruno Haible  <bruno@clisp.org>
63402
63403         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
63404         * lib/execute.c: Likewise.
63405         * lib/pipe.c: Likewise.
63406         * lib/printf-args.h: Likewise.
63407         * lib/printf-args.c: Likewise.
63408         * lib/printf-parse.c: Likewise.
63409         * lib/vasnprintf.c: Likewise.
63410
63411 2007-01-29  Eric Blake  <ebb9@byu.net>
63412
63413         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
63414         declaration.
63415
63416 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
63417
63418         * lib/strptime.h (strptime): Use 'restrict' for args where
63419         POSIX requires this.
63420         * lib/strptime.c (strptime): Likewise.
63421         Change license notice from LGPL to GPL, since gnulib-tool will
63422         change this as needed.
63423         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
63424         defined.
63425         Include "strptime.h" first, to check interface.
63426         Do not #undef _LIBC and _NL_CURRENT.
63427         Do not include <stdlib.h>; no longer needed.
63428         Include "time_r.h" and declare ptime_locale_status
63429         only if _LIBC is not defined.
63430         (__P): Remove unused macro.
63431         (match_string): Bring back glibc version, but use it only if _LIBC
63432         is defined.
63433         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63434         Remove unnecessary assertion and abort() call.
63435         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63436         * m4/strptime.m4: Fix serial number comment.
63437         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63438         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63439         (Depends-on): Add time_r.
63440
63441 2007-01-29  Bruno Haible  <bruno@clisp.org>
63442
63443         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63444         strptime.
63445         * modules/strptime (Depends-on): Add stdbool.
63446         * lib/strptime.h: Include <time.h> always. Add comments.
63447
63448 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63449
63450         * modules/strptime: New file.
63451         * lib/strptime.h: New file.
63452         * lib/strptime.c: New file.
63453         * m4/strptime.m4: New file.
63454
63455 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63456
63457         * MODULES.html.sh: New module mpsort.
63458         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63459
63460         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63461         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63462         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63463         All uses changed.
63464         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63465         All uses changed.
63466         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63467         to _Restrict_.
63468         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63469         the parameter matches the prototype.
63470
63471 2007-01-28  Jim Meyering  <jim@meyering.net>
63472
63473         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63474         sys/time.h here, reverting that part of the previous patch:
63475         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63476
63477 2007-01-28  Bruno Haible  <bruno@clisp.org>
63478
63479         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63480         value of $(SYS_TIME_H).
63481         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63482         remove it conditionally, too. [added by Jim Meyering]
63483         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63484         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63485         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63486         GETTIMEOFDAY_REPLACEMENT to 1.
63487
63488 2007-01-28  Bruno Haible  <bruno@clisp.org>
63489
63490         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63491         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63492         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63493         Set UNISTD_H instead of UNISTD_H2.
63494         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63495
63496 2007-01-28  Bruno Haible  <bruno@clisp.org>
63497
63498         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63499         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63500
63501 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63502
63503         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63504         (func_create_testdir): Ensure C locale for `grep' and `tr'
63505         character ranges.
63506         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63507         ACLOCAL_AMFLAGS parsing state machine.
63508
63509 2007-01-27  Bruno Haible  <bruno@clisp.org>
63510
63511         * modules/unistr/base: Update.
63512
63513 2007-01-27  Bruno Haible  <bruno@clisp.org>
63514
63515         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63516         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63517         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63518         modules/unistr/u32-mbtouc.
63519         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63520         * lib/unistr.h: Update.
63521         * lib/linebreak.c: Update.
63522         * modules/unistr/u32-mbtouc: Renamed from
63523         modules/unistr/u32-mbtouc-safe.
63524         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63525         * lib/unistr.h: Update.
63526         * lib/unistr/u32-to-u8.c: Update.
63527         * lib/unistr/u32-to-u16.c: Update.
63528
63529 2007-01-27  Bruno Haible  <bruno@clisp.org>
63530
63531         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63532         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63533         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63534         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63535         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63536         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63537         modules/unistr/u16-mbtouc.
63538         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63539         * lib/unistr.h: Update.
63540         * lib/linebreak.c: Update.
63541         * modules/linebreak: Update.
63542         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63543         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63544         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63545         * modules/unistr/u16-mbtouc: Renamed from
63546         modules/unistr/u16-mbtouc-safe.
63547         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63548         * lib/unistr.h: Update.
63549         * lib/unistr/u16-to-u8.c: Update.
63550         * modules/unistr/u16-to-u8: Update.
63551         * lib/unistr/u16-to-u32.c: Update.
63552         * modules/unistr/u16-to-u32: Update.
63553
63554 2007-01-27  Bruno Haible  <bruno@clisp.org>
63555
63556         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63557         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63558         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63559         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63560         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63561         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63562         modules/unistr/u8-mbtouc.
63563         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63564         * lib/unistr.h: Update.
63565         * lib/striconveh.c: Update.
63566         * modules/striconveh: Update.
63567         * lib/linebreak.c: Update.
63568         * modules/linebreak: Update.
63569         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63570         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63571         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63572         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63573         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63574         * lib/unistr.h: Update.
63575         * lib/striconveh.c: Update.
63576         * modules/striconveh: Update.
63577         * lib/unistr/u8-to-u16.c: Update.
63578         * modules/unistr/u8-to-u16: Update.
63579         * lib/unistr/u8-to-u32.c: Update.
63580         * modules/unistr/u8-to-u32: Update.
63581
63582 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63583
63584         Sync from Libtool.
63585         * lib/argz.c: Do not include strings.h nor memory.h, include
63586         string.h unconditionally.  Patch by Simon Josefsson.
63587
63588 2007-01-27  Bruno Haible  <bruno@clisp.org>
63589
63590         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63591         from gl_HEADER_STRING_H_BODY.
63592         (gl_HEADER_STRING_H_BODY): Require it.
63593         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63594         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63595         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63596         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63597         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63598         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63599         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63600         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63601         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63602         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63603         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63604         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63605         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63606         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63607         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63608
63609 2007-01-27  Bruno Haible  <bruno@clisp.org>
63610
63611         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63612         check_PROGRAMS into noinst_PROGRAMS.
63613         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63614         check_PROGRAMS in this case.
63615         (func_import): Set for_test to false.
63616         (func_create_testdir): Set for_test to true.
63617
63618 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63619             Bruno Haible  <bruno@clisp.org>
63620
63621         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63622         (Depends-on): Add string.
63623         (Includes): Use <string.h> instead of strcasestr.h.
63624         * modules/string (Makefile.am): Also substitute the value of
63625         REPLACE_STRCASESTR.
63626         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63627         assume strcasestr is declared in <string.h> not <strings.h>. Also
63628         set REPLACE_STRCASESTR.
63629         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63630         REPLACE_STRCASESTR.
63631         * lib/strcasestr.h: Remove file.
63632         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63633         * lib/string_.h (strcasestr): New declaration.
63634
63635 2007-01-27  Bruno Haible  <bruno@clisp.org>
63636
63637         * lib/string_.h: Use 'extern'.
63638
63639 2007-01-27  Jim Meyering  <jim@meyering.net>
63640
63641         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63642         of set-but-not-used local, "q".
63643
63644         * lib/mempcpy.c: Include <config.h> before <string.h>.
63645         This fixes a compilation error on HP-UX, due to the system's
63646         "restrict"-using mempcpy prototype.
63647
63648 2007-01-26  Bruno Haible  <bruno@clisp.org>
63649
63650         Small optimization.
63651         * lib/javacomp.c: Include c-strstr.h.
63652          (is_envjavac_gcj): Use c_strstr instead of strstr.
63653         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63654
63655 2007-01-26  Bruno Haible  <bruno@clisp.org>
63656
63657         * MODULES.html.sh (Unicode string functions): Add the new modules.
63658
63659         * modules/uniconv/u32-strconv-to-locale: New file.
63660         * lib/uniconv/u32-strconv-to-locale.c: New file.
63661
63662         * modules/uniconv/u16-strconv-to-locale: New file.
63663         * lib/uniconv/u16-strconv-to-locale.c: New file.
63664
63665         * modules/uniconv/u8-strconv-to-locale: New file.
63666         * lib/uniconv/u8-strconv-to-locale.c: New file.
63667
63668         * modules/uniconv/u32-strconv-from-locale: New file.
63669         * lib/uniconv/u32-strconv-from-locale.c: New file.
63670
63671         * modules/uniconv/u16-strconv-from-locale: New file.
63672         * lib/uniconv/u16-strconv-from-locale.c: New file.
63673
63674         * modules/uniconv/u8-strconv-from-locale: New file.
63675         * lib/uniconv/u8-strconv-from-locale.c: New file.
63676
63677         * modules/uniconv/u32-strconv-to-enc: New file.
63678         * lib/uniconv/u32-strconv-to-enc.c: New file.
63679         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63680         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63681
63682         * modules/uniconv/u16-strconv-to-enc: New file.
63683         * lib/uniconv/u16-strconv-to-enc.c: New file.
63684         * lib/uniconv/u-strconv-to-enc.h: New file.
63685         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63686         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63687
63688         * modules/uniconv/u8-strconv-to-enc: New file.
63689         * lib/uniconv/u8-strconv-to-enc.c: New file.
63690         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63691         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63692
63693         * modules/uniconv/u32-strconv-from-enc: New file.
63694         * lib/uniconv/u32-strconv-from-enc.c: New file.
63695         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63696         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63697
63698         * modules/uniconv/u16-strconv-from-enc: New file.
63699         * lib/uniconv/u16-strconv-from-enc.c: New file.
63700         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63701         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63702
63703         * modules/uniconv/u8-strconv-from-enc: New file.
63704         * lib/uniconv/u8-strconv-from-enc.c: New file.
63705         * lib/uniconv/u-strconv-from-enc.h: New file.
63706         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63707         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63708
63709         * modules/uniconv/u32-conv-from-enc: New file.
63710         * lib/uniconv/u32-conv-from-enc.c: New file.
63711         * modules/uniconv/u32-conv-from-enc-tests: New file.
63712         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63713
63714         * modules/uniconv/u16-conv-from-enc: New file.
63715         * lib/uniconv/u16-conv-from-enc.c: New file.
63716         * lib/uniconv/u-conv-from-enc.h: New file.
63717         * modules/uniconv/u16-conv-from-enc-tests: New file.
63718         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63719
63720         * modules/uniconv/u8-conv-from-enc: New file.
63721         * lib/uniconv/u8-conv-from-enc.c: New file.
63722         * modules/uniconv/u8-conv-from-enc-tests: New file.
63723         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63724
63725         * modules/uniconv/base: New file.
63726         * lib/uniconv.h: New file.
63727
63728 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63729
63730         * doc/gnulib-tool.texi (Initial import): Update to match current
63731         behavior with strdup module.
63732         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63733         * lib/memmem.h: Remove; all uses removed.  This is now done
63734         by <string.h>.
63735         * lib/mempcpy.h: Likewise.
63736         * lib/memrchr.h: Likewise.
63737         * lib/stpcpy.h: Likewise.
63738         * lib/stpncpy.h: Likewise.
63739         * lib/strcase.h: Likewise.
63740         * lib/strchrnul.h: Likewise.
63741         * lib/strdup.h: Likewise.
63742         * lib/strndup.h: Likewise.
63743         * lib/strnlen.h: Likewise.
63744         * lib/strpbrk.h: Likewise.
63745         * lib/strsep.h: Likewise.
63746         * lib/strstr.h: Likewise.
63747         * lib/strtok_r.h: Likewise.
63748         * lib/string_.h: New file.
63749         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63750         Rely on <string.h> instead.
63751         * lib/canon-host.c: Likewise.
63752         * lib/chdir-long.c: Likewise.
63753         * lib/concatpath.c: Likewise.
63754         * lib/exclude.c: Likewise.
63755         * lib/fchdir.c: Likewise.
63756         * lib/getaddrinfo.c: Likewise.
63757         * lib/getcwd.c: Likewise.
63758         * lib/getsubopt.c: Likewise.
63759         * lib/glob.c: Likewise.
63760         * lib/hard-locale.c: Likewise.
63761         * lib/iconvme.c: Likewise.
63762         * lib/javacomp.c: Likewise.
63763         * lib/mempcpy.c: Likewise.
63764         * lib/memrchr.c: Likewise.
63765         * lib/regex_internal.h: Likewise.
63766         * lib/stpncpy.c: Likewise.
63767         * lib/strcasecmp.c: Likewise.
63768         * lib/strchrnul.c: Likewise.
63769         * lib/strdup.c: Likewise.
63770         * lib/striconv.c: Likewise.
63771         * lib/striconveh.c: Likewise.
63772         * lib/striconveha.c: Likewise.
63773         * lib/strncasecmp.c: Likewise.
63774         * lib/strndup.c: Likewise.
63775         * lib/strnlen.c: Likewise.
63776         * lib/strsep.c: Likewise.
63777         * lib/strstr.c: Likewise.
63778         * lib/strtok_r.c: Likewise.
63779         * lib/userspec.c: Likewise.
63780         * lib/w32spawn.h: Likewise.
63781         * lib/xstrndup.c: Likewise.
63782         * lib/mountlist.c (strstr): Remove decl.
63783         * m4/string_h.m4: New file.
63784         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63785         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63786         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63787         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63788         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63789         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63790         Set REPLACE_STRCASECMP if necessary.
63791         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63792         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63793         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63794         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63795         HAVE_DECL_STRDUP if necessary.
63796         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63797         since gl_FUNC_STRNDUP does that now.
63798         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63799         Check for decl here...
63800         (gl_PREREQ_STRNLEN): ... not here.
63801         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63802         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63803         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63804         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63805         necessary.
63806         * modules/string: New file.
63807         * modules/memmem (Files): Remove special-purpose include file.
63808         (Depends-on): Add string.
63809         (Include): Include <string.h>, not the removed file.
63810         * modules/mempcpy: Likewise.
63811         * modules/memrchr: Likewise.
63812         * modules/stpcpy: Likewise.
63813         * modules/stpncpy: Likewise.
63814         * modules/strcase: Likewise.
63815         * modules/strchrnul: Likewise.
63816         * modules/strdup: Likewise.
63817         * modules/strndup: Likewise.
63818         * modules/strnlen: Likewise.
63819         * modules/strpbrk: Likewise.
63820         * modules/strsep: Likewise.
63821         * modules/strstr: Likewise.
63822         * modules/strtok_r: Likewise.
63823         * tests/test-dirname.c: Don't include "strdup.h", since
63824         <string.h> now suffices.
63825         * tests/test-memmem.c: Don't include "memmem.h", since
63826         <string.h> now suffices.
63827
63828 2007-01-25  Bruno Haible  <bruno@clisp.org>
63829
63830         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63831         *resultp is 0.
63832
63833         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63834         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63835         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63836         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63837
63838         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63839         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63840         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63841         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
63842         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
63843         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
63844
63845 2007-01-24  Bruno Haible  <bruno@clisp.org>
63846
63847         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
63848         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
63849         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
63850         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
63851         gl_FUNC_FTS_CORE.
63852         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
63853         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
63854         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63855         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
63856         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
63857         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
63858         gl_FUNC_FCHOWNAT.
63859         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
63860         gl_FUNC_STRFTIME.
63861         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
63862         Reported by Ralf Wildenhues.
63863
63864 2007-01-24  Bruno Haible  <bruno@clisp.org>
63865
63866         Drop AC_REQUIRE calls that are redundant with the module dependencies.
63867         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
63868         gl_GETADDRINFO.
63869         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
63870         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
63871         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
63872
63873 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
63874
63875         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
63876         Don't use 'exit'; just return from 'main'.
63877         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
63878
63879         * lib/fnmatch_.h: Readjust white space and comments to match
63880         glibc, to avoid spurious diffs.
63881
63882 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63883
63884         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
63885         2004-12-01 change by Jakub Jelinek, since this code won't compile
63886         if !LIBC.  Problem reported by Bob Proulx.
63887
63888 2007-01-23  Bruno Haible  <bruno@clisp.org>
63889
63890         * lib/striconveh.c: Include c-strcaseeq.h.
63891         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
63892         * modules/striconveh (Depends-on): Add c-strcaseeq.
63893
63894 2007-01-23  Bruno Haible  <bruno@clisp.org>
63895
63896         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
63897
63898         * modules/c-strcaseeq: New file.
63899         * lib/c-strcaseeq.h: New file.
63900
63901         * modules/streq: New file.
63902         * lib/streq.h: New file.
63903
63904 2007-01-23  Bruno Haible  <bruno@clisp.org>
63905
63906         * modules/striconveha-tests: New file.
63907         * tests/test-striconveha.c: New file.
63908
63909         * lib/striconveha.h: Include <stdbool.h>.
63910         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
63911         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
63912         (mem_iconveha_notranslit): Renamed from mem_iconveha.
63913         (mem_iconveha): New function.
63914         (str_iconveha_notranslit): Renamed from str_iconveha.
63915         (str_iconveha): New function.
63916         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
63917         c-strcase.
63918
63919 2007-01-23  Bruno Haible  <bruno@clisp.org>
63920
63921         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
63922         encodings without forgiving before trying any encoding with handler.
63923         (str_iconveha): Try all encodings without forgiving before trying any
63924         encoding with handler.
63925
63926 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63927
63928         Import the following changes from libc.
63929
63930         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63931
63932         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
63933
63934         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
63935
63936         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
63937         normal_bracket label.
63938
63939         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
63940
63941         [BZ #361]
63942         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
63943         to normal_bracket after fetching the next character.
63944
63945 2007-01-22  Bruno Haible  <bruno@clisp.org>
63946
63947         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
63948         argument.
63949         * lib/striconveh.c (iconv_carefully_1): New function.
63950         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
63951         argument.
63952         (str_cd_iconveh): Update.
63953         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
63954         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
63955         * tests/test-striconveh.c (MAGIC): New macro.
63956         (new_offsets): New function.
63957         (main): Test call with and without offsets.
63958
63959 2007-01-22  Bruno Haible  <bruno@clisp.org>
63960
63961         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
63962         * modules/sys_select (Makefile.am): Likewise.
63963         * modules/sys_socket (Makefile.am): Likewise.
63964         * modules/sys_time (Makefile.am): Likewise.
63965
63966 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63967
63968         * modules/gettimeofday (License): Change from GPL to LGPL, since
63969         gettimeofday is a library function.
63970
63971 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63972
63973         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
63974
63975 2007-01-21  Bruno Haible  <bruno@clisp.org>
63976
63977         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
63978
63979 2007-01-21  Bruno Haible  <bruno@clisp.org>
63980
63981         * modules/striconveha: New file.
63982         * lib/striconveha.h: New file.
63983         * lib/striconveha.c: New file.
63984         * MODULES.html.sh (Internationalization functions): Add striconveha.
63985         * lib/striconv.c (str_iconv): Optimize the case of an empty input
63986         string.
63987         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
63988
63989 2007-01-21  Bruno Haible  <bruno@clisp.org>
63990
63991         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
63992         * lib/striconveh.c (str_iconveh): Likewise.
63993
63994 2007-01-21  Bruno Haible  <bruno@clisp.org>
63995
63996         * lib/striconveh.h (mem_iconveh): New declaration.
63997         * lib/striconveh.c (mem_iconveh): New function.
63998         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
63999
64000 2007-01-21  Bruno Haible  <bruno@clisp.org>
64001
64002         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
64003
64004         * lib/striconveh.h (mem_cd_iconveh): Change specification.
64005         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
64006         original result buffer.
64007         (str_cd_iconveh): Update.
64008         * tests/test-striconveh.c (main): Update.
64009
64010         * lib/striconv.h (mem_cd_iconv): Change specification.
64011         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
64012         result buffer.
64013         (str_cd_iconv): Update.
64014         * tests/test-striconv.c (main): Update.
64015
64016 2007-01-21  Bruno Haible  <bruno@clisp.org>
64017
64018         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
64019
64020 2007-01-20  Jim Meyering  <jim@meyering.net>
64021
64022         * lib/userspec.c (parse_with_separator): If a user or group string
64023         starts with "+", skip the corresponding name-to-ID look-up, since
64024         such a look-up must fail: user and group names may not include "+".
64025
64026 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
64027
64028         * lib/poll.c: Include sys/time.h and time.h unconditionally,
64029         since we now assume the sys_time module.
64030         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
64031         check for sys/time.h; no longer needed.
64032         * modules/poll (Depends-on): Depend on sys_time.
64033
64034 2007-01-18  Bruno Haible  <bruno@clisp.org>
64035
64036         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
64037         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64038
64039         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
64040         gettimeofday.
64041
64042         * tests/test-gettimeofday.c: Include <time.h>.
64043         (dummy): Remove variable.
64044
64045         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
64046         gl_HEADER_SYS_TIME_H.
64047         (gl_HEADER_SYS_TIME_H): New macro.
64048
64049         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
64050         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64051         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
64052         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
64053         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64054         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
64055         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
64056         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64057         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
64058         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
64059         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64060
64061         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
64062         last change; it caused a compilation error when cross-compiling to
64063         Cygwin.
64064
64065 2007-01-18  Jim Meyering  <jim@meyering.net>
64066
64067         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
64068         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
64069         than the race-prone "test -d sys || mkdir sys".
64070         (configure.ac): Use AC_PROG_MKDIR_P.
64071         * modules/sys_select: Likewise.
64072         * modules/sys_socket: Likewise.
64073         * modules/sys_time: Likewise.
64074
64075 2007-01-18  Eric Blake  <ebb9@byu.net>
64076
64077         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
64078         replace gettimeofday.
64079         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
64080         name, to avoid infinite recursion.
64081
64082 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
64083
64084         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
64085         module sys_time.
64086         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
64087         assume timespec.h defines struct timeval.
64088         * lib/settime.c: Likewise.
64089         * lib/utimens.c: Likewise.
64090         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
64091         since we now assume the gettimeofday module.
64092         * lib/tempname.c (__gen_tempname): Likewise.
64093         * lib/gettimeofday.h: Remove.
64094         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
64095         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
64096         Include <time.h>, for 'time()'.
64097         (localtime_buffer_addr): Also use this workaround if
64098         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
64099         to simplify the uses.  All uses changed.
64100         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
64101         that #undef is inside {}, and 'const' follows type name consistently.
64102         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
64103         (gettimeofday): Do not use the maximum possible value for
64104         tv->tv_usec, since that might break usages other than ls.c.
64105         Instead, we'll leave ls.c alone.  This undoes today's patch
64106         by Bruno.  Add a compile-time warning for 1s-clock resolution;
64107         we've never observed the problem but might as well keep the
64108         canary.
64109         * lib/nanosleep.c: Include timespec.h first, for interface check.
64110         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
64111         now assume the sys_time module.
64112         * lib/tempname.c: Likewise.
64113         * lib/timespec.h: Likewise.
64114         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
64115         needed.
64116         * lib/strftime.c: Likewise.
64117         * lib/timespec.h: Likewise.
64118         * lib/posixtm.c: Include posixtm.h first, for interface check.
64119         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
64120         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
64121         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
64122         * lib/sys_time_.h: New file.
64123         * lib/timespec.h (struct timespec): Use long int, not long.
64124         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64125         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
64126         Remove obsolescent call to AC_HEADER_TIME.
64127         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64128         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64129         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64130         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
64131         Likewise.
64132         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
64133         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
64134         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
64135         into the sys_time module.  Check for gettimeofday just once.
64136         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
64137         for gettimeofday signature to just check the signature.  Merely
64138         compile it, since linking doesn't test signature.  Improve test for
64139         whether gettimeofday.o is actually needed.
64140         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
64141         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
64142         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
64143         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64144         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
64145         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
64146         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
64147         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
64148         than worrying about sys/time.h.
64149         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64150         Don't bother worrying about TIME_WITH_SYS_TIME.
64151         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64152         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
64153         * m4/sys_time_h.m4: New file.
64154         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
64155         Don't include sys/time.h.  Return from main rather than exiting.
64156         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
64157         all uses changed.
64158         * modules/gethrxtime (Depends-on): Add sys_time.
64159         * modules/gettime (Depends-on): Likewise.
64160         * modules/gettimeofday (Depends-on): Likewise.
64161         * modules/nanosleep (Depends-on): Likewise.
64162         * modules/settime (Depends-on): Likewise.
64163         * modules/tempname (Depends-on): Likewise.
64164         * modules/utimens (Depends-on): Likewise.
64165         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
64166         (Include): Change back to <sys/time.h>.
64167         (Maintainer): Add self.
64168         * modules/sys_time: New file.
64169         * modules/tempname (Depends-on): Add gettimeofday.
64170         * tests/test-gettimeofday.c: Include <sys/time.h>
64171         rather than gettimeofday.h.
64172
64173 2007-01-17  Bruno Haible  <bruno@clisp.org>
64174
64175         * gnulib-tool (func_get_license): Revert last patch. Instead, let
64176         the license default to GPL.
64177         (func_create_testdir): Don't complain if a module is LGPL and its
64178         tests module depends on GPLed modules.
64179
64180 2007-01-17  Bruno Haible  <bruno@clisp.org>
64181
64182         * lib/gettimeofday.c (gettimeofday): Add code for the case
64183         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
64184         maximum possible value for tv->tv_usec, rather than the minimum one.
64185
64186 2005-10-08  Martin Lambers  <marlam@marlam.de>
64187 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64188 2007-01-16  Bruno Haible  <bruno@clisp.org>
64189
64190         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
64191         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
64192         gl_FUNC_GETTIMEOFDAY.
64193         (Include): Add gettimeofday.h.
64194         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
64195         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
64196         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
64197         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
64198         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
64199         * lib/gettimeofday.h: New file.
64200         * lib/gettimeofday.c: Include <sys/timeb.h>.
64201         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
64202         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64203         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
64204         fall back on time().
64205
64206         * tests/test-gettimeofday.c: New file.
64207         * modules/gettimeofday-tests: New file.
64208
64209 2007-01-16  Eric Blake  <ebb9@byu.net>
64210
64211         * modules/fnmatch (Depends-on): Depend on wchar.
64212         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
64213         * m4/fnmatch.m4: Likewise.
64214         * modules/mbchar (Makefile.am): Assume <wchar.h>.
64215         * m4/mbchar.m4: Likewise.
64216         * modules/mbswidth (Depends-on): Depend on wchar.
64217         * lib/mbswidth.c: Assume <wchar.h>.
64218         * m4/mbswidth.m4: Likewise.
64219         * modules/quotearg (Depends-on): Depend on wchar.
64220         * lib/quotearg.c: Assume <wchar.h>.
64221         * m4/quotearg.m4: Likewise.
64222         * modules/regex (Depends-on): Depend on wchar.
64223         * lib/regex_internal.h: Assume <wchar.h>.
64224         * m4/regex.m4: Likewise.
64225         * modules/stdint (Depends-on): Depend on wchar.
64226         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
64227         * m4/stdint.m4: Likewise.
64228         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
64229         * modules/strftime (Depends-on): Depend on wchar.
64230         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
64231         * modules/strtol (Depends-on): Depend on wchar.
64232         * lib/strtol.c: Assume <wchar.h>.
64233         * modules/wcwidth (Depends-on): Depend on wchar.
64234         * lib/wcwidth.h: Assume <wchar.h>.
64235         * m4/wcwidth.m4: Likewise.
64236
64237 2007-01-16  Bruno Haible  <bruno@clisp.org>
64238
64239         * modules/csharpexec-script: New, created from...
64240         * modules/csharpexec: ... this.
64241
64242 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
64243
64244         * modules/javaexec-script: New, created from...
64245         * modules/javaexec: ... this.
64246
64247 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64248
64249         * modules/poll (Dependencies): Add sys_select.
64250
64251 2007-01-15  Jim Meyering  <jim@meyering.net>
64252
64253         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
64254         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
64255         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
64256         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
64257
64258 2007-01-15  Bruno Haible  <bruno@clisp.org>
64259
64260         * modules/striconveh: New file.
64261         * lib/striconveh.h: New file.
64262         * lib/striconveh.c: New file.
64263         * MODULES.html.sh (Internationalization functions): Add striconveh.
64264
64265         * modules/striconveh-tests: New file.
64266         * tests/test-striconveh.c: New file.
64267
64268 2007-01-15  Bruno Haible  <bruno@clisp.org>
64269
64270         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
64271         not from GNU libiconv or GNU libc.
64272
64273 2007-01-15  Bruno Haible  <bruno@clisp.org>
64274
64275         * doc/gnulib-intro.texi (Copyright): Explain the different license
64276         terms for module descriptions, autoconf macros, tests, documentation.
64277
64278 2007-01-14  Bruno Haible  <bruno@clisp.org>
64279
64280         * modules/striconv-tests: New file.
64281         * tests/test-striconv.c: New file.
64282
64283 2007-01-14  Bruno Haible  <bruno@clisp.org>
64284
64285         * modules/iconv-tests: New file.
64286         * tests/test-iconv.c: New file.
64287
64288 2007-01-14  Bruno Haible  <bruno@clisp.org>
64289
64290         * gnulib-tool (func_get_license): For test modules, use the license of
64291         the main module.
64292
64293 2007-01-14  Bruno Haible  <bruno@clisp.org>
64294
64295         * modules/iconv (Include): Clarify that <iconv.h> can only be included
64296         if iconv is found to exist.
64297
64298 2007-01-14  Bruno Haible  <bruno@clisp.org>
64299
64300         * modules/c-ctype-tests: New file.
64301         * tests/test-c-ctype.c: New file.
64302
64303 2007-01-14  Bruno Haible  <bruno@clisp.org>
64304
64305         * modules/binary-io-tests: New file.
64306         * tests/test-binary-io.sh: New file.
64307         * tests/test-binary-io.c: New file.
64308
64309 2007-01-14  Bruno Haible  <bruno@clisp.org>
64310
64311         * modules/array-oset-tests: New file.
64312         * tests/test-array_oset.c: New file.
64313
64314 2007-01-14  Bruno Haible  <bruno@clisp.org>
64315
64316         * modules/array-list-tests: New file.
64317         * tests/test-array_list.c: New file.
64318
64319 2007-01-14  Bruno Haible  <bruno@clisp.org>
64320
64321         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
64322         and make.
64323         Reported by Simon Josefsson in
64324         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
64325
64326 2007-01-14  Bruno Haible  <bruno@clisp.org>
64327
64328         * modules/allocsa-tests: New file.
64329         * tests/test-allocsa.c: New file.
64330
64331 2007-01-14  Bruno Haible  <bruno@clisp.org>
64332
64333         * modules/fchdir (Depends-on): Add absolute-header.
64334         * modules/unistd (Depends-on): Likewise.
64335
64336 2006-12-30  Bruno Haible  <bruno@clisp.org>
64337
64338         * modules/fchdir: New file.
64339         * modules/unistd (Files): Add lib/unistd_.h.
64340         (Makefile.am): Generate unistd.h from unistd_.h.
64341         * lib/fchdir.c: New file.
64342         * lib/dirent_.h: New file.
64343         * lib/unistd_.h: New file.
64344         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
64345         * m4/fchdir.m4: New file.
64346         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
64347         (gl_HEADER_UNISTD): Invoke it.
64348         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
64349         function.
64350         * lib/backupfile.c (opendir, closedir): Undefine.
64351         * lib/chown.c (open, close): Undefine.
64352         * lib/clean-temp.c (open, close): Undefine.
64353         * lib/copy-file.c (open, close): Undefine.
64354         * lib/execute.c (open, close): Undefine.
64355         * lib/fsusage.c (open, close): Undefine.
64356         * lib/gc-gnulib.c (open, close): Undefine.
64357         * lib/getcwd.c (opendir, closedir): Undefine.
64358         * lib/glob.c (opendir, closedir): Undefine.
64359         * lib/javacomp.c (open, close): Undefine.
64360         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
64361         * lib/openat-proc.c (open, close): Undefine.
64362         * lib/pagealign_alloc.c (open, close): Undefine.
64363         * lib/pipe.c (open, close): Undefine.
64364         * lib/progreloc.c (open, close): Undefine.
64365         * lib/savedir.c (opendir, closedir): Undefine.
64366         * lib/utime.c (open, close): Undefine.
64367         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
64368
64369 2007-01-10  Bruno Haible  <bruno@clisp.org>
64370
64371         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
64372
64373 2007-01-12  Eric Blake  <ebb9@byu.net>
64374
64375         Provide a robust <wchar.h>.  Further simplifications are now
64376         possible in other modules, but not included here.
64377         * modules/wchar: New module.
64378         * m4/wchar.m4: New file.
64379         * lib/wchar_.h: Likewise.
64380         * modules/mbchar (Depends-on): Depend on wchar, as the first use
64381         of the new module.
64382         * MODULES.html.sh (Extended multibyte and wide character utilities):
64383         New section.
64384
64385 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
64386
64387         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
64388         to a reasonable default for memory allocation.
64389         (xreadlink): Don't allocate a huge buffer, to work around a buggy
64390         file system that reports garbage st_size values for symlinks.
64391         Problem reported by Liyang Hu.
64392
64393 2007-01-11  Simon Josefsson  <simon@josefsson.org>
64394
64395         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
64396         Emacs .#* auto-save files).
64397
64398 2007-01-11  Bruno Haible  <bruno@clisp.org>
64399
64400         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
64401         directory.
64402
64403 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64404
64405         Use @...@ consistently in lib/wctype_.h.
64406         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
64407         on it being set to 1 or 0.
64408         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
64409         go back to AC_SUBSTing it.
64410         * modules/wctype (Makefile.am): Undo previous change.
64411
64412 2007-01-10  Eric Blake  <ebb9@byu.net>
64413
64414         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
64415         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
64416         * modules/wctype (Makefile.am): Likewise.
64417         Reported by Chris McGuire.
64418
64419 2007-01-10  Jim Meyering  <jim@meyering.net>
64420
64421         fts.c: a small readability/maintainability improvement
64422         * lib/fts.c (fts_read): Make this code slightly more readable and
64423         maintainable by hoisting the "sp->fts_cur = p" assignments to
64424         immediately follow the statements that set P.  Derived from
64425         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
64426
64427 2007-01-10  Eric Blake  <ebb9@byu.net>
64428
64429         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64430         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64431         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64432         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64433         Reported by Chris McGuire.
64434
64435 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64436
64437         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64438         in sed script.
64439
64440 2007-01-09  Bruno Haible  <bruno@clisp.org>
64441
64442         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64443         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64444         variables.
64445         (func_module): Use them.
64446
64447 2007-01-09  Bruno Haible  <bruno@clisp.org>
64448
64449         * modules/unistr/base: New file.
64450         * lib/unistr.h: New file.
64451
64452         * modules/unistr/u8-to-u16: New file.
64453         * lib/unistr/u8-to-u16.c: New file.
64454
64455         * modules/unistr/u8-to-u32: New file.
64456         * lib/unistr/u8-to-u32.c: New file.
64457
64458         * modules/unistr/u16-to-u8: New file.
64459         * lib/unistr/u16-to-u8.c: New file.
64460
64461         * modules/unistr/u16-to-u32: New file.
64462         * lib/unistr/u16-to-u32.c: New file.
64463
64464         * modules/unistr/u32-to-u8: New file.
64465         * lib/unistr/u32-to-u8.c: New file.
64466
64467         * modules/unistr/u32-to-u16: New file.
64468         * lib/unistr/u32-to-u16.c: New file.
64469
64470         * modules/unistr/u8-check: New file.
64471         * modules/unistr/u16-check: New file.
64472         * modules/unistr/u32-check: New file.
64473         * lib/unistr/u8-check.c: New file.
64474         * lib/unistr/u16-check.c: New file.
64475         * lib/unistr/u32-check.c: New file.
64476
64477         * modules/unistr/u8-chr: New file.
64478         * modules/unistr/u16-chr: New file.
64479         * modules/unistr/u32-chr: New file.
64480         * lib/unistr/u8-chr.c: New file.
64481         * lib/unistr/u16-chr.c: New file.
64482         * lib/unistr/u32-chr.c: New file.
64483
64484         * modules/unistr/u8-cmp: New file.
64485         * modules/unistr/u16-cmp: New file.
64486         * modules/unistr/u32-cmp: New file.
64487         * lib/unistr/u8-cmp.c: New file.
64488         * lib/unistr/u16-cmp.c: New file.
64489         * lib/unistr/u32-cmp.c: New file.
64490
64491         * modules/unistr/u8-cpy: New file.
64492         * modules/unistr/u16-cpy: New file.
64493         * modules/unistr/u32-cpy: New file.
64494         * lib/unistr/u8-cpy.c: New file.
64495         * lib/unistr/u16-cpy.c: New file.
64496         * lib/unistr/u32-cpy.c: New file.
64497         * lib/unistr/u-cpy.h: New file.
64498
64499         * modules/unistr/u8-cpy-alloc: New file.
64500         * modules/unistr/u16-cpy-alloc: New file.
64501         * modules/unistr/u32-cpy-alloc: New file.
64502         * lib/unistr/u8-cpy-alloc.c: New file.
64503         * lib/unistr/u16-cpy-alloc.c: New file.
64504         * lib/unistr/u32-cpy-alloc.c: New file.
64505         * lib/unistr/u-cpy-alloc.h: New file.
64506
64507         * modules/unistr/u8-endswith: New file.
64508         * modules/unistr/u16-endswith: New file.
64509         * modules/unistr/u32-endswith: New file.
64510         * lib/unistr/u8-endswith.c: New file.
64511         * lib/unistr/u16-endswith.c: New file.
64512         * lib/unistr/u32-endswith.c: New file.
64513         * lib/unistr/u-endswith.h: New file.
64514
64515         * modules/unistr/u8-mblen: New file.
64516         * modules/unistr/u16-mblen: New file.
64517         * modules/unistr/u32-mblen: New file.
64518         * lib/unistr/u8-mblen.c: New file.
64519         * lib/unistr/u16-mblen.c: New file.
64520         * lib/unistr/u32-mblen.c: New file.
64521
64522         * modules/unistr/u8-mbtouc: New file.
64523         * modules/unistr/u16-mbtouc: New file.
64524         * modules/unistr/u32-mbtouc: New file.
64525         * lib/unistr/u8-mbtouc.c: New file.
64526         * lib/unistr/u16-mbtouc.c: New file.
64527         * lib/unistr/u32-mbtouc.c: New file.
64528
64529         * modules/unistr/u8-mbtouc-safe: New file.
64530         * modules/unistr/u16-mbtouc-safe: New file.
64531         * modules/unistr/u32-mbtouc-safe: New file.
64532         * lib/unistr/u8-mbtouc-safe.c: New file.
64533         * lib/unistr/u16-mbtouc-safe.c: New file.
64534         * lib/unistr/u32-mbtouc-safe.c: New file.
64535
64536         * modules/unistr/u8-move: New file.
64537         * modules/unistr/u16-move: New file.
64538         * modules/unistr/u32-move: New file.
64539         * lib/unistr/u8-move.c: New file.
64540         * lib/unistr/u16-move.c: New file.
64541         * lib/unistr/u32-move.c: New file.
64542         * lib/unistr/u-move.h: New file.
64543
64544         * modules/unistr/u8-next: New file.
64545         * modules/unistr/u16-next: New file.
64546         * modules/unistr/u32-next: New file.
64547         * lib/unistr/u8-next.c: New file.
64548         * lib/unistr/u16-next.c: New file.
64549         * lib/unistr/u32-next.c: New file.
64550
64551         * modules/unistr/u8-prev: New file.
64552         * modules/unistr/u16-prev: New file.
64553         * modules/unistr/u32-prev: New file.
64554         * lib/unistr/u8-prev.c: New file.
64555         * lib/unistr/u16-prev.c: New file.
64556         * lib/unistr/u32-prev.c: New file.
64557
64558         * modules/unistr/u8-set: New file.
64559         * modules/unistr/u16-set: New file.
64560         * modules/unistr/u32-set: New file.
64561         * lib/unistr/u8-set.c: New file.
64562         * lib/unistr/u16-set.c: New file.
64563         * lib/unistr/u32-set.c: New file.
64564         * lib/unistr/u-set.h: New file.
64565
64566         * modules/unistr/u8-startswith: New file.
64567         * modules/unistr/u16-startswith: New file.
64568         * modules/unistr/u32-startswith: New file.
64569         * lib/unistr/u8-startswith.c: New file.
64570         * lib/unistr/u16-startswith.c: New file.
64571         * lib/unistr/u32-startswith.c: New file.
64572         * lib/unistr/u-startswith.h: New file.
64573
64574         * modules/unistr/u8-stpcpy: New file.
64575         * modules/unistr/u16-stpcpy: New file.
64576         * modules/unistr/u32-stpcpy: New file.
64577         * lib/unistr/u8-stpcpy.c: New file.
64578         * lib/unistr/u16-stpcpy.c: New file.
64579         * lib/unistr/u32-stpcpy.c: New file.
64580         * lib/unistr/u-stpcpy.h: New file.
64581
64582         * modules/unistr/u8-stpncpy: New file.
64583         * modules/unistr/u16-stpncpy: New file.
64584         * modules/unistr/u32-stpncpy: New file.
64585         * lib/unistr/u8-stpncpy.c: New file.
64586         * lib/unistr/u16-stpncpy.c: New file.
64587         * lib/unistr/u32-stpncpy.c: New file.
64588         * lib/unistr/u-stpncpy.h: New file.
64589
64590         * modules/unistr/u8-strcat: New file.
64591         * modules/unistr/u16-strcat: New file.
64592         * modules/unistr/u32-strcat: New file.
64593         * lib/unistr/u8-strcat.c: New file.
64594         * lib/unistr/u16-strcat.c: New file.
64595         * lib/unistr/u32-strcat.c: New file.
64596         * lib/unistr/u-strcat.h: New file.
64597
64598         * modules/unistr/u8-strchr: New file.
64599         * modules/unistr/u16-strchr: New file.
64600         * modules/unistr/u32-strchr: New file.
64601         * lib/unistr/u8-strchr.c: New file.
64602         * lib/unistr/u16-strchr.c: New file.
64603         * lib/unistr/u32-strchr.c: New file.
64604
64605         * modules/unistr/u8-strcmp: New file.
64606         * modules/unistr/u16-strcmp: New file.
64607         * modules/unistr/u32-strcmp: New file.
64608         * lib/unistr/u8-strcmp.c: New file.
64609         * lib/unistr/u16-strcmp.c: New file.
64610         * lib/unistr/u32-strcmp.c: New file.
64611
64612         * modules/unistr/u8-strcpy: New file.
64613         * modules/unistr/u16-strcpy: New file.
64614         * modules/unistr/u32-strcpy: New file.
64615         * lib/unistr/u8-strcpy.c: New file.
64616         * lib/unistr/u16-strcpy.c: New file.
64617         * lib/unistr/u32-strcpy.c: New file.
64618         * lib/unistr/u-strcpy.h: New file.
64619
64620         * modules/unistr/u8-strcspn: New file.
64621         * modules/unistr/u16-strcspn: New file.
64622         * modules/unistr/u32-strcspn: New file.
64623         * lib/unistr/u8-strcspn.c: New file.
64624         * lib/unistr/u16-strcspn.c: New file.
64625         * lib/unistr/u32-strcspn.c: New file.
64626         * lib/unistr/u-strcspn.h: New file.
64627
64628         * modules/unistr/u8-strdup: New file.
64629         * modules/unistr/u16-strdup: New file.
64630         * modules/unistr/u32-strdup: New file.
64631         * lib/unistr/u8-strdup.c: New file.
64632         * lib/unistr/u16-strdup.c: New file.
64633         * lib/unistr/u32-strdup.c: New file.
64634         * lib/unistr/u-strdup.h: New file.
64635
64636         * modules/unistr/u8-strlen: New file.
64637         * modules/unistr/u16-strlen: New file.
64638         * modules/unistr/u32-strlen: New file.
64639         * lib/unistr/u8-strlen.c: New file.
64640         * lib/unistr/u16-strlen.c: New file.
64641         * lib/unistr/u32-strlen.c: New file.
64642         * lib/unistr/u-strlen.h: New file.
64643
64644         * modules/unistr/u8-strmblen: New file.
64645         * modules/unistr/u16-strmblen: New file.
64646         * modules/unistr/u32-strmblen: New file.
64647         * lib/unistr/u8-strmblen.c: New file.
64648         * lib/unistr/u16-strmblen.c: New file.
64649         * lib/unistr/u32-strmblen.c: New file.
64650
64651         * modules/unistr/u8-strmbtouc: New file.
64652         * modules/unistr/u16-strmbtouc: New file.
64653         * modules/unistr/u32-strmbtouc: New file.
64654         * lib/unistr/u8-strmbtouc.c: New file.
64655         * lib/unistr/u16-strmbtouc.c: New file.
64656         * lib/unistr/u32-strmbtouc.c: New file.
64657
64658         * modules/unistr/u8-strncat: New file.
64659         * modules/unistr/u16-strncat: New file.
64660         * modules/unistr/u32-strncat: New file.
64661         * lib/unistr/u8-strncat.c: New file.
64662         * lib/unistr/u16-strncat.c: New file.
64663         * lib/unistr/u32-strncat.c: New file.
64664         * lib/unistr/u-strncat.h: New file.
64665
64666         * modules/unistr/u8-strncmp: New file.
64667         * modules/unistr/u16-strncmp: New file.
64668         * modules/unistr/u32-strncmp: New file.
64669         * lib/unistr/u8-strncmp.c: New file.
64670         * lib/unistr/u16-strncmp.c: New file.
64671         * lib/unistr/u32-strncmp.c: New file.
64672
64673         * modules/unistr/u8-strncpy: New file.
64674         * modules/unistr/u16-strncpy: New file.
64675         * modules/unistr/u32-strncpy: New file.
64676         * lib/unistr/u8-strncpy.c: New file.
64677         * lib/unistr/u16-strncpy.c: New file.
64678         * lib/unistr/u32-strncpy.c: New file.
64679         * lib/unistr/u-strncpy.h: New file.
64680
64681         * modules/unistr/u8-strnlen: New file.
64682         * modules/unistr/u16-strnlen: New file.
64683         * modules/unistr/u32-strnlen: New file.
64684         * lib/unistr/u8-strnlen.c: New file.
64685         * lib/unistr/u16-strnlen.c: New file.
64686         * lib/unistr/u32-strnlen.c: New file.
64687         * lib/unistr/u-strnlen.h: New file.
64688
64689         * modules/unistr/u8-strpbrk: New file.
64690         * modules/unistr/u16-strpbrk: New file.
64691         * modules/unistr/u32-strpbrk: New file.
64692         * lib/unistr/u8-strpbrk.c: New file.
64693         * lib/unistr/u16-strpbrk.c: New file.
64694         * lib/unistr/u32-strpbrk.c: New file.
64695         * lib/unistr/u-strpbrk.h: New file.
64696
64697         * modules/unistr/u8-strrchr: New file.
64698         * modules/unistr/u16-strrchr: New file.
64699         * modules/unistr/u32-strrchr: New file.
64700         * lib/unistr/u8-strrchr.c: New file.
64701         * lib/unistr/u16-strrchr.c: New file.
64702         * lib/unistr/u32-strrchr.c: New file.
64703
64704         * modules/unistr/u8-strspn: New file.
64705         * modules/unistr/u16-strspn: New file.
64706         * modules/unistr/u32-strspn: New file.
64707         * lib/unistr/u8-strspn.c: New file.
64708         * lib/unistr/u16-strspn.c: New file.
64709         * lib/unistr/u32-strspn.c: New file.
64710         * lib/unistr/u-strspn.h: New file.
64711
64712         * modules/unistr/u8-strstr: New file.
64713         * modules/unistr/u16-strstr: New file.
64714         * modules/unistr/u32-strstr: New file.
64715         * lib/unistr/u8-strstr.c: New file.
64716         * lib/unistr/u16-strstr.c: New file.
64717         * lib/unistr/u32-strstr.c: New file.
64718         * lib/unistr/u-strstr.h: New file.
64719
64720         * modules/unistr/u8-strtok: New file.
64721         * modules/unistr/u16-strtok: New file.
64722         * modules/unistr/u32-strtok: New file.
64723         * lib/unistr/u8-strtok.c: New file.
64724         * lib/unistr/u16-strtok.c: New file.
64725         * lib/unistr/u32-strtok.c: New file.
64726         * lib/unistr/u-strtok.h: New file.
64727
64728         * modules/unistr/u8-uctomb: New file.
64729         * modules/unistr/u16-uctomb: New file.
64730         * modules/unistr/u32-uctomb: New file.
64731         * lib/unistr/u8-uctomb.c: New file.
64732         * lib/unistr/u16-uctomb.c: New file.
64733         * lib/unistr/u32-uctomb.c: New file.
64734
64735         * MODULES.html.sh (Unicode string functions): Add the new modules.
64736
64737 2007-01-08  Bruno Haible  <bruno@clisp.org>
64738
64739         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64740         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64741         subdirectories.
64742
64743 2007-01-08  Karl Berry  <karl@gnu.org>
64744
64745         * doc/error.texi: mention that main() fns must set program_name
64746         when progname is used.
64747
64748 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64749
64750         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64751         WCTYPE_H is empty, for the benefit of builds from non-distclean
64752         directories.  Problem reported by Eric Blake in
64753         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64754
64755 2007-01-08  Bruno Haible  <bruno@clisp.org>
64756
64757         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64758         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64759         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64760         PROVIDE_CANONICALIZE_FILENAME_MODE.
64761         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64762
64763 2007-01-08  Bruno Haible  <bruno@clisp.org>
64764
64765         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64766         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64767         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64768         * lib/fts.c: Likewise.
64769         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64770
64771 2006-12-25  Bruno Haible  <bruno@clisp.org>
64772
64773         * modules/utf8-ucs4-safe: New file.
64774         * lib/utf8-ucs4-safe.h: New file.
64775         * lib/unistr/utf8-ucs4-safe.c: New file.
64776
64777         * modules/utf16-ucs4-safe: New file.
64778         * lib/utf16-ucs4-safe.h: New file.
64779         * lib/unistr/utf16-ucs4-safe.c: New file.
64780
64781         * MODULES.html.sh (Unicode string functions): Add the new modules.
64782
64783 2007-01-08  Bruno Haible  <bruno@clisp.org>
64784
64785         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64786         (Depends-on): Add unitypes.
64787         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64788         (u8_mbtouc_aux): Move out to separate file.
64789         (u8_mbtouc): Use ucs4_t, uint8_t types.
64790         * lib/unistr/utf8-ucs4.c: New file.
64791
64792         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64793         (Depends-on): Add unitypes.
64794         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64795         (u16_mbtouc_aux): Move out to separate file.
64796         (u16_mbtouc): Use ucs4_t, uint16_t types.
64797         * lib/unistr/utf16-ucs4.c: New file.
64798
64799         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64800         (Depends-on): Add unitypes.
64801         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64802         (u8_uctomb_aux): Move out to separate file.
64803         (u8_uctomb): Use ucs4_t, uint8_t types.
64804         * lib/unistr/ucs4-utf8.c: New file.
64805
64806         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64807         (Depends-on): Add unitypes.
64808         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64809         (u16_uctomb_aux): Move out to separate file.
64810         (u16_uctomb): Use ucs4_t, uint16_t types.
64811         * lib/unistr/ucs4-utf16.c: New file.
64812
64813 2006-12-25  Bruno Haible  <bruno@clisp.org>
64814
64815         * modules/unitypes: New file.
64816         * lib/unitypes.h: New file.
64817         * MODULES.html.sh (func_all_modules): New section "Unicode string
64818         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64819         this section. Add unitypes.
64820
64821 2007-01-08  Bruno Haible  <bruno@clisp.org>
64822
64823         Avoid variable names that conflict with those from libtool.
64824         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64825         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64826         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64827         library_names_spec to acl_library_names_spec, hardcode_* to
64828         acl_hardcode_*.
64829         Reported by Ralf Wildenhues.
64830
64831 2007-01-08  Bruno Haible  <bruno@clisp.org>
64832
64833         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64834         definition.
64835         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64836         definition.
64837         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64838         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64839         definition.
64840         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64841         definition.
64842         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
64843         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
64844         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
64845         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
64846         definition.
64847         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64848         definition.
64849         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
64850         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
64851         GC_USE_<algorithm>.
64852         * lib/gc-libgcrypt.c: Likewise.
64853         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
64854         * modules/gc-arctwo (configure.ac): Likewise.
64855         * modules/gc-des (configure.ac): Likewise.
64856         * modules/gc-hmac-md5 (configure.ac): Likewise.
64857         * modules/gc-hmac-sha1 (configure.ac): Likewise.
64858         * modules/gc-md2 (configure.ac): Likewise.
64859         * modules/gc-md4 (configure.ac): Likewise.
64860         * modules/gc-md5 (configure.ac): Likewise.
64861         * modules/gc-random (configure.ac): Likewise.
64862         * modules/gc-rijndael (configure.ac): Likewise.
64863         * modules/gc-sha1 (configure.ac): Likewise.
64864
64865 2007-01-08  Bruno Haible  <bruno@clisp.org>
64866
64867         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
64868         macro definition.
64869         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
64870         definition.
64871         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
64872         definition.
64873         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
64874         * modules/fcntl-safer (configure.ac): Likewise.
64875         * modules/fopen-safer (configure.ac): Likewise.
64876         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
64877         GNULIB_FWRITEERROR macro definition.
64878
64879 2007-01-08  Bruno Haible  <bruno@clisp.org>
64880
64881         * m4/gnulib-common.m4: New file.
64882         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
64883         (func_get_filelist): Add m4/gnulib-common.m4.
64884
64885 2007-01-08  Bruno Haible  <bruno@clisp.org>
64886
64887         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
64888         command.
64889
64890 2007-01-08  Jim Meyering  <jim@meyering.net>
64891
64892         Use a more robust test for a "can't happen" condition.
64893         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
64894         narrowed the st_size value.  Presuming the "can't happen" condition
64895         is true, that narrowing could conceivably convert an invalid st_size
64896         value into a valid one.  Instead, use a change based on Matthew
64897         Woehlke's original patch.
64898
64899         Slight readability improvement: use an assert-like macro
64900         in place of literal "abort ()" uses.
64901         * lib/fts.c (fts_assert): Define.
64902         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
64903         Use this macro instead of a bare 'abort'.
64904
64905 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
64906
64907         Don't worry about using IRIX 5.3's wctype.h broken definitions;
64908         simply work around them.
64909         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
64910         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
64911         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
64912         declaring.
64913         Don't bother to define as macros, since the standard doesn't require it.
64914         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
64915         longer worry about IRIX 5.3.
64916         (HAVE_WCTYPE_CTMP_BUG): Remove.
64917
64918 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64919
64920         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
64921         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
64922         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64923         Problems reported by Georg Schwarz for IRIX 5.3.
64924
64925         * gnulib-tool (autoconf_minversion): Take the maximum version number
64926         found, not the minimum.  Problem reported by James Youngman.
64927
64928 2007-01-03  Karl Berry  <karl@gnu.org>
64929
64930         * doc/error.texi: new file, explaining interaction with progname.
64931         * doc/gnulib.texi: include it.  Update copyright.
64932
64933 2007-01-03  Simon Josefsson  <simon@josefsson.org>
64934
64935         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
64936         AC_CANONICAL_HOST, to improve autobuild outputs.
64937
64938 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
64939             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64940
64941         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
64942         sockets, server sockets, and other file descriptors.  Count errors
64943         to compute the return value.  Reorder the code a bit to be easier
64944         to follow.  Don't set event bits that were not requested (except
64945         POLLERR and POLLHUP).
64946
64947 2007-01-01  Bruno Haible  <bruno@clisp.org>
64948
64949         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
64950
64951 2007-01-03  Jim Meyering  <jim@meyering.net>
64952
64953         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
64954
64955 2007-01-02  Bruno Haible  <bruno@clisp.org>
64956
64957         * modules/settime (Include): Require timespec.h.
64958         * modules/nanosleep (Include): Likewise.
64959
64960 2007-01-01  Bruno Haible  <bruno@clisp.org>
64961
64962         * gnulib-tool (func_emit_copyright_notice): Bump year.
64963         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
64964
64965 2007-01-01  Bruno Haible  <bruno@clisp.org>
64966
64967         Improve support for OpenBSD.
64968         * build-aux/config.rpath (libname_spec): Export.
64969         (library_names_spec): New variable. Export.
64970         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
64971         library_names_spec from the config.rpath output. Locate shared library
64972         through the name pattern in library_names_spec.
64973
64974 2007-01-01  Eric Blake  <ebb9@byu.net>
64975
64976         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
64977
64978 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
64979
64980         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
64981         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
64982         assume the C locale, and avoid an "eval" that could cause trouble.
64983         Problem with SORT reported by Bob Proulx.
64984
64985         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
64986         Define.  Trivial patch from Henning Nielsen Lund, originally
64987         sent to bug-grep@gnu.org today.
64988
64989 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
64990
64991         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
64992         struct stat.  Problem reported by Henning Nielsen Lund.
64993         * lib/acl.c: Include acl.h first, to check interface.  Don't
64994         bother to include sys/types.h and sys/stat.h again.
64995
64996 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64997
64998         Import the following change from libc; problem reported by
64999         Sven Verdoolaege.
65000
65001         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
65002
65003         [BZ #1373]
65004         * lib/argp.h: Remove __NTH for __argp_usage inline function.
65005
65006 2006-12-28  Jim Meyering  <jim@meyering.net>
65007
65008         * build-aux/announce-gen: Do not assume that the package
65009         builds any of tar.gz, tar.bz2, and .xdelta files.
65010         Suggestion from Simon Josefsson.
65011
65012 2006-12-28  Simon Josefsson  <simon@josefsson.org>
65013
65014         * modules/announce-gen: New file.
65015
65016 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
65017
65018         * lib/mbchar.h: Just include <wctype.h>; the wctype module
65019         handles its gotchas now.
65020         * lib/mbswidth.c: Likewise.
65021         * lib/wcwidth.h: Likewise.
65022         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
65023         and iswcntrl; the wctype module does this stuff now.
65024         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65025         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65026         * modules/mbchar (Depends-on): Add wctype.
65027         * modules/mbswidth (Depends-on): Likewise.
65028         * modules/wcwidth (Depends-on): Likewise.
65029
65030 2006-12-27  Eric Blake  <ebb9@byu.net>
65031
65032         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
65033         module uses more than what <wctype.h> is required to provide.
65034
65035 2006-12-26  Eric Blake  <ebb9@byu.net>
65036
65037         * gnulib-tool (sed_extract_prog): Avoid space-tab.
65038
65039 2006-12-26  Eric Blake  <ebb9@byu.net>
65040
65041         * modules/absolute-header: New module.
65042         * modules/fcntl (Depends-on): Depend on it.
65043         * modules/inttypes (Depends-on): Likewise.
65044         * modules/stdint (Depends-on): Likewise.
65045         * modules/sys_stat (Depends-on): Likewise.
65046         * modules/wctype (Depends-on): Likewise.
65047         * MODULES.html.sh (Support for building libraries and
65048         executables): Document it.
65049
65050 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
65051
65052         * gnulib-tool (SED): Remove, undoing previous change.
65053         The problem was that it broke coreutils on Solaris, because
65054         "sed --posix" leaked into a makefile.
65055         (sed): New alias, if 'alias' and GNU sed.
65056
65057 2006-12-24  Jim Meyering  <jim@meyering.net>
65058
65059         Work around an fchownat bug in glibc-2.4:
65060         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
65061         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
65062         in spite of the -P option.
65063         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
65064         New macros.
65065         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
65066         * modules/openat (Files): Add lib/fchownat.c.
65067         * lib/openat.c (fchownat): Don't define here.  Move to...
65068         * lib/fchownat.c: ...this new file.
65069
65070 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65071
65072         Fix bug reported by Bruno Haible in
65073         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
65074         where quotearg.c didn't compile on Mac OS X 10.2 because it
65075         lacks <wchar.h> and wint_t.
65076         * lib/wctype_.h (__wctype_wint_t): New type.
65077         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
65078         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
65079         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
65080         Arg is now of type __wctype_wint_t, not wint_t.
65081         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
65082         substitute HAVE_WINT_T.
65083         * modules/wctype (Files): Add m4/wint_t.m4.
65084         (wctype.h): Substitute HAVE_WINT_T.
65085
65086 2006-12-23  Bruno Haible  <bruno@clisp.org>
65087
65088         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
65089
65090 2006-12-23  Bruno Haible  <bruno@clisp.org>
65091
65092         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
65093         S_ISLNK.
65094         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
65095         mingw.
65096
65097 2006-12-22  Bruno Haible  <bruno@clisp.org>
65098
65099         * lib/copy-file.c: Include acl.h.
65100         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
65101         Close the file descriptors only after being done with copy_acl.
65102         * modules/copy-file (Depends-on): Add acl.
65103
65104 2006-12-22  Bruno Haible  <bruno@clisp.org>
65105
65106         * gnulib-tool (SED): New variable.
65107         Use $SED instead of sed everywhere.
65108
65109 2006-12-22  Bruno Haible  <bruno@clisp.org>
65110
65111         * modules/no-c++: New file.
65112         * m4/no-c++.m4: New file.
65113         * MODULES.html.sh (Support for building libraries and executables):
65114         Add no-c++.
65115
65116 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
65117
65118         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65119         Include <limits.h>, and use its INT_MAX to rewrite the
65120         j loop so that it does not overflow 'int'.  Problem reported by
65121         Ralf Wildenhues in
65122         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
65123         Play it safe by shifting left by 1 rather than multiplying by 2,
65124         as GCC is less likely to optimize this away when the value
65125         is signed (when it assumes overflow leads to undefined behavior).
65126         Also, don't assume time_t uses two's complement.
65127
65128 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
65129
65130         * MODULES.html.sh: New module wctype.
65131         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
65132         * lib/fnmatch.c: Don't bother to include <wchar.h> before
65133         <wctype.h>, since the new wctype module should fix this.
65134         * lib/quotearg.c: Include <wctype.h> unconditionally, since
65135         the wctype module should arrange for it.
65136         * lib/regex_internal.h: Likewise.
65137         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
65138         since the wctype module should handle this now.
65139         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
65140         * modules/fnmatch (Depends-on): Add wctype.
65141         * modules/quotearg (Depends-on): Likewise.
65142         * modules/regex (Depends-on): Likewise.
65143
65144 2006-12-19  Bruno Haible  <bruno@clisp.org>
65145
65146         * lib/strdup.h [C++]: Wrap definitions in extern "C".
65147         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
65148
65149 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65150
65151         * modules/savewd (Depends-on): Fix dependency on fcntl.
65152
65153 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65154
65155         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
65156         conforms to C99, rather than relying on the user's environment
65157         setting of STDINT_H.
65158
65159 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65160         and Eric Blake  <ebb9@byu.net>
65161
65162         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
65163         This is more consistent with the other defines here.
65164         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
65165         Port to z/OS.  Problem reported by Paul Gilmartin.
65166         Change local vars to use gl_ prefix rather than ac_.
65167         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
65168         with other defines.
65169         * modules/double-slash-root: New module.
65170         * modules/dirname (Files): Remove m4/double-slash-root.m4.
65171         (Depends-on): Add double-slash-root.
65172         * MODULES.html.sh (File system functions): Mention new module.
65173
65174 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
65175
65176         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
65177         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
65178         This is for the benefit of gzip, which doesn't do i18n.
65179
65180 2006-12-12  Jim Meyering  <jim@meyering.net>
65181
65182         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
65183         Reported by Andreas Schwab <schwab@suse.de>.
65184
65185 2006-12-12  Bruno Haible  <bruno@clisp.org>
65186
65187         Merge these changes.
65188         2006-09-05  Bruno Haible  <bruno@clisp.org>
65189         * lib/iconvme.c (iconv_string): No need to save and restore errno when
65190         iconv_alloc succeeded.
65191         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
65192         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
65193         test for " && dest " at the end - dest is always != NULL there. Call
65194         iconv with 4xNULL arguments initially, to reset the state. Call iconv
65195         with 2xNULL arguments, also to flush the state storage. Handle the
65196         IRIX iconv behaviour. Realloc the final result, to throw away unused
65197         memory.
65198
65199 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
65200
65201         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
65202         and fchmodat unconditionally, since glibc 2.4 has them.
65203         Problem reported by Arkadiusz Miskiewicz.
65204
65205 2006-12-10  Bruno Haible  <bruno@clisp.org>
65206
65207         * gnulib-tool (func_import): Show the include files only for those
65208         modules that are copied and specified.
65209         Reported by Karl Berry.
65210
65211 2006-12-08  Jim Meyering  <jim@meyering.net>
65212
65213         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
65214         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
65215
65216         * build-aux/announce-gen: Add two new options, both optional:
65217         --bootstrap-tools=TOOL_LIST
65218               a comma-separated list of tools, e.g.,
65219               autoconf,automake,bison,gnulib
65220         --gnulib-snapshot-date=DATE
65221               if gnulib is in the bootstrap tool list,
65222               then report this as the snapshot date.
65223               If not specified, use the current date/time.
65224               If you specify a date here, be sure it's UTC.
65225
65226 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65227
65228         * tests/test-argp-2.sh: Fix test to match actual output.
65229         (func_compare): Fix sed script to be portable.
65230
65231 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
65232
65233         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
65234         workaround for this case.  It is not autoconfigured now; offhand
65235         it's hard to see how to autoconfigure it.
65236
65237 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
65238
65239         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
65240         a directory that is about to be chowned.  Such a directory's
65241         initial file permissions should permit the owner only and this
65242         should not be changed until after the chown, since the group and
65243         other bits would be incorrect if they granted permission before
65244         the chown.
65245
65246         Fix porting problem for iswctype reported by Georg Schwarz in:
65247         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
65248         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
65249         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
65250         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
65251         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65252
65253 2006-12-03  Jim Meyering  <jim@meyering.net>
65254
65255         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
65256         p->fts_statp may not yet be defined.
65257         (fts_read): Instead, set it in the caller, once p->fts_statp is
65258         sure to be defined, and corresponds to a top-level directory.
65259         This bug made du -x fail.  Here's the coreutils test case:
65260         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
65261         Reported by Mike Frysinger.
65262
65263 2006-12-01  Jim Meyering  <jim@meyering.net>
65264
65265         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
65266         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
65267         Reported by Simon Josefsson.
65268
65269 2006-11-30  Jim Meyering  <jim@meyering.net>
65270
65271         * m4/warning.m4: Use the all-permissive copyright notice
65272         recommended by RMS (rather than LGPL).
65273         * m4/vararrays.m4: Likewise.
65274         * m4/flexmember.m4: Likewise.
65275
65276 2006-11-29  Bruno Haible  <bruno@clisp.org>
65277
65278         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65279         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
65280         using +=.
65281         Reported by Simon Josefsson <simon@josefsson.org>.
65282
65283 2006-11-28  James Youngman <jay@gnu.org>
65284
65285         * README: Advise users that they might find the bug-gnulib@gnu.org
65286         and autotools-announce@gnu.org mailing lists useful.
65287
65288 2006-11-28  Bruno Haible  <bruno@clisp.org>
65289
65290         * m4/ptrdiff_max.m4: Remove file.
65291
65292 2006-11-21  Bruno Haible  <bruno@clisp.org>
65293
65294         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
65295         _AC_COMPUTE_INT.
65296         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65297         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
65298         _AC_COMPUTE_INT.
65299         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65300         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
65301         _AC_COMPUTE_INT.
65302         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65303
65304 2006-11-28  Jim Meyering  <jim@meyering.net>
65305
65306         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
65307         warning from "gcc -Wshadow" about shadowing the builtin.
65308
65309 2006-11-27  Bruno Haible  <bruno@clisp.org>
65310
65311         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
65312         _AC_COMPUTE_INT.
65313         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65314
65315 2006-11-27  Bruno Haible  <bruno@clisp.org>
65316             Paul Eggert  <eggert@cs.ucla.edu>
65317
65318         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
65319
65320 2006-11-26  Bruno Haible  <bruno@clisp.org>
65321
65322         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65323         noinst_LTLIBRARIES.
65324
65325 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
65326             Bruno Haible  <bruno@clisp.org>
65327
65328         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
65329         if compiling with "gcc -ansi".
65330
65331 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
65332
65333         Fix some incompatibilities with gcc -ansi -pedantic.
65334         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
65335         if compiling pedantically with GCC, unless it's C99 or later.
65336         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
65337         it mishandles gcc -ansi -pedantic as well.
65338         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
65339         if gcc -pedantic.
65340         * lib/regexec.c (check_node_accept_bytes): Don't use auto
65341         initializers for struct if -pedantic, unless it's C99 or later.
65342
65343 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
65344
65345         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
65346         Don't close an fd more than once. Identical atimes indicate
65347         success, not failure.
65348
65349 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
65350
65351         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
65352
65353 2006-11-23  Jim Meyering  <jim@meyering.net>
65354
65355         * build-aux/announce-gen: New file.  From coreutils.
65356
65357 2006-11-22  Jim Meyering  <jim@meyering.net>
65358
65359         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
65360         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
65361         (fts_read): Use a temporary to narrow the overused st_size member
65362         before using it in a switch statement.  Reported by Matthew Woehlke.
65363
65364         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
65365         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
65366
65367 2006-11-20  Bruno Haible  <bruno@clisp.org>
65368
65369         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
65370         changequote instead of pairs of brackets.
65371         Reported by Andreas Schwab <schwab@suse.de>.
65372
65373 2006-11-21  Jim Meyering  <jim@meyering.net>
65374
65375         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
65376         so as to remain compatible with older compilers.
65377         Patch from Michael Deutschmann.
65378
65379 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65380
65381         * MODULES.html.sh (File system functions): Add openat.
65382
65383         * lib/openat.h (rpl_fstatat): New macro, if
65384         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
65385         (fstatat): Define to rpl_fstatat under the same conditions,
65386         unless COMPILING_FSTATAT.
65387         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
65388         seems to have the bug.
65389         * lib/fstatat.c: New file.
65390         * modules/openat (Files): Add it.
65391
65392 2006-11-20  Bruno Haible  <bruno@clisp.org>
65393
65394         * Makefile: New file.
65395
65396 2006-11-20  Jim Meyering  <jim@meyering.net>
65397
65398         The beginnings of syntax-related checks for gnulib.
65399         * lib/Makefile: New file.
65400         * lib/t-idcache: New script.  Ensure that the two halves of
65401         idcache.c stay in sync.
65402
65403         * lib/idcache.c: Adjust comments in user- and group- portions to
65404         be more accurate, and to be consistent with one another.
65405
65406 2006-11-20  Jim Meyering  <jim@meyering.net>
65407
65408         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
65409         continue using the flexible array member (thus, this module performs
65410         half as many malloc calls), with the addition that...
65411         (getgroup, getuser): Consistently record a non-match via an empty
65412         "name" string, and map an empty string match to a NULL return value.
65413         * modules/idcache (Depends-on): Re-add flexmember.
65414
65415         * lib/idcache.c (getuser): Remove all uses of the register keyword.
65416         (getuidbyname, getgroup, getgidbyname): Likewise.
65417
65418         Use cleaner syntax: NULL rather than 0.
65419         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
65420
65421 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65422
65423         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
65424         It mishandled the case where the group was missing.
65425         Problem reported by Greg Schafer.
65426         * modules/idcache: Likewise.
65427
65428 2006-11-18  Jim Meyering  <jim@meyering.net>
65429
65430         * check-module (%exempt_header): Add exception for some
65431         conditionally-included headers.
65432
65433         * modules/i-ring (Depends-on): Add verify.
65434         (License): Change to LGPL.
65435
65436 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65437
65438         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65439         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65440         and inttostr.h.  Use snprintf rather than uinttostr, so that
65441         LGPLed code doesn't depend on GPLed.
65442
65443 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65444
65445         * modules/inline (License): Change from GPL to LGPL.
65446
65447 2006-11-17  Jim Meyering  <jim@meyering.net>
65448
65449         * modules/d-type (License): Switch to LGPL.
65450
65451 2006-11-15  Bruno Haible  <bruno@clisp.org>
65452
65453         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65454
65455 2006-11-15  Eric Blake  <ebb9@byu.net>
65456
65457         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65458         the module dependency.
65459
65460 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65461             Bruno Haible  <bruno@clisp.org>
65462
65463         * gnulib-tool (func_create_testdir): Add license consistency check.
65464
65465 2006-11-15  Eric Blake  <ebb9@byu.net>
65466
65467         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65468         random "(cached)" in configure output.
65469
65470 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65471
65472         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65473         test for conforming inttypes.h is both announced and cached.
65474
65475         * MODULES.html.sh (seen_modules, seen_files): New variables.
65476         (func_module): Rewrite to use a few less gnulib-tool and sed
65477         invocations.  Avoid a couple of quadratic algorithms for ...
65478         (missed_modules, missed_files): ... these, with ...
65479         (func_append, func_tmpdir): ... these new functions, from
65480         gnulib-tool.  Analogously, install traps for cleanup.
65481
65482         * tests/test-gc.c (main): Remove unused variables.
65483         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65484
65485 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65486
65487         * modules/inttostr (License): Change to LGPL.
65488
65489 2006-11-14  Eric Blake  <ebb9@byu.net>
65490
65491         * modules/tempname (License): Change to LGPL.
65492
65493 2006-11-14  Eric Blake  <ebb9@byu.net>
65494
65495         * doc/functions.texi (Function Portability): *printf functions on
65496         Cygwin now understand all POSIX size specifiers.
65497
65498 2006-11-14  Bruno Haible  <bruno@clisp.org>
65499
65500         * modules/c-ctype (License): Change to LGPL.
65501
65502 2006-11-12  Bruno Haible  <bruno@clisp.org>
65503
65504         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65505         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65506         for GNOME libraries, for which the include files are installed in
65507         subdirectories of $prefix/include.
65508
65509 2006-11-12  Bruno Haible  <bruno@clisp.org>
65510
65511         * m4/lib-link.m4: Require at least autoconf-2.54.
65512         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65513         name to underscores for the --with option.
65514
65515 2006-11-13  Bruno Haible  <bruno@clisp.org>
65516
65517         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65518         the tests directory.
65519         Reported by Ralf Wildenhues.
65520
65521 2006-11-13  Bruno Haible  <bruno@clisp.org>
65522
65523         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65524         (func_emit_initmacro_end): Undo the override here.
65525         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65526         Works around the famous automake error in coreutils.
65527
65528 2006-11-13  Eric Blake  <ebb9@byu.net>
65529
65530         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65531         element, not its node.
65532
65533 2006-11-12  Bruno Haible  <bruno@clisp.org>
65534
65535         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65536         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65537
65538 2006-11-12  Bruno Haible  <bruno@clisp.org>
65539
65540         * gnulib-tool: New option --local-symlink.
65541         (func_usage): Document it.
65542         (lsymbolic): New variable.
65543         (func_import, func_create_testdir): If --symlink was not specified,
65544         test whether --local-symlink was specified and the file comes from
65545         the local_gnulib_dir.
65546
65547 2006-11-12  Bruno Haible  <bruno@clisp.org>
65548
65549         * gnulib-tool (func_ln): New function.
65550         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65551
65552 2006-11-12  Bruno Haible  <bruno@clisp.org>
65553
65554         Finish support for source files in subdirectories.
65555         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65556         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65557         AUTOMAKE_OPTIONS.
65558         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65559
65560 2006-11-12  Bruno Haible  <bruno@clisp.org>
65561
65562         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65563         EXTRA_lib_SOURCES augmentation.
65564         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65565
65566 2006-11-12  Jim Meyering  <jim@meyering.net>
65567
65568         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65569         file descriptors.  This also averts a failure on systems with
65570         native openat support when a traversed directory lacks "x" access.
65571         * lib/fts_.h: Include "i-ring.h"
65572         (struct FTS) [fts_fd_ring]: New member.
65573         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65574         (FCHDIR): Add parentheses.
65575         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65576         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65577         When descending, rather than simply closing the previous
65578         fts_cwd_fd value, push that file descriptor onto the ring.
65579         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65580         (fts_open): Initialize the new fd_ring member.
65581         (fts_close): Clear the ring.
65582         (fts_safe_changedir): When possible, use our new fd_ring to skip
65583         the diropen and fstat and dev/ino comparison that would normally
65584         accompany a virtual `chdir ("..")'.
65585
65586         * modules/fts (Depends-on): Add i-ring.
65587         * modules/i-ring: New module.
65588         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65589         * m4/i-ring.m4: New file.
65590
65591 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65592
65593         * gnulib-tool (func_create_testdir): Fix replacement of
65594         `build-aux' in configure.ac.  Run autotools in gltests
65595         subdirectory.
65596         (func_create_testdir, func_create_megatestdir, test): There is
65597         no need for '--force' in most autotool invocations in a new
65598         tree.  Actually fail the whole test if any of the tools, or the
65599         configure or make stages fail.
65600
65601         Sync from Automake.
65602         * build-aux/gnupload: Revert last change.  Add pointer to upload
65603         instructions of the GNU Maintenance Instructions.
65604         Suggestion by Karl Berry.
65605
65606 2006-11-10  Jim Meyering  <jim@meyering.net>
65607
65608         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65609
65610 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65611
65612         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65613         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65614         (bind_textdomain_codeset) [! ENABLE_NLS]:
65615         Evaluate all the arguments.  That way, callers get compatible behavior
65616         if the arguments have side effects.  Also, it avoids some GCC
65617         diagnostics in some cases; Joel E. Denny reported problems when Bison
65618         was configured with --enable-gcc-warnigs.
65619
65620 2006-11-10  Jim Meyering  <jim@meyering.net>
65621
65622         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65623         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65624         account.
65625
65626 2006-11-10  Jim Meyering  <jim@meyering.net>
65627
65628         * modules/inline: New file/module.
65629         * modules/xalloc (Files): Remove m4/inline.m4.
65630         (Depends-on): Add inline, instead.
65631         * modules/oset: Likewise.
65632         * modules/list: Likewise.
65633
65634 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65635
65636         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65637         Problem reported by Matthew Woehlke.
65638
65639 2006-11-09  Bruno Haible  <bruno@clisp.org>
65640
65641         * lib/tempname.c (gen_tempname): Remove variant that invokes
65642         __gen_tempname.
65643         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65644         __gen_tempname.
65645
65646 2006-11-08  Bruno Haible  <bruno@clisp.org>
65647
65648         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65649         to 'yes' instead of 'cross-compiling'.
65650
65651 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65652
65653         * lib/quotearg.h (quotearg_free): New decl.
65654         * lib/quotearg.c (quotearg_free): New function.
65655         (slot0, nslots, slotvec0, slotvec):
65656         Now file-scope so that quotearg_free can get at them.
65657
65658 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65659
65660         Sync from Automake.
65661         * build-aux/gnupload: Add missing 'gnu' to example URL.
65662         Report by Karl Berry.
65663
65664 2006-11-08  Bruno Haible  <bruno@clisp.org>
65665
65666         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65667         Suggested by Paul Eggert.
65668
65669 2006-11-08  Jim Meyering  <jim@meyering.net>
65670
65671         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65672         It's already included if !_LIBC.
65673         (fts_safe_changedir): Add a comment.
65674
65675 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65676
65677         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65678         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65679         Matthew Woehlke.
65680
65681         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65682         definitions up, to avoid colliding with change below.
65683         (static_inline) [HAVE_INLINE]: New macro.
65684         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65685         Provide extern decls when !HAVE_INLINE.  Do not define unless
65686         static_inline is defined, either by us or by xmalloc.c.  Use
65687         static_inline rather than static inline.
65688         (XCALLOC): Optimize sizeof(T) = 1 case.
65689         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65690
65691 2006-11-07  Bruno Haible  <bruno@clisp.org>
65692
65693         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65694         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65695         AC_C_INLINE.
65696         * modules/xalloc (Files): Add m4/inline.m4.
65697
65698 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65699
65700         * README: Fix typo.
65701         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65702         (Miscellanous Notes): ...from this.
65703
65704 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65705
65706         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65707         Mention that offsetof should be used instead of sizeof.
65708         From Bruno Haible.
65709
65710 2006-11-07  Bruno Haible  <bruno@clisp.org>
65711
65712         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65713
65714 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65715
65716         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65717         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65718         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65719         (gl_tree_add_before, gl_tree_add_after):
65720         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65721         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65722         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65723         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65724         (gl_linked_add_after, gl_linked_add_at): Likewise.
65725         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65726         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65727         (gl_tree_add_before, gl_tree_add_after): Likewise.
65728         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65729         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65730         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65731
65732 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65733
65734         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65735
65736 2006-11-06  Bruno Haible  <bruno@clisp.org>
65737
65738         * m4/inline.m4: New file.
65739         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65740         * modules/list (Files): Add m4/inline.m4.
65741         * modules/oset (Files): Likewise.
65742
65743 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65744
65745         * lib/idcache.c: Include <stddef.h>, for offsetof.
65746         (struct userid.name): Change from char * to a flexible array member.
65747         All uses changed.
65748         * modules/idcache (Depends-on): Add flexmember.
65749
65750         * MODULES.html.sh (Core language properties): New module flexmember.
65751         * modules/flexmember, m4/flexmember.m4: New files.
65752
65753         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65754         inline functions that are identical with the old xnmalloc_inline,
65755         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65756         that we can avoid some unnecessary integer multiplications and
65757         divisions in the common case where the element size is known at
65758         compile time.
65759         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65760         needed.
65761         (xnboundedmalloc): Remove.
65762         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65763         arguments, for consistency with rest of this header.
65764         (xcharalloc): Rewrite using XNMALLOC.
65765         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65766         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65767         versions have been moved to lib/xalloc.h and renamed to be the
65768         non-*_inline versions.
65769         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65770         and xnrealloc functions, since those functions are now inline and
65771         now call us.
65772         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65773         renaming described above.
65774         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65775         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65776         captures the dependency in AC_C_INLINE.
65777
65778         New module canonicalize-lgpl, proposed by Charles Wilson in
65779         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65780         with a few small changes afterwards.
65781         * MODULES.html.sh (File system functions): New module
65782         canonicalize-lgpl.
65783         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65784         and canonicalize_file_name.
65785         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65786         * modules/canonicalize-lgpl: New files.
65787
65788 2006-11-05  Bruno Haible  <bruno@clisp.org>
65789
65790         * gnulib-tool (func_import, func_create_testdir): Create directories
65791         also for files in subdirectories of lib/.
65792
65793 2006-11-05  Bruno Haible  <bruno@clisp.org>
65794
65795         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65796         ANSI C compliant.
65797
65798 2006-11-03  Bruno Haible  <bruno@clisp.org>
65799
65800         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65801         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65802         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65803         (xnboundedmalloc): New inline function.
65804         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65805         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65806         xmalloc.
65807         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65808         xmalloc.
65809         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65810         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65811         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65812         xmalloc.
65813         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65814         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65815         xmalloc.
65816         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65817         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65818         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65819         xmalloc.
65820         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65821         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65822         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65823         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65824         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65825         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65826         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65827
65828 2006-11-03  Bruno Haible  <bruno@clisp.org>
65829
65830         * lib/c-ctype.h [C++]: Define functions without name mangling.
65831         * lib/fwriteerror.h [C++]: Likewise.
65832         * lib/gcd.h [C++]: Likewise.
65833         * lib/linebreak.h [C++]: Likewise.
65834
65835 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65836
65837         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65838         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65839         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65840         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65841         Check for functions and headers just once.
65842         Check for declaration of canonicalize_file_name.
65843         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
65844
65845 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65846
65847         * gnulib-tool (func_import): Fix typo in actioncmd.
65848
65849 2006-11-02  Bruno Haible  <bruno@clisp.org>
65850
65851         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
65852         newline sequence in the Makefile.am snippet as a space, like "make"
65853         does.
65854         Reported by Roger Persson <perrog@gmail.com>.
65855
65856 2006-11-01  Bruno Haible  <bruno@clisp.org>
65857
65858         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
65859         already declared in <string.h>.
65860         * lib/strcase.h (strncasecmp): Don't declare it if yes.
65861
65862 2006-11-01  Bruno Haible  <bruno@clisp.org>
65863
65864         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
65865         * lib/strcase.h: Include <string.h>.
65866         (strcasecmp): Define to rpl_strcasecmp here.
65867
65868 2006-11-01  Bruno Haible  <bruno@clisp.org>
65869
65870         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
65871
65872 2006-11-01  Eric Blake  <ebb9@byu.net>
65873
65874         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
65875
65876         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
65877
65878 2006-10-29  Bruno Haible  <bruno@clisp.org>
65879
65880         Make it compile in C++ mode.
65881         * lib/full-write.c (full_rw): Add a cast.
65882
65883 2006-11-01  Bruno Haible  <bruno@clisp.org>
65884
65885         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
65886         be POSIX compliant.
65887         Reported by Roger Persson <perrog@gmail.com>.
65888
65889 2006-11-01  Eric Blake  <ebb9@byu.net>
65890
65891         * lib/getopt_.h: Fix comments.
65892
65893 2006-10-31  Eric Blake  <ebb9@byu.net>
65894
65895         * modules/tmpdir (Depends-on): Add sys_stat.
65896         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
65897         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
65898         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
65899         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
65900         tempname.
65901
65902 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
65903
65904         Avoid some C++ diagnostics reported by Bruno Haible.
65905         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
65906         xmalloc.
65907         (quotearg_alloc): Use xcharalloc rather than xmalloc.
65908         (struct slotvec): Move to top level.
65909         (quotearg_n_options): Rewrite to avoid xmalloc.
65910         * lib/xalloc.h (xcharalloc): New function.
65911         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
65912         [defined __cplusplus]: Add function template that provides result
65913         type propagation.  This part of the change is from Bruno Haible.
65914
65915 2006-10-29  Bruno Haible  <bruno@clisp.org>
65916
65917         Make it compile in C++ mode.
65918         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
65919         * lib/strnlen1.c (strnlen1): Cast memchr result.
65920         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
65921         * lib/clean-temp.c (string_equals, string_hash): Add casts.
65922         (create_temp_dir): Rename local variable 'template'.
65923         (compile_csharp_using_sscli): Add cast.
65924         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
65925         * lib/findprog.c (find_in_path): Likewise.
65926         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
65927         * lib/wait-process.c (register_slave_subprocess): Likewise.
65928
65929 2006-10-22  Bruno Haible  <bruno@clisp.org>
65930
65931         * modules/tsearch: New file.
65932         * lib/tsearch.h: New file.
65933         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
65934         * m4/tsearch.m4: New file.
65935         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
65936
65937 2006-10-29  Eric Blake  <ebb9@byu.net>
65938
65939         * lib/arcfour.c: Assume config.h.
65940         * lib/arctwo.c: Likewise.
65941         * lib/base64.c: Likewise.
65942         * lib/check-version.c: Likewise.
65943         * lib/crc.c: Likewise.
65944         * lib/des.c: Likewise.
65945         * lib/gc-gnulib.c: Likewise.
65946         * lib/gc-libgcrypt.c: Likewise.
65947         * lib/gc-pbkdf2-sha1.c: Likewise.
65948         * lib/getaddrinfo.c: Likewise.
65949         * lib/getdelim.c: Likewise.
65950         * lib/getline.c: Likewise.
65951         * lib/hmac-md5.c: Likewise.
65952         * lib/hmac-sha1.c: Likewise.
65953         * lib/iconvme.c: Likewise.
65954         * lib/md2.c: Likewise.
65955         * lib/md4.c: Likewise.
65956         * lib/memxor.c: Likewise.
65957         * lib/read-file.c: Likewise.
65958         * lib/readline.c: Likewise.
65959         * lib/rijndael-alg-fst.c: Likewise.
65960         * lib/rijndael-api-fst.c: Likewise.
65961         * lib/xgetdomainname.c: Likewise.
65962
65963 2006-10-28  Eric Blake  <ebb9@byu.net>
65964
65965         * lib/xstrndup.c: Assume config.h.
65966
65967 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65968
65969         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
65970         stat-macros.h is now for our own macros, whereas stat_h is for
65971         macros in the <sys/stat.h> name space.
65972         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
65973         (STAT_MACROS_H): Remove.
65974         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
65975         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
65976         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
65977         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
65978         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
65979         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
65980         Move these macros to ...
65981         * lib/stat_.h: here.  Don't include stat-macros.h.
65982         * lib/canonicalize.c: Don't include stat-macros.h.
65983         * lib/chown.c: Likewise.
65984         * lib/euidaccess.c: Likewise.
65985         * lib/file-type.c: Likewise.
65986         * lib/filemode.c: Likewise.
65987         * lib/glob.c: Likewise.
65988         * lib/isapipe.c: Likewise.
65989         * lib/lchown.c: Likewise.
65990         * lib/lstat.c: Likewise.
65991         * lib/mkdir-p.c: Likewise.
65992         * lib/rmdir.c: Likewise.
65993         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
65994         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
65995         unless mkdir isn't declared, to speed up 'configure'.
65996         Always create sys/stat.h, since it's unlikely any real sys/stat.h
65997         would define all the S_* symbols.
65998         * modules/canonicalize (Depends-on):
65999         Depend on sys_stat, not stat-macros.
66000         * modules/chown: Likewise.
66001         * modules/euidaccess: Likewise.
66002         * modules/filemode: Likewise.
66003         * modules/file-type: Likewise.
66004         * modules/glob: Likewise.
66005         * modules/isapipe: Likewise.
66006         * modules/lchown: Likewise.
66007         * modules/lstat: Likewise.
66008         * modules/mkancesdirs: Likewise.
66009         * modules/rmdir: Likewise.
66010         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
66011         * modules/modechange: Likewise.
66012         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
66013         (configure.ac): Remove gl_STAT_MACROS.
66014         * modules/sys_stat (Depends-on): Remove stat-macros.
66015
66016 2006-10-27  Bruno Haible  <bruno@clisp.org>
66017
66018         * m4/signed.m4: Remove file.
66019         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
66020         invocation.
66021         * modules/vasnprintf (Files): Remove m4/signed.m4.
66022
66023 2006-10-27  Bruno Haible  <bruno@clisp.org>
66024
66025         Update to GNU gettext 0.16.
66026         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
66027         m4/inttypes-h.m4, m4/signed.m4.
66028         * m4/gettext.m4: Update to GNU gettext 0.16.
66029         * m4/intl.m4: New file, from GNU gettext.
66030         * m4/intldir.m4: New file, from GNU gettext.
66031         * config/srclist.txt: Update
66032
66033 2006-10-27  Eric Blake  <ebb9@byu.net>
66034
66035         * MODULES.html.sh: Document tempname.
66036         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
66037         dependencies.
66038         (Files): Move lib/tempname.c...
66039         * modules/tempname: ...to this new module.
66040         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
66041         (gl_PREREQ_TEMPNAME): Move...
66042         * m4/tempname.m4: ...to this new file.
66043         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
66044         * modules/sys_stat (Depends-on): Add stat-macros.
66045         * lib/stat_.h (includes): Pick up stat macros.
66046         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
66047         if stat macros are broken.
66048         * lib/tempname.c (includes): No need to include "stat-macros.h".
66049         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
66050         (direxists, __path_search) [!_LIBC]: Don't compile these in
66051         gnulib; the tmpdir module covers that.
66052         * lib/tempname.h: New file.
66053
66054 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
66055
66056         * COPYING: Explain how gnulib-tool converts licence headers.
66057         Almost all wording by Eric Blake.
66058
66059 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
66060
66061         * lib/mbchar.h (is_basic_table): Make read-only.
66062         * lib/mbchar.c (is_basic_table): Likewise.
66063         Reported by John Darrington.
66064
66065 2006-10-25  Bruno Haible  <bruno@clisp.org>
66066
66067         * lib/progname.h (set_program_name): Undefine before defining.
66068
66069 2006-10-25  Bruno Haible  <bruno@clisp.org>
66070
66071         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
66072         false for non-gcc C++ compilers.
66073         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
66074
66075 2006-10-24  Bruno Haible  <bruno@clisp.org>
66076
66077         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
66078         iconv implementations like Irix iconv.
66079
66080 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66081
66082         * modules/vararrays: New file.
66083         * m4/vararrays.m4: New file, taken from diffutils.
66084         * MODULES.html.sh: New module vararrays.
66085
66086 2006-10-24  Karl Berry  <karl@gnu.org>
66087
66088         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
66089         Don't call GNU Unix.
66090
66091 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66092
66093         * users.txt: Add Libtool.
66094
66095         Sync from Libtool:
66096
66097         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66098
66099         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
66100         to gnulib's policy of including config.h unconditionally.
66101
66102 2006-10-24  Bruno Haible  <bruno@clisp.org>
66103
66104         * modules/wcwidth (Files): Add m4/wint_t.m4.
66105         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
66106         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
66107
66108 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66109
66110         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
66111         to pacify GCC with some -W flags enabled.  Problem reported by
66112         Bruno Haible.
66113
66114 2006-10-24  Jim Meyering  <jim@meyering.net>
66115
66116         * MODULES.html.sh: Remove uinttostr.  It's not a module.
66117         Reported by Karl Berry.
66118
66119 2006-10-23  Bruno Haible  <bruno@clisp.org>
66120
66121         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
66122
66123 2006-10-24  Bruno Haible  <bruno@clisp.org>
66124
66125         * lib/gl_list.h: Use C comment style, not C++ comment style.
66126
66127 2006-10-23  Eric Blake  <ebb9@byu.net>
66128
66129         * lib/getaddrinfo.c (includes): Add missing include.
66130
66131 2006-10-23  Bruno Haible  <bruno@clisp.org>
66132             Paul Eggert  <eggert@cs.ucla.edu>
66133
66134         Ability to rename obstack_free.
66135         * lib/obstack.h (__obstack_free): New macro. Declare instead of
66136         obstack_free.
66137         (obstack_free): Invoke the __obstack_free macro.
66138         * lib/obstack.c (obstack_free): Use __obstack_free macro.
66139
66140 2006-10-23  Bruno Haible  <bruno@clisp.org>
66141             Paul Eggert  <eggert@cs.ucla.edu>
66142
66143         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
66144         __argc, __argv from the declaration. (They are defined as macros on
66145         mingw.)
66146
66147 2006-10-22  Bruno Haible  <bruno@clisp.org>
66148
66149         * doc/gnulib-intro.texi: New file.
66150         * doc/gnulib.texi: Include it.
66151
66152 2006-10-21  Bruno Haible  <bruno@clisp.org>
66153
66154         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
66155         "Introduction", "Miscellanous Notes", "Particular Modules".
66156
66157 2006-10-21  Bruno Haible  <bruno@clisp.org>
66158
66159         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66160         Change mostlyclean-local rule to avoid sh syntax error from bash
66161         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
66162
66163 2006-10-23  Jim Meyering  <jim@meyering.net>
66164
66165         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
66166         in place of snprintf.
66167
66168         * modules/inttostr (Files): Add lib/uinttostr.c.
66169         * lib/uinttostr.c (inttostr): New file/function.
66170         * lib/inttostr.h (uinttostr): Declare.
66171         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
66172         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66173         Add uinttostr.
66174         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
66175
66176 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66177
66178         * lib/canonicalize.c (ELOOP): Define if not already defined.
66179         Problem reported by Bruno Haible in
66180         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
66181
66182 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66183
66184         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
66185         Problem reported by Perry Smith and Ville Laurikari.
66186
66187         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
66188         uses.
66189
66190 2006-10-19  Bruno Haible  <bruno@clisp.org>
66191
66192         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
66193         for mingw.
66194
66195 2006-10-19  Bruno Haible  <bruno@clisp.org>
66196
66197         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
66198         Needed for mingw.
66199
66200 2006-10-19  Bruno Haible  <bruno@clisp.org>
66201
66202         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
66203
66204 2006-10-19  Bruno Haible  <bruno@clisp.org>
66205
66206         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
66207         it.
66208
66209 2006-10-19  Bruno Haible  <bruno@clisp.org>
66210
66211         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
66212         invocation.
66213
66214 2006-10-19  Bruno Haible  <bruno@clisp.org>
66215
66216         * gnulib-tool (func_create_testdir): Don't include ftruncate and
66217         mountlist by default.
66218
66219 2006-10-16  Bruno Haible  <bruno@clisp.org>
66220
66221         * lib/c-strstr.c: Include c-strstr.h.
66222
66223 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66224
66225         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
66226         in a slash.
66227
66228 2006-10-18  Bruno Haible  <bruno@clisp.org>
66229
66230         * lib/lock.h [C++]: Wrap definitions in extern "C".
66231
66232 2006-10-18  Bruno Haible  <bruno@clisp.org>
66233
66234         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
66235         gl_LIBOBJS list.
66236
66237 2006-10-18  Bruno Haible  <bruno@clisp.org>
66238
66239         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
66240
66241 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
66242
66243         * lib/xstrtol.h: Include gettext.h.
66244         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
66245         Problem reported by Eric Blake.
66246         * modules/xstrtol (Depends-on): Add gettext-h.
66247
66248 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
66249
66250         * lib/strftime.c (advance): New macro.
66251         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
66252         incomplete type, so you can't add 0 to it.  Problem and patch
66253         reported by Eelco Dolstra for dietlibc.
66254
66255 2006-10-18  Jim Meyering  <jim@meyering.net>
66256
66257         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
66258         type for a local, and rename it: s/up/user_proc/.
66259
66260 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
66261
66262         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
66263         READ_UTMP_USER_PROCESS.
66264         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
66265
66266 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66267
66268         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
66269         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
66270
66271 2006-10-17  Eric Blake  <ebb9@byu.net>
66272
66273         * lib/sigprocmask.c (sigprocmask): Fix typo.
66274
66275         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
66276
66277         * modules/clean-temp (Makefile.am): Don't add to make output...
66278         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
66279         config.h.
66280
66281 2006-10-17  Bruno Haible  <bruno@clisp.org>
66282
66283         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
66284         differently if DEFAULT_TEXT_DOMAIN is set.
66285
66286 2006-10-16  Bruno Haible  <bruno@clisp.org>
66287
66288         * lib/clean-temp.c: Include fwriteerror.h.
66289
66290 2006-10-16  Bruno Haible  <bruno@clisp.org>
66291
66292         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
66293
66294 2006-10-16  Bruno Haible  <bruno@clisp.org>
66295
66296         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
66297         * lib/sigprocmask.h: Include <sys/types.h>.
66298         (sigset_t): Use the system's definition if present.
66299
66300 2006-10-17  Eric Blake  <ebb9@byu.net>
66301
66302         * lib/xvasprintf.c (includes): Assume config.h.
66303         * lib/xasprintf.c (includes): Likewise.
66304
66305 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66306
66307         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
66308         at least as wide as intmax_t.
66309
66310 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
66311
66312         (Imported from Automake.)
66313         * build-aux/gnupload: Update to version 1.1 of directive file.
66314
66315 2006-10-16  Eric Blake  <ebb9@byu.net>
66316
66317         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
66318         match Automake 1.10a.
66319
66320 2006-10-14  Bruno Haible  <bruno@clisp.org>
66321
66322         * modules/sigprocmask: New file.
66323         * lib/sigprocmask.h: New file.
66324         * lib/sigprocmask.c: New file.
66325         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
66326         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
66327         request sigprocmask.o.
66328         (gl_PREREQ_SIGPROCMASK): New macro.
66329         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
66330         (Depends-on): Add sigprocmask.
66331         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
66332         gt_SIGNALBLOCKING. Test for 'raise' only once.
66333         * lib/fatal-signal.c: Include sigprocmask.h.
66334         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
66335         unblock_fatal_signals): Define always.
66336         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66337         sigprocmask.
66338
66339 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66340
66341         Sync from Automake.
66342         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
66343         which incorrectly sets the mode of an existing destination
66344         directory.  In some cases the unpatched install-sh could do the
66345         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
66346         system.  We hope this is rare in practice, but it's clearly worth
66347         fixing.  Problem reported by Alex Unleashed in
66348         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
66349         Also, don't bother to check for -m bugs unless we're using -m;
66350         suggested by Stepan Kasal.
66351
66352 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66353
66354         Sync from Automake.
66355         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
66356         `-c' flag, so they appear at the same position as in %FASTDEP%
66357         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
66358         which ignores unknown options only after the first non-option.
66359         Bug report against M4 by Nelson H. F. Beebe.
66360
66361 2006-10-13  Jim Meyering  <jim@meyering.net>
66362
66363         Fix a bug in yesterday's change.
66364         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
66365         p->fts_statp->st_dev would be used uninitialized.
66366         Ensures that we always call fts_stat on the very first entry.
66367         Miklos Szeredi reported that find -xdev stopped working.
66368
66369 2006-10-12  Bruno Haible  <bruno@clisp.org>
66370
66371         * gnulib-tool (func_get_automake_snippet): Append an automatically
66372         computed EXTRA_DIST augmentation.
66373         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
66374         * modules/alloca-opt (Makefile.am): Likewise.
66375         * modules/allocsa (Makefile.am): Likewise.
66376         * modules/arcfour (Makefile.am): Likewise.
66377         * modules/arctwo (Makefile.am): Likewise.
66378         * modules/argmatch (Makefile.am): Likewise.
66379         * modules/argz (Makefile.am): Likewise.
66380         * modules/atexit (Makefile.am): Likewise.
66381         * modules/backupfile (Makefile.am): Likewise.
66382         * modules/byteswap (Makefile.am): Likewise.
66383         * modules/c-strtod (Makefile.am): Likewise.
66384         * modules/c-strtold (Makefile.am): Likewise.
66385         * modules/calloc (Makefile.am): Likewise.
66386         * modules/canon-host (Makefile.am): Likewise.
66387         * modules/canonicalize (Makefile.am): Likewise.
66388         * modules/chdir-long (Makefile.am): Likewise.
66389         * modules/chdir-safer (Makefile.am): Likewise.
66390         * modules/check-version (Makefile.am): Likewise.
66391         * modules/chown (Makefile.am): Likewise.
66392         * modules/cloexec (Makefile.am): Likewise.
66393         * modules/close-stream (Makefile.am): Likewise.
66394         * modules/closeout (Makefile.am): Likewise.
66395         * modules/crc (Makefile.am): Likewise.
66396         * modules/csharpexec (Makefile.am): Likewise.
66397         * modules/cycle-check (Makefile.am): Likewise.
66398         * modules/des (Makefile.am): Likewise.
66399         * modules/dev-ino (Makefile.am): Likewise.
66400         * modules/dirfd (Makefile.am): Likewise.
66401         * modules/dirname (Makefile.am): Likewise.
66402         * modules/dup2 (Makefile.am): Likewise.
66403         * modules/eealloc (Makefile.am): Likewise.
66404         * modules/error (Makefile.am): Likewise.
66405         * modules/euidaccess (Makefile.am): Likewise.
66406         * modules/exclude (Makefile.am): Likewise.
66407         * modules/exitfail (Makefile.am): Likewise.
66408         * modules/fcntl-safer (Makefile.am): Likewise.
66409         * modules/fcntl (Makefile.am): Likewise.
66410         * modules/file-type (Makefile.am): Likewise.
66411         * modules/fileblocks (Makefile.am): Likewise.
66412         * modules/filemode (Makefile.am): Likewise.
66413         * modules/filenamecat (Makefile.am): Likewise.
66414         * modules/fnmatch (Makefile.am): Likewise.
66415         * modules/fopen-safer (Makefile.am): Likewise.
66416         * modules/fpending (Makefile.am): Likewise.
66417         * modules/fprintftime (Makefile.am): Likewise.
66418         * modules/free (Makefile.am): Likewise.
66419         * modules/fsusage (Makefile.am): Likewise.
66420         * modules/ftruncate (Makefile.am): Likewise.
66421         * modules/fts (Makefile.am): Likewise.
66422         * modules/gc-arcfour (Makefile.am): Likewise.
66423         * modules/gc-des (Makefile.am): Likewise.
66424         * modules/gc-hmac-md5 (Makefile.am): Likewise.
66425         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
66426         * modules/gc-md4 (Makefile.am): Likewise.
66427         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66428         * modules/gc-sha1 (Makefile.am): Likewise.
66429         * modules/gc (Makefile.am): Likewise.
66430         * modules/getaddrinfo (Makefile.am): Likewise.
66431         * modules/getcwd (Makefile.am): Likewise.
66432         * modules/getdelim (Makefile.am): Likewise.
66433         * modules/getdomainname (Makefile.am): Likewise.
66434         * modules/getgroups (Makefile.am): Likewise.
66435         * modules/gethostname (Makefile.am): Likewise.
66436         * modules/gethrxtime (Makefile.am): Likewise.
66437         * modules/getline (Makefile.am): Likewise.
66438         * modules/getloadavg (Makefile.am): Likewise.
66439         * modules/getlogin_r (Makefile.am): Likewise.
66440         * modules/getndelim2 (Makefile.am): Likewise.
66441         * modules/getopt (Makefile.am): Likewise.
66442         * modules/getpagesize (Makefile.am): Likewise.
66443         * modules/getpass-gnu (Makefile.am): Likewise.
66444         * modules/getpass (Makefile.am): Likewise.
66445         * modules/getsubopt (Makefile.am): Likewise.
66446         * modules/gettime (Makefile.am): Likewise.
66447         * modules/gettimeofday (Makefile.am): Likewise.
66448         * modules/getugroups (Makefile.am): Likewise.
66449         * modules/getusershell (Makefile.am): Likewise.
66450         * modules/glob (Makefile.am): Likewise.
66451         * modules/group-member (Makefile.am): Likewise.
66452         * modules/hard-locale (Makefile.am): Likewise.
66453         * modules/hash (Makefile.am): Likewise.
66454         * modules/hmac-md5 (Makefile.am): Likewise.
66455         * modules/hmac-sha1 (Makefile.am): Likewise.
66456         * modules/human (Makefile.am): Likewise.
66457         * modules/idcache (Makefile.am): Likewise.
66458         * modules/imaxabs (Makefile.am): Likewise.
66459         * modules/imaxdiv (Makefile.am): Likewise.
66460         * modules/inet_ntop (Makefile.am): Likewise.
66461         * modules/inet_pton (Makefile.am): Likewise.
66462         * modules/intprops (Makefile.am): Likewise.
66463         * modules/inttostr (Makefile.am): Likewise.
66464         * modules/inttypes (Makefile.am): Likewise.
66465         * modules/isapipe (Makefile.am): Likewise.
66466         * modules/javaversion (Makefile.am): Likewise.
66467         * modules/lchmod (Makefile.am): Likewise.
66468         * modules/lchown (Makefile.am): Likewise.
66469         * modules/localcharset (Makefile.am): Likewise.
66470         * modules/long-options (Makefile.am): Likewise.
66471         * modules/lstat (Makefile.am): Likewise.
66472         * modules/malloc (Makefile.am): Likewise.
66473         * modules/mathl (Makefile.am): Likewise.
66474         * modules/mbchar (Makefile.am): Likewise.
66475         * modules/md2 (Makefile.am): Likewise.
66476         * modules/md4 (Makefile.am): Likewise.
66477         * modules/md5 (Makefile.am): Likewise.
66478         * modules/memcasecmp (Makefile.am): Likewise.
66479         * modules/memchr (Makefile.am): Likewise.
66480         * modules/memcmp (Makefile.am): Likewise.
66481         * modules/memcoll (Makefile.am): Likewise.
66482         * modules/memcpy (Makefile.am): Likewise.
66483         * modules/memmem (Makefile.am): Likewise.
66484         * modules/memmove (Makefile.am): Likewise.
66485         * modules/mempcpy (Makefile.am): Likewise.
66486         * modules/memrchr (Makefile.am): Likewise.
66487         * modules/memset (Makefile.am): Likewise.
66488         * modules/memxor (Makefile.am): Likewise.
66489         * modules/mkancesdirs (Makefile.am): Likewise.
66490         * modules/mkdir-p (Makefile.am): Likewise.
66491         * modules/mkdir (Makefile.am): Likewise.
66492         * modules/mkdtemp (Makefile.am): Likewise.
66493         * modules/mkstemp (Makefile.am): Likewise.
66494         * modules/mktime (Makefile.am): Likewise.
66495         * modules/modechange (Makefile.am): Likewise.
66496         * modules/mountlist (Makefile.am): Likewise.
66497         * modules/nanosleep (Makefile.am): Likewise.
66498         * modules/obstack (Makefile.am): Likewise.
66499         * modules/openat (Makefile.am): Likewise.
66500         * modules/pagealign_alloc (Makefile.am): Likewise.
66501         * modules/pathmax (Makefile.am): Likewise.
66502         * modules/physmem (Makefile.am): Likewise.
66503         * modules/poll (Makefile.am): Likewise.
66504         * modules/posixtm (Makefile.am): Likewise.
66505         * modules/posixver (Makefile.am): Likewise.
66506         * modules/putenv (Makefile.am): Likewise.
66507         * modules/quote (Makefile.am): Likewise.
66508         * modules/quotearg (Makefile.am): Likewise.
66509         * modules/raise (Makefile.am): Likewise.
66510         * modules/read-file (Makefile.am): Likewise.
66511         * modules/readline (Makefile.am): Likewise.
66512         * modules/readlink (Makefile.am): Likewise.
66513         * modules/readtokens (Makefile.am): Likewise.
66514         * modules/readutmp (Makefile.am): Likewise.
66515         * modules/realloc (Makefile.am): Likewise.
66516         * modules/regex (Makefile.am): Likewise.
66517         * modules/rename-dest-slash (Makefile.am): Likewise.
66518         * modules/rename (Makefile.am): Likewise.
66519         * modules/rijndael (Makefile.am): Likewise.
66520         * modules/rmdir (Makefile.am): Likewise.
66521         * modules/rpmatch (Makefile.am): Likewise.
66522         * modules/safe-read (Makefile.am): Likewise.
66523         * modules/safe-write (Makefile.am): Likewise.
66524         * modules/same-inode (Makefile.am): Likewise.
66525         * modules/same (Makefile.am): Likewise.
66526         * modules/save-cwd (Makefile.am): Likewise.
66527         * modules/savedir (Makefile.am): Likewise.
66528         * modules/setenv (Makefile.am): Likewise.
66529         * modules/settime (Makefile.am): Likewise.
66530         * modules/sha1 (Makefile.am): Likewise.
66531         * modules/sig2str (Makefile.am): Likewise.
66532         * modules/snprintf (Makefile.am): Likewise.
66533         * modules/stat-macros (Makefile.am): Likewise.
66534         * modules/stat-time (Makefile.am): Likewise.
66535         * modules/stdbool (Makefile.am): Likewise.
66536         * modules/stdint (Makefile.am): Likewise.
66537         * modules/stdlib-safer (Makefile.am): Likewise.
66538         * modules/stpcpy (Makefile.am): Likewise.
66539         * modules/stpncpy (Makefile.am): Likewise.
66540         * modules/strcase (Makefile.am): Likewise.
66541         * modules/strcasestr (Makefile.am): Likewise.
66542         * modules/strchrnul (Makefile.am): Likewise.
66543         * modules/strcspn (Makefile.am): Likewise.
66544         * modules/strdup (Makefile.am): Likewise.
66545         * modules/strerror (Makefile.am): Likewise.
66546         * modules/strftime (Makefile.am): Likewise.
66547         * modules/strndup (Makefile.am): Likewise.
66548         * modules/strnlen (Makefile.am): Likewise.
66549         * modules/strpbrk (Makefile.am): Likewise.
66550         * modules/strsep (Makefile.am): Likewise.
66551         * modules/strstr (Makefile.am): Likewise.
66552         * modules/strtod (Makefile.am): Likewise.
66553         * modules/strtoimax (Makefile.am): Likewise.
66554         * modules/strtok_r (Makefile.am): Likewise.
66555         * modules/strtol (Makefile.am): Likewise.
66556         * modules/strtoll (Makefile.am): Likewise.
66557         * modules/strtoul (Makefile.am): Likewise.
66558         * modules/strtoull (Makefile.am): Likewise.
66559         * modules/strtoumax (Makefile.am): Likewise.
66560         * modules/strverscmp (Makefile.am): Likewise.
66561         * modules/sys_socket (Makefile.am): Likewise.
66562         * modules/sys_stat (Makefile.am): Likewise.
66563         * modules/sysexits (Makefile.am): Likewise.
66564         * modules/time_r (Makefile.am): Likewise.
66565         * modules/timegm (Makefile.am): Likewise.
66566         * modules/timespec (Makefile.am): Likewise.
66567         * modules/tmpfile-safer (Makefile.am): Likewise.
66568         * modules/trim (Makefile.am): Likewise.
66569         * modules/unistd-safer (Makefile.am): Likewise.
66570         * modules/unlinkdir (Makefile.am): Likewise.
66571         * modules/unlocked-io (Makefile.am): Likewise.
66572         * modules/userspec (Makefile.am): Likewise.
66573         * modules/utime (Makefile.am): Likewise.
66574         * modules/utimecmp (Makefile.am): Likewise.
66575         * modules/utimens (Makefile.am): Likewise.
66576         * modules/vasnprintf (Makefile.am): Likewise.
66577         * modules/vasprintf (Makefile.am): Likewise.
66578         * modules/vsnprintf (Makefile.am): Likewise.
66579         * modules/xalloc (Makefile.am): Likewise.
66580         * modules/xgetcwd (Makefile.am): Likewise.
66581         * modules/xnanosleep (Makefile.am): Likewise.
66582         * modules/xreadlink (Makefile.am): Likewise.
66583         * modules/xstrtod (Makefile.am): Likewise.
66584         * modules/xstrtol (Makefile.am): Likewise.
66585         * modules/xstrtold (Makefile.am): Likewise.
66586         * modules/yesno (Makefile.am): Likewise.
66587         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66588
66589 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66590
66591         * modules/error (Makefile.am): Distribute files through
66592         EXTRA_DIST, not lib_SOURCES.
66593
66594 2006-10-12  Eric Blake  <ebb9@byu.net>
66595
66596         * modules/error (Makefile.am): Distribute files in /lib.
66597         * modules/obstack (Makefile.am): Likewise.
66598
66599 2006-10-12  Bruno Haible  <bruno@clisp.org>
66600
66601         * modules/acl (Makefile.am): Distribute all files in lib/ through
66602         EXTRA_DIST.
66603         * modules/arcfour (Makefile.am): Likewise.
66604         * modules/arctwo (Makefile.am): Likewise.
66605         * modules/argmatch (Makefile.am): Likewise.
66606         * modules/argz (Makefile.am): Likewise.
66607         * modules/atexit (Makefile.am): Likewise.
66608         * modules/backupfile (Makefile.am): Likewise.
66609         * modules/c-strtod (Makefile.am): Likewise.
66610         * modules/c-strtold (Makefile.am): Likewise.
66611         * modules/calloc (Makefile.am): Likewise.
66612         * modules/canon-host (Makefile.am): Likewise.
66613         * modules/canonicalize (Makefile.am): Likewise.
66614         * modules/chdir-long (Makefile.am): Likewise.
66615         * modules/chdir-safer (Makefile.am): Likewise.
66616         * modules/check-version (Makefile.am): Likewise.
66617         * modules/chown (Makefile.am): Likewise.
66618         * modules/cloexec (Makefile.am): Likewise.
66619         * modules/close-stream (Makefile.am): Likewise.
66620         * modules/closeout (Makefile.am): Likewise.
66621         * modules/crc (Makefile.am): Likewise.
66622         * modules/cycle-check (Makefile.am): Likewise.
66623         * modules/des (Makefile.am): Likewise.
66624         * modules/dirfd (Makefile.am): Likewise.
66625         * modules/dirname (Makefile.am): Likewise.
66626         * modules/dup2 (Makefile.am): Likewise.
66627         * modules/euidaccess (Makefile.am): Likewise.
66628         * modules/exclude (Makefile.am): Likewise.
66629         * modules/exitfail (Makefile.am): Likewise.
66630         * modules/fcntl-safer (Makefile.am): Likewise.
66631         * modules/file-type (Makefile.am): Likewise.
66632         * modules/fileblocks (Makefile.am): Likewise.
66633         * modules/filemode (Makefile.am): Likewise.
66634         * modules/filenamecat (Makefile.am): Likewise.
66635         * modules/fnmatch (Makefile.am): Likewise.
66636         * modules/fopen-safer (Makefile.am): Likewise.
66637         * modules/fpending (Makefile.am): Likewise.
66638         * modules/fprintftime (Makefile.am): Likewise.
66639         * modules/free (Makefile.am): Likewise.
66640         * modules/fsusage (Makefile.am): Likewise.
66641         * modules/ftruncate (Makefile.am): Likewise.
66642         * modules/fts (Makefile.am): Likewise.
66643         * modules/gc (Makefile.am): Likewise.
66644         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66645         * modules/getaddrinfo (Makefile.am): Likewise.
66646         * modules/getcwd (Makefile.am): Likewise.
66647         * modules/getdelim (Makefile.am): Likewise.
66648         * modules/getdomainname (Makefile.am): Likewise.
66649         * modules/getgroups (Makefile.am): Likewise.
66650         * modules/gethostname (Makefile.am): Likewise.
66651         * modules/gethrxtime (Makefile.am): Likewise.
66652         * modules/getline (Makefile.am): Likewise.
66653         * modules/getloadavg (Makefile.am): Likewise.
66654         * modules/getlogin_r (Makefile.am): Likewise.
66655         * modules/getopt (Makefile.am): Likewise.
66656         * modules/getpass (Makefile.am): Likewise.
66657         * modules/getpass-gnu (Makefile.am): Likewise.
66658         * modules/getsubopt (Makefile.am): Likewise.
66659         * modules/gettime (Makefile.am): Likewise.
66660         * modules/gettimeofday (Makefile.am): Likewise.
66661         * modules/getugroups (Makefile.am): Likewise.
66662         * modules/getusershell (Makefile.am): Likewise.
66663         * modules/glob (Makefile.am): Likewise.
66664         * modules/group-member (Makefile.am): Likewise.
66665         * modules/hard-locale (Makefile.am): Likewise.
66666         * modules/hash (Makefile.am): Likewise.
66667         * modules/hmac-md5 (Makefile.am): Likewise.
66668         * modules/hmac-sha1 (Makefile.am): Likewise.
66669         * modules/human (Makefile.am): Likewise.
66670         * modules/idcache (Makefile.am): Likewise.
66671         * modules/imaxabs (Makefile.am): Likewise.
66672         * modules/imaxdiv (Makefile.am): Likewise.
66673         * modules/inet_ntop (Makefile.am): Likewise.
66674         * modules/inet_pton (Makefile.am): Likewise.
66675         * modules/inttostr (Makefile.am): Likewise.
66676         * modules/isapipe (Makefile.am): Likewise.
66677         * modules/lchown (Makefile.am): Likewise.
66678         * modules/long-options (Makefile.am): Likewise.
66679         * modules/lstat (Makefile.am): Likewise.
66680         * modules/malloc (Makefile.am): Likewise.
66681         * modules/mathl (Makefile.am): Likewise.
66682         * modules/mbchar (Makefile.am): Likewise.
66683         * modules/md2 (Makefile.am): Likewise.
66684         * modules/md4 (Makefile.am): Likewise.
66685         * modules/md5 (Makefile.am): Likewise.
66686         * modules/memcasecmp (Makefile.am): Likewise.
66687         * modules/memchr (Makefile.am): Likewise.
66688         * modules/memcmp (Makefile.am): Likewise.
66689         * modules/memcoll (Makefile.am): Likewise.
66690         * modules/memcpy (Makefile.am): Likewise.
66691         * modules/memmem (Makefile.am): Likewise.
66692         * modules/memmove (Makefile.am): Likewise.
66693         * modules/mempcpy (Makefile.am): Likewise.
66694         * modules/memrchr (Makefile.am): Likewise.
66695         * modules/memset (Makefile.am): Likewise.
66696         * modules/memxor (Makefile.am): Likewise.
66697         * modules/mkancesdirs (Makefile.am): Likewise.
66698         * modules/mkdir (Makefile.am): Likewise.
66699         * modules/mkdir-p (Makefile.am): Likewise.
66700         * modules/mkdtemp (Makefile.am): Likewise.
66701         * modules/mkstemp (Makefile.am): Likewise.
66702         * modules/mktime (Makefile.am): Likewise.
66703         * modules/modechange (Makefile.am): Likewise.
66704         * modules/mountlist (Makefile.am): Likewise.
66705         * modules/nanosleep (Makefile.am): Likewise.
66706         * modules/openat (Makefile.am): Likewise.
66707         * modules/pagealign_alloc (Makefile.am): Likewise.
66708         * modules/physmem (Makefile.am): Likewise.
66709         * modules/poll (Makefile.am): Likewise.
66710         * modules/posixtm (Makefile.am): Likewise.
66711         * modules/posixver (Makefile.am): Likewise.
66712         * modules/putenv (Makefile.am): Likewise.
66713         * modules/quote (Makefile.am): Likewise.
66714         * modules/quotearg (Makefile.am): Likewise.
66715         * modules/raise (Makefile.am): Likewise.
66716         * modules/read-file (Makefile.am): Likewise.
66717         * modules/readline (Makefile.am): Likewise.
66718         * modules/readlink (Makefile.am): Likewise.
66719         * modules/readtokens (Makefile.am): Likewise.
66720         * modules/readutmp (Makefile.am): Likewise.
66721         * modules/realloc (Makefile.am): Likewise.
66722         * modules/regex (Makefile.am): Likewise.
66723         * modules/rename (Makefile.am): Likewise.
66724         * modules/rename-dest-slash (Makefile.am): Likewise.
66725         * modules/rijndael (Makefile.am): Likewise.
66726         * modules/rmdir (Makefile.am): Likewise.
66727         * modules/rpmatch (Makefile.am): Likewise.
66728         * modules/safe-read (Makefile.am): Likewise.
66729         * modules/safe-write (Makefile.am): Likewise.
66730         * modules/same (Makefile.am): Likewise.
66731         * modules/save-cwd (Makefile.am): Likewise.
66732         * modules/savedir (Makefile.am): Likewise.
66733         * modules/setenv (Makefile.am): Likewise.
66734         * modules/settime (Makefile.am): Likewise.
66735         * modules/sha1 (Makefile.am): Likewise.
66736         * modules/sig2str (Makefile.am): Likewise.
66737         * modules/snprintf (Makefile.am): Likewise.
66738         * modules/stdlib-safer (Makefile.am): Likewise.
66739         * modules/stpcpy (Makefile.am): Likewise.
66740         * modules/stpncpy (Makefile.am): Likewise.
66741         * modules/strcase (Makefile.am): Likewise.
66742         * modules/strcasestr (Makefile.am): Likewise.
66743         * modules/strchrnul (Makefile.am): Likewise.
66744         * modules/strcspn (Makefile.am): Likewise.
66745         * modules/strdup (Makefile.am): Likewise.
66746         * modules/strerror (Makefile.am): Likewise.
66747         * modules/strftime (Makefile.am): Likewise.
66748         * modules/strndup (Makefile.am): Likewise.
66749         * modules/strnlen (Makefile.am): Likewise.
66750         * modules/strpbrk (Makefile.am): Likewise.
66751         * modules/strsep (Makefile.am): Likewise.
66752         * modules/strstr (Makefile.am): Likewise.
66753         * modules/strtod (Makefile.am): Likewise.
66754         * modules/strtoimax (Makefile.am): Likewise.
66755         * modules/strtok_r (Makefile.am): Likewise.
66756         * modules/strtol (Makefile.am): Likewise.
66757         * modules/strtoll (Makefile.am): Likewise.
66758         * modules/strtoul (Makefile.am): Likewise.
66759         * modules/strtoull (Makefile.am): Likewise.
66760         * modules/strtoumax (Makefile.am): Likewise.
66761         * modules/strverscmp (Makefile.am): Likewise.
66762         * modules/time_r (Makefile.am): Likewise.
66763         * modules/timegm (Makefile.am): Likewise.
66764         * modules/tmpfile-safer (Makefile.am): Likewise.
66765         * modules/unistd-safer (Makefile.am): Likewise.
66766         * modules/unlinkdir (Makefile.am): Likewise.
66767         * modules/userspec (Makefile.am): Likewise.
66768         * modules/utime (Makefile.am): Likewise.
66769         * modules/utimecmp (Makefile.am): Likewise.
66770         * modules/utimens (Makefile.am): Likewise.
66771         * modules/vasnprintf (Makefile.am): Likewise.
66772         * modules/vasprintf (Makefile.am): Likewise.
66773         * modules/vsnprintf (Makefile.am): Likewise.
66774         * modules/xalloc (Makefile.am): Likewise.
66775         * modules/xgetcwd (Makefile.am): Likewise.
66776         * modules/xnanosleep (Makefile.am): Likewise.
66777         * modules/xreadlink (Makefile.am): Likewise.
66778         * modules/xstrtod (Makefile.am): Likewise.
66779         * modules/xstrtol (Makefile.am): Likewise.
66780         * modules/xstrtold (Makefile.am): Likewise.
66781         * modules/yesno (Makefile.am): Likewise.
66782
66783 2006-10-12  Jim Meyering  <jim@meyering.net>
66784
66785         * m4/getloadavg.m4: Revert the change below.
66786
66787         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66788         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66789         fail with a symlink, which is what coreutils' ./bootstrap now
66790         creates by default.
66791
66792 2006-10-12  Bruno Haible  <bruno@clisp.org>
66793
66794         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66795         mingw.
66796         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66797         MSVC and mingw explicitly.
66798
66799 2006-10-11  Simon Josefsson  <jas@extundo.com>
66800             Bruno Haible  <bruno@clisp.org>
66801
66802         Add support for multiple gnulib-tool invocations in the scope of a
66803         single configure.ac file.
66804         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66805         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66806         with the same contents as the _LIBADD variable.
66807         (func_emit_initmacro_start, func_emit_initmacro_end,
66808         func_emit_initmacro_done): New functions.
66809         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66810         gl_LIBOBJS and gl_LTLIBOBJS.
66811
66812 2006-10-11  Bruno Haible  <bruno@clisp.org>
66813
66814         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66815         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66816         autoreconf. Instead, invoke autopoint explicitly but move back the
66817         *.m4 files from gnulib.
66818
66819 2006-10-11  Bruno Haible  <bruno@clisp.org>
66820
66821         * gnulib-tool (func_usage): Make module names after --create-testdir
66822         optional.
66823         (func_create_testdir): If no module was specified, use nearly all
66824         modules.
66825
66826 2006-10-12  Jim Meyering  <jim@meyering.net>
66827
66828         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66829         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66830         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66831         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66832         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66833         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66834         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66835         (fts_set_stat_required): New function.
66836         (fts_open): Defer the calls to fts_stat, if possible or requested.
66837         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66838         into fts_stat itself.
66839         (fts_read): Perform any required (deferred) fts_stat call.
66840         (fts_build): Likewise, for the directory we're about to open and read.
66841         In the readdir loop, carefully decide whether each entry will require
66842         an eventual call to fts_stat, using dirent.d_type info if available.
66843         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
66844         a command line argument into this function.  Update all callers.
66845         Map a return value of FTS_DOT to FTS_D for a command line argument.
66846         * modules/fts (Depends-on): Add d-type.  Alphabetize.
66847         Thanks to Miklos Szeredi for his tenacity and for the initial
66848         bug report about "find" failing on a FUSE-based file system.
66849
66850         * lib/fts.c (fts_open): Use consistent indentation.
66851
66852 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66853
66854         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
66855         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
66856         reported by Jim Meyering.  All uses of cache variables renamed
66857         to match Autoconf's.
66858         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
66859         the other one.
66860
66861         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
66862         Fix misspelling in diagnostic.
66863
66864 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66865
66866         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
66867         defined.  Problem reported by Matthew Woehlke.
66868
66869         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
66870         Add support for Tandem NonStop R series.
66871         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
66872         Use new macro.
66873
66874         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
66875         (has_trailing_slash): Omit size arg; all callers changed.
66876         Omit 'inline', since it doesn't help performance and we'd
66877         need to configure it.
66878         Don't count //, ///, etc. as having a trailing slash.
66879         As a side effect, this removes a C99ism reported by Matthew Woehlke.
66880         (rpl_rename_dest_slash): On failure, use rename's errno rather
66881         than (in some cases) an incorrect or junk errno.
66882         Simplify code by removing need to compute length; this does
66883         cause it to make two passes instead of one over the file name,
66884         but it's worth it.
66885
66886         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
66887         change, since Autoconf's version may no longer be appropriate now
66888         that we are using CVS Autoconf's version.  Add support for Tandem.
66889
66890 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66891             Bruno Haible  <bruno@clisp.org>
66892
66893         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
66894         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
66895         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
66896         gl_AC_TYPE_LONG_LONG.
66897
66898         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
66899         instead of HAVE_LONG_LONG.
66900         * lib/printf-args.c (printf_fetchargs): Likewise.
66901         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
66902         * lib/vasnprintf.c (VASNPRINTF): Likewise.
66903         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
66904         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
66905         gl_AC_TYPE_LONG_LONG.
66906
66907 2006-10-11  Bruno Haible  <bruno@clisp.org>
66908
66909         * m4/longlong.m4: Add comments.
66910         * m4/ulonglong.m4: Likewise.
66911
66912 2006-10-10  Bruno Haible  <bruno@clisp.org>
66913
66914         Make it possible to #define stpcpy, strdup to aliases.
66915         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
66916         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
66917
66918 2006-10-10  Bruno Haible  <bruno@clisp.org>
66919
66920         Make it possible to #define gcd to an alias.
66921         * lib/gcd.c: Include config.h.
66922
66923 2006-10-10  Bruno Haible  <bruno@clisp.org>
66924
66925         Make it possible to #define c_isascii to an alias.
66926         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
66927         defined. Undefine the macros before defining them, to avoid gcc
66928         warnings.
66929         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
66930         define NO_C_CTYPE_MACROS early.
66931
66932 2006-10-10  Bruno Haible  <bruno@clisp.org>
66933
66934         Make it possible to #define set_program_name to an alias.
66935         * lib/progname.c: Don't undefine set_program_name; instead, undefine
66936         ENABLE_RELOCATABLE early.
66937
66938 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66939
66940         Port to Tandem NSK OSS, which has 64-bit signed int but at most
66941         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
66942         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
66943         More generally, don't assume that 64-bit signed int is available
66944         if unsigned int is, and vice versa.
66945         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
66946         unsigned symbols, not on their signed counterparts.
66947         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
66948         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
66949         (UINT64_C, UINTMAX_C):
66950         Likewise.
66951         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
66952         unsigned counterparts.
66953         (Have_long_long, Unsigned): New macros.
66954         (Int): Renamed from INT.
66955         (strtoimax): Use the new macros.
66956         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
66957         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
66958         * modules/inttypes (inttypes.h): Substitute
66959         HAVE_UNSIGNED_LONG_LONG_INT.
66960         * modules/stdint (stdint.h): Likewise.
66961         (Files): Add m4/ulonglong.m4.
66962
66963 2006-10-10  Bruno Haible  <bruno@clisp.org>
66964
66965         Fix a gcc -Wshadow warning.
66966         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
66967         to 'bucket'.
66968         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
66969         gl_linked_indexof_from_to): Likewise.
66970         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
66971         Likewise.
66972         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
66973         Likewise.
66974         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
66975         Reported by Eric Blake.
66976
66977 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
66978
66979         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
66980         for NetBSD.  Problem reported by Bruno Haible.
66981
66982 2006-10-09  Jim Meyering  <jim@meyering.net>
66983
66984         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
66985         Patch from Bruno Haible.
66986
66987 2006-10-09  Jim Meyering  <jim@meyering.net>
66988
66989         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
66990         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
66991         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
66992
66993 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66994
66995         Don't include <config.h> twice; this doesn't work in some cases,
66996         e.g., when config.h has "#define intmax_t long long int" and
66997         we include <config.h>, <inttypes.h>, <config.h> in that order.
66998         Problem reported by Matthew Woehlke in:
66999         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
67000         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
67001         * lib/fts-cycle.c: Don't include config.h.
67002         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
67003         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
67004         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
67005         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
67006         inttypes.h.
67007         * lib/xstrtoumax.c: Likewise.
67008         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
67009         __strtol and the like, so that this module is more like its siblings.
67010         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
67011         Remove; no longer needed now that we assume gnulib inttypes.h.
67012
67013 2006-10-08  Bruno Haible  <bruno@clisp.org>
67014
67015         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
67016         option.
67017
67018 2006-10-07  Jim Meyering  <jim@meyering.net>
67019
67020         * modules/inttypes (inttypes.h): Revert what seems to have been
67021         an inadvertent part of today's change: use "|", not "/" in the
67022         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
67023
67024 2006-10-07  Bruno Haible  <bruno@clisp.org>
67025
67026         * modules/sublist: New file.
67027
67028 2006-10-07  Bruno Haible  <bruno@clisp.org>
67029
67030         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
67031         * modules/argz (argz.h): Likewise.
67032         * modules/arpa_inet (arpa/inet.h): Likewise.
67033         * modules/byteswap (byteswap.h): Likewise.
67034         * modules/configmake (configmake.h): Likewise.
67035         * modules/fcntl (fcntl.h): Likewise.
67036         * modules/fnmatch (fnmatch.h): Likewise.
67037         * modules/getopt (getopt.h): Likewise.
67038         * modules/glob (glob.h): Likewise.
67039         * modules/inttypes (inttypes.h): Likewise.
67040         * modules/netinet_in (netinet/in.h): Likewise.
67041         * modules/poll (poll.h): Likewise.
67042         * modules/stdbool (stdbool.h): Likewise.
67043         * modules/stdint (stdint.h): Likewise.
67044         * modules/sys_select (sys/select.h): Likewise.
67045         * modules/sys_socket (sys/socket.h): Likewise.
67046         * modules/sys_stat (sys/stat.h): Likewise.
67047         * modules/sysexits (sysexits.h): Likewise.
67048         * modules/unistd (unistd.h): Likewise.
67049         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67050         Add a "DO NOT EDIT" comment to the generated file.
67051         (func_import): Likewise for gnulib-comp.m4.
67052
67053 2006-10-07  Bruno Haible  <bruno@clisp.org>
67054
67055         * lib/gl_sublist.h: New file.
67056         * lib/gl_sublist.c: New file.
67057
67058 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67059
67060         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
67061         name (relative to the original working directory) and the file
67062         name component (relative to the temporary working directory).  All
67063         callers changed.
67064         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
67065         * lib/mkdir-p.c (make_dir_parents): Likewise.
67066         * lib/mkdir-p.h (make_dir_parents): Likewise.
67067
67068 2006-10-06  Eric Blake  <ebb9@byu.net>
67069
67070         Define several macros for use by the clean-temp module.
67071         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
67072         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
67073         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
67074
67075         * lib/clean-temp.h (close_stream_temp): New declaration.
67076         * lib/clean-temp.c (includes): Pull in headers according to what
67077         other modules are in use.
67078         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
67079
67080 2006-10-06  Bruno Haible  <bruno@clisp.org>
67081
67082         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
67083         instead of fopen, fwriteerror.
67084
67085 2006-10-06  Bruno Haible  <bruno@clisp.org>
67086
67087         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
67088         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
67089         int.
67090         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
67091         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
67092         Return an error indicator.
67093         Suggested by Eric Blake.
67094
67095 2006-10-06  Bruno Haible  <bruno@clisp.org>
67096
67097         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
67098         Reported by Eric Blake.
67099
67100 2006-10-06  Bruno Haible  <bruno@clisp.org>
67101
67102         * modules/closeout (Description): Mention stderr too.
67103
67104 2006-10-06  Bruno Haible  <bruno@clisp.org>
67105         and Paul Eggert  <eggert@cs.ucla.edu>
67106
67107         * lib/closeout.c (close_stdout): Also close stderr.
67108         * lib/closeout.h: Update comment.
67109
67110 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67111
67112         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
67113         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
67114         * lib/dirchownmod.c: Include lchown.h.
67115         * lib/lchown.c: Don't include files that lchown.h now includes.
67116         Don't declare chown, since lchown.h now does that.
67117         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
67118         (lchown): Define to rpl_chown if lchown is declared but
67119         does not exist.  Declare using a prototype if lchown is not
67120         declared.  Add a copyright notice.
67121         * lib/mkstemp.h: Include <unistd.h>.
67122         * lib/openat.c: Include lchown.h.
67123
67124         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
67125         we now test for that separately.
67126         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
67127         rather than O_NOFOLLOW, when testing whether it's possible to
67128         avoid a race condition reliably.
67129         * lib/savewd.c (savewd_chdir): Likewise.
67130
67131         Remove macros that are no longer needed now that stdint.h is
67132         reliable.
67133         * lib/fsusage.c (UINTMAX_MAX): Remove.
67134         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
67135         * lib/utimecmp.c (SIZE_MAX): Remove.
67136
67137         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
67138
67139         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
67140         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
67141         O_NOATIME works.
67142
67143 2006-10-05  Bruno Haible  <bruno@clisp.org>
67144
67145         * lib/gl_list.h (gl_sortedlist_search_from_to,
67146         gl_sortedlist_indexof_from_to): New declarations.
67147         (gl_list_implementation): New fields sortedlist_search_from_to,
67148         sortedlist_indexof_from_to.
67149         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
67150         inline functions.
67151         * lib/gl_list.c (gl_sortedlist_search_from_to,
67152         gl_sortedlist_indexof_from_to): New functions.
67153         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
67154         function.
67155         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
67156         (gl_array_sortedlist_search_from_to): New function.
67157         (gl_array_list_implementation): Update.
67158         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
67159         function.
67160         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
67161         (gl_carray_sortedlist_search_from_to): New function.
67162         (gl_carray_list_implementation): Update.
67163         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
67164         gl_linked_sortedlist_indexof_from_to): New functions.
67165         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67166         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67167         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
67168         gl_tree_sortedlist_indexof_from_to): New functions.
67169         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67170         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67171         Update.
67172         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67173         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
67174         Update.
67175
67176 2006-10-05  Bruno Haible  <bruno@clisp.org>
67177
67178         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
67179         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
67180         (struct gl_list_implementation): Add fields search_from_to,
67181         indexof_from_to. Remove fields search, indexof.
67182         (gl_list_search): Use the search_from_to method.
67183         (gl_list_search_from, gl_list_search_from_to): New functions.
67184         (gl_list_indexof): Use the indexof_from_to method.
67185         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67186         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
67187         (gl_list_search_from, gl_list_search_from_to): New functions.
67188         (gl_list_indexof): Use the indexof_from_to method.
67189         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67190         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
67191         gl_array_indexof. Add start_index, end_index arguments.
67192         (gl_array_search_from_to): Renamed from gl_array_search. Add
67193         start_index, end_index arguments.
67194         (gl_array_remove, gl_array_list_implementation): Update.
67195         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
67196         gl_carray_indexof. Add start_index, end_index arguments.
67197         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
67198         start_index, end_index arguments.
67199         (gl_carray_remove, gl_carray_list_implementation): Update.
67200         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
67201         gl_linked_search. Add start_index, end_index arguments.
67202         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
67203         start_index, end_index arguments.
67204         (gl_linked_remove): Update.
67205         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67206         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67207         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
67208         field to 'size_t'.
67209         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
67210         gl_tree_search. Add start_index, end_index arguments.
67211         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67212         start_index, end_index arguments.
67213         (gl_tree_remove): Update.
67214         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67215         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67216         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
67217         function.
67218         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
67219         gl_tree_search. Add start_index, end_index arguments.
67220         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67221         start_index, end_index arguments.
67222         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67223         Update.
67224         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
67225
67226 2006-10-05  Bruno Haible  <bruno@clisp.org>
67227
67228         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
67229
67230         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
67231         fwriteerror_temp): New declarations.
67232         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
67233         (descriptors): New variable.
67234         (cleanup): First, close the descriptors.
67235         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
67236         fclose_temp, fwriteerror_temp): New functions.
67237
67238 2006-10-04  Jim Meyering  <jim@meyering.net>
67239
67240         * lib/fts.c (fts_open): Tiny comment change.
67241
67242 2006-10-04  Bruno Haible  <bruno@clisp.org>
67243
67244         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
67245         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
67246         gl_LOCK_BODY.
67247         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
67248         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
67249         gl_LOCK_EARLY_BODY.
67250         (gl_LOCK): Require gl_LOCK_BODY.
67251
67252 2006-10-04  Bruno Haible  <bruno@clisp.org>
67253
67254         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
67255         (gl_oset_search_atleast): New declaration.
67256         (struct gl_oset_implementation): Add field 'search_atleast'.
67257         (gl_oset_search_atleast): New inline function.
67258         * lib/gl_oset.c (gl_oset_search_atleast): New function.
67259         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
67260         (gl_array_oset_implementation): Update.
67261         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
67262         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
67263         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
67264
67265 2006-10-04  Bruno Haible  <bruno@clisp.org>
67266
67267         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
67268
67269 2006-10-03  Bruno Haible  <bruno@clisp.org>
67270
67271         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
67272         from gl_avltreehash_list_implementation.
67273
67274 2006-10-03  Bruno Haible  <bruno@clisp.org>
67275
67276         * lib/gl_oset.c (gl_oset_add): Fix return type.
67277
67278 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
67279
67280         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
67281
67282 2006-10-02  Eric Blake  <ebb9@byu.net>
67283
67284         * modules/strnlen (Depends-on): Add extensions.
67285
67286 2006-10-02  Eric Blake  <ebb9@byu.net>
67287
67288         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
67289         definition in 2.60+.
67290
67291 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
67292
67293         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
67294         checks.
67295
67296 2006-10-02  Bruno Haible  <bruno@clisp.org>
67297
67298         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
67299         to the AUTOMAKE_OPTIONS.
67300         Reported by Jim Meyering.
67301
67302 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67303
67304         Work around bug in Solaris 10 /proc file system:
67305         /proc/self/fd/NNN/.. isn't the parent directory of
67306         the directory whose file descriptor is NNN.  This needs to
67307         be worked around at run time, not compile time, since a
67308         program might be built on Solaris 8, where things work, and
67309         run on Solaris 10.
67310         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
67311         to use the following interface instead:
67312         (OPENAT_BUFFER_SIZE): New macro.
67313         (openat_proc_name): New function.
67314         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
67315         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
67316         Likewise.
67317         * lib/openat-proc.c: New file.
67318         * modules/openat (Files): Add lib/openat-proc.c.
67319         (Depends-on): Add same-inode, stdbool.
67320         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
67321
67322 2006-09-29  Bruno Haible  <bruno@clisp.org>
67323
67324         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
67325         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
67326         argument. Set stdout_closed before testing for ferror, not after.
67327         (fwriteerror, fwriteerror_no_ebadf): New functions.
67328
67329 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67330
67331         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
67332
67333 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
67334
67335         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
67336         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
67337
67338 2006-09-28  Jim Meyering  <jim@meyering.net>
67339
67340         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
67341         Include <unistd.h>.
67342
67343 2006-09-28  Bruno Haible  <bruno@clisp.org>
67344
67345         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
67346         * modules/linkedhash-list (Depends-on): Likewise.
67347         * modules/rbtreehash-list (Depends-on): Likewise.
67348
67349 2006-09-28  Bruno Haible  <bruno@clisp.org>
67350
67351         * lib/strndup.h: Simplify the redefinition of strndup.
67352         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
67353         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
67354
67355 2006-09-28  Bruno Haible  <bruno@clisp.org>
67356
67357         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
67358         * lib/gl_linkedhash_list.c: Likewise.
67359         * lib/gl_rbtreehash_list.c: Likewise.
67360
67361 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67362
67363         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
67364         getaddrinfo.
67365
67366         * lib/__fpending.h: Don't include <stdio_ext.h> unless
67367         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
67368         it causes <stdio_ext.h> to cause a compile-time error.
67369         Problem reported by Nelson H. F. Beebe.
67370         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
67371         of HAVE_DECL___PENDING.
67372
67373         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
67374         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
67375         declaration.
67376
67377 2006-09-27  Jim Meyering  <jim@meyering.net>
67378
67379         This file could end up with a definition for a function
67380         named __strndup, rather than rpl_strndup on a system with
67381         incomplete weak_alias support.
67382         * lib/strndup.c (strndup): Rename from __strndup.
67383         Remove #defines that used to map __strndup to strndup.
67384         Don't use K&R prototypes.
67385         Remove LIBC-related code, since this file is not sync'd with glibc.
67386         * lib/strndup.h: Revamp, accordingly.
67387         * m4/strndup.m4: Modernize.
67388
67389 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67390
67391         * modules/savewd (Depends-on): Add 'raise'.
67392         * lib/savewd.c: Include <signal.h>, for 'raise'.
67393
67394 2006-09-26  Jim Meyering  <jim@meyering.net>
67395
67396         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
67397         when we detect Darwin 8.7.0's acl_get_file bug.
67398         Rearrange to perform the new (below) run-test while $LIBS
67399         contains any acl-related library.  Set USE_ACL at the end.
67400         (gl_ACL_GET_FILE): New function.
67401
67402 2006-09-26  Eric Blake  <ebb9@byu.net>
67403
67404         * lib/verror.c: Include <config.h> unconditionally.
67405
67406 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
67407
67408         * modules/clock-time (Maintainer): Add self.
67409         * modules/getlogin_r (Depends-on): Add extensions.
67410
67411 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67412
67413         * modules/clock-time: New module.
67414         * modules/nanosleep (Depends-on): Add clock-time.
67415         * modules/gethrxtime (Depends-on): Likewise.
67416         * modules/gettime (Depends-on): Likewise.
67417         * modules/settime (Depends-on): Likewise.
67418
67419         * modules/fts-lgpl: Depend on openat.
67420         * modules/mkancesdirs: Depend on savewd.
67421         * modules/mkdir-p: Likewise.
67422
67423 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67424
67425         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
67426
67427         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
67428         `gl_have_arbitrary_file_name_length_limit' to
67429         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67430         actually works between configure runs.
67431
67432 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67433             Bruno Haible  <bruno@clisp.org>
67434
67435         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67436
67437 2006-09-25  Jim Meyering  <jim@meyering.net>
67438
67439         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67440         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67441
67442 2006-09-25  Eric Blake  <ebb9@byu.net>
67443
67444         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67445         exec's in 2006-09-18 patch when shuffling fds.
67446
67447 2006-09-25  Bruno Haible  <bruno@clisp.org>
67448
67449         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67450         Reported by Jim Meyering.
67451
67452 2006-09-24  Jim Meyering  <jim@meyering.net>
67453
67454         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67455         compare a pointer against a literal "0".  That caused failures with
67456         at least HP-UX's hpcc.
67457
67458 2006-09-22  Simon Josefsson  <jas@extundo.com>
67459
67460         * modules/gc-sha1:
67461         * modules/gc-md4:
67462         * modules/gc-hmac-sha1:
67463         * modules/gc-hmac-md5:
67464         * modules/gc-des:
67465         * modules/gc-arcfour: Distribute more files.
67466
67467 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67468
67469         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67470         (gl_linked_iterator_from_to): Initialize struct completely.
67471         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67472         (gl_tree_iterator_from_to): Likewise
67473         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67474         * lib/gl_array_list.c [lint] (gl_array_iterator)
67475         (gl_array_iterator_from_to): Likewise.
67476         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67477         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67478         (gl_carray_iterator_from_to): Likewise.
67479
67480         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67481         * lib/md4.c (md4_process_block): Remove unused variable.
67482         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67483         parentheses for clarity.
67484
67485 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67486
67487         * modules/bison-i18n (Depends-on): Add gettext.
67488
67489 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67490
67491         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67492         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67493         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67494         also add missing comma that caused broken test.
67495         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67496         stdlib.h, for `abort'.
67497         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67498         variables.
67499         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67500         include unistd.h if present, for `rmdir'.
67501         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67502         variables.
67503         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67504         in the process include standard headers for prototypes.
67505         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67506         gets declared on GNU/Linux.
67507         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67508         unistd.h, for `rmdir'.
67509         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67510
67511         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67512         always true.
67513         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67514
67515         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67516
67517 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67518
67519         * gnulib-tool (func_version): Create output all at once.  This
67520         may help avoid triggering unnecessary SIGPIPEs, and at any
67521         rate it doesn't hurt.
67522
67523 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67524             Bruno Haible  <bruno@clisp.org>
67525
67526         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67527         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67528         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67529
67530         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67531         (gl_FUNC_VASPRINTF): Invoke it.
67532
67533 2006-09-22  Bruno Haible  <bruno@clisp.org>
67534
67535         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67536         getloadavg.c as first argument.
67537
67538 2006-09-22  Bruno Haible  <bruno@clisp.org>
67539
67540         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67541         at the beginning of the gl_INIT macro.
67542         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67543         gl_GETLOADAVG.
67544
67545 2006-09-22  Bruno Haible  <bruno@clisp.org>
67546
67547         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67548         module.
67549         Suggested by Ralf Wildenhues.
67550
67551 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67552
67553         Import this patch from libc:
67554
67555         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67556
67557         * lib/regex_internal.c (re_string_reconstruct): Handle
67558         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67559         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67560         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67561         re_string_context_at.
67562
67563         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67564         now requires it.
67565         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67566         gl_REGEX now does it for us.
67567         (gl_REGEX): Add test taken from
67568         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67569
67570         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67571         Check that large offsets work.  Modernize Autoconf usages.
67572         Prefer "yes" to mean a good thing rather than a bad.
67573         Don't put "#define mkstemp" in config.h, as this might interfere
67574         with standard system headers that "#define mkstemp mkstemp64".
67575
67576         * modules/mkstemp (Depends-on): Add extensions, so that
67577         mkstemp is visible on some platforms.
67578         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67579         (Include): Change to "mkstemp.h" from <stdlib.h>.
67580         (Files): Add mkstemp.h.
67581
67582         * lib/mkstemp.h: New file, since some standard headers
67583         #define mkstemp.
67584         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67585         Include "mkstemp.h".
67586         Make the _LIBC code resemble glibc original more,
67587         e.g., use K&R style.
67588         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67589         (mkstemp): Remove, since mkstemp.h does this for us.
67590         * lib/stdlib--.h: Include mkstemp.h.
67591
67592         Import this patch from libc:
67593
67594         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67595
67596         * lib/tempname.c (__gen_tempname): Change attempts_min
67597         into a macro.  Use preprocessor to decide how to initialize
67598         attempts [Coverity CID 67].
67599
67600 2006-09-20  Bruno Haible  <bruno@clisp.org>
67601
67602         * lib/mkdtemp.c: Import from libc.
67603         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67604                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67605                 attempts_min into a macro.  Use preprocessor to decide how to
67606                 initialize attempts [Coverity CID 67].
67607         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67608                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67609                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67610
67611 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67612
67613         * gnulib-tool (func_exit): New function, to allow to pass the
67614         exit status portably through the trap.  Use everywhere.
67615         (--help, --version): Signal a write error.
67616         (trap): catch SIGPIPE, for write errors.
67617         Exit at the end of the trap, with the correct exit status.
67618
67619 2006-09-19  Karl Berry  <karl@gnu.org>
67620
67621         * doc/gnulib.texi: note about the license texinfo files.
67622
67623 2006-09-19  Eric Blake  <ebb9@byu.net>
67624
67625         * gnulib-tool: Avoid space-tab.
67626
67627 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67628
67629         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67630         that prevented coreutils 6.1 from building.  Problem reported
67631         by Petter Reinholdtsen.
67632
67633 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67634
67635         * gnulib-tool (avoidlist): Fix typo that broke options like
67636         --avoid=lock that are used by coreutils bootstrap.
67637
67638 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67639
67640         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67641         more systematically.
67642
67643 2006-09-18  Jim Meyering  <jim@meyering.net>
67644
67645         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67646
67647 2006-09-18  Bruno Haible  <bruno@clisp.org>
67648
67649         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67650
67651 2006-09-18  Bruno Haible  <bruno@clisp.org>
67652
67653         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67654         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67655         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67656         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67657         * m4/gettext.m4: Require autoconf >= 2.52.
67658         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67659         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67660         of gl_cv_header_inttypes_h.
67661
67662 2006-09-18  Bruno Haible  <bruno@clisp.org>
67663
67664         * lib/javaversion.c: Include configmake.h.
67665
67666 2006-09-18  Bruno Haible  <bruno@clisp.org>
67667
67668         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67669         avoid that the while loops be executed in a subshell.
67670
67671 2006-09-18  Bruno Haible  <bruno@clisp.org>
67672
67673         * MODULES.html.sh (func_module): Break long lines.
67674         Suggested by Bruce Korb <bkorb@gnu.org>.
67675
67676 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67677
67678         Speed up by a factor of 1.12.
67679         * gnulib-tool (nl): New variable.
67680         (func_import): Rewrite include directive extraction to only read each
67681         directive once.
67682
67683 2006-09-17  Bruno Haible  <bruno@clisp.org>
67684
67685         * modules/javaversion (Makefile.am): Remove DEFS setting.
67686         (Depends-on): Add configmake, for PKGDATADIR definition.
67687
67688 2006-09-17  Bruno Haible  <bruno@clisp.org>
67689
67690         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67691
67692 2006-09-17  Bruno Haible  <bruno@clisp.org>
67693
67694         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67695         (func_modules_transitive_closure, func_modules_add_dummy,
67696         func_modules_to_filelist, func_import, func_create_testdir,
67697         func_create_megatestdir, ...): Use it wherever possible.
67698         Suggested by Ralf Wildenhues.
67699
67700 2006-09-16  Karl Berry  <karl@gnu.org>
67701
67702         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67703         to avoid sectioning errors.
67704         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67705         [ifinfo]: blank line after @center-ed titles.
67706         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67707         Spell FSF address consistently with others.
67708         (These changes approved by rms.)
67709
67710 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67711
67712         Speed up by a factor of 1.61.
67713         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67714         already checked module names again.
67715
67716 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67717
67718         Speed up by a factor of 1.13.
67719         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67720         for new_files, and the input to func_add_or_update.
67721
67722 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67723
67724         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67725         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67726
67727 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67728
67729         * modules/mkancesdirs (Depends-on): Add fcntl.
67730         * modules/savewd: New file.
67731         * MODULES.html.sh (File system functions): Add savewd.
67732
67733         * modules/configmake (Makefile.am): Add support for the
67734         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67735
67736 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67737
67738         * m4/savewd.m4: New file.
67739
67740 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67741
67742         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67743         (dirchownmod): New arg FD.  All callers changed.
67744         Use FD rather than opening the directory ourself, as opening is
67745         now the caller's responsibility.
67746         * lib/dirchownmod.h: Likewise.
67747         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67748         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67749         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67750         (test_dir): Remove.
67751         (mkancesdirs): Return length of prefix of FILE that has already
67752         been made, or -2 if there is a child doing the work.  Redo
67753         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67754         ".", and treat ".." specially since it might stray back into
67755         already-created areas.  Use a subprocess if necessary.  New arg
67756         WD; all users changed.  MAKE_DIR function should now return 1
67757         if it creates a directory that is not readable.  Return -2 if
67758         a child process is spun off.
67759         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67760         Adjust signature to match code.
67761         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67762         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67763         all users changed.
67764         * lib/savewd.c, lib/savewd.h: New files.
67765
67766 2006-09-15  Jim Meyering  <jim@meyering.net>
67767
67768         * modules/rename-dest-slash: New module.
67769         * MODULES.html.sh (posix_compat): Add it here.
67770
67771         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67772
67773 2006-09-15  Jim Meyering  <jim@meyering.net>
67774
67775         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67776         file.
67777
67778         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67779
67780 2006-09-15  Jim Meyering  <jim@meyering.net>
67781
67782         * lib/rename-dest-slash.c (has_trailing_slash): Use
67783         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67784         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67785         test before testing whether SRC is a directory.
67786         Suggestions from Bruno Haible.
67787
67788         Avoid a warning about an unused variable.
67789         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67790         into the #ifdef block where it's used.
67791
67792         * lib/rename-dest-slash.c: New file.
67793
67794 2006-09-14  Bruno Haible  <bruno@clisp.org>
67795
67796         * lib/allocsa.c: Include <config.h> unconditionally.
67797         * lib/asnprintf.c: Likewise.
67798         * lib/asprintf.c: Likewise.
67799         * lib/c-strcasecmp.c: Likewise.
67800         * lib/c-strcasestr.c: Likewise.
67801         * lib/c-strncasecmp.c: Likewise.
67802         * lib/c-strstr.c: Likewise.
67803         * lib/classpath.c: Likewise.
67804         * lib/clean-temp.c: Likewise.
67805         * lib/concatpath.c: Likewise.
67806         * lib/copy-file.c: Likewise.
67807         * lib/csharpcomp.c: Likewise.
67808         * lib/csharpexec.c: Likewise.
67809         * lib/execute.c: Likewise.
67810         * lib/fatal-signal.c: Likewise.
67811         * lib/findprog.c: Likewise.
67812         * lib/fwriteerror.c: Likewise.
67813         * lib/gl_array_list.c: Likewise.
67814         * lib/gl_array_oset.c: Likewise.
67815         * lib/gl_avltree_list.c: Likewise.
67816         * lib/gl_avltree_oset.c: Likewise.
67817         * lib/gl_avltreehash_list.c: Likewise.
67818         * lib/gl_carray_list.c: Likewise.
67819         * lib/gl_linked_list.c: Likewise.
67820         * lib/gl_linkedhash_list.c: Likewise.
67821         * lib/gl_list.c: Likewise.
67822         * lib/gl_oset.c: Likewise.
67823         * lib/gl_rbtree_list.c: Likewise.
67824         * lib/gl_rbtree_oset.c: Likewise.
67825         * lib/gl_rbtreehash_list.c: Likewise.
67826         * lib/imaxabs.c: Likewise.
67827         * lib/imaxdiv.c: Likewise.
67828         * lib/javacomp.c: Likewise.
67829         * lib/javaexec.c: Likewise.
67830         * lib/javaversion.c: Likewise.
67831         * lib/linebreak.c: Likewise.
67832         * lib/localcharset.c: Likewise.
67833         * lib/lock.c: Likewise.
67834         * lib/mbchar.c: Likewise.
67835         * lib/mbswidth.c: Likewise.
67836         * lib/mkdtemp.c: Likewise.
67837         * lib/pipe.c: Likewise.
67838         * lib/printf-args.c: Likewise.
67839         * lib/printf-parse.c: Likewise.
67840         * lib/progname.c: Likewise.
67841         * lib/progreloc.c: Likewise.
67842         * lib/readlink.c: Likewise.
67843         * lib/sh-quote.c: Likewise.
67844         * lib/stpcpy.c: Likewise.
67845         * lib/stpncpy.c: Likewise.
67846         * lib/strcasecmp.c: Likewise.
67847         * lib/strcasestr.c: Likewise.
67848         * lib/strcspn.c: Likewise.
67849         * lib/striconv.c: Likewise.
67850         * lib/strncasecmp.c: Likewise.
67851         * lib/strnlen1.c: Likewise.
67852         * lib/strstr.c: Likewise.
67853         * lib/strtok_r.c: Likewise.
67854         * lib/tls.c: Likewise.
67855         * lib/tmpdir.c: Likewise.
67856         * lib/unicodeio.c: Likewise.
67857         * lib/unsetenv.c: Likewise.
67858         * lib/vasnprintf.c: Likewise.
67859         * lib/vasprintf.c: Likewise.
67860         * lib/wait-process.c: Likewise.
67861         * lib/xallocsa.c: Likewise.
67862         * lib/xsetenv.c: Likewise.
67863         * lib/xstriconv.c: Likewise.
67864
67865 2006-09-13  Simon Josefsson  <jas@extundo.com>
67866
67867         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
67868         that internally, suggested by Ralf Wildenhues
67869         <Ralf.Wildenhues@gmx.de>.
67870
67871 2006-09-13  Simon Josefsson  <jas@extundo.com>
67872
67873         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
67874         @LIBOBJS@.
67875         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67876
67877 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67878
67879         * lib/_fpending.c: Include <config.h> unconditionally, since we no
67880         longer worry about uses that don't define HAVE_CONFIG_H.
67881         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
67882         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
67883         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
67884         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
67885         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
67886         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
67887         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
67888         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
67889         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
67890         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
67891         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
67892         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
67893         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
67894         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
67895         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
67896         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
67897         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
67898         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
67899         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
67900         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
67901         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
67902         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
67903         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
67904         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
67905         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
67906         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
67907         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
67908         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
67909         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
67910         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
67911         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
67912         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
67913         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
67914         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
67915         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
67916         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
67917         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
67918         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
67919         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
67920         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
67921         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
67922         Likewise.
67923
67924 2006-09-13  Eric Blake  <ebb9@byu.net>
67925
67926         * lib/getopt.c: Fix typo in last commit.
67927
67928 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67929
67930         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
67931         dgettext.
67932
67933 2006-09-12  Jim Meyering  <jim@meyering.net>
67934
67935         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
67936         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
67937         Reported by Nelson H. F. Beebe.
67938
67939 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67940
67941         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
67942         program_invocation_name and program_invocation_short_name are
67943         initialized.
67944         * lib/argp-namefrob.h: Move declarations of program_invocation_name
67945         and program_invocation_short_name to argp.h, so they are visible
67946         to user programs.
67947         * lib/argp.h: Likewise
67948
67949 2006-09-10  Bruno Haible  <bruno@clisp.org>
67950
67951         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
67952         m4/inttypes_h.m4, m4/uintmax_t.m4.
67953
67954 2006-09-10  Bruno Haible  <bruno@clisp.org>
67955
67956         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
67957         gl_AC_TYPE_UINTMAX_T.
67958
67959 2006-09-10  Bruno Haible  <bruno@clisp.org>
67960
67961         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
67962
67963 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67964
67965         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
67966         convention.  Text proposed by Bruno Haible.
67967         (struct argp_option): Document the use of N_() wrappers.
67968
67969         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
67970         '\v', and translate the two parts separately, instead of feeding
67971         the whole string to gettext.  This allows to exclude
67972         '\v' from the strings visible to the translator by writing doc
67973         strings as N_("..") "\v" N_("..").
67974
67975 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
67976
67977         * config/srclist.txt: Undo latest change; the bug was fixed.
67978
67979 2006-09-09  Bruno Haible  <bruno@clisp.org>
67980
67981         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
67982         assignments if building a library without libtool.
67983         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
67984         in func_emit_lib_Makefile_am.
67985         (func_import): When building a static library libfoo.a, arrange to
67986         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
67987         (func_create_testdir): Likewise.
67988         * modules/gc (configure.ac, Makefile.am): If building statically,
67989         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
67990         * modules/iconvme (configure.ac, Makefile.am): Likewise.
67991         * modules/striconv (configure.ac, Makefile.am): Likewise.
67992         Based on a suggestion by Ralf Wildenhues.
67993
67994 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67995
67996         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67997         Check for unistd.h too, since Autoconf doesn't assume POSIX.
67998         Also:
67999
68000         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68001         Add year_2050_test to catch glibc bug 2821
68002         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68003
68004         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68005         Prefer #ifdef to #if.
68006
68007         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
68008         Return from 'main' instead of calling 'exit'.
68009
68010 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68011
68012         * lib/mktime.c (guess_time_tm): Fix bug where mktime
68013         returned the maximum time_t value rather than (time_t) -1.
68014         Problem originally reported by William Bardwell
68015         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68016
68017         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68018         Moved to here ...
68019         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68020         ... from here.
68021
68022 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68023
68024         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
68025         2821 is fixed.
68026
68027 2006-09-08  Jim Meyering  <jim@meyering.net>
68028
68029         Don't make generated files read-only.  That would bother too many
68030         people.  However, do retain the ability to work when targets are
68031         read-only: remove the destination and temporary files before writing
68032         them (when generated via sed or echo), or by using the -f option for
68033         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
68034         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68035         * modules/byteswap, modules/configmake, modules/fcntl:
68036         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68037         * modules/localcharset, modules/netinet_in, modules/poll:
68038         * modules/stdbool, modules/stdint, modules/sys_select:
68039         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68040
68041 2006-09-08  Jim Meyering  <jim@meyering.net>
68042
68043         Avoid new build failure on FreeBSD 6.0.
68044         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
68045         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
68046         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
68047
68048 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68049
68050         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
68051
68052 2006-09-07  Jim Meyering  <jim@meyering.net>
68053
68054         Fix global typo in last change: use chmod u-w, not chmod u-x.
68055         Spotted by Paul Eggert and Bruce Korb.
68056         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68057         * modules/byteswap, modules/configmake, modules/fcntl:
68058         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68059         * modules/localcharset, modules/netinet_in, modules/poll:
68060         * modules/stdbool, modules/stdint, modules/sys_select:
68061         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68062
68063 2006-09-06  Jim Meyering  <jim@meyering.net>
68064
68065         Make generated files be read-only.
68066         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
68067         Ensure that each generated file is now read-only.
68068         * modules/argz: Likewise.
68069         * modules/arpa_inet: Likewise.
68070         * modules/byteswap: Likewise.
68071         * modules/configmake: Likewise.
68072         * modules/fcntl: Likewise.
68073         * modules/fnmatch: Likewise.
68074         * modules/getopt: Likewise.
68075         * modules/glob: Likewise.
68076         * modules/inttypes: Likewise.
68077         * modules/netinet_in: Likewise.
68078         * modules/poll: Likewise.
68079         * modules/stdbool: Likewise.
68080         * modules/stdint: Likewise.
68081         * modules/sys_select: Likewise.
68082         * modules/sys_socket: Likewise.
68083         * modules/sys_stat: Likewise.
68084         * modules/sysexits: Likewise.
68085         * modules/localcharset: Same as above, but continue using temporary
68086         file named "t-$@" (why different?) rather than the "$@-t" used
68087         everywhere else.
68088
68089         * modules/sysexits (Makefile.am): Replace literal occurrences
68090         of "sysexit.h" more readable, and more consistent, "$@".
68091
68092 2006-09-06  Bruno Haible  <bruno@clisp.org>
68093
68094         * modules/striconv: New file.
68095         * modules/xstriconv: New file.
68096         * MODULES.html.sh (Internationalization functions): Add striconv,
68097         xstriconv.
68098
68099 2006-09-06  Bruno Haible  <bruno@clisp.org>
68100
68101         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
68102         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
68103         not using libtool correctly.
68104
68105 2006-09-06  Bruno Haible  <bruno@clisp.org>
68106
68107         * lib/striconv.h: New file.
68108         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
68109         iconvstring.c.
68110         * lib/xstriconv.h: New file.
68111         * lib/xstriconv.c: New file.
68112
68113 2006-09-06  Bruno Haible  <bruno@clisp.org>
68114
68115         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68116         lib_..._LDFLAGS.
68117
68118 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68119
68120         * lib/argz_.h: Sync from Libtool.
68121
68122         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
68123                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68124
68125         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
68126
68127 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68128
68129         * modules/trim: New file.
68130
68131 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68132
68133         * lib/trim.h: New file.
68134         * lib/trim.c: New file.
68135
68136 2006-09-05  Bruno Haible  <bruno@clisp.org>
68137
68138         * MODULES.html.sh (String handling): Add trim.
68139
68140 2006-09-04  Karl Berry  <karl@gnu.org>
68141
68142         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
68143         until next release.
68144
68145 2006-09-03  Bruno Haible  <bruno@clisp.org>
68146
68147         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
68148         correctly.
68149
68150 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68151
68152         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
68153         not gl_GETLOADAVG.  Omit unneeded semicolons.
68154         Problems reported by Ralf Wildenhues in
68155         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68156         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
68157         at the end, which is the usual gnulib style.
68158
68159         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
68160         of doing all the work ourselves.
68161         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
68162         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
68163
68164 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68165
68166         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
68167         Problem reported by Ralf Wildenhues in
68168         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68169
68170         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
68171         HAVE_STRUCT_STATFS_F_FSTYPENAME.
68172
68173 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68174
68175         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
68176         yesterday's patch by changing test -n to test -z.
68177
68178 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68179
68180         * modules/getloadavg (Files): Add m4/getloadavg.m4.
68181         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
68182         the former is now obsolescent.
68183
68184         * modules/chdir-long (Depends-on): Add fcntl.
68185
68186 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68187
68188         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
68189         obsolescent, and programs should use gnulib instead.
68190         * m4/getloadavg.m4: New file, with contents taken from Autoconf
68191         but with prefixes changed.
68192
68193 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68194
68195         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
68196         or stdbool.h, because they might not exist while configuring.
68197
68198         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
68199         Don't include unistd.h or limits.h; not needed, since chdir-long.h
68200         does that for us.
68201         (O_DIRECTORY): Remove.
68202
68203 2006-08-31  Eric Blake  <ebb9@byu.net>
68204
68205         * gnulib-tool: Don't let emacs change spaces to TAB.
68206
68207 2006-08-31  Bruno Haible  <bruno@clisp.org>
68208
68209         * gnulib-tool: When calling func_import more than once, do it in a
68210         subshell.
68211         Reported by Eric Blake <ebb9@byu.net>.
68212
68213 2006-08-31  Bruno Haible  <bruno@clisp.org>
68214
68215         * gnulib-tool (nl): Remove variable.
68216         (sed_transform_lib_file): Use more robust test for config-h module.
68217         (func_import): Fix typo in 2006-08-25 patch.
68218
68219 2006-08-31  Bruno Haible  <bruno@clisp.org>
68220
68221         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
68222         specified, augment Makefile.am variables instead of assigning them.
68223
68224 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68225
68226         Work around a bug in both the Linux and SunOS 64-bit kernels:
68227         nanosleep mishandles sleeps for longer than 2**31 seconds.
68228         Problem reported by Frank v Waveren in
68229         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68230         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
68231         Check for nanosleep bug.
68232         (LIB_NANOSLEEP): Append clock_gettime library if needed.
68233
68234 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68235
68236         Work around a bug in both the Linux and SunOS 64-bit kernels:
68237         nanosleep mishandles sleeps for longer than 2**31 seconds.
68238         Problem reported by Frank v Waveren in
68239         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68240         * lib/nanosleep.c (BILLION): New constant.
68241         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
68242         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
68243         implementation.
68244
68245 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68246
68247         * modules/nanosleep (Depends-on): Add gettime.
68248
68249 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68250         and Simon Josefsson  <jas@extundo.com>
68251         and Oskar Liljeblad  <oskar@osk.mine.nu>
68252
68253         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
68254         * gnulib-tool (func_import): New license type 'unmodifiable license
68255         text'.
68256         * modules/fdl: Use it.  Longer description.
68257         * module/gpl, module/lgpl: New files.
68258
68259 2006-08-30  Jim Meyering  <jim@meyering.net>
68260
68261         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
68262         shadowing the parameter.
68263
68264 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68265
68266         Sync from Libtool:
68267
68268         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68269
68270         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
68271         sharing with gnulib.  Report by Eric Blake.
68272
68273 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68274
68275         * modules/isapipe: New file.
68276         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
68277
68278 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68279
68280         * modules/configmake (Makefile.am): Add a comment, and omit
68281         the CONFIGMAKE_ prefix from generated macro names.  Suggested
68282         by Bruno Haible.
68283
68284 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68285
68286         * m4/isapipe.m4: New file.
68287
68288 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68289
68290         * lib/isapipe.c, lib/isapipe.h: New files.
68291
68292 2006-08-29  Jim Meyering  <jim@meyering.net>
68293
68294         * modules/configmake (Makefile.am): Make configmake.h depend on
68295         Makefile.  Otherwise, a stale configmake.h could hang around.
68296
68297 2006-08-29  Eric Blake  <ebb9@byu.net>
68298
68299         * lib/error.c (error_at_line, print_errno_message): Match libc, after
68300         resolution of upstream bug 3044.
68301
68302 2006-08-29  Bruno Haible  <bruno@clisp.org>
68303
68304         * modules/localcharset (Depends-on): Add configmake.
68305         (Makefile.am): Remove setting of LIBDIR through DEFS.
68306
68307 2006-08-29  Bruno Haible  <bruno@clisp.org>
68308
68309         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
68310         defined.
68311
68312 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68313
68314         * modules/fcntl: New file.
68315         * modules/chdir-safer (Depends-on): Add fcntl.
68316         * modules/fts: Likewise.
68317         * modules/mkdir-p: Likewise.
68318
68319         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
68320         This undoes the most recent change, since we're now addressing the
68321         problem in a different way.
68322
68323         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
68324         into output, since the output might be called Makefile.am even
68325         if $makefile_name is something different.
68326         (func_import): Use $makefile_am rather than
68327         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
68328         empty.
68329
68330         * modules/inttypes (Files): Add m4/inttypes-h.m4.
68331
68332 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68333
68334         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
68335         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
68336         recent change to stdint.m4, since we're now addressing the problem in a
68337         different way.
68338
68339 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68340
68341         * m4/fcntl_h.m4: New file.
68342
68343 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68344
68345         * lib/fcntl_.h: New file.
68346         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
68347         the fcntl module.
68348         * lib/dirchownmod.c: Likewise.
68349         * lib/fts.c: Likewise.
68350
68351         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
68352         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
68353         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
68354         just before including <inttypes.h>, to avoid circular inclusion.
68355
68356 2006-08-28  Jim Meyering  <jim@meyering.net>
68357
68358         * doc/visibility.texi: Actually read and correct the grammar of the
68359         sentence affected by yesterday's change.
68360
68361 2006-08-28  Eric Blake  <ebb9@byu.net>
68362
68363         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
68364         needs wrapper.
68365
68366 2006-08-28  Eric Blake  <ebb9@byu.net>
68367
68368         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
68369
68370 2006-08-28  Eric Blake  <ebb9@byu.net>
68371
68372         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
68373
68374 2006-08-28  Bruno Haible  <bruno@clisp.org>
68375
68376         * modules/c-strstr: New file, from GNU gettext.
68377         * MODULES.html.sh (String handling): Add c-strstr.
68378
68379 2006-08-28  Bruno Haible  <bruno@clisp.org>
68380
68381         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
68382         macros.
68383         Reported by Eric Blake.
68384
68385 2006-08-28  Bruno Haible  <bruno@clisp.org>
68386
68387         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
68388         (VASNPRINTF): Return a string of length > INT_MAX without failing.
68389         * lib/vasprintf.c: Include errno.h, limits.h.
68390         (EOVERFLOW): New fallback definition.
68391         (vasprintf): Test here whether the string length is > INT_MAX.
68392         * lib/vsnprintf.c: Include errno.h, limits.h.
68393         (EOVERFLOW): New fallback definition.
68394         (vsnprintf): Fix bug when generated string was too long for the buffer.
68395         Test here whether the string length is > INT_MAX.
68396
68397 2006-08-28  Bruno Haible  <bruno@clisp.org>
68398
68399         * lib/inttypes_.h (SCNX*): Remove definitions.
68400         Reported by Eric Blake.
68401
68402 2006-08-28  Bruno Haible  <bruno@clisp.org>
68403
68404         * lib/c-strstr.h: New file, from GNU gettext.
68405         * lib/c-strstr.c: New file, from GNU gettext.
68406
68407 2006-08-28  Bruno Haible  <bruno@clisp.org>
68408
68409         * gnulib-tool: Reorder some statements.
68410
68411 2006-08-28  Bruno Haible  <bruno@clisp.org>
68412
68413         * gnulib-tool: New option --makefile-name.
68414         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
68415         $makefile_name.
68416         (func_import): Write $makefile_name to the cache file, and read it from
68417         there unless explicitly specified. Use $makefile_name as file name
68418         instead of Makefile.am. Adjust the recommendations accordingly.
68419
68420 2006-08-28  Bruno Haible  <bruno@clisp.org>
68421
68422         * gnulib-tool (func_verify_module): Check against misapplying patch.
68423
68424 2006-08-28  Bruno Haible  <bruno@clisp.org>
68425
68426         * gnulib-tool (func_relativize, func_relconcat): New functions.
68427         Give an error if --local-dir is given with --update.
68428         Remove trailing slashes from $local_gnulib_dir.
68429         (func_import): Store the relativized $local_gnulib_dir in
68430         gnulib-cache.m4, and read it from there if not specified explicitly.
68431
68432 2006-08-28  Bruno Haible  <bruno@clisp.org>
68433
68434         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68435         is the current directory. Respect also $local_gnulib_dir.
68436
68437 2006-08-28  Bruno Haible  <bruno@clisp.org>
68438             Simon Josefsson  <jas@extundo.com>
68439
68440         BeOS portability.
68441         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68442
68443 2006-08-27  Jim Meyering  <jim@meyering.net>
68444
68445         * doc/visibility.texi: Remove duplicate word: "pointer".
68446
68447 2006-08-26  Bruno Haible  <bruno@clisp.org>
68448
68449         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68450         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68451         (Makefile.am): Create inttypes.h from inttypes_.h.
68452         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68453
68454         * modules/imaxabs: New file.
68455
68456         * modules/imaxdiv: New file.
68457
68458 2006-08-26  Bruno Haible  <bruno@clisp.org>
68459
68460         * m4/inttypes.m4: New file.
68461         * m4/_inttypes_h.m4: Remove file.
68462         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68463         PRI_MACROS_BROKEN.
68464         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68465
68466         * m4/imaxabs.m4: New file.
68467
68468         * m4/imaxdiv.m4: New file.
68469
68470 2006-08-26  Bruno Haible  <bruno@clisp.org>
68471
68472         * lib/inttypes_.h: New file.
68473         * lib/inttypes.h: Remove file.
68474         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68475
68476         * lib/imaxabs.c: New file.
68477
68478         * lib/imaxdiv.c: New file.
68479
68480 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68481
68482         New config-h module, so that "make" output needn't be cluttered
68483         by -DHAVE_CONFIG_H.
68484         * MODULES.html.sh (Support for building libraries and executables):
68485         Add config-h.
68486         * modules/config-h: New file.
68487         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68488         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68489         the config-h module is used.
68490
68491         New configmake module, so that "make" output needn't be cluttered
68492         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68493         * MODULES.html.sh (Support for building libraries and executables):
68494         Add configmake.
68495         * modules/configmake: New file.
68496
68497 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68498
68499         * m4/config-h.m4: New file.
68500
68501 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68502
68503         * config/srclist.txt: Add elisp-comp.
68504
68505 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68506
68507         * MODULES.html.sh (Support for building libraries and executables):
68508         Add elisp-comp.
68509         * build-aux/elisp-comp: New file.
68510         * modules/elisp-comp: New file.
68511
68512 2006-08-24  Bruno Haible  <bruno@clisp.org>
68513
68514         * gnulib-tool (func_create_testdir): Use non-default values of
68515         sourcebase and m4base.
68516
68517 2006-08-24  Bruno Haible  <bruno@clisp.org>
68518
68519         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68520         HTML structure.
68521
68522 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68523
68524         * modules/openat (Depends-on): Add lchown.
68525
68526 2006-08-23  Bruno Haible  <bruno@clisp.org>
68527
68528         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68529         of gl_LOCK_EARLY instead of gl_LOCK.
68530
68531 2006-08-23  Bruno Haible  <bruno@clisp.org>
68532
68533         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68534         on OSF/1 to no.
68535         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68536
68537 2006-08-23  Bruno Haible  <bruno@clisp.org>
68538
68539         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68540         as unusable.
68541
68542         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68543         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68544         (gl_LOCK): New macro.
68545
68546 2006-08-22  Simon Josefsson  <jas@extundo.com>
68547
68548         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68549         to md5 module.
68550
68551 2006-08-22  Simon Josefsson  <jas@extundo.com>
68552
68553         * MODULES.html.sh: Add "Support for maintaining and release
68554         projects".
68555
68556         * build-aux/gnupload: New file, from coreutils.
68557
68558 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68559
68560         Avoid the need for AC_LIBSOURCES in m4 macros.
68561         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68562         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68563         * modules/check-version (EXTRA_DIST): Add check-version.h.
68564         * modules/crc (EXTRA_DIST): Add crc.h.
68565         * modules/des (EXTRA_DIST): Add des.h.
68566         * modules/gc (EXTRA_DIST): Add gc.h.
68567         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68568         * modules/getline (EXTRA_DIST): Add getline.h.
68569         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68570         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68571         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68572         * modules/md2 (EXTRA_DIST): Add md2.h.
68573         * modules/md4 (EXTRA_DIST): Add md4.h.
68574         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68575         * modules/read-file (EXTRA_DIST): Add read-file.h.
68576         * modules/readline (EXTRA_DIST): Add readline.h.
68577         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68578         rijndael-api-fst.h.
68579
68580 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68581
68582         * m4/rijndael.m4 (gl_ARCFOUR):
68583         * m4/arctwo.m4 (gl_ARCTWO):
68584         * m4/check-version.m4 (gl_CHECK_VERSION):
68585         * m4/crc.m4 (gl_CRC):
68586         * m4/des.m4 (gl_DES):
68587         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68588         * m4/gc.m4 (gl_GC):
68589         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68590         * m4/getline.m4 (gl_FUNC_GETLINE):
68591         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68592         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68593         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68594         * m4/md2.m4 (gl_MD2):
68595         * m4/md4.m4 (gl_MD4):
68596         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68597         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68598         * m4/readline.m4 (gl_FUNC_READLINE):
68599         * m4/rijndael.m4 (gl_RIJNDAEL):
68600         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68601         to get the necessary .h files and whatnot.
68602
68603 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68604
68605         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68606         gnulib rather than the other way around.
68607         * config/srclistvars.sh (COREUTILS): Remove.
68608
68609 2006-08-22  Jim Meyering  <jim@meyering.net>
68610
68611         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68612
68613         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68614
68615 2006-08-22  Eric Blake  <ebb9@byu.net>
68616
68617         * modules/regexprops-generic: New file.
68618         * MODULES.html.sh (Support for building documentation): List it.
68619
68620 2006-08-22  Eric Blake  <ebb9@byu.net>
68621
68622         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68623         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68624         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68625         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68626
68627 2006-08-22  Bruno Haible  <bruno@clisp.org>
68628
68629         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68630         and lib_LTLIBRARIES like the other lib_* variables.
68631
68632 2006-08-22  Bruno Haible  <bruno@clisp.org>
68633
68634         * build-aux/x-to-1.in: New file, from GNU gettext.
68635
68636 2006-08-22  Bruno Haible  <bruno@clisp.org>
68637
68638         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68639         <utmpx.h> exists.
68640
68641 2006-08-22  Bruno Haible  <bruno@clisp.org>
68642
68643         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68644         <utmpx.h> exists.
68645
68646 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68647
68648         BeOS portability.
68649         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68650         exist.
68651         Problem reported by Bruno Haible.
68652
68653 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68654
68655         Avoid the need for AC_LIBSOURCES in m4 macros.
68656         * modules/acl (EXTRA_DIST): Add acl.h.
68657         * modules/argmatch (Files): Add m4/argmatch.m4.
68658         (configure.ac): Add gl_ARGMATCH.
68659         (EXTRA_DIST): Renamed from lib_SOURCES, for
68660         consistency with the other modules.  Remove argmatch.c.
68661         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68662         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68663         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68664         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68665         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68666         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68667         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68668         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68669         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68670         * modules/closeout (EXTRA_DIST): Add closeout.h.
68671         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68672         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68673         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68674         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68675         dirname.h; remove basename.c and stripslash.c.
68676         * modules/exclude (EXTRA_DIST): Add exclude.h.
68677         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68678         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68679         * modules/file-type (EXTRA_DIST): Add file-type.h.
68680         * modules/filemode (EXTRA_DIST): Add filemode.h.
68681         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68682         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68683         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68684         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68685         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68686         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68687         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68688         * modules/getdate (EXTRA_DIST): Add getdate.c.
68689         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68690         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68691         * modules/getpass (EXTRA_DIST): Add getpass.h.
68692         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68693         * modules/group-member (EXTRA_DIST): Add group-member.h.
68694         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68695         * modules/hash (EXTRA_DIST): Add hash.h.
68696         * modules/human (EXTRA_DIST): Add human.h.
68697         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68698         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68699         * modules/lchown (EXTRA_DIST): Add lchown.h.
68700         * modules/long-options (EXTRA_DIST): Add long-options.h.
68701         * modules/lstat (EXTRA_DIST): Add lstat.h.
68702         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68703         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68704         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68705         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68706         * modules/memxor (EXTRA_DIST): Add memxor.h.
68707         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68708         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68709         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68710         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68711         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68712         * modules/physmem (EXTRA_DIST): Add physmem.h.
68713         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68714         * modules/posixver (EXTRA_DIST): Add posixver.h.
68715         * modules/quote (EXTRA_DIST): Add quote.h.
68716         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68717         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68718         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68719         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68720         regex_internal.h regexec.c.
68721         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68722         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68723         * modules/same (EXTRA_DIST): Add same.h.
68724         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68725         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68726         * modules/savedir (EXTRA_DIST): Add savedir.h.
68727         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68728         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68729         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68730         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68731         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68732         * modules/strdup (EXTRA_DIST): Add strdup.h.
68733         * modules/strftime (EXTRA_DIST): Add strftime.h.
68734         * modules/strndup (EXTRA_DIST): Add strndup.h.
68735         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68736         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68737         * modules/time_r (EXTRA_DIST): Add time_r.h.
68738         * modules/timespec (EXTRA_DIST): Add timespec.h.
68739         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68740         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68741         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68742         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68743         * modules/userspec (EXTRA_DIST): Add userspec.h.
68744         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68745         * modules/utimens (EXTRA_DIST): Add utimens.h.
68746         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68747         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68748         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68749         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68750         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68751         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68752         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68753         * modules/yesno (EXTRA_DIST): Add yesno.h.
68754
68755 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68756
68757         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68758
68759         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68760         * m4/dev-ino.m4, same-inode.m4: Remove.
68761
68762         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68763         * m4/acl.m4 (AC_FUNC_ACL):
68764         * m4/backupfile.m4 (gl_BACKUPFILE):
68765         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68766         * m4/canon-host.m4 (gl_CANON_HOST):
68767         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68768         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68769         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68770         * m4/cloexec.m4 (gl_CLOEXEC):
68771         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68772         * m4/closeout.m4 (gl_CLOSEOUT):
68773         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68774         * m4/dirname.m4 (gl_DIRNAME):
68775         * m4/exclude.m4 (gl_EXCLUDE):
68776         * m4/exitfail.m4 (gl_EXITFAIL):
68777         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68778         * m4/file-type.m4 (gl_FILE_TYPE):
68779         * m4/filemode.m4 (gl_FILEMODE):
68780         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68781         * m4/fpending.m4 (gl_FUNC_FPENDING):
68782         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68783         * m4/fts.m4 (gl_FUNC_FTS):
68784         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68785         * m4/getdate.m4 (gl_GETDATE):
68786         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68787         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68788         * m4/getpass.m4 (gl_FUNC_GETPASS):
68789         * m4/gettime.m4 (gl_GETTIME):
68790         * m4/getugroups.m4 (gl_GETUGROUPS):
68791         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68792         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68793         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68794         * m4/hash.m4 (gl_HASH):
68795         * m4/idcache.m4 (gl_IDCACHE):
68796         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68797         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68798         * m4/long-options.m4 (gl_LONG_OPTIONS):
68799         * m4/lstat.m4 (gl_FUNC_LSTAT):
68800         * m4/md5.m4 (gl_MD5):
68801         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68802         * m4/memcoll.m4 (gl_MEMCOLL):
68803         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68804         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68805         * m4/memxor.m4 (gl_MEMXOR):
68806         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68807         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68808         * m4/modechange.m4 (gl_MODECHANGE):
68809         * m4/mountlist.m4 (gl_MOUNTLIST):
68810         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68811         * m4/openat.m4 (gl_FUNC_OPENAT):
68812         * m4/pathmax.m4 (gl_PATHMAX):
68813         * m4/physmem.m4 (gl_PHYSMEM):
68814         * m4/posixtm.m4 (gl_POSIXTM):
68815         * m4/posixver.m4 (gl_POSIXVER):
68816         * m4/quote.m4 (gl_QUOTE):
68817         * m4/quotearg.m4 (gl_QUOTEARG):
68818         * m4/readtokens.m4 (gl_READTOKENS):
68819         * m4/readutmp.m4 (gl_READUTMP):
68820         * m4/regex.m4 (gl_REGEX):
68821         * m4/safe-read.m4 (gl_SAFE_READ):
68822         * m4/safe-write.m4 (gl_SAFE_WRITE):
68823         * m4/same.m4 (gl_SAME):
68824         * m4/save-cwd.m4 (gl_SAVE_CWD):
68825         * m4/savedir.m4 (gl_SAVEDIR):
68826         * m4/settime.m4 (gl_SETTIME):
68827         * m4/sha1.m4 (gl_SHA1):
68828         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68829         * m4/stat-macros.m4 (gl_STAT_MACROS):
68830         * m4/stat-time.m4 (gl_STAT_TIME):
68831         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68832         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68833         * m4/strdup.m4 (gl_FUNC_STRDUP):
68834         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68835         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68836         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68837         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68838         * m4/time_r.m4 (gl_TIME_R):
68839         * m4/timespec.m4 (gl_TIMESPEC):
68840         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68841         * m4/unlinkdir.m4 (gl_UNLINKDIR):
68842         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
68843         * m4/userspec.m4 (gl_USERSPEC):
68844         * m4/utimecmp.m4 (gl_UTIMECMP):
68845         * m4/utimens.m4 (gl_UTIMENS):
68846         * m4/xalloc.m4 (gl_XALLOC):
68847         * m4/xgetcwd.m4 (gl_XGETCWD):
68848         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
68849         * m4/xreadlink.m4 (gl_XREADLINK):
68850         * m4/xstrtod.m4 (gl_XSTRTOD):
68851         * m4/yesno.m4 (gl_YESNO):
68852         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68853         to get the necessary .h files and whatnot.
68854
68855 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
68856             Bruno Haible  <bruno@clisp.org>
68857
68858         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
68859         /bin/sh understanding of '!' conditional negation.
68860
68861 2006-08-21  Jim Meyering  <jim@meyering.net>
68862
68863         * modules/openat (Depends-on): Really alphabetize.
68864
68865         * modules/acl (Depends-on): Add error and quote.
68866
68867         * check-module (find_included_lib_files): Add at-func.c to the
68868         ok-to-include-more-than-once white list.
68869
68870         * modules/openat (Depends-on): Add lstat.  Alphabetize.
68871
68872 2006-08-21  Bruno Haible  <bruno@clisp.org>
68873
68874         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68875         Emit a pkgdata_DATA variable only if some snippets add contents to it.
68876         Reported by Martin Lambers <marlam@marlam.de>.
68877
68878 2006-08-21  Bruno Haible  <bruno@clisp.org>
68879
68880         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
68881         specify an installation location, don't emit a noinst_LIBRARIES or
68882         noinst_LTLIBRARIES assignment.
68883
68884 2006-08-21  Bruno Haible  <bruno@clisp.org>
68885
68886         BeOS portability.
68887         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
68888         BeOS has mbrtowc() but no <wctype.h>.
68889
68890 2006-08-21  Bruno Haible  <bruno@clisp.org>
68891
68892         BeOS portability.
68893         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
68894         exist.
68895
68896 2006-08-21  Bruno Haible  <bruno@clisp.org>
68897
68898         BeOS portability.
68899         * lib/mbchar.h: Include <wctype.h> only if it exists.
68900
68901 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68902
68903         Remove files that are no longer needed by their respective modules.
68904         * m4/obstack.m4: Remove.
68905         * m4/strerror_r.m4: Remove.
68906         * m4/uint32_t.m4: Remove.
68907         * m4/uintptr_t.m4: Remove.
68908         * m4/ullong_max.m4: Remove.
68909         * m4/xstrtoimax.m4: Remove.
68910         * m4/xstrtoumax.m4: Remove.
68911
68912         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
68913         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
68914         dependencies now capture this.
68915
68916         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
68917         Do not use AC_LIBSOURCES, since gnulib modules now do this.
68918         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
68919         * m4/human.m4 (gl_HUMAN): Likewise.
68920         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
68921         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
68922
68923         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
68924
68925         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
68926         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
68927         stdint.
68928         * m4/human.m4 (gl_HUMAN): Likewise.
68929         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
68930         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
68931         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68932         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68933         * m4/xstrtol (gl_XSTRTOL): Likewise.
68934
68935         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
68936         AC_TYPE_LONG_LONG_INT.
68937         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68938         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
68939         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
68940         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68941
68942         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
68943         on stdbool.
68944
68945         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
68946         (gl_PREREQ_XSTRTOUL): Remove.
68947
68948         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
68949
68950         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
68951         mode.
68952
68953 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68954
68955         Add and change modules to make it easier for coreutils to use
68956         gnulib-tool.
68957         * modules/backupfile (Files): Remove m4/d-ino.m4.
68958         (Depends-on): Add d-ino.
68959         * modules/cycle-check (Depends-on): Add stdint.
68960         (lib_SOURCES): Add cycle-check.h.
68961         * modules/d-ino: New module.
68962         * modules/d-type: New module.
68963         * modules/error (Files): Remove m4/strerror_r.m4.
68964         * modules/filemode (Files): Add m4/st_dm_mode.m4.
68965         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68966         m4/inttypes_h.m4, m4/uintmax_t.m4.
68967         (Depends-on): Add stdint.
68968         (lib_SOURCES): Add fsusage.h.
68969         * modules/getcwd (Files): Remove d-ino.m4.
68970         (Depends-on): Add d-ino.
68971         * modules/getndelim2 (Depends-on): Add stdint.
68972         * modules/glob (Files): Remove m4/d-type.m4.
68973         (Depends-on): Add d-type.
68974         * modules/host-os: New module.
68975         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
68976         m4/inttypes_h.m4, m4/uintmax_t.m4.
68977         * Depends-on: Add stdint.
68978         (lib_SOURCES): Add human.h.
68979         * modules/inttostr (Files): Remove m4/intmax_t.m4,
68980         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
68981         m4/uintmax_t.m4, m4/ulonglong.m4.
68982         (Depends-on): Add stdint.
68983         (EXTRA_DIST): Add inttostr.h.
68984         * modules/lchmod: New module.
68985         * modules/link-follow: New module.
68986         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
68987         (Depends-on): Add lchmod.
68988         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
68989         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
68990         (Depends-on): Add stdint.
68991         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
68992         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
68993         (Depends-on): Add stdint.
68994         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
68995         * modules/perl: New module.
68996         * modules/regex (Depends-on): Add stdint.
68997         * modules/rmdir-errno: New module.
68998         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68999         m4/intmax_t.m4.
69000         (Depends-on): Add stdint.
69001         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69002         m4/uintmax_t.m4.
69003         (Depends-on): Add stdint.
69004         * modules/unlink-busy: New module.
69005         * modules/utimecmp (Depends-on): Add stdint.
69006         * modules/uptime: New module.
69007         * modules/winsz-ioctl: New module.
69008         * modules/winsz-termios: New module.
69009         * modules/xnanosleep (Depends-on): Add nanosleep.
69010         * modules/ullong_max: Remove.
69011         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
69012         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
69013         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
69014         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
69015         (Depends-on): Add inttypes.
69016         (lib_SOURCES): Add xstrtol.h.
69017         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
69018         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
69019         * MODULES.html.sh: Move 'assert' into the assert section.
69020         Move 'dummy' into the linking section.
69021         Remove ullong_max.
69022         Add section for compatibility checks for POSIX:2001 functions,
69023         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
69024         winsz-ioctl, and winsz-termios into it.
69025         Add lchmod.
69026         Add top-level Misc section and put host-os, perl, and uptime
69027         into it.
69028
69029 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69030
69031         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
69032         now assume the stdint module.  Do not include inttypes.h.
69033         * lib/fsusage.h: Likewise.
69034         * lib/getndelim2.c: Likewise.
69035         * lib/human.h: Likewise.
69036         * lib/inttostr.h: Likewise.
69037         * lib/obstack.c: Likewise.
69038         * lib/regex_internal.h: Likewise.
69039         * lib/tempname.c: Likewise.
69040         * lib/utimecmp.c: Likewise.
69041         * lib/xstrtol.h: Likewise.
69042
69043         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
69044
69045         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
69046         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
69047         * lib/xtime.h: Likewise.
69048
69049 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69050
69051         * modules/openat (Files): Add lib/fchmodat.c.
69052         Fixes problem reported by Jay Youngman.
69053
69054 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69055
69056         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
69057         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
69058
69059 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
69060             Bruno Haible  <bruno@clisp.org>
69061
69062         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
69063         and is a script that invokes bison. Tighten the code. Add comments.
69064
69065 2006-08-18  Jim Meyering  <jim@meyering.net>
69066
69067         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
69068         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
69069         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
69070         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
69071
69072 2006-08-18  Bruno Haible  <bruno@clisp.org>
69073
69074         * modules/bison-i18n: New file.
69075         * MODULES.html.sh (Internationalization functions): Add it.
69076
69077 2006-08-18  Bruno Haible  <bruno@clisp.org>
69078
69079         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
69080         sys/statvfs.h. When getmntinfo was found, check its declaration and
69081         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
69082
69083 2006-08-18  Bruno Haible  <bruno@clisp.org>
69084
69085         * m4/bison-i18n.m4: New file, from bison.
69086
69087 2006-08-18  Bruno Haible  <bruno@clisp.org>
69088
69089         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
69090         (ME_DUMMY): Treat "kernfs" as a dummy.
69091         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
69092
69093 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69094
69095         Update from coreutils.
69096
69097         2006-08-15  Jim Meyering  <jim@meyering.net>
69098
69099         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
69100
69101         2006-01-17  Jim Meyering  <jim@meyering.net>
69102
69103         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
69104
69105         2006-01-11  Jim Meyering  <jim@meyering.net>
69106
69107         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
69108         Check for the lchmod function.
69109
69110 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69111
69112         Update from coreutils.
69113
69114         * lib/__fpending.h: Add copyright notice.
69115         * lib/fprintftime.h: Likewise.
69116         * lib/savedir.c: Use (C) in copyright notice.
69117         * lib/savedir.h: Likewise.
69118
69119         2006-08-15  Jim Meyering  <jim@meyering.net>
69120
69121         * lib/at-func.c: New file, with the logic of all emulated at-functions.
69122         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
69123         in support of the EXPECTED_ERRNO macro.
69124         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
69125         definitions.  Instead, define the appropriate symbols and include
69126         "at-func.c".
69127         * lib/mkdirat.c (mkdirat): Likewise.
69128         * lib/fchmodat.c (fchmodat): Likewise.
69129         (ENOSYS): Remove definition.
69130         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
69131         it.  Don't include "unistd--.h" -- it wasn't ever used.
69132
69133         2006-01-17  Jim Meyering  <jim@meyering.net>
69134
69135         Rewrite fts.c not to change the current working directory,
69136         by using openat, fstatat, fdopendir, etc..
69137
69138         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
69139         (HAVE_OPENAT_SUPPORT): Define.
69140         [_LIBC] (fchdir): Don't undef or define; no longer used.
69141         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
69142         Now, this `function' always succeeds, and consumes its file descriptor
69143         parameter -- so callers must not close such FDs.  Update callers.
69144         (diropen_fd, opendirat, cwd_advance_fd): New functions.
69145         (diropen): Add parameter, SP.  Adjust all callers.
69146         Implement using diropen_fd, rather than open.
69147         (fts_open): Initialize new member, fts_cwd_fd.
69148         Remove fts_rft-setting code.
69149         (fts_close): Close fts_cwd_fd, if necessary.
69150         (__opendir2): Define in terms of opendir or opendirat,
69151         depending on whether the FST_NOCHDIR flag is set.
69152         (fts_build): Since fts_safe_changedir consumes its FD, and since
69153         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
69154         and close the dup'd file descriptor upon failure.
69155         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
69156         (fts_safe_changedir): Tweak semantics to reflect that this function
69157         now calls cwd_advance_fd and hence consumes its FD argument.
69158         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
69159         [struct FTS] (fts_rft): Remove now-unused member.
69160         [struct FTS] (fts_cycle.state): Improve comment.
69161
69162         * lib/openat.c (openat_needs_fchdir): New function.
69163         * lib/openat.h (openat_needs_fchdir): Declare it.
69164
69165 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69166
69167         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
69168         Problem and fix reported by Pádraig Brady in
69169         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
69170
69171 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69172
69173         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
69174
69175 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69176
69177         * lib/memcoll.c (memcoll): Optimize for the common case where the
69178         arguments are bytewise equal.
69179
69180 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69181
69182         * doc/regexprops-generic.texi: Add a copyright notice.
69183
69184 2006-08-15  Bruno Haible  <bruno@clisp.org>
69185
69186         * modules/tmpdir (License): Change to LGPL.
69187
69188 2006-08-15  Bruno Haible  <bruno@clisp.org>
69189
69190         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
69191         module.
69192
69193 2006-08-14  Simon Josefsson  <jas@extundo.com>
69194
69195         * config/srclist.txt: Add gnupload.
69196
69197 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69198
69199         Change copyright notice from LGPL 2 to GPL 2, since that's the
69200         standard form used in the gnulib repository.
69201         * tests/test-lock.c: Likewise.
69202         * tests/test-stdint.c: Likewise.
69203         * tests/test-tls.c: Likewise.
69204
69205         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
69206         prelude-manager.  User shorter URLs for GNU projects, without '?'.
69207         Add copyright notice.
69208
69209         * check-module: Add copyright notice.  Output a copyright
69210         notice if "--version" is specified.
69211         * modules/COPYING: New file.
69212         * tests/test-getaddrinfo.c: Add copyright notice.
69213         * tests/test-verify.c: Likewise.
69214
69215 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69216
69217         Change copyright notice from LGPL 2 to GPL 2, since that's the
69218         standard form used in the gnulib repository.
69219         * lib/lock.c: LGPL -> GPL.
69220         * lib/lock.h: Likewise.
69221         * lib/strnlen1.c: Likewise.
69222         * lib/strnlen1.h: Likewise.
69223         * lib/tls.c: Likewise.
69224         * lib/tls.h: Likewise.
69225         * lib/tmpdir.c: Likewise.
69226
69227         * lib/TODO: Remove; this belongs only in coreutils.
69228
69229 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69230
69231         Add copyright notices to long-enough files that lack them, since
69232         otherwise the files aren't clearly free.  Use the same notice that
69233         getdate.texi already uses.
69234         * doc/alloca-opt.texi: Add copyright notice.
69235         * doc/alloca.texi: Likewise.
69236         * doc/ctime.texi: Likewise.
69237         * doc/functions.texi: Likewise.
69238         * doc/gcd.texi: Likewise.
69239         * doc/gnulib-tool.texi: Likewise.
69240         * doc/inet_ntoa.texi: Likewise.
69241         * doc/visibility.texi: Likewise.
69242
69243         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
69244         * doc/quote.texi: Add copyright notice.
69245
69246         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
69247         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
69248         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
69249         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
69250         is now obsolete, and give a pointer to the Sun list.
69251         Add copyright notice.
69252
69253 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69254
69255         * config/srclistvars.sh: Add copyright notice.
69256
69257 2006-08-14  Eric Blake  <ebb9@byu.net>
69258
69259         Import the following change from libc:
69260
69261         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
69262
69263         Upstream bug 2997.
69264         * lib/misc/error.c: Add space between program name and message if file
69265         name is missing.
69266
69267 2006-08-12  Karl Berry  <karl@gnu.org>
69268
69269         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
69270         remove, these originate in gnulib now.
69271
69272 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69273
69274         * doc/Makefile (standards.info standards.html standards.dvi):
69275         Also depend on make-stds.texi.
69276
69277 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69278
69279         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
69280         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
69281
69282         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
69283         in wchar_t.  Problem reported by Eric Blake.
69284
69285         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
69286         LEN is smaller than SIZE.  Suggested by Bruno Haible.
69287         Also, help the compiler to keep LEN in a register.
69288
69289 2006-08-11  Eric Blake  <ebb9@byu.net>
69290
69291         * users.txt: Sort.  Add tar.
69292
69293 2006-08-11  Bruno Haible  <bruno@clisp.org>
69294
69295         * users.txt: New file.
69296
69297 2006-08-11  Bruno Haible  <bruno@clisp.org>
69298
69299         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
69300         before <wchar.h>. Needed for OSF/1 and BSD/OS.
69301
69302 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69303
69304         * modules/snprintf (Depends-on): Remove minmax.
69305         (Maintainer): Add self and Bruno.
69306
69307 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69308
69309         * lib/.cppi-disable: Add snprintf.h, socket_.h.
69310         * lib/snprintf.c: Include <errno.h> and <limits.h>.
69311         (EOVERFLOW): Define if the system does not.
69312         Do not include "minmax.h"; it wasn't used.
69313         (snprintf): Don't assume size_t promotes to an unsigned type.
69314         Fix bug when generated string was too long for the buffer: the
69315         buffer's contents are supposed to be the initial prefix of the
69316         output.  Don't assume vasnprintf returns EOVERFLOW if the size
69317         exceeds INT_MAX; do the check ourselves.
69318
69319         Import the following changes from libc:
69320
69321         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
69322
69323         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
69324         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
69325         set wc to the byte which couldn't be converted.
69326         (re_string_reconstruct): Don't clear valid_raw_len before calling
69327         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
69328         tip_context using re_string_context_at.
69329
69330         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
69331
69332         * lib/posix/regex.h: g++ still cannot handled [restrict].
69333
69334         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
69335
69336         * lib/posix/regex.h: Remove special handling for VMS.
69337
69338 2006-08-10  Jim Meyering  <jim@meyering.net>
69339
69340         * modules/same-inode: New module.
69341         * modules/dev-ino: New module.
69342         * modules/cycle-check: Depend on these modules, rather than simply
69343         including their .h files.
69344         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
69345         required via m4/cycle-check.m4.
69346         * modules/same: Depend on new same-inode module, rather than
69347         including same-inode.h.
69348         * modules/chdir-safer: New file.
69349
69350         * modules/chown (Depends-on): Add stat-macros.
69351
69352 2006-08-10  Jim Meyering  <jim@meyering.net>
69353
69354         * m4/cycle-check.m4: New file.
69355         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
69356         * m4/dev-ino.m4, m4/same-inode.m4: New files.
69357
69358 2006-08-10  Eric Blake  <ebb9@byu.net>
69359
69360         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
69361         in from original proposal.
69362
69363 2006-08-10  Eric Blake  <ebb9@byu.net>
69364         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69365
69366         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
69367         namespace.
69368
69369 2006-08-10  Bruno Haible  <bruno@clisp.org>
69370
69371         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
69372         as well.
69373
69374 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69375
69376         Sync from coreutils.
69377
69378         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
69379
69380         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
69381         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
69382
69383 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69384
69385         * modules/restrict: Remove; no longer needed now that we assume
69386         Autoconf 2.59 or later.
69387         * MODULES.html.sh: Remove 'restrict'.
69388         * modules/argp (Depends-on): Remove 'restrict'.
69389         * modules/base64 (Depends-on): Likewise.
69390         * modules/gc (Depends-on): Likewise.
69391         * modules/getaddrinfo (Depends-on): Likewise.
69392         * modules/glob (Depends-on): Likewise.
69393         * modules/inet_ntop (Depends-on): Likewise.
69394         * modules/inet_pton (Depends-on): Likewise.
69395         * modules/memxor (Depends-on): Likewise.
69396         * modules/regex (Depends-on): Likewise.
69397         * modules/strtok_r (Depends-on): Likewise.
69398         * modules/time_r (Depends-on): Likewise.
69399
69400 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69401
69402         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
69403         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
69404         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69405         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
69406         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
69407         * m4/memxor.m4 (gl_MEMXOR): Likewise.
69408         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
69409         gl_C_RESTRICT replaced by AC_C_RESTRICT.
69410
69411         Merge from coreutils.
69412         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
69413         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
69414         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69415         * m4/time_r.m4 (gl_TIME_R): Likewise.
69416
69417 2006-08-09  Karl Berry  <karl@gnu.org>
69418
69419         * config/srclist.txt: no more gettext-tools, per Bruno.
69420
69421 2006-08-08  Eric Blake  <ebb9@byu.net>
69422
69423         * modules/verror: New module.
69424         * MODULES.html.sh: Document it.
69425
69426 2006-08-08  Eric Blake  <ebb9@byu.net>
69427
69428         * lib/verror.h, lib/verror.c: New files.
69429
69430 2006-08-08  Eric Blake  <ebb9@byu.net>
69431
69432         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69433         verror_at_line output complies with GNU Coding Standards even when
69434         file is NULL.
69435
69436 2006-08-07  Bruno Haible  <bruno@clisp.org>
69437
69438         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69439         versions of AIX.
69440         Reported by Ralf Wildenhues.
69441
69442 2006-08-07  Bruno Haible  <bruno@clisp.org>
69443
69444         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69445         in an AC_DEFUN. Needed so that the autoconf snippets can use
69446         AC_REQUIRE.
69447
69448 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69449
69450         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69451         Initialize pkgdata_DATA.
69452         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69453         overriding it.
69454
69455 2006-08-06  Eric Blake  <ebb9@byu.net>
69456
69457         * lib/error.h: Fold in some upstream changes from glibc.
69458         * lib/error.c: Likewise.
69459
69460 2006-08-04  Bruno Haible  <bruno@clisp.org>
69461
69462         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69463         Make the mostlyclean-local rule depend on mostlyclean-generic.
69464         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69465
69466 2006-07-31  Bruno Haible  <bruno@clisp.org>
69467
69468         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69469         <stdlib.h>, <string.h>.
69470
69471 2006-07-30  Bruno Haible  <bruno@clisp.org>
69472
69473         * modules/readlink (License): Change to LGPL.
69474
69475 2006-07-30  Bruno Haible  <bruno@clisp.org>
69476
69477         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69478         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69479         set PKGDATADIR to point to it.
69480
69481 2006-07-30  Bruno Haible  <bruno@clisp.org>
69482
69483         * modules/csharpexec (configure.ac): Comment out macro invocation.
69484         * modules/javaexec (configure.ac): Likewise.
69485         * modules/javacomp-script (configure.ac): Likewise.
69486
69487         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69488
69489 2006-07-30  Bruno Haible  <bruno@clisp.org>
69490
69491         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69492         linked-list.
69493
69494 2006-07-30  Bruno Haible  <bruno@clisp.org>
69495
69496         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69497
69498 2006-07-30  Bruno Haible  <bruno@clisp.org>
69499
69500         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69501         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69502         get removed.
69503
69504 2006-07-29  Bruno Haible  <bruno@clisp.org>
69505
69506         Make it possible for gnulib-tool to work with locally modified or
69507         augmented gnulib repositories.
69508         * gnulib-tool (func_usage): Document --local-dir option.
69509         (local_gnulib_dir): New variable.
69510         Handle --local-dir option.
69511         (func_lookup_file): New function.
69512         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69513         (func_get_description, func_get_filelist, func_get_description,
69514         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69515         func_get_automake_snippet, func_get_include_directive,
69516         func_get_license, func_get_maintainer): Use func_lookup_file.
69517         (func_import, func_create_testdir): Use func_lookup_file.
69518
69519 2006-07-29  Bruno Haible  <bruno@clisp.org>
69520
69521         * modules/setenv (Depends-on): Add unistd.
69522
69523 2006-07-29  Bruno Haible  <bruno@clisp.org>
69524
69525         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69526
69527 2006-07-29  Bruno Haible  <bruno@clisp.org>
69528
69529         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69530
69531 2006-07-29  Bruno Haible  <bruno@clisp.org>
69532
69533         * gnulib-tool (import, update): If there is no Makefile.am, look at
69534         aclocal.m4, instead of bailing out.
69535
69536 2006-07-29  Bruno Haible  <bruno@clisp.org>
69537
69538         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69539         Categorize the options by when they are useful.
69540
69541 2006-07-29  Bruno Haible  <bruno@clisp.org>
69542
69543         * gnulib-tool (func_usage): Document option --no-libtool.
69544         Handle option --no-libtool.
69545         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69546         for changed semantics of $libtool variable.
69547         (func_import): Likewise. If libtool is not used, show this through
69548         an option --no-libtool.
69549         (func_create_testdir): Update.
69550
69551 2006-07-29  Bruno Haible  <bruno@clisp.org>
69552
69553         * gnulib-tool (func_import): Extend error message about missing
69554         --doc-base.
69555
69556 2006-07-29  Bruno Haible  <bruno@clisp.org>
69557
69558         * gnulib-tool (func_import): Don't create the $docbase directory if
69559         there is no file to store there.
69560
69561 2006-07-29  Bruno Haible  <bruno@clisp.org>
69562
69563         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69564         relevant, look for configure.ac there, not in the current directory.
69565         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69566
69567 2006-07-29  Bruno Haible  <bruno@clisp.org>
69568
69569         * gnulib-tool (SORT): New variable.
69570         (func_usage): Undocument --assume-autoconf option.
69571         Remove --assume-autoconf option handling.
69572         (autoconf_minversion): Determine from the contents of configure.ac.
69573         (func_import): Remove autoconf_minversion handling.
69574         Suggested by Eric Blake.
69575
69576 2006-07-29  Bruno Haible  <bruno@clisp.org>
69577
69578         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69579
69580 2006-07-29  Bruno Haible  <bruno@clisp.org>
69581
69582         * config/srclist.txt (*setenv.[ch]): Remove rules.
69583
69584 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69585
69586         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69587
69588 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69589
69590         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69591         arpa/inet.h.
69592
69593 2006-07-28  Simon Josefsson  <jas@extundo.com>
69594
69595         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69596         * modules/inet_pton (Depends-on): Likewise.
69597
69598 2006-07-28  Simon Josefsson  <jas@extundo.com>
69599
69600         * m4/netinet_in_h.m4: New file.
69601
69602 2006-07-28  Simon Josefsson  <jas@extundo.com>
69603
69604         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69605         #include's.
69606
69607 2006-07-28  Simon Josefsson  <jas@extundo.com>
69608
69609         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69610         #include's.
69611
69612 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69613
69614         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69615         setgid on directories only if they set these bits.
69616         * lib/modechange.h: Remove obsolete comment about masks.
69617
69618 2006-07-28  Eric Blake  <ebb9@byu.net>
69619
69620         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69621         macro expansion.
69622
69623 2006-07-28  Bruno Haible  <bruno@clisp.org>
69624
69625         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69626
69627 2006-07-28  Bruno Haible  <bruno@clisp.org>
69628
69629         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69630
69631 2006-07-28  Bruno Haible  <bruno@clisp.org>
69632
69633         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69634         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69635         Define fallbacks.
69636         Avoids link error on FreeBSD 4.x.
69637         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69638
69639         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69640         encoding.
69641         * lib/mbswidth.c (iswcntrl): Likewise.
69642
69643 2006-07-27  Bruno Haible  <bruno@clisp.org>
69644
69645         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69646         test.
69647
69648 2006-07-27  Bruno Haible  <bruno@clisp.org>
69649
69650         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69651         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69652         defined.
69653
69654 2006-07-26  Eric Blake  <ebb9@byu.net>
69655
69656         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69657
69658 2006-07-26  Eric Blake  <ebb9@byu.net>
69659
69660         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69661         like mingw that lack mkstemp.
69662         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69663         avoid compilation warning on mingw.
69664
69665 2006-07-26  Bruno Haible  <bruno@clisp.org>
69666
69667         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69668         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69669         INT_FAST*_MIN, INTPTR_MIN.
69670
69671 2006-07-25  Bruno Haible  <bruno@clisp.org>
69672
69673         * modules/version-etc (Depends-on): Add stdarg.
69674
69675 2006-07-25  Bruno Haible  <bruno@clisp.org>
69676
69677         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69678         complex commands.
69679
69680 2006-07-25  Bruno Haible  <bruno@clisp.org>
69681
69682         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69683         defined in <stdarg.h> or config.h.
69684
69685 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69686
69687         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69688         (gl_STDIO_SAFER): Remove.
69689
69690 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69691
69692         * MODULES.html.sh (File stream based Input/Output):
69693         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69694         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69695         * modules/fopen-safer, modules/tmpfile-safer: New files.
69696         * modules/stdio-safer: Remove.
69697
69698 2006-07-24  Bruno Haible  <bruno@clisp.org>
69699
69700         * modules/tmpdir: New file.
69701         * MODULES.html.sh (File system functions): Add it.
69702
69703 2006-07-24  Bruno Haible  <bruno@clisp.org>
69704
69705         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69706         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69707
69708 2006-07-24  Bruno Haible  <bruno@clisp.org>
69709
69710         * modules/clean-temp: New file.
69711
69712 2006-07-24  Bruno Haible  <bruno@clisp.org>
69713
69714         * m4/tmpdir.m4: New file, from GNU gettext.
69715
69716 2006-07-24  Bruno Haible  <bruno@clisp.org>
69717
69718         * lib/tmpdir.h: New file, from GNU gettext.
69719         * lib/tmpdir.c: New file, from GNU gettext.
69720
69721 2006-07-24  Bruno Haible  <bruno@clisp.org>
69722
69723         * lib/clean-temp.h: New file, from GNU gettext.
69724         * lib/clean-temp.c: New file, from GNU gettext.
69725
69726 2006-07-23  Eric Blake  <ebb9@byu.net>
69727
69728         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69729         (Depends-on): Add binary-io.
69730
69731 2006-07-23  Eric Blake  <ebb9@byu.net>
69732
69733         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69734
69735 2006-07-23  Eric Blake  <ebb9@byu.net>
69736
69737         * lib/tmpfile-safer.c: New file.
69738         * lib/stdio-safer.h (fopen_safer): Add prototype.
69739         * lib/stdio--.h (tmpfile): Make safer.
69740
69741 2006-07-23  Bruno Haible  <bruno@clisp.org>
69742
69743         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69744         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69745         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69746         gl_linked_remove_at): Use it.
69747
69748 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69749         and Simon Josefsson <jas@extundo.com>
69750
69751         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69752
69753         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69754
69755 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69756
69757         * modules/close-stream: New file.
69758         * modules/closeout (Description): Make it clear that it exits
69759         with a diagnostic on error.
69760         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69761         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69762
69763 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69764
69765         * m4/close-stream.m4: New file.
69766
69767 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69768
69769         * lib/close-stream.c, lib/close-stream.h: New files.
69770
69771 2006-07-22  Bruno Haible  <bruno@clisp.org>
69772
69773         Merge from GNU gettext 0.15.
69774
69775         2006-05-01  Bruno Haible  <bruno@clisp.org>
69776
69777                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69778
69779         2006-07-22  Bruno Haible  <bruno@clisp.org>
69780
69781                 * modules/javaversion: New file.
69782                 * MODULES.html.sh (Java): Add javaversion.
69783
69784         2006-03-12  Bruno Haible  <bruno@clisp.org>
69785
69786                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69787
69788         2005-12-04  Bruno Haible  <bruno@clisp.org>
69789
69790                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69791                 (untested).
69792
69793         2006-06-21  Bruno Haible  <bruno@clisp.org>
69794
69795                 Avoid warnings from recent versions of mcs.
69796                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69797                 -o, -L, -r any more. Use options documented since mcs-1.0
69798                 instead. Similarly for -g.
69799
69800         2005-12-04  Bruno Haible  <bruno@clisp.org>
69801
69802                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69803                 .resources, not .resource.
69804
69805         2005-07-09  Bruno Haible  <bruno@clisp.org>
69806
69807                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69808                 add a .dll suffix.
69809                 Reported by Mark Junker <mjscod@gmx.de>.
69810
69811         2006-07-22  Bruno Haible  <bruno@clisp.org>
69812
69813                 * modules/gettext: Upgrade to gettext-0.15.
69814                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69815                 m4/visibility.m4.
69816                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69817
69818 2006-07-22  Bruno Haible  <bruno@clisp.org>
69819
69820         Merge from GNU gettext 0.15.
69821
69822         2006-03-25  Bruno Haible  <bruno@clisp.org>
69823
69824                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69825
69826         2006-07-21  Bruno Haible  <bruno@clisp.org>
69827
69828                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69829                 "1.1".
69830
69831         2006-05-09  Bruno Haible  <bruno@clisp.org>
69832
69833                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69834                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69835                 for the conftestver execution.
69836
69837         2006-05-01  Bruno Haible  <bruno@clisp.org>
69838
69839                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69840                 optional target-version argument. Verify that the compiler
69841                 groks source of the specified source-version, or add -source
69842                 option as necessary. Verify that the compiler produces
69843                 bytecode in the specified target-version, or add -target and
69844                 -source options as necessary. Make the result of the test
69845                 available as variable CONF_JAVAC. Also log error output in
69846                 config.log.
69847
69848         2006-03-11  Bruno Haible  <bruno@clisp.org>
69849
69850                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
69851
69852         2006-05-09  Bruno Haible  <bruno@clisp.org>
69853
69854                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
69855                 CLASSPATH_SEPARATOR to a semicolon.
69856
69857         2006-03-12  Bruno Haible  <bruno@clisp.org>
69858
69859                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
69860                 available as variable CONF_JAVA, for subsequent autoconf
69861                 tests. Also log error output in config.log.
69862
69863         2006-07-19  Bruno Haible  <bruno@clisp.org>
69864
69865                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
69866                 that getline works on glibc2 systems. Needed to avoid trouble
69867                 in relocatable.c.
69868                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
69869
69870         2005-12-04  Bruno Haible  <bruno@clisp.org>
69871
69872                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
69873                 launcher (untested).
69874
69875         2005-12-04  Bruno Haible  <bruno@clisp.org>
69876
69877                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
69878
69879         2006-07-22  Bruno Haible  <bruno@clisp.org>
69880
69881                 * gettext.m4: Update from GNU gettext-0.15.
69882                 * nls.m4: Likewise.
69883                 * po.m4: Likewise.
69884                 * inttypes-pri.m4: Likewise.
69885                 * inttypes-h.m4: Renamed from inttypes.m4.
69886                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
69887
69888 2006-07-22  Bruno Haible  <bruno@clisp.org>
69889
69890         Merge from GNU gettext 0.15.
69891
69892         2005-07-05  Bruno Haible  <bruno@clisp.org>
69893
69894                 * printf-args.c (printf_fetchargs): Work around broken
69895                 definition of wint_t on mingw.
69896
69897         2005-02-12  Bruno Haible  <bruno@clisp.org>
69898
69899                 * xallocsa.h: Add extern "C" for C++.
69900
69901         2006-05-17  Bruno Haible  <bruno@clisp.org>
69902
69903                 Cygwin portability.
69904                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
69905
69906         2006-04-30  Bruno Haible  <bruno@clisp.org>
69907
69908                 * progreloc.c: Include <mach-o/dyld.h> if available.
69909                 (find_executable): Use _NSGetExecutablePath when possible.
69910
69911         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69912
69913                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
69914                 function.
69915
69916         2005-12-29  Bruno Haible  <bruno@clisp.org>
69917
69918                 * progreloc.c (set_program_name_and_installdir): Fix
69919                 compilation error.
69920
69921         2005-12-04  Bruno Haible  <bruno@clisp.org>
69922
69923                 Cygwin portability.
69924                 * progreloc.c: Include <windows.h> also on Cygwin.
69925                 (find_executable): Add support for Cygwin.
69926                 (set_program_name_and_installdir): Handle also platforms with
69927                 nonempty EXEEXT.
69928
69929         2006-07-11  Bruno Haible  <bruno@clisp.org>
69930
69931                 * javacomp.c: Fix a comment.
69932                 Reported by Jim Meyering.
69933
69934         2006-04-30  Bruno Haible  <bruno@clisp.org>
69935
69936                 * javacomp.h (compile_java_class): Add source_version,
69937                 target_version arguments.
69938                 * javacomp.c: Rewritten to choose only a compiler that
69939                 respects the specified source_version and target_version.
69940
69941         2006-06-27  Bruno Haible  <bruno@clisp.org>
69942
69943                 Assume correct S_ISDIR macro.
69944                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
69945
69946         2006-07-22  Bruno Haible  <bruno@clisp.org>
69947
69948                 * javaversion.h: New file, from GNU gettext.
69949                 * javaversion.c: New file, from GNU gettext.
69950                 * javaversion.java: New file, from GNU gettext.
69951                 * javaversion.class: New file, from GNU gettext.
69952
69953         2006-05-17  Bruno Haible  <bruno@clisp.org>
69954
69955                 Cygwin portability.
69956                 * javaexec.c (execute_java_class): Test for jview program
69957                 also on Cygwin.
69958
69959         2006-04-09  Bruno Haible  <bruno@clisp.org>
69960
69961                 * fatal-signal.c: Don't include string.h.
69962                 (at_fatal_signal): Use a copying loop instead of memcpy.
69963
69964         2005-12-04  Bruno Haible  <bruno@clisp.org>
69965
69966                 * csharpexec.c: Add support for 'clix' launcher (untested).
69967                 (execute_csharp_using_sscli): New function.
69968                 (execute_csharp_program): Call it.
69969
69970         2006-06-21  Bruno Haible  <bruno@clisp.org>
69971
69972                 Avoid warnings from recent versions of mcs.
69973                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
69974                 -o, -L, -r any more. Use options documented since mcs-1.0
69975                 instead. Similarly for -g.
69976
69977         2005-07-09  Bruno Haible  <bruno@clisp.org>
69978
69979                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
69980                 add a .dll suffix.
69981                 Reported by Mark Junker <mjscod@gmx.de>.
69982
69983         2006-06-17  Bruno Haible  <bruno@clisp.org>
69984
69985                 * config.charset: Update for NetBSD 3.0.
69986
69987         2006-05-17  Bruno Haible  <bruno@clisp.org>
69988
69989                 Cygwin portability.
69990                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
69991
69992         2006-05-16  Bruno Haible  <bruno@clisp.org>
69993
69994                 * localcharset.c [CYGWIN]: Include <windows.h>.
69995                 (get_charset_aliases): For Cygwin, return the same CPxxx
69996                 aliases list as under WIN32.
69997                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
69998                 the environment variables. Fall back to GetACP().
69999
70000         2006-04-05  Bruno Haible  <bruno@clisp.org>
70001
70002                 * config.charset: Update Juan Manuel Guerrero's address.
70003
70004         2005-02-12  Bruno Haible  <bruno@clisp.org>
70005
70006                 * allocsa.h: Add extern "C" for C++.
70007
70008         2005-02-10  Bruno Haible  <bruno@clisp.org>
70009
70010                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
70011                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
70012
70013         2006-07-22  Bruno Haible  <bruno@clisp.org>
70014
70015                 * gettext.h: Update to GNU gettext-0.15.
70016
70017 2006-07-22  Bruno Haible  <bruno@clisp.org>
70018
70019         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
70020         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
70021         lib-prefix.m4, longdouble.m4, ssize_t.m4.
70022
70023 2006-07-21  Eric Blake  <ebb9@byu.net>
70024
70025         * modules/stdlib-safer: New file.
70026         * MODULES.html.sh (File stream based Input/Output): Add
70027         stdlib-safer.
70028
70029 2006-07-21  Eric Blake  <ebb9@byu.net>
70030
70031         * lib/stdlib-safer.h: New file from coreutils, required by
70032         stdlib--.h.
70033
70034 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
70035
70036         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
70037
70038 2006-07-20  Bruno Haible  <bruno@clisp.org>
70039
70040         * gnulib-tool: Recognize new option --assume-autoconf.
70041         (autoconf_minversion): New variable.
70042         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
70043
70044 2006-07-20  Bruno Haible  <bruno@clisp.org>
70045
70046         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
70047
70048 2006-07-19  Derek R. Price  <derek@ximbiot.com>
70049
70050         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
70051         Reindent and repaginate.
70052
70053 2006-07-19  Derek Price  <derek@ximbiot.com>
70054
70055         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
70056         Correct grammar.
70057
70058 2006-07-17  Bruno Haible  <bruno@clisp.org>
70059
70060         * modules/list: New file.
70061         * modules/array-list: New file.
70062         * modules/carray-list, modules/carray-list-tests: New files.
70063         * modules/linked-list, modules/linked-list-tests: New files.
70064         * modules/avltree-list, modules/avltree-list-tests: New files.
70065         * modules/rbtree-list, modules/rbtree-list-tests: New files.
70066         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
70067         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
70068         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
70069         * modules/oset: New file.
70070         * modules/array-oset: New file.
70071         * modules/avltree-oset, modules/avltree-oset-tests: New files.
70072         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
70073         * tests/test-carray_list.c: New file.
70074         * tests/test-linked_list.c: New file.
70075         * tests/test-avltree_list.c: New file.
70076         * tests/test-rbtree_list.c: New file.
70077         * tests/test-linkedhash_list.c: New file.
70078         * tests/test-avltreehash_list.c: New file.
70079         * tests/test-rbtreehash_list.c: New file.
70080         * tests/test-avltree_oset.c: New file.
70081         * tests/test-rbtree_oset.c: New file.
70082         * MODULES.html.sh (Container data structures): New section.
70083
70084 2006-07-17  Bruno Haible  <bruno@clisp.org>
70085
70086         * m4/gl_list.m4: New file.
70087
70088 2006-07-17  Bruno Haible  <bruno@clisp.org>
70089
70090         * lib/gl_list.h: New file.
70091         * lib/gl_list.c: New file.
70092         * lib/gl_array_list.h: New file.
70093         * lib/gl_array_list.c: New file.
70094         * lib/gl_carray_list.h: New file.
70095         * lib/gl_carray_list.c: New file.
70096         * lib/gl_linked_list.h: New file.
70097         * lib/gl_linked_list.c: New file.
70098         * lib/gl_anylinked_list1.h: New file.
70099         * lib/gl_anylinked_list2.h: New file.
70100         * lib/gl_avltree_list.h: New file.
70101         * lib/gl_avltree_list.c: New file.
70102         * lib/gl_anyavltree_list1.h: New file.
70103         * lib/gl_anyavltree_list2.h: New file.
70104         * lib/gl_rbtree_list.h: New file.
70105         * lib/gl_rbtree_list.c: New file.
70106         * lib/gl_anyrbtree_list1.h: New file.
70107         * lib/gl_anyrbtree_list2.h: New file.
70108         * lib/gl_anytree_list1.h: New file.
70109         * lib/gl_anytree_list2.h: New file.
70110         * lib/gl_linkedhash_list.h: New file.
70111         * lib/gl_linkedhash_list.c: New file.
70112         * lib/gl_anyhash_list1.h: New file.
70113         * lib/gl_anyhash_list2.h: New file.
70114         * lib/gl_avltreehash_list.h: New file.
70115         * lib/gl_avltreehash_list.c: New file.
70116         * lib/gl_rbtreehash_list.h: New file.
70117         * lib/gl_rbtreehash_list.c: New file.
70118         * lib/gl_anytreehash_list1.h: New file.
70119         * lib/gl_anytreehash_list2.h: New file.
70120
70121         * lib/gl_oset.h: New file.
70122         * lib/gl_oset.c: New file.
70123         * lib/gl_array_oset.h: New file.
70124         * lib/gl_array_oset.c: New file.
70125         * lib/gl_avltree_oset.h: New file.
70126         * lib/gl_avltree_oset.c: New file.
70127         * lib/gl_rbtree_oset.h: New file.
70128         * lib/gl_rbtree_oset.c: New file.
70129         * lib/gl_anytree_oset.h: New file.
70130
70131 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70132
70133         * m4/mkancesdirs.m4: New file.
70134         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
70135         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
70136         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
70137         it.
70138
70139 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70140
70141         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
70142         * lib/mkancesdirs.h: New files.
70143         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
70144         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
70145         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
70146         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
70147         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
70148         callers changed.  Revamp internals significantly, by not
70149         attempting to create directories that are temporarily more
70150         permissive than the final results.  Do not attempt to use
70151         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
70152         This removes some race conditions, fixes some bugs, and simplifies
70153         things.  Use new dirchownmod function to do owner and mode changes.
70154         * lib/mkdir-p.h: Likewise.
70155         * lib/modechange.c (octal_to_mode): New function.
70156         (struct mode_change): New member mentioned.
70157         (make_node_op_equals): New arg mentioned.  All callers changed.
70158         (mode_compile): Keep track of which mode bits the user has explicitly
70159         mentioned.
70160         (mode_adjust): New arg DIR, so that we implement the X op correctly.
70161         New arg PMODE_BITS, to keep track of which mode bits the user
70162         mentioned; it treats S_ISUID and S_ISGID speciall.
70163         All callers changed.
70164         * lib/modechange.h: Likewise.
70165
70166 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70167
70168         * MODULES.html.sh: Add mkancestors.
70169         * modules/mkancesdirs: New module.
70170         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
70171         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
70172         The chdir-safer and afs files are now orphans; I'll remove them
70173         unless someone speaks up.
70174         Add lib/dirchownmod.c, lib/dirchownmod.h.
70175         (Depends-on): Remove alloca, chown, save-cwd, dirname.
70176         Add lchown, mkancesdirs.
70177         (Maintainer): Add self.
70178
70179 2006-07-15  Karl Berry  <karl@gnu.org>
70180
70181         * gnulib-tool: help message wording/arrangement.
70182
70183 2006-07-14  Simon Josefsson  <jas@extundo.com>
70184
70185         * doc/gnulib.texi (Libtool and Windows): New section.
70186
70187 2006-07-12  Simon Josefsson  <jas@extundo.com>
70188
70189         * modules/gendocs (License): Fix license, approved by Karl.
70190
70191 2006-07-12  Eric Blake  <ebb9@byu.net>
70192
70193         * MODULES.html.sh: Add gendocs.
70194
70195 2006-07-11  Eric Blake  <ebb9@byu.net>
70196
70197         * modules/fdl: New module, to install doc/fdl.texi.
70198         * MODULES.html.sh: Add new section for documentation modules.
70199         * gnulib-tool: Avoid space-tab.
70200         (--doc-base): New option, to manage files from doc.
70201
70202 2006-07-11  Eric Blake  <ebb9@byu.net>
70203
70204         * m4/absolute-header.m4: Fix comments to match recent change.
70205
70206 2006-07-11  Eric Blake  <ebb9@byu.net>
70207
70208         * gnulib-tool: List --doc-base before --tests-base.
70209
70210 2006-07-11  Derek R. Price  <derek@ximbiot.com>
70211
70212         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
70213
70214 2006-07-11  Bruno Haible  <bruno@clisp.org>
70215
70216         * README: Mention where to put documentation.
70217
70218 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70219
70220         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
70221
70222 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70223
70224         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
70225         to stdint.m4.
70226
70227 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70228
70229         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
70230         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
70231         "no/such/file/stdint.h" when there is no such file, so that
70232         the resulting C code can be parsed by dodgy compilers.
70233         Problems reported by Bob Proulx.
70234
70235 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70236
70237         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
70238         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70239         macros into the GNU _D_EXACT_NAMLEN.
70240         * lib/savedir.c:  Likewise.
70241         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
70242
70243 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70244         and Paul Eggert  <eggert@cs.ucla.edu>
70245
70246         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
70247         * m4/savedir.m4:
70248         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70249         macros into the GNU _D_EXACT_NAMLEN.
70250
70251 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70252
70253         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
70254         around the absolute name, to work around a problem with the HP-UX
70255         11.23 native C compiler, reported by Bob Proulx.
70256
70257 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70258
70259         * doc/maintain.texi, make-stds.texi: Sync from
70260         <http://savannah.gnu.org/projects/gnustandards>.
70261
70262 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70263
70264         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
70265
70266 2006-07-09  Jim Meyering  <jim@meyering.net>
70267
70268         * m4/glob.m4: Remove a doubled word in a comment.
70269
70270 2006-07-09  Jim Meyering  <jim@meyering.net>
70271
70272         * lib/argp-pv.c: Remove a doubled word in a comment.
70273         * lib/check-version.c (check_version): Likewise.
70274         * lib/javacomp.c (compile_java_class): Likewise.
70275
70276 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70277
70278         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
70279         for the benefit of people using Autoconf 2.60.  If you want to
70280         support older Autoconf versions you can copy m4/onceonly_2_57.m4
70281         (or m4/onceonly.m4, if pre-2.57) manually.
70282
70283 2006-07-08  Jim Meyering  <jim@meyering.net>
70284
70285         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
70286         comment.
70287         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
70288         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
70289         comment.
70290
70291 2006-07-08  Jim Meyering  <jim@meyering.net>
70292
70293         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
70294
70295 2006-07-07  Simon Josefsson  <jas@extundo.com>
70296
70297         * tests/test-crc.c: Change expected crc value, the test vector
70298         were probably computed using the old broken crc.c?
70299
70300 2006-07-06  Simon Josefsson  <jas@extundo.com>
70301
70302         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
70303         now the canonical place for the M4 file).
70304
70305         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
70306         from the sys_socket dependency now.
70307
70308         * modules/inet_pton (Files): Ditto.
70309
70310         * modules/inet_ntop (Files): Ditto.
70311
70312 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70313
70314         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
70315         not gl_PREREQ_GETUSERSHELL.
70316
70317 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70318
70319         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
70320         with only one argument, for Autoconf 2.60.
70321         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
70322         expand to nothing, so add a shell command to avoid syntax error.
70323         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
70324
70325 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70326
70327         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
70328
70329 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70330
70331         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
70332         no longer needed.  Check for isblank decl.
70333         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
70334         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
70335         of existence.
70336
70337 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70338
70339         * lib/getloadavg.c: Use __VMS, not VMS.
70340         * lib/getopt.c: Likewise.
70341         * lib/getpagesize.h: Likewise.
70342         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
70343         and probably does not work.
70344
70345 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70346
70347         * lib/.cppi-disable: Add wcwidth.
70348         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
70349         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
70350         (ISGRAPH): Remove.  All uses changed to isgraph.
70351         (FOLD) [!defined _LIBC]: Remove special case.
70352         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
70353         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
70354         HAVE_ISBLANK.
70355         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
70356         case.
70357
70358 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70359
70360         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
70361         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
70362         brackets.  Other minor changes to suppress some compiler
70363         warnings.
70364
70365 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70366         and Paul Eggert  <eggert@cs.ucla.edu>
70367
70368         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
70369         of invoking obsolescent AC_HEADER_DIRENT macro.
70370         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
70371         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
70372         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
70373         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
70374         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
70375         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70376         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
70377         * m4/readdir.m4: Remove; no longer needed.
70378
70379 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70380         and Paul Eggert  <eggert@cs.ucla.edu>
70381
70382         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
70383         Don't worry about this obsolete case any more.
70384         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
70385         directories.
70386         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
70387         worry about this obsolete case any more.
70388         * lib/fts.c: Likewise.
70389         * lib/getcwd.c: Likewise.
70390         * lib/glob.h: Likewise.
70391         * lib/savedir.c: Likewise.
70392
70393 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70394
70395         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
70396         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
70397         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
70398         needed.
70399         All uses removed.
70400         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70401         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70402         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
70403         needed.
70404         * m4/getdate.m4 (gl_GETDATE): Likewise.
70405         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70406         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70407         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70408         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70409         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70410         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70411         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
70412         needed.
70413
70414 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70415
70416         * lib/memcasecmp.c: Include <limits.h>.
70417         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
70418         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
70419         Don't assume isdigit succeeds only on '0' through '9'.
70420
70421 2006-07-05  Eric Blake  <ebb9@byu.net>
70422
70423         * modules/getaddrinfo (Depends-on): Add snprintf.
70424
70425 2006-07-05  Eric Blake  <ebb9@byu.net>
70426
70427         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
70428         to avoid 'header present but could not be compiled' on cygwin.
70429
70430 2006-07-05  Eric Blake  <ebb9@byu.net>
70431
70432         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70433         missing from netdb.h.
70434         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70435
70436 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70437
70438         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70439         no longer needed.
70440         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70441         * m4/getdate.m4 (gl_GETDATE): Likewise.
70442         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70443         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70444         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70445         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70446         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70447
70448 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70449
70450         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70451         All uses of is_space replaced by isspace.
70452         * lib/exit.h: Don't talk about STDC_HEADERS.
70453         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70454         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70455         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70456         replaced by isprint etc.
70457         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70458         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70459         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70460         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70461         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70462         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70463
70464 2006-07-05  Bruno Haible  <bruno@clisp.org>
70465
70466         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70467         the function exists, before testing against AIX.
70468         Reported by Martin Lambers <marlam@marlam.de>.
70469
70470 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70471
70472         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70473         From Mark D. Baushke.
70474
70475 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70476
70477         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70478         to the absolute name, not just one, to bypass Sun C 5.8's
70479         "warning: #include of /usr/include/... may be non-portable".
70480
70481 2006-07-04  Eric Blake  <ebb9@byu.net>
70482
70483         * modules/dirname-tests: New test module.
70484         * tests/test-dirname.c: New file, replacing dirname.c
70485         TEST_DIRNAME section that was recently deleted.
70486
70487 2006-07-04  Bruno Haible  <bruno@clisp.org>
70488
70489         Assume ANSI C header files and <ctype.h> functions.
70490         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70491         (mbsnwidth): Use isprint, iscntrl instead.
70492
70493 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70494
70495         Merge from coreutils.
70496         * MODULES.html.sh: Add xstrtold.
70497         * modules/xstrtold: New file.
70498         * modules/cycle-check (Files): Add lib/same-inode.h.
70499         * modules/dirname (Files): Add m4/double-slash-root.m4.
70500         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70501         * modules/mkdir-p (Files): Add lib/same-inode.h.
70502         * modules/same (Files): Add lib/same-inode.h.
70503
70504 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70505
70506         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70507         This is to keep the terminology clean; POSIX talks about
70508         "absolute pathnames", not "full pathnames", but the GNU
70509         Coding Standards say to use "path" for something else;
70510         so use "absolute" to keep both sides happy.
70511         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70512         Set gl_absolute_header, not gl_full_header_path.
70513         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70514         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70515         All uses changed.
70516
70517         Merge from coreutils.
70518
70519         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70520
70521         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70522         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70523         want to require the building of c-strtod.o.
70524         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70525         needs -lm directly.
70526         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70527
70528         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70529
70530         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70531         --as-needed option if available.  Problem reported by Albert Chin in
70532         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70533         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70534         cc merely issues a bunch of annoying warnings for --as-needed
70535         (this problem was reported by Bob Proulx).  Also, try linking with
70536         -lm to detect a bug in binutils 2.16 (this problem was reported
70537         by Ralf Wildenhues).
70538
70539         2006-06-18  Jim Meyering  <jim@meyering.net>
70540
70541         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70542         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70543         macro.
70544         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70545         also check for glibc-2.4's abort-inducing bug.
70546
70547         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70548         Low-probability clean-up should be to use rmdir to get rid of
70549         the just-created directory, not unlink.
70550
70551         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70552         configure fail, and request a bug report to inform us about it.
70553         Add a comment that, barring reports to the contrary, in 2007 we'll
70554         assume ftruncate is universally available.
70555
70556         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70557
70558         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70559
70560         2006-03-12  Jim Meyering  <jim@meyering.net>
70561
70562         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70563         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70564         * m4/same.m4 (gl_SAME): Likewise.
70565         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70566
70567         2006-03-11  Eric Blake  <ebb9@byu.net>
70568
70569         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70570         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70571         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70572         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70573
70574 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70575
70576         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70577         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70578         reported by Mark D. Baushke, one in
70579         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70580
70581         Merge from coreutils.
70582
70583         * lib/.cppi-disable: Add stdint_.h.
70584         * lib/.cvsignore: Add stdint.h.
70585
70586         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70587
70588         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70589         both double and long double versions.
70590         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70591         * lib/xstrtold.c: New file.
70592         * lib/xstrtod.h (xstrtold): New decl.
70593
70594         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70595
70596         * lib/filemode.c (setst): Remove.
70597         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70598         (arguably) clearer, and the generated code is a bit smaller on my
70599         Debian GNU/Linux stable x86 host.
70600
70601         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70602
70603         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70604         Assume that filemode.h includes sys/types.h and sys/stat.h.
70605         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70606         (ftypelet): Reorder to put common cases first, for efficiency.
70607         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70608         to do 'M'.
70609         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70610         of 10, for compatibility with FreeBSD.  All callers changed.
70611         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70612         types that can't be deduced solely from st_mode.  First arg is now a
70613         const pointer.
70614         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70615         (strmode): Renamed from mode_string.
70616         (filemodestring): New decl.
70617         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70618         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70619         needed.
70620         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70621
70622         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70623
70624         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70625         fsusage.h now does that.  Include fsusage.h first, to test interface.
70626         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70627         at most one method (the old code could have generated decls that
70628         didn't conform to C89, not that this was ever exercised).
70629         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70630
70631         2006-03-19  Jim Meyering  <jim@meyering.net>
70632
70633         Work even in a chroot where d_ino values for entries in "/"
70634         don't match the stat.st_ino values for the same names.
70635         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70636         number, iterate through all entries again, using lstat instead.
70637         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70638         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70639
70640         * lib/getcwd.c (__getcwd): Clarify a comment.
70641         Use memcpy in place of a call to strcpy.
70642
70643         2006-03-12  Jim Meyering  <jim@meyering.net>
70644
70645         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70646         matches that of the current directory (which we're about to chdir ".."
70647         out of), then save the dev-ino of the parent, instead.
70648
70649         * lib/same-inode.h (SAME_INODE): New file/macro.
70650         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70651         Include "same-inode.h", instead.
70652         * lib/same.c: Likewise.
70653         * lib/cycle-check.h: Include "same-inode.h".
70654         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70655         * lib/cycle-check.c (SAME_INODE): Remove definition.
70656         * lib/root-dev-ino.h: Include "same-inode.h".
70657
70658         2006-03-11  Eric Blake  <ebb9@byu.net>
70659
70660         * lib/same.c (same_name): s/base_name/last_component/
70661         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70662         * lib/filenamecat.c (file_name_concat): Likewise.
70663
70664         2006-03-11  Eric Blake  <ebb9@byu.net>,
70665                     Paul Eggert  <eggert@cs.ucla.edu>
70666
70667         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70668         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70669         drive prefix.
70670         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70671         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70672         (last_component): New method.
70673         * lib/dirname.c (dir_len): Determine when drive letters need a
70674         subsequent slash.  Preserve // when it is special.
70675         (dir_name): Don't append dot when drive letter is absolute.
70676         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70677         * lib/basename.c (base_name): New semantics - malloc the result.
70678         Preserve // when it is special.  Preserve relative files that look
70679         like drive letters.
70680         (base_len): Preserve // when it is special.
70681         (last_component): New method, similar to old base_name semantics.
70682         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70683         base_name.  Strip redundant slashes from ///.
70684
70685 2006-07-03  Jim Meyering  <jim@meyering.net>
70686
70687         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70688         macro is used before the first cycle_check call.
70689
70690 2006-07-03  Eric Blake  <ebb9@byu.net>
70691
70692         * modules/dirname (Depends-on): Add xstrndup.
70693
70694 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70695
70696         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70697         test cases, so that config.log is a bit easier to follow.
70698
70699 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70700
70701         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70702         both are 64 bits, since this seems to be the tradition, and this
70703         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70704         we ever run into a host that prefers long long to long in this
70705         case, we'll need another configure-time test.  Problem reported by
70706         Jim Meyering.
70707
70708 2006-07-02  Eric Blake  <ebb9@byu.net>
70709
70710         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70711
70712 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70713
70714         * modules/inttypes (Depends-on): No longer depends on stdint.
70715         * modules/stdint (Description): Say more about assumptions.
70716         Say that the fast types might differ.  Say macros are used.
70717         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70718         (Makefile.am): Revise list of substituted symbols to match
70719         new stdint.m4.
70720         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70721         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70722         * tests/test-stdint.c (verify_same_types)
70723         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70724         the code conforms to C99/C89.
70725         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70726         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70727
70728 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70729
70730         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70731         but fix a bug, by requiring at least 64 bits.
70732         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70733         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70734         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70735         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70736
70737         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70738         changes.  Make 2.59 a prerequisite.  Check and substitute for
70739         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70740         inttypes.h.  Do not use special include files; just use the
70741         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70742         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70743         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70744         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70745         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70746         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70747         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70748         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70749         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70750         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70751         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70752         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70753         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70754         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70755         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70756         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70757         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70758         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70759         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70760         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70761         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70762         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70763         not check for things that C99 does not require, e.g., int8_t.  If
70764         a test isn't needed unless <stdint.h> isn't working, and is
70765         unlikely to be needed for any other reason, then don't do it
70766         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70767         size_t, since we assume C89 freestanding at least.  Do not check
70768         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70769         the right thing even if the types are not defined.  Instead use:
70770         (gl_STDINT_TYPE_PROPERTIES): New macro.
70771         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70772         testing whether <sys/types.h> clashes, as Autoconf does this for
70773         us now.  All uses removed.
70774         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70775         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70776         (gl_CHECK_TYPE_SAME):
70777         Remove; no longer needed.
70778         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70779         exists, since we'll return 0 anyway in that case.
70780         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70781
70782 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70783
70784         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70785         possible collision with system files.
70786         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70787         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70788         WCHAR_MIN and WCHAR_MAX in this case.
70789         (<stddef.h>): Do not include; no longer needed.
70790         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70791         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70792         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70793         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70794         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70795         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70796         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70797         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70798         !defined(__c99))]: Include in this case too, since it's harmless
70799         now.
70800         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70801         dangerous to do so.
70802         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70803         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70804         (_STDINT_MIN, _STDINT_MAX): New macros.
70805         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70806         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70807         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70808         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70809         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70810         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70811         macros, not typedefs; this simplifies things quite a bit.
70812         Use long int for all types narrower than int64_t.
70813         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70814         Define in terms of long long int or int64_t or long int,
70815         not int64_t or int32_t.  This saves some compile-time testing.
70816         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70817         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70818         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70819         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70820         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70821         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70822         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70823         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70824         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70825         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70826         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70827         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70828         undef any previous version and define our own version, for
70829         simplicity and consistency with the new macros for types.
70830         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70831         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70832         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70833         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70834         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70835         @WINT_T_SUFFIX@ to keep things simple here.
70836         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70837         Simplify by assuming typical 8/16/32/64 host, since we're
70838         already doing that elsewhere anyway.
70839         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70840         and assume long long int is 64 bits if available.  This
70841         speeds up 'configure'.
70842
70843 2006-07-01  Eric Blake  <ebb9@byu.net>
70844
70845         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
70846         Reported by Andreas Buening.
70847
70848 2006-07-01  Eric Blake  <ebb9@byu.net>
70849
70850         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
70851
70852 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70853
70854         * lib/getaddrinfo.c: fixed typo
70855
70856 2006-06-29  Jim Meyering  <jim@meyering.net>
70857
70858         * modules/strftime (Maintainer): Add my name, since with the
70859         FPRINTFTIME changes strftime.c has forked from glibc.
70860
70861 2006-06-29  Eric Blake  <ebb9@byu.net>
70862
70863         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
70864
70865 2006-06-29  Eric Blake  <ebb9@byu.net>
70866
70867         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
70868
70869 2006-06-29  Eric Blake  <ebb9@byu.net>
70870
70871         * lib/stat_.h: New file.
70872
70873 2006-06-29  Eric Blake  <ebb9@byu.net>
70874
70875         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
70876         unused static function.
70877
70878 2006-06-29  Eric Blake  <ebb9@byu.net>
70879
70880         * doc/functions.texi (Function Portability): Document missing lstat
70881         on mingw.
70882
70883 2006-06-29  Eric Blake  <ebb9@byu.net>
70884
70885         * MODULES.html.sh: Add sys_stat.
70886         * modules/sys_stat: New module.
70887         * modules/mkstemp (Depends-on): Add sys_stat.
70888
70889 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70890
70891         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
70892
70893 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70894
70895         * m4/c-bs-a.m4: Removed.
70896
70897 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70898
70899         * lib/strftime.c: Assume strftime() exists.
70900
70901 2006-06-29  Derek Price  <derek@ximbiot.com>
70902
70903         * modules/c-bs-a: Removed - \a is C89.
70904         * MODULES.html.sh: Remove c-bs-a.
70905
70906 2006-06-29  Bruno Haible  <bruno@clisp.org>
70907
70908         * modules/wcwidth (License): Change to LGPL.
70909
70910 2006-06-28  Simon Josefsson  <jas@extundo.com>
70911
70912         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
70913         on _WIN32.
70914
70915         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
70916         getnameinfo.
70917
70918 2006-06-28  Simon Josefsson  <jas@extundo.com>
70919
70920         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
70921
70922 2006-06-28  Simon Josefsson  <jas@extundo.com>
70923
70924         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
70925         functions there.  It will succeed on Windows XP, but on Windows
70926         2000 and (presumably) earlier, it will fail, and use the internal
70927         re-implementation.
70928         (use_win32_p): New function.
70929         (getaddrinfo): Use strtoul on servname, to support numeric ports.
70930         Support AI_NUMERICSERV to disable getservbyname.
70931         (getnameinfo): New function, only supports
70932         NI_NUMERICHOST|NI_NUMERICSERV for now.
70933
70934         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
70935         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
70936         getnameinfo.
70937
70938 2006-06-28  Eric Blake  <ebb9@byu.net>
70939
70940         * modules/wcwidth: New file.
70941         * modules/mbchar (Depends-on): Add wcwidth.
70942         * modules/mbswidth (Depends-on): Add wcwidth.
70943         * MODULES.html.sh: Add wcwidth.
70944
70945 2006-06-28  Eric Blake  <ebb9@byu.net>
70946
70947         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
70948         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
70949
70950 2006-06-28  Eric Blake  <ebb9@byu.net>
70951
70952         * lib/xvasprintf.h: Fix comments.
70953
70954 2006-06-28  Eric Blake  <ebb9@byu.net>
70955
70956         * lib/mbchar.h (wcwidth): Include wcwidth.h.
70957         * lib/mbswidth.c (wcwidth): Move from here...
70958         * lib/wcwidth.h: ...to this new file.
70959
70960 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70961
70962         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
70963
70964         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
70965         it's obsolete.
70966         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
70967
70968 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70969
70970         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
70971         Autoconf 2.60 says this stuff was obsolete.
70972
70973 2006-06-28  Bruno Haible  <bruno@clisp.org>
70974
70975         * modules/wcwidth (Files): Add m4/wchar_t.m4.
70976
70977 2006-06-28  Bruno Haible  <bruno@clisp.org>
70978
70979         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
70980         gt_TYPE_WCHAR_T.
70981
70982 2006-06-28  Bruno Haible  <bruno@clisp.org>
70983
70984         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
70985         declaration for wcwidth.
70986         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
70987
70988 2006-06-28  Bruno Haible  <bruno@clisp.org>
70989
70990         * lib/mkdtemp.c [MINGW]: Include <io.h>.
70991         (mkdir): Define using _mkdir.
70992
70993 2006-06-28  Bruno Haible  <bruno@clisp.org>
70994
70995         * lib/getaddrinfo.h: Fix POSIX URL.
70996         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
70997         _WIN32.
70998         (use_win32_p): Make static.
70999         (getaddrinfo): Reject service name if it is empty or does not consist
71000         solely of decimal digits, or if its value is > 65535.
71001         (getnameinfo): Remove useless casts.
71002
71003 2006-06-27  Simon Josefsson  <jas@extundo.com>
71004
71005         * modules/sys_select: New file, suggested by Bruno Haible, Paul
71006         Eggert and Martin Lambers.
71007
71008 2006-06-27  Simon Josefsson  <jas@extundo.com>
71009
71010         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
71011         Eggert and Martin Lambers.
71012
71013 2006-06-27  Bruno Haible  <bruno@clisp.org>
71014
71015         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
71016         result to 0, not to empty.
71017         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
71018
71019 2006-06-27  Bruno Haible  <bruno@clisp.org>
71020
71021         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
71022
71023 2006-06-26  Simon Josefsson  <jas@extundo.com>
71024
71025         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
71026         present.
71027
71028 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
71029
71030         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
71031         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
71032         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
71033
71034 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
71035
71036         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
71037
71038 2006-06-26  Bruno Haible  <bruno@clisp.org>
71039
71040         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
71041
71042 2006-06-26  Bruno Haible  <bruno@clisp.org>
71043
71044         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
71045
71046 2006-06-26  Bruno Haible  <bruno@clisp.org>
71047
71048         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
71049         SGI C compiler in pre-C99 mode.
71050         Suggested by Mark D. Baushke and Larry Jones.
71051
71052 2006-06-26  Bruno Haible  <bruno@clisp.org>
71053
71054         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
71055         WCHAR_MAX.
71056         Reported by Mark D. Baushke and Larry Jones.
71057
71058 2006-06-26  Bruno Haible  <bruno@clisp.org>
71059
71060         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
71061         in pre-C99 mode.
71062         Suggested by Mark D. Baushke and Larry Jones.
71063
71064 2006-06-23  Simon Josefsson  <jas@extundo.com>
71065             Bruno Haible  <bruno@clisp.org>
71066
71067         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
71068         Emit mostlyclean-local rule.
71069         (func_emit_tests_Makefile_am): Likewise.
71070         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
71071
71072 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
71073
71074         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
71075
71076 2006-06-23  Bruno Haible  <bruno@clisp.org>
71077
71078         * tests/test-stdint.c: Update to match ISO C 99 Technical
71079         Corrigendum 1.
71080
71081 2006-06-23  Bruno Haible  <bruno@clisp.org>
71082
71083         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
71084
71085 2006-06-23  Bruno Haible  <bruno@clisp.org>
71086
71087         * lib/stdint_.h: Treat IRIX like OpenBSD.
71088
71089 2006-06-23  Bruno Haible  <bruno@clisp.org>
71090
71091         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
71092         ISO C 99 Technical Corrigendum 1.
71093
71094 2006-06-22  Simon Josefsson  <jas@extundo.com>
71095
71096         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
71097         MinGW.
71098
71099 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71100
71101         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
71102         needed.  Some compiler complained about some of them.  Problem reported
71103         by Larry Jones in
71104         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
71105
71106 2006-06-21  Simon Josefsson  <jas@extundo.com>
71107
71108         * tests/test-getaddrinfo.c: New file.
71109
71110         * modules/getaddrinfo-tests: New file.
71111
71112         * MODULES.html.sh: Add inet_pton.
71113
71114         * modules/inet_pton: New file.
71115
71116 2006-06-21  Simon Josefsson  <jas@extundo.com>
71117
71118         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
71119         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
71120         of using the (limited) gnulib implementation on Windows XP.
71121
71122         * m4/inet_pton.m4: New file.
71123
71124 2006-06-21  Simon Josefsson  <jas@extundo.com>
71125
71126         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
71127         variable.
71128
71129         * lib/socket_.h: Don't define WINVER.
71130
71131         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
71132         slightly modified to work in gnulib.
71133
71134 2006-06-21  Simon Josefsson  <jas@extundo.com>
71135
71136         * doc/gnulib.texi (Windows sockets): Add.
71137
71138 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
71139
71140         * lib/read-file.c (fread_file): Start with buffer allocation of
71141         0 bytes rather than 1 byte; this simplifies the code.
71142         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
71143         code to free buffer and save/restore errno.
71144         (internal_read_file): Remove unused local.
71145
71146 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
71147
71148         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
71149         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
71150         Problem reported by Denis Excoffier in
71151         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
71152
71153 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71154
71155         * modules/sys_socket, modules/socklen: Include sys/types since
71156         FreeBSD 4.x's sys/socket.h needs it.
71157
71158 2006-06-19  Simon Josefsson  <jas@extundo.com>
71159
71160         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
71161
71162 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71163
71164         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
71165
71166 2006-06-19  Bruno Haible  <bruno@clisp.org>
71167
71168         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
71169         and FULL_PATH_INTTYPES_H in angle brackets.
71170         Reported by Mark D. Baushke <mdb@gnu.org>.
71171
71172 2006-06-17  Eric Blake  <ebb9@byu.net>
71173
71174         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
71175         errno.
71176
71177 2006-06-17  Bruno Haible  <bruno@clisp.org>
71178
71179         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
71180         <sys/inttypes.h>.
71181
71182 2006-06-17  Bruno Haible  <bruno@clisp.org>
71183
71184         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
71185         whether errno is declared. Assume <errno.h> declares errno.
71186
71187 2006-06-17  Bruno Haible  <bruno@clisp.org>
71188
71189         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
71190
71191 2006-06-17  Bruno Haible  <bruno@clisp.org>
71192
71193         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
71194         problem on Solaris 2.5.1.
71195
71196 2006-06-16  Eric Blake  <ebb9@byu.net>
71197
71198         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
71199         * lib/unicodeio.c [!defined errno]: Likewise.
71200         * lib/strtol.c [!defined errno]: Likewise.
71201         * lib/strtod.c [!defined errno]: Likewise.
71202
71203 2006-06-15  Eric Blake  <ebb9@byu.net>
71204
71205         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
71206
71207 2006-06-15  Eric Blake  <ebb9@byu.net>
71208
71209         * config/srclist.txt (ssize_t.m4): Lose sync.
71210
71211 2006-06-15  Bruno Haible  <bruno@clisp.org>
71212
71213         * modules/stdint (Files): Include m4/full-header-path.m4,
71214         m4/size_max.m4, m4/wchar_t.m4.
71215         (Makefile.am): Many more substitutions.
71216         * modules/stdint-tests: New file.
71217         * tests/test-stdint.c: New file.
71218
71219 2006-06-15  Bruno Haible  <bruno@clisp.org>
71220
71221         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
71222         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
71223         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
71224         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
71225         gl_CHECK_TYPE_SAME): New macros.
71226
71227 2006-06-15  Bruno Haible  <bruno@clisp.org>
71228
71229         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
71230
71231 2006-06-15  Bruno Haible  <bruno@clisp.org>
71232
71233         * lib/stdint_.h: Rewritten to be fully auto-configured.
71234         Fixes bug on HP-UX/IA64.
71235
71236 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
71237
71238         * lib/getdate.y (__attribute__): Don't define if already defined.
71239         Problem reported by Larry Jones.
71240         * lib/utimens.c (__attribute__): Likewise.
71241
71242 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
71243
71244         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
71245         reported by Andreas Schwab.
71246
71247 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71248             Bruno Haible  <bruno@clisp.org>
71249
71250         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
71251         check for the declaration of strnlen and a run test that exposes the
71252         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
71253         rpl_strndup.
71254
71255 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71256             Bruno Haible  <bruno@clisp.org>
71257
71258         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
71259
71260 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71261
71262         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
71263         compile test, for Tru64 4.0D.
71264
71265 2006-05-28  Karl Berry  <karl@gnu.org>
71266
71267         * config/srclist.txt (printf-args.c): lose sync.
71268
71269 2006-05-26  Martin Lambers  <marlam@marlam.de>
71270
71271         * lib/getpass.c: Updates the test for the native W32 API, and adds
71272         missing includes, thus fixing compilation warnings.
71273
71274 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71275
71276         * lib/exclude.c (exclude_fnmatch): New function.
71277         (excluded_file_name): Call exclude_fnmatch.
71278         * lib/exclude.h (excluded_file_name): New prototype
71279
71280 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
71281
71282         * lib/tempname.c (small_open, large_open): New macros.
71283         (__open, __open64) [!_LIBC]: Remove.
71284         (__gen_tempname): Use small_open and large_open instead of __open
71285         and __open64.  This fixes a portability bug on HP-UX 11.11i
71286         reported by Simon Wing-Tang in
71287         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
71288
71289 2006-05-24  Bruno Haible  <bruno@clisp.org>
71290
71291         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
71292         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
71293         Reported by Thorsten Maerz <torte@netztorte.de> via
71294         Aaron Stone <aaron@serendipity.cx>.
71295
71296 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71297
71298         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
71299         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
71300         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
71301         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
71302         not really conditional on the cache.
71303         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
71304
71305 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71306
71307         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
71308         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
71309         (my_usleep): Don't mishandle maximum value.
71310
71311 2006-05-19  Jim Meyering  <jim@meyering.net>
71312
71313         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
71314
71315 2006-05-17  Bruno Haible  <bruno@clisp.org>
71316
71317         Cygwin portability.
71318         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
71319
71320 2006-05-17  Bruno Haible  <bruno@clisp.org>
71321
71322         * lib/stdint_.h: Fix recognition of Cygwin.
71323
71324 2006-05-15  Bruno Haible  <bruno@clisp.org>
71325
71326         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
71327         on libtool patch by Ralf Wildenhues.
71328
71329 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
71330
71331         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
71332         test for C99 conformance; (bool) 0.5 is an integer constant
71333         expression, but (bool) -0.5 is not.  Problem reported by Fedor
71334         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
71335
71336 2006-05-11  Simon Josefsson  <jas@extundo.com>
71337
71338         * m4/xvasprintf.m4: Fix obvious typo.
71339
71340 2006-05-11  Jim Meyering  <jim@meyering.net>
71341
71342         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
71343         James Lemley.
71344
71345 2006-05-10  Simon Josefsson  <jas@extundo.com>
71346
71347         * lib/md4.c: Typo fix, update copyright years.
71348         (K1, K2): Don't use L because it turn computations into 64-bit on
71349         64-bit platforms.
71350
71351 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
71352
71353         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
71354         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
71355         unwanted sign propagation, e.g., on hosts with 64-bit int.
71356         There still are some problems with reeelly weird theoretical hosts
71357         (e.g., 33-bit int) but it's not worth worrying about now.
71358         * lib/sha1.c (rol): Likewise.
71359         (K1, K2, K3, K4): Remove unnecessary L suffix.
71360
71361 2006-05-10  Bruno Haible  <bruno@clisp.org>
71362
71363         * lib/des.c: Cast to avoid warnings.
71364
71365 2006-05-09  Bruno Haible  <bruno@clisp.org>
71366
71367         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
71368         (Depends-on): Depend also on xsize, stdarg.
71369         (configure.ac): Add gl_XVASPRINTF.
71370
71371 2006-05-09  Bruno Haible  <bruno@clisp.org>
71372
71373         * m4/xvasprintf.m4: New file.
71374
71375 2006-05-09  Bruno Haible  <bruno@clisp.org>
71376
71377         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
71378         (EOVERFLOW): Define fallback value.
71379         (xstrcat): New function.
71380         (xvasprintf): Recognize the special case of a string concatenation.
71381
71382 2006-05-08  Eric Blake  <ebb9@byu.net>
71383
71384         * gnulib-tool (func_version): Base copyright year on CVS date.
71385         (func_emit_copyright_notice): New function.
71386         (func_emit_lib_Makefile_am): Use it.
71387         (func_emit_tests_Makefile_am): Likewise.
71388         (func_import): Likewise.
71389
71390 2006-05-08  Bruno Haible  <bruno@clisp.org>
71391
71392         * modules/stdarg: New file.
71393         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
71394
71395 2006-05-08  Bruno Haible  <bruno@clisp.org>
71396
71397         * m4/stdarg.m4: New file, from GNU gettext.
71398
71399 2006-05-08  Bruno Haible  <bruno@clisp.org>
71400
71401         * config/srclist.txt (build-aux/config.rpath): different from latest
71402         release.
71403
71404 2006-05-08  Bruno Haible  <bruno@clisp.org>
71405
71406         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
71407
71408 2006-05-05  Jim Meyering  <jim@meyering.net>
71409
71410         * m4/warning.m4: New file, derived from bison's file by the same name.
71411
71412 2006-05-03  Bruno Haible  <bruno@clisp.org>
71413
71414         * lib/stdint_.h: Shorter URL.
71415         * lib/inttypes.h: Likewise.
71416
71417 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71418
71419         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
71420
71421 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71422
71423         * lib/verify.h: Document the internals better.  Most of this change
71424         was written by Bruno Haible.
71425
71426 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71427
71428         * doc/verify.texi: New file, partly based on a proposal by
71429         Bruno Haible.
71430
71431 2006-05-02  Bruno Haible  <bruno@clisp.org>
71432
71433         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71434         test from here...
71435         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71436
71437 2006-04-29  Bruno Haible  <bruno@clisp.org>
71438
71439         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71440         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71441
71442 2006-04-29  Bruno Haible  <bruno@clisp.org>
71443
71444         * gnulib-tool: Make --update option actually work.
71445
71446 2006-04-29  Bruno Haible  <bruno@clisp.org>
71447
71448         * doc/gcd.texi: New file.
71449         * doc/gnulib.texi: Include it.
71450
71451 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71452
71453         * lib/getdate.y (get_date): When adding relative date, start with the
71454         initial time, not with the result of the first mktime call.
71455
71456 2006-04-25  Bruno Haible  <bruno@clisp.org>
71457
71458         * gnulib-tool (func_import): Output the include directives in three
71459         blocks, sorted separately.
71460         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71461
71462 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71463
71464         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71465         to define main with arguments, for C++.  Reported by Eric Blake.
71466         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71467         Prefer 'int main ()' to 'int main (void)', for C++.
71468         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71469         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71470         for 'main', for C99 and C++.
71471
71472 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71473
71474         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71475         Don't assume that exit status -1 is valid.
71476         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71477         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71478         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71479         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71480         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71481         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71482         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71483         functions can be used without declaring them, or that you can
71484         exit with status -1.
71485         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71486
71487 2006-04-24  Karl Berry  <karl@gnu.org>
71488
71489         * config/srclist.txt (longdouble.m4): sync lost.
71490
71491 2006-04-24  Eric Blake  <ebb9@byu.net>
71492
71493         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71494
71495 2006-04-24  Bruno Haible  <bruno@clisp.org>
71496
71497         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71498         poll() implementation in AIX.
71499         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71500
71501 2006-04-24  Bruno Haible  <bruno@clisp.org>
71502
71503         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71504         assigned exactly once.
71505
71506 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71507             Bruno Haible  <bruno@clisp.org>
71508
71509         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71510         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71511         for AM_CPPFLAGS.
71512
71513 2006-04-23  Bruno Haible  <bruno@clisp.org>
71514
71515         * modules/copy-file: Depend on unistd.
71516         * modules/execute: Likewise.
71517         * modules/fatal-signal: Likewise.
71518         * modules/findprog: Likewise.
71519         * modules/mkdtemp : Likewise.
71520         * modules/pipe: Likewise.
71521         * modules/wait-process: Likewise.
71522
71523 2006-04-23  Bruno Haible  <bruno@clisp.org>
71524
71525         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71526         condition was already detected.
71527         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71528
71529 2006-04-23  Bruno Haible  <bruno@clisp.org>
71530
71531         * lib/copy-file.c: Include <unistd.h> unconditionally.
71532         * lib/execute.c: Likewise.
71533         * lib/fatal-signal.c: Likewise.
71534         * lib/findprog.c: Likewise.
71535         * lib/mkdtemp.c: Likewise.
71536         * lib/pipe.h: Likewise.
71537         * lib/pipe.c: Likewise.
71538         * lib/wait-process.h: Likewise.
71539
71540 2006-04-23  Bruno Haible  <bruno@clisp.org>
71541
71542         * gnulib-tool (func_usage): Fix --import description. Document
71543         --update.
71544         (func_import): Create temporary file in a temporary directory, if
71545         --dry-run is specified. Silence errors from 'grep' when there are no
71546         m4 files in $m4dir.
71547         (func_create_testdir): Silence errors from 'grep' when there are no
71548         m4 files in $m4dir.
71549         Reported by Karl Berry <karl@freefriends.org>.
71550
71551 2006-04-20  Bruno Haible  <bruno@clisp.org>
71552
71553         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71554         one argument, so that the code will be portable to Autoconf 2.60.
71555         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71556         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71557         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71558
71559 2006-04-19  Derek Price  <derek@ximbiot.com>
71560             Eric Blake  <ebb9@byu.net>
71561
71562         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71563         rather than "/full/path.h".  Update comment to match.  Shorten &
71564         generalize m4_translit call via AS_TR_CPP.
71565
71566 2006-04-19  Derek Price  <derek@ximbiot.com>
71567             Eric Blake  <ebb9@byu.net>
71568
71569         * lib/inttypes.h: Correct grammar in comment.
71570
71571 2006-04-18  Derek Price  <derek@ximbiot.com>
71572             Paul Eggert  <eggert@cs.ucla.edu>
71573
71574         * modules/inttypes: New file.
71575         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71576
71577 2006-04-18  Derek Price  <derek@ximbiot.com>
71578             Paul Eggert  <eggert@cs.ucla.edu>
71579
71580         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71581         New files.
71582
71583 2006-04-18  Derek Price  <derek@ximbiot.com>
71584             Paul Eggert  <eggert@cs.ucla.edu>
71585
71586         * lib/inttypes.h: New file.
71587         * lib/strtoimax.c: Assume <inttypes.h>.
71588
71589 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71590
71591         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71592         isn't mounted.  Problem reported by Kir Kolyshkin.
71593
71594 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71595
71596         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71597         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71598         Derek R. Price.
71599         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71600         implementation.
71601
71602 2006-04-12  Eric Blake  <ebb9@byu.net>
71603
71604         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71605         is now done automatically by the corresponding Autoconf macro.
71606
71607 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71608
71609         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71610         time_r.h.
71611
71612 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71613
71614         Merge regex changes from libc, removing some of our
71615         POSIX-conformance changes that were rejected and redoing them in a
71616         less-intrusive way.
71617
71618         * lib/regcomp.c (re_compile_internal, init_dfa):
71619         Length arg is now size_t, not Idx.  All uses changed.
71620         (peek_token): Forward decl now says internal_function.
71621         (__re_error_msgid, __re_error_msgid_idx):
71622         Now static rather than extern with attribute_hidden.
71623         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71624         For some reason libc prefers K&R style defns for external functions.
71625         (regerror) [!defined _LIBC]: Likewise.
71626         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71627         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71628         (build_range_exp, build_collating_symbol):
71629         Use K&R-style defn.
71630         (re_compile_fastmap): Use '\0' to memset, not 0.
71631         (utf8_sb_map): Make the calculations more obvious.
71632         (init_dfa, parse_bracket_exp, build_charclass_op):
71633         Call calloc and cast result, as glibc does.
71634         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71635         (build_range_exp, build_collating_symbol):
71636         Now internal functions.
71637
71638         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71639
71640         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71641         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71642         Don't depend on VMS; depend on __VMS instead, for POSIX
71643         namespace cleanness.
71644         (regoff_t): Define to ssize_t, not long int.
71645
71646         Remove the REG_ macros named below.  Instead, make the old names
71647         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71648         __USE_GNU_REGEX.
71649         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71650         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71651         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71652         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71653         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71654         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71655         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71656         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71657         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71658         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71659         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71660         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71661         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71662         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71663         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71664         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71665         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71666         (REG_NREGS):
71667         Remove.  All uses replaced by the old RE_* names.
71668         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71669         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71670         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71671         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71672         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71673         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71674         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71675         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71676         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71677         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71678         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71679         Don't bother having these macros be independent of each others'
71680         values, since they no longer exist in the POSIX name space.
71681
71682         Rename the following member names back to their old names,
71683         unless !__USE_GNU_REGEX.  All uses changed back.
71684         (buffer): Renamed from re_buffer.
71685         (allocated): Renamed from re_allocated.
71686         (used): Renamed from re_used.
71687         (syntax): Renamed from re_syntax.
71688         (fastmap): Renamed from re_fastmap.
71689         (translate): Renamed from re_translate.
71690         (can_be_null): Renamed from re_can_be_null.
71691         (regs_allocated): Renamed from re_regs_allocated.
71692         (fastmap_accurate): Renamed from re_fastmap_accurate.
71693         (no_sub): Renamed from re_no_sub.
71694         (not_bol): Renamed from re_not_bol.
71695         (not_eol): Renamed from re_not_eol.
71696         (newline_anchor): Renamed from re_newline_anchor.
71697         (num_regs): Renamed from rm_num_regs.
71698         (start): Renamed from rm_start.
71699         (end): Renamed from rm_end.
71700
71701         (free_state): Move up a bit.
71702
71703         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71704         #define to be empty.
71705         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71706         when that is what is intended.
71707         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71708         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71709         (MAX): New macro.
71710         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71711         All uses changed back to re_malloc, etc.  It's now the caller's
71712         responsibility to check for overflow; all callers changed.
71713         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71714         (re_x2nrealloc): Remove.
71715         (free_state): Remove decl.
71716
71717         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71718         (re_set_registers, re_exec):
71719         Use K&R-style defn.
71720
71721         2006-01-31  Roland McGrath  <roland@redhat.com>
71722
71723         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71724         Reported by Mike Frysinger <vapier@gentoo.org>.
71725
71726         2006-01-15  Andreas Jaeger  <aj@suse.de>
71727
71728         [BZ #1950]
71729         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71730         build_wcs_upper_buffer change.
71731         (build_wcs_upper_buffer): Change return type.
71732
71733         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71734
71735         * lib/regex_internal.h: Include <stdint.h> if available.
71736
71737         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71738
71739         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71740
71741         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71742
71743         * lib/regcomp.c: Adjust for changed secondary hash function.
71744
71745         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71746
71747         * lib/regex.h: Pretty printing.
71748         Clean up namespace a bit.
71749
71750         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71751
71752         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71753         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71754
71755         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71756                     Ulrich Drepper  <drepper@redhat.com>
71757
71758         [BZ #1302]
71759         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71760         changed.
71761         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71762
71763         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71764
71765         [BZ #281]
71766         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71767         * lib/regcomp.c: Remove unnecessary uses of
71768         unsigned RE_TRANSLATE_TYPE.
71769         * lib/regex_internal.h: Likewise.
71770         * lib/regex_internal.c: Likewise.
71771         * lib/regexec.c: Likewise.
71772         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71773
71774         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71775
71776         * lib/regexec.c (find_recover_state): Remove unnecessary
71777         initialization.
71778         (transit_state_bkref): Make DFA a const pointer.
71779         (get_subexp): Likewise.
71780         (check_arrival): Likewise.
71781         (update_cur_sifted_state): Likewise.
71782         (re_search_internal): Likewise.
71783         (prune_impossible_nodes): Likewise.
71784         (acquire_init_state_context): Likewise.
71785         (proceed_next_node): Likewise.
71786         (set_regs): Likewise.
71787         (free_fail_stack_return): Likewise.
71788         (check_arrival_expand_ecl): Mark DFA parameter as const.
71789         (check_arrival_expand_ecl_sub): Likewise.
71790         (check_subexp_limits): Likewise.
71791         (sub_epsilon_src_nodes):  Likewise.
71792         (add_epsilon_src_nodes):  Likewise.
71793         (merge_state_array): Likewise.
71794         (update_regs): Likewise.
71795         (build_trtable): Likewise.
71796         (sift_states_backward): Mark MCTX parameter as const.
71797         (build_sifted_states): Likewise.
71798         (update_cur_sifted_state): Likewise.
71799         (sift_states_mkref): Likewise.
71800         (check_arrival_expand_ecl): Mark eclosure as const.
71801         (check_dst_limits_calc_pos_1): Likewise.
71802         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71803         pointer.
71804
71805         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71806
71807         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71808         (transit_state_sb): Likewise.
71809         (transit_state_mb): Likewise.
71810         (sift_states_iter_mb): Likewise.
71811         (check_arrival_add_next_nodes): Likewise.
71812         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71813         [_LIBC] (re_search_2_stub): Use mempcpy.
71814
71815         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71816         mbrtowc for very simple UTF-8 case.
71817
71818         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71819         a pointer-to-const.
71820         (re_acquire_state_context): Likewise.
71821         * lib/regex_internal.h: Adjust prototypes.
71822
71823         * lib/regex.c: Prevent using C++ compilers.
71824
71825         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71826         (re_acquire_state_context): Likewise.
71827
71828 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71829
71830         * modules/regex (Depends-on): Add ssize_t.
71831
71832 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71833
71834         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71835         translation table.
71836
71837 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71838
71839         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71840
71841 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
71842             Bruno Haible  <bruno@clisp.org>
71843
71844         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
71845         <sys/types.h> and <inttypes.h>.
71846
71847 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71848
71849         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
71850         `__error_t_defined', so argp.h will not typedef the former.
71851
71852 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
71853
71854         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
71855         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
71856         glibc names.  Even if glibc is changed to conform to POSIX, the
71857         traditional names will be available anyway, since regex depends on
71858         the extensions module.  Also, fix a longstanding typo in the
71859         implementation of Spencer ERE test #75 from grep 2.3.  Problems
71860         reported by Emanuele Giaquinta.  Also, change sense of cached
71861         variable, so that the message makes sense.
71862
71863 2006-03-24  Simon Josefsson  <jas@extundo.com>
71864
71865         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
71866         including some doc fixes.
71867         (base64_encode_alloc): Fix +1 bug on allocation failures.
71868
71869 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71870
71871         * lib/base64.c (base64_encode): Do not read past end of array with
71872         unsanitized input on systems with CHAR_BIT > 8.
71873
71874 2006-03-24  Eric Blake  <ebb9@byu.net>
71875
71876         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
71877
71878 2006-03-22  Karl Berry  <karl@gnu.org>
71879
71880         * config/srclist.txt (*setenv.[ch]): get from coreutils.
71881         * config/srclistvars.sh (COREUTILS): new var.
71882
71883 2006-03-17  Jim Meyering  <jim@meyering.net>
71884
71885         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
71886         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
71887
71888 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71889
71890         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
71891         no longer needs it.  Instead, check that regoff_t is as least
71892         as wide as ptrdiff_t.
71893
71894         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
71895         so that our regex.h stays compatible with the installed regex.
71896         This is helpful for installers who configure --without-included-regex.
71897         Problem reported by Emanuele Giaquinta.
71898
71899 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71900
71901         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
71902         Typedef to long int, not to off_, as POSIX will likely change
71903         in that direction.
71904
71905 2006-03-15  Eric Blake  <ebb9@byu.net>
71906
71907         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
71908
71909 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71910
71911         * lib/argp-help.c (validate_uparams): Fix typo
71912         * lib/argp-parse.c (argp_default_options): Consistently begin help
71913         messages with a lowercase letter.
71914
71915 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
71916
71917         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
71918         overrun buffers and shouldn't be used (much as gets shouldn't be
71919         used).
71920         * lib/time_r.c (asctime_r, ctime_r): Likewise.
71921
71922 2006-03-08  Simon Josefsson  <jas@extundo.com>
71923
71924         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
71925         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71926
71927 2006-03-08  Simon Josefsson  <jas@extundo.com>
71928
71929         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
71930         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71931
71932 2006-03-08  Simon Josefsson  <jas@extundo.com>
71933
71934         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
71935         signal that configure disabled the device.
71936
71937 2006-03-08  Simon Josefsson  <jas@extundo.com>
71938
71939         * build-aux/maint.mk: Fix refresh-po, to handle no translated
71940         languages.
71941
71942 2006-03-07  Simon Josefsson  <jas@extundo.com>
71943
71944         * modules/getopt (Depends-on): Add unistd.
71945
71946         * modules/unistd: New file.
71947
71948 2006-03-07  Simon Josefsson  <jas@extundo.com>
71949
71950         * modules/gc-random: New file.
71951
71952 2006-03-07  Simon Josefsson  <jas@extundo.com>
71953
71954         * m4/unistd_h.m4: New file.
71955
71956 2006-03-07  Simon Josefsson  <jas@extundo.com>
71957
71958         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
71959         test to be side-effect free by storing the result in the cache
71960         variable gl_cv_lib_readline, and moving the assignment of
71961         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
71962         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71963
71964 2006-03-07  Simon Josefsson  <jas@extundo.com>
71965
71966         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
71967         error on missing devices (the functions will return an error).
71968
71969         * m4/gc.m4: Move random stuff to gc-random.m4
71970
71971 2006-03-07  Simon Josefsson  <jas@extundo.com>
71972
71973         * lib/unistd_.h: New file.
71974
71975 2006-03-07  Simon Josefsson  <jas@extundo.com>
71976
71977         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
71978
71979 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71980
71981         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
71982         Problem reported by Juan Manuel Guerrero.
71983
71984 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71985
71986         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
71987         the unistd module.
71988         * lib/getlogin_r.c: Likewise.
71989         * lib/getlogin_r.h: Likewise.
71990         * lib/glob.c: Likewise.
71991         * lib/pagealign_alloc.c: Likewise.
71992         * lib/unistd_.h: Remove; no longer needed.
71993
71994 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71995
71996         * MODULES.html.sh (Support for systems lacking POSIX:2001):
71997         Add unistd.
71998         * modules/c-stack (Depends-on): Add unistd.
71999         * modules/getlogin_r: Likewise.
72000         * modules/glob: Likewise.
72001         * modules/pagealign_alloc: Likewise.
72002         * modules/unistd (Files): Remove lib/unistd_.h.
72003         (EXTRA_DIST): Remove.
72004         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
72005         need unistd_.h.
72006         (MOSTLYCLEANFILES): Remove unistd.h-t.
72007
72008 2006-03-03  Simon Josefsson  <jas@extundo.com>
72009
72010         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
72011
72012 2006-03-03  Simon Josefsson  <jas@extundo.com>
72013
72014         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
72015         libidn and bison.
72016
72017 2006-03-03  Simon Josefsson  <jas@extundo.com>
72018
72019         * build-aux/maint.mk: Add indent target.
72020
72021 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
72022
72023         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
72024         our replacement poll.h in any case, to avoid a differing
72025         declaration from a system header.  Seen on AIX.
72026
72027 2006-03-01  Simon Josefsson  <jas@extundo.com>
72028
72029         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
72030         <kasal@ucw.cz>.
72031
72032 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72033
72034         * modules/gettime (Depends-on): Add extensions module.
72035         * modules/nanosleep (Depends-on): Likewise.
72036         * modules/settime (Depends-on): Likewise.
72037
72038 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72039
72040         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
72041         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
72042         pedantically.
72043         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72044         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
72045
72046         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
72047         not "==".  Reported by Ralf Wildenhues.
72048
72049 2006-03-01  Karl Berry  <karl@gnu.org>
72050
72051         * doc/Copyright/request-*: new files, synced from gnuorg.
72052
72053 2006-03-01  Karl Berry  <karl@gnu.org>
72054
72055         * config/srclist.txt (Copyright/*): new entries.
72056
72057 2006-02-28  Simon Josefsson  <jas@extundo.com>
72058
72059         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
72060
72061 2006-02-27  Simon Josefsson  <jas@extundo.com>
72062
72063         * lib/base64.h: Indent #define's.  From Jim Meyering
72064         <jim@meyering.net>.
72065
72066 2006-02-27  Jim Meyering  <jim@meyering.net>
72067
72068         Revert the change of 2006-02-24, so these files can continue
72069         to be sync'd from gettext.
72070         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
72071         of `config.h'.
72072
72073 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72074
72075         * modules/intprops: New file.
72076         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72077         Add intprops.
72078         * modules/getloadavg (Files): Remove lib/intprops.h.
72079         (Depends-on): Add intprops.
72080         * modules/human: Likewise.
72081         * modules/inttostr: Likewise.
72082         * modules/openat: Likewise.
72083         * modules/sig2str: Likewise.
72084         * modules/userspec: Likewise.
72085         * modules/utimecmp: Likewise.
72086         * modules/xnanosleep: Likewise.
72087         * modules/xstrtol: Likewise.
72088
72089 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
72090
72091         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
72092         * modules/lock-tests (TESTS): Use $(EXEEXT).
72093         * modules/tls-tests: Likewise.
72094         * modules/argp-tests: Likewise.
72095         (check_PROGRAMS): New var, replacing...
72096         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
72097
72098 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72099
72100         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
72101         `config.h'.
72102
72103 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72104
72105         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
72106
72107 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72108
72109         Sync from coreutils.
72110         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
72111         gl_CHDIR_SAFER.
72112
72113 2006-02-22  Jim Meyering  <jim@meyering.net>
72114
72115         Sync from coreutils.
72116         * m4/chdir-safer.m4: New file.
72117
72118 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72119
72120         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
72121         AT_FDCWD exceeds INT_MAX.
72122         * lib/openat.h (AT_FDCWD): Likewise.
72123
72124 2006-02-17  Eric Blake  <address@hidden>
72125
72126         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
72127
72128 2006-02-16  Simon Josefsson  <jas@extundo.com>
72129
72130         * modules/getaddrinfo (Depends-on): Add sys_socket.
72131
72132 2006-02-15  Simon Josefsson  <jas@extundo.com>
72133
72134         * build-aux/maint.mk: Add dsyntax-check rule.
72135
72136 2006-02-15  Eric Blake  <ebb9@byu.net>
72137
72138         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
72139         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
72140         'present but cannot compile' warnings on cygwin.
72141         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
72142         use ws2tcpip.h if sys/socket.h works.
72143         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
72144         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
72145
72146 2006-02-14  Simon Josefsson  <jas@extundo.com>
72147
72148         * modules/maintainer-makefile (Files): Rename.
72149
72150         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
72151         and (the local) Makefile.cfg to maint-cfg.mk.
72152
72153         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
72154         to the latter.
72155
72156         * modules/maintainer-makefile: New module.
72157
72158         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
72159         severaly stripped to make it possible to build it up from scratch
72160         with reliable tests.
72161
72162         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
72163         fixes to permit overriding the default actions when configure and
72164         makefile are not available.
72165
72166 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72167
72168         Sync from coreutils.
72169         * modules/lstat (Depends-on): Don't depend on xalloc.
72170         (License): Change from GPL to LGPL, since this is now simply a
72171         replacement for a libc function.
72172
72173 2006-02-14  Jim Meyering  <jim@meyering.net>
72174
72175         Sync from coreutils.
72176
72177         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
72178         failure on deficient systems, and simplify gnulib lgpl dependencies.
72179         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
72180         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
72181
72182         * lib/xalloc-die.c: Remove unused definition of N_.
72183
72184 2006-02-14  Jim Meyering  <jim@meyering.net>
72185
72186         Sync from coreutils.
72187         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
72188         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
72189         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
72190         double-quote uses of that variable, to accommodate the rare case in
72191         which getmntent is available in none of the libraries checked.  This
72192         happens at least on FreeBSD 5.0.
72193
72194 2006-02-13  Simon Josefsson  <jas@extundo.com>
72195
72196         * gnulib-tool (Usage): Fix --import, from
72197         karl@freefriends.org (Karl Berry).
72198
72199 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72200
72201         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
72202
72203 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
72204
72205         * lib/argp-namefrob.h: Restore changes accidentally lost during the
72206         "autoupdate" on 2005-12-12.
72207
72208 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72209
72210         * modules/closeout (Depends-on): Remove atexit.
72211
72212 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72213
72214         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
72215         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
72216
72217 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72218
72219         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
72220         __EXTENSIONS__ if this causes compilation to fail.  Problem
72221         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
72222         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
72223
72224 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
72225
72226         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
72227         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
72228         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
72229         All uses changed.
72230
72231 2006-01-26  Simon Josefsson  <jas@extundo.com>
72232
72233         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
72234         prototype is visible on mingw32.
72235
72236         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
72237         for mingw32.
72238
72239         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
72240         mingw32).
72241
72242 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72243
72244         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
72245         attempt to open for write; this always fails, at least on POSIX
72246         hosts.  This reinstates the 2006-01-09 change, which was
72247         inadvertently removed.
72248
72249 2006-01-26  Bruno Haible  <bruno@clisp.org>
72250
72251         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
72252         Reported by Paul Eggert.
72253
72254 2006-01-26  Bruno Haible  <bruno@clisp.org>
72255             Paul Eggert  <eggert@cs.ucla.edu>
72256
72257         * lib/stdbool_.h (_Bool)
72258         [(! (defined __cplusplus || defined __BEOS__)
72259           && !defined __GNUC__
72260           && !(defined __HP_cc || defined __xlc__
72261                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
72262                || defined __sgi))]:
72263         #define to signed char in these cases too; this simplifies
72264         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
72265         etc., separately) and makes it more conservative.
72266
72267 2006-01-25  Simon Josefsson  <jas@extundo.com>
72268
72269         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
72270         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
72271         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
72272
72273 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72274
72275         * lib/argp-namefrob.h: Bugfix. Remove stray #
72276
72277 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
72278
72279         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
72280         so that we test the test.
72281         Check for yet another HP-UX cc bug involving *bool |= bool.
72282
72283 2006-01-25  Karl Berry  <karl@gnu.org>
72284
72285         * config/srclist.txt (vasnprintf.c): sync lost.
72286
72287 2006-01-25  Jim Meyering  <jim@meyering.net>
72288
72289         Sync from the stable (b5) branch of coreutils:
72290
72291         * lib/fts.c (fts_children): Don't let close() clobber errno from
72292         failed fchdir().
72293
72294         * lib/fts.c (fts_stat): When following a symlink-to-directory,
72295         don't necessarily interpret stat-fails+lstat-succeeds as indicating
72296         a dangling symlink.  That can also happen at least for ELOOP.
72297         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
72298         FYI, this bug predates the inclusion of fts.c in coreutils.
72299
72300         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
72301         in their own block, so pre-c99 compilers don't object.
72302
72303         Avoid the double-free (first in fts_read, second in fts_close) that
72304         would occur when an `active' directory is made inaccessible (e.g.,
72305         via chmod a-x) during a traversal.
72306         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72307         before returning.  Reproduce this failure by
72308         mkdir -p a/b; cd a; chmod a-x . b
72309         Reported by Stavros Passas.
72310
72311 2006-01-25  Jim Meyering  <jim@meyering.net>
72312
72313         * lib/fileblocks.c: Remove more useless parentheses.
72314         * lib/readutmp.h: Likewise.
72315
72316 2006-01-25  Bruno Haible  <bruno@clisp.org>
72317
72318         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
72319         warnings.
72320         Reported by Paul Eggert.
72321
72322 2006-01-25  Bruno Haible  <bruno@clisp.org>
72323
72324         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
72325         rid of a trap command. For Solaris sh.
72326         Reported by Mark D. Baushke <mdb@gnu.org>.
72327
72328 2006-01-24  Simon Josefsson  <jas@extundo.com>
72329
72330         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
72331         Bruno.
72332
72333 2006-01-24  Karl Berry  <karl@gnu.org>
72334
72335         * config/srclist.txt (argp-namefrob.h): sync lost.
72336
72337 2006-01-24  Jim Meyering  <jim@meyering.net>
72338
72339         * modules/openat (Files): Add lib/intprops.h.
72340         From Mark D. Baushke.
72341
72342 2006-01-24  Jim Meyering  <jim@meyering.net>
72343
72344         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
72345         Reported by Mark D. Baushke.
72346
72347 2006-01-24  Jim Meyering  <jim@meyering.net>
72348
72349         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
72350
72351 2006-01-24  Bruno Haible  <bruno@clisp.org>
72352
72353         * modules/strnlen (Maintainer): Change from glibc to all.
72354
72355 2006-01-24  Bruno Haible  <bruno@clisp.org>
72356
72357         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
72358         Patch by Paul Eggert.
72359
72360 2006-01-24  Bruno Haible  <bruno@clisp.org>
72361
72362         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
72363         already has it.
72364         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
72365         2005-11-26.
72366
72367         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
72368         'signed char' to avoid problems with the built-in _Bool type.
72369         Reported by Paul Eggert on 2005-11-26.
72370
72371 2006-01-24  Bruno Haible  <bruno@clisp.org>
72372
72373         * gnulib-tool (func_import): Avoid constructing complicated sed
72374         expressions inside backquote.
72375         Report and solution by Mark D. Baushke <mdb@gnu.org>.
72376
72377 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
72378
72379         These changes imported from libc.
72380         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
72381         test and two separate function calls.
72382         * lib/strndup.c (__strndup): Add libc_hidden_def.
72383
72384 2006-01-23  Simon Josefsson  <jas@extundo.com>
72385
72386         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
72387         Remove the test_*_SOURCES variable: automake infers it by default.
72388         * modules/tls-tests: Likewise.
72389
72390 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72391
72392         Work around porting bugs reported by Dieter in
72393         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
72394         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
72395         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
72396         Include "getopt.h" first, to check interface.
72397         (getenv): Declare only if defined HAVE_DECL_GETENV &&
72398         !HAVE_DECL_GETENV.
72399         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
72400         (__strndup): Revert to K&R-style function dfns, the glibc style.
72401         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
72402         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
72403         Include strnlen.h first, to get prototype properly.
72404         (strnlen): Renamed from __strnlen.
72405         Remove weak alias.
72406
72407 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72408
72409         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
72410
72411 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72412
72413         * config/srclist.txt: Adjust to reflect glibc reorganization.
72414         This affects only comments.
72415
72416 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72417
72418          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
72419          Reported by Bruce Korb <bkorb@gnu.org>.
72420
72421 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72422
72423         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
72424         to pacify gcc -Wswitch-default.
72425
72426 2006-01-22  Bruno Haible  <bruno@clisp.org>
72427
72428         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
72429         temporary buffer for sprintf, take into account the precision also
72430         for 'd', 'i', 'u', 'o', 'x', 'X'.
72431
72432 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72433
72434         * modules/argp-tests: New module
72435         * tests/test-argp.c: New file
72436         * tests/test-argp-2.sh: New file
72437
72438 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72439
72440         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72441         (__argp_base_name): Removed
72442         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72443         typo.
72444         (__argp_base_name): Provide macro definition or extern declaration
72445         depending on the configuration
72446
72447 2006-01-20  Simon Josefsson  <jas@extundo.com>
72448
72449         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72450
72451 2006-01-20  Simon Josefsson  <jas@extundo.com>
72452
72453         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72454
72455 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72456
72457         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72458         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72459         Suggested by Bruno Haible.
72460
72461 2006-01-20  Karl Berry  <karl@gnu.org>
72462
72463         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72464         until changes propagate, I guess.
72465
72466 2006-01-19  Simon Josefsson  <jas@extundo.com>
72467
72468         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72469
72470 2006-01-19  Simon Josefsson  <jas@extundo.com>
72471
72472         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72473
72474 2006-01-19  Simon Josefsson  <jas@extundo.com>
72475
72476         * gnulib-tool: Set check_PROGRAMS.
72477
72478         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72479         modules/des-tests, modules/gc-arcfour-tests,
72480         modules/gc-arctwo-tests, modules/gc-des-tests,
72481         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72482         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72483         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72484         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72485         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72486         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72487         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72488         test_*_SOURCES.
72489
72490 2006-01-18  Simon Josefsson  <jas@extundo.com>
72491
72492         * modules/socklen (Depends-on): Depend on sys_socket.
72493
72494 2006-01-18  Simon Josefsson  <jas@extundo.com>
72495
72496         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72497         modules/des-tests, modules/gc-arcfour-tests,
72498         modules/gc-arctwo-tests, modules/gc-des-tests,
72499         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72500         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72501         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72502         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72503         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72504         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72505         $(EXEEXT) to automake TESTS variable, for mingw32.
72506
72507 2006-01-17  Simon Josefsson  <jas@extundo.com>
72508
72509         * modules/socklen (Include): Need sys/socket.h.
72510
72511 2006-01-17  Bruno Haible  <bruno@clisp.org>
72512
72513         * modules/ssize_t (Include): Add <sys/types.h>.
72514
72515 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72516
72517         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72518         it's not portable and it doesn't work with cross-compiles.
72519         Problem reported by Bruno Haible.  Fix missing-$ typo in
72520         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72521         -zignore from being used with Sun's C compiler.
72522
72523 2006-01-12  Simon Josefsson  <jas@extundo.com>
72524
72525         * lib/base64.c: Fix warning, reported by Bruno Haible
72526         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72527
72528 2006-01-12  Bruno Haible  <bruno@clisp.org>
72529
72530         * modules/ldd: New file.
72531         * build-aux/ldd.sh.in: New file.
72532         * MODULES.html.sh (Support for building libraries and executables): Add
72533         ldd.
72534
72535 2006-01-12  Bruno Haible  <bruno@clisp.org>
72536
72537         * m4/ldd.m4: New file.
72538
72539 2006-01-12  Bruno Haible  <bruno@clisp.org>
72540
72541         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72542         endless loop while replacing $auxdir with build-aux.
72543
72544 2006-01-11  Simon Josefsson  <jas@extundo.com>
72545
72546         * lib/stdint_.h (SIZE_MAX): Add missing (.
72547
72548 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72549
72550         Sync from coreutils.
72551         * lib/md5.c: Fix commentary typos.
72552         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72553         * lib/md5.h (__attribute__): Remove; unused.
72554         * lib/sha1.c: Fix commentary to match md5 better.
72555         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72556         so that we don't need to worry about alignment.  All uses changed.
72557         This merges the 2005-10-28 md5 change into sha1.
72558
72559 2006-01-11  Jim Meyering  <jim@meyering.net>
72560
72561         Sync from coreutils.
72562         * lib/md5.c (OP): Fix spacing.
72563
72564 2006-01-11  Bruno Haible  <bruno@clisp.org>
72565
72566         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72567         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72568         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72569
72570 2006-01-11  Bruno Haible  <bruno@clisp.org>
72571
72572         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72573         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72574         the "early" section as well.
72575
72576 2006-01-11  Bruno Haible  <bruno@clisp.org>
72577
72578         Avoid "ar: no archive members specified" error on MacOS X.
72579         * gnulib-tool (func_modules_add_dummy): New function.
72580         (func_import, func_create_testdir): Invoke it.
72581
72582 2006-01-11  Bruno Haible  <bruno@clisp.org>
72583
72584         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72585         with $auxdir in AC_CONFIG_FILES statements.
72586
72587 2006-01-11  Bruno Haible  <bruno@clisp.org>
72588
72589         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72590         Initialize also noinst_HEADERS to empty.
72591
72592 2006-01-11  Bruno Haible  <bruno@clisp.org>
72593
72594         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72595         variables.
72596         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72597         autoreconf.
72598
72599 2006-01-11  Bruno Haible  <bruno@clisp.org>
72600
72601         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72602         overridable by the user.
72603         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72604
72605 2006-01-10  Simon Josefsson  <jas@extundo.com>
72606
72607         * modules/sys_socket: New file.
72608
72609 2006-01-10  Simon Josefsson  <jas@extundo.com>
72610
72611         * m4/sys_socket_h.m4: New file.
72612
72613 2006-01-10  Simon Josefsson  <jas@extundo.com>
72614
72615         * lib/socket_.h: New file.
72616
72617 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72618
72619         * modules/readutmp (Maintainer): Add myself.
72620
72621 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72622
72623         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72624         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72625         People who are still concerned with buggy memcmp implementations
72626         can invoke gl_FUNC_MEMCMP themselves.
72627
72628 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72629
72630         * lib/regex_internal.h (BITSET_WORD_BITS):
72631         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72632         preprocessor mishandles large unsigned values as if they were signed.
72633         Problem reported by Claudio Fontana in
72634         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72635
72636 2006-01-10  Jim Meyering  <jim@meyering.net>
72637
72638         Avoid the double-free (first in fts_read, second in fts_close) that
72639         would occur when an `active' directory is made inaccessible (e.g.,
72640         via chmod a-x) during a traversal.
72641         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72642         before returning.  Reproduce this failure by
72643         mkdir -p a/b; cd a; chmod a-x . b
72644         Reported by Stavros Passas.
72645
72646         Sync from coreutils.
72647         * lib/sha1.c: Tweak grammar in a comment.
72648
72649 2006-01-10  Jim Meyering  <jim@meyering.net>
72650
72651         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72652         Patch by Joerg Sonnenberger.
72653
72654 2006-01-10  Bruno Haible  <bruno@clisp.org>
72655
72656         * modules/readutmp: Depend on module free.
72657         * modules/strtok_r: Depend on module restrict.
72658
72659 2006-01-10  Bruno Haible  <bruno@clisp.org>
72660
72661         * modules/gettext (configure.ac): Add an invocation of
72662         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72663
72664 2006-01-10  Bruno Haible  <bruno@clisp.org>
72665
72666         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72667         Reported by Werner Lemberg <wl@gnu.org>.
72668
72669 2006-01-10  Bruno Haible  <bruno@clisp.org>
72670
72671         * lib/localcharset.c: Update from GNU gettext.
72672
72673 2006-01-10  Bruno Haible  <bruno@clisp.org>
72674
72675         * lib/argp.h (__const): Remove macro. Use const instead.
72676         * lib/argp-fmtstream.h (__const): Likewise.
72677         * lib/glob_.h (__const): Remove macro.
72678         * lib/glob-libc.h: Use const instead of __const.
72679
72680 2006-01-10  Bruno Haible  <bruno@clisp.org>
72681
72682         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72683         variable.
72684         Needed to avoid an automake error regarding the 'gettext' module.
72685
72686 2006-01-09  Simon Josefsson  <jas@extundo.com>
72687
72688         * modules/inet_ntop (Depends-on): Add restrict.
72689
72690 2006-01-09  Simon Josefsson  <jas@extundo.com>
72691
72692         * modules/gc-rijndael-tests (License): Put under LGPL.
72693
72694         * modules/gc-des-tests (License): Likewise.
72695
72696         * modules/gc-arcfour-tests (License): Likewise.
72697
72698         * modules/gc-arctwo-tests (License): Likewise.
72699
72700         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72701
72702         * modules/gc-hmac-sha1-tests (Files): Likewise.
72703
72704         * modules/gc-hmac-md5-tests (License): Likewise.
72705
72706         * modules/gc-sha1-tests (License): Likewise.
72707
72708         * modules/gc-md5-tests (License): Likewise.
72709
72710         * modules/gc-md4-tests (License): Likewise.
72711
72712         * modules/gc-md2-tests (License): Likewise.
72713
72714         * modules/gc-tests (License): Likewise.
72715
72716         * modules/des-tests (License): Likewise.
72717
72718         * modules/md4-tests (License): Likewise.
72719
72720         * modules/md2-tests (License): Likewise.
72721
72722 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72723
72724         Sync from coreutils:
72725
72726         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72727         * modules/lib-ignore: New file.
72728         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72729         chdir-safer.m4, lchmod.m4.
72730         * modules/openat: Add mkdirat.c, openat-priv.h.
72731
72732 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72733
72734         Sync from coreutils.
72735         * m4/lib-ignore.m4: New file.
72736         * m4/lchmod.m4: New file.
72737
72738 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72739
72740         Sync from coreutils.
72741         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72742         for write access: POSIX says that must fail.
72743         * lib/fts.c (diropen): Likewise.
72744         * lib/save-cwd.c (save_cwd): Likewise.
72745         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72746         well, for minor improvements on hosts that lack O_DIRECTORY.
72747         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72748         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72749         Fall back on chown if open failed with EACCES.
72750
72751         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72752         Report an error at compile-time if only a 1-second nominal clock
72753         resolution is found.
72754
72755         * lib/lchmod.h: New file.
72756         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72757         (make_dir_parents): Use lchown rather than chown, and
72758         lchmod rather than chmod.
72759
72760         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72761         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72762         "proc" reported by n0dalus.
72763
72764         * lib/mountlist.c: Include <limits.h>.
72765         (dev_from_mount_options)
72766         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72767         New function.  It no longer assumes "dev=" has the System V meaning
72768         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72769         (read_file_system_list)
72770         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72771         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72772         dev= in that case.
72773
72774         * lib/posixtm.h (PDS_PRE_2000): New macro.
72775         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72776         allow_century.  All usages changed.  Reject dates outside the range
72777         1969-1999 if PDS_PRE_2000 is used.
72778
72779 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72780
72781         Sync from coreutils.
72782         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72783         (Time of day items): Mention the possibility of leap seconds.
72784         Problem reported by Dr. David Alan Gilbert.
72785
72786 2006-01-09  Jim Meyering  <jim@meyering.net>
72787
72788         Sync from coreutils.
72789
72790         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72791
72792         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72793
72794         * lib/modechange.c (mode_compile): Reject an invalid mode string
72795         that starts with an octal digit.  From Andreas Gruenbacher.
72796
72797         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72798         and dup to open_safer and dup_safer, respectively.
72799         (openat_permissive): Fix typo in comment.
72800
72801         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72802         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72803         (_): Remove; no longer needed.
72804         (openat): Renamed from rpl_openat; no need for rpl_openat
72805         since openat.h renames openat for us.
72806         Replace most of the body with a call to openat_permissive,
72807         to avoid duplicate code.
72808         Port to (probably hypothetical) environments were mode_t is
72809         wider than int.
72810         (openat_permissive): Require mode arg, so that we can check
72811         types better.  Put it just after flags.  Change cwd failure
72812         indicator from pointer-to-bool to pointer-to-errno-value.
72813         All callers changed.
72814         Invoke openat_save_fail and/or openat_restore_fail if
72815         cwd_errno is null, so that openat can call us.
72816         (openat_permissive, fdopendir, fstatat, unlinkat):
72817         Simplify errno handling to avoid some duplicate code,
72818         as it's OK to set errno on success.
72819         * lib/openat.h: Revamp code so that function macros depend on
72820         __OPENAT_PREFIX only, not also on AT_FDCWD.
72821         (openat_ro): Remove.  Caller changed to use openat_permissive.
72822         (openat_permissive): Now a macro, if not a function.
72823         (openat_restore_fail, openat_save_fail): Now always functions,
72824         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72825
72826         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72827         and openat.c.
72828         * lib/mkdirat.c: Include openat-priv.h.
72829         Remove definitions of macros defined therein.
72830         * lib/openat.c: Likewise.
72831
72832         * lib/mkdirat.c (mkdirat): New file and function.
72833         * lib/openat.h (mkdirat): Declare.
72834
72835         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72836
72837         * lib/openat.h (openat_permissive): Declare.
72838         (openat_ro): Define.
72839
72840         * lib/openat.c (EXPECTED_ERRNO): New macro.
72841         (openat_permissive): New function -- used in remove.c rewrite.
72842         (all functions): Set errno just before returning, only if there
72843         was an actual failure.
72844         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
72845
72846         Emulate openat-family functions using Linux's procfs, if possible.
72847         Idea and some code based on Ulrich Drepper's glibc changes.
72848
72849         * lib/openat.c: (BUILD_PROC_NAME): New macro.
72850         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
72851         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
72852         before falling back on save_cwd and restore_cwd.
72853         (fdopendir, fstatat, unlinkat): Likewise.
72854
72855         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
72856         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
72857
72858         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
72859         as second argument to va_arg.  Otherwise, some versions of gcc
72860         warn that `if this code is reached, the program will abort'.
72861
72862 2006-01-09  Jim Meyering  <jim@meyering.net>
72863
72864         Sync from coreutils.
72865         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
72866         Require openat-priv.h.
72867
72868 2006-01-09  Bruno Haible  <bruno@clisp.org>
72869
72870         * modules/strnlen (Include): Use strnlen.h.
72871
72872 2006-01-09  Bruno Haible  <bruno@clisp.org>
72873
72874         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
72875
72876 2006-01-09  Bruno Haible  <bruno@clisp.org>
72877
72878         * lib/sysexit_.h (EX_OK): New macro.
72879         Suggested by Martin Lambers <marlam@marlam.de>.
72880
72881 2006-01-09  Bruno Haible  <bruno@clisp.org>
72882
72883         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
72884         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
72885
72886 2006-01-09  Bruno Haible  <bruno@clisp.org>
72887
72888         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
72889         numbers.
72890
72891 2006-01-09  Bruno Haible  <bruno@clisp.org>
72892
72893         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
72894         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
72895         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
72896         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
72897
72898 2006-01-09  Bruno Haible  <bruno@clisp.org>
72899
72900         * build-aux/javacomp.sh.in: New file, moved from lib/.
72901         * modules/javacomp-script (Files): Update.
72902         (configure.ac): Add AC_CONFIG_FILES invocation.
72903         (EXTRA_DIST): Remove variable.
72904
72905         * build-aux/javaexec.sh.in: New file, moved from lib/.
72906         * modules/javaexec (Files): Update.
72907         (configure.ac): Add AC_CONFIG_FILES invocation.
72908         (EXTRA_DIST): Remove javaexec.sh.in.
72909
72910         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
72911         * modules/csharpcomp-script (Files): Update.
72912         (configure.ac): Add AC_CONFIG_FILES invocation.
72913         (EXTRA_DIST): Remove variable.
72914
72915         * build-aux/csharpexec.sh.in: New file, moved from lib/.
72916         * modules/csharpexec (Files): Update.
72917         (configure.ac): Add AC_CONFIG_FILES invocation.
72918         (EXTRA_DIST): Remove csharpexec.sh.in.
72919
72920 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72921
72922         Sync from coreutils.
72923
72924         Add POSIX ACL support
72925         * lib/acl.h (copy_acl, set_acl): Add declarations.
72926         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
72927         systems other than Linux.
72928         (chmod_or_fchmod): New function: use fchmod when possible,
72929         and chmod otherwise.
72930         (file_has_acl): Add a POSIX ACL implementation, with a
72931         Linux-specific subcase.
72932         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
72933         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
72934         acls are unsupported.
72935         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
72936         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
72937         are unsupported.
72938
72939 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72940
72941         Sync from coreutils.
72942         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
72943
72944 2006-01-07  Bruno Haible  <bruno@clisp.org>
72945
72946         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
72947         gl_EARLY.
72948
72949 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72950
72951         * lib/strftime.c (tzname): Don't declare if it is already #defined.
72952         Problem reported for Mingw by Mark Junker.
72953
72954 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72955
72956         * README: Gnulib normally doesn't generate a tarball.
72957
72958 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
72959
72960         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
72961         long int, not int, for nanosecond counts, so that people who are
72962         used to POSIX struct timespec won't be surprised.  Reported by Jim
72963         Meyering.
72964
72965 2005-12-28  Bruno Haible  <bruno@clisp.org>
72966
72967         * build-aux/config.rpath: Update from GNU gettext.
72968
72969 2005-12-16  Jim Meyering  <jim@meyering.net>
72970
72971         * modules/fprintftime: New module.
72972         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
72973
72974 2005-12-16  Jim Meyering  <jim@meyering.net>
72975
72976         * m4/fprintftime.m4: New file.
72977
72978 2005-12-16  Jim Meyering  <jim@meyering.net>
72979
72980         * lib/fprintftime.c, lib/fprintftime.h: New files.
72981
72982 2005-12-15  Simon Josefsson  <jas@extundo.com>
72983
72984         * modules/socklen (configure.ac): Fix M4 macro name, to align with
72985         new m4/socklen.m4.
72986
72987 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72988
72989         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
72990         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
72991
72992 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72993
72994         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
72995         * lib/argp-help.c (fill_in_uparams): Check if the constructed
72996         struct uparams is valid. Fall back to the default values if it is
72997         not.
72998
72999 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73000
73001         * modules/argp (Files): Add argp-pin.c
73002         (Depends-on): dirname
73003         (lib_SOURCES): Add argp-pin.c
73004
73005 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73006
73007         * m4/argp.m4:  Check if program_invocation_name and
73008         program_invocation_short_name are declared and define appropriate
73009         macros if they are not.
73010
73011 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73012
73013         * lib/argp-help.c (__argp_base_name): New function
73014         (__argp_short_program_name): Rewrite using __argp_base_name
73015         * lib/argp-namefrob.h: Define program_invocation_name and
73016         program_invocation_short_name if requested
73017         (__argp_base_name): Add prototype
73018         * lib/argp-parse.c (argp_def): Use gettext wrappers
73019         (argp_default_parser): Use __argp_base_name
73020         * lib/argp-pin.c: New file. Defines program_invocation_name and
73021         program_invocation_short_name on systems that lack them.
73022
73023 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73024
73025         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
73026         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73027         porting problem reported by Georg Schwarz in
73028         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73029
73030 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73031
73032         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
73033         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73034         porting problem reported by Georg Schwarz in
73035         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73036
73037 2005-12-05  Bruno Haible  <bruno@clisp.org>
73038
73039         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
73040         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
73041         Reported by Mark Junker <mjscod@gmx.de>.
73042
73043 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
73044
73045         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
73046         Use implementation from Albert Chin, with some
73047         comments/corrections by Stepan Kasal and myself.
73048
73049 2005-12-02  Bruno Haible  <bruno@clisp.org>
73050
73051         * gnulib-tool (func_import): Accept GPLed build tool modules when
73052         --lgpl is given.
73053         * modules/csharpcomp-script: New file.
73054         * modules/csharpcomp: Depend on it.
73055         * modules/javacomp-script: New file.
73056         * modules/javacomp: Depend on it.
73057         Suggested by Simon Josefsson.
73058
73059 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
73060
73061         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
73062         statement, to work around an HP-UX 10.20 compiler bug reported by
73063         Peter O'Gorman.
73064
73065 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73066
73067         * modules/savedir (Depends-on): Add openat.
73068
73069 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73070
73071         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
73072         (uintmax_t) [defined uintmax_t]: Do not declare.
73073         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
73074         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
73075         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
73076         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
73077         sake of portability to weird hosts that C allows (though we don't
73078         know of any practical examples).
73079
73080         * lib/savedir.h (fdsavedir): New decl.
73081         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
73082         contains most of the former guts of savedir.
73083         (savedir): Use savedirstream.
73084         Include "openat.h".
73085
73086 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73087
73088         * modules/obstack (Files): Add m4/ulonglong.m4.
73089         Problem reported by Davide Angelocola.
73090
73091 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
73092
73093         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
73094         coreutils no longer futzes with rounding modes.
73095
73096 2005-11-14  Jim Meyering  <jim@meyering.net>
73097
73098         * lib/mkstemp-safer.c: Include <config.h>, required for possible
73099         replacement of mkstemp.
73100
73101 2005-11-10  Simon Josefsson  <jas@extundo.com>
73102
73103         * lib/readline.c: Remove EOL.
73104
73105 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73106
73107         * modules/gethrxtime (Depends-on): Add gettime.
73108
73109 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73110
73111         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
73112         or gettimeofday; no longer needed.
73113
73114 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73115
73116         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
73117         time business.
73118         (gethrxtime) [! (HAVE_NANOUPTIME
73119         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
73120         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
73121         our own approximation.
73122
73123 2005-11-08  Eric Blake  <ebb9@byu.net>
73124
73125         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73126
73127 2005-11-08  Eric Blake  <ebb9@byu.net>
73128
73129         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73130
73131 2005-11-04  Bruno Haible  <bruno@clisp.org>
73132
73133         * gnulib-tool: Implement --update mode.
73134
73135 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73136
73137         Fix porting problem reported by Theodoros V. Kalamatianos.
73138         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
73139         Don't assume that futimes failing means we must fail.
73140
73141 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73142
73143         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
73144         variables to suggest the intended function of the PATH_MAX check.
73145
73146 2005-10-30  Kean Johnston  <jkj@sco.com>
73147
73148         Trivial changes to support SCO systems.
73149         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
73150         as PATH_MAX.
73151         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
73152         where __ptr is null when no I/O is pending.
73153
73154 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73155
73156         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
73157         leave errno alone.  Problem reported by Dmitry V. Levin.
73158
73159 2005-10-28  Simon Josefsson  <jas@extundo.com>
73160
73161         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
73162         Test more.
73163
73164         * tests/test-gc-md2.c, tests/test-md2.c: New files.
73165
73166         * modules/md2, modules/md2-tests: New files.
73167
73168 2005-10-28  Simon Josefsson  <jas@extundo.com>
73169
73170         * m4/inet_ntop.m4: More tests.
73171
73172         * m4/gc-md2.m4, md2.m4: New file.
73173
73174 2005-10-28  Simon Josefsson  <jas@extundo.com>
73175
73176         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
73177         "restrict" keywords, as per POSIX.  Protect the function
73178         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
73179         Don't use K&R prototypes.  Check the sprintf return values.
73180         Re-define EAFNOSUPPORT if not present.  Indent.
73181
73182         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
73183         suggested by Bruno Haible <bruno@clisp.org>.
73184
73185         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
73186
73187         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
73188
73189         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
73190         libgcrypt).
73191
73192         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
73193
73194         * lib/md2.h, lib/md2.c: New files.
73195
73196 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
73197
73198         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
73199         errno alone.  Problem reported by Frederic Jolliton.
73200
73201 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73202
73203         * modules/verify (License): Change from GPL to LGPL.  This is a
73204         tiny module and there are apparently near-equivalents that are
73205         under the BSD license.
73206
73207 2005-10-24  Simon Josefsson  <jas@extundo.com>
73208
73209         * modules/sha1: Relicense to LGPL.
73210
73211 2005-10-24  Simon Josefsson  <jas@extundo.com>
73212
73213         * lib/md4.h: Shrink buffer size, now that we changed the type.
73214
73215 2005-10-23  Simon Josefsson  <jas@extundo.com>
73216
73217         * gnulib-tool (func_import): Fix --tests-base.
73218
73219 2005-10-22  Simon Josefsson  <jas@extundo.com>
73220
73221         * modules/arcfour (Depends-on): Need stdint.
73222
73223 2005-10-22  Simon Josefsson  <jas@extundo.com>
73224
73225         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
73226         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
73227
73228 2005-10-22  Simon Josefsson  <jas@extundo.com>
73229
73230         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
73231         suggested by Bruno Haible <bruno@clisp.org>.
73232
73233 2005-10-22  Simon Josefsson  <jas@extundo.com>
73234
73235         * lib/crc.h: Include stddef.h, for size_t.
73236
73237 2005-10-22  Simon Josefsson  <jas@extundo.com>
73238
73239         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
73240         arcfour_context struct (simplify test vector testing in GNU
73241         Shishi).
73242
73243 2005-10-21  Simon Josefsson  <jas@extundo.com>
73244
73245         * modules/des, modules/des-tests: New files.
73246
73247         * modules/gc-des, modules/gc-des-tests: New files.
73248
73249         * tests/test-des.c, tests/test-gc-des.c: New file.
73250
73251 2005-10-21  Simon Josefsson  <jas@extundo.com>
73252
73253         * modules/arctwo, modules/arctwo-tests: New files.
73254
73255         * tests/test-arctwo.c: New file.
73256
73257         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
73258
73259         * tests/test-gc-arctwo.c: New file.
73260
73261 2005-10-21  Simon Josefsson  <jas@extundo.com>
73262
73263         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
73264         Bruno Haible <bruno@clisp.org>.
73265
73266         * m4/gc-des.m4: New file.
73267
73268 2005-10-21  Simon Josefsson  <jas@extundo.com>
73269
73270         * m4/arctwo.m4: New file.
73271
73272         * m4/gc-arctwo.m4: New file.
73273
73274 2005-10-21  Simon Josefsson  <jas@extundo.com>
73275
73276         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
73277         block.
73278
73279 2005-10-21  Simon Josefsson  <jas@extundo.com>
73280
73281         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
73282         <bruno@clisp.org>.
73283
73284         * lib/hmac-sha1.c (hmac_sha1): Likewise.
73285
73286         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
73287         Bruno Haible <bruno@clisp.org>.
73288
73289         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
73290         <bruno@clisp.org>.
73291
73292 2005-10-21  Simon Josefsson  <jas@extundo.com>
73293
73294         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
73295
73296 2005-10-21  Simon Josefsson  <jas@extundo.com>
73297
73298         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
73299
73300 2005-10-21  Simon Josefsson  <jas@extundo.com>
73301
73302         * lib/des.h, lib/des.c: New files.
73303
73304         * lib/gc-gnulib.c: Support DES.c
73305
73306 2005-10-21  Simon Josefsson  <jas@extundo.com>
73307
73308         * lib/arctwo.h, lib/arctwo.c: New files.
73309
73310         * lib/gc-gnulib.c: Support ARCTWO.
73311
73312 2005-10-21  Simon Josefsson  <jas@extundo.com>
73313
73314         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
73315         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73316
73317 2005-10-21  Simon Josefsson  <jas@extundo.com>
73318
73319         * gnulib-tool (func_import, func_create_testdir): Define automake
73320         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
73321         Makefile.am snippet),
73322         suggested by Bruno Haible <bruno@clisp.org>.
73323
73324         * modules/gc (Makefile.am): Use it.
73325
73326 2005-10-21  Bruno Haible  <bruno@clisp.org>
73327
73328         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
73329         patch.
73330
73331 2005-10-19  Simon Josefsson  <jas@extundo.com>
73332
73333         * tests/test-gc-rijndael.c: New file.
73334
73335         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
73336
73337 2005-10-19  Simon Josefsson  <jas@extundo.com>
73338
73339         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
73340         interface too.
73341
73342 2005-10-19  Simon Josefsson  <jas@extundo.com>
73343
73344         * tests/test-gc-arcfour.c: New file.
73345
73346         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
73347
73348 2005-10-19  Simon Josefsson  <jas@extundo.com>
73349
73350         * modules/gc-md4, modules/gc-md4-tests: New file.
73351
73352         * tests/test-gc-md4.c: New file.
73353
73354 2005-10-19  Simon Josefsson  <jas@extundo.com>
73355
73356         * m4/gc-md4.m4: New file.
73357
73358 2005-10-19  Simon Josefsson  <jas@extundo.com>
73359
73360         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
73361         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
73362         <kasal@ucw.cz>.
73363
73364 2005-10-19  Simon Josefsson  <jas@extundo.com>
73365
73366         * m4/gc-arcfour.m4: New file.
73367
73368         * m4/gc-rijndael.m4: New file.
73369
73370 2005-10-19  Simon Josefsson  <jas@extundo.com>
73371
73372         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
73373
73374 2005-10-19  Simon Josefsson  <jas@extundo.com>
73375
73376         * lib/gc-gnulib.c: Support ARCFOUR.
73377
73378 2005-10-19  Simon Josefsson  <jas@extundo.com>
73379
73380         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
73381         support.
73382
73383         * lib/gc.h: Add ECB enum type.
73384
73385         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
73386
73387 2005-10-18  Simon Josefsson  <jas@extundo.com>
73388
73389         * tests/test-md5.c: New file.
73390
73391         * modules/md5-tests: New file.
73392
73393 2005-10-18  Simon Josefsson  <jas@extundo.com>
73394
73395         * tests/test-md4.c: New file.
73396
73397         * modules/md4, modules/md4-tests: New files.
73398
73399 2005-10-18  Simon Josefsson  <jas@extundo.com>
73400
73401         * m4/md4.m4: New file.
73402
73403 2005-10-18  Simon Josefsson  <jas@extundo.com>
73404
73405         * lib/md4.h, lib/md4.c: New files, based on md5.?.
73406
73407 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
73408
73409         * gnulib-tool (func_create_testdir): Omit the second check whether
73410         BUILT_SOURCES in nonempty.
73411
73412 2005-10-17  Simon Josefsson  <jas@extundo.com>
73413
73414         * tests/test-rijndael.c: New file.
73415
73416 2005-10-17  Simon Josefsson  <jas@extundo.com>
73417
73418         * modules/sha1: Depend on stdint instead of md5.
73419
73420         * modules/md5: Depend on stdint, remove uint32_t.
73421
73422 2005-10-17  Simon Josefsson  <jas@extundo.com>
73423
73424         * modules/gc-sha1-tests: New file.
73425
73426         * tests/test-gc-sha1.c: New file.
73427
73428 2005-10-17  Simon Josefsson  <jas@extundo.com>
73429
73430         * m4/md5.m4: Remove call to uint32_t.m4.
73431
73432 2005-10-17  Simon Josefsson  <jas@extundo.com>
73433
73434         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73435
73436         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73437         md5.h.
73438
73439         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73440
73441         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73442
73443 2005-10-17  Simon Josefsson  <jas@extundo.com>
73444
73445         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73446
73447 2005-10-17  Simon Josefsson  <jas@extundo.com>
73448
73449         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73450
73451 2005-10-17  Simon Josefsson  <jas@extundo.com>
73452
73453         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73454
73455         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73456
73457 2005-10-17  Bruno Haible  <bruno@clisp.org>
73458
73459         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73460         that it can also be used in a test.
73461
73462 2005-10-16  Bruno Haible  <bruno@clisp.org>
73463
73464         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73465         TESTS_ENVIRONMENT, so that individual tests can augment it.
73466
73467         * gnulib-tool (func_create_testdir): Use an intermediate target for
73468         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73469         macros, like $(ALLOCA_H), which cannot be passed through the command
73470         line.
73471
73472 2005-10-15  Simon Josefsson  <jas@extundo.com>
73473
73474         * modules/rijndael-tests: New file.
73475
73476         * modules/rijndael: New file.
73477
73478 2005-10-15  Simon Josefsson  <jas@extundo.com>
73479
73480         * m4/rijndael.m4: New file.
73481
73482 2005-10-15  Simon Josefsson  <jas@extundo.com>
73483
73484         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73485
73486         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73487
73488 2005-10-14  Simon Josefsson  <jas@extundo.com>
73489
73490         * tests/test-arcfour.c: New file.
73491
73492         * modules/arcfour, modules/arcfour-tests: New files.
73493
73494 2005-10-14  Simon Josefsson  <jas@extundo.com>
73495
73496         * m4/arcfour.m4: New file.
73497
73498 2005-10-14  Simon Josefsson  <jas@extundo.com>
73499
73500         * lib/arcfour.h, lib/arcfour.c: New files.
73501
73502 2005-10-14  Roland McGrath  <roland@redhat.com>
73503
73504         Import from libc.  [BZ #1331]
73505         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73506         macro argument.
73507         Reported by Matej Vela <vela@debian.org>.
73508
73509 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73510
73511         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73512         include <wchar.h>; no longer needed.
73513
73514 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73515
73516         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73517
73518 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73519         and  Ulrich Drepper  <drepper@redhat.com>
73520
73521         Import from libc.
73522         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73523         instead of inline stream orientation test and two separate
73524         function calls.  Pay no attention to USE_IN_LIBIO.
73525
73526 2005-10-13  Simon Josefsson  <jas@extundo.com>
73527
73528         * modules/gc-hmac-md5-tests: New file.
73529
73530         * tests/test-gc-hmac-sha1.c: New file.
73531
73532         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73533
73534         * modules/gc-hmac-md5-tests: New file.
73535
73536         * tests/test-gc-md5.c: New file.
73537
73538         * modules/gc-md5-tests: New file.
73539
73540 2005-10-13  Simon Josefsson  <jas@extundo.com>
73541
73542         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73543         Move memory allocation outside of loop.
73544
73545 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73546
73547         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73548         intermediate directory is in a read-only file system.  Problem
73549         reported by Eric Blake.
73550
73551 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73552
73553         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73554
73555 2005-10-12  Simon Josefsson  <jas@extundo.com>
73556
73557         * tests/test-hmac-sha1.c: New file.
73558
73559         * modules/hmac-sha1-tests: New file.
73560
73561         * modules/hmac-sha1: New file.
73562
73563 2005-10-12  Simon Josefsson  <jas@extundo.com>
73564
73565         * modules/gc-sha1: New file.
73566
73567 2005-10-12  Simon Josefsson  <jas@extundo.com>
73568
73569         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73570
73571         * tests/test-gc-pbkdf2-sha1.c: New file.
73572
73573 2005-10-12  Simon Josefsson  <jas@extundo.com>
73574
73575         * modules/gc-md5, modules/gc-hmac-md5: New files.
73576
73577         * modules/gc (Files): Remove md5, memxor and hmac files.
73578
73579 2005-10-12  Simon Josefsson  <jas@extundo.com>
73580
73581         * m4/gc-pbkdf2-sha1.m4: New file.
73582
73583         * m4/gc-hmac-sha1.m4: New file.
73584
73585         * m4/gc-sha1: New file.
73586
73587         * m4/hmac-sha1.m4: New file.
73588
73589 2005-10-12  Simon Josefsson  <jas@extundo.com>
73590
73591         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73592
73593         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73594
73595 2005-10-12  Simon Josefsson  <jas@extundo.com>
73596
73597         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73598         suggested by Bruno Haible <bruno@clisp.org>.
73599
73600 2005-10-12  Simon Josefsson  <jas@extundo.com>
73601
73602         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73603
73604 2005-10-12  Simon Josefsson  <jas@extundo.com>
73605
73606         * lib/gc-pbkdf2-sha1.c: New file.
73607
73608         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73609
73610 2005-10-12  Simon Josefsson  <jas@extundo.com>
73611
73612         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73613
73614         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73615
73616 2005-10-12  Simon Josefsson  <jas@extundo.com>
73617
73618         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73619         GC_USE_HMAC_MD5, respectively.
73620
73621         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73622         (gc_md5): Fix typo.
73623
73624         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73625
73626         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73627
73628         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73629
73630 2005-10-12  Bruno Haible  <bruno@clisp.org>
73631
73632         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73633         Reported by Stepan Kasal <kasal@ucw.cz>.
73634
73635 2005-10-11  Simon Josefsson  <jas@extundo.com>
73636
73637         * tests/test-crc.c: New file.
73638
73639         * modules/crc, modules/crc-tests: New files.
73640
73641 2005-10-11  Simon Josefsson  <jas@extundo.com>
73642
73643         * m4/crc.m4: New file.
73644
73645 2005-10-11  Simon Josefsson  <jas@extundo.com>
73646
73647         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73648
73649         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73650
73651         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73652
73653 2005-10-11  Simon Josefsson  <jas@extundo.com>
73654
73655         * lib/crc.h, lib/crc.c: New files.
73656
73657         * lib/gc.h (gc_hash_buffer): Add doc.
73658
73659 2005-10-11  Bruno Haible  <bruno@clisp.org>
73660
73661         * modules/c-strcasestr: New file.
73662         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73663
73664 2005-10-11  Bruno Haible  <bruno@clisp.org>
73665
73666         * modules/c-strcase: New file.
73667         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73668
73669 2005-10-11  Bruno Haible  <bruno@clisp.org>
73670
73671         * lib/strcasecmp.c: Include limits.h.
73672         (strcasecmp): Avoid integer overflow on exotic platforms.
73673         * lib/strncasecmp.c: Include limits.h.
73674         (strncasecmp): Avoid integer overflow on exotic platforms.
73675         Reported by Paul Eggert.
73676
73677 2005-10-11  Bruno Haible  <bruno@clisp.org>
73678
73679         * lib/c-strcasestr.h: New file, from GNU gettext.
73680         * lib/c-strcasestr.c: New file, from GNU gettext.
73681
73682 2005-10-11  Bruno Haible  <bruno@clisp.org>
73683
73684         * lib/c-strcase.h: New file, from GNU gettext.
73685         * lib/c-strcasecmp.c: New file, from GNU gettext.
73686         * lib/c-strncasecmp.c: New file, from GNU gettext.
73687
73688 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73689
73690         * modules/mempcpy (License): GPL -> LGPL.
73691         * modules/strchrnul (License): Likewise.
73692         * modules/sysexits (License): Likewise.
73693
73694 2005-10-08  Simon Josefsson  <jas@extundo.com>
73695
73696         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73697
73698 2005-10-07  Simon Josefsson  <jas@extundo.com>
73699
73700         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73701
73702 2005-10-06  Simon Josefsson  <jas@extundo.com>
73703
73704         * tests/test-hmac-md5.c: New file.
73705
73706         * modules/hmac-md5-tests: New file.
73707
73708         * modules/hmac-md5: New file.
73709
73710 2005-10-06  Simon Josefsson  <jas@extundo.com>
73711
73712         * m4/hmac-md5.m4: New file.
73713
73714         * m4/memxor.m4: Require gl_C_RESTRICT.
73715
73716 2005-10-06  Simon Josefsson  <jas@extundo.com>
73717
73718         * lib/memxor.c (memxor): Avoid casts and warnings.
73719
73720 2005-10-06  Simon Josefsson  <jas@extundo.com>
73721
73722         * lib/hmac-md5.c: New file.
73723
73724         * lib/hmac.h: New file.
73725
73726 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73727
73728         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73729         promotes to int, not unsigned int, to catch the AIX 5.3
73730         compiler bug.
73731
73732 2005-10-05  Simon Josefsson  <jas@extundo.com>
73733
73734         * modules/memxor: New file.
73735
73736         * modules/iconv (Files): Move config.rpath to havelib, it is used
73737         there.
73738
73739         * modules/havelib (Files): Add config.rpath.
73740
73741 2005-10-05  Simon Josefsson  <jas@extundo.com>
73742
73743         * m4/memxor.m4: New file.
73744
73745 2005-10-05  Simon Josefsson  <jas@extundo.com>
73746
73747         * lib/memxor.c (memxor): Fix compiler error.
73748
73749         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73750         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73751
73752         * lib/memxor.h, lib/memxor.c: New files.
73753
73754         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73755         we assume all systems have it, suggested by Jim Meyering
73756         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73757         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73758         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73759         same reasons.
73760
73761 2005-10-05  Simon Josefsson  <jas@extundo.com>
73762
73763         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73764
73765 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73766
73767         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73768         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73769         needed, since the source code now assumes these .h files.
73770
73771 2005-10-05  Derek Price  <derek@ximbiot.com>
73772
73773         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73774
73775 2005-10-05  Bruno Haible  <bruno@clisp.org>
73776
73777         * modules/stdint (License): Change to LGPL.
73778
73779 2005-10-04  Simon Josefsson  <jas@extundo.com>
73780
73781         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73782         D. Baushke" <mdb@gnu.org>.
73783
73784 2005-10-04  Bruno Haible  <bruno@clisp.org>
73785
73786         * lib/verify.h (verify_true): Provide alternative definition for C++.
73787
73788 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73789
73790         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73791         (SSIZE_MAX): New macro, if not already defined.
73792         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73793         than 2 GiB.
73794
73795 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73796
73797         Sync from coreutils.
73798         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73799         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73800         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73801         ULLONG_MAX doesn't work with 2.7.2.1.
73802
73803 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73804
73805         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73806         From Ben Pfaff.
73807
73808         * modules/exclude (Depends-on): Depend on verify.
73809         * modules/strtoimax (Depends-on): Likewise.
73810         * modules/utimecmp (Depends-on): Likewise.
73811
73812 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73813
73814         * lib/exclude.c: Include verify.h.
73815         (verify): Remove.  All callers changed to use verify.h's version.
73816         * lib/strtoimax.c: Likewise.
73817         * lib/utimecmp.c: Likewis.e
73818
73819         Sync from coreutils.
73820         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73821         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73822         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73823         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73824         bother returning ENOSYS if settimeofday or stime fails; just let
73825         them return whatever errno they want to return.
73826         * lib/utimens.c: Include unistd.h, for dup2.
73827         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73828         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73829
73830 2005-10-02  Jim Meyering  <jim@meyering.net>
73831
73832         Sync from coreutils.
73833         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73834         from glibc-2.2.5 that fails for read-only files.
73835
73836 2005-10-02  Jim Meyering  <jim@meyering.net>
73837
73838         Sync from coreutils.
73839         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73840         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73841         `#if HAVE_CONFIG_H'.
73842         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
73843         Remove AT_FDCWD test.
73844         Do not consume the fd unless successful.
73845         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
73846         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
73847         block, so that we don't even try to compile it if settimeofday is
73848         available.  This works around a compilation failure on OSF1 V5.1,
73849         due to stime requiring a `long int*' while tv_sec is `int'.
73850
73851 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
73852
73853         Sync from coreutils.
73854         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
73855         against `yes', rather than just testing for nonempty.
73856
73857 2005-10-01  Simon Josefsson  <jas@extundo.com>
73858
73859         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
73860         and Darwin.
73861
73862         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
73863         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
73864         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
73865         freeaddrinfo and gai_strerror are declared by the POSIX headers.
73866         Check if struct addrinfo is declared.
73867
73868 2005-10-01  Simon Josefsson  <jas@extundo.com>
73869
73870         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
73871         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
73872         AI_* and EAI_* definitions.  Protect function declarations.
73873
73874 2005-10-01  Jim Meyering  <jim@meyering.net>
73875
73876         Sync from coreutils.
73877
73878         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
73879         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
73880         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
73881         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73882         in the inet and nsl libraries.  Required on Solaris 5.7.
73883
73884 2005-10-01  Jim Meyering  <jim@meyering.net>
73885
73886         Sync from coreutils.
73887         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73888         in the inet and nsl libraries.  Required on Solaris 5.7.
73889
73890 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
73891
73892         * lib/getdelim.c (getdelim): Remove unused variables.
73893
73894 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73895
73896         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
73897         so that the code works even with ancient cpp.  Portability problem
73898         with GCC 2.7.2.1 reported by Thomas M.Ott.
73899
73900 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73901
73902         * modules/regex (Depends-on): Add strcase.
73903
73904         * modules/gethostname (Licence): Change from GPL to LGPL, since
73905         gethostname.c is a trivial implementation of a standard library
73906         function.
73907         * modules/poll (License): Change from GPL to LGPL, since it's
73908         derived from LGPL code.
73909
73910 2005-09-27  Jim Meyering  <jim@meyering.net>
73911
73912         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
73913         HAVE_CONFIG_H.
73914
73915         * lib/intprops.h (signed_type_or_expr__): Define.
73916         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
73917         for unsigned types.
73918
73919 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73920
73921         * lib/verify.h (verify_expr): Remove, replacing with:
73922         (verify_true): New macro that returns true instead of void.
73923         (verify_type__): Remove.
73924         (verify): Use verify_true rather than verify_type__.
73925
73926 2005-09-26  Bruno Haible  <bruno@clisp.org>
73927
73928         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
73929         is necessary.
73930         (lib_SOURCES): Remove mbchar.c.
73931         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
73932         (Files): Add m4/mbrtowc.m4.
73933         * modules/mbiter: Likewise.
73934         * modules/mbuiter: Likewise.
73935
73936 2005-09-26  Bruno Haible  <bruno@clisp.org>
73937
73938         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
73939         compile mbchar.c if they are not both present.
73940         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
73941         * m4/mbiter.m4 (gl_MBITER): Likewise.
73942         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
73943         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
73944         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
73945
73946 2005-09-25  Jim Meyering  <jim@meyering.net>
73947
73948         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
73949         also uses socklen_t.
73950
73951 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
73952
73953         * lib/utimens.c (ENOSYS): Define if not already defined.
73954         (futimens): Support having a null PATH if the file descriptor
73955         is nonnegative.
73956
73957         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
73958         Remove.
73959         (__attribute): Define to empty unless GCC 3.1 or later.
73960         This works around a core dump on OpenBSD 3.4, which has GCC
73961         2.95.3, which dumps core when given __attribute__(()).  It also
73962         simplifies other tests, since we really don't want to bother with
73963         worrying about which ancient version of GCC supported what.
73964         Original problem reported by Yoann Vandoorselaere, with part of
73965         the fix suggested by Derek Price.
73966
73967 2005-09-24  Jim Meyering  <jim@meyering.net>
73968
73969         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
73970         so we can once again use a positive bitfield width of 1 -- now we
73971         don't have to explain why we were using a bitfield width of 2.
73972
73973 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73974
73975         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
73976         and similarly for the other external symbols.  Problem reported
73977         by James Gallager.
73978
73979         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
73980         bug reported by Jim Meyering.
73981
73982         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
73983         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
73984         not needed, since socklen is a prerequisite module.
73985
73986 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73987
73988         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
73989         Problem reported by Eric Blake.
73990         (getaddrinfo): Initialize se so that it's not garbage.
73991         Redo internal storage allocation so that it doesn't make unportable
73992         assumptions about alignment.
73993         Fix a memory leak.
73994
73995         * lib/utimens.c (futimens): Use futimesat if available.
73996         Prefer it to futimes since it doesn't have the futimes bug.
73997
73998         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
73999         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
74000         Instead, declare a function that returns a pointer to an array,
74001         and use verify_type__ to declare the size of the array.
74002         Problem and germ of a solution reported by Bruno Haible.
74003         (verify_type__): Use 2, not 1, for bitfield size, to avoid
74004         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
74005
74006 2005-09-23  Jim Meyering  <jim@meyering.net>
74007
74008         Sync from coreutils.
74009         Correct build failure (socklen_t not defined) on at least
74010         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
74011         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
74012
74013 2005-09-23  Jim Meyering  <jim@meyering.net>
74014
74015         * modules/getaddrinfo (Depends-on): Add socklen.
74016
74017 2005-09-23  Bruno Haible  <bruno@clisp.org>
74018
74019         * tests/test-verify.c: New file.
74020
74021 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74022
74023         Sync from coreutils.
74024
74025         * modules/argmatch (Depends-on): Add verify.
74026         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
74027         unistd-safer.
74028         * modules/save-cwd (Depends-on): Likewise.
74029
74030         * modules/openat (Files): Add lib/openat-die.c.
74031         (Depends-on): Remove error, exitfail.
74032         Add dirname.
74033
74034         * modules/verify: New file.
74035         * MODULES.html.sh (Diagnostics <assert.h>): New section,
74036         with "verify" module.
74037
74038 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74039
74040         Sync from coreutils.
74041
74042         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
74043         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
74044         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
74045         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
74046         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
74047         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
74048         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
74049         Don't bother checking for string.h, stdlib.h, unistd.h.
74050         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
74051         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
74052         module's job.
74053         * m4/jm-macros.m4 (gl_MACROS): Likewise.
74054         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
74055
74056         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
74057         (gl_GETDATE): Use it.
74058
74059         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
74060
74061 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74062
74063         Sync from coreutils.
74064
74065         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
74066         stat-time.h.
74067         * lib/argmatch.h: Include verify.h
74068         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
74069         (ARGMATCH_ASSERT): Remove; unused.
74070         * lib/canonicalize.c: Assume STDC_HEADERS.
74071         * lib/exclude.c: Include "strcase.h".
74072         * lib/regex_internal.h [!defined _LIBC]: Likewise.
74073         * lib/getusershell.c: Include stdio--.h rather than stdio.h
74074         and stdio-safer.h.
74075         (getusershell): Call fopen, not fopen_safer.
74076         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
74077         Do not include unistd-safer.h.
74078         (save_cwd): Don't call fd_safer; no longer needed
74079         now that we include fcntl--.h.
74080
74081         * lib/getdate.y (relative_time): New type.
74082         (RELATIVE_TIME_0): New constant.
74083         (parser_control): Use relative_time instead of doing it ourselves.
74084         (%union): Add new relative_time rel member.
74085         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
74086         Now typeless.
74087         (relunit, relunit_snumber): Now of type rel.
74088         (zone, rel, relunit, get_date): Adjust to above changes.
74089
74090         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
74091         Do not include unistd-safer.h.
74092         (getloadavg): Don't call fd_safer; no longer needed
74093         now that we include fcntl--.h.
74094
74095         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
74096         (make_dir_parents): Treat ENOSYS like EEXIST.
74097
74098         Improve quality of diagnostics on restore_cwd failure.
74099         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
74100         (make_dir_parents): Last arg is now int * (for errno), not bool *.
74101         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
74102         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
74103         each time through the loop.  Do not diagnose restore_cwd failure;
74104         that is the caller's job (and perhaps the caller does not care).
74105
74106         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
74107         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
74108         If the file already exists but is not a directory, don't bother
74109         to try to make its parents.
74110         Close potential file descriptor leak if we can't chdir("/") (!).
74111         Don't always return true if chdir($PWD) fails; return true only
74112         if the requested action was done successfully (except for the
74113         chdir($PWD)).
74114         Don't log final directory unless we actually made it.
74115         Refactor to avoid duplicate code to fix up permissions.
74116         Don't attempt to fix up parent permissions if chdir($PWD) fails.
74117
74118         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
74119         to make it a bit faster and (I hope) clearer.
74120         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
74121         Fix bug in formats like %2N.
74122
74123         * lib/verify.h: New file.
74124
74125 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74126
74127         Sync from coreutils.
74128         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
74129
74130 2005-09-22  Jim Meyering  <jim@meyering.net>
74131
74132         Sync from coreutils.
74133
74134         * m4/lstat.m4 (gl_FUNC_LSTAT):
74135         Use AC_LIBSOURCES to require lstat.c and lstat.h.
74136         Remove obsolete comment.
74137         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
74138         * m4/xstrtod.m4: Likewise.
74139
74140         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
74141
74142 2005-09-22  Jim Meyering  <jim@meyering.net>
74143
74144         Sync from coreutils.
74145
74146         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
74147
74148         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
74149         the .tm_year member, since otherwise gcc-4.0 would now warn about
74150         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
74151
74152         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
74153         order to avoid an unsuppressible warning from gcc on 64-bit systems.
74154
74155         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
74156         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
74157         when run in a time zone for which daylight savings time is in effect
74158         for the starting date.
74159
74160         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
74161         stop us from restricting permissions of just-created absolute-named
74162         directories.
74163         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
74164         to restore initial working directory.
74165         * lib/mkdir-p.c (make_dir_parents): New parameter:
74166         different_working_dir, to tell caller if/when we change the working
74167         directory and are unable to return to the initial one.
74168         * lib/mkdir-p.h (make_dir_parents): Update prototype.
74169         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
74170         `return false'.  This fixes a bug introduced on 2004-07-30.
74171
74172         * lib/openat.c (fdopendir): Be sure to close the supplied
74173         file descriptor before returning.  This makes our replacement
74174         implementation a little closer to Solaris's, where fdopendir
74175         ties the file descriptor to the returned DIR* pointer.
74176         * lib/openat.c (unlinkat): New function.
74177         * lib/openat.h (unlinkat): Add prototype.
74178         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
74179         (openat_restore_fail): Rename from openat_restore_die.
74180         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
74181
74182         Provide an alternative to exiting immediately upon save_cwd or
74183         restore_cwd failure.  Now, an application can arrange e.g.,
74184         to perform a longjump in that case.
74185         * lib/openat.c: Include dirname.h.
74186         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
74187         (rpl_openat, fdopendir, fstatat): Call openat_save_die
74188         and openat_restore_die rather than calling error directly.
74189         Don't include "error.h" or "exitfail.h"; they're no longer needed.
74190
74191         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
74192         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
74193         define.
74194
74195         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
74196         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
74197                             int utc, int nanoseconds);
74198         Background:
74199         date should not have to allocate a megabyte of virtual memory to
74200         handle a format argument like +%1048575T.  When implemented with
74201         strftime, it must allocate such a buffer, use strftime to fill it
74202         in, print it, then free it.
74203         With fprintftime, it simply prints everything and exits.
74204         With no need for memory allocation, that's one fewer way to fail.
74205         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
74206         optional field width, not before, so we accept %9:z, not %:9z.
74207         (my_strftime): Be sure to use L_('x') for literals.
74208
74209         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
74210         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
74211         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
74212         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
74213         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
74214         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
74215         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
74216         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
74217         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
74218         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
74219         * lib/xgethostname.c, lib/xreadlink.c:
74220         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
74221
74222         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
74223         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
74224         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
74225         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74226         and don't include <sys/file.h>).
74227
74228 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
74229
74230         Sync from coreutils.
74231
74232         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
74233         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
74234         [!LDAV_DONE]: Avoid unused variable warning.
74235
74236 2005-09-21  Bruno Haible  <bruno@clisp.org>
74237
74238         * lib/unicodeio.h (unicode_to_mb): New declaration.
74239
74240 2005-09-20  Derek Price  <derek@ximbiot.com>
74241
74242         * lib/getaddrinfo.c: Don't include <netdb.h> included from
74243         getaddrinfo.h.
74244
74245 2005-09-20  Bruno Haible  <bruno@clisp.org>
74246
74247         * gnulib-tool: Remove trailing slashes from the values specified for
74248         --source-base, --m4-base, --tests-base, --aux-dir.
74249         Suggested by Simon Josefsson <jas@extundo.com>.
74250
74251 2005-09-20  Bruno Haible  <bruno@clisp.org>
74252
74253         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
74254         func_modules_to_filelist, func_import, func_create_testdir): Make all
74255         sorting results locale-independent, so that gnulib-cache.m4 doesn't
74256         change when gnulib-tool is invoked in a different locale.
74257
74258 2005-09-19  Simon Josefsson  <jas@extundo.com>
74259
74260         * m4/socklen.m4: Fix typo.
74261
74262 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74263
74264         Use a consistent style for including <config.h>.
74265         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
74266         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
74267         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
74268         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
74269         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
74270         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
74271         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
74272         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
74273         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
74274         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
74275         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
74276         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
74277         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
74278         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
74279         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
74280         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
74281         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
74282         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
74283         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
74284         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
74285         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
74286         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
74287         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
74288         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
74289         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
74290         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
74291         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
74292         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
74293         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
74294         lib/xstrtoumax.c, lib/yesno.c:
74295         Standardize inclusion of config.h.
74296         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
74297         lib/inttostr.h:  Removed inclusion of config.h from header files.
74298         * lib/inttostr.c:  Adjusted in-tree users.
74299         * lib/timespec.h: Remove superfluous warning to include config.h.
74300         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
74301         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
74302         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
74303         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
74304         config.h with HAVE_CONFIG_H.
74305
74306 2005-09-19  Jim Meyering  <jim@meyering.net>
74307
74308         * modules/pathmax (License): Change to LGPL.
74309
74310 2005-09-19  Derek Price  <derek@ximbiot.com>
74311
74312         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
74313
74314 2005-09-19  Bruno Haible  <bruno@clisp.org>
74315
74316         * gnulib-tool (import): Provide default for --tests-base.
74317
74318 2005-09-19  Bruno Haible  <bruno@clisp.org>
74319
74320         * doc/quote.texi: New file, extracted from gnulib.texi.
74321         * doc/ctime.texi: New file, extracted from gnulib.texi.
74322         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
74323         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
74324         * doc/gnulib.texi: Include them.
74325
74326 2005-09-18  Bruno Haible  <bruno@clisp.org>
74327
74328         Portability fix.
74329         * gnulib-tool (func_readlink): New function.
74330         (func_ln_if_changed): Use it.
74331
74332 2005-09-18  Bruno Haible  <bruno@clisp.org>
74333
74334         * gnulib-tool: Support --with-tests also with --import.
74335         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
74336         (func_import): Use variables $testsbase and $inctests. Emit a
74337         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
74338         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
74339         SUBDIRS += $testsdir.
74340         (func_create_testdir): Update.
74341
74342 2005-09-18  Bruno Haible  <bruno@clisp.org>
74343
74344         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
74345         instead of $dry_run.
74346         (func_cp_if_changed, func_mv_if_changed): Remove functions.
74347         (func_ln_if_changed): Don't handle dry-run here.
74348         (func_import): In dry-run mode, detect more precisely which actions
74349         would be performed, and don't use "...ing" verbs.
74350
74351 2005-09-18  Bruno Haible  <bruno@clisp.org>
74352
74353         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
74354         (func_import): Use join on two temporary files instead of three nested
74355         loops, in order to determine which files are new or old.
74356
74357 2005-09-18  Bruno Haible  <bruno@clisp.org>
74358
74359         * gnulib-tool (func_import): Comment out code that spits out the
74360         new files with --dry-run.
74361
74362 2005-09-18  Bruno Haible  <bruno@clisp.org>
74363
74364         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
74365
74366 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74367
74368         * lib/stat-time.h: New file.
74369         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
74370         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
74371         in a different way.
74372         (timespec_cmp): New function.
74373         * lib/utimecmp.c: Include stat-time.h.
74374         (SYSCALL_RESOLUTION): Depend on whether various struct stat
74375         members exist, not on the obsolescent ST_MTIM_NSEC.
74376         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
74377
74378 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74379
74380         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
74381
74382 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74383
74384         * MODULES.html.sh (File system functions): Add stat-time.
74385         * modules/stat-time: New file.
74386         * modules/timespec (Files): Remove m4/st_mtim.m4; this
74387         is now done in a different way, by the stat-time module.
74388         * modules/utimecmp (Depends-on): Add stat-time.
74389
74390 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74391
74392         * m4/st_mtim.m4: Remove.  Superseded by...
74393         * m4/stat-time.m4: New file.
74394         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
74395         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
74396
74397 2005-09-15  Derek Price  <derek@ximbiot.com>
74398
74399         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
74400
74401 2005-09-15  Derek Price  <derek@ximbiot.com>
74402
74403         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
74404         * lib/regex_internal.c: Ditto, using this...
74405         (__GNUC_PREREQ): ...new macro.
74406         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
74407         using...
74408         (__GNUC_PREREQ): ...this new macro.
74409
74410         * lib/strstr.h: Include string.h. Define strstr as a macro here.
74411
74412 2005-09-15  Derek Price  <derek@ximbiot.com>
74413             Paul Eggert  <eggert@cs.ucla.edu>
74414
74415         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
74416         changes, consolidating in...
74417         * lib/regex_internal.h: ...this file.
74418
74419 2005-09-13  Jim Meyering  <jim@meyering.net>
74420
74421         * lib/canon-host.c: Filter through gnu indent and reword comments
74422         slightly.
74423         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
74424
74425 2005-09-13  Derek Price  <derek@ximbiot.com>
74426
74427         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
74428         failure.
74429         Reported by Jim Meyering  <jim@meyering.net>.
74430
74431 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74432
74433         * lib/base64.c: Typo.
74434         (base64_encode): Put b64str in initialized data section.
74435
74436 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74437
74438         Merge glibc and coreutils changes into gnulib, plus a few
74439         extra fixes.
74440         * lib/md5.c: Use #error rather than a string.
74441         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74442         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74443         (__attribute__): Define to empty for non recent-GCC.
74444         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74445         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74446         Renamed from their non-__ counterparts, with new macros replacing
74447         them if not _LIBC.  Add __THROW attribute.
74448         (rol): Remove.
74449         (struct md5_ctx): Align buffer if using GCC.
74450         * lib/sha1.h (struct sha1_ctx): Likewise.
74451         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74452         The old name was backwards.
74453         (NOTSWAP): Remove; not used.
74454         (rol): New macro, moved here from md5.h.
74455         (sha1_process_block): Remove a FIXME that doesn't make sense.
74456
74457 2005-09-12  Derek Price  <derek@ximbiot.com>
74458
74459         Return usable errors from canon-host.
74460         * lib/canon-host.h: New file.
74461         * lib/canon-host.c (canon_host): Wrap...
74462         (canon_host_r): ...this new function, which now relies exclusively on
74463         getaddrinfo.
74464         (ch_strerror): New function.
74465         (last_cherror): New global.
74466         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74467         interface.
74468         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74469         void *.
74470         (freeaddrinfo): Free ai->ai_canonname when set.
74471
74472 2005-09-12  Derek Price  <derek@ximbiot.com>
74473
74474         Make canon-host require getaddrinfo.
74475         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74476         AC_LIBSOURCE canon-host.h.  Call...
74477         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74478         gl_GETADDRINFO.
74479         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74480
74481 2005-09-12  Derek Price  <derek@ximbiot.com>
74482
74483         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74484         LGPL.
74485         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74486
74487 2005-09-12  Derek Price  <derek@ximbiot.com>
74488
74489         * lib/gai_strerror.c: Include config.h when available.  Include
74490         getaddrinfo.h before other headers to test interface.
74491         Reported by Larry Jones <lawrence.jones@ugs.com>.
74492
74493 2005-09-12  Derek Price  <derek@ximbiot.com>
74494             Paul Eggert  <eggert@cs.ucla.edu>
74495
74496         * modules/glob (Files): Add glob-libc.h.
74497
74498 2005-09-12  Derek Price  <derek@ximbiot.com>
74499             Paul Eggert  <eggert@cs.ucla.edu>
74500
74501         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74502         glob_.h, glob-libc.h.
74503         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74504
74505 2005-09-12  Derek Price  <derek@ximbiot.com>
74506             Paul Eggert  <eggert@cs.ucla.edu>
74507
74508         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74509         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74510         protecting things that should be done only in gnulib contexts.
74511         * lib/glob_.h: New file, containing only the glob things needed for
74512         gnulib.
74513         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74514         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74515         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74516         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74517         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74518         and to respect the namespace rules better.
74519
74520 2005-09-08  Simon Josefsson  <jas@extundo.com>
74521
74522         * modules/socklen: New file.
74523
74524 2005-09-08  Simon Josefsson  <jas@extundo.com>
74525
74526         * m4/socklen.m4: New file.
74527
74528 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74529
74530         * modules/utimens (Files): Add m4/utimbuf.m4, since
74531         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74532         Reported by Sergey Poznyakoff.
74533
74534 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74535
74536         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74537         definitions, since that's the preferred style in glibc.
74538         Fix a minor spacing issue, and update copyright notice to match
74539         glibc's.
74540
74541 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74542
74543         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74544
74545 2005-09-06  Simon Josefsson  <jas@extundo.com>
74546
74547         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74548         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74549
74550 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74551
74552         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74553         warning.
74554
74555 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74556
74557         * config/srclist.txt: Add glibc bug 1302.
74558
74559 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74560
74561         Change bitset word type from unsigned int to unsigned long int,
74562         as this has better performance on typical 64-bit hosts.
74563         Port bitset code to hosts with unusual word sizes.
74564         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74565         (build_collating_symbol):
74566         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74567         argument is a bitset.  This is merely a style issue, but it makes
74568         it clearer that an entire array is expected.
74569         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74570         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74571         Port to the case where bitset_word is not the same as unsigned int.
74572         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74573         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74574         Likewise.
74575         * lib/regexec.c (check_dst_limits_calc_pos_1,
74576         check_subexp_matching_top):
74577         (build_trtable, group_nodes_into_DFAstates):
74578         Likewise.
74579         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74580         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74581         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74582         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74583         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74584         * lib/regcomp.c (optimize_subexps, lower_subexp):
74585         Work even if bitset_word has holes in its bitwise representation.
74586         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74587         * lib/regexec.c (check_dst_limits_calc_pos_1,
74588         check_subexp_matching_top):
74589         Likewise.
74590         * lib/regex_internal.c (re_string_reconstruct):
74591         Don't assume UCHAR_MAX == 255.
74592         * lib/regex_internal.h (bitset_set_all): Likewise.
74593         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74594         All uses changed.
74595         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74596         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74597         All uses changed.
74598         (BITSET_WORD_MAX): New macro.
74599         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74600         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74601         (bitset_empty, bitset_copy):
74602         Prefer sizeof (bitset) to multiplying it out ourselves.
74603         (bitset_not_merge): Remove; unused.
74604         (bitset_contain): Return bool, not unsigned int with one bit on.
74605         All callers changed.
74606         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74607         alignment than re_node_set; do this by defining a new internal
74608         type struct dests_alloc and using it to allocate memory.
74609
74610 2005-09-05  Bruno Haible  <bruno@clisp.org>
74611
74612         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74613         links.
74614
74615 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74616
74617         * modules/size_max (Makefile.am): Add size_max.h
74618
74619 2005-09-04  Derek Price  <derek@ximbiot.com>
74620
74621         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74622
74623 2005-09-03  Simon Josefsson  <jas@extundo.com>
74624
74625         * gnulib-tool: Fix typo.
74626
74627 2005-09-03  Simon Josefsson  <jas@extundo.com>
74628
74629         * config/srclist.txt: Add glibc bug 1293.
74630
74631 2005-09-03  Derek Price  <derek@ximbiot.com>
74632
74633         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74634         From Larry Jones <lawrence.jones@ugs.com>.
74635
74636 2005-09-02  Simon Josefsson  <jas@extundo.com>
74637
74638         * modules/socklen: New file.
74639
74640 2005-09-02  Simon Josefsson  <jas@extundo.com>
74641
74642         * modules/havelib: New module.
74643
74644         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74645         Use havelib.
74646
74647 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74648
74649         Check for arithmetic overflow when calculating sizes, to prevent
74650         some buffer-overflow issues.  These patches are conservative, in the
74651         sense that when I couldn't determine whether an overflow was possible,
74652         I inserted a run-time check.
74653         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74654         macros.
74655         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74656         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74657         (re_xnrealloc, re_x2nrealloc): New inline functions.
74658         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74659         parse_bracket_exp):
74660         (build_equiv_class, build_charclass): Check for arithmetic overflow
74661         in size expression calculations.
74662         * lib/regex_internal.c (re_string_realloc_buffers):
74663         (build_wcs_upper_buffer, re_node_set_add_intersect):
74664         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74665         (re_dfa_add_node, register_state): Likewise.
74666         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74667         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74668         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74669         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74670
74671 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74672
74673         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74674         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74675
74676 2005-09-02  Bruno Haible  <bruno@clisp.org>
74677
74678         Support for lib vs. lib64 distinction on biarch platforms.
74679         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74680         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74681         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74682
74683 2005-09-02  Bruno Haible  <bruno@clisp.org>
74684
74685         * gnulib-tool (import): In the other first-use case, provide defaults
74686         as well.
74687
74688 2005-09-02  Bruno Haible  <bruno@clisp.org>
74689
74690         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74691         patches not yet found in the latest gettext release.
74692
74693 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74694
74695         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74696         to avoid a collision with bits/local_lim.h in glibc.
74697         All uses changed.  Problem reported by Dmitry V. Levin in
74698         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74699
74700         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74701         bugs in int versus size_t comparisons.
74702         (re_string_context_at): Fix bug where the code assumed that
74703         Idx is signed.
74704
74705         Use bool where appropriate.
74706         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74707         All callers changed.
74708         (calc_eclosure_iter): Likewise, for ROOT arg.
74709         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74710         (build_charclass_op): Likewise, for NON_MATCH arg.
74711         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74712         (re_string_construct_common): Likewise, for ICASE arg.
74713         * lib/regexec.c (re_search_2_stub, re_search_stub):
74714         Likewise, for RET_LEN arg.
74715         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74716         (set_regs): Likewise, for FL_BACKTRACK arg.
74717         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74718         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74719         (calc_eclosure_iter, parse_bracket_exp):
74720         Use bool for internal variables that are booleans.
74721         * lib/regexec.c (re_search_internal, check_matching,
74722         proceed_next_node):
74723         (set_regs, build_sifted_states, sift_states_bkref):
74724         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74725         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74726         (find_collation_sequence_value):
74727         Likewise.
74728         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74729         (re_node_set_compare):
74730         Return bool, not int. All callers changed.
74731         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74732         (build_trtable, check_node_accept): Likewise.
74733         * lib/regex_internal.h: Include stdbool.h.
74734
74735         Fix bugs uncovered when converting to bool.
74736         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74737         failure instead of charging ahead blindly.
74738         * lib/regex_internal.c (register_state): Likewise.
74739         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74740         for freeing internal storage.
74741         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74742         bitset pieces used as boolean, to avoid undefined behavior
74743         on hosts that do int overflow checking.
74744
74745 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74746
74747         * config/srclist.txt: Add glibc bugs 1285-1287.
74748
74749 2005-09-01  Jim Meyering  <jim@meyering.net>
74750
74751         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74752         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74753         Require gl_STAT_MACROS, too.
74754
74755 2005-09-01  Bruno Haible  <bruno@clisp.org>
74756
74757         * gnulib-tool (import): In the first-use case, provide defaults.
74758
74759 2005-09-01  Bruno Haible  <bruno@clisp.org>
74760
74761         * gnulib-tool (func_import): Remove the .tmp files.
74762
74763 2005-09-01  Bruno Haible  <bruno@clisp.org>
74764
74765         * gnulib-tool (func_import): Fix handling of symbolic links.
74766
74767 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74768
74769         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74770         old glibc regex code mishandles strings longer than 2**31 bytes.
74771         This patch fixes this when the regex code is used in gnulib
74772         (i.e., outside glibc).
74773
74774         This patch should not affect the use of the regex code inside
74775         glibc.  No doubt this problem also needs to be handled for glibc
74776         as well, but the result will be an incompatible change to the
74777         glibc ABI, and the old ABI will have to be supported too.  That
74778         can be the the subject for another patch.
74779
74780         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74781         governing whether the rest of this patch is active.  By default,
74782         the macro is disabled and the patch has no effect.
74783         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74784         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74785         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74786         (re_match_2, re_set_registers): Use the new types.
74787         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74788         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74789         New macros.
74790         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74791         (re_string_context_at, bin_tree_t, re_dfastate_t):
74792         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74793         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74794         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74795         (re_string_char_size_at, re_string_wchar_at):
74796         (re_string_elem_size_at):
74797         Use the new types and macros to port to 64-bit hosts.
74798         Use unsigned types for internal values, so that the code
74799         mostly works even for arrays larger than SSIZE_MAX.
74800         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74801         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74802         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74803         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74804         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74805         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74806         (calc_inveclosure, parse_dup_op, build_range_exp):
74807         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74808         (fetch_number, create_token_tree, mark_opt_subexp):
74809         Likewise.
74810         * lib/regex_internal.c (re_string_construct_common,
74811         create_ci_newstate):
74812         (create_cd_newstate, re_string_allocate, re_string_construct):
74813         (re_string_realloc_buffers, build_wcs_upper_buffer):
74814         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74815         (re_string_reconstruct, re_string_peek_byte_case):
74816         (re_string_fetch_byte_case, re_string_context_at):
74817         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74818         (re_node_set_init_copy, re_node_set_add_intersect):
74819         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74820         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74821         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74822         (re_acquire_state, re_acquire_state_context, register_state):
74823         Likewise.
74824         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74825         search_cur_bkref_entry):
74826         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74827         (re_search_internal, re_search_2_stub, re_search_stub)
74828         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74829         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74830         (update_cur_sifted_state, check_dst_limits):
74831         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74832         (check_subexp_limits, sift_states_bkref, merge_state_array):
74833         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74834         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74835         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74836         (expand_bkref_cache, check_node_accept_bytes):
74837         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74838         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74839         (acquire_init_state_context, check_halt_node_context):
74840         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74841         (sift_states_backward, clean_state_log_if_needed):
74842         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
74843         (find_recover_state, transit_state_sb, transit_state_mb):
74844         (transit_state_bkref, build_trtable, match_ctx_clean):
74845         Likewise.
74846         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
74847         to work around an assumption that REG_MISSING is negative.
74848
74849         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
74850         (seek_collating_symbol_entry) [defined _LIBC]:
74851         (lookup_collation_sequence_value) [defined _LIBC]:
74852         (build_range_exp, build_collating_symbol) [defined _LIBC]:
74853         Use prototypes rather than old-style function definitions.
74854         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
74855         (transit_state_sb) [0]:
74856         (find_collation_sequence_value) [defined _LIBC]: Likewise.
74857
74858         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
74859         rm_eo.
74860
74861         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
74862         (optimize_subexps, lower_subexp):
74863         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
74864         since the signed shift might overflow.  Use 1u<<31 instead.
74865         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74866         Likewise.
74867         * lib/regexec.c (check_dst_limits_calc_pos_1,
74868         check_subexp_matching_top): Likewise.
74869
74870         * lib/regcomp.c (optimize_subexps, lower_subexp):
74871         Use CHAR_BIT rather than 8, for clarity.
74872         * lib/regexec.c (check_dst_limits_calc_pos_1):
74873         (check_subexp_matching_top): Likewise.
74874         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
74875         have to worry about portability issues when shifting it left.
74876         Remove no-longer-needed test for table_size > 0.
74877         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
74878         in a word, as the resulting behavior is undefined.
74879         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
74880         in one case, a <= should have been an <, and in another case the
74881         whole test was missing.
74882         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
74883         the standard name CHAR_BIT.
74884         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
74885         this is not true on one's complement and signed-magnitude hosts.
74886
74887         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
74888         next_last_offset.
74889         (struct re_dfa_t): Remove unused member states_alloc.
74890         * lib/regcomp.c (init_dfa): Don't initialize unused members.
74891
74892 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74893
74894         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
74895         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
74896         and large-file glibc and in 32-bit large-file Solaris.
74897
74898 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74899
74900         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
74901         lengths fit in regoff_t; this isn't true if regoff_t is the same
74902         width as size_t.
74903         * lib/regex.c (re_search_internal): 5th arg is LAST_START
74904         (= START + RANGE) instead of RANGE.  This avoids overflow
74905         problems when regoff_t is the same width as size_t.
74906         All callers changed.
74907         (re_search_2_stub): Check for overflow when adding the
74908         sizes of the two strings.
74909         (re_search_stub): Check for overflow when adding START
74910         to RANGE; if it occurs, substitute the extreme value.
74911
74912 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74913
74914         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
74915
74916 2005-08-31  Jim Meyering  <jim@meyering.net>
74917
74918         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
74919         a pointer-to-const.
74920         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
74921         (register_state): Likewise.
74922         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
74923         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74924         (group_nodes_into_DFAstates): Likewise.
74925
74926 2005-08-31  Jim Meyering  <jim@meyering.net>
74927
74928         * check-module: Add a FIXME comment.
74929
74930 2005-08-31  Eric Blake  <ebb9@byu.net>
74931
74932         * modules/unistd-safer (Files): Add unistd--.h.
74933         * modules/stdio-safer (Files): Add stdio--.h.
74934
74935 2005-08-31  Derek Price  <derek@ximbiot.com>
74936
74937         * lib/getdelim.c (getdelim): Return EOF on EOF.
74938         Reported by Larry Jones <lawrence.jones@ugs.com>.
74939
74940 2005-08-31  Bruno Haible  <bruno@clisp.org>
74941
74942         Avoid unnecessary diffs in the generated lib/Makefile.am.
74943         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
74944         the generated files.
74945         (func_import): Don't set cmd.
74946
74947 2005-08-31  Bruno Haible  <bruno@clisp.org>
74948
74949         * lib/strstr.c: Include <stddef.h>, for NULL.
74950         * lib/strcasestr.c: Likewise.
74951         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74952
74953 2005-08-31  Bruno Haible  <bruno@clisp.org>
74954
74955         * gnulib-tool: New option --macro-prefix.
74956         (func_import): Use macro_prefix.
74957         (import): Handle option --macro-prefix.
74958
74959 2005-08-31  Bruno Haible  <bruno@clisp.org>
74960
74961         * gnulib-tool (import): Rename most ac_* variables to cached_*.
74962         Also use new variables cached_lgpl, cached_libtool.
74963
74964 2005-08-31  Bruno Haible  <bruno@clisp.org>
74965
74966         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
74967         always instantiating them.
74968
74969 2005-08-31  Bruno Haible  <bruno@clisp.org>
74970
74971         * gnulib-tool (func_import): Read the previous cached settings
74972         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
74973         earlier added by gnulib but are now dropped. Warn when a gnulib file
74974         overwrites a non-gnulib file.
74975
74976 2005-08-31  Bruno Haible  <bruno@clisp.org>
74977
74978         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
74979         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
74980         projects that don't keep autogenerated files in CVS. Put into
74981         actioncmd only the specified modules, not the transitive closure.
74982
74983 2005-08-31  Bruno Haible  <bruno@clisp.org>
74984
74985         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
74986         Create directories that shall be filled.
74987         (import): Don't look for gl_* macros in configure.ac. Recurse across
74988         all directories containing a gnulib-cache.m4 files, if meaningful.
74989
74990 2005-08-31  Bruno Haible  <bruno@clisp.org>
74991
74992         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
74993         (import): Set seen_libtool when we see gl_LIBTOOL.
74994
74995 2005-08-31  Bruno Haible  <bruno@clisp.org>
74996
74997         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
74998         declaration macro definitions from generated gnulib.m4.
74999
75000 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
75001
75002         * lib/iconvme.h: Add prototype for iconv_alloc.
75003
75004 2005-08-29  Simon Josefsson  <jas@extundo.com>
75005
75006         * lib/iconvme.c: Fix errno.
75007
75008 2005-08-29  Bruno Haible  <bruno@clisp.org>
75009
75010         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
75011         that it works when the directory contains spaces.
75012
75013 2005-08-29  Bruno Haible  <bruno@clisp.org>
75014
75015         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
75016
75017 2005-08-29  Bruno Haible  <bruno@clisp.org>
75018
75019         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
75020         Emit more advice.
75021
75022 2005-08-29  Bruno Haible  <bruno@clisp.org>
75023         and Stepan Kasal  <kasal@ucw.cz>
75024
75025         * check-module: If more parameters are given, check each of them
75026         separately; add more exceptions, as noted by Jim Meyering.
75027         (check_module): New procedure.
75028         (%exempt_header): Now contains all exceptions.
75029
75030 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
75031
75032         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
75033
75034 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
75035
75036         * lib/iconvme.c: Split iconv_string into iconv_alloc.
75037
75038 2005-08-28  Bruno Haible  <bruno@clisp.org>
75039
75040         * m4/gnulib-tool.m4: New file.
75041
75042 2005-08-27  Jim Meyering  <jim@meyering.net>
75043
75044         * modules/unistd-safer (Files): Add pipe-safer.c.
75045         * modules/fcntl-safer (Files): Add creat-safer.c.
75046
75047 2005-08-27  Jim Meyering  <jim@meyering.net>
75048
75049         * m4/stdlib-safer.m4: New file.  From coreutils.
75050         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
75051         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
75052         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
75053         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
75054         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
75055
75056 2005-08-27  Jim Meyering  <jim@meyering.net>
75057
75058         * lib/fopen-safer.c: Merge minor changes from coreutils.
75059         * lib/dup-safer.c: Likewise.
75060         * lib/fd-safer.c: Likewise.
75061
75062         Merge from coreutils.
75063         * lib/stdio--.h: New file.
75064         * lib/stdlib--.h: New file.
75065         * lib/mkstemp-safer.c: New file.
75066
75067         GNU tar needs these.
75068         * lib/pipe-safer.c: New file.
75069         * lib/creat-safer.c: New file.
75070         * lib/fcntl--.h (creat): Define to creat_safer.
75071         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
75072         * lib/unistd--.h (pipe): Define to pipe_safer.
75073         * lib/unistd-safer.h: Declare pipe_safer.
75074
75075 2005-08-26  Simon Josefsson  <jas@extundo.com>
75076
75077         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
75078         Haible <bruno@clisp.org>.
75079
75080 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
75081
75082         * lib/regex_internal.h: Remove all references to
75083         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
75084         or better.
75085         (bitset_not, bitset_merge, bitset_not_merge):
75086         (bitset_mask, re_string_allocate, re_string_construct):
75087         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
75088         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
75089         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
75090         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
75091         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75092         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75093         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
75094         (re_acquire_state_context):
75095         Remove unnecessary forward decls.
75096         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
75097         Put __attribute at function definition,
75098         now that the function decl has been removed.
75099         * lib/regex_internal.c (re_string_peek_byte_case):
75100         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
75101         Likewise.
75102
75103 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
75104
75105         * m4/regex.m4: Add AC_PREREQ(2.50).
75106         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
75107
75108 2005-08-25  Simon Josefsson  <jas@extundo.com>
75109
75110         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
75111         __fsetlocking.
75112
75113 2005-08-25  Simon Josefsson  <jas@extundo.com>
75114
75115         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
75116         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
75117         GLIBC specific code.
75118
75119 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75120
75121         Make regex safe for g++.  This fixes one real bug (an "err"
75122         that should have been "*err").  g++ problem reported by
75123         Sam Steingold.
75124         * lib/regex_internal.h (re_calloc): New macro, consistent with
75125         re_malloc etc.  All callers of calloc changed to use re_calloc.
75126         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
75127         not int.  All callers changed.
75128         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
75129         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
75130         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
75131         (find_recover_state): Change "err" to "*err"; this fixes what
75132         appears to be a real bug.
75133         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
75134         versus int.
75135
75136 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75137
75138         * modules/regex (Depends-on): Add malloc, since the code
75139         assumes that !malloc(0) means failure.
75140
75141 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75142
75143         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
75144
75145         alloca modernization/simplification for regex.
75146         * lib/regex.c: Remove portability cruft for alloca.  This no longer
75147         needs to be at the start of the file, and can be moved into
75148         regex_internal.h and simplified.
75149         * lib/regex_internal.h: Include <alloca.h>.
75150         (__libc_use_alloca) [!defined _LIBC]: New macro.
75151         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
75152         now works outside glibc.
75153
75154 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75155
75156         * config/srclist.txt: Add glibc bugs 1241, 1245.
75157
75158 2005-08-25  Jim Meyering  <jim@meyering.net>
75159
75160         * lib/open-safer.c: Include <config.h>.
75161         Otherwise, we'd lose LARGEFILE support in any file using
75162         e.g. "fcntl--.h"
75163
75164 2005-08-25  Bruno Haible  <bruno@clisp.org>
75165
75166         * m4/minmax.m4: Require autoconf 2.52.
75167         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
75168         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
75169         alternatives of translit over the alphabet.
75170         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
75171
75172 2005-08-24  Simon Josefsson  <jas@extundo.com>
75173
75174         * tests/test-getpass.c: New file.
75175
75176 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75177
75178         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
75179         for GNU regex features.
75180
75181 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75182
75183         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
75184         * lib/regex.h (regerror): Likewise.
75185
75186         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
75187         requires this.  (The code never needed it.)
75188
75189         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
75190         All uses of recently-renamed identifiers changed to use the new,
75191         POSIX-compliant names.  The code will build and run just fine
75192         without these changes, but it's better to eat our own dog food
75193         and use the standard-conforming names.
75194
75195         * lib/regex.h: Fix a multitude of POSIX name space violations.
75196         These changes have an effect only for programs that define
75197         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
75198         do not change anything for programs compiled in the normal way.
75199         Also, there is no effect on the ABI.
75200
75201         (_REGEX_SOURCE): New macro.
75202         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
75203         defined and _GNU_SOURCE is not; this fixes a name space violation.
75204
75205         Rename the following macros to obey POSIX requirements.
75206         The old names are still visible as macros if _REGEX_SOURCE is defined.
75207         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
75208         RE_BACKSLASH_ESCAPE_IN_LISTS.
75209         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
75210         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
75211         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
75212         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
75213         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
75214         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
75215         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
75216         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
75217         (REG_INTERVALS): renamed from RE_INTERVALS.
75218         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
75219         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
75220         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
75221         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
75222         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
75223         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
75224         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
75225         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
75226         RE_UNMATCHED_RIGHT_PAREN_ORD.
75227         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
75228         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
75229         (REG_DEBUG): renamed from RE_DEBUG.
75230         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
75231         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
75232         unusual, since we can't clash with the POSIX REG_ICASE.
75233         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
75234         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
75235         (REG_NO_SUB): renamed from RE_NO_SUB.
75236         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
75237         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
75238         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
75239         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
75240         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
75241         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
75242         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
75243         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
75244         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
75245         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
75246         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
75247         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
75248         RE_SYNTAX_POSIX_MINIMAL_BASIC.
75249         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
75250         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
75251         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
75252         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
75253         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
75254         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
75255         (REG_FIXED): Renamed from REGS_FIXED.
75256         (REG_NREGS): Renamed from RE_NREGS.
75257
75258         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
75259         of other REG_* macros, since POSIX says the user is allowed to
75260         #undef these macros selectively.
75261
75262         (reg_errcode_t): Update comment stating what other tables need
75263         to be consistent.
75264
75265         Rename the following enum values to obey POSIX requirements.
75266         The old names are still visible as macros.
75267         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
75268         is not defined, since GNU is supposed to be a superset of POSIX as
75269         much as possible, and since we want reg_errcode_t to be a signed
75270         type for implementation consistency.
75271         (_REG_NOERROR): Renamed from REG_NOERROR.
75272         (_REG_NOMATCH): Renamed from REG_NOMATCH.
75273         (_REG_BADPAT): Renamed from REG_BADPAT.
75274         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
75275         (_REG_ECTYPE): Renamed from REG_ECTYPE.
75276         (_REG_EESCAPE): Renamed from REG_EESCAPE.
75277         (_REG_ESUBREG): Renamed from REG_ESUBREG.
75278         (_REG_EBRACK): Renamed from REG_EBRACK.
75279         (_REG_EPAREN): Renamed from REG_EPAREN.
75280         (_REG_EBRACE): Renamed from REG_EBRACE.
75281         (_REG_BADBR): Renamed from REG_BADBR.
75282         (_REG_ERANGE): Renamed from REG_ERANGE.
75283         (_REG_ESPACE): Renamed from REG_ESPACE.
75284         (_REG_BADRPT): Renamed from REG_BADRPT.
75285         (_REG_EEND): Renamed from REG_EEND.
75286         (_REG_ESIZE): Renamed from REG_ESIZE.
75287         (_REG_ERPAREN): Renamed from REG_ERPAREN.
75288         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
75289         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
75290         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
75291         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
75292
75293         (_REG_RE_NAME, _REG_RM_NAME): New macros.
75294         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
75295         changed.  But support the old name if the new one is not defined
75296         and if _REGEX_SOURCE.
75297
75298         Change the following member names in struct re_pattern_buffer.
75299         The old names are still supported if !_REGEX_SOURCE.
75300         The new names are always supported, regardless of _REGEX_SOURCE.
75301         (re_buffer): Renamed from buffer.
75302         (re_allocated): Renamed from allocated.
75303         (re_used): Renamed from used.
75304         (re_syntax): Renamed from syntax.
75305         (re_fastmap): Renamed from fastmap.
75306         (re_translate): Renamed from translate.
75307         (re_can_be_null): Renamed from can_be_null.
75308         (re_regs_allocated): Renamed from regs_allocated.
75309         (re_fastmap_accurate): Renamed from fastmap_accurate.
75310         (re_no_sub): Renamed from no_sub.
75311         (re_not_bol): Renamed from not_bol.
75312         (re_not_eol): Renamed from not_eol.
75313         (re_newline_anchor): Renamed from newline_anchor.
75314
75315         Change the following member names in struct re_registers.
75316         The old names are still supported if !_REGEX_SOURCE.
75317         The new names are always supported, regardless of _REGEX_SOURCE.
75318         (rm_num_regs): Renamed from num_regs.
75319         (rm_start): Renamed from start.
75320         (rm_end): Renamed from end.
75321
75322         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
75323         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
75324         Prepend __ to parameter names.
75325
75326         Undo yesterday's changes.
75327
75328 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75329
75330         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
75331         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
75332         lib/regex.c.
75333
75334 2005-08-24  Jim Meyering  <jim@meyering.net>
75335
75336         Sync from coreutils.
75337         * m4/fcntl-safer.m4: New file.
75338
75339         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
75340         and object files for this module.
75341
75342 2005-08-24  Jim Meyering  <jim@meyering.net>
75343
75344         Sync from coreutils.
75345         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
75346
75347 2005-08-24  Jim Meyering  <jim@meyering.net>
75348
75349         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
75350         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
75351
75352 2005-08-24  Jim Meyering  <jim@meyering.net>
75353
75354         * modules/fcntl-safer: New module.
75355         * modules/fts (Depends-on): Add fcntl-safer.
75356         * MODULES.html.sh (File descriptor based Input/Output):
75357         Add fcntl-safer.
75358
75359 2005-08-24  Bruno Haible  <bruno@clisp.org>
75360
75361         Support for unit test modules.
75362         * modules/README: Mention tests modules.
75363         * modules/TEMPLATE-TESTS: New file.
75364         * gnulib-tool: New options --extract-tests-module, --with-tests and
75365         --tests-base (unused for the moment).
75366         (testsbase, inctests): New variables.
75367         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
75368         (func_verify_module): Exclude TEMPLATE-TESTS.
75369         (func_verify_nontests_module, func_verify_tests_module): New functions.
75370         (func_get_dependencies): Add implicit dependency for tests modules.
75371         (func_get_tests_module): New function.
75372         (func_modules_transitive_closure): When --with-tests was specified,
75373         include the unit tests as well, unless explicitly avoided.
75374         (func_emit_lib_Makefile_am): Ignore the tests modules here.
75375         (func_emit_tests_Makefile_am): New function.
75376         (func_create_testdir): When --with-tests was specified, emit a
75377         tests/ directory.
75378         * MODULES.html.sh (Future developments): Update.
75379
75380 2005-08-24  Bruno Haible  <bruno@clisp.org>
75381
75382         * modules/tls-tests: New file.
75383         * tests/test-tls.c: New file, from GNU gettext.
75384
75385 2005-08-24  Bruno Haible  <bruno@clisp.org>
75386
75387         * modules/lock-tests: New file.
75388         * tests/test-lock.c: New file, from GNU gettext.
75389
75390 2005-08-24  Bruno Haible  <bruno@clisp.org>
75391
75392         * lib/lock.h: Add multiple inclusion guard.
75393         * lib/tls.h: Add multiple inclusion guard.
75394
75395 2005-08-24  Bruno Haible  <bruno@clisp.org>
75396
75397         * gnulib-tool: Add support for the --aux-dir option to
75398         --create-testdir, --create-megatestdir, --test, --megatest.
75399         (func_create_testdir, func_create_megatestdir): Optionally emit a
75400         AC_CONFIG_AUX_DIR directive.
75401         (create-testdir, create-megatestdir, test, megatest): Provide a
75402         default value for $auxdir.
75403
75404 2005-08-24  Bruno Haible  <bruno@clisp.org>
75405
75406         * gnulib-tool (import): Use compound statement instead of subshell
75407         where possible.
75408
75409 2005-08-24  Bruno Haible  <bruno@clisp.org>
75410
75411         * gnulib-tool (import): Change --aux-dir default to "build-aux".
75412
75413 2005-08-24  Bruno Haible  <bruno@clisp.org>
75414
75415         * gnulib-tool (func_version): Update.
75416
75417 2005-08-24  Bruno Haible  <bruno@clisp.org>
75418
75419         * gnulib-tool (func_import, func_create_testdir,
75420         func_create_megatestdir): Quote all autoconf macro arguments.
75421
75422 2005-08-24  Bruno Haible  <bruno@clisp.org>
75423
75424         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
75425         option --force, because --force causes the aclocal.m4 of each
75426         subdirectory to be newer than the corresponding config.h.in.
75427
75428 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75429
75430         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75431         All contents moved to gl_REGEX.
75432         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75433         assume that it does.
75434
75435 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75436
75437         * lib/regex.h (REG_NOSYS)
75438         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75439         Define, since POSIX requires it as of 2001.
75440         (_REG_ENOSYS)
75441         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75442         New private symbol, used to keep the enum signed in all cases.
75443         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75444         Youngman in
75445         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75446
75447         * lib/regex_internal.c (re_string_skip_chars, register_state):
75448         (calc_state_hash):
75449         Remove forward decls; no longer needed now that we use prototypes.
75450         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75451         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75452         (clean_state_log_if_needed): Likewise.
75453
75454 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75455
75456         * config/srclist.txt: Add glibc bugs 1231-1233.
75457
75458 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75459
75460         Fix problems reported by Sam Steingold in
75461         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75462         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75463         assumed that reg_errcode_t is a signed type, which is not
75464         necessarily true if _XOPEN_SOURCE is not defined.
75465         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75466         since some compilers warn about it otherwise.
75467
75468 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75469
75470         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75471         (init_word_char, create_initial_state, duplicate_node_closure):
75472         (fetch_token, peek_token_bracket, build_range_exp):
75473         (build_collating_symbol): Remove forward decls; no longer needed
75474         now that we use prototypes.
75475
75476         * lib/regcomp.c:
75477         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75478         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75479         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75480         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75481         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75482         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75483         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75484         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75485         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75486         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75487         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75488         (build_charclass, build_charclass_op, fetch_number, create_tree):
75489         (create_token_tree, mark_opt_subexp, duplicate_tree):
75490         Use prototypes rather than old-style definitions.
75491
75492         * lib/regex_internal.c:
75493         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75494         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75495         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75496         (re_string_reconstruct, re_string_peek_byte_case):
75497         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75498         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75499         (re_node_set_init_copy, re_node_set_add_intersect):
75500         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75501         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75502         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75503         (re_acquire_state, re_acquire_state_context, register_state):
75504         (create_ci_newstate, create_cd_newstate, free_state):
75505         Likewise.
75506         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75507         re_search_2):
75508         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75509         (re_search_internal, prune_impossible_nodes):
75510         (acquire_init_state_context, check_matching, static):
75511         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75512         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75513         (update_regs, sift_states_backward, build_sifted_states):
75514         (clean_state_log_if_needed, merge_state_array):
75515         (update_cur_sifted_state, add_epsilon_src_nodes):
75516         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75517         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75518         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75519         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75520         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75521         (check_arrival, check_arrival_add_next_nodes):
75522         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75523         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75524         (check_node_accept_bytes, check_node_accept, extend_buffers):
75525         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75526         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75527         (sift_ctx_init):
75528         Likewise.
75529
75530         * lib/regex_internal.h:
75531         (re_string_allocate, re_string_construct, re_string_reconstruct):
75532         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75533         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75534         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75535         (re_string_context_at, re_string_peek_byte_case):
75536         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75537         is defined, since we now use prototypes always.
75538
75539         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75540         C89 or better.  All uses removed.
75541
75542 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75543
75544         * config/srclist.txt: Add glibc bugs 1220-1227.
75545
75546 2005-08-20  Jim Meyering  <jim@meyering.net>
75547
75548         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75549         of unused local, dfa.
75550
75551 2005-08-20  Bruno Haible  <bruno@clisp.org>
75552
75553         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75554
75555 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75556
75557         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75558         (re_node_set_insert_last, re_dfa_add_node):
75559         Rename local variables to avoid GCC shadowing warnings.
75560
75561 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75562
75563         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75564         [defined lint]: Suppress bogus uninitialized-variable warnings.
75565
75566         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75567         and let the caller return REG_ESPACE if out of space.  This
75568         removes an uninitialied-variable warning with GCC 4.0.1, and also
75569         avoids taking the address of a local variable.  All callers
75570         changed.
75571
75572 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75573
75574         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75575         $LIBCSRC/posix/regexec.c.
75576         Add glibc bug 1217 for regcomp.c.
75577
75578 2005-08-19  Jim Meyering  <jim@meyering.net>
75579
75580         * lib/regexec.c (proceed_next_node): Redo local variables to
75581         avoid GCC shadowing warnings.
75582
75583 2005-08-18  Bruno Haible  <bruno@clisp.org>
75584
75585         * lib/strstr.c (strstr): Fix return value in multibyte case.
75586         * lib/strcasestr.c (strcasestr): Likewise.
75587
75588 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75589
75590         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75591
75592 2005-08-17  Jim Meyering  <jim@meyering.net>
75593
75594         Make the %s format (seconds since the epoch) work for a negative
75595         number and when used with a zero-padded field width, e.g. %015s.
75596
75597         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75598         label so that it precedes the code to set `digits'.  Otherwise,
75599         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75600         print `00-22'.  Now, it prints `-0022', as it should.
75601
75602 2005-08-17  Bruno Haible  <bruno@clisp.org>
75603
75604         * modules/strstr (Files): Add m4/mbrtowc.m4.
75605         (Depends-on): Add mbuiter.
75606
75607 2005-08-17  Bruno Haible  <bruno@clisp.org>
75608
75609         * modules/strcasestr: New file.
75610         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75611         strcasestr.
75612
75613 2005-08-17  Bruno Haible  <bruno@clisp.org>
75614
75615         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75616
75617 2005-08-17  Bruno Haible  <bruno@clisp.org>
75618
75619         * modules/mbuiter: New file.
75620         * MODULES.html.sh (Extended multibyte and wide character utilities):
75621         Add mbuiter.
75622
75623 2005-08-17  Bruno Haible  <bruno@clisp.org>
75624
75625         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75626         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75627
75628 2005-08-17  Bruno Haible  <bruno@clisp.org>
75629
75630         * m4/strcasestr.m4: New file.
75631
75632 2005-08-17  Bruno Haible  <bruno@clisp.org>
75633
75634         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75635         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75636
75637 2005-08-17  Bruno Haible  <bruno@clisp.org>
75638
75639         * lib/strcasestr.h: New file.
75640         * lib/strcasestr.c: New file.
75641
75642 2005-08-17  Bruno Haible  <bruno@clisp.org>
75643
75644         * lib/strcasecmp.c: Use mbuiter.h.
75645
75646 2005-08-17  Bruno Haible  <bruno@clisp.org>
75647
75648         * lib/mbuiter.h: New file.
75649
75650 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75651
75652         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75653         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75654         and gl_GETOPT are both invoked via different paths (as happens
75655         with GNU tar CVS because it uses both argp and getopt), the former
75656         wins.
75657
75658 2005-08-16  Bruno Haible  <bruno@clisp.org>
75659
75660         * modules/tls: New file.
75661         * MODULES.html.sh (Multithreading): Add tls.
75662
75663 2005-08-16  Bruno Haible  <bruno@clisp.org>
75664
75665         * modules/strnlen1: New file.
75666         * MODULES.html.sh (String handling): Add strnlen1.
75667
75668 2005-08-16  Bruno Haible  <bruno@clisp.org>
75669
75670         * modules/strcase (Files): Add m4/mbrtowc.m4.
75671         (Depends-on): Add strnlen1, mbchar.
75672
75673 2005-08-16  Bruno Haible  <bruno@clisp.org>
75674
75675         * modules/mbiter: New file.
75676         * MODULES.html.sh (Extended multibyte and wide character utilities):
75677         Add mbiter.
75678
75679 2005-08-16  Bruno Haible  <bruno@clisp.org>
75680
75681         * modules/mbfile: New file.
75682         * MODULES.html.sh (Extended multibyte and wide character utilities):
75683         Add mbfile.
75684
75685 2005-08-16  Bruno Haible  <bruno@clisp.org>
75686
75687         * modules/mbchar: New file.
75688         * MODULES.html.sh (Extended multibyte and wide character utilities):
75689         New section.
75690
75691 2005-08-16  Bruno Haible  <bruno@clisp.org>
75692
75693         * m4/tls.m4: New file, from GNU gettext.
75694
75695 2005-08-16  Bruno Haible  <bruno@clisp.org>
75696
75697         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75698         always.
75699         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75700
75701 2005-08-16  Bruno Haible  <bruno@clisp.org>
75702
75703         * m4/mbiter.m4: New file.
75704
75705 2005-08-16  Bruno Haible  <bruno@clisp.org>
75706
75707         * m4/mbfile.m4: New file.
75708
75709 2005-08-16  Bruno Haible  <bruno@clisp.org>
75710
75711         * m4/mbchar.m4: New file.
75712
75713 2005-08-16  Bruno Haible  <bruno@clisp.org>
75714
75715         * lib/tls.h: New file, from GNU gettext.
75716         * lib/tls.c: New file, from GNU gettext.
75717
75718 2005-08-16  Bruno Haible  <bruno@clisp.org>
75719
75720         * lib/strnlen1.h: New file.
75721         * lib/strnlen1.c: New file.
75722
75723 2005-08-16  Bruno Haible  <bruno@clisp.org>
75724
75725         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75726         (mbi_init): Update.
75727         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75728         NUL byte, not after it.
75729
75730 2005-08-16  Bruno Haible  <bruno@clisp.org>
75731
75732         * lib/strcase.h (strcasecmp): Add note in comments.
75733         * lib/strncasecmp.c: Use code from strcasecmp.c.
75734         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75735         (strcasecmp): Work correctly in multibyte locales.
75736
75737 2005-08-16  Bruno Haible  <bruno@clisp.org>
75738
75739         * lib/mbiter.h: New file.
75740
75741 2005-08-16  Bruno Haible  <bruno@clisp.org>
75742
75743         * lib/mbfile.h: New file.
75744
75745 2005-08-16  Bruno Haible  <bruno@clisp.org>
75746
75747         * lib/mbchar.h: New file.
75748         * lib/mbchar.c: New file.
75749
75750 2005-08-16  Bruno Haible  <bruno@clisp.org>
75751
75752         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75753         the valid ones. Makes the comparison operations transitive:
75754         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75755         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75756
75757 2005-08-15  Simon Josefsson  <jas@extundo.com>
75758
75759         * modules/ssize_t (License): Change to 'unlimited'.
75760
75761         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75762
75763 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75764
75765         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75766         Add comments for each pending glibc patch.
75767
75768 2005-08-15  Bruno Haible  <bruno@clisp.org>
75769
75770         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75771         __cplusplus is defined.
75772
75773 2005-08-14  Jim Meyering  <jim@meyering.net>
75774
75775         Sync from coreutils.
75776
75777         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75778         Use the hash-table-based cycle-detection code not just when
75779         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75780         Reported by James Youngman in
75781         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75782         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75783         FTS_TIGHT_CYCLE_CHECK.
75784         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75785         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75786         once again.
75787         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75788         * lib/fts.c (fd_safer): Remove decl.
75789         Include fcntl--.h rather than unistd-safer.h
75790         (fts_safe_changedir): Don't call fd_safer; no longer needed
75791         now that we include fcntl--.h.
75792
75793 2005-08-12  Simon Josefsson  <jas@extundo.com>
75794
75795         * modules/getndelim2: Use ssize_t module.
75796         * modules/getnline: Likewise.
75797         * modules/safe-read: Likewise.
75798         * modules/xreadlink: Likewise.
75799
75800         * modules/ssize_t: New file.
75801
75802 2005-08-12  Simon Josefsson  <jas@extundo.com>
75803
75804         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75805
75806 2005-08-12  Simon Josefsson  <jas@extundo.com>
75807
75808         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75809         ssize_t.
75810
75811 2005-08-12  Simon Josefsson  <jas@extundo.com>
75812
75813         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75814         readline, getdelim and check_version.
75815         (Support for systems lacking ISO C 99: Sizes of integer types):
75816         Add size_max.
75817
75818 2005-08-12  Bruno Haible  <bruno@clisp.org>
75819
75820         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75821
75822 2005-08-11  Simon Josefsson  <jas@extundo.com>
75823
75824         * modules/readline: New file.
75825
75826         * modules/strnlen (Files): Add strnlen.h.
75827
75828 2005-08-11  Simon Josefsson  <jas@extundo.com>
75829
75830         * m4/readline.m4: New file.
75831
75832 2005-08-11  Simon Josefsson  <jas@extundo.com>
75833
75834         * lib/readline.h, readline.c: New file.
75835
75836 2005-08-11  Simon Josefsson  <jas@extundo.com>
75837
75838         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75839         gl_AVOID.
75840
75841 2005-08-11  Bruno Haible  <bruno@clisp.org>
75842
75843         * lib/strnlen.h (strnlen): Change parameter name to match comment.
75844
75845 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
75846
75847         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
75848
75849 2005-08-10  Simon Josefsson  <jas@extundo.com>
75850
75851         * tests/test-iconvme.c: New file.
75852
75853 2005-08-10  Simon Josefsson  <jas@extundo.com>
75854
75855         * m4/strnlen.m4: New file.
75856
75857         * m4/strndup.m4: Don't check for strnlen declaration, done in
75858         strnlen.m4.
75859
75860 2005-08-10  Simon Josefsson  <jas@extundo.com>
75861
75862         * lib/strndup.c: Use strnlen.h.
75863
75864         * lib/strnlen.h: New file.
75865
75866 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75867
75868         * README: Typos.
75869
75870 2005-08-02  Simon Josefsson  <jas@extundo.com>
75871
75872         * modules/readline: New file.
75873
75874 2005-08-02  Simon Josefsson  <jas@extundo.com>
75875
75876         * modules/getdelim: New file.
75877
75878         * modules/getline: Rewrite, don't use getndelim2.
75879
75880 2005-08-02  Simon Josefsson  <jas@extundo.com>
75881
75882         * m4/getline.m4: Separate out getdelim stuff into separate module.
75883
75884         * m4/getdelim.m4: New file.
75885
75886 2005-08-02  Simon Josefsson  <jas@extundo.com>
75887
75888         * lib/getline.h, getline.c: Rewrite.
75889
75890         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
75891
75892 2005-07-31  Bruno Haible  <bruno@clisp.org>
75893
75894         * lib/lock.h (gl_lock_initializer): New macro.
75895         (gl_lock_define_initialized): Use it.
75896         (gl_rwlock_initializer): New macro.
75897         (gl_rwlock_define_initialized): Use it.
75898         (gl_recursive_lock_initializer): New macro.
75899         (gl_recursive_lock_define_initialized): Use it.
75900
75901 2005-07-30  Karl Berry  <karl@gnu.org>
75902
75903         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
75904         Report from Ben Pfaff, regarding getopt.
75905
75906 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
75907
75908         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
75909         normal way.
75910         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
75911         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
75912         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
75913         (gl_GETOPT): Use the new macros.  Most of the implementation
75914         is moved to the new macros.  This is for programs like Emacs
75915         that don't want all the functionality of gl_GETOPT.
75916
75917 2005-07-26  Bruno Haible  <bruno@clisp.org>
75918
75919         * m4/lock.m4: Update from GNU gettext.
75920
75921 2005-07-26  Bruno Haible  <bruno@clisp.org>
75922
75923         * lib/lock.h: Update from GNU gettext.
75924         * lib/lock.c: Update from GNU gettext.
75925
75926 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
75927
75928         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
75929         obsolescent AC_TRY_RUN.  Include the default includes files, for
75930         'exit'.
75931
75932 2005-07-24  Bruno Haible  <bruno@clisp.org>
75933
75934         * modules/visibility: New file.
75935         * MODULES.html.sh (Misc): Add visibility.
75936
75937 2005-07-24  Bruno Haible  <bruno@clisp.org>
75938
75939         * m4/visibility.m4: New file.
75940
75941 2005-07-24  Bruno Haible  <bruno@clisp.org>
75942
75943         * doc/visibility.texi: New file.
75944
75945 2005-07-22  Bruno Haible  <bruno@clisp.org>
75946
75947         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
75948         $(ALLOCA_H), redundant through BUILT_SOURCES.
75949         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
75950         redundant through BUILT_SOURCES.
75951         * modules/byteswap (Makefile.am): Remove explicit dependency on
75952         $(BYTESWAP_H), redundant through BUILT_SOURCES.
75953         * modules/fnmatch (Makefile.am): Remove explicit dependency on
75954         $(FNMATCH_H), redundant through BUILT_SOURCES.
75955         * modules/getopt (Makefile.am): Remove explicit dependency on
75956         $(GETOPT_H), redundant through BUILT_SOURCES.
75957         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
75958         redundant through BUILT_SOURCES.
75959         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
75960         redundant through BUILT_SOURCES.
75961         * modules/stdbool (Makefile.am): Remove explicit dependency on
75962         $(STDBOOL_H), redundant through BUILT_SOURCES.
75963         * modules/stdint (Makefile.am): Remove explicit dependency on
75964         $(STDINT_H), redundant through BUILT_SOURCES.
75965         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
75966         Remove explicit dependency on $(SYSEXITS_H).
75967         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
75968
75969 2005-07-18  Simon Josefsson  <jas@extundo.com>
75970
75971         * lib/check-version.c (check_version): Accept identical versions too.
75972
75973 2005-07-18  Bruno Haible  <bruno@clisp.org>
75974
75975         * modules/lock: New file.
75976         * MODULES.html.sh (Multithreading): New section.
75977
75978 2005-07-18  Bruno Haible  <bruno@clisp.org>
75979
75980         * m4/lock.m4: New file, from GNU gettext.
75981
75982 2005-07-18  Bruno Haible  <bruno@clisp.org>
75983
75984         * lib/lock.h: New file, from GNU gettext.
75985         * lib/lock.c: New file, from GNU gettext.
75986
75987 2005-07-18  Bruno Haible  <bruno@clisp.org>
75988
75989         * lib/lock.h (gl_once_t): New type.
75990         (gl_once_define, gl_once): New macros.
75991         * lib/lock.c (fresh_once): New variable.
75992         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
75993         functions.
75994
75995 2005-07-16  Simon Josefsson  <jas@extundo.com>
75996
75997         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
75998         workaround, suggested by Bruno.
75999
76000 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76001
76002         * modules/xalloc (Depends-on): Add xalloc-die.
76003         * modules/xvasprintf (Depends-on): Add xalloc-die.
76004
76005 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76006
76007         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
76008         with a minor change.
76009
76010 2005-07-15  Bruno Haible  <bruno@clisp.org>
76011
76012         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
76013         When using lib/poll.c, define poll as rpl_poll.
76014
76015 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
76016
76017         * modules/argp (Depends-on): Remove unlocked-io.
76018
76019 2005-07-14  Derek Price  <derek@ximbiot.com>
76020
76021         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
76022         for glob symlink bug.
76023
76024 2005-07-14  Bruno Haible  <bruno@clisp.org>
76025
76026         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
76027         Instead, test for *_unlocked function declarations directly.
76028
76029 2005-07-11  Simon Josefsson  <jas@extundo.com>
76030
76031         * modules/size_max: New file.
76032
76033         * modules/xsize: Depend on size_max module for size_max.m4.
76034
76035 2005-07-11  Simon Josefsson  <jas@extundo.com>
76036
76037         * lib/size_max.h: New file.
76038
76039 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
76040
76041         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
76042         copyright symbol and the year.
76043         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
76044         (version_etc_va): Use parameterized copyright notice.
76045         Reword to conform to the current GNU coding standards.
76046
76047 2005-07-11  Karl Berry  <karl@gnu.org>
76048
76049         * doc/gnulib.texi (Quoting): new node.
76050         (Initial import): more info, from Patrice.
76051
76052 2005-07-11  Bruno Haible  <bruno@clisp.org>
76053
76054         * gnulib-tool (func_usage): Document option --avoid.
76055         (Command line options): Handle --avoid.
76056         (func_acceptable): New function.
76057         (func_modules_transitive_closure): Use it.
76058
76059 2005-07-11  Bruno Haible  <bruno@clisp.org>
76060
76061         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
76062         Reported by Jim Meyering.
76063
76064 2005-07-10  Bruno Haible  <bruno@clisp.org>
76065
76066         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
76067         Needed when size_t is smaller than 'unsigned int'.
76068         Reported by Paul Eggert.
76069
76070 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76071
76072         * modules/argp (Depends-on): Add unlocked-io
76073
76074 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76075
76076         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
76077         block of defines.
76078
76079 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76080
76081         * config/srclist.txt: Comment out regcomp.c, since we have a porting
76082         fix now.
76083
76084 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
76085         and Paul Eggert  <eggert@cs.ucla.edu>
76086
76087         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
76088         in wint_t, not wchar_t.  Remove now-unnecessary cast.
76089
76090 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76091
76092         * modules/regex (Files): Add lib/regex_internal.c,
76093         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
76094         (Depends-on): Add extensions.
76095         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
76096
76097 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76098
76099         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
76100         pathconf.
76101         * m4/same.m4 (gl_SAME): Likewise.
76102         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
76103
76104         * m4/regex.m4: Adjust to new libc regex implementation.
76105         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
76106         all the .c and .h parts of (the new) regex.
76107         Quote the m4 stuff better.
76108         Check for RE_ICASE bug of old gnulib.
76109         Check for REG_STARTEND of recent libc.
76110         Rename local variables from jm_* to gl_*.
76111         Quote operand of "test -f".
76112         Say "recent enough" version of libc, not "version 2".
76113         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
76114         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
76115         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
76116         Remove check for btowc, isascii.
76117         Require AM_LANGINFO_CODESET.
76118
76119 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76120
76121         * lib/regex.c, regex.h: Sync from libc.
76122         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
76123         * lib/regexec.c:
76124         New files, synced from libc, except that regex_internal.h
76125         currently has a small porting fix.
76126
76127 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76128
76129         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
76130         regex_internal.c, regexec.c.
76131         Add regex_internal.h too, but as a comment, since the libc version
76132         is currently broken in gnulib mode.
76133
76134 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76135
76136         Support programs like Emacs that use gnulib but not gettext.
76137         * MODULES.html.sh (Internationalization functions): Add gettext-h.
76138         * modules/gettext-h: New file.
76139         * modules/gettext (Files): Remove lib/gettext.h.
76140         (Depends-on): Add gettext-h.
76141         (Makefile.am): Remove lib_SOURCES.
76142         * modules/argmatch, modules/c-stack, modules/closeout:
76143         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
76144         * modules/execute, modules/file-type, modules/getaddrinfo:
76145         * modules/getopt, modules/human, modules/javacomp:
76146         * modules/javaexec, modules/mkdir-p, modules/obstack:
76147         * modules/openat, modules/pagealign_alloc, modules/pipe:
76148         * modules/quotearg, modules/regex, modules/rpmatch:
76149         * modules/unicodeio, modules/userspec, modules/version-etc:
76150         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
76151         * modules/xsetenv:
76152         Depend on gettext-h, not gettext.
76153
76154 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76155
76156         * gnulib-tool (func_import): Add support for 'public domain' license.
76157         * modules/alloca, modules/atexit, modules/memmove:
76158         Now public domain, not GPL.
76159         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
76160         * modules/realloc, modules/strerror, modules/strtod:
76161         Now LGPL, not GPL.
76162
76163 2005-07-05  Bruno Haible  <bruno@clisp.org>
76164
76165         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
76166         autoconf CVS. Needed for mingw.
76167
76168 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76169
76170         Remove the dependency of the strftime module on the tzset module.
76171         * modules/strftime (Depends-on): Remove dependency on tzset.
76172
76173 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76174
76175         Remove the dependency of the strftime module on the tzset module.
76176         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
76177         gl_FUNC_TZSET_CLOBBER.
76178
76179 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76180
76181         Remove the dependency of the strftime module on the tzset module.
76182         * lib/strftime.c (my_strftime)
76183         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
76184         Copy the input structure, to work around some of the bug with
76185         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
76186         Solaris releases, you should also use the tzset module, but we won't
76187         require it as a dependency any more since we don't want LGPLed code
76188         to depend on GPLed code.
76189
76190 2005-07-02  Jim Meyering  <jim@meyering.net>
76191
76192         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
76193         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
76194         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
76195         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
76196
76197 2005-07-02  Jim Meyering  <jim@meyering.net>
76198
76199         * lib/backupfile.c (backup_args): Change a `0' to NULL.
76200
76201 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76202
76203         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
76204         declares only 'struct timespec;' (!).
76205
76206 2005-07-01  Jim Meyering  <jim@meyering.net>
76207
76208         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
76209         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
76210         * lib/save-cwd.c, tempname.c:
76211         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76212         and don't include <sys/file.h>).
76213
76214 2005-06-29  Jim Meyering  <jim@meyering.net>
76215
76216         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
76217         type name.  Use the variable name instead.
76218         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
76219         Likewise.
76220
76221 2005-06-28  Simon Josefsson  <jas@extundo.com>
76222
76223         * modules/check-version (Files): Add check-version.m4.
76224
76225 2005-06-28  Simon Josefsson  <jas@extundo.com>
76226
76227         * m4/check-version.m4: New file, suggested by Jim Meyering
76228         <jim@meyering.net>.
76229
76230 2005-06-28  Simon Josefsson  <jas@extundo.com>
76231
76232         * lib/check-version.h, lib/check-version.c: New files.
76233
76234 2005-06-28  Simon Josefsson  <jas@extundo.com>
76235
76236         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
76237         collision with global variable.  Better indentation.  Don't
76238         increment buffer pointer beyond buffer end.  Based on comments
76239         from Paul Eggert <eggert@cs.ucla.edu>.
76240
76241         * lib/base64.h: Indent.
76242
76243 2005-06-28  Simon Josefsson  <jas@extundo.com>
76244
76245         * doc/gnulib.texi (Library version handling): New section.
76246
76247 2005-06-28  Jim Meyering  <jim@meyering.net>
76248
76249         * check-module (find_included_lib_files): Hard-code another
76250         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
76251         but modules/fts-lgpl (correctly) does not list those files.
76252
76253         * modules/canonicalize (Files): Add lib/pathmax.h.
76254
76255 2005-06-25  Simon Josefsson  <jas@extundo.com>
76256
76257         * modules/check-version: New file.
76258
76259 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
76260
76261         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
76262         initializer of struct addrinfo, as an indication that we don't
76263         care how many members the structure has.
76264
76265 2005-06-24  Derek Price  <derek@ximbiot.com>
76266         and Bruno Haible  <bruno@clisp.org>
76267
76268         Remove stat module & update lstat.
76269         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
76270         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76271         * m4/stat.m4: Remove this file.
76272
76273 2005-06-24  Derek Price  <derek@ximbiot.com>
76274         and Bruno Haible  <bruno@clisp.org>
76275
76276         Remove stat module & update lstat.
76277         * lib/stat.c: Remove this file...
76278         (slash_aware_lstat): ...moving this content and its support...
76279         * lib/lstat.c (rpl_lstat): ...into here.
76280         * lib/lstat.h: New file.
76281
76282 2005-06-24  Derek Price  <derek@ximbiot.com>
76283         and Bruno Haible  <bruno@clisp.org>
76284
76285         Remove stat module & update lstat.
76286         * config/srclist.txt (libc sources): Remove stat.
76287
76288 2005-06-24  Derek Price  <derek@ximbiot.com>
76289         and Bruno Haible  <bruno@clisp.org>
76290
76291         Remove stat module & update lstat.
76292         * MODULES.html.sh (stat): Remove.
76293         * MODULES.html: Regenerated.
76294         * modules/lstat (Description): Correct function name.
76295         (Files): Add "lstat.h".
76296         (Depends-on): Remove stat, add xalloc, stat-macros.
76297         * modules/stat: Remove this file.
76298         (Include): Add "lstat.h", remove <sys/stat.h>.
76299
76300 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76301
76302         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
76303         (ranged_convert): Don't save conversion in a temporary struct.
76304         This causes a warning with GCC 4.0.0, and anyway in the typical
76305         case it's not worth the extra 100 bytes or so of code.
76306         (ranged_convert, __mktime_internal): When calling a function via a
76307         pointer P, use P () rather than (*P) (), as we now assume C89 or
76308         better.
76309
76310 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76311
76312         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
76313         "who -r" failed to give output.  Problem reported by Tim Waugh.
76314
76315         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
76316         (xcalloc): Use it to avoid needless tests.
76317         Problem reported by Jim Meyering.
76318
76319 2005-06-20  Derek Price  <derek@ximbiot.com>
76320
76321         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
76322         unnecessary for Autoconfs > 2.59c.
76323
76324 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76325
76326         * lib/argp.h (__option_is_short): Check upper limit of
76327         __key. Isprint() requires its argument to have the value
76328         of an unsigned char or EOF.
76329
76330 2005-06-16  Jim Meyering  <jim@meyering.net>
76331
76332         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
76333         when either N or S is zero.
76334
76335 2005-06-16  Derek Price  <derek@ximbiot.com>
76336
76337         * m4/bison.m4: Declare YACC & YFLAGS precious.
76338
76339 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
76340
76341         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
76342         multibyte string or pattern, fall back on unibyte matching.
76343         Problem reported by James Youngman.
76344
76345 2005-06-08  Bruno Haible  <bruno@clisp.org>
76346
76347         * modules/csharpcomp: New file.
76348         * MODULES.html.sh (C#): Add csharpcomp.
76349
76350 2005-06-08  Bruno Haible  <bruno@clisp.org>
76351
76352         * m4/csharpcomp.m4: New file, from GNU gettext.
76353
76354 2005-06-08  Bruno Haible  <bruno@clisp.org>
76355
76356         * lib/csharpcomp.h: New file, from GNU gettext.
76357         * lib/csharpcomp.c: New file, from GNU gettext.
76358         * lib/csharpcomp.sh.in: New file, from GNU gettext.
76359
76360 2005-06-08  Bruno Haible  <bruno@clisp.org>
76361
76362         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
76363         warning on mingw.
76364
76365 2005-06-07  Derek Price  <derek@ximbiot.com>
76366
76367         Sync from CVS.
76368         * lib/glob_.h: Indent nested #ifdef.
76369
76370 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76371
76372         Sync from coreutils.
76373         Use "file name" when talking about file names, instead of "filename"
76374         or "path", as per the GNU coding standards.
76375         * lib/mkdir-p.c: Renamed from makepath.c.
76376         (make_dir_parents): Renamed from make_path.  All callers changed.
76377         * lib/mkdir-p.h: Likewise.  All includers changed.
76378         * lib/filenamecat.c: Renamed from path-concat.c.
76379         (file_name_concat): Renamed from path_concat.  All callers changed.
76380         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
76381         * lib/filenamecat.h: Likewise.  All includers changed.
76382         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
76383         in comments or local variable names.
76384         * lib/basename.c: Likewise.
76385         * lib/canonicalize.c, canonicalize.h: Likewise.
76386         * lib/dirname.c, dirname.h: Likewise.
76387         * lib/euidaccess.c: Likewise.
76388         * lib/exclude.c: Likewise
76389         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
76390         * lib/fsusage.c, fsuage.h: Likewise.
76391         * lib/fts.c, fts_.h: Likewise.
76392         * lib/getcwd.c: Likewise.
76393         * lib/getloadavg.c: Likewise.
76394         * lib/mkstemp.c: Likewise.
76395         * lib/mountlist.c, mountlist.h: Likewise.
76396         * lib/openat.c, openat.h: Likewise.
76397         * lib/readlink-stub.c: Likewise.
76398         * lib/readutmp.c, readutmp.h: Likewise.
76399         * lib/rename.c: Likewise.
76400         * lib/rmdir.c: Likewise.
76401         * lib/same.c: Likewise.
76402         * lib/savedir.c: Likewise.
76403         * lib/stripslash.c: Likewise.
76404         * lib/tempname.c: Likewise.
76405         * lib/xreadlink.c: Likewise.
76406         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
76407         All uses changed.
76408         * lib/exclude.h: Likewise.
76409
76410         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
76411         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76412         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
76413         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76414         * lib/pathmax.h: Include <limits.h> unconditionally, since other
76415         files have been getting away with it for years (MORE/BSD 4.3
76416         is extinct now).
76417         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
76418         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76419
76420         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
76421         Define to 256, not 255, as per modern POSIX.
76422
76423 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76424
76425         Sync from coreutils.
76426         Use "file name" when talking about file names, instead of "filename"
76427         or "path", as per the GNU coding standards.
76428         * MODULES.html.sh: mkdir-p renamed from makepath.
76429         filenamecat renamed from path-concat.
76430         * modules/filenamecat: Renamed from modules/path-concat.
76431         (Files): filenamecat.h and filenamecat.c renamed from
76432         path-concat.h and path-concat.c.
76433         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76434         (Include): filenamecat.h, not path-concat.h.
76435         * modules/mkdir-p: Renamed from modules/makepath.
76436         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76437         makepath.c.
76438         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76439         (Include): mkdir-p.h, not makepath.h.
76440
76441 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76442
76443         Sync from coreutils.
76444         * m4/mkdir-p.m4: Renamed from makepath.m4.
76445         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76446         Rename files from makepath.c to mkdir-p.c, and from
76447         makepath.h to mkdir-p.h.
76448         * m4/filenamecat.m4: Renamed from path-concat.m4.
76449         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76450         Rename files from path-concat.c to filenamecat.c,
76451         and from path-concat.h to filenamecat.h.
76452         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76453         "file name" in local variables or comments.
76454         * m4/rename.m4: Likewise.
76455
76456 2005-06-01  Bruno Haible  <bruno@clisp.org>
76457
76458         * modules/csharpexec: New file.
76459         * MODULES.html.sh (C#): New section.
76460
76461 2005-06-01  Bruno Haible  <bruno@clisp.org>
76462
76463         * m4/csharp.m4: New file, from GNU gettext.
76464         * m4/csharpexec.m4: New file, from GNU gettext.
76465
76466 2005-06-01  Bruno Haible  <bruno@clisp.org>
76467
76468         * lib/csharpexec.h: New file, from GNU gettext.
76469         * lib/csharpexec.c: New file, from GNU gettext.
76470         * lib/csharpexec.sh.in: New file, from GNU gettext.
76471
76472 2005-05-31  Derek Price  <derek@ximbiot.com>
76473             Paul Eggert  <eggert@cs.ucla.edu>
76474
76475         Sync from cvs.
76476         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76477
76478 2005-05-31  Derek Price  <derek@ximbiot.com>
76479             Paul Eggert  <eggert@cs.ucla.edu>
76480
76481         Sync from cvs.
76482         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76483
76484 2005-05-29  Derek Price  <derek@ximbiot.com>
76485
76486         * config/srclist.txt (glob_.h, glob.c): Add these files.
76487
76488 2005-05-29  Derek Price  <derek@ximbiot.com>
76489
76490         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76491         * modules/glob: New file.
76492         * modules/getlogin_r: Add link to POSIX spec in description.
76493
76494 2005-05-29  Derek Price  <derek@ximbiot.com>
76495             Paul Eggert  <eggert@cs.ucla.edu>
76496
76497         * m4/glob.m4: New file.
76498
76499 2005-05-29  Derek Price  <derek@ximbiot.com>
76500             Paul Eggert  <eggert@cs.ucla.edu>
76501
76502         * lib/glob_.h, lib/glob.c: New files.
76503
76504 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76505
76506         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76507         * modules/fts-lgpl (Depends-on): Remove gettext.
76508
76509 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76510
76511         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76512         and don't require gt_INTTYPES_PRI.
76513
76514 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76515
76516         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76517
76518         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76519         the configuration hassle isn't worth it.
76520         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76521         (LONGEST_MODIFIER, PRIuMAX): Remove.
76522
76523 2005-05-27  Bruno Haible  <bruno@clisp.org>
76524
76525         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76526
76527 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76528
76529         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76530         _POSIX_PTHREAD_SEMANTICS for Solaris.
76531
76532 2005-05-25  Derek Price  <derek@ximbiot.com>
76533
76534         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76535
76536 2005-05-25  Derek Price  <derek@ximbiot.com>
76537             Paul Eggert  <eggert@cs.ucla.edu>
76538
76539         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76540         * lib/getlogin_r.c, getlogin_r.h: New files.
76541
76542 2005-05-25  Bruno Haible  <bruno@clisp.org>
76543             Derek Price  <derek@ximbiot.com>
76544
76545         * lib/getlogin_r.h: Simplify API documentation.
76546
76547 2005-05-23  Derek Price  <derek@ximbiot.com>
76548
76549         * modules/minmax (Files): Add m4/minmax.m4.
76550         (configure.ac): Add gl_MINMAX.
76551
76552 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76553
76554         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76555         so that unistd-safer.h (GPL'ed code) need not be included.
76556
76557 2005-05-22  Bruno Haible  <bruno@clisp.org>
76558
76559         * m4/minmax.m4: New file.
76560         Based on a patch by Derek Price <derek@ximbiot.com>.
76561
76562 2005-05-22  Bruno Haible  <bruno@clisp.org>
76563
76564         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76565         (INT64_MIN): Fix definition.
76566         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76567
76568         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76569         NEED_SIGNED_INT_TYPES.
76570
76571         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76572         HAVE_SYSTEM_INTTYPES.
76573
76574 2005-05-22  Bruno Haible  <bruno@clisp.org>
76575
76576         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76577         Also include <sys/param.h> if it defines MIN, MAX.
76578         Based on a patch by Derek Price <derek@ximbiot.com>.
76579
76580 2005-05-21  Jim Meyering  <jim@meyering.net>
76581
76582         * modules/fts (Files): Add m4/inttypes-pri.m4.
76583         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76584
76585 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76586
76587         New fts module.
76588         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76589         (setup_dir, free_dir): New functions.
76590         (enter_dir, leave_dir): Define trivial
76591         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76592         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76593         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76594         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76595         Move to fts-cycle.c.
76596         (fts_open): Use setup_dir.
76597         (fts_close): Use free_dir.
76598         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76599         This adds a label and some gotos, but the alternatives were messier.
76600         Check for memory allocation failure when entering a dir.
76601         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76602         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76603         (FTS): New member fts_cycle, that is a union that contains the
76604         old active_dir_ht and cycle_state.  All uses changed to mention
76605         fts_cycle.ht and fts_cycle.state.
76606         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76607         fts.c, with the following changes:
76608         (setup_dir, free_dir): New functions.
76609         (enter_dir): Now returns bool.  Return true if successful, false
76610         if memory exhausted.  All callers changed.
76611         Do not bother partly cleaning up on
76612         memory allocation failure; that is free_dir's job.
76613         However, free ad if hash_insert fails, to avoid memory leak.
76614         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76615         fts->fts_options to see which union member to use.
76616
76617 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76618
76619         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76620         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76621
76622 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76623
76624         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76625
76626 2005-05-20  Jim Meyering  <jim@meyering.net>
76627
76628         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76629         Now a macro, to pacify GCC.
76630
76631 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76632
76633         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76634         of -1.
76635
76636 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76637
76638         * lib/chown.c (rpl_chown): Return -1 on failure.
76639
76640 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76641
76642         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76643         Don't check for stddef.h.
76644         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76645         don't use its results.
76646         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76647         since we include them unconditionally.  Don't require
76648         AM_STDBOOL_H, since stdbool is a prerequisite.
76649         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76650         since we assume C89 or better.
76651         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76652         as we don't use their results.
76653         Don't check for fchdir, memmove, memset, strrchr, as we use
76654         them unconditionally.
76655         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76656         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76657
76658 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76659
76660         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76661         Include <stddef.h> unconditionally, since we assume C89 now.
76662         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76663         * lib/fts.c: Include fts_.h first, to check interface.
76664         Do not include intprops.h; no longer needed.
76665         Include cycle-check.h and hash.h, since fts_.h no longer does.
76666         Remove unnecessary casts of closedir to void.
76667         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76668         decide whether to decrement nlinks.
76669         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76670         (FTS): Use struct hash_table * instead of Hash_table, so that
76671         we no longer need to include hash.h here.
76672
76673 2005-05-18  Jim Meyering  <jim@meyering.net>
76674
76675         * modules/dirfd (License): Change to LGPL.  Most of the code
76676         is already in the public domain.
76677
76678 2005-05-18  Jim Meyering  <jim@meyering.net>
76679
76680         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76681         Reported by Yoann Vandoorselaere.
76682
76683 2005-05-17  Jim Meyering  <jim@meyering.net>
76684
76685         * m4/fts.m4: New file, from coreutils.
76686
76687 2005-05-17  Jim Meyering  <jim@meyering.net>
76688
76689         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76690
76691 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76692
76693         Sync from coreutils.
76694         * m4/unlinkdir.m4: New file.
76695
76696 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76697
76698         Sync from coreutils.
76699         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76700         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76701         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76702         White space changes only.
76703         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76704         special.
76705         * lib/yesno.c: Include getline.h, not ctype.h.
76706         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76707         Use getline to remove arbitrary restriction on response length.
76708
76709 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76710
76711         * config/srclist-update: Spell out "Street" in FSF postal
76712         mail address; this is the style the FSF seems to prefer.
76713
76714         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76715         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76716         this updates FSF postal mail address.
76717
76718         Sync from coreutils.
76719         * modules/unlinkdir: New file.
76720         * modules/yesno (Depends-on): Add getline.
76721         * MODULES.html.sh (File system functions): Add unlinkdir.
76722
76723 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76724
76725         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76726         lib/strsep.h:
76727         Change the initial comment to refer to GPL, not LGPL.
76728         gnulib-tool will change it to LGPL as needed.
76729
76730         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76731         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76732         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76733         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76734         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76735         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76736         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76737         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76738         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76739         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76740         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76741         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76742         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76743         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76744         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76745         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76746         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76747         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76748         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76749         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76750         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76751         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76752         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76753         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76754         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76755         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76756         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76757         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76758         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76759         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76760         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76761         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76762         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76763         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76764         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76765         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76766         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76767         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76768         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76769         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76770         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76771         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76772         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76773         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76774         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76775         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76776         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76777         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76778         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76779         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76780         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76781         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76782         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76783         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76784         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76785         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76786         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76787         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76788         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76789         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76790         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76791         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76792         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76793         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76794         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76795         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76796         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76797         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76798         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76799         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76800         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76801         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76802         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76803         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76804         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76805         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76806         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76807         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76808         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76809         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76810         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76811         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76812         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76813         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76814         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76815         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76816         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76817         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76818         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76819         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76820         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76821         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76822         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76823         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76824         lib/yesno.c, lib/yesno.h:
76825         Update FSF postal mail address.
76826
76827 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76828
76829         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76830         tests/test-memmem.c, tests/test-stpncpy.c:
76831         Update FSF postal mail address.
76832
76833 2005-05-13  Bruno Haible  <bruno@clisp.org>
76834
76835         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76836         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76837         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76838         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76839         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76840         Add support for 64-bit integers in the MSVC compiler.
76841
76842 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76843
76844         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
76845
76846 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
76847
76848         * gnulib-tool (func_import): Sort and uniquify recommended includes.
76849
76850 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
76851
76852         * doc/getdate.texi (General date syntax): Don't say that date
76853         date --iso-8601=ns generates acceptable dates; it doesn't yet.
76854         Problem reported by Nic Ferrier.
76855
76856 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76857
76858         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
76859         specified in ai_socktype. Fix invalid ai_protocol
76860         check. ai_protocol is usually set to 0 or depending on
76861         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
76862         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
76863         ai_socktype / ai_protocol in the returned addrinfo structure.
76864
76865 2005-05-10  Simon Josefsson  <jas@extundo.com>
76866
76867         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
76868         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76869
76870 2005-05-10  Karl Berry  <karl@gnu.org>
76871
76872         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
76873         (from http://www.gnu.org/licenses).
76874         * doc/COPYING.LIB: also rename to COPYING.LESSER.
76875         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
76876         fdl.texi suffices.
76877
76878 2005-05-10  Karl Berry  <karl@gnu.org>
76879
76880         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
76881         (COPYING.DOC): remove.
76882
76883         * config/srclist-update: new FSF address.
76884
76885 2005-05-10  Derek Price  <derek@ximbiot.com>
76886
76887         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
76888         possible.
76889
76890 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76891             Bruno Haible  <bruno@clisp.org>
76892
76893         * modules/inet_ntop: New file.
76894         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76895         inet_ntop.
76896
76897 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76898             Bruno Haible  <bruno@clisp.org>
76899
76900         * m4/inet_ntop.m4: New file.
76901
76902 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76903             Bruno Haible  <bruno@clisp.org>
76904
76905         * lib/inet_ntop.h: New file.
76906         * lib/inet_ntop.c: New file, from glibc with modifications.
76907
76908 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
76909
76910         * modules/time_r (License): Change to LGPL.
76911         * modules/extensions (License): Change to LGPL.  Actually,
76912         the license is more permissive than that, but currently gnulib-tool
76913         doesn't know how to handle more-permissive licenses.
76914
76915         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
76916         Problem reported by Dave Love.
76917
76918 2005-05-08  Jim Meyering  <jim@meyering.net>
76919
76920         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
76921         blank.
76922
76923 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76924
76925         * modules/argmatch (Depends-on): Add stdbool.
76926         * modules/backupfile (Depends-on): Likewise.
76927         * modules/chdir-long (Depends-on): Likewise.
76928         * modules/closeout (Depends-on): Likewise.
76929         * modules/cycle-check (Depends-on): Likewise.
76930         * modules/dirname (Depends-on): Likewise.
76931         * modules/fnmatch (Depends-on): Likewise.
76932         * modules/fsusage (Depends-on): Likewise.
76933         * modules/fwriteerror (Depends-on): Likewise.
76934         * modules/getcwd (Depends-on): Likewise.
76935         * modules/getloadavg (Depends-on): Likewise.
76936         * modules/hard-locale (Depends-on): Likewise.
76937         * modules/makepath (Depends-on): Likewise.
76938         * modules/mountlist (Depends-on): Likewise.
76939         * modules/nanosleep (Depends-on): Likewise.
76940         * modules/posixtm (Depends-on): Likewise.
76941         * modules/quotearg (Depends-on): Likewise.
76942         * modules/readtokens (Depends-on): Likewise.
76943         * modules/readtokens0 (Depends-on): Likewise.
76944         * modules/readutmp (Depends-on): Likewise.
76945         * modules/save-cwd (Depends-on): Likewise.
76946         * modules/strftime (Depends-on): Likewise.
76947         * modules/userspec (Depends-on): Likewise.
76948         * modules/utimecmp (Depends-on): Likewise.
76949         * modules/xgetcwd (Depends-on): Likewise.
76950         * modules/xnanosleep (Depends-on): Likewise.
76951         * modules/xstrtod (Depends-on): Likewise.
76952         * modules/yesno (Depends-on): Likewise.
76953
76954 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
76955
76956         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
76957         needless checks.
76958
76959 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76960
76961         Merge from coreutils.  Among other things,
76962         add bulletproofing for cases where stdin, stdout, or stderr are closed.
76963         * lib/fd-safer.c: New file.
76964         * lib/fcntl-safer.h, open-safer.c: Remove.
76965         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
76966         * lib/dup-safer.c: Include unistd-safer.h first.
76967         Don't include errno.h.
76968         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
76969         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
76970         * lib/file-type.c: Rely on file-type.h change.
76971         * lib/getloadavg.c: Include unistd-safer.h.
76972         (getloadavg): Use safer open.
76973         * lib/getusershell.c: Include "stdio-safer.h".
76974         (getusershell): Use safer fopen.
76975         * lib/long-options.c (long_options): Use NULL rather than 0.
76976         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
76977         'free'.
76978         * lib/modechange.c: Likewise.
76979         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
76980         (MODE_DONE): New constant.
76981         (struct mode_change): Remove 'next' member.
76982         (make_node_op_equals): New function; like the old one of the
76983         same name, except it allocates an array.
76984         (mode_compile, mode_create_from_ref): Use it.
76985         (mode_compile): Allocate result as an array, not a linked list.
76986         Parse octal string ourself, so that we catch mistakes like "+0".
76987         (mode_adjust): Arg is an array, not a linked list.
76988         * lib/modechange.c: Include stat-macros.h, xalloc.h.
76989         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
76990         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
76991         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
76992         Remove.  This is now stat-macros.h's job.
76993         (talloc): Remove.  All callers replaced by xalloc, so that
76994         our invokers don't have to worry about reporting memory failures.
76995         (make_node_op_equals): Remove.
76996         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76997         New constants.
76998         (struct mode_change): Moved here from modechange.h.
76999         (mode_append_entry): Remove.
77000         (mode_compile): Remove MASKED_OPS arg, since it encouraged
77001         apps to have incorrect behavior.  Use simpler algorithm for head
77002         and tail.  Don't futz with umask; that's now the job of mode_adjust.
77003         Detect more invalid usages rather than having somewhat-random behavior.
77004         Don't insert an "a=" action, as that leads to incorrect behavior.
77005         (mode_compile, mode_create_from_ref): Return NULL on error instead
77006         of an enum, since now there's only one way to have an error.  All
77007         callers changed.
77008         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
77009         at the correct time.  Simplify calculation of "+u" and its ilk.
77010         Don't mishandle "+X".
77011         (mode_free): Remove "register" and localize decls.
77012         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77013         (struct mode_change): Move to modechange.c; callers don't
77014         need to see this stuff.
77015         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
77016         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
77017         (mode_change, mode_adjust): Reflect the new signatures noted above.
77018         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
77019         that might redefine system include files.
77020         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
77021         (my_usleep): Use NULL rather than (void *) 0.
77022         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
77023         Use siginterrupt to specify that system calls should be interrupted.
77024         (rpl_nanosleep): Move initialization of suspended closer to call of
77025         my_usleep.
77026         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
77027         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
77028         (desirable_utmp_entry): New function.
77029         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
77030         using x2nrealloc, to simplify logic.
77031         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
77032         size calculation.  Do not assume utmp file is a regular file.
77033         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
77034         (READ_UTMP_CHECK_PIDS): New constant.
77035         * lib/save-cwd.c: Include unistd-safer.h.
77036         (save_cwd): Use fd_safer.
77037         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
77038         [!_LIBC] Include "stat-macros.h" instead.
77039         * lib/unistd-safer.h (fd_safer): New decl.
77040
77041 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77042
77043         * modules/getloadavg (Depends-on): Add unistd-safer.
77044         * modules/getusershell (Depends-on): Add stdio-safer.
77045         * modules/lstat (Depends-on): Remove xalloc.
77046         * modules/mkstemp (Depends-on): Add stat-macros.
77047         * modules/modechange (Depends-on): Remove xstrtol.
77048         Add stat-macros, xalloc.
77049         * modules/save-cwd (Depends-on): Add unistd-safer.
77050         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
77051         * modules/unistd-safer (Files): Add lib/fd-safer.c
77052         (Makefile.am): Remove lib_SOURCES.
77053
77054         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
77055         Remove fcntl-safer; unistd-safer supersedes it.
77056
77057 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77058
77059         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
77060         AC_HEADER_STAT.
77061         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
77062         (gl_PREREQ_CHOWN): Remove.
77063         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
77064         it.  Don't require AC_HEADER_STAT.
77065         (gl_PREREQ_LSTAT): Remove.
77066         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
77067         Don't require AC_HEADER_STAT.
77068         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
77069         (gl_PREREQ_RMDIR): Remove.
77070         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
77071         mention stat-macros.h or AC_HEADER_STAT, since we'll make
77072         the stat-macros module a prerequisite.
77073         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
77074         * m4/filemode.m4 (gl_FILEMODE): Likewise.
77075         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
77076         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
77077         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
77078         variable names.
77079         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
77080         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
77081         variable prefixes.
77082         * m4/fcntl-safer.m4: Remove.
77083         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
77084         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
77085         Invoke gl_PREREQ_FD_SAFER.
77086         (gl_PREREQ_FD_SAFER): New macro.
77087         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
77088         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
77089         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
77090         Remove duplicate call to AC_LIBOBJ(readutmp).
77091         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
77092
77093         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
77094         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
77095
77096 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77097
77098         * MODULES.html.sh (Misc): Add byteswap.
77099
77100 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77101
77102         * modules/getcwd (Depends-on): Add extensions.
77103         * modules/openat (Depends-on): Likewise.
77104
77105 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77106
77107         * modules/byteswap: New file.
77108
77109 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77110
77111         * m4/byteswap.m4: New file.
77112
77113 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77114
77115         * lib/byteswap_.h: New file.
77116
77117 2005-04-25  Karl Berry  <karl@gnu.org>
77118
77119         * m4/gettext.m4: Update from GNU gettext 0.14.4.
77120
77121 2005-04-25  Albert Chin  <china@thewrittenword.com>
77122
77123         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
77124         Toolkit C bug.
77125
77126 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
77127
77128         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
77129         (func_ln_if_changed): Remove forcibly for no error message
77130         in case file does not exist.
77131
77132 2005-04-19  Simon Josefsson  <jas@extundo.com>
77133
77134         * gnulib-tool (Options): Make --symlink mean --symbolic.
77135
77136 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
77137
77138         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
77139
77140 2005-04-16  Simon Josefsson  <jas@extundo.com>
77141
77142         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
77143
77144 2005-04-15  Simon Josefsson  <jas@extundo.com>
77145
77146         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
77147
77148 2005-04-15  Simon Josefsson  <jas@extundo.com>
77149
77150         * gnulib-tool: Rename --symlink to --symbolic.
77151
77152 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
77153
77154         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
77155         symbolic links to files instead of copying/moving.  Add --aux-dir,
77156         specifying directory relative --dir where auxiliary build tools
77157         are placed.
77158
77159 2005-04-14  Bruno Haible  <bruno@clisp.org>
77160
77161         * modules/allocsa (License): Change to LGPL.
77162         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77163
77164 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77165
77166         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
77167         that "UTC +1 second" continues to work.  Problem reported
77168         by Dmitry V. Levin.
77169         (relunit_snumber): New rule.
77170         (relunit): Use it.
77171
77172 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77173
77174         * lib/getdate.y (universal_time_zone_table): New constant.
77175         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
77176         universal_time_zone_table.
77177         (lookup_zone): Prefer universal_time_zone_table to
77178         local_time_zone_table, so that "GMT" time stamps are allowed in
77179         London during the summer.  Problem reported by Ian Abbott.
77180
77181 2005-04-12  Jim Meyering  <jim@meyering.net>
77182
77183         * lib/human.c (humblock): Set *options even when returning due to
77184         xstrtoumax conversion failure.  Thanks to a used-uninitialized
77185         warning from gcc-4.
77186
77187 2005-04-09  Jim Meyering  <jim@meyering.net>
77188
77189         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
77190         -Wuninitialized: initialize tm0.tm_year.
77191
77192 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
77193
77194         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
77195         count, since there's no maximum.  All uses changed.
77196         Add member dsts_seen.
77197         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
77198         not being INT_MAX.
77199         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
77200         Use pc_rels_seen to decide whther a date is absolute.
77201
77202         * lib/getdate.y (number): Don't overwrite year.
77203         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
77204         check.
77205
77206 2005-04-02  Simon Josefsson  <jas@extundo.com>
77207
77208         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
77209         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
77210
77211 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
77212
77213         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
77214         where no absolute path name can be longer than PATH_MAX.
77215
77216 2005-03-27  Jim Meyering  <jim@meyering.net>
77217
77218         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
77219
77220 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
77221
77222         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
77223         "one's complement" -> "ones' complement" in comment, as per Knuth.
77224         "value of type" -> "type or expression" in comment.
77225         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
77226
77227 2005-03-26  Jim Meyering  <jim@meyering.net>
77228
77229         Comment nits.
77230         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
77231         Correct typos: s/or/of/.
77232
77233 2005-03-26  Jim Meyering  <jim@meyering.net>
77234
77235         * modules/check-include-files: Move to ../ and rename to...
77236         * check-module: ...this.
77237
77238 2005-03-25  Jim Meyering  <jim@meyering.net>
77239
77240         * modules/xvasprintf (Files): Add xalloc.h.
77241
77242 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
77243
77244         * modules/gettext (Files): config/config.rpath ->
77245         build-aux/config.rpath
77246         * modules/iconv (Files): Likewise.
77247         Problem reported by Oskar Liljeblad.
77248
77249 2005-03-23  Jim Meyering  <jim@meyering.net>
77250
77251         * modules/check-include-files: New script to check for
77252         missing dependencies, multiple includes, etc.
77253
77254         * modules/c-strtold (Depends-on): Add xalloc.
77255         * modules/c-strtod (Depends-on): Add xalloc.
77256         * modules/hash (Depends-on): Add xalloc.
77257         (Files): Remove lib/xalloc.h.
77258
77259         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
77260         * modules/userspec (Files): Add lib/inttostr.h.
77261
77262 2005-03-23  Jim Meyering  <jim@meyering.net>
77263
77264         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
77265
77266 2005-03-22  Jim Meyering  <jim@meyering.net>
77267
77268         * modules/stat-macros: New module.
77269         * modules/canonicalize, modules/euidaccess, modules/file-type,
77270         * modules/filemode, modules/lchown, modules/makepath,
77271         * modules/rmdir, modules/stat: Depend on new stat-macros module
77272         rather than listing lib/stat-macros.h manually.
77273         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
77274
77275 2005-03-22  Jim Meyering  <jim@meyering.net>
77276
77277         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
77278
77279 2005-03-22  Bruno Haible  <bruno@clisp.org>
77280
77281         * config/srclist.txt: Replace target directory 'config' with
77282         'build-aux'.
77283         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
77284         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
77285         ../build-aux/.
77286
77287 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
77288
77289         * modules/chdir-long (Depends-on): Add mempcpy.
77290
77291         * modules/acl, modules/backupfile, modules/c-strtod,
77292         modules/c-strtold, modules/canon-host, modules/canonicalize,
77293         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
77294         modules/exclude, modules/exitfail, modules/file-type,
77295         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
77296         modules/getdate, modules/getline, modules/getpagesize,
77297         modules/getpass, modules/getugroups, modules/group-member,
77298         modules/hard-locale, modules/hash, modules/human, modules/idcache,
77299         modules/inttostr, modules/long-options, modules/makepath,
77300         modules/md5, modules/memcasecmp, modules/memcoll,
77301         modules/modechange, modules/mountlist, modules/path-concat,
77302         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
77303         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
77304         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
77305         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
77306         modules/strftime, modules/strndup, modules/strverscmp,
77307         modules/timespec, modules/unlocked-io, modules/userspec,
77308         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
77309         modules/yesno:
77310         Remove lib_SOURCES line from Makefile.am section, as this is now
77311         done automatically by the corresponding Autoconf macro.
77312
77313 2005-03-21  Jim Meyering  <jim@meyering.net>
77314
77315         Changes imported from coreutils.
77316
77317         * lib/cycle-check.c: Don't include xalloc.h.
77318
77319         * lib/path-concat.c: Don't include assert.h.
77320         (path_concat): Remove assertion that would have triggered
77321         for ABASE starting with more than one slash.
77322         Reported by Andreas Schwab.
77323
77324         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
77325         properly when ABASE is an absolute file name.
77326         Correct the description of this function.
77327         Include <assert.h>.
77328         Add an assertion and a test driver.
77329         This fixes a bug introduced on 2004-07-02.
77330         Andreas Schwab reported the resulting failure of cp --parents:
77331         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
77332
77333 2005-03-21  Jim Meyering  <jim@meyering.net>
77334
77335         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
77336         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
77337
77338 2005-03-21  Jim Meyering  <jim@meyering.net>
77339         and  Paul Eggert  <eggert@cs.ucla.edu>
77340
77341         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
77342         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
77343         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
77344         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
77345         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
77346         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
77347         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
77348         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
77349         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
77350         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
77351         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
77352         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
77353         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
77354         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
77355         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
77356         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
77357         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
77358         for these modules.
77359
77360 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
77361
77362         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
77363         (which shouldn't happen), generate nothing instead of returning 0
77364         immediately, so that nstrftime (NULL, ...) doesn't return 0.
77365
77366 2005-03-16  Bruno Haible  <bruno@clisp.org>
77367
77368         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
77369         HAVE_LONGLONG_64BIT.
77370
77371 2005-03-16  Bruno Haible  <bruno@clisp.org>
77372
77373         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
77374         HAVE_LONGLONG_64BIT.
77375
77376 2005-03-16  Bruno Haible  <bruno@clisp.org>
77377
77378         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
77379         HAVE_LONGLONG_64BIT.
77380
77381 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77382
77383         * lib/strftime.c (my_strftime): Prepend space to format so that we can
77384         reliably distinguish strftime failure from empty output on POSIX
77385         hosts.
77386
77387 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77388
77389         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
77390         (iconv_string): Don't guess a size-zero buffer, as that might cause
77391         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
77392         result would be 'too large', where 'too large' is (heuristically)
77393         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
77394         overflow concerns.  This will prevent some unwanted malloc failures
77395         when the inputs are very large.
77396
77397 2005-03-15  Karl Berry  <karl@gnu.org>
77398
77399         * config/srclist.txt (config.rpath): from gettext.
77400         * config/config.rpath: update.
77401
77402 2005-03-15  Bruno Haible  <bruno@clisp.org>
77403
77404         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
77405         to 'negate'.
77406
77407         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
77408         variable.
77409
77410         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
77411         results.
77412
77413 2005-03-14  Simon Josefsson  <jas@extundo.com>
77414
77415         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
77416         <fx@gnu.org>.
77417
77418 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
77419
77420         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
77421         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
77422         intprops.h.
77423         * lib/strtol.c: Likewise.
77424
77425 2005-03-14  Jim Meyering  <jim@meyering.net>
77426
77427         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
77428         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
77429         to be nonzero so that we (and caller) can detect the difference
77430         between a valid zero-length expansion and an error return, even
77431         when the underlying strftime fails before writing anything into
77432         that location.
77433
77434 2005-03-14  Bruno Haible  <bruno@clisp.org>
77435
77436         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77437         Update from GNU gettext 0.14.3.
77438
77439 2005-03-10  Jim Meyering  <jim@meyering.net>
77440
77441         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77442
77443 2005-03-10  Jim Meyering  <jim@meyering.net>
77444
77445         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77446         so that this module works on systems without fchdir.
77447
77448 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77449
77450         Factor int-properties macros into a single file, except for
77451         glibc-related files.
77452         * lib/intprops.h: New file.
77453         * lib/getloadavg.c: Include it instead of limits.h.
77454         (INT_STRLEN_BOUND): Remove.
77455         * lib/human.c: Include intprops.h.
77456         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77457         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77458         302/1000.
77459         * lib/inttostr.h: Include intprops.h instead of limits.h.
77460         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77461         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77462         for consistency with intprops.h.
77463         (time_t_is_integer, twos_complement_arithmetic): Use them.
77464         * lib/sig2str.h: Include <signal.h>, intprops.h.
77465         (INT_STRLEN_BOUND): Remove.
77466         * lib/strftime.c (TYPE_SIGNED): Remove.
77467         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77468         * lib/strtol.c: Adjust comments to match intprops.h.
77469         * lib/userspec.c: Include intprops.h.
77470         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77471         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77472         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77473         instead of rolling our own expressions.
77474         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77475
77476         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77477         instead of int.
77478         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77479         the right thing even if adding 1900 would overflow.  Similarly
77480         for tm_mon + 1 and tm_yday + 1.
77481         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77482         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77483         (DO_SIGNED_NUMBER): New macro.
77484         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77485
77486 2005-03-07  Bruno Haible  <bruno@clisp.org>
77487
77488         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77489
77490 2005-03-07  Bruno Haible  <bruno@clisp.org>
77491
77492         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77493
77494 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77495
77496         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77497         (func_import): Only replace files via --import when they have actually
77498         changed.
77499
77500 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77501
77502         * m4/mmap-anon.m4: New file.
77503         * m4/pagealign_alloc.m4: New file.
77504
77505 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77506             Bruno Haible  <bruno@clisp.org>
77507
77508         * modules/pagealign_alloc: New file.
77509         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77510
77511 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77512             Bruno Haible  <bruno@clisp.org>
77513
77514         * lib/pagealign_alloc.h: New file.
77515         * lib/pagealign_alloc.c: New file.
77516
77517 2005-03-03  Bruno Haible  <bruno@clisp.org>
77518
77519         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77520         Use an all-permissive copyright notice, recommended by RMS.
77521
77522 2005-03-02  Bruno Haible  <bruno@clisp.org>
77523
77524         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77525         of AIX, the replacement has to be done only after <string.h> is
77526         included, therefore not in config.h. stpncpy.h does the replacement,
77527         and stpncpy.c uses it.
77528
77529 2005-03-02  Bruno Haible  <bruno@clisp.org>
77530
77531         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77532         stpncpy.c uses it.
77533
77534 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77535
77536         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77537         The workaround isn't strictly needed for POSIX conformance, and
77538         it's too much of a pain to configure and maintain.  We'll ask
77539         people to fix their kernels instead.
77540         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77541         (NANOSLEEP_BUG_WORKAROUND): Remove.
77542         (xnanosleep): Remove the workaround.
77543
77544 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77545
77546         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77547         Reported by Derek Price.
77548         (Include): Add "timespec.h".
77549
77550         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77551
77552 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77553
77554         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77555         to detect nanosleep bug.
77556
77557 2005-03-01  Bruno Haible  <bruno@clisp.org>
77558
77559         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77560
77561 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77562
77563         * modules/gethrxtime: New file.
77564         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77565         (Depends-on): Add gethrxtime.
77566         (configure.ac): Add gl_XNANOSLEEP.
77567         (Makefile.am): Remove lib_SOURCES line.
77568
77569 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77570
77571         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77572         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77573
77574 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77575
77576         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77577         * lib/timespec.h (gettime): Return void, since it always
77578         succeeds now.  All uses changed.
77579         * lib/gettime.c (gettime): Likewise.
77580         [HAVE_NANOTIME]: Prefer nanotime.
77581         Assume gettimeofday succeeds, as POSIX requires.
77582         Assime time () succeeds, since other code already does.
77583         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77584         (timespec_subtract): Remove.
77585         (NANOSLEEP_BUG_WORKAROUND): New constant.
77586         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77587         things considerably.  Use it only on GNU/Linux hosts, since the
77588         workaround shouldn't be needed elsewhere.
77589
77590 2005-02-24  Bruno Haible  <bruno@clisp.org>
77591
77592         * modules/gettext (Files): Add m4/glibc2.m4.
77593
77594 2005-02-24  Bruno Haible  <bruno@clisp.org>
77595
77596         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77597         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77598         * m4/progtest.m4:
77599         Update from GNU gettext 0.14.2.
77600         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77601
77602 2005-02-24  Bruno Haible  <bruno@clisp.org>
77603
77604         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77605         * lib/config.charset: Update from GNU gettext 0.14.2.
77606
77607 2005-02-24  Bruno Haible  <bruno@clisp.org>
77608
77609         * lib/gettext.h: Update from GNU gettext 0.14.2.
77610
77611 2005-02-23  Simon Josefsson  <jas@extundo.com>
77612
77613         * m4/iconvme.m4: New file.
77614
77615 2005-02-23  Jim Meyering  <jim@meyering.net>
77616
77617         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77618         change.
77619         Thanks to Bruno Haible for catching it.
77620
77621 2005-02-22  Simon Josefsson  <jas@extundo.com>
77622
77623         * modules/iconvme: New file.
77624
77625         * MODULES.html.sh: Add iconvme.
77626
77627 2005-02-22  Simon Josefsson  <jas@extundo.com>
77628
77629         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77630
77631 2005-02-22  Simon Josefsson  <jas@extundo.com>
77632
77633         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77634
77635 2005-02-22  Jim Meyering  <jim@meyering.net>
77636
77637         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77638         s/ifndef/ifdef/.
77639
77640 2005-02-20  Neil Conway  <neilc@samurai.com>
77641
77642         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77643         returned by OSX/Darwin if the specified buffer is not large
77644         enough for the hostname.
77645
77646 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77647
77648         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77649         pass it to _help, otherwise the latter coredumps trying to
77650         dereference state.root_argp.
77651
77652 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77653
77654         * modules/chdir-long (Depends-on): Add memrchr.
77655         * modules/memrchr (Files): Add lib/memrchr.h.
77656         (Include): "memrchr.h".
77657
77658 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77659
77660         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77661
77662 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77663
77664         * lib/memrchr.h: New file.
77665         * lib/chdir-long.c: Include it.
77666         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77667         Don't bother including stddef.h.
77668
77669 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77670
77671         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77672         inclusion.
77673         Include <sys/types.h>, for dev_t.
77674         (ME_DUMMY, ME_REMOTE): Move from here....
77675         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77676         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77677         Dmitry V. Levin.
77678         Include mountlist.h first, to test the interface.
77679
77680 2005-01-29  Bruno Haible  <bruno@clisp.org>
77681
77682         * lib/progname.c (program_name): Initialize.
77683         Needed when linking statically on MacOS X.
77684
77685 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77686
77687         Sync from coreutils.
77688         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77689         (Depends-on): Add c-strtod.
77690         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77691
77692 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77693
77694         Sync from coreutils.
77695         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77696
77697         Remove files that are specific to coreutils.
77698         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77699
77700 2005-01-28  Bruno Haible  <bruno@clisp.org>
77701
77702         * modules/javacomp: New file.
77703         * MODULES.html.sh (Java): Add javacomp.
77704
77705 2005-01-28  Bruno Haible  <bruno@clisp.org>
77706
77707         * m4/javacomp.m4: New file, from GNU gettext.
77708
77709 2005-01-28  Bruno Haible  <bruno@clisp.org>
77710
77711         * lib/javacomp.sh.in: New file, from GNU gettext.
77712         * lib/javacomp.h: New file, from GNU gettext.
77713         * lib/javacomp.c: New file, from GNU gettext.
77714
77715 2005-01-26  Simon Josefsson  <jas@extundo.com>
77716
77717         * lib/gai_strerror.c: Use GPL in header.
77718
77719 2005-01-26  Bruno Haible  <bruno@clisp.org>
77720
77721         * modules/javaexec: New file.
77722         * MODULES.html.sh (Java): Add javaexec.
77723
77724 2005-01-26  Bruno Haible  <bruno@clisp.org>
77725
77726         * m4/javaexec.m4: New file, from GNU gettext.
77727
77728 2005-01-26  Bruno Haible  <bruno@clisp.org>
77729
77730         * lib/javaexec.sh.in: New file, from GNU gettext.
77731         * lib/javaexec.h: New file, from GNU gettext.
77732         * lib/javaexec.c: New file, from GNU gettext.
77733
77734 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77735
77736         * modules/lchown (Depends-on): Remove lchown.h
77737
77738 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77739
77740         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77741         must be defined if the header file was not found, in order
77742         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77743
77744 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77745
77746         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77747         initializers for struct pentry_state.
77748         (__argp_error): Check return value of __asprintf
77749         (__argp_failure): Translate error message
77750
77751         * lib/argp-parse.c: Removed braces around the expansion of N_()
77752
77753 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77754
77755         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77756         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77757         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77758         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77759         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77760         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77761         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77762         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77763         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77764         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77765         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77766         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77767         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77768         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77769         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77770         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77771         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77772         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77773         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77774         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77775         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77776         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77777         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77778         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77779         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77780         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77781         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77782         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77783         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77784         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77785         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77786         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77787         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77788         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77789         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77790         Use an all-permissive copyright notice, recommended by RMS.
77791
77792 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77793
77794         * modules/chdir-long (Depends-on): Remove mempcpy.
77795
77796 2005-01-21  Jim Meyering  <jim@meyering.net>
77797
77798         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77799         same value as for Solaris 9.
77800
77801         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77802         component length.  This included changing the parameter to be
77803         of type `char *' rather than `char const *'.
77804         * lib/chdir-long.h (chdir_long): Update prototype.
77805
77806         * lib/openat.c (fdopendir, fstatat): New functions.
77807         * lib/openat.h: Include headers required for use of DIR and struct
77808         stat.
77809         [AT_SYMLINK_NOFOLLOW]: Define.
77810         (fdopendir, fstatat): Add prototypes.
77811
77812 2005-01-21  Bruno Haible  <bruno@clisp.org>
77813
77814         * modules/classpath: New file.
77815         * MODULES.html.sh (Java): Add classpath.
77816
77817 2005-01-21  Bruno Haible  <bruno@clisp.org>
77818
77819         * lib/classpath.h: New file, from GNU gettext.
77820         * lib/classpath.c: New file, from GNU gettext.
77821
77822 2005-01-20  Simon Josefsson  <jas@extundo.com>
77823
77824         * modules/version-etc-fsf: New file.
77825
77826 2005-01-20  Simon Josefsson  <jas@extundo.com>
77827
77828         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77829         * lib/version-etc.c: Remove version_etc_copyright.
77830         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77831         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77832
77833 2005-01-20  Simon Josefsson  <jas@extundo.com>
77834
77835         * lib/base64.h (isbase64): Add.
77836
77837         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77838         using a unsigned prototype, don't inline.
77839         (base64_decode): Use it.
77840
77841 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77842
77843         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
77844         it.
77845
77846 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77847
77848         * lib/save-cwd.c (save_cwd): Remove code to support the case
77849         where fchdir is missing or flaky.
77850
77851 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77852
77853         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
77854
77855 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
77856
77857         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
77858         AC_LIBSOURCES now does this.
77859         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
77860         with new ullong_max module.
77861
77862 2005-01-19  Bruno Haible  <bruno@clisp.org>
77863
77864         * modules/sh-quote: New file.
77865         * MODULES.html.sh (Executing programs): Add sh-quote.
77866
77867 2005-01-19  Bruno Haible  <bruno@clisp.org>
77868
77869         * lib/sh-quote.h: New file, from GNU gettext.
77870         * lib/sh-quote.c: New file, from GNU gettext.
77871
77872 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77873
77874         Merge from coreutils.
77875         * m4/ullong_max.m4: New file.
77876         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
77877         (gl_MACROS): Assume localeconv exists.
77878
77879 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77880
77881         Merge changes from coreutils, as described below in several
77882         changelogs dated today.
77883
77884         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
77885         (O_DIRECTORY): Remove; not needed here, since "." must be
77886         a directory.  All uses removed.
77887         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
77888         universal on Suns, and we also need to test for IRIX.
77889         Revamp code to use 'if' rather than '#if'.
77890         Avoid unnecessary comparison of cwd->desc to 0.
77891
77892         * lib/utimens.c (futimens): Robustify the previous patch, by checking
77893         for known valid error numbers rather than observed invalid ones.
77894
77895 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77896
77897         * modules/ullong_max: New file.
77898
77899         * modules/chdir-long, modules/openat: New files.
77900         * modules/save-cwd (Depends-on): Depend on chdir-long.
77901         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
77902
77903 2005-01-18  Jim Meyering  <jim@meyering.net>
77904
77905         Merge from coreutils.
77906         * m4/chdir-long.m4, m4/openat.m4: New files.
77907         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
77908         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
77909         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
77910         is sane and DOES follow symlinks.  Besides, testing 20 different
77911         systems found no broken chown implementations.
77912         Prompted by a change in rsync's copy of this macro.
77913         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
77914
77915         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
77916
77917         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
77918         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
77919         NULL-means-set-to-current-time semantics.
77920         Remove temporary file immediately, rather than waiting
77921         for configure's at-exit trap code to do it.
77922
77923 2005-01-18  Jim Meyering  <jim@meyering.net>
77924
77925         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77926
77927         * lib/utimens.c (futimens): Account for the fact that futimes
77928         can also fail with errno == ENOSYS or errno == ENOENT.
77929         Patch from Dmitry V. Levin.
77930
77931         Change the name of the robust chdir function from chdir to chdir_long.
77932         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
77933         (restore_cwd): Use chdir_long, not chdir.
77934         * lib/chdir-long.c: Renamed from chdir.c.
77935         * lib/chdir-long.h: Renamed from chdir.h.
77936         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
77937         Hurd.
77938
77939 2005-01-18  Bruno Haible  <bruno@clisp.org>
77940
77941         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
77942         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
77943         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
77944         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
77945         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
77946         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
77947         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
77948         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
77949         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
77950         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
77951         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
77952         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
77953         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
77954         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
77955         Use an all-permissive copyright notice, recommended by RMS.
77956
77957 2005-01-18  Bob Proulx  <bob@proulx.com>
77958
77959         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
77960         simplify offsetof() macro construct to avoid compile failure with
77961         native HP-UX 11.0 ANSI C compiler.
77962
77963 2005-01-17  Bruno Haible  <bruno@clisp.org>
77964
77965         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
77966         redundant because stpncpy.m4 takes care of it.
77967
77968 2005-01-17  Bruno Haible  <bruno@clisp.org>
77969
77970         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
77971
77972 2005-01-17  Bruno Haible  <bruno@clisp.org>
77973
77974         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
77975         used.
77976
77977 2005-01-17  Bruno Haible  <bruno@clisp.org>
77978
77979         * lib/fwriteerror.h (fwriteerror): Change specification to include
77980         fclose.
77981         * lib/fwriteerror.c: Include <stdbool.h>.
77982         (fwriteerror): At the end, close the file stream. Record whether
77983         stdout was already closed.
77984
77985 2005-01-17  Bruno Haible  <bruno@clisp.org>
77986
77987         * lib/execute.c (environ): Declare if needed.
77988         * lib/pipe.c (environ): Likewise.
77989         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
77990
77991 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77992
77993         * modules/argp: Depend on vsnprintf
77994
77995 2005-01-10  Jim Meyering  <jim@meyering.net>
77996
77997         * modules/closeout (Depends-on): Add atexit.
77998
77999 2005-01-06  Bruno Haible  <bruno@clisp.org>
78000
78001         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
78002
78003 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78004
78005         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
78006         definitions to be after all include files, to avoid collisions.
78007         Problem reported by Bob Proulx.
78008
78009 2005-01-04  Jim Meyering  <jim@meyering.net>
78010
78011         Changes imported from coreutils.
78012         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
78013         as the mkstemp template, use a temporary directory and an
78014         8.3-friendly template to avoid trouble on systems like DJGPP.
78015         Reported by Juan M. Guerrero via Stepan Kasal.
78016         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
78017         close. Remove the temporary directory right away, rather than waiting
78018         for configure's at-exit trap code to do it.
78019         Suggestion from Stepan Kasal.
78020
78021 2005-01-01  Simon Josefsson  <jas@extundo.com>
78022
78023         * gnulib-tool: Print #include directives when --import'ing.
78024
78025 2004-12-28  Simon Josefsson  <jas@extundo.com>
78026
78027         * tests/test-base64.c: Include required header files.  Remove
78028         unused variables.
78029
78030 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78031
78032         * modules/error (Depends-on): Remove gettext.
78033
78034 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78035
78036         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
78037         not needed.  This removes a dependency on the gettext module.
78038         [defined _LIBC]: Do not include <libintl.h>; not needed.
78039
78040 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78041
78042         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
78043         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
78044
78045 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78046
78047         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
78048         HAVE_DECL_STRTOLD.
78049
78050 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78051
78052         * modules/getdate (Depends-on): Remove alloca-opt.
78053
78054 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78055
78056         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
78057
78058 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78059
78060         * lib/argp-parse.c: Include <stddef.h>.
78061         (alignof, alignto): New macros.
78062         (parser_init): Don't assume that void * is aligned sufficiently
78063         for struct option.
78064
78065         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
78066         need to extend the stack.
78067         (YYINITDEPTH): New macro, so that the initial stack isn't overly
78068         large.
78069
78070 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78071
78072         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
78073
78074 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78075
78076         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
78077         (2004-10-24) change.  Apparently this was a false alarm.
78078
78079         * modules/getdate: Depend on alloca-opt, not alloca.
78080
78081 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78082
78083         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
78084         Remove now-obsolete comment about AIX.
78085         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
78086         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
78087         (YYMAXDEPTH): New macro.
78088
78089 2004-12-18  Simon Josefsson  <jas@extundo.com>
78090
78091         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
78092
78093 2004-12-18  Bruno Haible  <bruno@clisp.org>
78094
78095         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
78096
78097 2004-12-18  Bruno Haible  <bruno@clisp.org>
78098
78099         * lib/fatal-signal.c (fatal_signals): Make non-const.
78100         (init_fatal_signals): New function.
78101         (uninstall_handlers, install_handlers): Ignore signals that were set to
78102         SIG_IGN.
78103         (at_fatal_signal): Call init_fatal_signals.
78104         (init_fatal_signal_set): Likewise. Ignore signals that were set to
78105         SIG_IGN.
78106         Reported by Paul Eggert.
78107
78108 2004-12-18  Bruno Haible  <bruno@clisp.org>
78109
78110         * doc/alloca.texi: New file.
78111         * doc/alloca-opt.texi: New file.
78112
78113 2004-12-17  Jim Meyering  <jim@meyering.net>
78114
78115         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
78116         Otherwise, install-sh could exit with improper exit status when
78117         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
78118
78119 2004-12-16  Simon Josefsson  <jas@extundo.com>
78120
78121         * tests/test-base64.c: Add license.
78122
78123 2004-12-15  Stepan Kasal  <address@hidden>
78124
78125         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
78126
78127 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
78128
78129         * modules/getcwd (Files): Add m4/d-ino.m4.
78130         Suggested by Mark D. Baushke.
78131
78132 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78133
78134         * lib/getdate.y (textint): New member "negative".
78135         (time_zone_hhmm): New function.
78136         Expect 14 shift-reduce conflicts, not 13.
78137         (o_colon_minutes): New rule.
78138         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
78139         (yylex): Set the "negative" member of signed numbers.
78140
78141 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78142
78143         * doc/getdate.texi (Time of day items, Time zone items):
78144         Describe new formats +00:00, UTC+00:00.
78145
78146 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78147
78148         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
78149         spurious "-l"s.  Problem reported by Stepan Kasal.
78150
78151 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
78152
78153         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
78154         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
78155
78156 2004-12-04  Simon Josefsson  <jas@extundo.com>
78157
78158         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
78159         Vandoorselaere <yoann@prelude-ids.org>.
78160
78161 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78162
78163         Changes imported from coreutils.
78164         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
78165         exist.
78166         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
78167
78168 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78169
78170         Changes imported from coreutils.
78171         * lib/hard-locale.c: Assume <locale.h> exists.
78172         Include "strdup.h".
78173         (GLIBC_VERSION): New macro.
78174         (hard_locale): Assume setlocale exists.
78175         Rewrite to avoid #ifdef.
78176         Use strdup rather than malloc + strcpy.
78177         * lib/human.c: Assume <locale.h> exists.
78178         (human_readable): Assume localeconv exists.
78179
78180 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78181
78182         * modules/hard-locale (Depends-on): Add strdup.
78183
78184 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
78185
78186         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
78187         convert T2, not T.  (Imported from libc.)
78188
78189 2004-11-30  Simon Josefsson  <jas@extundo.com>
78190
78191         * modules/restrict (License): Change to LGPL.
78192
78193 2004-11-30  Simon Josefsson  <jas@extundo.com>
78194
78195         * m4/restrict.m4: Add copyright and copying conditions.
78196
78197 2004-11-30  Simon Josefsson  <jas@extundo.com>
78198
78199         * m4/base64.m4: New file.
78200
78201 2004-11-30  Simon Josefsson  <jas@extundo.com>
78202
78203         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
78204         base64.
78205
78206         * tests/test-base64.c: New file.
78207
78208         * modules/base64: New file.
78209
78210 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78211
78212         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
78213         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
78214
78215         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
78216
78217 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78218
78219         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
78220         (__getcwd.c): Don't restore errno; glibc doesn't.
78221         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
78222         first, falling back to our code only if its results look suspicious.
78223         Ensure that the resulting buffer is only as large as necessary.
78224
78225         * lib/readutmp.c: Include readutmp.h first.
78226         Include <errno.h>, since readutmp.h no longer does that.
78227         * lib/readutmp.h: Don't include <errno.h>,
78228         <sys/param.h>, <time.h>; not needed to establish interface.
78229         (errno): Remove decl.
78230         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
78231         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
78232         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
78233
78234 2004-11-28  Simon Josefsson  <jas@extundo.com>
78235
78236         * lib/base64.h, base64.c: New file.
78237
78238 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
78239
78240         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
78241
78242 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
78243
78244         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
78245         (Depends-on): Remove pathmax, same.  Add mempcpy.
78246         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
78247         (Makefile.am): Append getcwd.h to lib_SOURCES.
78248         (Include): Add getcwd.h.
78249         (Maintainer): Change from Jim Meyering to "all, glibc",
78250         since getdate now uses intended-for-glibc code.
78251         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
78252         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
78253
78254 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78255
78256         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
78257         HP's ANSI C compiler.
78258         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
78259         Declaring int functions causes warnings on some modern systems and
78260         shouldn't be needed to compile on ancient ones.
78261         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
78262         defined.
78263
78264         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
78265         with the following changes.
78266         (__set_errno): Parenthesize properly.
78267         Include <stdbool.h>.
78268         (MIN, MAX, MATCHING_INO): New macros.
78269         (__getcwd): Define with prototype, not K&R form.
78270         Use heuristics to allocate default buffer on stack if possible.
78271         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
78272         behavior, and to avoid the PATH_MAX limit when computing
78273         ../../../../...
78274         Use MATCHING_INO to compare inode number to file.
78275         Check for arithmetic overflow in size calculations.
78276         Fix bug in reallocation of dot array that caused getcwd to fail
78277         on directories nested deeper than 75.
78278         Be more careful about saving errno on error.
78279         Do not use realloc; use only free+malloc, as this is a bit
78280         more flexible and avoids a needless copy operation.
78281         Do not inspect st_dev and st_ino for symbolic links; POSIX
78282         doesn't specify the latter.
78283         Check for closedir errors.
78284         Avoid needless casts.
78285         Use "#ifdef weak_alias" around weak_alias, to be like other
78286         glibc code.
78287         The following changes to getcwd.c have effect only when used in
78288         gnulib; they have no effect inside glibc proper.
78289         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
78290         as alloca isn't used.
78291         (alloca, __alloca): Likewise.
78292         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
78293         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78294         unconditionally, as gnulib assumes C89 or better.
78295         Do not include <sys/param.h>.
78296         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
78297         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
78298         better.
78299         (NULL) [!defined NULL]: Remove; we assume C89 or better.
78300         Include <dirent.h> in a way that is compatible with modern Autoconf.
78301         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
78302         New macros, if not already defined.
78303         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
78304         Use "_LIBC", not "defined _LIBC", for consistency.
78305         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
78306         a mempcpy module.
78307         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
78308         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
78309         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
78310         credit only to Jim Meyering and adjust the copyright dates.
78311         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
78312         <stdlib.h>, <unistd.h>, "pathmax.h".
78313         Instead, include "xgetcwd.h" (first) and "getcwd.h".
78314         (INITIAL_BUFFER_SIZE): Remove.
78315         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
78316
78317 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78318
78319         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
78320         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
78321         Use the _ONCE methods, for efficiency.
78322         Check for fcntl.h.  In test program, include <errno.h>
78323         and <fcntl.h> if available.  Remove old K&R cruft from
78324         test program.  Check for common errors in GNU/Linux,
78325         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
78326         don't do AC_LIBOBJ, as that's getcwd.m4's job.
78327         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
78328         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
78329         name accordingly.
78330         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
78331         accommodate new getcwd.c.
78332         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
78333         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
78334         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
78335         that's all we need now.
78336
78337 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78338
78339         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
78340         argp-parse.c depends on getopt internals, that means we should
78341         always use our getopt, to be on the safe side.
78342         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
78343         order not to spoil the result of an eventual previous invocation
78344         of gl_GETOPT_SUBSTITUTE.
78345
78346 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78347
78348         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
78349         redefinition warnings. To avoid them, include the defines
78350         in `#if !defined __need_getopt ... #endif'. The only place
78351         where __getopt_argv_const is used is in definitions
78352         of getopt_long and getopt_long_only below, which are as well
78353         protected by `#ifndef __need_getopt'.
78354         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
78355         __need_getopt after including <stdio.h> and <unistd.h> These
78356         headers might have defined it.
78357
78358 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78359
78360         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
78361
78362 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78363
78364         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
78365         (futimens): New function, which uses futimes if available.
78366         (futimens, utimens): Support timespec==NULL, with same semantics
78367         as utime and utimens.
78368         * lib/utimens.h (futimens): New decl.
78369
78370 2004-11-23  Jim Meyering  <jim@meyering.net>
78371
78372         * lib/getopt_.h: Remove trailing blanks.
78373
78374 2004-11-23  Jim Meyering  <jim@meyering.net>
78375
78376         * lib/__fpending.c: Add comment.
78377
78378 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
78379
78380         * modules/canonicalize (Depends-on): Add xreadlink.
78381         Problem reported by James Youngman.
78382
78383 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
78384
78385         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
78386         New macros.
78387         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
78388         optopt): Use them instead of invoking ## directly; otherwise, the
78389         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
78390
78391 2004-11-19  Bruno Haible  <bruno@clisp.org>
78392
78393         * lib/strtok_r.c: Move comments from here...
78394         * lib/strtok_r.h: ... to here.
78395
78396 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78397
78398         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
78399         implementations that mishandle size_t overflow.
78400
78401 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78402
78403         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
78404         might fail.  Problem reported by Yoann Vandoorselaere.
78405         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
78406         implementations that mishandle size_t overflow.
78407
78408 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78409
78410         * modules/canon-host (Depends-on): Add strdup.
78411
78412 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78413
78414         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
78415
78416 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78417
78418         * lib/canon-host.c: Include "strdup.h".
78419         (canon_host): Use getaddrinfo if available, so that IPv6 works.
78420         Use strdup instead of malloc/strcpy to duplicate strings.
78421
78422         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
78423         (human_space_before_unit): New constant.
78424         * lib/human.c (human_readable): Support it.
78425
78426         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
78427         (xgetcwd): Set errno correctly when failing.
78428         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
78429         the failure is actually due to a PATH_MAX problem.
78430
78431         Further getopt changes to make it more likely that glibc will
78432         buy the changes back.
78433         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78434         (getopt): Use it, so to preserve glibc semantic
78435         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78436         when compiling for libc.
78437         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78438         (getopt_long, getopt_long_only): Use it.
78439
78440         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78441         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78442         (getopt): Argv is now char * const *, as per standard.
78443         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78444         not char *__getopt_argv_const *.
78445         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78446         _getopt_long_only_r): Likewise.
78447         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78448         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78449         _getopt_long_r, _getopt_long_only_r): Likewise.
78450         * lib/getopt_.h (__getopt_argv_const): Remove.
78451         (getopt): Argv is now char * const *, as per standard.
78452
78453         * lib/getdate.y (tORDINAL): New token.
78454         (day, relunit): Allow it for relative times.
78455         (relative_time_table): Use tORDINAL for ordinals.
78456
78457 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78458
78459         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78460         Document that "second" isn't allowed as an ordinal number.
78461
78462 2004-11-16  Jim Meyering  <jim@meyering.net>
78463
78464         * modules/closeout (Depends-on): Add fpending.
78465
78466 2004-11-15  Jim Meyering  <jim@meyering.net>
78467
78468         * lib/closeout.c: Include "__fpending.h" once again.
78469         Include <stdbool.h>.
78470         (close_stdout): Don't fail just because stdout was closed initially,
78471         since some programs don't write to stdout in the normal course of
78472         operation (other than --version and --help), and we don't want this
78473         function to make e.g. `touch file >&-' fail.
78474         But do fail if it was closed and someone has tried to write to it.
78475         E.g., `printf foo >&-' must fail.
78476
78477 2004-11-13  Jim Meyering  <jim@meyering.net>
78478
78479         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78480
78481 2004-11-12  Simon Josefsson  <jas@extundo.com>
78482
78483         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78484         small doc fix is still pending.
78485
78486 2004-11-11  Simon Josefsson  <jas@extundo.com>
78487
78488         * modules/strtok_r: New file.
78489
78490         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78491         strtok_r.
78492
78493 2004-11-11  Simon Josefsson  <jas@extundo.com>
78494
78495         * m4/strtok_r.m4: New file.
78496
78497         * m4/getopt.m4: Replace opterr.
78498
78499 2004-11-11  Simon Josefsson  <jas@extundo.com>
78500
78501         * lib/strtok_r.h, strtok_r.c: New file.
78502
78503 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78504
78505         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78506         of replacing opterr, getopt, etc.  This should handle the
78507         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78508
78509 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78510
78511         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78512         we can stop lying to compilers about the constness of argv when we
78513         are compiled outside glibc.
78514         (getopt, getopt_long, getopt_long_only): Use it.
78515         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78516         _getopt_internal, getopt): Likewise.
78517         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78518         _getopt_long_only_r): Likewise.
78519         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78520         _getopt_long_r, _getopt_long_only_r): Likewise.
78521
78522         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78523         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78524         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78525         the other external symbols.
78526         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78527         declaration, since the above renaming now works around collisions.
78528
78529 2004-11-11  Jim Meyering  <jim@meyering.net>
78530
78531         * lib/linebreak.c: Remove trailing blanks.
78532         * lib/alloca_.h: Likewise.
78533         * lib/acosl.c: Likewise.
78534         * lib/euidaccess.c: Likewise.
78535         * lib/allocsa.h: Likewise.
78536
78537 2004-11-10  Simon Josefsson  <jas@extundo.com>
78538
78539         * m4/getaddrinfo.m4: New file.
78540
78541 2004-11-10  Simon Josefsson  <jas@extundo.com>
78542
78543         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78544
78545 2004-11-10  Simon Josefsson  <jas@extundo.com>
78546
78547         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78548         getaddrinfo.
78549
78550         * modules/getaddrinfo: New file.
78551
78552 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78553
78554         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78555
78556 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78557
78558         * lib/mktime.c (SHR): New macro, which is a portable
78559         substitute for >> that should work even on Crays.
78560         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78561         Problem reported by Mark D. Baushke in
78562         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78563         * lib/getdate.y (SHR): Likewise.
78564         (tm_diff): Use it.
78565         * lib/strftime.c (SHR): Likewise.
78566         (tm_diff): Use it.
78567         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78568         quote_these_too, so that right shifts are well defined.  All uses
78569         changed.
78570
78571 2004-11-10  Jim Meyering  <jim@meyering.net>
78572
78573         Ensure that no close failure goes unreported.
78574         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78575         return early when it seems there's nothing to flush.
78576         Don't include __fpending.h.
78577
78578 2004-11-10  Jim Meyering  <jim@meyering.net>
78579
78580         * modules/closeout (Depends-on): Remove fpending.
78581
78582 2004-11-10  Jim Meyering  <jim@meyering.net>
78583
78584         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78585
78586 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78587
78588         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78589         gl_FUNC_STRFTIME.
78590         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78591         and AC_REQUIRE when possible, to avoid duplicate checks.
78592         Check for <wchar.h>.
78593
78594 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78595
78596         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78597
78598 2004-11-09  Bruno Haible  <bruno@clisp.org>
78599
78600         * m4/sockpfaf.m4: New file.
78601
78602 2004-11-05  Bruno Haible  <bruno@clisp.org>
78603
78604         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78605         Reported by Mark D. Baushke <mdb@cvshome.org>.
78606
78607 2004-11-04  Bruno Haible  <bruno@clisp.org>
78608
78609         2004-09-11  Bruno Haible  <bruno@clisp.org>
78610                 * allocsa.valgrind: New file.
78611         2004-02-06  Bruno Haible  <bruno@clisp.org>
78612                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78613                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78614                 Reported by Christopher Seip <chris.seip@hp.com>.
78615
78616 2004-11-04  Bruno Haible  <bruno@clisp.org>
78617
78618         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78619         (Makefile.am): Distribute it.
78620
78621 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78622
78623         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78624         with errno == ERANGE if the buffer is too small.
78625         Problem reported by Mark D. Baushke.
78626
78627 2004-11-03  Albert Chin  <china@thewrittenword.com>
78628             Paul Eggert  <eggert@cs.ucla.edu>
78629
78630         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78631         equivalent, substitute $ac_type for equivalent type rather than
78632         blindly using uint32_t *always* which won't work if uint32_t is not
78633         available.  Define _UINT32_T to work around typedef of uint32_t if
78634         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78635         2.5.1.
78636
78637 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78638
78639         * m4/jm-macros.m4: Sync from coreutils.
78640         (gl_MACROS): Check for mbrlen, for pathchk.
78641         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78642
78643 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78644
78645         * lib/xreadlink.c (MAXSIZE): New macro.
78646         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78647         size does not exceed MAXSIZE.  Avoid cast.
78648         As suggested by Mark D. Baushke in
78649         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78650         if readlink fails with buffer size just under MAXSIZE, try again
78651         with MAXSIZE.
78652
78653 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78654
78655         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78656
78657 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78658         and  Paul Eggert  <eggert@cs.ucla.edu>
78659
78660         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78661         (get_date): Overparenthesize to avoid GCC warning.
78662
78663 2004-11-02  Bruno Haible  <bruno@clisp.org>
78664
78665         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78666         returns void.
78667
78668 2004-11-02  Bruno Haible  <bruno@clisp.org>
78669
78670         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78671         function returns void.
78672
78673 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78674
78675         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78676         fflush_unlocked, flockfile, funlockfile, funlockfile,
78677         fputs_unlocked, putc_unlocked.
78678
78679 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78680
78681         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78682         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78683         already declared.
78684
78685 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78686
78687         * modules/getdate (Files): Add doc/getdate.texi.
78688         (Depends-on): Add setenv, xalloc.
78689
78690 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78691
78692         * lib/getdate.y: Add support for TZ="foo" within a date string.
78693         Fix some bugs near time_t boundaries.  Reject dates with
78694         out-of-range components, e.g., "Sept 31".
78695         Include <stdlib.h>, "setenv.h", "xalloc.h".
78696         (ISDIGIT_LOCALE): Remove; unused.
78697         Note that the TZ and time functions used here are not reentrant.
78698         (mktime_ok, get_tz): New functions.
78699         (TZBUFSIZE): New constant.
78700         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78701         This requires that we sometimes generate our own TZ="XXX..." setting.
78702
78703 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78704
78705         * doc/getdate.texi: New file, from coreutils with modifications for
78706         the new TZ parsing.
78707
78708 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78709
78710         * lib/mktime.c (not_equal_tm): Remove redundant check.
78711
78712 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78713
78714         * modules/regex (lib_SOURCES): Add regex.c.
78715         Reported by James Youngman in
78716         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78717
78718 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78719
78720         * lib/getdate.y: Use Bison 1.875 features, and some minor
78721         code cleanups.  This change does not affect semantics.
78722         Don't include <stdlib.h>; no longer needed.
78723         Don't include unlocked-io.h; only the "#if TEST" code uses
78724         stdio, and performance isn't crucial there.
78725         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78726         Bison 1.875 features as described below.
78727         All uses of "PC." replaced by "pc->".
78728         (YYSTYPE): Add a forward declaration.
78729         (yylex, yyerror): Use full prototypes in forward decls.
78730         Use "%pure-parser" rather than obsolescent "%pure_parser".
78731         Use %parse-param and %lex-param instead of obsolescent
78732         YYPARSE_PARAM and YYLEX_PARAM.
78733         (meridian_table, month_and_day_table, time_units_table,
78734         relative_time_table, time_zone_table, military_table,
78735         lookup_zone, lookup_word, get_date):
78736         Use NULL instead of 0 where appropriate.
78737         (to_hour): Avoid abort (), to avoid a dependency on
78738         stdlib.h.
78739         (yyerror, yylex): Now accepts parser_control * arg.
78740         (main) [TEST]: Use '\0' rather than 0 for char.
78741
78742 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78743
78744         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78745
78746 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78747
78748         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78749         It's now the caller's responsibility to handle the case where
78750         !HAVE_GETPAGESIZE && !defined getpagesize.
78751
78752         * lib/mktime.c (leapyear): Arg is long int, not int.
78753
78754 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78755
78756         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78757
78758 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78759
78760         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78761         missing.  Problem reported by James Youngman.
78762
78763 2004-10-16  Simon Josefsson  <jas@extundo.com>
78764
78765         * gnulib-tool: Fix comments.  Fix parse problem.
78766         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78767
78768 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78769
78770         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78771         implementation of getopt_long.  Problem reported by Alexander Taler in:
78772         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78773
78774 2004-10-15  Bruno Haible  <bruno@clisp.org>
78775
78776         * gnulib-tool: Untabify. Initialize supplied_libname.
78777         (func_usage): More homogenous output.
78778         (func_modules_transitive_closure, func_modules_to_filelist,
78779         func_emit_lib_Makefile_am): New functions.
78780         (func_import): New function, extracted from big case statement. Use
78781         func_get_license, func_modules_transitive_closure,
78782         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78783         opt_lgpl. Don't use test -a, as it's not portable.
78784         (func_create_testdir): Use func_modules_transitive_closure,
78785         func_modules_to_filelist, func_emit_lib_Makefile_am.
78786
78787 2004-10-15  Bruno Haible  <bruno@clisp.org>
78788
78789         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78790
78791 2004-10-15  Bruno Haible  <bruno@clisp.org>
78792
78793         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78794         the portions belonging to each module.
78795         Suggested by Derek Robert Price <derek@ximbiot.com>.
78796
78797 2004-10-12  Simon Josefsson  <jas@extundo.com>
78798
78799         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78800         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78801         to real functions.
78802
78803 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78804
78805         * modules/vsnprintf: New file.
78806
78807 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78808
78809         * m4/vsnprintf.m4: New file.
78810
78811 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78812
78813         * lib/vsnprintf.h: New file.
78814         * lib/vsnprintf.c: New file.
78815
78816 2004-10-11  Bruno Haible  <bruno@clisp.org>
78817
78818         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78819         vsnprintf.
78820
78821 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78822
78823         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78824
78825 2004-10-07  Bruno Haible  <bruno@clisp.org>
78826
78827         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78828         fits into the provided buffer.
78829
78830 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78831
78832         * lib/diacrit.c, diacrit.h: Add GPL notice.
78833
78834         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78835         notice.
78836         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78837         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78838         This avoids a potential constant-folding bug.
78839
78840 2004-10-05  Bruno Haible  <bruno@clisp.org>
78841
78842         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
78843         for the declaration of strsep.
78844
78845 2004-10-05  Bruno Haible  <bruno@clisp.org>
78846
78847         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
78848
78849 2004-10-04  Simon Josefsson  <jas@extundo.com>
78850
78851         * modules/memmem: New file.
78852         * tests/test-memmem.c: New file.
78853         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
78854
78855 2004-10-04  Simon Josefsson  <jas@extundo.com>
78856
78857         * m4/memmem.m4: New file.
78858
78859 2004-10-04  Simon Josefsson  <jas@extundo.com>
78860
78861         * lib/memmem.h: New file.
78862         * lib/memmem.c: New file, taken from glibc.
78863
78864 2004-10-04  Simon Josefsson  <jas@extundo.com>
78865
78866         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
78867         '#ifdef USE_UNLOCKED_IO'.
78868
78869 2004-10-04  Simon Josefsson  <jas@extundo.com>
78870
78871         * config/srclist.txt: Add memmem from glibc.
78872
78873 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78874
78875         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
78876
78877         * modules/argmatch, modules/argp, modules/closeout, modules/error,
78878         modules/exclude, modules/getdate, modules/getline,
78879         modules/getndelim2, modules/getpass, modules/getpass-gnu,
78880         modules/getusershell, modules/linebuffer, modules/md5,
78881         modules/mountlist, modules/posixtm, modules/readtokens,
78882         modules/readutmp, modules/regex, modules/sha1,
78883         modules/version-etc, modules/yesno:
78884         Remove dependency on unlocked-io.
78885
78886 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78887
78888         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
78889
78890         * m4/unlocked-io.m4: Add copyright notice.
78891         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
78892
78893 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78894
78895         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
78896         * lib/xmalloc.c (xmemdup): Likewise.
78897         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
78898         XFREE): Remove these long-obsolescent macros.
78899         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
78900         * lib/xstrdup.c: Remove.
78901
78902         * lib/regex.c (re_comp): Cast gettext return value to char *,
78903         Problem reported by Martin Neitzel via Mark D. Baushke.
78904
78905 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78906
78907         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
78908         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
78909         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
78910         regex.c, sha1.c, version-etc.c, yesno.c:
78911         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
78912         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
78913         the includer's responsibility.
78914
78915         Sync from coreutils.
78916
78917         * lib/modechange.c (mode_compile): Don't decrement a pointer that
78918         points to the start of a string, as the C Standard says the
78919         resulting behavior is undefined.
78920
78921         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
78922         simple -> simple_backups, numbered_existing ->
78923         numbered_existing_backups, numbered -> numbered_backups
78924         to avoid shadowing problems.  All uses changed.
78925         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
78926         * lib/backupfile.c (check_extension, numbered_backup):
78927         Rename locals to avoid shadowing 'basename'.
78928         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
78929         once.
78930
78931         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
78932         * lib/.cvsignore: Add getopt.h.
78933
78934 2004-10-04  Bruno Haible  <bruno@clisp.org>
78935
78936         * modules/README: New file.
78937         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
78938         not a module.
78939
78940 2004-10-02  Jim Meyering  <jim@meyering.net>
78941
78942         * lib/dirfd.h, getpagesize.h: Add copyright notice.
78943
78944 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78945
78946         * modules/strsep: New file.
78947
78948 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78949
78950         * m4/strsep.m4: New file.
78951
78952 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78953
78954         * lib/strsep.h: New file.
78955         * lib/strsep.c: New file.
78956
78957 2004-10-01  Simon Josefsson  <jas@extundo.com>
78958
78959         * lib/snprintf.c (snprintf): Handle size==0.
78960
78961 2004-10-01  Simon Josefsson  <jas@extundo.com>
78962             Bruno Haible  <bruno@clisp.org>
78963
78964         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
78965         (snprintf): Declare 'args'.
78966
78967 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
78968
78969         * lib/snprintf.c: Remove comments as to why each header is needed.
78970
78971 2004-10-01  Bruno Haible  <bruno@clisp.org>
78972
78973         * MODULES.html.sh: Add strsep.
78974
78975 2004-09-30  Simon Josefsson  <jas@extundo.com>
78976
78977         * modules/snprintf: New file.
78978
78979 2004-09-30  Simon Josefsson  <jas@extundo.com>
78980
78981         * m4/snprintf.m4: New file.
78982
78983 2004-09-30  Simon Josefsson  <jas@extundo.com>
78984
78985         * lib/snprintf.h, lib/snprintf.c: New files.
78986
78987 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78988
78989         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
78990         (hol_entry_help): Never translate an empty string.
78991         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
78992         * lib/argp.h (OPTION_NO_TRANS): New option.
78993
78994 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78995
78996         * modules/argp (Maintainer): Replace Simon Josefsson
78997         by Sergey Poznyakoff.
78998
78999 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79000
79001         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
79002         changes merged back into glibc.
79003
79004 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79005
79006         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
79007
79008 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79009
79010         * lib/xvasprintf.c: Include xalloc.h.
79011         (xvasprintf): Use xalloc_die, not xmalloc_die.
79012
79013 2004-09-29  Bruno Haible  <bruno@clisp.org>
79014
79015         * modules/alloca-opt: New file, derived from modules/alloca.
79016         * modules/allocsa: Depend on alloca-opt instead of alloca.
79017         * modules/setenv: Likewise.
79018         * modules/vasnprintf: Likewise.
79019         * MODULES.html.sh: Add alloca-opt.
79020
79021 2004-09-28  Simon Josefsson  <jas@extundo.com>
79022
79023         * gnulib-tool: New parameter --lgpl, to asseert that modules are
79024         LGPL, and to replace license template from GPL to LGPL.
79025
79026 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79027
79028         * modules/dummy: Change license to LGPL.
79029
79030 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79031
79032         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
79033
79034 2004-09-24  Simon Josefsson  <jas@extundo.com>
79035
79036         * modules/minmax (License): Change from GPL to LGPL.
79037
79038 2004-09-23  Simon Josefsson  <jas@extundo.com>
79039
79040         * gnulib-tool (--import): Typo.
79041
79042 2004-09-23  Simon Josefsson  <jas@extundo.com>
79043
79044         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
79045
79046 2004-09-22  Bruno Haible  <bruno@clisp.org>
79047
79048         * modules/*: Add 'License' field.
79049         * gnulib-tool: Accept --extract-license option.
79050         (func_get_license): New function.
79051
79052 2004-09-21  Bruno Haible  <bruno@clisp.org>
79053
79054         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
79055         Reported by Simon Josefsson.
79056
79057 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79058
79059         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
79060         gl_AC_TYPE_LONG_LONG.
79061
79062 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79063
79064         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
79065
79066 2004-09-18  Simon Josefsson  <jas@extundo.com>
79067         and  Paul Eggert  <eggert@cs.ucla.edu>
79068
79069         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
79070         calls with autoreconf.  Define GL_LIB.
79071
79072 2004-09-14  Karl Berry  <karl@gnu.org>
79073
79074         * config/srclist.txt: unsync setenv.c, sigh.
79075
79076 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79077
79078         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
79079         Problem reported by Bruno Haible in:
79080         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
79081
79082 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79083
79084         * config/srclist.txt: Comment out argp-pvh.c.
79085
79086 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
79087
79088         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
79089         in case some system header has #define'd it.  Problem reported by
79090         Soeren D. Schulze in
79091         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
79092
79093 2004-09-09  Karl Berry  <karl@gnu.org>
79094
79095         * regex.[ch]: delete from the root.  These were supposed to be
79096                 synced with emacs cvs, but this has not happened for about
79097                 a year, and anyway nothing else uses emacs regex.[ch].
79098                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
79099                 lib/regex[.ch] is untouched.
79100
79101 2004-09-09  Bruno Haible  <bruno@clisp.org>
79102
79103         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
79104
79105 2004-09-09  Bruno Haible  <bruno@clisp.org>
79106
79107         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
79108         modifications.
79109         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
79110
79111 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79112
79113         * modules/xvasprintf: New file.
79114         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
79115
79116 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79117
79118         * lib/xvasprintf.h: New file.
79119         * lib/xvasprintf.c: New file.
79120         * lib/xasprintf.c: New file.
79121
79122 2004-09-08  Bruno Haible  <bruno@clisp.org>
79123
79124         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
79125
79126 2004-09-08  Bruno Haible  <bruno@clisp.org>
79127
79128         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
79129         length is > INT_MAX.
79130         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
79131         more.
79132
79133 2004-09-08  Bruno Haible  <bruno@clisp.org>
79134
79135         * lib/stdint_.h: New file, taken from GNU clisp.
79136
79137 2004-09-08  Bruno Haible  <bruno@clisp.org>
79138             Oskar Liljeblad  <oskar@osk.mine.nu>
79139
79140         * modules/stdint: New file.
79141         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
79142
79143 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79144
79145         Import from coreutils.
79146         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
79147         strings on unbounded length.  alloca's performance benefits aren't
79148         that important here.
79149         (V_STRDUP): Remove.
79150         (parse_with_separator): New function, with most of the internals
79151         of the old parse_user_spec.  Allow user to omit both user and group,
79152         for compatibility with FreeBSD.
79153         Clone only the user name, not the entire spec.
79154         Do not set *uid, *gid unless entirely successful.
79155         Avoid memory leak in some failing cases.
79156         Fix regression for USER.GROUP reported by Dmitry V. Levin in
79157         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
79158         (parse_user_spec): Rewrite to use parse_with_separator.
79159
79160 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79161
79162         * modules/userspec: Don't depend on alloca.
79163
79164 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79165
79166         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
79167
79168 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79169
79170         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
79171         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
79172         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
79173
79174 2004-08-16  Simon Josefsson  <jas@extundo.com>
79175
79176         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
79177         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
79178         Add --dry-run for --import.
79179         Let user provided command line parameters override configure.ac
79180         settings.
79181
79182 2004-08-12  Simon Josefsson  <jas@extundo.com>
79183
79184         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
79185         as discussed with Paul Eggert in threads rooted at
79186         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
79187         and
79188         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
79189         Before, the test was empty, and relied on ELIDE_CODE in source
79190         code.)
79191         (gl_PREREQ_GETOPT): New macro.
79192         (gl_GETOPT): Use them.
79193
79194 2004-08-12  Simon Josefsson  <jas@extundo.com>
79195
79196         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
79197         * lib/getopt_.h: Renamed from getopt.h.
79198
79199 2004-08-12  Simon Josefsson  <jas@extundo.com>
79200
79201         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
79202         Change default library name from libfoo to libgnu.
79203         Now, if you have a configure.ac that says:
79204                 gl_SOURCE_BASE(gl)
79205                 gl_M4_BASE(gl/m4)
79206                 gl_MODULES(error getopt etcetera)
79207                 gl_INIT
79208         you can import all you need by running:
79209                 ../gnulib/gnulib-tool --import
79210
79211         * modules/getopt (Files): Rename getopt.h to getopt_.h.
79212         (Makefile.am): Rewrite, use logic from argz.
79213         (Include): Use <getopt.h> instead of "getopt.h".
79214
79215 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79216
79217         * modules/argp (Files): Add m4/unlocked-io.m4.
79218         (Depends-on): Add extensions.
79219
79220 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79221
79222         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
79223         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
79224         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
79225         Check for program_invocation_name, program_invocation_short_name,
79226         flockfile, funlockfile, features.h, _getopt_long_only_r.
79227
79228 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79229
79230         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
79231         its complicated substitute.
79232         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
79233         and program_invocation_name.
79234         (__argp_basename) [!_LIBC]: Remove; the only use was
79235         replaced by its body.
79236         (__argp_short_program_name): Change condition from
79237         !defined __argp_short_program_name to
79238         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
79239         to match argp-namefrob.h.
79240         (__argp_failure): Don't assume strerror_r returns char *.
79241         * lib/argp-parse.c (N_): Define unconditionally.
79242         (argp_default_options): Fill out initializers with 0 to avoid
79243         gcc warnings.
79244
79245 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79246
79247         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
79248         getopt1.c.
79249
79250 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79251
79252         Merge from coreutils.
79253
79254         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
79255
79256         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
79257         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
79258
79259 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79260
79261         Merge from coreutils.
79262
79263         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
79264         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
79265         for Reliant Unix 5.43.
79266
79267         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
79268         (union fooround): Use uintmax_t, not long int.
79269         The rest is a merge from libc:
79270         [defined _LIBC]: Include <shlib-compat.h>.
79271         (_obstack) [defined _LIBC]: Remove after 2.3.4.
79272
79273         * lib/settime.c (settime): Recode to avoid warning with
79274         Sun Forte C 6U2.
79275
79276         * lib/strverscmp.c: Convert to UTF-8.
79277
79278 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79279
79280         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79281         m4/uintmax_t.m4.
79282
79283 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79284
79285         * modules/xalloc-die: New file.
79286         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
79287
79288         * modules/md5 (Files): Add m4/uint32_t.m4.
79289         * modules/sha1: Renamed from modules/sha.
79290         (Files):
79291         Rename lib/sha.h to lib/sha1.h.
79292         Rename lib/sha.c to lib/sha1.c.
79293         Rename m4/sha.m4 to m4/sha1.m4.
79294         (lib_SOURCES): Likewise.
79295         (configure.ac): Rename gl_SHA to gl_SHA1.
79296         (Include): sha.h -> sha1.h.
79297
79298 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79299
79300         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
79301         * m4/sha1.m4: Renamed from sha.m4.
79302         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
79303
79304 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79305
79306         * lib/obstack.h (obstack_empty_p):
79307         Don't assume that chunk->contents is suitably aligned.
79308         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
79309         Likewise. Problem reported by Benno in
79310         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
79311
79312         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
79313         readable.  This could be improved further but it'd take some work.
79314
79315 2004-08-08  Simon Josefsson  <jas@extundo.com>
79316
79317         * modules/xgethostname (Depends-on): Remove exit and error (not
79318         used).
79319
79320         * modules/getpass-gnu: Add getpass.h.
79321         (Depends-on): Add stdbool.
79322         * modules/getpass: Add getpass.h.
79323
79324 2004-08-08  Simon Josefsson  <jas@extundo.com>
79325
79326         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
79327         Check getpass declaration.
79328
79329 2004-08-08  Simon Josefsson  <jas@extundo.com>
79330
79331         * lib/xgethostname.c: Don't include error.h (not used).
79332
79333         * lib/getpass.h: Add.
79334         * lib/getpass.c: Include getpass.h first.
79335
79336 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
79337
79338         * lib/xalloc-die.c: New file.
79339         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
79340         All uses removed.
79341         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
79342         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
79343         xalloc-die.c.
79344         (_, N_, xalloc_die): Move to xalloc-die.c.
79345         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
79346         so that we needn't mess with xalloc_msg_memory_exhausted.
79347
79348         * lib/sha1.h: Renamed from sha.h.
79349         (SHA1_H): Renamed from _SHA_H.
79350         (sha1_ctx): Renamed from sha_ctx.
79351         (sha1_init_ctx): Renamed from sha_init_ctx.
79352         (sha1_process_block): Renamed from sha_process_block.
79353         (sha1_process_bytes): Renamed from sha_process_bytes.
79354         (sha1_finish_ctx): Renamed from sha_finish_ctx.
79355         (sha1_read_ctx): Renamed from sha_read_ctx.
79356         (sha1_stream): Renamed from sha_stream.
79357         (sha1_buffer): Renamed from sha_buffer.
79358         * lib/sha1.c: Likewise; renamed from sha.c.
79359         Do not include <sys/types.h>.
79360         Include <stddef.h> rather than <stdlib.h>.
79361
79362 2004-08-08  Bruno Haible  <bruno@clisp.org>
79363
79364         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
79365         FILESYSTEM_PREFIX_LEN.
79366         * lib/progreloc.c: Likewise.
79367         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
79368
79369 2004-08-06  Simon Josefsson  <jas@extundo.com>
79370
79371         * modules/progname (Depends-on): Don't depend on stdbool.
79372
79373 2004-08-06  Simon Josefsson  <jas@extundo.com>
79374
79375         * modules/getsubopt: New file.
79376         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79377         getsubopt.
79378
79379 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79380
79381         More merge from coreutils.
79382
79383         * m4/utimens.m4, m4/utimecmp.m4: New files.
79384         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
79385         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
79386         prereq.m4, sha.m4: Import changes from coreutils.
79387
79388 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79389
79390         More merge from coreutils.
79391         * modules/raise, modules/readtokens0, modules/utimens:
79392         * modules/utimecmp, module/xnanosleep: New files.
79393         * modules/strftime: Add lib/strftime.h.
79394         Change include from <time.h> to "strftime.h".
79395         * modules/yesno: Add lib/yesno.h.
79396         * modules/backupfile: Remove lib/addext.c.
79397         * modules/euidaccess: Add stat-macros.h.
79398         * modules/canonicalize, modules/euidaccess,
79399         modules/filemode, modules/lchown, modules/makepath,
79400         modules/rmdir, modules/stat: Likewise.
79401
79402 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79403
79404         Merge from tar.
79405         * lib/argp-help.c (make_hol, hol_append): Don't assume that
79406         SIZE_MAX is a valid preprocessor constant.
79407         (__argp_basename): Change from "#ifndef _LIBC"
79408         to "#ifndef __argp_short_program_name", so that
79409         we don't compile these functions for tar.
79410
79411         More merges from coreutils.
79412         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
79413         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
79414         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
79415         * lib/addext.c: Remove; no longer needed.
79416         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
79417         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
79418         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
79419         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
79420         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
79421         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
79422         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
79423         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
79424         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
79425         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79426         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
79427         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
79428         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
79429         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79430         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79431         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79432         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79433         Import changes from coreutils.
79434
79435 2004-08-05  Simon Josefsson  <jas@extundo.com>
79436
79437         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79438
79439 2004-08-05  Simon Josefsson  <jas@extundo.com>
79440
79441         * m4/getsubopt.m4: New file.
79442
79443 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79444
79445         Merge from coreutils.
79446
79447         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79448         * m4/getcwd-path-max.m4: New files.
79449
79450         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79451         FILESYSTEM_PREFIX_LEN ->
79452         FILE_SYSTEM_PREFIX_LEN.
79453         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79454         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79455         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79456         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79457
79458         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79459         prerequisite modules now handle the DOS stuff.
79460         Don't check for unistd.h.
79461
79462 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79463
79464         Merge from coreutils.
79465
79466         * lib/.gdb-history: Remove; this doesn't belong here.
79467
79468         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79469         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79470         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79471         * lib/getcwd.c: New files.
79472
79473         * lib/dirname.h: Include <stdbool.h>.
79474         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79475         for consistency with POSIX terminology.  All uses changed.
79476         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79477         (strip_trailing_slashes): Use bool for booleans.
79478         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79479
79480         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79481         sometimes returns a positive errno value even when it succeeds.
79482         (print_errno_message) [!LIBC]: Fall back on strerror if
79483         __strerror_r fails.
79484
79485         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79486         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79487         (longest_relative_suffix): New function.
79488         (path_concat): Use it.  Assume first argument is not NULL.
79489         Port to DOS.  Omit redundant separators.
79490         Report an error instead of returning NULL.
79491         Use mempcpy instead of memcpy.
79492         (xpath_concat): Remove: not declared or used.
79493
79494         * lib/same.h: Include <stdbool.h>
79495         (same_name): Return bool, not int.
79496         * lib/same.c (same_name): Likewise.
79497         (errno): Don't declare; we assume C89 or better now.
79498
79499         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79500         if not already defined.
79501
79502         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79503         * lib/dup-safer.c (errno): Likewise.
79504
79505 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79506
79507         Merge from coreutils.
79508         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79509         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79510         * modules/path-concat: Don't depend on strdup.
79511
79512 2004-08-03  Simon Josefsson  <jas@extundo.com>
79513
79514         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79515         * lib/progname.h: Don't include stdbool.h.
79516
79517 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79518
79519         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79520         * MODULES.html.sh (func_all_modules): Remove fatal.
79521
79522 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79523
79524         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79525
79526 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79527
79528         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79529         working.
79530
79531 2004-08-02  Simon Josefsson  <jas@extundo.com>
79532
79533         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79534         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79535         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79536
79537 2004-08-01  Simon Josefsson  <jas@extundo.com>
79538
79539         * lib/xgetdomainname.c: Include stdlib.h, for free().
79540
79541 2004-07-19  Bruno Haible  <bruno@clisp.org>
79542
79543         * MODULES.html.sh (func_all_modules): Add dummy.
79544
79545 2004-07-16  Simon Josefsson  <jas@extundo.com>
79546
79547         * modules/dummy: New file.
79548
79549 2004-07-16  Simon Josefsson  <jas@extundo.com>
79550
79551         * lib/dummy.c: New file.
79552
79553 2004-07-16  Bruno Haible  <bruno@clisp.org>
79554
79555         * lib/backupfile.h: Add extern "C" for C++.
79556         * lib/closeout.h: Likewise.
79557         * lib/copy-file.h: Likewise.
79558         * lib/findprog.h: Likewise.
79559         * lib/full-write.h: Likewise.
79560         * lib/pathname.h: Likewise.
79561         * lib/progname.h: Likewise.
79562         * lib/stpcpy.h: Likewise.
79563         * lib/stpncpy.h: Likewise.
79564         * lib/strcase.h: Likewise.
79565         * lib/strstr.h: Likewise.
79566         * lib/xalloc.h: Likewise.
79567
79568         * lib/mbswidth.h: Add extern "C" for C++.
79569         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79570
79571 2004-07-13  Robert Millan  <robertmh@gnu.org>
79572
79573         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79574
79575 2004-07-09  Simon Josefsson  <jas@extundo.com>
79576
79577         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79578         failed without this.)
79579
79580 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79581
79582         * modules/chown (Files): Add lib/fchown-stub.c, since
79583         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79584
79585 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79586
79587         * lib/fchown-stub.c: New file.
79588
79589 2004-06-24  Jim Meyering  <jim@meyering.net>
79590
79591         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79592
79593 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79594
79595         * modules/argz: Omit "#include".
79596
79597         * MODULES.html.sh (func_all_modules): Add calloc, to match
79598         2004-06-01 addition of calloc module.
79599
79600 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79601
79602         * m4/argz.m4: New file, which is autoupdated from libtool.
79603
79604 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79605
79606         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79607         libtool.
79608
79609 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79610
79611         * config/srclist-update: Don't insist on "USA." before the
79612         close-comment, as libtool omits the period and puts the */ on a
79613         separate line.
79614         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79615         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79616
79617 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79618
79619         * modules/argz: New file.
79620         * MODULES.html.sh (func_all_modules): Add argz.
79621
79622 2004-06-12  Jim Meyering  <jim@meyering.net>
79623         and  Paul Eggert  <eggert@cs.ucla.edu>
79624
79625         * modules/hash (Files): Add lib/xalloc.h.
79626         * modules/pipe (Depends-on): Add wait-process.
79627         * modules/stat (Depends-on): Add xalloc.
79628         * modules/userspec (Files): Add lib/userspec.h.
79629         * modules/xstrto
79630
79631         Upgrade from gettext-0.13.
79632         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79633         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79634         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79635
79636 2004-06-10  Jim Meyering  <jim@meyering.net>
79637
79638         * lib/calloc.c: New file.
79639
79640 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79641
79642         * lib/getdate.y (yylex): Allow space between sign and number.
79643         Problem reported by Dan Jacobson.
79644
79645 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79646
79647         Merge from coreutils CVS.
79648
79649         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79650         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79651         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79652         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79653         xstrtol.m4: Fix copyright date and/or serial number.
79654
79655         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79656         See if we need an fchown replacement.
79657         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79658         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79659         and use the replacement function if we detect either defect.
79660
79661         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79662         gl_UTIMECMP.
79663
79664 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79665         and  Jim Meyering  <jim@meyering.net>
79666
79667         Merge from coreutils CVS.
79668
79669         * lib/stat-macros.h: New file, with contents from file-type.h
79670         and coreutils' system.h.
79671         * lib/file-type.c: Include "stat-macros.h".
79672         * lib/file-type.h (file_type): Move all macro definitions to new file,
79673         stat-macros.h.
79674
79675         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79676         Wrap old code with this conditional.
79677         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79678         function that does not dereference symlinks.
79679         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79680
79681         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79682         dependency problems.
79683         (xreadlink): Accept new arg SIZE, for efficiency.
79684         All decls and uses changed.
79685         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79686
79687         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79688         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79689
79690         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79691         sysexits.h.
79692
79693 2004-06-01  Jim Meyering  <jim@meyering.net>
79694
79695         * m4/calloc.m4: New file.
79696
79697 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79698
79699         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79700         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79701         Also, fix a typo in a diagnostic.
79702
79703 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79704
79705         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79706         or AC_FUNC_REALLOC.
79707
79708 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79709
79710         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79711         macros to be defined.
79712         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79713         the allocator returns NULL because the requested size is zero.
79714
79715 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79716
79717         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79718         var.  Add comment explaining why libc still defines it.  This
79719         merges the following patch from glibc:
79720         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79721
79722 2004-05-20  Andreas Schwab  <schwab@suse.de>
79723
79724         * m4/free.m4: Replace free if it not known to work, not the other
79725         way round.
79726
79727 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79728
79729         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79730         present in glibc since revision 1.1 of this file.
79731         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79732         obstack_alignment_mask, obstack_alloc, obstack_base,
79733         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79734         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79735         obstack_grow0, obstack_init, obstack_int_grow,
79736         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79737         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79738         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79739         nonexistent functions.
79740
79741 2004-05-18  Karl Berry  <karl@gnu.org>
79742
79743         * config/srclist.txt: break link for vasnprintf.c.
79744
79745 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79746
79747         Port obstack to the AS/400, where pointers are 16 bytes wide and
79748         you cannot cast an integer to a valid pointer.  This patch is
79749         currently waiting to be integrated into glibc; see
79750         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79751
79752         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79753         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79754         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79755         (struct obstack): temp member is now a union of a pointer and
79756         an integer, instead of an integer.  All integer uses changed.
79757         This does not affect the physical layout of struct obstack,
79758         except on hosts (like the AS/400) where the size or alignment of
79759         void * is greater than that of ptrdiff_t.
79760         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79761         __STDC__)]: Store temporary in pointer member of union, not
79762         integer member.
79763         * lib/obstack.c: Include <stddef.h>, for offsetof.
79764         (struct fooalign): Remove; it doesn't need a name.
79765         (union fooround): Change double to long double, and add void *.
79766         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79767         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79768         not a macro.  Hence the values are always int; so remove all
79769         casts-to-int in uses.
79770
79771 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79772
79773         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79774         we can get this patch merged into glibc.
79775
79776 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79777             Paul Eggert  <eggert@cs.ucla.edu>
79778
79779         * m4/argp: Depend on alloca.
79780
79781 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79782             Paul Eggert  <eggert@cs.ucla.edu>
79783
79784         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79785         freecoding.
79786
79787 2004-05-17  Bruno Haible  <bruno@clisp.org>
79788
79789         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79790         precision that consists of a '.' followed by an empty digit string.
79791         Patch by Tor Lillqvist <tml@iki.fi>.
79792
79793 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79794
79795         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79796         for backward compatibility with older code.  We need our own
79797         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79798         it under some other name, and our alloca.h will define it.
79799
79800 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79801             Derek Price  <derek@ximbiot.com>
79802
79803         * lib/alloca.c: Include <alloca.h>, to get our interface.
79804         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79805         include <alloca.h> first.  Use C89 prototype for alloca; this
79806         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79807         Use #elif for simplicity, since we can assume C89 now.
79808         Don't try to source the system alloca.h since it will not be found
79809         and to prevent recursively including its replacement.
79810         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79811         * lib/regex.c: Likewise.
79812
79813 2004-05-16  Derek Price  <derek@ximbiot.com>
79814             Paul Eggert  <eggert@cs.ucla.edu>
79815
79816         getline cleanup.  This changes the getndelim2 API: both order of
79817         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79818         no delimiter).
79819
79820         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79821         interface does that.
79822         (getline): Always use getdelim, so that we don't have two
79823         copies of this code.
79824         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79825         if available.
79826         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79827         (GETNDELIM2_MAXIMUM): New macro.
79828         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79829         instead of the old practice of delim2==0.  All callers changed.
79830         Return -1 on overflow, instead of returning junk.
79831         Do not set *linesize unless allocation succeeds.
79832         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79833         that we include sys/types.h.
79834         * lib/getnline.h: Likewise.
79835         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79836         (getndelim2): Reorder arguments.
79837         * lib/getnline.c (getnline, getndelim):
79838         Don't discard the NMAX argument.
79839         (getnline): Invoke getndelim, to avoid code duplication.
79840         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79841         of (size_t) -1 by callers of the getnline family.
79842
79843 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79844
79845         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
79846         Check for gettimeofday.
79847         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
79848         Check for settimeofday, stime.
79849
79850 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79851
79852         * lib/nanosleep.c (suspended): Change its type from int to
79853         sig_atomic_t volatile.
79854         (first_call): Make it private to rpl_nanosleep, and have it
79855         be zero initially as that's a bit faster.
79856         (my_usleep): Round up fractional times instead of truncating them,
79857         as this is the usual meaning for 'sleep'.
79858
79859         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
79860         doesn't work.
79861         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
79862         (ENOSYS): Define if not defined.
79863         (settime): Fall back on stime if it exists and settimeofday fails.
79864         But don't bother with fallbacks if a method fails with errno == EPERM.
79865
79866 2004-05-11  Jim Meyering  <jim@meyering.net>
79867
79868         Prior to this change, the save_cwd caller required read access to the
79869         current directory on most systems (ones with the fchdir function).
79870
79871         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
79872         fails, try write-only, and finally, resort to using xgetcwd.
79873
79874 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79875
79876         * lib/obstack.c, obstack.h: Import changes from libc.
79877
79878 2004-04-28  Bruno Haible  <bruno@clisp.org>
79879
79880         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
79881         also implicitly appends .exe to executables.
79882         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
79883         accepts Windows pathnames.
79884         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79885         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79886         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79887         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79888         Reported by Derek Robert Price <derek@ximbiot.com>.
79889
79890 2004-04-21  Karl Berry  <karl@gnu.org>
79891
79892         * config/srclist.txt (localcharset.c): break sync.
79893
79894 2004-04-20  Paul Eggert  <eggert@twinsun.com>
79895
79896         * m4/host-os.m4: Add a copyright notice.
79897
79898 2004-04-20  Jim Meyering  <jim@meyering.net>
79899
79900         Change UTILS_ to gl_ in AC_DEFINE'd names.
79901         Change utils_- and jm_-prefixed variables, too.
79902         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
79903         UTILS_FUNC_MKDIR_TRAILING_SLASH.
79904         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
79905
79906         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
79907         Don't emit trailing blanks.
79908         Also rename jm_-prefixed variables to have gl_ prefix.
79909
79910         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
79911         Also rename jm_-prefixed variables to have gl_ prefix.
79912
79913         * m4/jm-macros.m4: Reflect the renamings.
79914         * m4/prereq.m4: Likewise.
79915
79916 2004-04-20  Jim Meyering  <jim@meyering.net>
79917
79918         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
79919         memory.
79920
79921 2004-04-20  Jim Meyering  <jim@meyering.net>
79922             Bruno Haible  <bruno@clisp.org>
79923
79924         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
79925         memory when realloc fails.
79926
79927 2004-04-19  Jim Meyering  <jim@meyering.net>
79928
79929         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
79930         now that readutmp.c may call `free (0)'.
79931
79932 2004-04-19  Bruno Haible  <bruno@clisp.org>
79933
79934         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
79935         * m4/inttypes_h.m4: Likewise.
79936         * m4/stdint_h.m4: Likewise.
79937         * m4/intmax_t.m4: Likewise.
79938         * m4/uintmax_t.m4: Likewise.
79939
79940 2004-04-18  Jim Meyering  <jim@meyering.net>
79941
79942         * m4/prereq.m4: Don't forbid jm_ prefix.
79943
79944         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
79945         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
79946         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
79947         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
79948         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
79949         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
79950         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
79951         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
79952         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
79953         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
79954         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
79955         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
79956         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
79957         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
79958         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
79959         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
79960         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
79961         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
79962         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
79963
79964 2004-04-18  Jim Meyering  <jim@meyering.net>
79965
79966         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
79967         failure, don't leak memory and do call END_UTMP_ENT.
79968
79969 2004-04-16  Jim Meyering  <jim@meyering.net>
79970
79971         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
79972         coreutils' stat program.
79973         (gl_PREREQ): Don't require jm_PREREQ_STAT.
79974
79975 2004-04-11  Paul Eggert  <eggert@twinsun.com>
79976
79977         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
79978         C89.
79979         (CHAR_BIT): Remove, since we assume C89.
79980         Include <stdint.h> if available, as per current Autoconf CVS advice.
79981
79982 2004-03-31  Jim Meyering  <jim@meyering.net>
79983
79984         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
79985         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
79986         * m4/xalloc.m4: Likewise.
79987
79988 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79989
79990         Merge from coreutils.
79991
79992         * m4/inttostr.m4: New file.
79993         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
79994         Require AM_STDBOOL_H and gl_TIMESPEC instead.
79995         Require gl_CLOCK_TIME.
79996         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
79997
79998 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79999
80000         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
80001         not bool, to be more consistent with Unix conventions.
80002         Suggested by Bruno Haible.
80003
80004         Merge from coreutils.
80005
80006         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
80007         * lib/umaxtostr.c: New files.
80008
80009         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
80010         the usual <time.h> dance.
80011         (get_date): Change signature to support fractional time stamps.
80012         All callers changed.
80013         * lib/getdate.y: Include "getdate.h" first, as we can now
80014         assume C89 and don't need to worry about 'const'.
80015         Similarly, include "unlocked-io.h" near start, not in middle.
80016         Include <limits.h>.
80017         (textint.value): Use long int rather than int.
80018         (textint.digits): Use size_t rather than int.
80019         (BILLION, LOG10_BILLION): New constants.
80020         (parser_control): New member rel_ns.  Members day_ordinal,
80021         time_zone, month, day, hour, minutes, rel_year, rel_month,
80022         rel_day, rel_hour, rel_minutes, rel_seconds
80023         are now long int, not int.  Member seconds is now struct timespec,
80024         not int.  New member timespec_seen.  Members dates_seen, days_seen,
80025         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
80026         not int.
80027         (%union.intval): Now long int, not int.
80028         New member timespec.
80029         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
80030         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
80031         (spec): Now is a timespec or an item list.
80032         (timespec, items): New nonterminals.
80033         (time, rel, relunit, number, get_date):
80034         Add support for fractional seconds.
80035         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
80036         (gmtime, localtime, mktime): Remove decls; not needed with C89.
80037         (to_hour): First arg is now long int, not int.
80038         (to_year): Returns long int, not int.
80039         Don't treat year -70 like 70.
80040         (tm_diff): Returns long int, not int.
80041         (lookup_word): Use bool instead of int when appropriate.
80042         (yylex): Use size_t for count, not int.
80043         Detect overflow when parsing large integer constants.
80044         Add support for fractions.
80045         (get_date): Make pointers 'const' if possible.
80046         Use more-portable code to detect integer overflow.
80047         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
80048         Don't use ctime; it's not reliable if the year has >4 digits.
80049
80050         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
80051         This is for compatibility with BSD.
80052
80053         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
80054         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
80055         From coreutils' system.h.
80056
80057         * lib/userspec.c: Don't include "posixver.h".
80058         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
80059         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
80060         compatible extension.  Simplify code by removing a boolean int
80061         that was always nonzero if a string was nonnull.
80062
80063 2004-03-30  Jim Meyering  <jim@meyering.net>
80064
80065         Merge from coreutils.
80066
80067         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
80068         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
80069         on some systems one must include <grp.h> before it.
80070         Reported by Christian Krackowizer.
80071
80072 2004-03-30  Jim Meyering  <jim@meyering.net>
80073
80074         Merge from coreutils.
80075
80076         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
80077
80078         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
80079         an empty input stream.
80080
80081         * lib/readtokens.c: Include <stdbool.h>.
80082         (readtoken): Use `size_t' rather than int/long.
80083         All callers adjusted.
80084         Use `bool' rather than `int' where appropriate.
80085         Use memset rather than an explicit loop.
80086         Use x2nrealloc rather than xrealloc.
80087         Allow the use of `\0' as a delimiter.
80088         (readtokens): Likewise.
80089         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
80090
80091 2004-03-30  Jim Meyering  <jim@meyering.net>
80092
80093         * m4/realloc.m4: Remove file, since now it does no more than
80094         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
80095         the `configure.ac' section of module/realloc.
80096         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
80097
80098 2004-03-30  Bruno Haible  <bruno@clisp.org>
80099
80100         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
80101         nonnull.
80102
80103 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80104
80105         Merge changes to getloadavg.c from coreutils and Emacs.
80106
80107         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
80108         Define to an expression, not to the empty string.
80109         Include cloexec.h and xalloc.h.
80110         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
80111         Use set_cloexec_flag rather than rolling our own.
80112         * lib/cloexec.c, lib/cloexec.h: New files.
80113
80114 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80115
80116         * m4/cloexec.m4: New file.
80117
80118 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80119
80120         * lib/getopt.h: Sync with libc CVS.
80121
80122 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80123             Bruno Haible  <bruno@clisp.org>
80124
80125         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
80126         mbswidth.
80127
80128 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80129             Bruno Haible  <bruno@clisp.org>
80130
80131         * lib/mbswidth.h: Include <wchar.h> only if
80132         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
80133         <wchar.h>.
80134         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
80135
80136 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80137
80138         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
80139         Sync with libc CVS.
80140         * lib/getopt_int.h: New file, also synced from libc.
80141
80142 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80143
80144         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
80145         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
80146         Bring back getopt.c, getopt.h, getopt1.c.
80147
80148 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80149
80150         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
80151         All uses changed.  Check for sa_sigaction member; this fixes
80152         a bug first reported by Jason Andrade in
80153         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80154
80155 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80156
80157         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
80158         '#if' expressions.  Unlike the code it replaces, it does not
80159         depend on (defined _SC_PAGESIZE).  However, it does depend on
80160         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
80161         first reported by Jason Andrade in
80162         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80163
80164 2004-02-25  Simon Josefsson  <jas@extundo.com>
80165
80166         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
80167
80168 2004-02-25  Simon Josefsson  <jas@extundo.com>
80169
80170         * lib/strdup.h: New file.
80171         * lib/strdup.c: Include it.
80172         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
80173         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
80174
80175 2004-02-23  Karl Berry  <karl@gnu.org>
80176
80177         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
80178         (from fencepost.gnu.org:/gd/gnuorg).
80179
80180 2004-02-23  Karl Berry  <karl@gnu.org>
80181
80182         * config/srclistvars.sh (GNUORG) [karl]: redefine.
80183         * config/srclist.txt: add maintain/standards documents.
80184
80185 2004-02-18  Bruno Haible  <bruno@clisp.org>
80186
80187         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
80188         Reported by Derek Robert Price <derek@ximbiot.com>.
80189
80190 2004-02-16  Karl Berry  <karl@gnu.org>
80191
80192         * config/mkinstalldirs, install-sh: update from automake.
80193
80194 2004-02-06  Karl Berry  <karl@gnu.org>
80195
80196         * m4/po.m4: update from gettext 0.14.1.
80197
80198 2004-02-06  Karl Berry  <karl@gnu.org>
80199
80200         * lib/config.charset: update from gettext 0.14.1.
80201
80202 2004-02-05  Paul Eggert  <eggert@twinsun.com>
80203
80204         Add comments and code, prompted by suggestions from Bruno Haible
80205         for sh-quote.
80206         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
80207         describing the enum quoting_style values.
80208         * lib/quotearg.c (quotearg_alloc): New function.
80209         (quotearg_buffer_restyled): Treat lone { and } as special.
80210         Treat = as special.  Work around bug with older shells
80211         that "see" a '\' that is really the 2nd byte of a multibyte char.
80212         Quote empty string with shell_quoting_style.
80213
80214 2004-02-03  Bruno Haible  <bruno@clisp.org>
80215
80216         * m4/pipe.m4: New file, from GNU gettext.
80217
80218 2004-02-03  Bruno Haible  <bruno@clisp.org>
80219
80220         * lib/pipe.h: New file, from GNU gettext.
80221         * lib/pipe.c: New file, from GNU gettext.
80222
80223 2004-01-27  Bruno Haible  <bruno@clisp.org>
80224
80225         * m4/execute.m4: New file, from GNU gettext.
80226
80227 2004-01-27  Bruno Haible  <bruno@clisp.org>
80228
80229         * lib/execute.h: New file, from GNU gettext.
80230         * lib/execute.c: New file, from GNU gettext.
80231         * lib/w32spawn.h: New file, from GNU gettext.
80232
80233 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80234
80235         Merge from diffutils.
80236
80237         * lib/file-type.c (file_type): Add typed memory objects.
80238         * lib/file-type.h (S_TYPEISTMO): New macro.
80239
80240         * lib/c-stack.h (c_stack_action): Remove argv argument.
80241         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
80242         (die): Don't calculate message unless segv_action returns.
80243         (get_stack_location, min_address_from_argv, max_address_from_argv,
80244         volatile stack_base, volatile_stack_size): Remove.
80245         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
80246         that every segmentation violation is a stack overflow.  (Ouch!)
80247         See Debian bug 136249 (still outstanding) for more info about why
80248         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
80249
80250 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80251
80252         Exit-status fix from coreutils.
80253
80254         Use exit_failure consistently in place of EXIT_FAILURE,
80255         so that program exit statuses are consistent on failure.
80256
80257         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
80258         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
80259         * lib/argmatch.h: Comment fix to match the above.
80260         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
80261         Now a macro referring to exit_failure, instead of a separate
80262         variable.  Include "exitfail.h" to get it.
80263         * lib/xstrtol.h: Include "exitfail.h".
80264         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
80265
80266         * lib/long-options.c (parse_long_options): Use prototype
80267         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
80268         for clarity.
80269
80270 2004-01-21  Jim Meyering  <jim@meyering.net>
80271
80272         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
80273         so as not to conflict with a different-sized __mktime_internal
80274         function in GNU libc.
80275         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
80276         Problem building statically-linked `ls' reported by Michael Brunnbauer.
80277
80278 2004-01-20  Karl Berry  <karl@gnu.org>
80279
80280         * config/config.guess: update from config.
80281
80282         * config/srclistvars.sh: GNUWWWLICENSES for karl.
80283
80284 2004-01-20  Bruno Haible  <bruno@clisp.org>
80285
80286         Safer stack allocation.
80287         * lib/setenv.c: Include allocsa.h.
80288         (alloca): Remove fallback definition.
80289         (freea): Remove macro.
80290         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
80291         instead of freea.
80292
80293 2004-01-20  Bruno Haible  <bruno@clisp.org>
80294
80295         * m4/eealloc.m4: New file, from GNU gettext.
80296
80297 2004-01-20  Bruno Haible  <bruno@clisp.org>
80298
80299         * m4/allocsa.m4: New file, from GNU gettext.
80300
80301 2004-01-20  Bruno Haible  <bruno@clisp.org>
80302
80303         * lib/xallocsa.h: New file, from GNU gettext.
80304         * lib/xallocsa.c: New file, from GNU gettext.
80305
80306 2004-01-20  Bruno Haible  <bruno@clisp.org>
80307
80308         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
80309
80310 2004-01-20  Bruno Haible  <bruno@clisp.org>
80311
80312         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
80313         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
80314         specially.
80315
80316 2004-01-20  Bruno Haible  <bruno@clisp.org>
80317
80318         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
80319         patch.
80320
80321 2004-01-20  Bruno Haible  <bruno@clisp.org>
80322
80323         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
80324
80325 2004-01-20  Bruno Haible  <bruno@clisp.org>
80326
80327         * lib/eealloc.h: New file.
80328
80329 2004-01-20  Bruno Haible  <bruno@clisp.org>
80330
80331         * lib/binary-io.h: Avoid warnings on Cygwin.
80332
80333 2004-01-20  Bruno Haible  <bruno@clisp.org>
80334
80335         * lib/allocsa.h: New file, from GNU gettext.
80336         * lib/allocsa.c: New file, from GNU gettext.
80337
80338 2004-01-18  Karl Berry  <karl@gnu.org>
80339
80340         * doc/gpl.texi, doc/lgpl.texi: new files.
80341
80342 2004-01-18  Karl Berry  <karl@gnu.org>
80343
80344         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
80345         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
80346
80347 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80348
80349         Merge from coreutils.
80350
80351         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
80352         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
80353         (gl_DEFAULT_POSIX2_VERSION): Move
80354         the documentation from 'configure' into 'config.hin',
80355         so that 'configure --help' isn't burdened by it and
80356         we don't have to worry about its formatting there.
80357         Reword the documentation so that it's more succinct
80358         and can be run together into a single paragraph.
80359         * m4/same.m4 (gl_SAME): Check for pathconf.
80360
80361 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80362
80363         Merge from coreutils.
80364
80365         * lib/posixver.c: Include posixver.h.
80366
80367         * lib/same.c: Include <stdbool.h>, <limits.h>.
80368         (_POSIX_NAME_MAX): Define if not defined.
80369         (MIN): New macro.
80370         (same_name): If file names are silently truncated, report
80371         that the file names are the same if they are the same after
80372         the silent truncation.
80373
80374         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
80375         conversion function.
80376         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
80377         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
80378         longer needed.
80379
80380 2004-01-15  Jim Meyering  <jim@meyering.net>
80381
80382         Merge from coreutils.
80383
80384         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
80385         if no library is required.
80386         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
80387         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
80388         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
80389         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
80390         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
80391         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
80392         value, $ac_cv_search_crypt, if it's "none required".
80393         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
80394         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
80395         not gl_FUNC_GETLOADAVG.
80396         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
80397         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
80398
80399 2004-01-15  Jim Meyering  <jim@meyering.net>
80400
80401         Merge from coreutils.
80402
80403         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
80404         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
80405         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
80406
80407         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
80408         optional configure-time default.
80409
80410         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80411
80412         * lib/xreadlink.c (xreadlink): Correct outdated comment.
80413
80414 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
80415
80416         Merge from coreutils.
80417
80418         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
80419         value, $ac_cv_search_nanosleep, if it's "none required".
80420
80421 2004-01-14  Paul Eggert  <eggert@twinsun.com>
80422
80423         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
80424         with like-named macro in fnmatch.c.
80425         (EXT): Use an internal constant instead.
80426
80427         Merge fnmatch patches from glibc.
80428         * lib/fnmatch.c (mbsinit): Remove define.
80429         Add libc_hidden_ver (__fnmatch, fnmatch).
80430         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80431         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80432
80433 2004-01-14  Karl Berry  <karl@gnu.org>
80434
80435         * config/install-sh: update from automake.
80436
80437 2004-01-13  Karl Berry  <karl@gnu.org>
80438
80439         * config/install-sh: update from automake.
80440
80441 2004-01-09  Karl Berry  <karl@gnu.org>
80442
80443         * config/install-sh: update from automake.
80444
80445 2004-01-05  Karl Berry  <karl@gnu.org>
80446
80447         * config/config.{sub,guess}: update from config.
80448
80449 2003-12-31  Karl Berry  <karl@gnu.org>
80450
80451         * config/depcomp: update from automake.
80452
80453 2003-12-14  Karl Berry  <karl@gnu.org>
80454
80455         * lib/config.charset: update from gettext-runtime.
80456
80457 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80458
80459         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80460         Bug reported by Alfred M. Szmidt.
80461
80462 2003-12-03  Bruno Haible  <bruno@clisp.org>
80463
80464         * m4/gettext.m4: Upgrade from gettext-0.13.
80465         * m4/po.m4: Upgrade from gettext-0.13.
80466         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80467         * m4/intmax.m4: New file, from gettext-0.13.
80468         * m4/printf-posix.m4: New file, from gettext-0.13.
80469
80470 2003-11-29  Karl Berry  <karl@gnu.org>
80471
80472         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80473
80474 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80475             Bruno Haible  <bruno@clisp.org>
80476
80477         * lib/printf-parse.h: Don't include sys/types.h.
80478         (ARG_NONE): New macro.
80479         (char_directive): Change type of *arg_index fields to size_t.
80480         * lib/printf-parse.c: Don't include sys/types.h.
80481         (SSIZE_MAX): Remove macro.
80482         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80483         Remove unnecessary overflow check.
80484         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80485         fields.
80486
80487 2003-11-25  Bruno Haible  <bruno@clisp.org>
80488
80489         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80490
80491 2003-11-25  Bruno Haible  <bruno@clisp.org>
80492
80493         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80494         gt_TYPE_SSIZE_T.
80495
80496 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80497
80498         * modules/alloca: Remove dependency on xalloc.
80499
80500 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80501
80502         * lib/alloca.c: Remove dependency on xalloc module.
80503         (xalloc_die): Remove.
80504         (memory_full) [!defined emacs]: New macro.
80505         [!defined emacs]: Don't include xalloc.h.
80506         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80507         address arithmetic overflows.  Change datatypes a bit to avoid
80508         unnecessary casts.
80509
80510 2003-11-22  Jim Meyering  <jim@meyering.net>
80511
80512         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80513         s/size/size_t/.
80514
80515 2003-11-21  Karl Berry  <karl@gnu.org>
80516
80517         * config/config.{sub,guess}: update from config.
80518
80519 2003-11-18  Karl Berry  <karl@gnu.org>
80520
80521         * config/config.{sub,guess}: update from config.
80522
80523         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80524
80525 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80526
80527         * README: Mention that S+T cannot overflow if S is the size of
80528         an existing object and T is sufficiently small.
80529
80530 2003-11-17  Jim Meyering  <jim@meyering.net>
80531
80532         On systems without utime and without a utimes function capable of
80533         dealing with a NULL struct utimbuf* argument, this utime replacement
80534         could -- in unusual circumstances -- leak a file descriptor.
80535         * lib/utime.c: Include <unistd.h> and <errno.h>.
80536         (utime_null): Be sure to close `fd' and to preserve errno.
80537         Reported by Geoff Collyer via Arnold Robbins.
80538
80539 2003-11-17  Bruno Haible  <bruno@clisp.org>
80540
80541         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80542         (Depends-on): Add xsize.
80543
80544 2003-11-17  Bruno Haible  <bruno@clisp.org>
80545
80546         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80547
80548 2003-11-17  Bruno Haible  <bruno@clisp.org>
80549
80550         * lib/vasnprintf.c (alloca): Remove fallback definition.
80551         (freea): Remove definition.
80552         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80553         Reported by Paul Eggert.
80554
80555 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80556             Bruno Haible  <bruno@clisp.org>
80557
80558         Protect against address arithmetic overflow.
80559         * lib/printf-args.h: Include stddef.h.
80560         (arguments): Change type of field 'count' to size_t.
80561         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80562         'unsigned int' where appropriate.
80563         * lib/printf-parse.h: Include sys/types.h.
80564         (char_directive): Change type of *arg_index fields to ssize_t.
80565         (char_directives): Change type of fields 'count', max_*_length to
80566         size_t.
80567         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80568         (SSIZE_MAX): Define fallback value.
80569         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80570         instead of 'int' where appropriate. Check a_allocated, d_allocated
80571         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80572         * lib/vasnprintf.c: Include xsize.h.
80573         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80574         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80575         overflow. Avoid wraparound when converting a width or precision from
80576         decimal to binary.
80577
80578 2003-11-16  Bruno Haible  <bruno@clisp.org>
80579
80580         Update from GNU gettext.
80581         * lib/printf-parse.c: Generalize to it can be compiled for wide
80582         strings.
80583         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80584         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80585         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80586         SNPRINTF): New macros.
80587         Don't include <alloca.h> if the file is used inside libintl.
80588         (local_wcslen): New function, for Solaris 2.5.1.
80589         (VASNPRINTF): Use it instead of wcslen.
80590
80591 2003-11-16  Bruno Haible  <bruno@clisp.org>
80592
80593         * lib/xsize.h (xmax): New function.
80594         (xsum, xsum3, xsum4): Declare as "pure" functions.
80595
80596 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80597
80598         * modules/xalloc (Files): Undo latest change, since xalloc.h
80599         no longer needs SIZE_MAX or PTRDIFF_MAX.
80600
80601 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80602
80603         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80604         gl_PTRDIFF_MAX.
80605
80606 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80607
80608         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80609         "return", to pacify some unknown compiler.  Problem reported
80610         by Joerg Schilling.
80611
80612 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80613
80614         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80615         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80616         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80617         heuristic is just as accurate as far as we know, and it removes a
80618         dependency on size_max.m4 and ptrdiff_max.m4.
80619
80620 2003-11-11  Bruno Haible  <bruno@clisp.org>
80621
80622         * modules/xsize (Files): Add m4/size_max.m4.
80623         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80624
80625 2003-11-11  Bruno Haible  <bruno@clisp.org>
80626
80627         * m4/size_max.m4: New file.
80628         * m4/ptrdiff_max.m4: New file.
80629         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80630         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80631         (gl_XALLOC): Invoke it.
80632
80633 2003-11-11  Bruno Haible  <bruno@clisp.org>
80634
80635         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80636         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80637         defined.
80638
80639 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80640
80641         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80642         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80643         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80644         From Bruno Haible.
80645         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80646         not (size_t) -1, since it's defined here.
80647
80648 2003-11-09  Karl Berry  <karl@gnu.org>
80649
80650         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80651
80652 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80653
80654         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80655         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80656         Reject sizes of exactly SIZE_MAX bytes.
80657         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80658         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80659
80660 2003-11-05  Bruno Haible  <bruno@clisp.org>
80661
80662         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80663         SIZE_MAX defined in <limits.h> on Solaris.
80664
80665 2003-11-04  Jim Meyering  <jim@meyering.net>
80666
80667         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80668         variable names, rather than @VAR@.
80669         * modules/poll: Likewise.
80670
80671 2003-11-04  Bruno Haible  <bruno@clisp.org>
80672
80673         * modules/xsize: New file.
80674         * modules/linebreak: Depend on xsize.
80675         * MODULES.html.sh (func_all_modules): Add xsize.
80676
80677 2003-11-04  Bruno Haible  <bruno@clisp.org>
80678
80679         * m4/xsize.m4: New file.
80680
80681 2003-11-04  Bruno Haible  <bruno@clisp.org>
80682
80683         * lib/xsize.h: New file.
80684         * lib/linebreak.c: Include xsize.h.
80685         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80686         argument for overflow.
80687         Suggested by Paul Eggert.
80688
80689 2003-11-03  Karl Berry  <karl@gnu.org>
80690
80691         * config/config.{guess,sub}: update from config.
80692
80693 2003-11-03  Jim Meyering  <jim@meyering.net>
80694
80695         * modules/userspec (lib_SOURCES): Add userspec.h.
80696         (Include): Add "userspec.h".
80697         Improve description.
80698
80699 2003-11-03  Jim Meyering  <jim@meyering.net>
80700
80701         * lib/userspec.c: Include "userspec.h".
80702         * lib/userspec.h: New file.
80703
80704 2003-11-03  Bruno Haible  <bruno@clisp.org>
80705
80706         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80707
80708 2003-11-03  Bruno Haible  <bruno@clisp.org>
80709
80710         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80711         available, to avoid (extremely rare) race condition.
80712         Suggested by Paul Eggert.
80713
80714 2003-11-02  Karl Berry  <karl@gnu.org>
80715
80716         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80717
80718 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80719
80720         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80721         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80722         (read_filesystem_list): Set and use me_type_malloced.
80723         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80724         whatever the type happens to be), for brevity and consistency.
80725         Check for size calculation overflow on Alphas running OSF/1.
80726
80727 2003-10-31  Jim Meyering  <jim@meyering.net>
80728
80729         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80730
80731         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80732
80733 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80734             Bruno Haible  <bruno@clisp.org>
80735
80736         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80737         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80738
80739 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80740
80741         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80742         netbsd*-gnu*.  Suggested by Robert Millan.
80743
80744 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80745
80746         * modules/group-member: Depend on stdbool.
80747
80748 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80749
80750         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80751
80752 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80753
80754         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80755         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80756         after the 'gnu' in these cases.  This fixes some bugs in the
80757         previous change, and is based on suggestions by Robert Millan.
80758
80759 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80760
80761         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80762         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80763         no longer needed.
80764         * lib/quotearg.c (quotearg_n_options): Use it.
80765         * lib/group-member.c: Include <stdbool.h>.
80766         (free_group_info): Arg is now const *; don't free arg.
80767         (get_group_info): Now returns bool and accepts struct group_info *,
80768         rather than returning a malloc'ed struct group_info *.
80769         All uses changed.  Check for overflow in internal size calculation.
80770
80771         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80772         rather than xmalloc/xrealloc.
80773         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80774         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80775         conformance bug: the old code used a pointer after freeing the
80776         storage that it addressed.
80777         * lib/hash.c (hash_initialize): Simplify the code by using
80778         xalloc_oversized rather than doing it by hand.
80779         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80780         the buffer preserved.  Use free and xmalloc instead.
80781         * lib/quotearg.c (quotearg_n_options): Likewise.
80782         Use a simpler test for size overflow.  Don't use xalloc_oversized
80783         because unsigned int might be wider than size_t (!); this suggests
80784         that we should switch from unsigned int to size_t for slot numbers.
80785
80786 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80787
80788         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80789         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80790         NetBSD kernels.  Requested by Richard Stallman.
80791
80792 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80793
80794         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80795         to allocate the returned structure.  Do not allocate a subarray,
80796         as x2nrealloc will do that.
80797         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80798         instead of xnrealloc.
80799         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80800
80801 2003-10-27  Bruno Haible  <bruno@clisp.org>
80802
80803         * lib/stdbool_.h: Better support for BeOS.
80804
80805 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80806
80807         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80808         now uses inline.
80809
80810 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80811
80812         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80813         callers that want to do their own size-overflow checking.  Include
80814         <stdbool.h>, since xalloc_oversized returns bool.
80815         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80816         to use xalloc_oversized.
80817
80818         Add two functions x2realloc, x2nrealloc, for programs that grow
80819         arrays dynamically by doubling their sizes.
80820         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80821         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80822         New functions.
80823
80824         Port to C99 semantics for 'inline' of external functions.
80825         Bug reported by Bruno Haible.
80826         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80827         with the old contents of xnmalloc.
80828         (xnmalloc, xmalloc): Use it.
80829         (xnrealloc_inline): New static inline function,
80830         with the old contents of xnrealloc.
80831         (xnrealloc, xrealloc): Use it.
80832
80833         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80834         that.
80835
80836 2003-10-26  Karl Berry  <karl@gnu.org>
80837
80838         * config/srclist.txt (COPYING.DOC): no longer available from
80839         /gd/gnuorg; don't know where the ultimate source is.
80840
80841 2003-10-25  Paul Eggert  <eggert@twinsun.com>
80842
80843         Fix several address-calculation bugs in the hash modules,
80844         plus some minor code cleanup.
80845
80846         * lib/hash.h: Include <stdbool.h>, for bool.
80847         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
80848         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
80849         hash_get_n_entries, hash_get_max_bucket_length,
80850         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
80851         hash_rehash): Use size_t rather than unsigned.
80852         * lib/hash.c (struct hash_table, hash_get_n_buckets,
80853         hash_get_n_buckets_used, hash_get_n_entries,
80854         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
80855         hash_get_entries, hash_do_for_each, hash_string, is_prime,
80856         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
80857         Likewise.
80858         (SIZE_MAX): Define if not defined.
80859         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
80860         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
80861         hash_print):
80862         Use const * when possible.
80863         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
80864         (check_tuning): Fix bug: if tuning parameters were very close to
80865         0 or 1, rounding errors could have caused subscript violations.
80866         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
80867         (hash_initialize): Add 'fail:' label
80868         to free table and return NULL, and use it to simplify code.
80869         Use calloc rather than clearing the storage ourself.
80870         (hash_initialize, hash_rehash): Check for arithmetic overflow in
80871         buffer size calculations.
80872         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
80873         Include <stddef.h>, for size_t.
80874         * lib/hash-pjw.c (hash_pjw): Likewise.
80875         Switch to method described by Bruno Haible.
80876         Include <limits.h>, for CHAR_BIT.
80877         (SIZE_BITS): New macro.
80878
80879 2003-10-23  Paul Eggert  <eggert@twinsun.com>
80880
80881         * m4/getline.m4 (AM_FUNC_GETLINE):
80882         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
80883         hosts.  Problem reported by Derek Robert Price in
80884         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
80885         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
80886         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
80887
80888 2003-10-21  Paul Eggert  <eggert@twinsun.com>
80889
80890         * lib/getndelim2.c (getndelim2): When size calculation overflows,
80891         ceiling the allocation at NMAX bytes rather than silently
80892         discarding input bytes before NMAX is reached.  This makes
80893         a difference only if NMAX exceeds SIZE_MAX / 2.
80894
80895         * lib/obstack.c: Merge from glibc.
80896         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
80897         Add libc_hidden_def (_obstack_newchunk).
80898         (_obstack_free) [! defined _LIBC]: Remove.
80899         [defined _LIBC]: Make a strong alias from obstack_free, rather than
80900         a clone of the function body.
80901         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
80902         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
80903
80904         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
80905         glibc.
80906         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
80907         arg to memcpy.
80908
80909         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
80910         (obstack_ptr_grow_fast, obstack_int_grow_fast):
80911         Don't use lvalue casts, as GCC plans to remove support for them
80912         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
80913         was also present in the non-GCC version, indicating that this
80914         code had always been buggy and had never been widely used.
80915         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
80916         Use the fast variant of each macro, rather than copying the
80917         definiens of the fast variant; that way, we'll be more likely to
80918         catch future bugs in the fast variants.
80919
80920 2003-10-20  Bruno Haible  <bruno@clisp.org>
80921
80922         * modules/wait-process: New file.
80923         * MODULES.html.sh (func_all_modules): Add wait-process.
80924
80925 2003-10-20  Bruno Haible  <bruno@clisp.org>
80926
80927         * m4/wait-process.m4: New file.
80928
80929 2003-10-20  Bruno Haible  <bruno@clisp.org>
80930
80931         * lib/wait-process.h: New file, from GNU gettext.
80932         * lib/wait-process.c: New file, from GNU gettext.
80933
80934 2003-10-19  Jim Meyering  <jim@meyering.net>
80935
80936         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
80937         HPUX 10.20.
80938
80939 2003-10-18  Karl Berry  <karl@gnu.org>
80940
80941         * config/config.guess: update from config.
80942
80943 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80944
80945         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
80946         (getgroups): First arg is int, not size_t.
80947         Don't let 'free' mangle errno.
80948
80949 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80950
80951         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
80952
80953 2003-10-16  Karl Berry  <karl@gnu.org>
80954
80955         * config/config.{guess,sub}: update from config.
80956
80957 2003-10-16  Jim Meyering  <jim@meyering.net>
80958
80959         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
80960         memcpy.
80961
80962 2003-10-15  Paul Eggert  <eggert@twinsun.com>
80963
80964         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
80965         (SIZE_MAX): Remove.
80966         (new_exclude, add_exclude_file): Initial size no longer needs to
80967         be a power of 2.
80968         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
80969         our own address arithmetic overflow checking.
80970
80971         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
80972         (fnmatch): Do not alloca more than 2000 wide characters;
80973         instead, use malloc for large buffers.
80974         Check for address arithmetic overflow, and return -1
80975         with errno set to ENOMEM in that case.
80976         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
80977         (NEW_PATTERN): Do not alloca more than 8000 bytes;
80978         instead, return -1.  Check for address arithmetic overflow.
80979
80980 2003-10-14  Paul Eggert  <eggert@twinsun.com>
80981
80982         Handle invalid suffixes and overflow independently, so that
80983         callers can treat them independently as needed.  Fix some bugs in
80984         suffix handling, e.g., "100k@" was not diagnosed as an invalid
80985         suffix for a human-readable blocksize.  The major caller-visible
80986         change is the addition of a new
80987         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
80988         that both overflow and suffix chars were found.
80989
80990         * lib/human.c (humblock): Don't check separately for invalid suffix
80991         char; that is xstrtoumax's job (now that its bug is fixed).
80992         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
80993         INTMAX_MAX]: New macros.
80994         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
80995         TYPE_MAXIMUM): New macros.
80996         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
80997         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
80998         if overflow occurs, as it's what __strtol does and it's more useful
80999         in practice.
81000         (__xstrtol): If __strtol reports some error other than ERANGE,
81001         reflect it to the caller as LONGINT_INVALID.  If it reports
81002         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
81003         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
81004         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
81005         value.
81006         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
81007         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
81008         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
81009         [defined UINTMAX_MAX]: New macros.
81010
81011 2003-10-14  Bruno Haible  <bruno@clisp.org>
81012
81013         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
81014
81015 2003-10-14  Bruno Haible  <bruno@clisp.org>
81016
81017         * m4/sig_atomic_t: New file, from GNU gettext.
81018         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
81019
81020 2003-10-14  Bruno Haible  <bruno@clisp.org>
81021
81022         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
81023         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
81024         Also use volatile where needed.
81025
81026 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81027
81028         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
81029         Change maintainer from Bruno Haible to 'all'.
81030
81031 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81032
81033         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
81034
81035 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81036
81037         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
81038         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
81039         and define in terms of the other primitives.
81040         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
81041         (SIZE_MAX): Define if not already defined.
81042         (array_size_overflow): New function.
81043         (xalloc_die): Abort instead of exiting if 'error' returns.
81044         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
81045         (xmalloc, xrealloc): Use them.
81046         (xcalloc): Check for address arithmetic overflow.
81047         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
81048         a bit faster than strcpy.
81049
81050 2003-10-10  Simon Josefsson  <jas@extundo.com>
81051
81052         * modules/argp (Depends-on): Add restrict and strcase.
81053
81054 2003-10-10  Simon Josefsson  <jas@extundo.com>
81055
81056         * m4/argp.m4: Add AC_C_INLINE.
81057
81058 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81059
81060         Merge getpass from libc, plus a few fixes.
81061
81062         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
81063         Include <stdbool.h>.
81064         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
81065         __fsetlocking to empty.
81066         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
81067         do include <bits/libc-lock.h>.
81068         Do not include <fcntl.h>; not needed.
81069         [_LIBC]: Include <wchar.h>.
81070         (NOTCANCEL_MODE): New macro.
81071         (flockfile, funlockfile) [_LIBC]: New macros.
81072         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
81073         [!_LIBC]: New macros.
81074         (call_fclose): New function.
81075         (getpass): Use it.  Save tty stream separately; this simplifies the
81076         code and makes it more reliable if stdin happens to equal stdout.
81077         Invoke __fsetlocking on tty.
81078         Handle thread cancellation if needed.
81079         Namespace cleanup (use __tcgetattr, __getline).
81080         Use bool for Booleans.
81081         [USE_IN_LIBIO]: Handle wide streams.
81082         [!_LIBC]: Unconditionally do the fseek, since we don't know what
81083         stream might go where.
81084
81085         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
81086         doesn't have to include <stdio.h> before us.
81087         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
81088         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
81089         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
81090         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
81091         if not declared, so that we can use getpass.c code from libc without
81092         rewriting it.
81093         (flockfile, ftrylockfile, funlockfile): New macros.
81094
81095 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81096
81097         * modules/getpass: Depend on stdbool.
81098
81099 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81100
81101         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
81102
81103 2003-10-07  Karl Berry  <karl@gnu.org>
81104
81105         * config/config.{guess,sub}: update from config.
81106
81107 2003-10-06  Jim Meyering  <jim@meyering.net>
81108             Bruno Haible  <bruno@clisp.org>
81109
81110         This lets translators provide better translations for the
81111         "Written by ..." part of --version output.
81112         * lib/version-etc.h: Include stdarg.h.
81113         (version_etc_copyright): Declare as readonly.
81114         (version_etc): Make this function variadic with a NULL-terminated list
81115         of author name strings.
81116         (version_etc_va): New declaration.
81117         * lib/version-etc.c: Include stdarg.h, stdlib.h.
81118         (version_etc_copyright): Declare as readonly.
81119         (version_etc_va): New function. Provide a different translatable string
81120         for each possible number of authors < 10. Abbreviate when there are 10
81121         authors or more.
81122         (version_etc): Make this function variadic. Call version_etc_va.
81123         Suggestion from Gary V. Vaughan.
81124
81125         * lib/long-options.h (parse_long_options): Change prototype: the
81126         authors string is moved to the end and becomes variadic.
81127         * lib/long-options.c: Include stdarg.h.
81128         (parse_long_options): Make this function variadic, too.
81129         Call version_etc_va, not version_etc.
81130
81131 2003-10-06  Bruno Haible  <bruno@clisp.org>
81132
81133         * modules/version-etc-2: Remove file.
81134         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
81135
81136 2003-10-06  Bruno Haible  <bruno@clisp.org>
81137
81138         * modules/fatal-signal: New file.
81139         * MODULES.html.sh (func_all_modules): Add fatal-signal.
81140
81141 2003-10-06  Bruno Haible  <bruno@clisp.org>
81142
81143         * m4/fatal-signal.m4: New file.
81144         * m4/signalblocking.m4: New file, from GNU gettext.
81145
81146 2003-10-06  Bruno Haible  <bruno@clisp.org>
81147
81148         * lib/version-etc-2.h: Remove file.
81149         * lib/version-etc-2.c: Remove file.
81150
81151 2003-10-06  Bruno Haible  <bruno@clisp.org>
81152
81153         * lib/fatal-signal.h: New file, from GNU gettext.
81154         * lib/fatal-signal.c: New file, from GNU gettext.
81155
81156 2003-10-05  Paul Eggert  <eggert@twinsun.com>
81157
81158         * README: Rework advice for preventing empty .o files.
81159         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
81160         not <sys/types.h>.
81161
81162 2003-10-04  Karl Berry  <karl@gnu.org>
81163
81164         * lib/argp*: update from libc.
81165
81166 2003-10-04  Karl Berry  <karl@gnu.org>
81167
81168         * config/config.{guess,sub}: update from config.
81169
81170 2003-10-02  Bruno Haible  <bruno@clisp.org>
81171
81172         * modules/lchown (Include): Add lchown.h.
81173         * modules/time_r (Include): Use "..." syntax.
81174         * modules/xgetdomainname (Include): Add xgetdomainname.h.
81175
81176 2003-10-01  Simon Josefsson  <jas@extundo.com>
81177
81178         * MODULES.html.sh (func_all_modules): Move gethostname from section
81179         'based on' to section 'lacking' POSIX:2001.
81180
81181 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
81182
81183         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
81184         to output mode on the same stream.
81185
81186 2003-09-29  Paul Eggert  <eggert@twinsun.com>
81187
81188         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
81189         Fix arg typo in previous patch.
81190
81191 2003-09-28  Jim Meyering  <jim@meyering.net>
81192
81193         * lib/error.c: Correct cpp indentation.
81194
81195 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81196
81197         * modules/free: New file.
81198
81199 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81200
81201         * m4/free.m4: New file.
81202
81203 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81204
81205         * lib/minmax.h (MIN, MAX)
81206         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
81207         Omit the special code that used __typeof__, since we worry that
81208         it could be more trouble than it's worth.  See:
81209         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
81210         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
81211
81212         * lib/free.c: New file.
81213
81214 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
81215
81216         Trivial fixes to Makefile.am parts of module listings.
81217         * modules/strstr: Append strstr.h to lib_SOURCES.
81218         * modules/strcase: Likewise, for strcase.h.
81219
81220 2003-09-27  Karl Berry  <karl@gnu.org>
81221
81222         * config/mkinstalldirs: update from automake.
81223
81224 2003-09-26  Paul Eggert  <eggert@twinsun.com>
81225
81226         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
81227         (error_tail): Do not loop, reallocating temporary buffer, since
81228         the output cannot contain more wide characters than the input
81229         contains bytes, the size must be big enough already.  This avoids
81230         one potential size overflow calculation.  Check for size overflow
81231         when calculating temporary buffer size.  Free temporary buffer
81232         when done, if it was allocated with malloc; this plugs a memory
81233         leak.  Remove casts from void * to pointers, that are no longer
81234         needed now that we're assuming C89 or better.
81235
81236         Merge error changes from glibc.
81237
81238         * lib/error.c, error.h: Update copyright notice header to match glibc.
81239         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
81240         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
81241         Disable cancellation while printing error.
81242         * lib/error.h: Prepend __ to parameter names.
81243
81244 2003-09-26  Jim Meyering  <jim@meyering.net>
81245
81246         * lib/error.c (error_tail): Move some declarations
81247         into inner scope where the local variables are used.
81248
81249 2003-09-26  Bruno Haible  <bruno@clisp.org>
81250
81251         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
81252         stpncpy().
81253         Don't define stpncpy through config.h; it's now done through stpncpy.h.
81254
81255 2003-09-26  Bruno Haible  <bruno@clisp.org>
81256
81257         * lib/stpncpy.h (gnu_stpncpy): New declaration.
81258         (stpncpy): Define as alias for gnu_stpncpy.
81259         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
81260
81261 2003-09-25  Simon Josefsson  <jas@extundo.com>
81262
81263         * lib/xgetdomainname.h: New file.
81264         * lib/xgetdomainname.c: New file.
81265
81266 2003-09-25  Simon Josefsson  <jas@extundo.com>
81267             Bruno Haible  <bruno@clisp.org>
81268
81269         * modules/getdomainname: New file.
81270         * modules/xgetdomainname: New file.
81271         * MODULES.html.sh (func_all_modules): Add getdomainname,
81272         xgetdomainname.
81273
81274 2003-09-25  Simon Josefsson  <jas@extundo.com>
81275             Bruno Haible  <bruno@clisp.org>
81276
81277         * m4/getdomainname.m4: New file.
81278
81279 2003-09-25  Simon Josefsson  <jas@extundo.com>
81280             Bruno Haible  <bruno@clisp.org>
81281
81282         * lib/getdomainname.h: New file.
81283         * lib/getdomainname.c: New file.
81284
81285 2003-09-25  Karl Berry  <karl@gnu.org>
81286
81287         * lib/argp-fmtstream.c, argp-help.c: update from libc.
81288
81289 2003-09-25  Karl Berry  <karl@gnu.org>
81290
81291         * config/install-sh: update from automake.
81292
81293 2003-09-25  Bruno Haible  <bruno@clisp.org>
81294
81295         * modules/version-etc-2: New file, from modules/version-etc with
81296         modifications.
81297         * MODULES.html.sh (func_all_modules): Add version-etc-2.
81298
81299 2003-09-25  Bruno Haible  <bruno@clisp.org>
81300
81301         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
81302         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
81303
81304 2003-09-24  Simon Josefsson  <jas@extundo.com>
81305
81306         * modules/xgethostname: Add xgethostname.h.
81307
81308 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81309
81310         * lib/linebuffer.c (freebuffer): Don't free the argument, just
81311         the buffer associated with the argument.  Bug reported by
81312         Simon Josefsson.
81313
81314 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81315
81316         * README: Document assumptions that 'int' is at least 32 bits
81317         wide, that integer arithmetic is 2's complement without overflow,
81318         that there are no holes in integer values, that adding sizes of
81319         two nonoverlapping objects can't overflow, and that all-bits-zero
81320         yields scalar zero.  Fix spelling and capitalization typos.
81321
81322 2003-09-19  Karl Berry  <karl@gnu.org>
81323
81324         * lib/argp.h: update from libc.
81325
81326 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81327
81328         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
81329         to avoid spurious warnings like "AC_RUN_IFELSE was called before
81330         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
81331
81332 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81333
81334         * gnulib-tool: Use "test -h", not "test -L", for portability
81335         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
81336         (tags_regexp): Remove, since \| doesn't conform to POSIX.
81337         (sed_extract_prog): Issue s commands one-by-one, rather than
81338         using \| in one s command.
81339
81340 2003-09-16  Paul Eggert  <eggert@twinsun.com>
81341
81342         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
81343         input error, instead of returning NULL the next time we are called
81344         (and therefore losing track of errno).
81345
81346 2003-09-16  Bruno Haible  <bruno@clisp.org>
81347
81348         * gnulib-tool (func_create_testdir): Warn about duplicated
81349         dependencies.
81350
81351 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81352
81353         * modules/argmatch, modules/fatal, modules/obstack,
81354         modules/xalloc, modules/xgethostname: Sort dependencies by
81355         importance, not alphabetically.
81356
81357 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81358
81359         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
81360         fails, so that the caller gets the proper errno.
81361
81362         * lib/readutmp.c (read_utmp): Likewise.
81363         Check for fstat error.  Close stream and free storage
81364         when failing.
81365
81366 2003-09-14  Karl Berry  <karl@gnu.org>
81367
81368         * config/srclist.txt (strdup.c): disable for c89 changes.
81369
81370 2003-09-14  Jim Meyering  <jim@meyering.net>
81371
81372         * lib/getloadavg.c: Correct cpp indentation.
81373         * lib/strdup.c: Likewise.
81374         * lib/vasnprintf.c: Likewise.
81375
81376 2003-09-14  Bruno Haible  <bruno@clisp.org>
81377
81378         * modules/fwriteerror: New file.
81379         * MODULES.html.sh (func_all_modules): Add fwriteerror.
81380
81381 2003-09-14  Bruno Haible  <bruno@clisp.org>
81382
81383         * lib/fwriteerror.h: New file.
81384         * lib/fwriteerror.c: New file.
81385
81386 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81387
81388         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
81389         modules/xgethostname, modules/xalloc: Depend on exit.
81390
81391 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81392
81393         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
81394
81395         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
81396         and AC_MINIX, too, so that their extensions are available.
81397
81398         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
81399         This macro has been superseded by gl_BACKUPFILE.
81400
81401         More patches to assume C89 or better.
81402
81403         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
81404
81405         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
81406         unconditionally.
81407         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
81408         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
81409         Include <string.h>, <stdlib.h> unconditionally.
81410         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
81411         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
81412         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
81413         headers or for string.h.
81414         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
81415         or strtoul.
81416
81417         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
81418         headers.
81419         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
81420         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81421         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
81422         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
81423         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81424         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
81425         memcpy, memset.
81426         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
81427         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
81428         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
81429         strtol.
81430         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81431         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81432         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81433         strtoul.
81434
81435 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81436
81437         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81438         * lib/obstack.c [!defined _LIBC]: Likewise.
81439         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81440         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81441         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81442
81443         More changes to assume C89 or better.
81444
81445         * lib/error.c (error_tail): Assume vprintf.
81446
81447         * lib/argmatch.c (getenv): Remove decl.
81448         * lib/progreloc.c (get_full_program_name): Define via prototype.
81449         * lib/setenv.c (clearenv): Likewise.
81450         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81451         needed.
81452         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81453         (malloc, memcpy): Remove decls.
81454         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81455         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81456         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81457         (memcpy): Remove macro.
81458         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81459         (__P): Remove.  All uses removed.
81460         (PTR): Remove.  All uses changed to void *.
81461         (CHAR_BIT, NULL): Remove.
81462         (spaces, zeros, memset_space, memset_zero)
81463         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81464         Remove.
81465         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81466         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81467         Define with prototype.
81468         Remove now-unnecessary prototype decl.
81469         (extra_args_spec): Assume ANSI C.  All uses changed.
81470         (extra_args_spec_iso): Remove.
81471         (my_strftime, emacs_strftimeu): Define via prototype.
81472         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81473         unconditionally.
81474         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81475         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81476         (strtoul, strtol): Remove decls.
81477         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81478         LONG_MAX): Remove.
81479         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81480         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81481         (LOCALE_PARAM_PROTO): New macro.
81482         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81483         (INTERNAL (strtol), strtol): Define with a prototype.
81484         (PARAMS): Remove.  All uses removed.
81485         * lib/tempname.c: Include <string.h> unconditionally.
81486         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81487         * lib/xgethostname.c (main): Define with a prototype.
81488         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81489         Include <stdlib.h> unconditionally.
81490         (calloc, malloc, realloc, free): Remove decls.
81491         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81492         Include <stdlib.h> unconditionally.  Sort include file names.
81493         (strtod): Remove.
81494         (xstrtod): Define with a prototype.
81495         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81496         (strtol, strtoul): Remove decls.
81497
81498 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81499
81500         More patches to assume C89 or better.
81501         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81502         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81503         string.h, memchr, STDC_HEADERS.
81504
81505 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81506
81507         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81508         Include <stdlib.h>, <string.h> unconditionally.
81509         Remove now-unnecessary cast to char *.
81510         * lib/strnlen.c: Include <string.h> unconditionally.
81511         * lib/yesno.c (yesno): Define with a prototype.
81512
81513 2003-09-11  Bruno Haible  <bruno@clisp.org>
81514
81515         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81516
81517 2003-09-10  Jim Meyering  <jim@meyering.net>
81518
81519         * lib/error.c: Correct indentation of cpp directives.
81520
81521 2003-09-10  Bruno Haible  <bruno@clisp.org>
81522
81523         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81524         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81525         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81526         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81527         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81528         <stdlib.h> and <string.h> checks.
81529         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81530         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81531
81532 2003-09-10  Bruno Haible  <bruno@clisp.org>
81533
81534         * lib/strcspn.c: Include <string.h> unconditionally.
81535         * lib/strpbrk.c: Include <string.h> unconditionally.
81536         * lib/strstr.c: Include <string.h> unconditionally.
81537         * lib/unicodeio.c: Include <string.h> unconditionally.
81538         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81539         * lib/unsetenv.c: Likewise.
81540         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81541         * lib/yesno.c: Include <stdlib.h> unconditionally.
81542         (rpmatch): Add prototype.
81543
81544 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81545
81546         More patches to assume C89 or better.
81547         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81548         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81549         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81550         or for string.h.
81551         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81552         stdlib.h.
81553         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81554         C headers.
81555         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81556         string.h.
81557         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81558         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81559         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81560         or for string.h.
81561         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81562         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81563         C headers.
81564         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81565         memcpy.
81566         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81567         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81568         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81569         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81570         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81571         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81572         string.h, free.
81573         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81574         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81575         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81576         C headers, or for string.h.
81577         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81578         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81579         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81580         headers, memory.h, stdlib.h, string.h, strings.h.
81581         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81582         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81583         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81584         strchr.
81585         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81586         headers, memory.h, string.h.
81587         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81588         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81589         free.
81590         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81591         headers.
81592         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81593         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81594         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81595         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81596         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81597
81598 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81599
81600         More K&R removal.
81601
81602         * lib/acosl.c (main): Use a prototype.
81603         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81604         tanl.c: Likewise.
81605
81606         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81607
81608         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81609         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81610         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81611         with a prototype.
81612         * lib/getopt.c (const): Remove macro.
81613         Include <string.h> unconditionally.
81614         (my_index): Remove; all uses changed to strchr.
81615         (strlen): Remove decl.
81616         (exchange): Remove forward decl; no longer needed.
81617         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81618         Define with prototype.
81619         * lib/getopt1.c (const): Remove macro.
81620         (getopt_long, getopt_long_only, main): Define with prototype.
81621
81622         * lib/getugroups.c: Include <string.h> unconditionally.
81623
81624         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81625         (getusershell, setusershell, endusershell, readname, main):
81626         Define with prototypes.
81627
81628         * lib/group-member.c: Include group-member.h first.
81629         Include <stdlib.h> unconditionally.
81630
81631         * lib/hard-locale.c: Include hard-locale.h first.
81632         Include <stdlib.h>, <string.h> unconditionally.
81633
81634         * lib/hash.c (free, malloc): Remove decls.
81635         Include <stdlib.h> unconditionally.
81636
81637         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81638         (getenv): Do not declare.
81639
81640         * lib/idcache.c: Include <string.h> unconditionally.
81641
81642         * lib/long-options.c: Include long-options.h first, to test interface.
81643         Include <stdlib.h> unconditionally.
81644
81645         * lib/makepath.c: Include makepath.h first, to test interface.
81646         Include <stdlib.h> and <string.h> unconditionally.
81647
81648         * lib/linebuffer.c: Include <stdlib.h>.
81649         (free): Remove decl.
81650
81651         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81652         stddef.h. rpl_malloc returns void *, not char *.
81653         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81654         prototype.
81655
81656         * lib/md5.h: Include <limits.h> unconditionally.
81657         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81658         (__P): Remove; all uses removed.
81659         * lib/md5.c: Include "md5.h" first.
81660         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81661         md5_buffer, md5_process_bytes, md5_process_block):
81662         Define with prototypes.
81663         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81664         * lib/sha.c: Include "sha.h" first.
81665         Include <stdlib.h>, <string.h> unconditionally.
81666
81667         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81668         * lib/memcmp.c (__ptr_t): Likewise.
81669         * lib/memrchr.c (__ptr_t): Likewise.
81670         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81671         Include <string.h> unconditionally.
81672         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81673         * lib/memchr.c: Include <stdlib.h> unconditionally.
81674         * lib/memchr.c (LONG_MAX): Remove.
81675         * lib/memrchr.c (LONG_MAX): Likewise.
81676         * lib/memchr.c (__memchr): Define via a prototype.
81677         * lib/memrchr.c (__memrchr): Likewise.
81678         * lib/memcmp.c (__P): Remove, and remove all uses.
81679         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81680         Remove forward decls; no longer needed.
81681         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81682         Use types required by C89 in prototype.
81683
81684         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81685         * lib/savedir.c: Likewise.
81686         * lib/mkdir.c (free): Remove decl.
81687         * lib/rmdir.c (rmdir): Define with a prototype.
81688         * lib/savedir.c: Include savedir.h first, to test interface.
81689
81690         * lib/mktime.c (STDC_HEADERS): Remove.
81691         Include <stdlib.h>, <string.h> unconditionally.
81692
81693         * lib/modechange.c: Include <stdlib.h> unconditionally.
81694         (malloc): Remove decl.
81695
81696         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81697         (free): Remove decl.
81698
81699         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81700         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81701         (This type really should be intptr_t, but that's a C99ism.)
81702         (_obstack_memcpy): Remove: all uses changed to memcpy.
81703         Include <string.h> unconditionally.
81704         (struct obstack): Assume __STDC__ for types of members
81705         chunkfun, freefun, extra_arg.
81706         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81707         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81708         obstack_begin, obstack_specify_allocation,
81709         obstack_specify_allocation_with_arg, obstack_chunkfun,
81710         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81711         Remove unprototyped decls and the macros that use them.
81712         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81713         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81714         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81715         (defined __STDC__ && __STDC__)]:
81716         Remove nonprototyped code.
81717         Include <stdlib.h> unconditionally.
81718         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81719         _obstack_allocated_p, _obstack_free, obstack_free,
81720         _obstack_memory_used, print_and_abort):
81721         Define using prototypes.
81722         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81723         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81724         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81725         obstack_next_free, obstack_object_size, obstack_room) [0]:
81726         Remove unused, unprototyped code.
81727
81728         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81729
81730         * lib/physmem.c (physmem_total, physmem_available, main): Define
81731         with prototypes.
81732
81733         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81734         (main): Define with a prototype.
81735
81736         * lib/posixver.c (getenv): Remove decl.
81737
81738         * lib/putenv.c (malloc): Returns void *, not char *.
81739         Include <string.h> unconditionally.
81740         (strchr, memcpy, NULL): Do not define.
81741
81742         * lib/readtokens.c: Include readtokens.h first, to test interface.
81743         Include <stdlib.h>, <string.h> unconditionally.
81744         (init_tokenbuffer): Define with a prototype.
81745
81746         * lib/regex.c (PARAMS): Remove.  All uses removed.
81747         All uses of _RE_ARGS removed, too.
81748         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81749         unconditionally.
81750         (bzero): Assume memset exists.
81751         (memcmp, memcpy, NULL): Remove.
81752         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81753         char, or assignments to local vars of type signed char.
81754         (init_syntax_once, PREFIX(extract_number_and_incr),
81755         PREFIX(print_partial_compiled_pattern),
81756         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81757         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81758         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81759         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81760         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81761         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81762         wcs_compile_range, byte_compile_range, truncate_wchar,
81763         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81764         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81765         count_mbs_length, wcs_re_match_2_internal,
81766         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81767         PREFIX(alt_match_null_string_p),
81768         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81769         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81770         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81771         now-unnecessary declaration, if any.
81772         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81773         regcomp, regexec):
81774         Remove now-unnecessary casts among pointer types.
81775         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81776
81777         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81778         (free): Remove decl.
81779
81780         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81781
81782         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81783         (free): Remove decl.
81784
81785         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81786         * lib/xgetcwd.c: Likewise.
81787
81788         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81789         (free): Remove decl.
81790
81791         * lib/strchrnul.c (strchrnul): Define with a prototype.
81792         Fix bug: c_in was not converted to char before searching.
81793
81794         The following changes are not K&R related:
81795
81796         * lib/group-member.h: Include <sys/types.h>, so that this file is
81797         self-contained.
81798         * lib/makepath.h: Likewise.
81799
81800         * lib/getusershell.c (readname, default_index, line_size, readname):
81801         Use size_t, not int, for sizes.
81802         (readname): If the size overflows, report an error instead of
81803         looping forever.
81804
81805 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81806
81807         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81808         libc.
81809
81810 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81811
81812         * README: New section: portability guidelines.
81813
81814 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81815
81816         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81817         C89 spec.
81818
81819 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81820
81821         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81822
81823 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81824
81825         Assume C89 or better; remove K&R cruft.
81826         A few of these changes were first proposed by Derek Robert Price
81827         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81828
81829         * lib/addext.c: Include <string.h> unconditionally.
81830         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81831         Don't declare getenv or malloc.
81832
81833         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81834         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81835         (NULL): Remove.
81836         (find_stack_direction, alloca): Use prototypes.
81837
81838         * lib/atexit.c (atexit): Define using a prototype.
81839
81840         * lib/basename.c, dirname.c, stripslash.c:
81841         Include <string.h> unconditionally.
81842
81843         * lib/bcopy.c: Include <stddef.h>.
81844         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
81845
81846         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
81847
81848         * lib/error.h (error, error_at_line, error_print_progname)
81849         [! (defined (__STDC__) && __STDC__)]: Remove decls.
81850         * lib/error.c: Include error.h first, to check interface.
81851         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81852         (VA_START): Remove; all uses changeed to va_start.
81853         (exit, strerror): Remove decls.
81854         (error_print_progname): Prototype uncondionally.
81855         Don't include <errno.h>; no longer needed.
81856         (private_strerror): Remove.
81857         (error_tail): Always define.
81858         (error, error_at_line): Assume C89 or better; always use prototypes.
81859         * lib/fatal.c: Include "fatal.h" first, to test interface.
81860         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81861         (VA_START): Remove; all uses changed to va_start.
81862         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
81863         this case.
81864         (exit): Remove decl.
81865         (fatal): Prototype unconditionally.  Assume va_start works.
81866         Abort at end, to pacify gcc.
81867
81868         * lib/euidaccess.c (main): Define with a prototype.
81869
81870         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
81871
81872         * lib/exitfail.c: Include <stdlib.h> unconditionally.
81873
81874         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
81875         prototypes.
81876         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
81877         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
81878         (getenv): Remove decl.
81879         (fnmatch): Define using a prototype.
81880         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
81881         (FCT): Define using a prototype.
81882
81883         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
81884
81885         * lib/gethostname.c: Include <stddef.h>.
81886         (gethostname): Define with prototype.  Length is size_t, not int.
81887
81888 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81889
81890         Assume C89 or better; remove K&R cruft.
81891         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
81892         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
81893         string.h, getenv, malloc.
81894         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
81895         headers.
81896         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
81897         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
81898         do not check for strerror.
81899         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
81900         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
81901         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
81902         do not check for doprnt or vprintf.
81903         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
81904         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
81905
81906 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81907
81908         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
81909         getversion.c should have been removed then, but was accidentally
81910         preserved.
81911
81912         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
81913         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
81914
81915 2003-09-08  Karl Berry  <karl@gnu.org>
81916
81917         * config/config.sub, config.guess, srclistvars.sh: update from savannah
81918                 config, forget about prep.
81919
81920         * config/depcomp, missing: update from automake.
81921
81922 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81923
81924         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
81925         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81926
81927 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81928
81929         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
81930         copy_tm_result.  Bug reported by Simon Josefsson in
81931         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81932
81933 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81934
81935         * m4/time_r.m4: New file.
81936         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
81937         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
81938         is. Check for timegm declaration.
81939         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
81940         Do not check for gmtime_r.
81941         Replace mktime if __mktime_internal does not exist and if mktime
81942         hasn't been replaced already.
81943
81944 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81945
81946         * lib/time_r.c, lib/time_r.h: New files.
81947
81948         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
81949         __localtime_r.
81950         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
81951         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
81952
81953         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
81954         __gmtime_r.
81955         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
81956         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
81957         Include <time_r.h>.
81958
81959         * lib/timegm.c: Switch to glibc implementation, with the following
81960         changes:
81961         [defined HAVE_CONFIG_H]: Include <config.h>.
81962         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
81963         (__mktime_internal) [!defined _LIBC]: New decl.
81964         (__gmtime_r) [!defined _LIBC]: New macro and function.
81965         (timegm): Use a prototype, since gnulib assumes C89.
81966         Do not bother declaring tmp to be const, as it's not really usefu.
81967         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
81968         (timegm): Declare only if HAVE_DECL_TIMEGM.
81969
81970 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81971
81972         * MODULES.html.sh (func_all_modules): Add time_r.
81973         * modules/time_r: New file.
81974         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
81975         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
81976
81977 2003-09-03  Paul Eggert  <eggert@twinsun.com>
81978
81979         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
81980         Bug reported by Lute Kamstra in
81981         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
81982
81983         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
81984         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
81985         course with correspondingly smaller numbers for tomorrow and
81986         yesterday.  From Tadayoshi Funaba.  Originally installed into
81987         sh-utils on 1999-08-07, but the patch got lost (I guess during the
81988         coreutils merge?).
81989
81990 2003-08-31  Simon Josefsson  <jas@extundo.com>
81991
81992         * modules/timegm: New file.
81993         * MODULES.html.sh (func_all_modules): Add timegm.
81994
81995 2003-08-31  Simon Josefsson  <jas@extundo.com>
81996
81997         * m4/timegm.m4: New file.
81998
81999 2003-08-31  Simon Josefsson  <jas@extundo.com>
82000
82001         * lib/timegm.h: New file.
82002         * lib/timegm.c: New file.  Based on
82003         wget-1.8.2/src/http.c:mktime_from_utc.
82004
82005 2003-08-31  Karl Berry  <karl@gnu.org>
82006
82007         * lib/argp.h: update from libc.
82008
82009 2003-08-28  Bruno Haible  <bruno@clisp.org>
82010
82011         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
82012         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
82013         followed by '#define fnmatch fnmatch_posix' gives an error.
82014
82015 2003-08-28  Bruno Haible  <bruno@clisp.org>
82016
82017         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
82018         warning on QNX, which defines O_BINARY to 000000.
82019
82020 2003-08-27  Jim Meyering  <jim@meyering.net>
82021
82022         * m4/mkstemp.m4: Require that the system mkstemp be able to create
82023         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
82024         would fail after 32.  Reported by Danny Levinson.  Details here:
82025         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
82026
82027 2003-08-24  Bruno Haible  <bruno@clisp.org>
82028
82029         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
82030         MSVC7 <stdio.h> is included later.
82031
82032 2003-08-22  Simon Josefsson  <jas@extundo.com>
82033
82034         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
82035
82036 2003-08-20  Karl Berry  <karl@gnu.org>
82037
82038         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
82039
82040 2003-08-20  Bruno Haible  <bruno@clisp.org>
82041
82042         * modules/progname: New file.
82043         * MODULES.html.sh (func_all_modules): Add progname.
82044
82045 2003-08-20  Bruno Haible  <bruno@clisp.org>
82046
82047         * lib/progname.h: New file, from GNU gettext.
82048         * lib/progname.c: New file, from GNU gettext.
82049         * lib/progreloc.c: New file, from GNU gettext.
82050
82051 2003-08-19  Jim Meyering  <jim@meyering.net>
82052
82053         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
82054         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
82055
82056 2003-08-19  Bruno Haible  <bruno@clisp.org>
82057
82058         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
82059         more.
82060
82061 2003-08-19  Bruno Haible  <bruno@clisp.org>
82062
82063         * lib/xstrdup.c: Assume <string.h> exists.
82064
82065 2003-08-18  Paul Eggert  <eggert@twinsun.com>
82066
82067         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
82068         in makefile rules.
82069
82070 2003-08-18  Jim Meyering  <jim@meyering.net>
82071
82072         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
82073         * m4/lib-ld.m4: Likewise.
82074
82075 2003-08-18  Jim Meyering  <jim@meyering.net>
82076
82077         * lib/setenv.h: Indent nested cpp directive.
82078         * lib/vasnprintf.c: Remove trailing blanks.
82079
82080 2003-08-17  Simon Josefsson  <jas@extundo.com>
82081
82082         * modules/xstrndup: New file.
82083         * MODULES.html.sh (func_all_modules): Add xstrndup.
82084
82085 2003-08-17  Simon Josefsson  <jas@extundo.com>
82086
82087         * modules/argp: Fix autoconf macro name. Add more dependencies.
82088
82089 2003-08-17  Simon Josefsson  <jas@extundo.com>
82090
82091         * m4/xstrndup.m4: New file.
82092
82093 2003-08-17  Simon Josefsson  <jas@extundo.com>
82094
82095         * m4/argp.m4: New file.
82096
82097 2003-08-17  Simon Josefsson  <jas@extundo.com>
82098             Bruno Haible  <bruno@clisp.org>
82099
82100         * lib/xstrndup.h: New file.
82101         * lib/xstrndup.c: New file.
82102
82103 2003-08-17  Bruno Haible  <bruno@clisp.org>
82104
82105         * modules/strndup (Files, Include): Add lib/strndup.h.
82106
82107 2003-08-17  Bruno Haible  <bruno@clisp.org>
82108
82109         * modules/euidaccess (Files): Add lib/euidaccess.h.
82110
82111 2003-08-17  Bruno Haible  <bruno@clisp.org>
82112
82113         * lib/strndup.h: New file.
82114
82115 2003-08-17  Bruno Haible  <bruno@clisp.org>
82116
82117         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
82118         like AC_GNU_SOURCE.
82119         * modules/extensions (configure.ac): Comment out the invocation of
82120         gl_USE_SYSTEM_EXTENSIONS.
82121
82122 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82123
82124         Merges from coreutils, etc.
82125         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
82126         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
82127         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
82128         fixing a typo.
82129         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
82130         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
82131
82132 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82133
82134         Document merge from coreutils.
82135         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
82136         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
82137         * modules/utime: Add m4/utimes-null.m4.
82138
82139 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82140
82141         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
82142         space, undoing this 2003-08-12 change:
82143         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82144
82145 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82146
82147         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
82148         strtoul.c from libc, undoing this 2003-08-12 change:
82149         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82150
82151 2003-08-16  Jim Meyering  <jim@meyering.net>
82152
82153         Merges from coreutils.
82154         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
82155         prefix.  Adjust cache variables similarly.  Create 500 rather than
82156         just 300 files, to exercise bug on Darwin6.5, too.
82157         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
82158         $missing_dir.
82159         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
82160         AM_SYS_POSIX_TERMIOS.
82161         Reported by mkc@mathdogs.com.
82162         Also change use of $am_cv_sys_posix_termios
82163         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
82164         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
82165         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
82166         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
82167         in /proc/mounts until it finds one with matching device number.  This
82168         is unnecessary when the FILE argument *is* a mount point.  No stat call
82169         is necessary in that case.  So, disable the statvfs-testing code on
82170         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
82171         as RedHat bug# 84846.
82172         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82173         to 1MB, so as not to render systems with no stack size limit (e.g.,
82174         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82175         Include <unistd.h>.  On some systems,
82176         it is required for the definition of _SC_PAGESIZE.
82177
82178 2003-08-16  Jim Meyering  <jim@meyering.net>
82179
82180         Merge from coreutils.
82181         * lib/xstrtoimax.c: #else #if -> #elif.
82182         * lib/xstrtoumax.c: Likewise.
82183
82184 2003-08-16  Jim Meyering  <jim@meyering.net>
82185
82186         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
82187         * m4/utimes.m4: Removed.
82188         * m4/utimes-null.m4: Renamed from utimes.m4.
82189
82190         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82191         to 1MB, so as not to render systems with no stack size limit (e.g.,
82192         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82193         Include <unistd.h>.  On some systems,
82194         it is required for the definition of _SC_PAGESIZE.
82195
82196 2003-08-16  Jim Meyering  <jim@meyering.net>
82197         and Paul Eggert  <eggert@cs.ucla.edu>
82198
82199         Merges from coreutils, etc.
82200
82201         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
82202         using the latest version from cvs.  This avoids problems with #line
82203         directives using a vendor (Sun) compiler.
82204         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
82205         Don't set GETGROUPS_LIB here; now it's
82206         done via getgroups.m4's wrapper function.
82207         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
82208         rather than just in sh-util/configure.in, so that the
82209         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
82210         same.
82211         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
82212         AC_FUNC_GETLOADAVG where to find getloadavg.c.
82213         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
82214         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
82215         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
82216         Remove code that is now done by the newly-required macros.
82217         Append $(EXEEXT) to DF_PROG.
82218         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
82219         Do not invoke or require the following here,
82220         since prereq.m4 or some gnulib .m4 now does this for us:
82221         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
82222         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
82223         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
82224         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
82225         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
82226         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
82227         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
82228         AC_FUNC_OBSTACK.
82229         Do not replace the following functions, as this is now the job
82230         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
82231         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
82232         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
82233         atexit getpass, strdup, getpagesize.
82234         Replace 'raise'.
82235         Do not check for the following functions, as this is now the job
82236         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
82237         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
82238         setregid.
82239         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
82240         Check for sys/sysctl.h.
82241         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
82242         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
82243         of checking for ssize_t ourselves.
82244
82245         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
82246         Require every macro that gnulib/modules/* suggests for us.
82247         (jm_PREREQ_ADDEXT): New macro.
82248         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
82249         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
82250
82251         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
82252         (gl_PHYSMEM): Use it.
82253         Also check for `table' function.
82254         Check for new headers and functions.
82255         Add check for sys/sysmp.h.
82256         With suggestions from Kaveh Ghazi.
82257         Ignore headers that are present but cannot be compiled.  This
82258         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
82259         C 5.4.
82260
82261 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82262
82263         Document merge from coreutils.
82264         * modules/userspec: Depend on posixver.
82265         * modules/strftime: Depend on tzset.
82266
82267 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82268
82269         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
82270         rather than tab, after '#' in shell-script copyright notices.
82271         Suggested by Bruno Haible.
82272
82273 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82274
82275         * config/srclist-update: Use three spaces, rather than tab, after '#'
82276         in shell-script copyright notices.  Suggested by Bruno Haible.
82277         Remove unnecessary parenthesization in regular expression.
82278
82279 2003-08-15  Jim Meyering  <jim@meyering.net>
82280
82281         Merge from coreutils.
82282         * lib/xgethostname.c: Include <stdlib.h>.
82283         (xghostname): Don't exit for anything other than memory-related
82284         failure; just return NULL.
82285         * lib/userspec.c: Include "posixver.h".
82286         (parse_user_spec): Accept `.' as a separator only
82287         in pre-POSIX-200112 mode.
82288         * lib/strtoimax.c: Use #elif rather than #else #if.
82289         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
82290         Remove function, now that we can rely on a working tzset function.
82291         [!_LIBC]: Ensure that the required autoconf test has been run.
82292         [!defined _NL_CURRENT && HAVE_STRFTIME]:
82293         Use underlying_strftime for %r.
82294         * lib/sha.c: Merge in some clean-up and optimization changes from
82295         glibc.
82296         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
82297         Ensure that it is a multiple of 64.
82298         Rearrange loop exit tests so as to avoid performing an
82299         additional fread after encountering an error or EOF.
82300         * lib/realloc.c: Update copyright date.
82301
82302 2003-08-15  Jim Meyering  <jim@meyering.net>
82303         and Paul Eggert  <eggert@twinsun.com>
82304
82305         Merge from coreutils.
82306         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
82307         member but strut utmpx does not.  Needed for AIX 4.3.3.
82308         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
82309
82310 2003-08-15  Jim Meyering  <jim@meyering.net>
82311         and Paul Eggert  <eggert@cs.ucla.edu>
82312
82313         Merges from coreutils, etc.
82314         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
82315         Require gl_FUNC_TZSET_CLOBBER.
82316         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
82317         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
82318         members.
82319
82320 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82321
82322         Help the merge from coreutils.
82323         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
82324         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
82325         * m4/tzset.m4: Use it too.
82326
82327 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82328
82329         * modules/tzset: New file.
82330
82331 2003-08-14  Jim Meyering  <jim@meyering.net>
82332
82333         Merges from coreutils.
82334         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
82335         variable names, rather than @FNMATCH_H@.
82336         * modules/alloca: Likewise for $(ALLOCA_H).
82337
82338         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
82339         the three copies of the literal target, `fnmatch.h'.
82340         * modules/alloca (alloca.h): Likewise.
82341
82342 2003-08-14  Jim Meyering  <jim@meyering.net>
82343
82344         Merge from coreutils.
82345         * m4/tzset.m4: New file.
82346         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
82347         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
82348         otherwise, AIX 5.1 systems would end up using the latter.
82349         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
82350         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
82351         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
82352         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
82353
82354 2003-08-14  Jim Meyering  <jim@meyering.net>
82355
82356         Merge from coreutils.
82357         * lib/obstack.h: Whitespace changes.
82358         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
82359         and xcalloc return values.
82360         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
82361         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
82362         hang on OSF/1 5.1 for DIR on both local and remote file systems.
82363         Reported by (and fix confirmed by) Nelson H. F. Beebe.
82364         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82365         error from mntctl.
82366         Use mntctl's return value to drive the entry-processing loop, since
82367         we can't rely on the value of the vmt_length member in the last
82368         entry.  On some systems doing so could result in exhausting
82369         virtual memory.  Based in part on a patch from Mike Jetzer.
82370
82371 2003-08-14  Jim Meyering  <jim@meyering.net>
82372         and Paul Eggert  <eggert@twinsun.com>
82373
82374         Merges from coreutils, plus other fixes.
82375         * lib/physmem.c: Merge in portability changes from gcc/libiberty
82376         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
82377         for credits and details.  Thanks to Kaveh Ghazi for helping
82378         to keep these files in sync.
82379         (ARRAY_SIZE): Define it.
82380         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
82381         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
82382         (memcasecmp): Don't assume size_t fits in unsigned int.
82383         Remove casts and duplicate code.
82384         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
82385         (memcpy): Remove definition.
82386         Merge in some clean-up and optimization changes from glibc.
82387         [BLOCKSIZE]: Move definition to top of file.
82388         Ensure that it is a multiple of 64.
82389         Rearrange loop exit tests so as to avoid performing an
82390         additional fread after encountering an error or EOF.
82391         * lib/md5.h (md5_uintptr): Define.
82392         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
82393         return to the initial working directory.  Preserve errno
82394         for caller.
82395         * lib/idcache.c: Include "xalloc.h".
82396         (xmalloc, xrealloc): Remove decls.
82397         (getuser): Remove casts no longer required in C89.
82398         * lib/human.c: Include stdio.h, for sprintf.
82399         * lib/group-member.c: Include "xalloc.h".
82400         (xmalloc, xrealloc): Remove decls.
82401         (get_group_info): Remove casts no longer required in C89.
82402         * lib/getusershell.c (readname): Remove casts no longer required in
82403         C89.
82404         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
82405         * lib/getline.c: Whitespace fix, from coreutils.
82406
82407 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82408
82409         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
82410         Check for isascii.
82411
82412         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82413         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82414         Undo previous (whitespace-only) change.
82415
82416 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82417
82418         * lib/exclude.c: Include <ctype.h>
82419         (IN_CTYPE_DOMAIN): New macro.
82420         (is_space): New fn.
82421         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
82422         and empty lines.
82423
82424         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82425         Undo previous (whitespace-only) change.
82426
82427 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82428
82429         * config/srclist-update: Change update back to the old behavior,
82430         leaving whitespace alone.  Use one 'sed' command rather than a
82431         pipeline.
82432         (fixlicense): Now a variable, not a function.
82433         (remove_trailing_blanks): Remove.
82434         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82435         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82436         Undo previous (whitespace-only) change.
82437
82438 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82439
82440         Merge from coreutils.
82441         * modules/euidaccess: Add lib_SOURCES, include for new
82442         file euidaccess.h
82443
82444 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82445
82446         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82447         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82448         Normalize leading white space and remove trailing white space.
82449
82450         Merge from coreutils
82451         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82452
82453         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82454         0.12.1.  These files are now being upgraded automatically by
82455         ../config/srclist-update.
82456
82457 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82458
82459         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82460         Normalize leading white space and remove trailing white space.
82461         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82462         notice, as per ../config/srclist-update.
82463
82464         Merge from coreutils.
82465         * lib/euidaccess.h: New file.
82466         * lib/euidaccess.c: Include it.
82467         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82468         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82469         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82470
82471 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82472
82473         * config/srclist-update: Add copyright notice.
82474         (remove_id_lines, remove_trailing_blanks): New constants.
82475         (fixfile): Use them to normalize spacing a bit in copied files.
82476         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82477         Normalize leading white space and remove trailing white space.
82478
82479         * config/texinfo.tex: Sync with texinfo.
82480
82481         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82482         strtoul.c from libc, to merge coreutils whitespace changes.
82483
82484         * config/srclist.txt: Get the following m4 files from gettext:
82485         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82486         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82487         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82488         wint_t.m4.
82489
82490 2003-08-12  Karl Berry  <karl@gnu.org>
82491
82492         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82493         been made.
82494
82495 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82496
82497         * modules/gnu-source, m4/gnu-source.m4:
82498         Remove; we're assuming Autoconf 2.54 or later now.
82499         Suggested by Bruno Haible.
82500         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82501
82502 2003-08-11  Bruno Haible  <bruno@clisp.org>
82503
82504         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82505
82506 2003-08-11  Bruno Haible  <bruno@clisp.org>
82507
82508         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82509         (vasnprintf): Use it instead of wcslen.
82510
82511 2003-08-11  Bruno Haible  <bruno@clisp.org>
82512
82513         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82514         value to ensure that _Bool promotes to int. Use #define for _Bool when
82515         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82516
82517 2003-08-10  Karl Berry  <karl@gnu.org>
82518
82519         * lib/regex.h: update from libc (whitespace fix).
82520
82521 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82522
82523         Merge some files from coreutils.  These changes were
82524         originally made by Jim Meyering.
82525         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82526         many older Unixes require this.
82527         * lib/alloca.c (alloca): Remove cast to argument of free;
82528         no longer needed in C89.
82529         * lib/alloca_.h, regex.h: Fix white space to match
82530         what GNU indent does.
82531
82532 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82533
82534         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82535         apparently Emacs's Unicode mode got confused before my 2003-08-05
82536         checkin.
82537
82538 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82539
82540         * m4/extensions.m4: New file.
82541         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82542         Require gl_USE_SYSTEM_EXTENSIONS.
82543         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82544         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82545
82546 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82547
82548         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82549         * modules/extensions, modules/gnu-source: New files.
82550         * modules/timespec, modules/unlocked-io: Depend on extensions.
82551
82552 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82553
82554         * modules/restrict: New file.
82555         * MODULES.html.sh (func_all_modules): Add restrict.
82556         * modules/regex: Depend on restrict.
82557
82558 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82559
82560         * m4/restrict.m4: New file.
82561         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82562
82563 2003-08-07  Bruno Haible  <bruno@clisp.org>
82564
82565         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82566         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82567
82568 2003-08-07  Bruno Haible  <bruno@clisp.org>
82569
82570         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82571         makes the module 'getndelim2' compatible with the module 'getline'.
82572
82573 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82574
82575         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82576         byte with "\201" to avoid glitches when editing that source file
82577         with multi-gnome-terminal.
82578
82579 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82580
82581         * lib/bumpalloc.h: Remove.
82582
82583 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82584
82585         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82586         * modules/bumpalloc: Remove.
82587
82588 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82589
82590         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82591         GNU coding style.
82592
82593         Merge from coreutils.
82594         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82595         1. From glibc.
82596         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82597         from Karl Berry, implemented by Jim Meyering.
82598         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82599         from Dmitry V. Levin.
82600         Remove anachronistic cast of xrealloc.
82601         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82602         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82603         type. Otherwise, it wouldn't compile with at least /bin/cc on
82604         ymp-cray-unicos9.0.2.X.
82605         Combine two mostly-identical uses of alloca into one.
82606         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82607
82608 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82609
82610         [From Emacs.]
82611
82612         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82613         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82614         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82615         obsolete NLIST_NAME_UNION.
82616         [__GNU__]: Undef BSD and FSCALE.
82617         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82618
82619 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82620
82621         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82622         an enum type, so that it's guaranteed to promote to int.  See:
82623         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82624
82625 2003-08-03  Karl Berry  <karl@gnu.org>
82626
82627         * config/depcomp: update from automake.
82628
82629 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82630
82631         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82632         (strerror): Don't assume that a printable int fits in 14 bytes.
82633
82634 2003-07-31  Bruno Haible  <bruno@clisp.org>
82635
82636         * modules/getpass-gnu: New file.
82637         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82638
82639 2003-07-31  Bruno Haible  <bruno@clisp.org>
82640
82641         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82642
82643 2003-07-24  Karl Berry  <karl@gnu.org>
82644
82645         * config/missing: update from automake.
82646
82647 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82648             Bruno Haible  <bruno@clisp.org>
82649
82650         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82651         * lib/getline.c (getline, getdelim): Likewise.
82652         Remove _GNU_SOURCE define; now it's defined in config.h through
82653         m4/getline.m4.
82654
82655 2003-07-23  Karl Berry  <karl@gnu.org>
82656
82657         * config/config.sub: update from prep.
82658
82659 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82660
82661         * modules/xalloc (Depends-on): Add exitfail.
82662         * modules/xmemcoll: Likewise.
82663
82664 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82665
82666         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82667         over-parenthesization in macros.
82668
82669         Sync with coreutils.
82670
82671         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82672         required by C99.
82673
82674         Use `exit_failure' for xalloc and xmemcoll instead of their own
82675         private exit-failure variables.
82676         * lib/xalloc.h (xalloc_exit_failure): Remove.
82677         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82678         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82679         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82680         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82681         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82682
82683 2003-07-20  Jim Meyering  <jim@meyering.net>
82684
82685         * modules/closeout (Depends-on): Add exitfail.
82686         Suggestion from Bruno Haible.
82687
82688 2003-07-19  Karl Berry  <karl@gnu.org>
82689
82690         * config/config.sub: update from prep.
82691
82692 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82693
82694         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82695         Remove.
82696         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82697         to test that it can stand by itself.  Include "exitfail.h".
82698         Clients should set exit_failure instead.
82699         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82700
82701 2003-07-18  Bruno Haible  <bruno@clisp.org>
82702
82703         * modules/getndelim2: New file.
82704         * modules/getline: Share files with module getndelim2.
82705         * modules/getnline: Depend on getndelim2 instead of sharing files with
82706         it. Add getnline.c to lib_SOURCES.
82707         * MODULES.html.sh (func_all_modules): Add getndelim2.
82708
82709 2003-07-18  Bruno Haible  <bruno@clisp.org>
82710
82711         * m4/getndelim2.m4: New file.
82712         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82713         invoke gl_PREREQ_GETNDELIM2.
82714         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82715         gl_PREREQ_GETNDELIM2.
82716         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82717         gl_GETNDELIM2.
82718
82719 2003-07-18  Bruno Haible  <bruno@clisp.org>
82720
82721         * lib/getndelim2.h: New file.
82722         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82723         getndelim2.h.
82724         (getndelim2): Make non-static. Change return type to ssize_t.
82725         * lib/getline.h: Change argument names.
82726         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82727         * lib/getnline.c: Include getndelim2.h.
82728
82729 2003-07-18  Andreas Schwab  <schwab@suse.de>
82730
82731         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82732
82733 2003-07-17  Karl Berry  <karl@gnu.org>
82734
82735         * config/config.sub: update from prep.
82736
82737 2003-07-17  Bruno Haible  <bruno@clisp.org>
82738
82739         * modules/getnline: New file.
82740         * modules/getline: Add lib/getndelim2.c to source file list.
82741         * MODULES.html.sh (func_all_modules): Add getnline.
82742
82743 2003-07-17  Bruno Haible  <bruno@clisp.org>
82744
82745         * m4/getnline.m4: New file.
82746
82747 2003-07-17  Bruno Haible  <bruno@clisp.org>
82748
82749         * m4/Makefile.am.in: Remove file.
82750         * m4/Makefile.am: Remove file.
82751         * m4/Makefile.in: Remove file.
82752
82753 2003-07-17  Bruno Haible  <bruno@clisp.org>
82754
82755         * lib/getnline.h: New file.
82756         * lib/getnline.c: New file.
82757         * lib/getndelim2.c: New file, extracted from getline.c.
82758         (getndelim2): Renamed from getdelim2, with added nmax argument.
82759         * lib/getline.c: Include getndelim2.c.
82760         (getdelim2): Moved out to getndelim2.c.
82761         (getline, getdelim): Update.
82762
82763 2003-07-17  Bruno Haible  <bruno@clisp.org>
82764
82765         * lib/Makefile.am: Remove file.
82766         * lib/Makefile.in: Remove file.
82767
82768 2003-07-17  Bruno Haible  <bruno@clisp.org>
82769
82770         * configure.in: Remove file.
82771         * Makefile.in: Remove file.
82772
82773 2003-07-17  Bruno Haible  <bruno@clisp.org>
82774
82775         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82776
82777 2003-07-16  Karl Berry  <karl@gnu.org>
82778
82779         * config/srclist-update: was running fixlicense twice, which caused
82780                 texinfo.tex to be nullified for some reason.  Simplify,
82781                 $gplsrc is no longer needed as far as I can see?
82782
82783 2003-07-16  Jim Meyering  <jim@meyering.net>
82784
82785         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82786
82787 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82788
82789         * config/srclist.txt: Get the following files from gettext-runtime/intl
82790         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82791         ref-del.sin.  From Bruno Haible.
82792         * config/srclist-update (fixfile): Change grep pattern again, since the
82793         previous fix didn't work (there was another trailing $).  Use
82794         '[$]' to escape the $s.
82795
82796 2003-07-15  Karl Berry  <karl@gnu.org>
82797
82798         * lib/vasnprintf.c: update from gettext.
82799
82800 2003-07-15  Karl Berry  <karl@gnu.org>
82801
82802         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82803         gets expanded when surrounded by '$'.
82804
82805 2003-07-15  Jim Meyering  <jim@meyering.net>
82806
82807         * modules/save-cwd: Don't depend on error.  From Derek Price.
82808
82809 2003-07-15  Jim Meyering  <jim@meyering.net>
82810
82811         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82812
82813 2003-07-14  Simon Josefsson  <jas@extundo.com>
82814
82815         * modules/mempcpy: New file.
82816         * MODULES.html.sh (func_all_modules): Add mempcpy.
82817
82818 2003-07-14  Simon Josefsson  <jas@extundo.com>
82819
82820         * m4/mempcpy.m4: New file.
82821
82822 2003-07-14  Simon Josefsson  <jas@extundo.com>
82823
82824         * lib/mempcpy.h: New file.
82825         * lib/mempcpy.c: New file.
82826
82827 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82828
82829         * modules/getdate, modules/posixtm: Depend on mktime.
82830
82831 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82832
82833         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82834         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82835         unicodeio.c, unicodeio.h, unlocked-io.h:
82836         Switch from LGPL to GPL.
82837
82838 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82839
82840         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82841         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
82842         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
82843         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
82844         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
82845         updated automatically by ../config/srclist-update.  This changes
82846         their license from LPGL to GPL.
82847
82848 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82849
82850         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
82851         assumed to refer to the root of the most recent stable gettext version.
82852         * config/srclistvars.sh: Add defaults for eggert.
82853         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
82854         Match "This program" as well as "The program".  This is needed
82855         for gettext.
82856
82857 2003-07-14  Jim Meyering  <jim@meyering.net>
82858
82859         Don't emit diagnostics.  Let callers do that.
82860         * lib/save-cwd.c: Don't include "error.h".
82861         (save_cwd): Don't call error.  Ensure that errno is valid
82862         when returning nonzero.
82863
82864         * lib/save-cwd.h (restore_cwd): Update prototype.
82865         * lib/save-cwd.c (restore_cwd): Remove two parameters.
82866         Simplify.  Don't call error upon failure.  Let callers do that.
82867         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
82868         when auditing is enabled.  But don't bother updating the #if.
82869
82870 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
82871
82872         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
82873         it breaks C++ compilation.
82874         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
82875
82876 2003-07-10  Simon Josefsson  <jas@extundo.com>
82877
82878         * modules/strchrnul (Makefile.am): Add strchrnul.h.
82879
82880 2003-07-10  Jim Meyering  <jim@meyering.net>
82881
82882         * m4/clock_time.m4: Remove trailing blank.
82883         * m4/intmax_t.m4: Likewise.
82884
82885 2003-07-10  Jim Meyering  <jim@meyering.net>
82886
82887         * lib/vasnprintf.c: Remove trailing blanks.
82888         Make cpp indentation consistent.
82889
82890 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82891
82892         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
82893         posixver.c, strftime.c, strnlen.c, strverscmp.c:
82894         Switch from LGPL to GPL.
82895
82896 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82897
82898         * config/srclist.txt: Sort sublists.  Add
82899         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
82900         that differ from gnulib for one reason or another; we'd like this list
82901         to be smaller but for now let's document what we have.
82902
82903 2003-07-08  Paul Eggert  <eggert@twinsun.com>
82904
82905         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
82906         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
82907         and sweeter "eval x=$x".
82908         * config/srclist.txt: Get lib/argp* from glibc.
82909
82910 2003-07-07  Paul Eggert  <eggert@twinsun.com>
82911
82912         * lib/mktime.c: Fix some boundary cases and remove need for floating
82913         point.
82914
82915         Issue a compile-time diagnostic if time_t is floating point, or if
82916         two's complement arithmetic is not in effect, or if arithmetic
82917         right shift does not propagate the sign.  These assumptions were
82918         all in the original code but they weren't checked.
82919
82920         (TIME_T_MIDPOINT, verify): New macros.
82921         (__isleap): Remove; it has integer overflow problems.
82922         (leapyear): New function, without those problems.
82923         (ydhms_tm_diff): Remove; splitting into two parts.
82924         (ydhms_diff): New function, containing the arithmetic part of
82925         the old ydhms_tm_diff function.  Issue a compile-time
82926         diagnostic if we are not using C99 integer division.
82927         Avoid casts when possible.
82928         (guess_time_tm): New function, containing the checking part of
82929         the old ydhms_tm_diff function.  Return the new value, rather than
82930         the difference between it and the old.  Accept a new argument T
82931         so that *T specifies the old value.  Check for overflow in the result.
82932
82933         (__mktime_internal): Use a time_t offset, not a long int offset.
82934         This undoes the 2003-06-04 change, which is no longer needed now
82935         that we have better overflow checking.
82936         (localtime_offset): Likewise.
82937
82938         (__mktime_internal): Avoid harmful overflow on hosts where time_t
82939         and long are 64-bit but int is only 32-bit.
82940         (ydhms_diff): Use long int to store year1 and yday1.
82941         Issue a compile-time diagnostic if long int is not wide enough.
82942
82943         (__mktime_internal): Use long int to store adjusted year and yday.
82944         Use plain C rather than preprocessor commands, if that doesn't
82945         affect efficiency.
82946         Check for overflow (and try to repair) after each probe
82947         rather than checking only at the very end.  This avoids some bugs
82948         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
82949         does not equal GMT offset at maximum time).
82950         Use integer to check for overflow rather than floating point; this
82951         is more portable to non-IEEE hosts, and is a tad faster.
82952         When we detect that we are oscillating between two values,
82953         don't check whether tm_isdst has the requested value, since
82954         we already know the answer.  When tm_isdst has the wrong value,
82955         use a different heuristic to find the right one, based on the
82956         extreme values actually observed in practice in tz2003a,
82957         rather than the (overly optimistic) "previous 3 calendar quarters".
82958
82959         (not_equal_tm, print_tm, check_result): Use "const T" rather than
82960         "T const" to accommodate glibc style.
82961         (check_result): Use less-confusing report format.  "long" -> "long int.
82962         (main): Likewise.
82963         Don't loop if the iteration overflows time_t.
82964         Allow a negative step in the iteration.
82965
82966 2003-07-06  Karl Berry  <karl@gnu.org>
82967
82968         * config/depcomp: update from automake.
82969         * config/config.sub: update from prep.
82970
82971 2003-07-03  Karl Berry  <karl@gnu.org>
82972
82973         * config/config.guess: update from prep.
82974
82975 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82976
82977         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
82978         xreadlink.c now includes it unconditionally.
82979
82980 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82981
82982         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
82983         having it depend on HAVE_SYS_TYPES_H.
82984
82985 2003-07-01  Bruno Haible  <bruno@clisp.org>
82986
82987         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
82988         <sys/types.h> should be sufficient.
82989         Reported by Paul Eggert.
82990
82991 2003-06-26  Karl Berry  <karl@gnu.org>
82992
82993         * config/depcomp: update from automake.
82994
82995 2003-06-26  Bruno Haible  <bruno@clisp.org>
82996
82997         * modules/human: Depend on module stdbool.
82998
82999 2003-06-25  Bruno Haible  <bruno@clisp.org>
83000
83001         * modules/readlink: New file.
83002         * modules/xreadlink: Depend on it.
83003         * MODULES.html.sh (func_all_modules): Add readlink.
83004
83005 2003-06-25  Bruno Haible  <bruno@clisp.org>
83006
83007         * m4/readlink.m4: New file.
83008
83009 2003-06-25  Bruno Haible  <bruno@clisp.org>
83010
83011         * lib/readlink.c: New file.
83012
83013 2003-06-22  Karl Berry  <karl@gnu.org>
83014
83015         * config/srclist.txt: update mkinstalldirs from automake.
83016         * config/mkinstalldirs: update.
83017
83018 2003-06-22  Bruno Haible  <bruno@clisp.org>
83019
83020         Portability to mingw32.
83021         * m4/ssize_t.m4: New file, from GNU gettext.
83022         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
83023         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
83024
83025 2003-06-22  Bruno Haible  <bruno@clisp.org>
83026
83027         * modules/safe-read: Add m4/ssize_t.m4.
83028         * modules/xreadlink: Add m4/ssize_t.m4.
83029
83030 2003-06-20  Bruno Haible  <bruno@clisp.org>
83031
83032         Assume C89, so PARAMS isn't needed.
83033         * lib/unicodeio.h (PARAMS): Remove.
83034         * lib/unicodeio.c: Don't use PARAMS.
83035
83036 2003-06-18  Karl Berry  <karl@gnu.org>
83037
83038         * config/config.{guess,sub}: update from prep.
83039
83040 2003-06-18  Jim Meyering  <jim@meyering.net>
83041
83042         Merge changes from coreutils.
83043         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
83044         Remove explicit declarations of xmalloc and realloc.
83045         Include xalloc.h.
83046         (read_utmp): Remove anachronistic cast of xmalloc.
83047
83048 2003-06-17  Paul Eggert  <eggert@twinsun.com>
83049
83050         Assume C89, so PARAMS isn't needed.
83051         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
83052         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
83053         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
83054         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
83055         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
83056         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
83057         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
83058         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
83059         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
83060         lib/xstrtod.h, lib/xstrtol.h: Likewise.
83061         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
83062         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
83063         no longer needed. Anyway, config.h should always be included before any
83064         other file.
83065
83066 2003-06-11  Simon Josefsson  <jas@extundo.com>
83067
83068         * modules/sysexits: New file.
83069         * MODULES.html.sh (func_all_modules): Add sysexits.
83070
83071 2003-06-11  Simon Josefsson  <jas@extundo.com>
83072
83073         * lib/sysexit_.h: New file.
83074
83075 2003-06-11  Derek Price  <derek@ximbiot.com>
83076
83077         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
83078         necessary.
83079
83080 2003-06-11  Bruno Haible  <bruno@clisp.org>
83081
83082         * m4/sysexits.m4: New file.
83083
83084 2003-06-10  Simon Josefsson  <jas@extundo.com>
83085
83086         * lib/argp.h: New file, from glibc.
83087         * lib/argp-ba.c: New file, from glibc.
83088         * lib/argp-eexst.c: New file, from glibc.
83089         * lib/argp-fmtstream.c: New file, from glibc.
83090         * lib/argp-fmtstream.h: New file, from glibc.
83091         * lib/argp-fs-xinl.c: New file, from glibc.
83092         * lib/argp-help.c: New file, from glibc.
83093         * lib/argp-namefrob.h: New file, from glibc.
83094         * lib/argp-parse.c: New file, from glibc.
83095         * lib/argp-pv.c: New file, from glibc.
83096         * lib/argp-pvh.c: New file, from glibc.
83097         * lib/argp-xinl.c: New file, from glibc.
83098
83099 2003-06-10  Simon Josefsson  <jas@extundo.com>
83100
83101         * modules/strchrnul: New file.
83102
83103 2003-06-10  Simon Josefsson  <jas@extundo.com>
83104
83105         * modules/argp: New file.
83106
83107 2003-06-10  Simon Josefsson  <jas@extundo.com>
83108
83109         * m4/strchrnul.m4: New file.
83110
83111 2003-06-10  Simon Josefsson  <jas@extundo.com>
83112
83113         * lib/strchrnul.h: New file.
83114         * lib/strchrnul.c: New file.
83115
83116 2003-06-10  Bruno Haible  <bruno@clisp.org>
83117
83118         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
83119
83120 2003-06-07  Karl Berry  <karl@gnu.org>
83121
83122         * config/config.{guess,sub}: update from prep.
83123
83124 2003-06-07  Jim Meyering  <jim@meyering.net>
83125
83126         * modules/strtod: Use $(...) notation, not @...@ for
83127         AC_REPLACE'd variables.
83128         * modules/localcharset: Likewise.
83129
83130 2003-06-07  Jim Meyering  <jim@meyering.net>
83131
83132         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
83133         in place of my name in the copyright comment.
83134         Remove definition and uses of __P.
83135
83136         From coreutils.
83137         * lib/stat.c: Don't declare xmalloc explicitly.
83138         Instead, include "xalloc.h".
83139         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
83140         xrealloc, and xcalloc return values.
83141         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
83142         Improve comment.
83143         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
83144
83145 2003-06-07  Bruno Haible  <bruno@clisp.org>
83146
83147         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
83148         avoid AC_CONFIG_LINKS.
83149         * modules/fnmatch (Makefile.am): Use explicit creation rule for
83150         fnmatch.h, to avoid AC_CONFIG_LINKS.
83151         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
83152
83153 2003-06-07  Bruno Haible  <bruno@clisp.org>
83154
83155         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
83156         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
83157         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83158         directory.
83159         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
83160         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83161         directory.
83162
83163 2003-06-06  Jim Meyering  <jim@meyering.net>
83164
83165         Merge from coreutils.
83166         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
83167         Consolidate declarations and initializations of *_base* locals.
83168
83169         Merge from coreutils.
83170         This avoids a core dump on systems without GNU putenv,
83171         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
83172         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
83173         (unsetenv): New static function, from GNU libc.
83174         (rpl_putenv): Use it.
83175
83176         * lib/modechange.c: Remove trailing blanks.
83177
83178         Merge from coreutils.
83179         * lib/fsusage.c: Remove declaration of statfs.
83180         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
83181
83182         * lib/posixtm.c: Include <stdbool.h> unconditionally.
83183
83184 2003-06-06  Jim Meyering  <jim@meyering.net>
83185
83186         * lib/stdbool_.h: Renamed from stdbool.h.in.
83187
83188 2003-06-06  Jim Meyering  <jim@meyering.net>
83189             Bruno Haible  <bruno@clisp.org>
83190
83191         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
83192         Adjust Makefile.am snippet not to redirect directly to target.
83193         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
83194
83195 2003-06-05  Paul Eggert  <eggert@twinsun.com>
83196
83197         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
83198         mismatch, look in future quarters as well as past.  This fixes a
83199         bug when processing fall-backwards gaps immediately after a long
83200         period of daylight-saving time.
83201
83202         * lib/mktime.c: Assume freestanding C89 or better.
83203         (HAVE_LIMITS_H): Remove.  Assume it's 1.
83204         (__P): Remove; not used.
83205         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
83206         (mktime, not_equal_tm, print_tm, check_result,
83207         main): Use prototypes.  Use const * where appropriate.
83208         (main): Fix typo in testing code that uncovered by above changes.
83209         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
83210
83211 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83212
83213         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
83214         locale.h, localeconv.  This merges changes from coreutils.
83215
83216         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
83217         It can be removed after the next Autoconf is released.
83218         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
83219         needed.
83220
83221 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83222
83223         * lib/mktime.c: Fix Debian bug 177940
83224         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
83225         (localtime_offset): Now long int, not time_t, because we want it
83226         to be guaranteed to be signed.  All uses changed.
83227         (__mktime_internal): If overflow would occur when adding offset,
83228         don't add it.
83229
83230         Merge 'human' changes from coreutils.  Rewrite to support
83231         locale-specific notations like thousands separators.
83232         * lib/human.c: Simplify authorship notice.
83233         Include human.h immediately after config.h.
83234         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
83235         <limits.h>: Do not include, since human.h does.
83236         (SIZE_MAX, UINTMAX_MAX): New macros.
83237         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
83238         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
83239         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
83240         (power_letter): Renamed from suffixes.
83241         (generate_suffix_backwards): Remove.
83242         (adjust_value): Now takes int style (because of human.h changes)
83243         and long double value (for greater precision on some platforms).
83244         (group_number): New function.
83245         (human_readable): Use it.  Use integer options, not enum.
83246         Put the options before the sizes in the arg list.
83247         Support all the new options.
83248         The old human_readable function has been removed;
83249         use inttostr.h instead.
83250         (human_readable, default_block_size, humblock):
83251         Use uintmax_t, not int, for block sizes.
83252         (human_readable_inexact, block_size_types): Remove.
83253         (block_size_opts): New constant.
83254         (human_options): Renamed from human_block_size, with new signature
83255         that allows block sizes up to UINTMAX_MAX.  All callers changed.
83256         * lib/human.h: Add copyright and authorship notice.
83257         Include <limits.h> and <stdbool.h> unconditionally.
83258         (PARAMS): Remove.  All uses removed.
83259         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
83260         (enum human_inexact_style): Remove tag; now a nameless enum.
83261         (human_floor, human_ceiling, human_round_to_even): Now have
83262         values 2, 0, 1 rather than -1, 1, 0.
83263         (human_group_digits, human_suppress_point_zero, human_autoscale,
83264         human_base_1024, human_SI, human_B): New constants.
83265         (human_readable_inexact, human_block_size): Remove.
83266         (human_readable): Size args are now uintmax_t, not int.
83267         (human_options): New decl.
83268
83269         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
83270         unnecessary now that we assume C89 or better.  This change
83271         imported from coreutils.
83272
83273         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83274         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
83275         in the 2003-05-30 sync from glibc.
83276
83277         .h files should stand alone, but we shouldn't include <sys/types.h>
83278         if we can get away with just <stddef.h>.
83279
83280         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
83281         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
83282         rather than <sys/types.h>, as we merely need size_t.
83283         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
83284         to get size_t.
83285         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
83286         Include <stdio.h>, to get FILE.
83287         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
83288         memcasecmp.h has included <stddef.h> and all we need is size_t.
83289         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
83290         our interface, instead of including <sys/types.h>
83291
83292 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83293
83294         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
83295         now, as glibc mktime is buggy on non-glibc systems.
83296
83297 2003-06-03  Karl Berry  <karl@gnu.org>
83298
83299         * config/config.sub: update from prep.
83300
83301 2003-06-02  Paul Eggert  <eggert@twinsun.com>
83302
83303         [from coreutils]
83304         Fix some minor time-related bugs with POSIX time arguments.
83305         Some valid time stamps were being rejected (notably -1, and
83306         time stamps before 1900 on 64-bit hosts).  And some invalid
83307         time stamps were being accepted, e.g. September 31.
83308
83309         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
83310         that we can return (time_t) -1 successfully.
83311         * lib/posixtm.c: Likewise.
83312         [HAVE_STDBOOL_H]: Include <stdbool.h>.
83313         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
83314         (t): Remove static var.
83315         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
83316         of static var.  All uses changed.
83317         (year): Do not reject years before 1900; they can occur with
83318         64-bit time_t.
83319         (posix_time_parse): Do not check for out-of-range components;
83320         that is now the caller's responsibility, since our checks were
83321         only approximations.
83322         (posixtime): Use mktime to check for out-of-range components,
83323         since it knows them exactly.
83324         If mktime returns (time_t) -1, check whether an error actually occurred
83325         by invoking localtime on -1.
83326         (main) [TEST_POSIXTIME]: Check for input data errors, and report
83327         posixtime failures better.
83328         Improve the test data (in comments only).
83329
83330 2003-06-02  Karl Berry  <karl@gnu.org>
83331
83332         * config/mkinstalldirs (version): new variable.
83333         (--version): new option.
83334         (usage): improve message.
83335
83336 2003-05-30  Karl Berry  <karl@gnu.org>
83337
83338         * lib/mktime.c: update from libc.
83339
83340 2003-05-30  Bruno Haible  <bruno@clisp.org>
83341
83342         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
83343         * config/config.rpath: Upgrade to gettext-0.12.1.
83344
83345 2003-05-30  Bruno Haible  <bruno@clisp.org>
83346
83347         * m4/gettext.m4: Upgrade to gettext-0.12.1.
83348         * m4/nls.m4: New file, from gettext-0.12.1.
83349         * m4/po.m4: New file, from gettext-0.12.1.
83350         * m4/progtest.m4: Upgrade to gettext-0.12.1.
83351
83352 2003-05-30  Bruno Haible  <bruno@clisp.org>
83353
83354         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
83355         * lib/localcharset.h: Likewise.
83356         * lib/localcharset.c: Likewise.
83357
83358 2003-05-29  Karl Berry  <karl@gnu.org>
83359
83360         * config/config.rpath: update from gettext.
83361
83362 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83363
83364         Assume the headers required for C89 freestanding compilers.
83365         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
83366         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
83367         * m4/human.m4 (gl_HUMAN): Likewise.
83368         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
83369         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
83370         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83371         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
83372         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83373         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
83374
83375 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83376
83377         Assume the headers required for C89 freestanding compilers.
83378         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
83379         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
83380         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
83381         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
83382         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
83383         define, since <limits.h> is guaranteed to do that.
83384         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
83385         * lib/exclude.c: Include <stdbool.h> unconditionally.
83386         * lib/tempname.c: Include <stddef.h> unconditionally.
83387         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
83388         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
83389         <stddef.h> does that.
83390         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
83391         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
83392         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
83393         needed.
83394         * lib/xstrtol.c: Likewise.
83395         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
83396         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
83397
83398         * lib/addext.c (addext): Use assignment rather than cast, to avoid
83399         warnings on some platforms.
83400
83401         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83402         arbitrarily.
83403
83404 2003-05-26  Jim Meyering  <jim@meyering.net>
83405
83406         Merge in a change from coreutils:
83407         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
83408         that is guaranteed to be `no'.  Use `no_such_member' to indicate
83409         that condition, rather than `-1' which is slightly misleading.
83410         Change the name of the cache variable to have the gl_ prefix.
83411         Prompted by a patch from Richard Dawe for DJGPP.
83412
83413 2003-05-24  Karl Berry  <karl@gnu.org>
83414
83415         * config/config.guess: update from prep.
83416
83417 2003-05-22  Karl Berry  <karl@gnu.org>
83418
83419         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
83420
83421 2003-05-20  Karl Berry  <karl@gnu.org>
83422
83423         * config/config.guess: update from prep.
83424
83425 2003-05-18  Karl Berry  <karl@gnu.org>
83426
83427         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
83428         might actually be set by the user.
83429
83430         * config/depcomp, install-sh, mdate-sh: update from automake.
83431
83432 2003-05-17  Bruno Haible  <bruno@clisp.org>
83433
83434         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83435         invalid expansion for AC_EGREP_CPP.
83436         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83437         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83438         Suggested by Akim Demaille <akim@epita.fr> in
83439         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83440
83441 2003-05-12  Jim Meyering  <jim@meyering.net>
83442
83443         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83444         the space-padded-by-default conversion specifiers, %e, %k, %l.
83445
83446 2003-05-12  Bruno Haible  <bruno@clisp.org>
83447
83448         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83449         the string is longer than 4 KB.
83450
83451 2003-05-11  Karl Berry  <karl@gnu.org>
83452
83453         * config/config.{guess,sub}: update from prep.
83454
83455 2003-05-09  Bruno Haible  <bruno@clisp.org>
83456
83457         * modules/error: Add m4/strerror_r.m4 to file list.
83458
83459 2003-05-03  Bruno Haible  <bruno@clisp.org>
83460
83461         Upgrade to Unicode-4.0.
83462         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83463         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83464         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83465         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83466         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83467         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83468         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83469         Change width of U+E0100..U+E01EF from 1 to 0.
83470
83471 2003-04-25  Jim Meyering  <jim@meyering.net>
83472
83473         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83474         of type size_t, not int.
83475
83476 2003-04-25  Bruno Haible  <bruno@clisp.org>
83477
83478         * lib/copy-file.c: Include <stddef.h>, for size_t.
83479
83480 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83481
83482         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83483         code which expansion is under static control.  Patch imported from
83484         Akim Demaille's patch to Bison; see
83485         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83486
83487 2003-04-14  Bruno Haible  <bruno@clisp.org>
83488
83489         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83490
83491 2003-04-11  Jim Meyering  <jim@meyering.net>
83492
83493         Merge changes from Coreutils.
83494
83495         2003-03-22  Jim Meyering  <jim@meyering.net>
83496
83497         * lib/strftime.c (widen): Cast alloca return value to proper type.
83498
83499         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83500
83501         From GNU libc.
83502         * lib/strftime.c (my_strftime): Handle very large width
83503         specifications for numeric values correctly.  Improve checks for
83504         overflow.
83505
83506         2003-01-19  Jim Meyering  <jim@meyering.net>
83507
83508         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83509         definitions.
83510         (nl_get_alt_digit) [! defined my_strftime]: Define.
83511         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83512         _nl_get_alt_digit and _nl_get_walt_digit.
83513
83514         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83515         libc. These changes have no effect outside of _LIBC.
83516
83517 2003-04-10  Bruno Haible  <bruno@clisp.org>
83518
83519         * modules/findprog: New file.
83520         * MODULES.html.sh (func_all_modules): Add it.
83521
83522 2003-04-10  Bruno Haible  <bruno@clisp.org>
83523
83524         * m4/findprog.m4: New file.
83525         * m4/eaccess.m4: New file.
83526
83527 2003-04-10  Bruno Haible  <bruno@clisp.org>
83528
83529         * lib/findprog.h: New file, from GNU gettext.
83530         * lib/findprog.c: New file, from GNU gettext.
83531
83532 2003-04-05  Jim Meyering  <jim@meyering.net>
83533
83534         Merge changes from Coreutils.
83535
83536         * lib/exclude.h (PARAMS): Remove definition and uses.
83537         * lib/exclude.c: Remove uses of `PARAMS'.
83538
83539         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83540         Add test-cases for DOS filenames. Declare program_name.
83541         (main): Set up program_name.  Patch by Rich Dawe.
83542
83543         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83544         error from mntctl.
83545         Use mntctl's return value to drive the entry-processing loop, since
83546         we can't rely on the value of the vmt_length member in the last
83547         entry.  On some systems doing so could result in exhausting
83548         virtual memory.  Based in part on a patch from Mike Jetzer.
83549
83550 2003-04-04  Bruno Haible  <bruno@clisp.org>
83551
83552         * modules/linebreak: New file.
83553         * MODULES.html.sh (func_all_modules): Add it.
83554
83555 2003-04-04  Bruno Haible  <bruno@clisp.org>
83556
83557         * m4/linebreak.m4: New file.
83558
83559 2003-04-04  Bruno Haible  <bruno@clisp.org>
83560
83561         * lib/linebreak.h: New file, from GNU gettext.
83562         * lib/linebreak.c: New file, from GNU gettext with slight
83563         modifications.
83564         * lib/lbrkprop.h: New file, from GNU gettext.
83565
83566 2003-04-03  Bruno Haible  <bruno@clisp.org>
83567
83568         * modules/utf8-ucs4: New file.
83569         * modules/utf16-ucs4: New file.
83570         * modules/ucs4-utf8: New file.
83571         * modules/ucs4-utf16: New file.
83572         * MODULES.html.sh (func_all_modules): Add them.
83573
83574 2003-04-03  Bruno Haible  <bruno@clisp.org>
83575
83576         * m4/utf-ucs4.m4: New file.
83577         * m4/ucs4-utf.m4: New file.
83578
83579 2003-04-03  Bruno Haible  <bruno@clisp.org>
83580
83581         * lib/utf8-ucs4.h: New file, from GNU gettext.
83582         * lib/utf16-ucs4.h: New file, from GNU gettext.
83583         * lib/ucs4-utf8.h: New file, from GNU gettext.
83584         * lib/ucs4-utf16.h: New file, from GNU gettext.
83585
83586 2003-04-02  Bruno Haible  <bruno@clisp.org>
83587
83588         * modules/binary-io: New file.
83589         * MODULES.html.sh (func_all_modules): Add it.
83590
83591 2003-04-02  Bruno Haible  <bruno@clisp.org>
83592
83593         * lib/binary-io.h: New file, from GNU gettext.
83594
83595 2003-04-01  Bruno Haible  <bruno@clisp.org>
83596
83597         * modules/pathname: New file.
83598         * MODULES.html.sh (func_all_modules): Add it.
83599
83600 2003-04-01  Bruno Haible  <bruno@clisp.org>
83601
83602         * lib/pathname.h: New file, from GNU gettext.
83603         * lib/concatpath.c: New file, from GNU gettext.
83604
83605 2003-03-30  Bruno Haible  <bruno@clisp.org>
83606
83607         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83608
83609 2003-03-30  Bruno Haible  <bruno@clisp.org>
83610
83611         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83612         function chown() doesn't exist.
83613
83614 2003-03-28  Bruno Haible  <bruno@clisp.org>
83615
83616         * modules/copy-file: New file.
83617         * MODULES.html.sh (func_all_modules): Add it.
83618
83619 2003-03-28  Bruno Haible  <bruno@clisp.org>
83620
83621         * m4/copy-file.m4: New file.
83622
83623 2003-03-28  Bruno Haible  <bruno@clisp.org>
83624
83625         * lib/copy-file.h: New file, from GNU gettext.
83626         * lib/copy-file.c: New file, from GNU gettext.
83627
83628 2003-03-18  Jim Meyering  <jim@meyering.net>
83629
83630         * lib/quote.c (quote_n): Fix typo in comment.
83631
83632 2003-03-18  Bruno Haible  <bruno@clisp.org>
83633
83634         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83635         checking.
83636         * m4/onceonly_2_57.m4: Likewise.
83637
83638 2003-03-17  Bruno Haible  <bruno@clisp.org>
83639
83640         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83641         (m4_quote): Remove macro.
83642         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83643
83644 2003-03-14  Jim Meyering  <jim@meyering.net>
83645
83646         Merge changes from Coreutils.
83647         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83648         to be const, in order to avoid warnings.
83649         (obstack_room): Likewise.
83650         (obstack_empty_p): Likewise.
83651
83652 2003-03-14  Bruno Haible  <bruno@clisp.org>
83653
83654         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83655         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83656
83657 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83658
83659         Merge changes from Bison.
83660         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83661         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83662         when compiling Bison 1.875's `bitset bset = obstack_alloc
83663         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83664         * lib/hash.c: Include <stdbool.h> unconditionally.
83665
83666 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83667
83668         * m4/onceonly.m4 (m4_quote): New macro.
83669         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83670         Quote AC_FOREACH variable-expansions properly.
83671
83672 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83673
83674         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83675
83676 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83677
83678         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83679         Reported by Bruce Becker; see:
83680         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83681
83682 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83683             Bruno Haible  <bruno@clisp.org>
83684
83685         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83686         Reported by John Hughes, see
83687         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83688
83689 2003-02-20  Bruno Haible  <bruno@clisp.org>
83690
83691         * MODULES.html.sh (func_all_modules): Add poll.
83692
83693 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83694
83695         * modules/poll: New file.
83696
83697 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83698
83699         * lib/poll_.h: New file.
83700         * lib/poll.c: New file.
83701
83702 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83703
83704         * m4/poll.m4: New file.
83705
83706 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83707
83708         * modules/mathl: New file.
83709
83710 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83711
83712         * lib/mathl.h: New file.
83713         * lib/acosl.c: New file.
83714         * lib/asinl.c: New file.
83715         * lib/atanl.c: New file.
83716         * lib/ceill.c: New file.
83717         * lib/cosl.c: New file.
83718         * lib/expl.c: New file.
83719         * lib/floorl.c: New file.
83720         * lib/frexpl.c: New file.
83721         * lib/ldexpl.c: New file.
83722         * lib/logl.c: New file.
83723         * lib/sincosl.c: New file.
83724         * lib/sinl.c: New file.
83725         * lib/sqrtl.c: New file.
83726         * lib/tanl.c: New file.
83727         * lib/trigl.c: New file.
83728         * lib/trigl.h: New file.
83729
83730 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83731
83732         * m4/mathl.m4: New file.
83733
83734 2003-02-18  Bruno Haible  <bruno@clisp.org>
83735
83736         * MODULES.html.sh (func_all_modules): Add mathl.
83737
83738 2003-02-17  Bruno Haible  <bruno@clisp.org>
83739
83740         * modules/mkdtemp: New module.
83741         * MODULES.html.sh (func_all_modules): Add it.
83742
83743 2003-02-17  Bruno Haible  <bruno@clisp.org>
83744
83745         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83746
83747 2003-02-17  Bruno Haible  <bruno@clisp.org>
83748
83749         * lib/mkdtemp.h: New file, from GNU gettext.
83750         * lib/mkdtemp.c: New file, from GNU gettext.
83751
83752 2003-02-02  Jim Meyering  <jim@meyering.net>
83753
83754         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83755         e.g. glibc-2.2.93.
83756
83757 2003-01-31  Bruno Haible  <bruno@clisp.org>
83758
83759         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83760         'rpl_rename'.
83761         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83762         'rpl_strnlen'.
83763         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83764         'rpl_strtod'.
83765         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83766         'rpl_utime'.
83767
83768 2003-01-31  Bruno Haible  <bruno@clisp.org>
83769
83770         * lib/rename.c: #undef rename before defining rpl_rename.
83771         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83772
83773 2003-01-30  Bruno Haible  <bruno@clisp.org>
83774
83775         * modules/vasnprintf, modules/vasprintf: New modules.
83776         * MODULES.html.sh (func_all_modules): Add them.
83777
83778 2003-01-30  Bruno Haible  <bruno@clisp.org>
83779
83780         * m4/signed.m4: New file, from GNU gettext.
83781         * m4/longdouble.m4: New file, from GNU gettext.
83782         * m4/wchar_t.m4: New file, from GNU gettext.
83783         * m4/wint_t.m4: New file, from GNU gettext.
83784         * m4/vasnprintf.m4: New file.
83785         * m4/vasprintf.m4: New file.
83786
83787 2003-01-30  Bruno Haible  <bruno@clisp.org>
83788
83789         * lib/printf-args.h: New file, from GNU gettext.
83790         * lib/printf-args.c: New file, from GNU gettext.
83791         * lib/printf-parse.h: New file, from GNU gettext.
83792         * lib/printf-parse.c: New file, from GNU gettext.
83793         * lib/vasnprintf.h: New file, from GNU gettext.
83794         * lib/vasnprintf.c: New file, from GNU gettext.
83795         * lib/asnprintf.c: New file, from GNU gettext.
83796         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83797         * lib/vasprintf.c: New file, from GNU gettext.
83798         * lib/asprintf.c: New file, from GNU gettext.
83799
83800 2003-01-29  Bruno Haible  <bruno@clisp.org>
83801
83802         * modules/stpncpy: New module.
83803         * MODULES.html.sh (func_all_modules): Add it.
83804
83805 2003-01-29  Bruno Haible  <bruno@clisp.org>
83806
83807         * m4/stpncpy.m4: New file.
83808
83809 2003-01-29  Bruno Haible  <bruno@clisp.org>
83810
83811         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83812         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83813
83814 2003-01-28  Bruno Haible  <bruno@clisp.org>
83815
83816         * modules/c-ctype: New module.
83817         * MODULES.html.sh (func_all_modules): Add it.
83818
83819 2003-01-28  Bruno Haible  <bruno@clisp.org>
83820
83821         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83822         Paul Eggert.
83823         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83824         Paul Eggert.
83825
83826 2003-01-27  Bruno Haible  <bruno@clisp.org>
83827
83828         * modules/xsetenv: New module.
83829         * MODULES.html.sh (func_all_modules): Add it.
83830
83831 2003-01-27  Bruno Haible  <bruno@clisp.org>
83832
83833         * lib/xsetenv.h: New file, from GNU gettext.
83834         * lib/xsetenv.c: New file, from GNU gettext.
83835
83836 2003-01-23  Jim Meyering  <jim@meyering.net>
83837
83838         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83839         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83840
83841 2003-01-23  Bruno Haible  <bruno@clisp.org>
83842
83843         * modules/minmax: New module.
83844         * MODULES.html.sh (func_all_modules): Add it.
83845
83846 2003-01-23  Bruno Haible  <bruno@clisp.org>
83847
83848         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
83849         Eggert.
83850
83851 2003-01-22  Bruno Haible  <bruno@clisp.org>
83852
83853         * modules/exit: New module.
83854         * MODULES.html.sh (func_all_modules): Add it.
83855
83856 2003-01-22  Bruno Haible  <bruno@clisp.org>
83857
83858         * lib/exit.h: New file, from GNU gettext.
83859
83860 2003-01-19  Bruno Haible  <bruno@clisp.org>
83861
83862         * gnulib-tool: Recognize option --extract-maintainer.
83863         (func_get_maintainer): New function.
83864         * modules/*: Add Maintainer entry.
83865
83866 2003-01-16  Jim Meyering  <jim@meyering.net>
83867
83868         * m4/regex.m4: The `regex' struct is both input and output.
83869         Initialize it before each use.  Patch by Tim Waugh.
83870
83871 2003-01-16  Bruno Haible  <bruno@clisp.org>
83872
83873         * MODULES.html.sh: Add a table of contents. Add the module name as
83874         leftmost column. Add hyperlinks.
83875
83876 2003-01-15  Bruno Haible  <bruno@clisp.org>
83877
83878         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
83879
83880 2003-01-15  Bruno Haible  <bruno@clisp.org>
83881
83882         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
83883         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
83884         suffix.
83885
83886 2003-01-15  Bruno Haible  <bruno@clisp.org>
83887
83888         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
83889
83890 2003-01-15  Bruno Haible  <bruno@clisp.org>
83891
83892         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
83893         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
83894
83895 2003-01-14  Jim Meyering  <jim@meyering.net>
83896
83897         * lib/same.c (same_name): Tweak a comment.
83898
83899 2003-01-14  Bruno Haible  <bruno@clisp.org>
83900
83901         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
83902         when a string comparison is sufficient.
83903
83904 2003-01-14  Bruno Haible  <bruno@clisp.org>
83905
83906         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
83907         'unsigned int'.
83908
83909 2003-01-14  Bruno Haible  <bruno@clisp.org>
83910
83911         * lib/hash-pjw.c: Add comment about low quality of this function.
83912
83913 2003-01-13  Bruno Haible  <bruno@clisp.org>
83914
83915         * modules/stpcpy: Distribute lib/stpcpy.h.
83916         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
83917
83918 2003-01-13  Bruno Haible  <bruno@clisp.org>
83919
83920         * modules/*: Add a description.
83921         * modules/strpbrk: Fix Makefile.am snippet.
83922         * modules/strtoimax: Fix dependencies.
83923         * modules/strtoumax: Likewise.
83924
83925 2003-01-13  Bruno Haible  <bruno@clisp.org>
83926
83927         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
83928         * modules/alloca (Makefile.am): All object files depend on alloca.h.
83929         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
83930
83931 2003-01-13  Bruno Haible  <bruno@clisp.org>
83932
83933         * gnulib-tool (func_create_testdir): Store config/* files in the main
83934         directory.
83935         * config.rpath: Move to ...
83936         * config/config.rpath: ... here.
83937         * modules/gettext: Contains config/config.rpath, not config.rpath.
83938         * modules/iconv: Likewise.
83939
83940 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83941
83942         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83943         to avoid collisions with libcurses and libreadline.
83944
83945         * m4/getstr.m4: Remove.
83946         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
83947
83948 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83949
83950         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83951         to avoid collisions with libcurses and libreadline.
83952
83953         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
83954         * lib/getstr.h, getstr.c: Remove.
83955         * lib/getline.c: Include "getline.h", to check interface.
83956         Move body of old getstr.c here: this defines MIN_CHUNK and
83957         declares getdelim2, which is renamed from getstr.
83958         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
83959
83960         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
83961         All uses changed.
83962         * lib/linebuffer.h: Likewise.
83963         (readline): Remove backward-compatibility macro.
83964
83965 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83966
83967         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83968         to avoid collisions with libcurses and libreadline.
83969         * getstr: Remove.
83970         * MODULES.html.sh: Remove getstr.
83971         * modules/getline: Depend on unlocked-io, not getstr.
83972
83973 2003-01-12  Jim Meyering  <jim@meyering.net>
83974
83975         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
83976
83977 2003-01-10  Bruno Haible  <bruno@clisp.org>
83978
83979         * modules/alloca: Change Makefile.am requirements. Simplify Include
83980         requirements. Add lib/alloca_.h to file list.
83981
83982 2003-01-10  Bruno Haible  <bruno@clisp.org>
83983
83984         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
83985
83986 2003-01-10  Bruno Haible  <bruno@clisp.org>
83987
83988         * lib/alloca_.h: New file.
83989         * lib/getdate.y: Unconditionally include alloca.h.
83990         * lib/makepath.c: Likewise.
83991         * lib/setenv.c: Likewise.
83992         * lib/userspec.c: Likewise.
83993
83994 2003-01-09  Karl Berry  <karl@gnu.org>
83995
83996         * MODULES.html.sh: include `dirname $0` in PATH, to find
83997         gnulib-tool.
83998
83999 2003-01-09  Bruno Haible  <bruno@clisp.org>
84000
84001         * modules/stdbool: Change configure.ac, Makefile.am requirements.
84002         Simplify Include requirements. Add lib/stdbool.h.in to file list.
84003
84004 2003-01-09  Bruno Haible  <bruno@clisp.org>
84005
84006         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
84007
84008 2003-01-09  Bruno Haible  <bruno@clisp.org>
84009
84010         * lib/stdbool.h.in: New file.
84011
84012 2003-01-09  Bruno Haible  <bruno@clisp.org>
84013
84014         * gnulib-tool (func_all_modules): Ignore files ending in ~.
84015         * MODULES.html.sh: Likewise.
84016
84017 2003-01-08  Jim Meyering  <jim@meyering.net>
84018
84019         * lib/full-write.c: Undefine and define-away `const' after inclusion
84020         of errno.h, not before.  Suggestion from Bruno Haible.
84021
84022 2003-01-08  Bruno Haible  <bruno@clisp.org>
84023
84024         * modules/full-read: Depend on full-write.
84025
84026 2003-01-08  Bruno Haible  <bruno@clisp.org>
84027
84028         * lib/safe-read.c: Include specification header first, to ensure its
84029         selfcontainedness.
84030         * lib/full-write.c: Likewise.
84031
84032 2003-01-07  Jim Meyering  <jim@meyering.net>
84033
84034         * lib/full-write.c: Rework so that it may serve to define full_read,
84035         too.
84036         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
84037
84038 2003-01-07  Bruno Haible  <bruno@clisp.org>
84039
84040         * lib/strtoimax.c: Include <stdint.h> as an alternative to
84041         <inttypes.h>.
84042         * lib/xstrtol.h: Likewise.
84043         * lib/xstrtoimax.c: Likewise.
84044         * lib/xstrtoumax.c: Likewise.
84045         * lib/human.h: Likewise.
84046
84047         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
84048         on systems that have <inttypes.h> but not <stdint.h>.
84049
84050 2003-01-07  Bruno Haible  <bruno@clisp.org>
84051
84052         * MODULES.html.sh: Add copyright notice.
84053         (missed_files): Omit CVS directory entries.
84054         (func_module): Make it work with sed-3.02.
84055         * MODULES.txt: Remove file.
84056
84057 2003-01-06  Jim Meyering  <jim@meyering.net>
84058
84059         * lib/version-etc.c: Update year in translatable copyright string.
84060
84061 2003-01-03  Karl Berry  <karl@gnu.org>
84062
84063         * config/config.{guess,sub}: update from prep.
84064
84065 2003-01-02  Karl Berry  <karl@gnu.org>
84066
84067         * doc/COPYING.DOC: belatedly updated to 1.2.
84068
84069 2003-01-01  Karl Berry  <karl@gnu.org>
84070
84071         * gnulib-tool (func_verify_module): report module name $module in
84072         error message, not $1.
84073         * gnulib-tool (create-testdir): don't complain if destdir couldn't
84074         be created, only if it doesn't exist.
84075         * gnulib-tool (last_checkin_date): don't expand the $Date here.
84076
84077 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84078
84079         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
84080
84081 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84082
84083         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
84084         memcmp if strcoll doesn't work.
84085
84086 2002-12-31  Bruno Haible  <bruno@clisp.org>
84087
84088         * lib/utime.c (utime_null): No need to call ftruncate if the file was
84089         nonempty.
84090
84091 2002-12-31  Bruno Haible  <bruno@clisp.org>
84092
84093         * lib/memcoll.c (STRCOLL): New macro.
84094         (memcoll): Use it.
84095
84096 2002-12-31  Bruno Haible  <bruno@clisp.org>
84097
84098         * lib/localcharset.h: New file.
84099         * lib/localcharset.c: Include it.
84100         * lib/unicodeio.c: Likewise.
84101
84102 2002-12-31  Bruno Haible  <bruno@clisp.org>
84103
84104         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
84105         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
84106
84107 2002-12-31  Bruno Haible  <bruno@clisp.org>
84108
84109         * lib/getline.h: Include <stddef.h>, for size_t.
84110
84111         * lib/unicodeio.h: Include <stddef.h>, for size_t.
84112         * lib/unicodeio.c: Don't include <stddef.h>.
84113
84114 2002-12-31  Bruno Haible  <bruno@clisp.org>
84115
84116         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
84117         HAVE_TM_ZONE.
84118
84119 2002-12-24  Karl Berry  <karl@gnu.org>
84120
84121         * config/config.guess: update from prep.
84122
84123 2002-12-24  Bruno Haible  <bruno@clisp.org>
84124
84125         General infrasructure.
84126         * m4/README: Rewritten.
84127         * m4/onceonly.m4: New file.
84128         * m4/onceonly_2_57.m4: New file.
84129
84130         Module atexit.
84131         * m4/atexit.m4: New file.
84132
84133         Module strtod.
84134         * m4/strtod.m4: New file.
84135
84136         Module strtol.
84137         * m4/strtol.m4: New file.
84138
84139         Module strtoul.
84140         * m4/strtoul.m4: New file.
84141
84142         Module memchr.
84143         * m4/memchr.m4: New file.
84144
84145         Module memcmp.
84146         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
84147         (jm_FUNC_MEMCMP): Invoke it.
84148
84149         Module memcpy.
84150         * m4/memcpy.m4: New file.
84151
84152         Module memmove.
84153         * m4/memmove.m4: New file.
84154
84155         Module memset.
84156         * m4/memset.m4: New file.
84157
84158         Module strcspn.
84159         * m4/strcspn.m4: New file.
84160
84161         Module strpbrk.
84162         * m4/strpbrk.m4: New file.
84163
84164         Module strstr.
84165         * m4/strstr.m4: New file.
84166
84167         Module strerror.
84168         * m4/strerror.m4: New file.
84169
84170         Module mktime.
84171         * m4/mktime.m4: Renamed from jm-mktime.m4.
84172         (gl_PREREQ_MKTIME): New macro.
84173         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
84174
84175         Module malloc.
84176         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
84177         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
84178         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
84179
84180         Module realloc.
84181         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
84182         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
84183         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
84184
84185         Module strftime.
84186         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
84187         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
84188         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
84189         gl_TM_GMTOFF.
84190         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
84191
84192         Module xalloc.
84193         * m4/xalloc.m4: New file.
84194
84195         Module alloca.
84196         * m4/alloca.m4: New file.
84197
84198         Module putenv.
84199         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
84200         (jm_FUNC_PUTENV): Invoke it.
84201
84202         Module setenv.
84203         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
84204         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
84205         when invoked twice.
84206         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
84207         gt_FUNC_SETENV.
84208
84209         Module memrchr.
84210         * m4/memrchr.m4: New file.
84211
84212         Module stpcpy.
84213         * m4/stpcpy.m4: New file.
84214
84215         Module strcase.
84216         * m4/strcase.m4: New file.
84217
84218         Module strdup.
84219         * m4/strdup.m4: New file.
84220
84221         Module strnlen.
84222         * m4/strnlen.m4: New file.
84223
84224         Module strndup.
84225         * m4/strndup.m4: New file.
84226
84227         Module xstrtod.
84228         * m4/xstrtod.m4: New file.
84229
84230         Module xstrtol.
84231         * m4/xstrtol.m4: New file.
84232
84233         Module getdate.
84234         * m4/getdate.m4: New file.
84235
84236         Module unlocked-io.
84237         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
84238         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
84239         * m4/jm-glibc-io.m4n: Remove file.
84240
84241         Module long-options.
84242         * m4/long-options.m4: New file.
84243
84244         Module md5.
84245         * m4/md5.m4: New file.
84246
84247         Module sha.
84248         * m4/sha.m4: New file.
84249
84250         Module getstr.
84251         * m4/getstr.m4: New file.
84252
84253         Module getline.
84254         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
84255         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
84256         <sys/types.h>, for size_t. Use the function name gnu_getline, not
84257         simply getline. Infoke gl_PREREQ_GETLINE.
84258
84259         Module obstack.
84260         * m4/obstack.m4: New file.
84261
84262         Module hash.
84263         * m4/hash.m4: New file.
84264
84265         Module readtokens.
84266         * m4/readtokens.m4: New file.
84267
84268         Module strverscmp.
84269         * m4/strverscmp.m4: New file.
84270
84271         Module stdbool.
84272         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
84273         OSF/1.
84274
84275         Module strtoll.
84276         * m4/strtoll.m4: New file.
84277
84278         Module strtoull.
84279         * m4/strtoull.m4: New file.
84280
84281         Module strtoimax.
84282         * m4/strtoimax.m4: New file.
84283
84284         Module strtoumax.
84285         * m4/strtoumax.m4: New file.
84286
84287         Module xstrtoimax.
84288         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
84289         jm_AC_PREREQ_XSTRTOIMAX.
84290         Moved the strtol prerequisites to strtol.m4.
84291         Moved the strtoll prerequisites to strtoll.m4.
84292         Moved the strtoimax prerequisites to strtoimax.m4.
84293
84294         Module xstrtoumax.
84295         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
84296         jm_AC_PREREQ_XSTRTOUMAX.
84297         Moved the strtoul prerequisites to strtoul.m4.
84298         Moved the strtoull prerequisites to strtoull.m4.
84299         Moved the strtoumax prerequisites to strtoumax.m4.
84300
84301         Module chown.
84302         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
84303         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
84304
84305         Module dup2.
84306         * m4/dup2.m4: New file.
84307
84308         Module ftruncate.
84309         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
84310         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
84311
84312         Module getgroups.
84313         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
84314         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
84315
84316         Module gettimeofday.
84317         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
84318         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
84319         gl_PREREQ_GETTIMEOFDAY.
84320
84321         Module mkdir.
84322         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
84323         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
84324
84325         Module mkstemp.
84326         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
84327         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
84328         jm_AC_TYPE_UINTMAX_T.
84329         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
84330
84331         Module stat.
84332         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
84333         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
84334
84335         Module lstat.
84336         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
84337         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
84338
84339         Module timespec.
84340         * m4/timespec.m4 (gl_TIMESPEC): New macro.
84341         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
84342         * m4/st_mtim.m4: Indentation.
84343
84344         Module nanosleep.
84345         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
84346         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
84347         gl_PREREQ_NANOSLEEP.
84348
84349         Module regex.
84350         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
84351         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
84352         (gl_REGEX): New macro.
84353
84354         Module rename.
84355         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
84356         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
84357
84358         Module rmdir.
84359         * m4/rmdir.m4: New file.
84360
84361         Module utime.
84362         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
84363         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
84364         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
84365
84366         Module dirname.
84367         * m4/dirname.m4: New file.
84368
84369         Module getopt.
84370         * m4/getopt.m4: New file.
84371
84372         Module unistd-safer.
84373         * m4/unistd-safer.m4: New file.
84374
84375         Module fnmatch.
84376         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
84377         declaration.
84378         (gl_PREREQ_FNMATCH_EXTRA): New macro.
84379         (gl_FUNC_FNMATCH_POSIX): New macro.
84380         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
84381         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
84382         simply fnmatch.
84383
84384         Module exclude.
84385         * m4/exclude.m4: New file.
84386
84387         Module human.
84388         * m4/human.m4: New file.
84389
84390         Module acl.
84391         * m4/acl.m4: Nop.
84392
84393         Module backupfile.
84394         * m4/backupfile.m4: New file.
84395         * m4/d-ino.m4: Indentation.
84396
84397         Module fsusage.
84398         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
84399         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
84400         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
84401
84402         Module dirfd.
84403         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
84404         requirements.
84405
84406         Module euidaccess.
84407         * m4/euidaccess.m4: New file.
84408
84409         Module file-type.
84410         * m4/file-type.m4: New file.
84411
84412         Module fileblocks.
84413         * m4/fileblocks.m4: New file.
84414
84415         Module filemode.
84416         * m4/filemode.m4: New file.
84417
84418         Module isdir.
84419         * m4/isdir.m4: New file.
84420
84421         Module lchown.
84422         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
84423         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
84424
84425         Module makepath.
84426         * m4/makepath.m4: New file.
84427
84428         Module modechange.
84429         * m4/modechange.m4: New file.
84430
84431         Module mountlist.
84432         * m4/mountlist.m4: New file.
84433         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84434         Indentation.
84435
84436         Module path-concat.
84437         * m4/path-concat.m4: New file.
84438
84439         Module pathmax.
84440         * m4/pathmax.m4: New file.
84441
84442         Module same.
84443         * m4/same.m4: New file.
84444
84445         Module save-cwd.
84446         * m4/save-cwd.m4: New file.
84447
84448         Module savedir.
84449         * m4/savedir.m4: New file.
84450
84451         Module xgetcwd.
84452         * m4/xgetcwd.m4: New file.
84453         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84454
84455         Module xreadlink.
84456         * m4/xreadlink.m4: New file.
84457
84458         Module safe-read.
84459         * m4/safe-read.m4: New file.
84460
84461         Module safe-write.
84462         * m4/safe-write.m4: New file.
84463
84464         Module closeout.
84465         * m4/closeout.m4: New file.
84466
84467         Module stdio-safer.
84468         * m4/stdio-safer.m4: New file.
84469
84470         Module getpass.
84471         * m4/getpass.m4: New file.
84472
84473         Module getugroups.
84474         * m4/getugroups.m4: New file.
84475
84476         Module group-member.
84477         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84478         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84479
84480         Module idcache.
84481         * m4/idcache.m4: New file.
84482
84483         Module userspec.
84484         * m4/userspec.m4: New file.
84485
84486         Module gettime.
84487         * m4/clock_time.m4: New file.
84488         * m4/gettime.m4: New file.
84489
84490         Module settime.
84491         * m4/settime.m4: New file.
84492
84493         Module posixtm.
84494         * m4/posixtm.m4: New file.
84495
84496         Module gethostname.
84497         * m4/gethostname.m4: New file.
84498
84499         Module canon-host.
84500         * m4/canon-host.m4: New file.
84501
84502         Module gettext.
84503         * m4/codeset.m4: New file, from gettext-0.11.5.
84504         * m4/gettext.m4: New file, from gettext-0.11.5.
84505         * m4/glibc21.m4: New file, from gettext-0.11.5.
84506         * m4/iconv.m4: New file, from gettext-0.11.5.
84507         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84508         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84509         * m4/inttypes.m4: New file, from gettext-0.11.5.
84510         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84511         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84512         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84513         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84514         * m4/lib-link.m4: New file, from gettext-0.11.5.
84515         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84516         * m4/progtest.m4: New file, from gettext-0.11.5.
84517         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84518         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84519         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84520
84521         Module localcharset.
84522         * m4/localcharset.m4: New file.
84523
84524         Module hard-locale.
84525         * m4/hard-locale.m4: New file.
84526
84527         Module mbswidth.
84528         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84529         onceonly macros.
84530         * m4/mbrtowc.m4: Add comment.
84531
84532         Module memcasecmp.
84533         * m4/memcasecmp.m4: New file.
84534
84535         Module memcoll.
84536         * m4/memcoll.m4: New file.
84537
84538         Module unicodeio.
84539         * m4/unicodeio.m4: New file.
84540
84541         Module rpmatch.
84542         * m4/rpmatch.m4: New file.
84543
84544         Module yesno.
84545         * m4/yesno.m4: New file.
84546
84547         Module exitfail.
84548         * m4/exitfail.m4: New file.
84549
84550         Module c-stack.
84551         * m4/c-stack.m4 (gl_C_STACK): New macro.
84552         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84553
84554         Module error.
84555         * m4/error.m4 (gl_ERROR): New macro.
84556         (jm_PREREQ_ERROR): Use onceonly macros.
84557
84558         Module fatal.
84559         * m4/fatal.m4: New file.
84560
84561         Module getloadavg.
84562         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84563         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84564
84565         Module getpagesize.
84566         * m4/getpagesize.m4: New file.
84567
84568         Module getusershell.
84569         * m4/getusershell.m4: New file.
84570
84571         Module physmem.
84572         * m4/physmem.m4: New file.
84573
84574         Module posixver.
84575         * m4/posixver.m4: New file.
84576
84577         Module quotearg.
84578         * m4/quotearg.m4: New file.
84579
84580         Module quote.
84581         * m4/quote.m4: New file.
84582
84583         Module readutmp.
84584         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84585
84586         Module sig2str.
84587         * m4/sig2str.m4: New file.
84588
84589         Other.
84590         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84591         ulonglong.m4.
84592         * m4/intmax_t.m4: New file.
84593         * m4/d-type.m4: Indentation.
84594         * m4/jm-macros.m4: Update.
84595         * m4/prereq.m4 (jm_PREREQ): Update.
84596         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84597         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84598         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84599         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84600         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84601         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84602         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84603         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84604         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84605         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84606         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84607         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84608         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84609         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84610         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84611         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84612         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84613         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84614         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84615
84616 2002-12-24  Bruno Haible  <bruno@clisp.org>
84617
84618         * MODULES.txt: Update according to m4/ changes.
84619
84620         Module gettext.
84621         * config.rpath: New file, from gettext-0.11.5.
84622
84623         * modules/*: New module descriptions.
84624         * gnulib-tool: New file.
84625         * MODULES.html.sh: New file.
84626
84627 2002-12-21  Karl Berry  <karl@gnu.org>
84628
84629         * doc/fdl.texi: update to version 1.2.
84630
84631 2002-12-19  Karl Berry  <karl@gnu.org>
84632
84633         * config/config.guess: update from prep.
84634
84635 2002-12-18  Bruno Haible  <bruno@clisp.org>
84636
84637         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84638         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84639
84640 2002-12-17  Bruno Haible  <bruno@clisp.org>
84641
84642         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84643         stdlib.h, string.h.
84644
84645 2002-12-17  Bruno Haible  <bruno@clisp.org>
84646
84647         * lib/canon-host.c (strdup): Remove unused declaration.
84648
84649         * lib/fsusage.c: Include full_read.h.
84650         (get_fs_usage): Use full_read instead of safe_read.
84651
84652         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84653
84654 2002-12-12  Karl Berry  <karl@gnu.org>
84655
84656         * config/config.guess: update from prep.
84657
84658 2002-12-11  Bruno Haible  <bruno@clisp.org>
84659
84660         * m4/setenv.m4: New file, from gettext-0.11.5.
84661
84662 2002-12-11  Bruno Haible  <bruno@clisp.org>
84663
84664         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84665         not unsetenv().
84666         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84667         modifications:
84668
84669         2002-12-11  Bruno Haible  <bruno@clisp.org>
84670
84671                 * setenv.c (alloca): Fall back to malloc.
84672                 (freea): New macro.
84673                 (setenv): Use freea() to free memory allocated with alloca().
84674
84675         2002-11-13  Bruno Haible  <bruno@clisp.org>
84676
84677                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84678                 function declarations.
84679                 * unsetenv.c (unsetenv): Likewise.
84680
84681         2002-03-04  Bruno Haible  <bruno@clisp.org>
84682
84683                 Portability to AIX 4.3.3.
84684                 * unsetenv.c: New file, extracted from setenv.c.
84685                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84686
84687         2001-12-20  Bruno Haible  <bruno@clisp.org>
84688
84689                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84690                 use malloc instead. For SunOS 4.
84691
84692         2001-12-11  Bruno Haible  <bruno@clisp.org>
84693
84694                 * setenv.c: Declare alloca.
84695                 (compar_fn_t): New typedef.
84696                 (KNOWN_VALUE, STORE_VALUE): Use it.
84697
84698         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84699         setenv.h.
84700
84701 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84702
84703         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84704         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84705         Choose values that are less likely to collide with system fnmatch
84706         options.
84707         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84708         defined (e.g., a pure POSIX system).
84709         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84710         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84711
84712 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84713
84714         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84715         a pain in practice to deal with generated m4 files.  This change
84716         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84717
84718         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84719         and jm-glibc-io.m4, as they are no longer a special case.
84720         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84721         kludge and the auto-generation stuff.  Check only whether the
84722         functions are declared, not whether they exist, since older hosts
84723         that don't declare the functions can't use the optimization anyway.
84724
84725 2002-12-06  Jim Meyering  <jim@meyering.net>
84726
84727         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84728
84729         Merge in changes from libc's misc/error.c, in preparation
84730         for the merge of gnulib's changes back into libc.
84731
84732         * lib/error.c (_): Define only if not already defined.
84733         Move definition to follow all #include directives.
84734         Include unlocked-io.h only if !_LIBC.
84735         [_LIBC]: Include <libio/libioP.h>.
84736         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84737         (fflush): Tweak definition to use INTUSE.
84738         (putc): Define.
84739
84740 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84741
84742         * lib/alloca.c [defined emacs]: Include "lisp.h".
84743         (xalloc_die) [defined emacs]: New macro.
84744         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84745         [! defined emacs]: Include <xalloc.h>.
84746         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84747         (pointer): Typedef to POINTER_TYPE *.
84748         (malloc): Remove decl; we now always use xmalloc.
84749         (alloca): Use old-style definition, since Emacs needs this.
84750         Check for arithmetic overflow when computing combined size.
84751
84752 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84753
84754         Do not generate unlocked-io.h automatically, since it's easier to
84755         maintain it by hand.
84756
84757         * lib/unlocked-io.h: New file, from GNU diffutils,
84758         but with proper copyright notice and attribution.
84759         * lib/gen-uio: Remove.
84760         * lib/Makefile.am: Add copyright notice.
84761         (libfetish_a_SOURCES): Add unlocked-io.h.
84762         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84763         (DISTCLEANFILES, io_functions): Remove macros.
84764         (EXTRA_DIST): Remove gen_uio.
84765         (unlocked-io.h): Remove rule.
84766
84767 2002-12-04  Jim Meyering  <jim@meyering.net>
84768
84769         Reflect the fact that stat.c and lstat.c are no longer generated.
84770         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84771         (DISTCLEANFILES): Likewise.
84772         (EXTRA_DIST): Likewise.
84773         (all_local): Don't depend on stat.c or lstat.c.
84774         (stat.c, lstat.c): Remove rules.
84775         (EXTRA_DIST): Remove xstat.in.
84776
84777         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84778         * lib/stat.c: New file.  Contents mostly from xstat.in.
84779         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84780         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84781
84782         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84783         too.
84784         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84785
84786 2002-12-03  Jim Meyering  <jim@meyering.net>
84787
84788         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84789         but not semantics, to minimize the differences between these two files.
84790         (safe_read): Change comment to mention SAFE_READ_ERROR.
84791
84792         * lib/safe-read.c (IS_EINTR): Define.
84793         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84794
84795 2002-12-02  Jim Meyering  <jim@meyering.net>
84796
84797         * lib/safe-read.c (EINTR): Define.
84798         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84799         (INT_MAX): Provide fallback.
84800         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84801
84802         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84803
84804 2002-12-02  Bruno Haible  <bruno@clisp.org>
84805
84806         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84807         Define, taken from safe-read.c.
84808         (INT_MAX): Provide fallback.
84809         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84810         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84811
84812         * lib/safe-read.c (EINTR): Remove definition.
84813         (safe_read): Don't use EINTR if it is absent.
84814
84815 2002-12-01  Jim Meyering  <jim@meyering.net>
84816
84817         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84818         zero.
84819         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84820
84821 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84822
84823         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84824         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84825         with `if (! (value < limit)) abort ();', for readability.
84826
84827 2002-11-26  Karl Berry  <karl@gnu.org>
84828
84829         * lib/strdup.c: copy from libc again, with jim's ok.
84830         * lib/.cppi-disable: re-add strdup.c
84831
84832 2002-11-25  Karl Berry  <karl@gnu.org>
84833
84834         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84835         instead of "strtol.c".
84836
84837 2002-11-25  Karl Berry  <karl@gnu.org>
84838
84839         * config/install-sh: update from automake for variable quoting, $0 in
84840         error msgs, etc.
84841
84842         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
84843         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
84844         entry.
84845
84846 2002-11-25  Jim Meyering  <jim@meyering.net>
84847
84848         * lib/mktime.c: Sync from libc, now that it has the latest fix.
84849
84850 2002-11-24  Karl Berry  <karl@gnu.org>
84851
84852         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
84853         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
84854
84855 2002-11-24  Jim Meyering  <jim@meyering.net>
84856
84857         Update from coreutils:
84858
84859         * lib/mktime.c: Merge in changes from libc.
84860
84861         Avoid a link-time failure on some Linux systems.
84862         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
84863         (otherwise).
84864         (__mon_yday): Declare with the STATIC attribute.
84865         (__mktime_internal): Likewise.
84866         Based on a report from Greg Schafer.
84867
84868 2002-11-23  Jim Meyering  <jim@meyering.net>
84869
84870         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
84871         Use `unsigned', not `int', as type of index.
84872
84873         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
84874
84875         * lib/fsusage.c: Remove unneeded parentheses around operands of
84876         `defined'.
84877
84878 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84879
84880         * lib/quotearg.h: Allow multiple inclusion by surrounding with
84881         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
84882         so that we can be included first.
84883         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
84884         * lib/quotearg.c: Include quotearg.h immediately after config.h.
84885         No need to include stddef.h or sys/types.h any more.
84886         Surround local include files with "", not "<>".
84887         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
84888         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
84889         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
84890         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
84891         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
84892         (ISPRINT): Remove; no longer needed now that we assume C89.
84893
84894         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
84895         Preserve errno.
84896
84897         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
84898         quotearg_char): Use SIZE_MAX rather than
84899         (size_t) -1 when we are talking about "infinity".
84900
84901         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
84902
84903 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84904
84905         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
84906         hint that one should use `if (! x) abort ();' rather than `assert
84907         (x);', and anyway it's one less thing to worry about configuring.
84908         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
84909         hash_rehash, hash_insert): Use abort rather than assert.
84910
84911 2002-11-22  Bruno Haible  <bruno@clisp.org>
84912
84913         * lib/safe-read.h: Assume C89. Add comments.
84914         (safe_read): Change return type to size_t.
84915         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
84916         byte counts > SSIZE_MAX correctly.
84917         * lib/safe-write.h: New file.
84918         * lib/safe-write.c: New file.
84919         * lib/full-read.h: New file.
84920         * lib/full-read.c: New file.
84921         * lib/full-write.h: Assume C89. Add comments.
84922         * lib/full-write.c: Include safe-write.h.
84923         (full_write): Rewritten to use safe_write.
84924         Suggested by Jim Meyering and Paul Eggert.
84925
84926 2002-11-21  Jim Meyering  <jim@meyering.net>
84927
84928         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
84929
84930         Merge in changes from the coreutils.
84931
84932         2002-09-25  Paul Eggert  <eggert@twinsun.com>
84933         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
84934         <stdint.h>.
84935         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
84936         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
84937         int.  Work more efficiently if X is the same width as uintmax_t.
84938         Do not compare X to -1, to avoid bogus compiler warning.
84939         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
84940         Don't assume that f_frsize and f_bsize are the same type.
84941
84942         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
84943         warning on FreeBSD.
84944
84945         * lib/makepath.c (make_path): Restore umask *before* creating the final
84946         component.
84947         (make_path): Minor reformatting.
84948
84949         * lib/xmalloc.c: Adjust to work with new autoconf macros,
84950         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
84951         HAVE_MALLOC/HAVE_REALLOC.
84952
84953         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
84954         dummy ones.  At least on GNU/Linux systems, `auto' means something
84955         else.
84956         From Michael Stone.
84957
84958 2002-11-21  Bruno Haible  <bruno@clisp.org>
84959
84960         Remove case insensitive option matching.
84961         * lib/argmatch.h (argcasematch): Remove declaration.
84962         (ARGCASEMATCH): Remove macro.
84963         (__xargmatch_internal): Remove case_sensitive argument.
84964         (XARGMATCH): Update.
84965         (XARGCASEMATCH): Remove macro.
84966         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
84967         case_sensitive argument.
84968         (argcasematch): Remove function.
84969         (__xargmatch_internal): Remove case_sensitive argument.
84970         (main): Use XARGMATCH instead of XARGCASEMATCH.
84971
84972         * lib/xmalloc.c: Change compile-time error message. Add comment about
84973         required autoconf version.
84974
84975 2002-11-20  Paul Eggert  <eggert@twinsun.com>
84976
84977         Merge argmatch cleanups from Bison.  Assume C89.
84978
84979         * lib/argmatch.c: Include config.h here, not in argmatch.h.
84980         Include stdlib.h, for EXIT_FAILURE.
84981         Always include <string.h>, since we assume C89.
84982         (EXIT_FAILURE): Remove pre-C89 bug workaround.
84983         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
84984         Include <stddef.h> instead, since it's all we need for size_t.
84985         (PARAMS): Remove.  All uses removed.
84986         (ARRAY_CARDINALITY): Do not bother to #undef.
84987         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
84988         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84989         Remove unnecessary parentheses.
84990         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84991         Insert necessary parentheses.
84992         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
84993         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
84994
84995 2002-11-19  Bruno Haible  <bruno@clisp.org>
84996
84997         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
84998         * lib/mbswidth.h: Include <stddef.h>, for size_t.
84999
85000         * lib/mbswidth.h (PARAMS): Remove macro.
85001         (mbswidth, mbsnwidth): Use ANSI C function declarations.
85002         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
85003
85004         * lib/gcd.h (PARAMS): Remove macro.
85005         (gcd): Use ANSI C function declarations.
85006         * lib/gcd.c (gcd): Likewise.
85007
85008 2002-11-15  Bruno Haible  <bruno@clisp.org>
85009
85010         * lib/strcspn.c: Include <stddef.h>.
85011         (strcspn): Use ANSI C function declaration. Change return type to
85012         size_t. Use NULL.
85013         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
85014         (strpbrk): Use NULL.
85015         * lib/strpbrk.h (PARAMS): Remove macro.
85016         (strpbrk): Use ANSI C function declaration.
85017         * lib/strstr.c: Don't include <sys/types.h>.
85018         * lib/strstr.h (PARAMS): Remove macro.
85019         (strstr): Use ANSI C function declarations.
85020
85021 2002-11-14  Karl Berry  <karl@gnu.org>
85022
85023         * config/mkinstalldirs: `do' on separate line, instead of
85024         `for var; do'.
85025
85026 2002-11-06  Bruno Haible  <bruno@clisp.org>
85027
85028         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
85029         * lib/gcd.c (gcd): Likewise.
85030
85031 2002-11-05  Bruno Haible  <bruno@clisp.org>
85032
85033         * lib/gcd.h: New file, from gettext-0.11.5.
85034         * lib/gcd.c: New file, from gettext-0.11.5.
85035
85036 2002-11-05  Bruno Haible  <bruno@clisp.org>
85037
85038         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85039         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85040         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85041         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85042
85043         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
85044         <libintl.h>.
85045         * lib/makepath.c: Include gettext.h instead of <locale.h> and
85046         <libintl.h>.
85047
85048         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
85049         * lib/human.c: Include gettext.h instead of <libintl.h>.
85050         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
85051         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
85052         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
85053         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
85054         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
85055         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
85056         (textdomain): Remove definition.
85057         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
85058
85059         * lib/long-options.c: Remove include of <libintl.h> and definition of
85060         _.
85061         * lib/same.c: Remove include of <libintl.h> and definition of _.
85062
85063 2002-11-04  Owen Taylor  <otaylor@redhat.com>
85064
85065         * lib/config.charset: A few additions for Solaris.
85066
85067 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85068
85069         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
85070         * lib/localcharset.c (locale_charset): Declare as extern "C".
85071
85072 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85073
85074         * lib/config.charset: msdos in uk_UA uses CP1125.
85075
85076 2002-11-04  Bruno Haible  <bruno@clisp.org>
85077
85078         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
85079         * lib/strcase.h: New file, from GNU gettext-0.11.5.
85080         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
85081         * lib/strstr.h: New file, from GNU gettext-0.11.5.
85082         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
85083
85084 2002-11-04  Bruno Haible  <bruno@clisp.org>
85085
85086         * lib/localcharset.c (locale_charset): Don't return an empty string.
85087
85088 2002-11-04  Bruno Haible  <bruno@clisp.org>
85089
85090         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
85091         aliases.
85092
85093 2002-11-04  Bruno Haible  <bruno@clisp.org>
85094
85095         * lib/config.charset: Update for newest glibc. Add canonical names
85096         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
85097
85098 2002-11-04  Bruno Haible  <bruno@clisp.org>
85099
85100         * lib/config.charset: Add support for NetBSD.
85101
85102 2002-11-04  Bruno Haible  <bruno@clisp.org>
85103
85104         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
85105
85106 2002-11-01  Bruno Haible  <bruno@clisp.org>
85107
85108         * configure.in: Add AC_CONFIG_AUX_DIR call.
85109         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
85110         test/Makefile.
85111         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
85112
85113 2002-09-28  Karl Berry  <karl@gnu.org>
85114
85115         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
85116         installed automake until the next release, since changes have been
85117         made.
85118
85119 2002-09-25  Karl Berry  <karl@gnu.org>
85120
85121         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
85122         * lib/getopt*: copy from libc/posix.
85123         * lib/gettext.h: copy from gettext.
85124         * lib/.cppi-disable: add strdup.c, gettext.h.
85125
85126 2002-09-25  Karl Berry  <karl@gnu.org>
85127
85128         * config/srclist.txt: enable gettext.h check.
85129         * config/config.{guess,sub}: update from prep.
85130         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
85131                 from automake 1.6.3.
85132         See srclist*.
85133
85134 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
85135
85136         * regex.c (PATFETCH): Remove the translating fetch.
85137         (PATFETCH_RAW): Rename to PATFETCH.
85138         (set_image_of_range): New fun.
85139         (SET_RANGE_TABLE_WORK_AREA): Use it.
85140         (regex_compile): Don't translate the pattern chars so eagerly.
85141         Only do it when inserting an `exactn' bytecode or when handling
85142         a char-range.
85143         (mutually_exclusive_p): Avoid empty statement.
85144
85145 2002-07-06  Jim Meyering  <meyering@lucent.com>
85146
85147         * m4/README: Don't mention Makefile.am.in.
85148         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
85149
85150 2002-07-01  Jim Meyering  <meyering@lucent.com>
85151
85152         * lib/c-stack.c: Include sys/time.h.
85153         From Volker Borchert.
85154
85155 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85156
85157         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
85158
85159 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85160
85161         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
85162         New macro.  Use it uniformly instead of
85163         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
85164         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
85165         reported by Vin Shelton.
85166
85167 2002-06-22  Paul Eggert  <eggert@twinsun.com>
85168
85169         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
85170         Do not assume SA_SIGINFO behavior.
85171         Bug reported by Jim Meyering on NetBSD 1.5.2.
85172
85173 2002-06-22  Jim Meyering  <meyering@lucent.com>
85174
85175         * m4/c-stack.m4: New file, from diffutils-2.8.2.
85176         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
85177
85178         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
85179         now that configure.ac uses AC_GNU_SOURCE.
85180         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
85181         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
85182
85183         Update to latest tools.  Suggestions from Paul Eggert.
85184         * m4/stdbool.m4: New file, from diffutils-2.8.2.
85185         * m4/gnu-source.m4: Update from diffutils-2.8.2.
85186         * m4/fnmatch.m4: Likewise.
85187         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
85188         to AC_HEADER_STDBOOL
85189
85190 2002-06-22  Jim Meyering  <meyering@lucent.com>
85191
85192         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
85193         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
85194
85195 2002-06-22  Jim Meyering  <meyering@lucent.com>
85196
85197         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
85198
85199         * lib/exitfail.c, exitfail.h: Likewise.
85200         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
85201
85202         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
85203         of fnmatch.h.
85204         (EXTRA_DIST): Add fnmatch_loop.c.
85205         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
85206
85207         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
85208         * lib/fnmatch.c: Update from diffutils-2.8.2.
85209         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
85210         * lib/fnmatch.h: Remove file.
85211
85212 2002-06-21  Jim Meyering  <meyering@lucent.com>
85213
85214         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
85215         * m4/mbrtowc.m4: Likewise.
85216
85217         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
85218         * m4/mbswidth.m4: Reflect name change:
85219         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
85220         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85221
85222         * m4/lib-link.m4: Update from gettext-0.11.2.
85223         * m4/gettext.m4: Likewise.
85224
85225         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
85226         From Alfred M. Szmidt.
85227
85228 2002-06-18  Paul Eggert  <eggert@twinsun.com>
85229
85230         * lib/file-type.h: Report an error if neither S_ISREG nor
85231         S_IFREG is defined, instead of using a test specific to glibc
85232         2.2.  This should be safe, since POSIX requires S_ISREG and
85233         Unix Version 7 had S_IFREG.  We don't need to check for
85234         <sys/types.h> since we don't use any symbols that it defines.
85235
85236 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
85237
85238         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
85239         $@-t, so that each temporary file name is unique and valid in the first
85240         8 characters, for operation under DOS.
85241
85242 2002-06-15  Paul Eggert  <eggert@twinsun.com>
85243
85244         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
85245
85246 2002-06-15  Jim Meyering  <meyering@lucent.com>
85247
85248         Work even with DJGPP 2.03, which lacks support for symlinks.
85249         From Richard Dawe.
85250         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
85251         is defined.
85252         * lib/lchown.c (S_ISLNK): Likewise.
85253
85254 2002-06-15  Jim Meyering  <meyering@lucent.com>
85255
85256         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
85257         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
85258         have been included before this file.
85259
85260 2002-06-14  Jim Meyering  <meyering@lucent.com>
85261
85262         * lib/file-type.h: Use the version from diffutils-2.8.2.
85263         * lib/file-type.c: Likewise.
85264
85265 2002-06-07  Jim Meyering  <meyering@lucent.com>
85266
85267         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
85268         They're needed at least for NetBSD 1.5.2.
85269         ($statxfs_includes): Include those same headers.
85270         ($statxfs_includes): Include sys/vfs.h if available.
85271         ($statxfs_includes): Likewise for sys/statvfs.h.
85272         Check for the following members in both structs statfs and statvfs:
85273         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
85274
85275 2002-06-01  Jim Meyering  <meyering@lucent.com>
85276
85277         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
85278         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
85279
85280 2002-05-28  Jim Meyering  <meyering@lucent.com>
85281
85282         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
85283         Reported by Volker Borchert.
85284
85285 2002-05-27  Jim Meyering  <meyering@lucent.com>
85286
85287         Fix a problem seen only on nonconforming systems whereby ls.c's
85288         use of localtime, and then of gettimeofday would cause trouble:
85289         the localtime call used to initialize rpl_gettimeofday's save
85290         mechanism would clobber ls's current local time information so
85291         that in any long listing the first file would always be listed
85292         with date 1970-01-01.  Analysis by Volker Borchert.
85293
85294         * lib/gettimeofday.c (localtime): Undefine.
85295         (rpl_localtime): New function.
85296
85297 2002-05-27  Jim Meyering  <meyering@lucent.com>
85298
85299         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
85300         localtime.
85301
85302         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
85303         use the replacement function; it wouldn't resolve at link time.
85304         Reported by Volker Borchert.
85305
85306 2002-05-22  Jim Meyering  <meyering@lucent.com>
85307
85308         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
85309         file-type.h.
85310         * lib/file-type.h: New file.
85311         * lib/file-type.c (file_type): New file/function.  Extracted from
85312         diffutils.
85313
85314 2002-04-30  Jim Meyering  <meyering@lucent.com>
85315
85316         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
85317
85318 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85319
85320         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
85321
85322 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85323
85324         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
85325         Do not check for alloca.h (no longer used) or stdbool.h (was never
85326         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
85327
85328 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85329
85330         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
85331
85332 2002-04-29  Jim Meyering  <meyering@lucent.com>
85333
85334         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
85335         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
85336         Use AC_FUNC_STRNLEN here instead.
85337
85338         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
85339         With autoconf-2.53a, it's part of AC_PROG_CC.
85340
85341 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85342
85343         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
85344         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
85345
85346 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85347
85348         * lib/sig2str.h, lib/sig2str.c: New files.
85349         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
85350
85351 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85352
85353         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
85354         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
85355         of 127, since 64 is the largest conceivable number for ancient
85356         nonstandard hosts.
85357         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
85358
85359 2002-04-28  Jim Meyering  <meyering@lucent.com>
85360
85361         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
85362
85363 2002-04-24  Jim Meyering  <meyering@lucent.com>
85364
85365         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
85366         (jm_PREREQ): Use it.
85367
85368         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
85369         mach/mach.h fcntl.h.
85370         Check for this function: setlocale.
85371
85372 2002-04-24  Jim Meyering  <meyering@lucent.com>
85373
85374         * lib/gettext.h: New file, from Gettext.
85375         * lib/Makefile.am (INCLUDES): Remove -I../intl.
85376         (libfetish_a_SOURCES): Add gettext.h.
85377
85378 2002-04-16  Jim Meyering  <meyering@lucent.com>
85379
85380         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
85381         ut_pid, ut_id, ut_exit.
85382
85383 2002-04-16  Jim Meyering  <meyering@lucent.com>
85384
85385         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
85386         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
85387         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
85388
85389 2002-04-12  Jim Meyering  <meyering@lucent.com>
85390
85391         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
85392         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
85393         existence of the getmntinfo function.  Needed for Darwin 5.3.
85394
85395         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
85396         This is necessary at least on Darwin 5.3.
85397
85398         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
85399         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
85400         strnlen.o in the library, and that makes some versions of ranlib
85401         object.
85402
85403 2002-04-12  Jim Meyering  <meyering@lucent.com>
85404
85405         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
85406
85407 2002-04-09  Jim Meyering  <meyering@lucent.com>
85408
85409         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
85410         to be more precise.  Rather than saying we're checking whether the
85411         function `works', say what we're testing.
85412         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
85413         Reported by Bruno Haible.
85414
85415 2002-03-10  Jim Meyering  <meyering@lucent.com>
85416
85417         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
85418         Suggestion from Santiago Vila.
85419
85420 2002-03-08  Jim Meyering  <meyering@lucent.com>
85421
85422         * lib/rename.c: Mention that this wrapper is needed also on
85423         mips-dec-ultrix4.4 systems.
85424
85425 2002-03-02  Jim Meyering  <meyering@lucent.com>
85426
85427         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
85428         not HAVE_CLOCK_SETTIME.
85429
85430 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85431
85432         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85433         Check for clock_settime.
85434
85435 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85436
85437         * lib/nanosleep.h: Rename to....
85438         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85439
85440         * lib/gettime.c: New file.
85441         * lib/settime.c: New file.
85442         * lib/stime.c: Remove.
85443
85444         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85445         timespec.h.  Remove nanosleep.h.
85446
85447 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85448
85449         * m4/acl.m4: New file.
85450         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85451         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85452
85453 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85454
85455         * lib/acl.c, lib/acl.h: New files.
85456         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85457
85458 2002-02-24  Jim Meyering  <meyering@lucent.com>
85459
85460         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85461         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85462         cause trouble.  Reported by Nelson Beebe.
85463
85464 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85465
85466         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85467         compilers that don't know that xalloc_die never returns.
85468
85469 2002-02-20  Jim Meyering  <meyering@lucent.com>
85470
85471         * lib/getdate.c: Regenerate using bison-1.33.
85472
85473 2002-02-17  Jim Meyering  <meyering@lucent.com>
85474
85475         * config/config.guess (main): Don't use `head -1'; it's no longer
85476         portable. Use `sed 1q' instead.
85477
85478 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85479
85480         * m4/codeset.m4: Upgrade to gettext-0.11.
85481         * m4/gettext.m4: Upgrade to gettext-0.11.
85482         * m4/glibc21.m4: Upgrade to gettext-0.11.
85483         * m4/iconv.m4: Upgrade to gettext-0.11.
85484         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85485         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85486         * m4/lib-ld.m4: New file, from gettext-0.11.
85487         * m4/lib-link.m4: New file, from gettext-0.11.
85488         * m4/lib-prefix.m4: New file, from gettext-0.11.
85489         * m4/progtest.m4: Upgrade to gettext-0.11.
85490
85491 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85492
85493         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85494         (jm_PREREQ): Use it.
85495
85496 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85497
85498         * lib/posixver.c, lib/posixver.h: New files.
85499         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85500
85501 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85502             Bruno Haible  <bruno@clisp.org>
85503
85504         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85505         (fwrite_success_callback): New declaration.
85506         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85507         print_unicode_char. Call failure callback instead of error.
85508         (fwrite_success_callback): New function.
85509         (exit_failure_callback): New function.
85510         (fallback_failure_callback): New function.
85511         (print_unicode_char): Call unicode_to_mb.
85512
85513 2002-01-26  Jim Meyering  <meyering@lucent.com>
85514
85515         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85516         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85517
85518 2002-01-26  Jim Meyering  <meyering@lucent.com>
85519
85520         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85521
85522 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85523
85524         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85525
85526 2002-01-22  Jim Meyering  <meyering@lucent.com>
85527
85528         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85529         Otherwise, some versions of automake would omit the rule that makes
85530         Makefile from Makefile.in.
85531
85532 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85533
85534         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85535         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85536         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85537         (memcoll): Set errno to zero if there is no error.
85538
85539         * lib/quotearg.c (quotearg_buffer_restyled):
85540         Fix bug with quoting buffers containing NUL when backslashing escapes.
85541         This bug was exposed by the other changes in this patch.
85542         (quotearg_n_options): New arg ARGSIZE.
85543         All callers changed.
85544         (quoting_options_from_style): New function.
85545         (quotearg_n_style): Use it.
85546         (quotearg_n_style_mem): New function.
85547
85548         * lib/quotearg.h (quotearg_n_style_mem): New function.
85549
85550 2002-01-19  Jim Meyering  <meyering@lucent.com>
85551
85552         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85553         Remove useless quotes: DF_PROG="df".
85554         * m4/strnlen.m4: New file.
85555
85556 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85557
85558         * lib/backupfile.c (ISDIGIT): Comment fix.
85559         * lib/getdate.y (ISDIGIT): Likewise.
85560         * lib/posixtm.c (ISDIGIT, year): Likewise.
85561         * lib/strverscmp.c (ISDIGIT): Likewise.
85562         * lib/userspec.c (ISDIGIT): Likewise.
85563
85564 2002-01-16  Jim Meyering  <meyering@lucent.com>
85565
85566         * lib/getdate.y: Add three semicolons, each just before a closing
85567         brace. Bison (as of version 1.31) no longer papers over that mistake.
85568
85569 2002-01-05  Jim Meyering  <meyering@lucent.com>
85570
85571         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85572
85573 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85574
85575         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85576         not silently exit merely because the output buffer happens to
85577         have nothing pending.
85578
85579 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85580
85581         See the big note in ../ChangeLog.
85582         * lib/human.c (suffixes): Prefer K to k for 1024.
85583         (generate_suffix_backwards): New function.
85584         (human_readable_inexact): Use it.
85585         * lib/xstrtol.c (__xstrtol): If there is no number but there
85586         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85587         Accept 'K' as well as 'k'.
85588
85589 2001-12-15  Jim Meyering  <meyering@lucent.com>
85590
85591         * lib/regex.h (__restrict_arr): Update from libc.
85592
85593         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85594         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85595         (STREQ): Define.
85596
85597 2001-12-14  Jim Meyering  <meyering@lucent.com>
85598
85599         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85600         Suggestion from Bruno Haible.
85601
85602 2001-12-10  Jim Meyering  <meyering@lucent.com>
85603
85604         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85605         xrealloc, Instead, include "xalloc.h".
85606         (initbuffer): Don't cast xmalloc return value to char*.
85607         (readline): Reword comment.
85608         Don't cast xrealloc return value to char*
85609         Return NULL, not 0.
85610
85611 2001-12-09  Jim Meyering  <meyering@lucent.com>
85612
85613         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85614         about `signed and unsigned type in conditional expression'.
85615         * lib/posixtm.c (posix_time_parse): Likewise.
85616
85617         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85618
85619         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85620         to avoid a pedantic warning.
85621
85622         * lib/getstr.c: Don't include assert.h.
85623         (getstr): Remove warning-evoking assertions.
85624         Return -1 if offset parameter is out of bounds.
85625         Change the type of a local from int to size_t.
85626
85627         * lib/strftime.c (my_strftime_localtime_r): Include this function
85628         definition in the `#if ! HAVE_TM_GMTOFF' block.
85629
85630         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85631         Include xalloc.h instead.
85632
85633 2001-12-02  Jim Meyering  <meyering@lucent.com>
85634
85635         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85636         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85637         included.
85638
85639         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85640         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85641
85642 2001-11-30  Akim Demaille  <akim@epita.fr>
85643
85644         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85645         before being defined.
85646
85647 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85648
85649         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85650         First arg is int, not unsigned.
85651         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85652         (SIZE_MAX, UINT_MAX): New macros.
85653         (quotearg_n_options): Abort if N is negative.
85654         Avoid overflow check on hosts where size_t is 64 bits and int
85655         is 32 bits, as overflow is impossible there.
85656         Fix off-by-one typo that caused unnecessary reallocation.
85657
85658 2001-11-27  Jim Meyering  <meyering@lucent.com>
85659
85660         * lib/tempname.c: Merge with version from libc.
85661         * lib/regex.c: Likewise.
85662
85663         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85664         systems for which STDC_HEADERS is 0, it was not included, resulting in
85665         a warning about an integer-to-pointer conversion problem with getenv.
85666         Reported by Volker Borchert.
85667
85668 2001-11-26  Jim Meyering  <meyering@lucent.com>
85669
85670         * lib/gtod.h: Remove file.
85671         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85672         * lib/gettimeofday.c: Don't include gtod.h.
85673         (GTOD_init): Remove function.
85674         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85675         Suggestion from Volker Borchert.
85676
85677 2001-11-23  Jim Meyering  <meyering@lucent.com>
85678
85679         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85680         it.
85681         * lib/hash.c (struct hash_table): Define it here instead.
85682
85683 2001-11-22  Jim Meyering  <meyering@lucent.com>
85684
85685         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85686
85687 2001-11-20  Jim Meyering  <meyering@lucent.com>
85688
85689         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85690         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85691
85692 2001-11-19  Jim Meyering  <meyering@lucent.com>
85693
85694         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85695         directory.  Use "conftestXXXXXX" as the template.
85696         Suggestion from Paul Eggert.
85697
85698         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85699         immediately, so the test doesn't mistakenly hit the max-open-files
85700         limit.
85701
85702 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85703
85704         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85705         (TEMPORARIES): New macro.
85706         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85707         removes an artificial limitation (e.g. HP-UX 10.20, where
85708         TMP_MAX is 17576).
85709
85710 2001-11-18  Jim Meyering  <meyering@lucent.com>
85711
85712         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85713
85714 2001-11-18  Jim Meyering  <meyering@lucent.com>
85715
85716         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85717         on SunOS 4.
85718
85719         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85720         files will be created before anything else.
85721
85722 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85723
85724         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85725         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85726
85727 2001-11-17  Jim Meyering  <meyering@lucent.com>
85728
85729         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85730         Prompted by a report from Bob Proulx.
85731
85732         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85733         Instead, require UTILS_FUNC_MKSTEMP.
85734
85735 2001-11-17  Jim Meyering  <meyering@lucent.com>
85736
85737         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85738         Now, that's done as part of AC_FUNC_STRTOD.
85739
85740 2001-11-17  Jim Meyering  <meyering@lucent.com>
85741
85742         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85743         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85744         rather than group writable.  Patch by Juan F. Codagnone.
85745
85746         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85747         xrealloc, Instead, include "xalloc.h".
85748
85749         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85750         Remove explicit declarations of xmalloc, xrealloc,
85751         and xstrdup.  Instead, include "xalloc.h".
85752
85753         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85754         unlocked-io.h.
85755         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85756         Likewise.
85757         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85758
85759         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85760         Reported by Padraig Brady.
85761
85762         * lib/mkstemp.c: #undef mkstemp.
85763         Include config.h.
85764         (rpl_mkstemp): Rename from mkstemp.
85765         Protoize.
85766
85767 2001-11-16  Jim Meyering  <meyering@lucent.com>
85768
85769         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85770         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85771         determine the amount of total physical memory, use pstat_getstatic.
85772         HPUX-11 doesn't define _SC_PHYS_PAGES.
85773         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85774         If sysconf couldn't be used to determine the amount of available
85775         physical memory, use both pstat_getstatic and pstat_getdynamic.
85776         Based on a patch from Bob Proulx.
85777
85778 2001-11-10  Jim Meyering  <meyering@lucent.com>
85779
85780         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85781         (jm_PREREQ): Use it.
85782
85783 2001-11-09  Jim Meyering  <meyering@lucent.com>
85784
85785         * m4/jm-macros.m4: Require autoconf-2.52f.
85786         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85787         Use these AC_-prefixed names, not the AM_-prefixed ones.
85788
85789         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85790
85791 2001-11-05  Jim Meyering  <meyering@lucent.com>
85792
85793         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85794
85795 2001-11-04  Jim Meyering  <meyering@lucent.com>
85796
85797         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85798         $DEFS.
85799
85800 2001-11-03  Jim Meyering  <meyering@lucent.com>
85801
85802         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85803         of AC_DEFUN.
85804
85805         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85806         know the name of the variable in the macro definition.
85807
85808 2001-11-03  Jim Meyering  <meyering@lucent.com>
85809
85810         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85811         in argmatch_to_argument call.
85812
85813         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85814         argument.
85815
85816         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85817         e.g., a fault due to an attempt to free a NULL pointer.
85818
85819 2001-11-01  Jim Meyering  <meyering@lucent.com>
85820
85821         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85822         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85823
85824 2001-11-01  Jim Meyering  <meyering@lucent.com>
85825
85826         * lib/dirfd.c, lib/dirfd.h: New files.
85827         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85828
85829         * lib/hash.c (hash_print) [TESTING]: Clean up.
85830
85831 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85832
85833         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85834         to avoid a warning if -Wall.
85835
85836 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85837
85838         * README: New file
85839         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85840         (per RMS's instructions, this is now the canonical source)
85841         * lgpl/, gpl/: New directories.
85842
85843 2001-10-21  Paul Eggert  <eggert@twinsun.com>
85844
85845         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
85846
85847 2001-10-21  Jim Meyering  <meyering@lucent.com>
85848
85849         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
85850         this code would end up calling gettext even in packages built
85851         with --disable-nls.
85852         * lib/getopt.c (_): Likewise.
85853         * lib/regex.c (_): Likewise.
85854
85855 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85856
85857         * m4/error.m4 (jm_PREREQ_ERROR):
85858         Do not invoke AC_CHECK_FUNCS with strerror_r, as
85859         AC_FUNC_STRERROR_R does that.
85860         Check for strerror declaration.
85861
85862         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
85863         are supposed to have them these days.
85864         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
85865         Merge changes from latest Autoconf CVS.
85866         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
85867         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
85868         POSIX decided to standardize on the int flavor of strerror_r.
85869
85870 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85871
85872         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
85873         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
85874         Use strerror_r that is only a macro, even if it is not a function.
85875         (strerror): Check for HAVE_DECL_STRERROR before declaring.
85876         (private_strerror): Use prototypes, not old-style function definition.
85877         (print_errno_message): New function.
85878         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
85879         char*-flavored one.
85880         (error_tail, error, error_at_line): Use it.
85881
85882 2001-10-11  Jim Meyering  <meyering@lucent.com>
85883
85884         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
85885         and quote_n (1, ... to avoid clobbering a buffer.
85886
85887 2001-10-05  Jim Meyering  <meyering@lucent.com>
85888
85889         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
85890         hash-pjw.h.
85891         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
85892         * lib/hash-pjw.h: New file.
85893
85894 2001-09-30  Jim Meyering  <meyering@lucent.com>
85895
85896         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
85897         `struct fsstat' has the `f_fstypename' member.
85898         Use that to define FS_TYPE, which is now used to make
85899         the getfsstat link test tighter.
85900
85901 2001-09-30  Jim Meyering  <meyering@lucent.com>
85902
85903         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
85904         Include <sys/ucred.h>, for Apple Darwin.
85905         Include sys/mount.h and sys/fs_types.h only if available.
85906         (FS_TYPE): Define.
85907         (read_filesystem_list): Use FS_TYPE.
85908
85909 2001-09-29  Paul Eggert  <eggert@twinsun.com>
85910
85911         * lib/exclude.c (excluded_filename): 0 -> false, since it's
85912         a boolean context.
85913
85914 2001-09-29  Jim Meyering  <meyering@lucent.com>
85915
85916         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85917         [one-argument getmntent function]): Include stdio.h before mntent.h.
85918         SunOS 4.1.x needs it for the declaration of `FILE'.
85919         Patch by Volker Borchert.
85920
85921         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85922         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
85923         sys/fs_types.h, and make the link-test for getfsstat guard #include
85924         directives with appropriate #if HAVE_*_H tests so that we can
85925         detect getfsstat on Apple Darwin1.3.7 systems.
85926         Reported by Nelson Beebe.
85927         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
85928
85929 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85930
85931         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85932         #defines strtoimax.  Also treat the other strto* functions
85933         like strtoimax.
85934
85935         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85936         Check for strtoul and strtoumax,
85937         as those declarations are made even in the signed case.
85938         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
85939         Likewise, for strtol and strtoimax.
85940
85941 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85942
85943         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85944         #defines strtoimax.  Also treat the other strto* functions
85945         like strtoimax.
85946
85947         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
85948         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
85949         (strtoimax, strtoumax): Do not declare if already defined as a macro.
85950
85951 2001-09-26  Jim Meyering  <meyering@lucent.com>
85952
85953         Most macros in unlocked-io.h had the wrong number of arguments.
85954         * lib/gen-uio: New script.
85955         (USE_UNLOCKED_IO): Define to 1 if not already defined.
85956         * lib/unlocked-io.hin: Remove file.
85957         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
85958         rather than trying to embed it here.
85959         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
85960         Reported by Padraig Brady.
85961
85962 2001-09-25  Volker Borchert  <bt@teknon.de>
85963
85964         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
85965         `result'.
85966
85967 2001-09-24  Jim Meyering  <meyering@lucent.com>
85968
85969         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
85970
85971 2001-09-23  Jim Meyering  <meyering@lucent.com>
85972
85973         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
85974         instead of the mere test for existence of mntent.h.  The latter
85975         would get a false-positive on AIX 3.4 systems.
85976         In the outer getmntent if-block, don't die if neither of the getmntent
85977         tests succeeds.  Instead, just fall through and continue with the
85978         remaining tests.
85979
85980 2001-09-23  Jim Meyering  <meyering@lucent.com>
85981
85982         * lib/mountlist.c: Remove useless parentheses in #if directives.
85983         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
85984         the deprecated MOUNTED symbol is no longer defined in mntent.h.
85985
85986 2001-09-22  Jim Meyering  <meyering@lucent.com>
85987
85988         * m4/gettext.m4: New file.  From gettext.
85989         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
85990         * m4/progtest.m4: Likewise
85991         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
85992         * m4/glibc21.m4: Likewise.
85993
85994         * m4/libintl.m4: Remove.  No longer used.
85995
85996 2001-09-22  Jim Meyering  <meyering@lucent.com>
85997
85998         * lib/localcharset.c: Update from latest gettext.
85999         * lib/config.charset: Likewise.
86000
86001 2001-09-20  Jim Meyering  <meyering@lucent.com>
86002
86003         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
86004         strtoimax.
86005         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
86006         strtoumax.
86007
86008 2001-09-20  Jim Meyering  <meyering@lucent.com>
86009
86010         * lib/xstrtol.c (strtoimax): Guard declaration with
86011         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
86012         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
86013         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
86014         (strtoumax): Likewise, for completeness (it wasn't necessary).
86015
86016 2001-09-17  Paul Eggert  <eggert@twinsun.com>
86017
86018         * lib/strtoimax.c (HAVE_LONG_LONG):
86019         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
86020         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
86021         to work around bug in IBM C compiler.
86022
86023 2001-09-17  Jim Meyering  <meyering@lucent.com>
86024
86025         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
86026         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
86027         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
86028         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
86029         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
86030         whenever the right hand side need not be expanded by the shell.
86031
86032 2001-09-16  Paul Eggert  <eggert@twinsun.com>
86033
86034         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
86035         library.  It's not correct, as some older glibcs are buggy.
86036         fnmatch wasn't fixed until glibc 2.2.
86037
86038         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
86039         special shell magic here.
86040
86041 2001-09-16  Jim Meyering  <meyering@lucent.com>
86042
86043         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
86044         * m4/jm-macros.m4: Require it.
86045
86046 2001-09-16  Jim Meyering  <meyering@lucent.com>
86047
86048         * lib/mkdir.c: New file.
86049
86050 2001-09-15  Jim Meyering  <meyering@lucent.com>
86051
86052         * m4/jm-macros.m4: Check for help2man.
86053
86054 2001-09-11  Jim Meyering  <meyering@lucent.com>
86055
86056         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
86057         The body, by Paul Eggert, was moved here from configure.in.
86058         * m4/jm-macros.m4: Require UTILS_HOST_OS.
86059
86060 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86061
86062         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
86063         (jm_PREREQ): Use it.
86064
86065 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86066
86067         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
86068         Use ssize_t, not int, to store result of readlink.
86069         Check for ssize_t overflow as well as size_t overflow,
86070         as POSIX says the result of readlink is implementation-defined
86071         when ssize_t overflows.
86072         Remove unnecessary cast to char*.
86073         Use free+malloc instead of realloc, as the storage doesn't need
86074         to be preserved and it's clearer and can be more efficient that way.
86075         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
86076         * lib/xreadlink.h (xreadlink): Update prototype.
86077
86078 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86079
86080         * lib/xgetcwd.c: Revert some of the previous change; intead,
86081         fix the HAVE_GETCWD_NULL code to behave more like the
86082         !HAVE_GETCWD_NULL code used to.
86083
86084         Include "xalloc.h".
86085         (xgetcwd): Do not return NULL when memory is exhausted; instead,
86086         invoke xalloc_die.
86087
86088 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86089
86090         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
86091         sys/param.h, as pathmax.h includes them.
86092
86093 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86094
86095         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
86096         (jm_PREREQ_XGETCWD): New macro.
86097
86098         * m4/getcwd.m4: New file.
86099
86100 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86101
86102         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
86103         like the HAVE_GETCWD_NULL code.
86104         Include pathmax.h if not HAVE_GETCWD.
86105         Do not include xalloc.h.
86106         (INITIAL_BUFFER_SIZE): New symbol.
86107         Do not use xmalloc / xrealloc, since the caller is responsible for
86108         handling errors.  Preserve errno around `free' during failure.
86109         Do not overrun buffer when using getwd.
86110
86111 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86112
86113         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
86114         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
86115         getcwd (NULL, 0).
86116
86117 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86118
86119         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
86120         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
86121         spotted by Jim Meyering.
86122
86123 2001-09-03  Jim Meyering  <meyering@lucent.com>
86124
86125         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
86126         failure.
86127
86128 2001-09-02  Jim Meyering  <meyering@lucent.com>
86129
86130         * lib/error.c: Update from GNU libc.
86131
86132 2001-09-01  Jim Meyering  <meyering@lucent.com>
86133
86134         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
86135         Used by df.
86136
86137 2001-09-01  Jim Meyering  <meyering@lucent.com>
86138
86139         * lib/xreadlink.c: New file.
86140         * lib/xreadlink.h: New file.
86141         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
86142         xreadlink.h.
86143
86144         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
86145         doesn't conflict with sparc Solaris 7's definition in
86146         /usr/include/sys/int_types.h.
86147
86148         * lib/exclude.c: Use `""', not `<>' to #include non-system header
86149         files.
86150         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
86151         and strncasecmp as r-values.  Unixware didn't have declarations.
86152
86153 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86154
86155         * lib/xstrtol.h: Add copyright notice.
86156         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
86157         LONGINT_INVALID_SUFFIX_CHAR.
86158
86159 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86160
86161         * lib/xstrtol.c (strtoimax): New decl.
86162
86163 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86164
86165         * lib/xgetcwd.c: Don't include pathmax.h.
86166         Include stdlib.h and unistd.h if available.
86167         Include xalloc.h.
86168         (xmalloc, xstrdup, free): Remove decls.
86169         (xgetcwd): Don't assume sizes fit in unsigned.
86170         Check for overflow when computing sizes.
86171         Simplify reallocation code.
86172
86173 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86174
86175         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
86176         a directory's st_size can have an arbitrary value, so the old
86177         usage could waste an arbitrary amount of memory.  All uses
86178         changed.
86179         * lib/savedir.h: Update prototype.
86180
86181 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86182
86183         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
86184
86185         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
86186         old strtoimax.c.
86187
86188         Also, make the following further changes to make this file's
86189         configuration more similar to that of strtol.c:
86190         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
86191         (strtoumax, uintmax_t, strtoull, strtol): Remove.
86192         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
86193         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
86194         changed to signed values.
86195
86196         And make the following changes as well:
86197         Fix copyright notice, as 1999 was missing.
86198         (verify): New macro.
86199         (strtoimax): Check sizes at compile-time, not run-time.
86200         Prefer strtol to strtoll if both work.
86201         (main): Remove; it was not that useful and was a pain to maintain.
86202
86203         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
86204
86205 2001-08-31  Jim Meyering  <meyering@lucent.com>
86206
86207         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
86208         Use an initial, malloc'd, buffer of length 128 rather than
86209         a statically allocated one of length 1024.
86210
86211 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86212
86213         Simplify code, partly by assuming autoconf 2.52 semantics.
86214
86215         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
86216
86217         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
86218         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
86219         All uses removed.
86220         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
86221         Move AC_REQUIRE to next-to-top level, to avoid confusion.
86222         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
86223         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
86224         jm_AC_HEADER_INTTYPES_H.
86225         * m4/jm-macros.m4 (jm_MACROS): Likewise.
86226
86227         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
86228
86229         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86230         Quote first arg of AC_DEFUN.
86231         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
86232         since they are needed to parse the include file even if we need
86233         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
86234         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
86235         but with opposite signedness.
86236
86237 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86238
86239         Merge 'exclude' changes from tar 1.13.22.
86240         This fixes one or two unlikely storage allocation overflow bugs,
86241         but doesn't change user-visible behavior otherwise.
86242
86243 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86244
86245         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
86246         (jm_PREREQ_EXCLUDE): New macro.
86247
86248 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86249
86250         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
86251         tm to be declared.
86252
86253 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86254
86255         * lib/hash.c: Remove '2001' from copyright notice.
86256
86257 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86258
86259         * lib/full-write.h: New file.
86260         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86261         * lib/full-write.c: Correct credits, as cccp.c no longer
86262         exists and anyway it was so heavily changed from the old cccp
86263         code as to be unrecognizable.  Include full-write.h.
86264         (full_write): Return size_t, with short writes meaning failure.
86265         All callers changed.  This fixes a bug with large buffers
86266         on 64-bit hosts.
86267         * lib/utime.c: Include full-write.h.
86268
86269 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86270
86271         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
86272         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
86273         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
86274         Include if available.
86275         (<xalloc.h>): Include
86276         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
86277         (verify): New macro.  Use it to verify that EXCLUDE macros do not
86278         collide with FNM macros.
86279         (struct patopts): New struct.
86280         (struct exclude): Use it, as exclude patterns now come with options.
86281         (new_exclude): Support above changes.
86282         (new_exclude, add_exclude_file):
86283         Initial size must now be a power of two to simplify overflow checking.
86284         (free_exclude, fnmatch_no_wildcards): New function.
86285         (excluded_filename): No longer requires options arg, as the options
86286         are determined by add_exclude.  Now returns bool, not int.
86287         (excluded_filename, add_exclude):
86288         Add support for the fancy new exclusion options.
86289         (add_exclude, add_exclude_file): Now takes int options arg.
86290         Check for arithmetic overflow when computing sizes.
86291         (add_exclude_file): xrealloc might modify errno, so don't
86292         realloc until after errno might be used.
86293
86294         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
86295         New macros.
86296         (free_exclude): New decl.
86297         (add_exclude, add_exclude_file): Now takes int options arg.
86298         (excluded_filename): No longer requires options arg, as the options
86299         are determined by add_exclude.  Now returns bool, not int.
86300
86301 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86302
86303         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
86304
86305 2001-08-27  Jim Meyering  <meyering@lucent.com>
86306
86307         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
86308
86309         * lib/version-etc.c (N_): Remove definition.
86310         Revert most of last change.
86311         Instead, simply don't mark the `Copyright...' string for translation.
86312         Based on advice from Paul Eggert.
86313
86314         * lib/strtoxmax.c: Tweak comment.
86315
86316 2001-08-26  Jim Meyering  <meyering@lucent.com>
86317
86318         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
86319
86320         * m4/xstrtoimax.m4: New file.
86321         * m4/xstrtoumax.m4: Add comments explaining why we
86322         AC_REPLACE_FUNCS(strtol).
86323
86324 2001-08-26  Jim Meyering  <meyering@lucent.com>
86325
86326         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
86327         of copyright with `%s' so translators don't get an untranslated
86328         message in 2002.
86329         (COPYRIGHT_YEAR): Define.
86330         (version_etc): Use fprintf rather than fputs.
86331         Suggestion from Ulrich Drepper.
86332
86333         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
86334
86335         * lib/strtoll.c: New file, from GNU libc.
86336         * lib/xstrtoimax.c: New file.
86337
86338         * lib/xstrtol.h: Add xstrtoimax.
86339         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
86340         * lib/strtoimax.c: New file.  Likewise, but first define
86341         STRTOUXMAX_SIGNED.
86342
86343         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
86344         ...
86345         * lib/strtoxmax.c: ... then renamed to this.
86346
86347 2001-08-18  Paul Eggert  <eggert@twinsun.com>
86348
86349         * m4/inttypes.m4: Add AC_PREREQ(2.13).
86350         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
86351         (jm_AC_TYPE_INTMAX_T): New macro.
86352         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
86353
86354         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
86355
86356         * m4/longlong.m4: Renamed from ulonglong.m4.
86357         * m4/inttypes.m4: Renamed from inttypes_h.m4.
86358         * m4/uintmax_t.m4: Removed.
86359
86360 2001-08-13  Paul Eggert  <eggert@twinsun.com>
86361
86362         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
86363         Port to Solaris 8, where 'sed' requires a space after the 'r'
86364         command, and where sh dislikes "$/".  Clean up the spacing a bit.
86365         Redirect output to $tmp just once.
86366
86367 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
86368
86369         * lib/addext.c (<errno.h>): Include.
86370         (errno): Declare if not defined.
86371         (addext): Work correctly when pathconf returns -1 and leaves
86372         errno alone because there is no limit.  Also, work even if
86373         pathconf returns a value greater than SIZE_MAX.
86374
86375 2001-08-12  Jim Meyering  <meyering@lucent.com>
86376
86377         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
86378         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
86379         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
86380         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
86381         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
86382         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
86383         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
86384         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
86385         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
86386         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
86387         utime.m4, utimes.m4, xstrtoumax.m4:
86388         Quote the first argument in each use of AC_DEFUN.
86389
86390 2001-08-12  Jim Meyering  <meyering@lucent.com>
86391
86392         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
86393         Simply `return getcwd (NULL, 0);'.
86394         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
86395         Use 1300 as initial value for length, not PATH_MAX.
86396
86397         * lib/pathmax.h: Clean up cpp syntax.
86398
86399 2001-08-12  Jim Meyering  <meyering@lucent.com>
86400
86401         * lib/gettimeofday.c: New file.
86402         * lib/gtod.h: New file.
86403         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
86404
86405 2001-08-05  Jim Meyering  <meyering@lucent.com>
86406
86407         * m4/jm-macros.m4: Require autoconf-2.52.
86408
86409 2001-08-04  Jim Meyering  <meyering@lucent.com>
86410
86411         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
86412         stmt, to get in sync with glibc.
86413
86414 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86415
86416         The following changes are from gettext 0.10.39 as maintained by
86417         Bruno Haible.
86418
86419         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
86420         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
86421         with inverted sense.  All uses changed.
86422
86423         * lib/mbswidth.c: Don't include <limits.h>.
86424         Include <stdlib.h> and <string.h> unconditionally.
86425         (iswcntrl, mbsinit, ISCNTRL): New macros.
86426         (mbsnwidth): Use K&R style function declarations.
86427         Don't bother checking for MB_LEN_MAX == 1, since the compiler
86428         can optimize it when MB_CUR_MAX == 1.
86429         The width of control characters is zero, not 1.
86430
86431 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86432
86433         The following changes are from gettext 0.10.39 as maintained by
86434         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86435
86436         * m4/codeset.m4: Upgrade to serial AM1.
86437         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86438         all uses changed.  Quote first arg of AC_DEFUN.
86439         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86440
86441         * m4/iconv.m4: Upgrade to serial AM2.
86442         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86443         Add --with-libconv-prefix.
86444         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86445         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86446         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86447         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86448         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86449
86450         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86451         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86452         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86453         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86454         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86455         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86456         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86457         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86458         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86459
86460         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86461         string.h any more.
86462
86463         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86464         not the default value.
86465
86466         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86467         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86468         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86469         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86470         Also check for iswcntrl, used for wcwidth fallback.
86471         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86472         to Autoconf 2.13.
86473
86474 2001-08-03  Jim Meyering  <meyering@lucent.com>
86475
86476         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86477         as it was in the original.  Reported by Paul Eggert.
86478
86479 2001-07-16  Jim Meyering  <meyering@lucent.com>
86480
86481         * m4/gettimeofday.m4: New file.
86482         Prompted by a report from Bernhard Baehr.
86483
86484 2001-07-15  Jim Meyering  <meyering@lucent.com>
86485
86486         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86487         stuff. Now it's in ../Makefile.cfg.
86488
86489 2001-07-15  Jim Meyering  <meyering@lucent.com>
86490
86491         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86492         (BUILT_SOURCES): Add unlocked-io.h.
86493         (io_functions): Define.
86494         (unlocked-io.h): New rule.
86495         (DISTCLEANFILES): Add unlocked-io.h.
86496         (all-local): Depend on unlocked-io.h, to ensure it is created.
86497
86498         * lib/unlocked-io.hin: New file
86499
86500         * lib/regex.c: Update from glibc.
86501
86502 2001-07-05  Jim Meyering  <meyering@lucent.com>
86503
86504         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86505         recommendation.
86506         (libfetish_a_SOURCES): Put all .h files here instead.
86507         Remove a thus-exposed (better checks in automake) duplicate and
86508         two unnecessary .h files.
86509
86510 2001-07-04  Jim Meyering  <meyering@lucent.com>
86511
86512         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86513         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86514         distcheck failure.
86515
86516 2001-07-02  Jim Meyering  <meyering@lucent.com>
86517
86518         The following changes were prompted by suggestions from Bruno Haible.
86519
86520         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86521         is now generated.
86522         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86523         definition of EXTRA_DIST.
86524         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86525         ensure that the generated file is created/updated whenever the list
86526         of $(unlocked_functions) is changed.
86527         (jm-glibc-io.m4): New rule.
86528         (unlocked-io.h): New rule -- currently unused.
86529
86530 2001-06-24  Jim Meyering  <meyering@lucent.com>
86531
86532         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86533         unmatched right bracket, rather than kludging it with an extra,
86534         falsely-matching quote in a comment.  Patch by Akim Demaille.
86535
86536 2001-06-11  Jim Meyering  <meyering@lucent.com>
86537
86538         * lib/regex.c: Update from GNU libc.
86539
86540 2001-05-27  Jim Meyering  <meyering@lucent.com>
86541
86542         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86543         Check for ut_type in struct utmp.
86544
86545 2001-05-27  Jim Meyering  <meyering@lucent.com>
86546
86547         * lib/readutmp.h (UT_TYPE): Define.
86548
86549 2001-05-24  Jim Meyering  <meyering@lucent.com>
86550
86551         * lib/argmatch.c: Include "quote.h".
86552         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86553         quote function.  Reported by Göran Uddeborg.
86554
86555 2001-05-22  Jim Meyering  <meyering@lucent.com>
86556
86557         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86558         now that we use the package-supplied version unconditionally.
86559         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86560
86561 2001-05-21  Jim Meyering  <meyering@lucent.com>
86562
86563         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86564         shell syntax errors.
86565
86566 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86567
86568         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86569
86570 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86571
86572         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86573         Don't bother to check library strftime, since
86574         we'll be using our own my_strftime function anyway.
86575         Define my_strftime instead of strftime.
86576
86577 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86578
86579         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86580         which is not yet declared.
86581
86582 2001-05-15  Jim Meyering  <meyering@lucent.com>
86583
86584         * m4/regex.m4: Use proper quoting so brackets appear in the test
86585         program.
86586         Reported by, and with help from, Bruno Haible.
86587
86588 2001-05-13  Jim Meyering  <meyering@lucent.com>
86589
86590         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86591         undefined.
86592
86593 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86594
86595         dirname code cleanup.  base_name now behaves more compatibly
86596         with POSIX basename when given file names that have trailing
86597         slashes, and similarly for dir_name.  Add new primitives
86598         base_len and dir_len.  Put the directory-name-related decls
86599         into dirname.h.
86600
86601         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86602         * lib/backupfile.c (base_name): Likewise.
86603         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86604         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86605         * lib/makepath.c (strip_trailing_slashes): Likewise.
86606         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86607         ISSLASH): Likewise.
86608         * lib/rename.c (strip_trailing_slashes): Likewise.
86609         * lib/same.c (base_name): Likewise.
86610         * lib/stripslash.c (ISSLASH): Likewise.
86611
86612         * lib/addext.c: Include <dirname.h> after size_t is defined.
86613         * lib/backupfile.c: Likewise.
86614
86615         * lib/addext.c (addext): Use base_len to trim redundant
86616         trailing slashes instead of doing it ourselves.
86617         But do not trim the last slash if it is not redundant.
86618
86619         * lib/backupfile.c (find_backup_file_name,
86620         max_backup_version): Use base_len instead of rolling it ourselves.
86621         Handle the case of "" and (on DOS) "C:" correctly.
86622
86623         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86624         needed. Include <string.h>, <dirname.h>.
86625         (base_name): Allow file names ending in slashes, other than names
86626         that are all slashes.  In this case, return the basename followed
86627         by the slashes.  This is more general, and can be used in places
86628         where the original base_name purposely had an assertion failure.
86629         (base_len): New function.
86630
86631         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86632         Do not include <assert.h>; no longer needed.
86633         Include xalloc.h.
86634         (memrchr): Remove decl.
86635         (dir_name_r): Remove.
86636         (dir_len): Renamed from dirlen.  All callers changed.
86637         Rewrite in terms of base_name, for simplicity and consistency.
86638         (dir_name): Never return NULL.  All callers changed.
86639         Do not include <stdlib.h> in test program; no longer needed.
86640         return 0; is fine for test program.
86641
86642         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86643         New macros.
86644         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86645
86646         * lib/path-concat.c (path_concat): Use base_len to compute
86647         base length, not strlen; this means we cannot rely on memcpy
86648         to null-terminate.
86649
86650         * lib/same.c (STREQ): Remove.
86651         (same_name): Handle the case where the basename ends in trailing '/'.
86652
86653         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86654         a slash was stripped.  Do not strip the last slash after a
86655         file system prefix.
86656
86657 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86658
86659         * lib/Makefile.am (libfetish_a_SOURCES):
86660         Add strftime.c, since we now compile it on all hosts.
86661
86662         * lib/strftime.c (my_strftime):
86663         Define to nstrftime if emacs, but only if my_strftime is not defined.
86664         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86665         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86666         Add one more extra argument: a nanoseconds value.
86667         All uses changed.
86668         (ns): New macro.
86669         (my_strftime function): Add %N format.
86670         (emacs_strftimeu): Renamed from emacs_strftime,
86671         with extra ut argument.
86672
86673 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86674
86675         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86676
86677 2001-04-21  Jim Meyering  <meyering@lucent.com>
86678
86679         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86680         doesn't interfere.
86681
86682 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86683
86684         * m4/ftruncate.m4: Check for chsize.
86685         Link with ftruncate.o unconditionally if ftruncate is missing.
86686         This was required when cross-compiling to i586-mingw32msvc.
86687
86688 2001-04-08  Jim Meyering  <meyering@lucent.com>
86689
86690         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86691         recomputed; that's necessary when the offset spans a DST transition.
86692         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86693
86694 2001-04-02  Jim Meyering  <meyering@lucent.com>
86695
86696         * lib/regex.h, regex.c: Update from GNU libc.
86697
86698 2001-03-24  Jim Meyering  <meyering@lucent.com>
86699
86700         * m4/jm-macros.m4: Require autoconf-2.49d.
86701
86702 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86703
86704         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86705
86706 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86707
86708         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86709
86710 2001-03-17  Jim Meyering  <meyering@lucent.com>
86711
86712         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86713         now that the version in autoconf is equivalent.
86714         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86715
86716         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86717         Suggestion from Akim Demaille.
86718
86719         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86720         (jm_PREREQ_TEMPNAME): New function.
86721
86722 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86723
86724         * lib/tempname.c (uint64_t): Define to uintmax_t if
86725         not defined, and if UINT64_MAX is not defined.
86726         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86727         Reported by John David Anglin.
86728
86729 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86730
86731         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86732         resolve alias if codeset is empty.
86733         * lib/config.charset (BeOS): Use wildcard syntax.
86734
86735 2001-03-13  Jim Meyering  <meyering@lucent.com>
86736
86737         * lib/path-concat.c (path_concat)
86738         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86739         concatenating e.g., `C:' and `foo'.
86740         From Bruno Haible.
86741
86742 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86743
86744         * lib/localcharset.c (locale_charset): Don't use
86745         setlocale(LC_CTYPE,NULL). Don't return NULL.
86746         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86747
86748 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86749
86750         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86751         support for DOS/DJGPP.
86752
86753 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86754
86755         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86756         lacks mkstemp.  Compile our own tempname.c if we compile our own
86757         mkstemp.c, as mkstemp relies on tempname.
86758
86759 2001-03-01  Jim Meyering  <meyering@lucent.com>
86760
86761         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86762         AH_VERBATIM really does output its argument verbatim.
86763
86764 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86765
86766         * lib/Makefile.am (libfetish_a_SOURCES):
86767         Add dup-safer.c, fopen-safer.c.
86768         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86769
86770         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86771         * lib/unistd-safer.h: New files.
86772
86773 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86774
86775         The mkstemp replacement is taken from glibc 2.2.2, with some
86776         portability fixes for use outside glibc, as follows:
86777
86778         * lib/tempname.c (struct_stat64): New macro.
86779         (direxists, __gen_tempname): Use it.
86780         This avoids a portability problem with Solaris 8.
86781
86782         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86783         (<stddef.h>, <stdint.h>, <string.h>):
86784         Include only if STDC_HEADERS || _LIBC.
86785         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86786         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86787         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86788         (__set_errno): Define this macro if <errno.h> doesn't.
86789         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86790         Define these macros if <stdio.h> doesn't.
86791         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86792         Define these macros if <sys/stat.h>
86793         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86794         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86795         __xstat64): Define if not _LIBC.
86796         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86797         (__gen_tempname): Invoke gettimeofday only if
86798         HAVE_GETTIMEOFDAY || _LIBC;
86799         otherwise, fall back on plain "time".
86800         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86801
86802         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86803
86804         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86805
86806 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86807
86808         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86809
86810 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86811
86812         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86813         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86814         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86815         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86816
86817 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86818
86819         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86820         Remove workaround macros for hosts that have mbrtowc but not
86821         mbstate_t, as we now insist on proper declarations for both
86822         before using mbrtowc.
86823
86824 2001-02-17  Jim Meyering  <meyering@lucent.com>
86825
86826         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86827         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86828         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86829         UnixWare 7.1.1.
86830
86831         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86832         rather than AC_CACHE_VAL.
86833
86834 2001-02-17  Jim Meyering  <meyering@lucent.com>
86835
86836         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86837         around included file name.
86838
86839         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86840
86841         * lib/strftime.c: Update from GNU libc (the only changes were to
86842         comments).
86843
86844 2001-02-17  Jim Meyering  <meyering@lucent.com>
86845
86846         * lib/regex.c: Update from libc.
86847
86848 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
86849
86850         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
86851         clash.
86852
86853 2001-02-16  Paul Eggert  <eggert@twinsun.com>
86854
86855         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
86856         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
86857         Reported by Mark Hounschell via Paul Eggert.
86858
86859 2001-02-07  Jim Meyering  <meyering@lucent.com>
86860
86861         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
86862
86863 2001-02-05  Jim Meyering  <meyering@lucent.com>
86864
86865         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
86866         it includes the patch required for `large file' support with at least
86867         HP-UX's 10.20 /bin/cc.
86868
86869 2001-02-03  Jim Meyering  <meyering@lucent.com>
86870
86871         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
86872         AS_IF, now that it works once again (mysteriously).
86873         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86874
86875 2001-01-30  Jim Meyering  <meyering@lucent.com>
86876
86877         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
86878         * m4/chown.m4: Rename conftestchown to conftest.chown.
86879         * m4/rename.m4: s/conftestdir/conftest.d1/ and
86880         s/conftestdir2/conftest.d2/.
86881         * m4/utimes.m4: s/conftestdata/conftest.data/
86882         Inspired by Pavel Roskin's change in autoconf.
86883
86884 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
86885
86886         * lib/config.charset: Update for FreeBSD 4.2.
86887
86888 2001-01-27  Jim Meyering  <meyering@lucent.com>
86889
86890         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
86891         a use of AS_IF.
86892         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86893
86894 2001-01-26  Jim Meyering  <meyering@lucent.com>
86895
86896         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
86897         quotearg.c includes it.
86898
86899 2001-01-26  Jim Meyering  <meyering@lucent.com>
86900
86901         * lib/quotearg.c: Include stddef.h.
86902         * lib/quote.c: Include stddef.h.
86903         Reported by Axel Kittenberger.
86904
86905         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
86906         line in double quotes so that it evokes a better diagnostic.
86907         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
86908         Reported by Axel Kittenberger.
86909
86910 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
86911
86912         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
86913         as if it was a `charset'.
86914
86915 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86916
86917         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
86918         has const.
86919
86920 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86921
86922         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
86923         to avoid a warning.  Add back 'const' to inptr.
86924
86925 2001-01-20  Jim Meyering  <meyering@lucent.com>
86926
86927         Be sure that headers are checked before used in code compiled
86928         for the type checks.
86929         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
86930         In place of that, invoke jm_CHECK_ALL_TYPES.
86931         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
86932         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
86933         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
86934         The check for ssize_t was mistakenly run before the test for unistd.h.
86935
86936         The configure-time check for stdbool.h was missing.
86937         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
86938         (jm_PREREQ_HASH): New function.
86939
86940 2001-01-17  Jim Meyering  <meyering@lucent.com>
86941
86942         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
86943         for autoconf-2.49c.
86944         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
86945
86946 2001-01-16  Jim Meyering  <meyering@lucent.com>
86947
86948         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
86949         From Bruno Haible.
86950
86951 2001-01-14  Jim Meyering  <meyering@lucent.com>
86952
86953         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
86954         foo and bar.  Create conftestdir/ in the script, not in the C code.
86955         Remove directories in the script, not in the C code.
86956         Remove conftestdir{,2} before trying to create the directory.
86957         Make the entire configure script fail if the mkdir fails.
86958
86959 2001-01-14  Jim Meyering  <meyering@lucent.com>
86960
86961         * lib/rename.c: New file.  From Volker Borchert.
86962         Include stdlib.h, string.h or strings.h, and xalloc.h.
86963         Use strip_trailing_slashes rather than open-coding it.
86964
86965 2001-01-03  Paul Eggert  <eggert@twinsun.com>
86966
86967         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
86968
86969 2001-01-03  Jim Meyering  <meyering@lucent.com>
86970
86971         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
86972         of local `inptr' to avoid warning with some system declarations of
86973         iconv.
86974
86975 2001-01-02  Volker Borchert  <bt@teknon.de>
86976
86977         * m4/rename.m4: New file.
86978         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
86979
86980 2001-01-01  Jim Meyering  <meyering@lucent.com>
86981
86982         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
86983         even on systems with utmpx.h.  It's necessary for the declaration of
86984         utmp's ut_user member.  Reported by Andreas Jaeger.
86985
86986         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
86987         available. They are required for the declarations of getgrgid and
86988         getpwuid resp.
86989         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
86990         Reported by Andreas Jaeger.
86991
86992 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
86993
86994         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
86995         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
86996         so `make install' also works in VPATH builds.
86997
86998 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
86999
87000         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
87001         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
87002         can be used in subdirectories.
87003
87004 2000-12-29  Paul Eggert  <eggert@twinsun.com>
87005
87006         * lib/modechange.c: Do not assume that mode_t uses the
87007         traditional octal encoding.  E.g. "chmod 1 FOO" should set
87008         the other-execute bit of FOO even if S_IXOTH != 1.
87009
87010         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
87011         WOTH, XOTH, ALLM): New macros.
87012         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
87013          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
87014         Use them.
87015         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
87016         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
87017         (mode_compile):
87018         No need to use uintmax_t; unsigned long is long enough.
87019         Don't bother to get suffix since we don't use it.
87020
87021 2000-12-26  Jim Meyering  <meyering@lucent.com>
87022
87023         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
87024         better with autoheader.
87025
87026 2000-12-24  Jim Meyering  <meyering@lucent.com>
87027
87028         * lib/hash.c (is_prime): Return explicit boolean values.
87029         (hash_get_first): Return NULL to appease Irix5.6's 89.
87030         Reported by Nelson Beebe.
87031
87032 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
87033
87034         * lib/localcharset.c (locale_charset): Add support for Win32.
87035
87036 2000-12-18  Paul Eggert  <eggert@twinsun.com>
87037
87038         * lib/physmem.h, lib/physmem.c: New files.
87039
87040         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
87041         (noinst_HEADERS): Add physmem.h.
87042
87043         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
87044         't' for compatibility with Solaris 8 sort.
87045
87046 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
87047
87048         * lib/config.charset: Add support for BeOS.
87049
87050 2000-12-17  Jim Meyering  <meyering@lucent.com>
87051
87052         * m4/dos.m4 (jm_AC_DOS): New file and macro.
87053         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
87054
87055 2000-12-16  Jim Meyering  <meyering@lucent.com>
87056
87057         This bug had a serious impact on chown: `chown N:M FILE' (for integer
87058         N and M) would have treated it like `chown N:N FILE'.
87059
87060         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
87061
87062 2000-12-16  Jim Meyering  <meyering@lucent.com>
87063
87064         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
87065         SHELLS_FILE to a file name that's useful on djgpp systems.
87066         Include stdlib.h.
87067         (ADDITIONAL_DEFAULT_SHELLS): Define.
87068         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
87069         Based mostly on a patch from Prashant TR.
87070
87071 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
87072
87073         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
87074         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
87075         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
87076
87077 2000-12-08  Andreas Schwab  <schwab@suse.de>
87078
87079         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
87080         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
87081
87082 2000-12-07  Jim Meyering  <meyering@lucent.com>
87083
87084         * lib/stripslash.c (ISSLASH): Define.
87085         (strip_trailing_slashes): Use ISSLASH rather than comparing against
87086         `/'.
87087         From Prashant TR.
87088
87089         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
87090         (dir_name_r): Declare this function as static.
87091         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
87092         manifest itself on a name containing a mix of slashes and
87093         backslashes.
87094         Make this function work with names starting with a DOS-style
87095         drive letter and colon prefix.
87096         (dir_name): Append `.' if necessary.
87097         Based mostly on patches from Prashant TR and Eli Zaretskii.
87098
87099         * lib/dirname.h (dir_name_r): Remove prototype.
87100
87101 2000-12-06  Paul Eggert  <eggert@twinsun.com>
87102
87103         * m4/off_t-format.m4: Remove this file.
87104         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
87105
87106 2000-12-06  Jim Meyering  <meyering@lucent.com>
87107
87108         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
87109         replacement strtoull, we may well need the replacement strtoul, too.
87110         Check for declarations of strtoul and strtoull.
87111         Check for strtol.  Mainly as a cue to cause automake to include
87112         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
87113         Check for limits.h -- strtol.c needs it.
87114
87115 2000-12-05  Jim Meyering  <meyering@lucent.com>
87116
87117         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
87118
87119 2000-12-04  Jim Meyering  <meyering@lucent.com>
87120
87121         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
87122         Also include memory.h, stdlib.h, unistd.h if appropriate.
87123         Reported by Andreas Jaeger (conflicting declaration of malloc).
87124
87125 2000-12-02  Jim Meyering  <meyering@lucent.com>
87126
87127         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
87128         * m4/jm-macros.m4 (jm_MACROS): require it.
87129
87130 2000-12-02  Jim Meyering  <meyering@lucent.com>
87131
87132         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
87133
87134 2000-12-01  Paul Eggert  <eggert@twinsun.com>
87135
87136         * lib/memrchr.c: Include <config.h> before any system include file.
87137
87138 2000-11-30  Jim Meyering  <meyering@lucent.com>
87139
87140         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
87141
87142 2000-11-30  Jim Meyering  <meyering@lucent.com>
87143
87144         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
87145
87146 2000-11-29  Paul Eggert  <eggert@twinsun.com>
87147
87148         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
87149
87150 2000-11-26  Jim Meyering  <meyering@lucent.com>
87151
87152         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
87153
87154 2000-11-22  Paul Eggert  <eggert@twinsun.com>
87155
87156         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
87157         size of (size_t) -1; it's not portable.
87158
87159 2000-11-17  Jim Meyering  <meyering@lucent.com>
87160
87161         * lib/strstr.c: Update from GNU libc.
87162
87163 2000-11-17  Akim Demaille  <akim@epita.fr>
87164
87165         * lib/obstack.h: Formatting changes.
87166         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
87167         prevent type checking.
87168         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
87169         cast the value to (void *): assigning a `foo *' to a `void *'
87170         variable is valid.
87171         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
87172
87173 2000-11-16  Jim Meyering  <meyering@lucent.com>
87174
87175         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
87176
87177 2000-11-11  Jim Meyering  <meyering@lucent.com>
87178
87179         * lib/error.c: Add a couple #includes, merging from GNU libc version.
87180
87181 2000-11-10  Jim Meyering  <meyering@lucent.com>
87182
87183         * lib/obstack.h: Update from GNU libc.
87184         * lib/obstack.c: Likewise.
87185
87186 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
87187
87188         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
87189
87190 2000-11-06  Paul Eggert  <eggert@twinsun.com>
87191
87192         * lib/getusershell.c (setusershell): Use rewind rather than
87193         fseek/fseeko, to avoid configuration hassles with fseeko.
87194         Don't bother opening SHELLS_FILE if shellstream is NULL;
87195         it's not necessary.
87196
87197 2000-11-05  Jim Meyering  <meyering@lucent.com>
87198
87199         * lib/makepath.h (make_dir): Declare.
87200         * lib/makepath.c (make_dir): Remove `static' attribute.
87201         Tweak a comment.
87202
87203 2000-11-04  Jim Meyering  <meyering@lucent.com>
87204
87205         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
87206
87207 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
87208
87209         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
87210         last one in a bucket, advance to the next bucket.
87211
87212 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
87213
87214         * lib/fnmatch.c: Do not comment out all the code if we are using
87215         the GNU C library, because in some cases we are replacing buggy
87216         code in the GNU C library itself.
87217
87218 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
87219
87220         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
87221         (regex_compile): Catch bogus \(\1\).
87222
87223 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87224
87225         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
87226         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
87227         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
87228
87229 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87230
87231         * lib/error.h, getline.h, modechange.h:
87232         Remove "2000" from Copyright line, as the file hasn't been
87233         changed this year other than in the copyright notice.
87234
87235         * lib/xalloc.h: Add "2000" to Copyright line, as this file
87236         was changed this year.
87237
87238 2000-10-29  Jim Meyering  <meyering@lucent.com>
87239
87240         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
87241         renaming.
87242         * m4/ls-mntd-fs.m4: Likewise
87243
87244 2000-10-29  Jim Meyering  <meyering@lucent.com>
87245
87246         * lib/xstat.in: Fix grammar in comment.
87247
87248 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
87249
87250         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
87251         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
87252         doesn't define __restrict_arr.
87253
87254 2000-10-28  Jim Meyering  <meyering@lucent.com>
87255
87256         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
87257         (jm_PREREQ_MEMCHR): New function.
87258
87259 2000-10-28  Jim Meyering  <meyering@lucent.com>
87260
87261         * lib/memchr.c: Update from libc.
87262         Adjust for portability:
87263         [HAVE_STDLIB_H]: Include stdlib.h.
87264         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
87265         Undef __memchr, too.
87266         [!weak_alias]: Define __memchr to memchr.
87267
87268         * lib/regex.c: Update from libc.
87269         * lib/regex.h: Likewise.
87270         * lib/getopt1.c: Likewise.
87271         * lib/memcmp.c: Likewise.
87272
87273         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
87274         Avoid using fseek, when possible -- it's broken by design.
87275         Patch by Ulrich Drepper.
87276
87277 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
87278
87279         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
87280         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
87281         Giving in to popular pressure to shut up the compiler with casts.
87282
87283 2000-10-26  Jim Meyering  <meyering@lucent.com>
87284
87285         * lib/strftime.c: Update from libc.
87286
87287 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
87288
87289         * regex.c: More `unsigned char' -> `re_char' changes.
87290         Also change several `int' into `re_wchar_t'.
87291         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
87292         (PUSH_FAILURE_POINTER): Don't cast any more.
87293         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
87294         We want GCC to complain, since this piece of code makes
87295         re_match non-reentrant, which *should* be fixed.
87296         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
87297         (EXTEND_BUFFER): Use RETALLOC.
87298         (SET_LIST_BIT): Don't cast.
87299         (re_wchar_t): New type.
87300         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
87301         that those two functions will always properly return.
87302         (IMMEDIATE_QUIT_CHECK): Cast to void.
87303         (analyse_first): Use recursion rather than an explicit stack.
87304         (re_compile_fastmap): Can't fail anymore.
87305         (re_search_2): Don't check re_compile_fastmap for failure.
87306         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
87307         Now also sets the new value (passed in a new argument).
87308         (re_match_2_internal): Use it.
87309         Also, use a new var `reg' of type size_t when looping through regs
87310         rather than reuse the inappropriate `mcnt'.
87311
87312 2000-10-25  Jim Meyering  <meyering@lucent.com>
87313
87314         * lib/obstack.c: Update from libc.
87315
87316 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
87317
87318         * regex.c (regex_compile): Change the way of handling a range from
87319         a char less than 256 to a char not less than 256.
87320
87321 2000-10-24  Andrew Innes  <andrewi@gnu.org>
87322
87323         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
87324         NT-Emacs only.
87325         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
87326         so that re_search functions only quit when callers expect them to.
87327
87328 2000-10-23  Jim Meyering  <meyering@lucent.com>
87329
87330         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
87331         wrong.  That set_locale call must not have any side effects.
87332         From Paul Eggert.
87333
87334 2000-10-22  Jim Meyering  <meyering@lucent.com>
87335
87336         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
87337         [CYCLIC]: Remove now-unused definition.
87338
87339         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
87340         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
87341         Suggestion from Ulrich Drepper.
87342
87343 2000-10-21  Jim Meyering  <meyering@lucent.com>
87344
87345         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
87346         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
87347         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
87348
87349 2000-10-21  Jim Meyering  <meyering@lucent.com>
87350
87351         * lib/dirname.c (memrchr): Declare if necessary.
87352         (dir_name): Remove the restriction that there be no
87353         trailing slashes.  Now, this code skips past them, effectively
87354         ignoring them.
87355         [TEST_DIRNAME] (main): New unit tests.
87356
87357         * lib/memrchr.c: New file from GNU libc.
87358         Undef __memrchr, too.
87359         [!weak_alias]: Define __memrchr to memrchr.
87360         Guard weak_alias use with `#ifdef weak_alias'.
87361
87362 2000-10-21  Jim Meyering  <meyering@lucent.com>
87363
87364         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
87365         (dir_name): Use dir_name_r.
87366         * lib/dirname.h (dir_name_r): Declare it.
87367
87368 2000-10-17  Jim Meyering  <meyering@lucent.com>
87369
87370         * lib/quote.h (PARAMS): Define and use.
87371         Reported by Akim Demaille.
87372
87373         * lib/getopt.c: Update from libc.
87374
87375 2000-10-16  Jim Meyering  <meyering@lucent.com>
87376
87377         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
87378         setlocale.
87379         From Jan Fedak.
87380
87381 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
87382
87383         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
87384
87385 2000-09-25  Jim Meyering  <meyering@lucent.com>
87386
87387         * lib/md5.h (rol): Define (from GnuPG).
87388
87389         * lib/sha.c: Give credit (GnuPG) where due.
87390         (M): Use rol rather than open-coding it.
87391         Add a FIXME comment.
87392
87393 2000-09-21  Jim Meyering  <meyering@lucent.com>
87394
87395         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
87396         Reported by Michael Stone.
87397
87398 2000-09-20  Jim Meyering  <meyering@lucent.com>
87399
87400         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
87401         (noinst_HEADERS): Add sha.h.
87402         Based on code from Scott G. Miller and from GnuPG.
87403
87404 2000-09-18  Jim Meyering  <meyering@lucent.com>
87405
87406         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
87407         LIBS. Otherwise, everyone ends up linking with -lelf for some
87408         configurations.
87409         Reported by Mike Stone.
87410
87411 2000-09-15  Jim Meyering  <meyering@lucent.com>
87412
87413         * lib/regex.c: Update from libc.
87414
87415 2000-09-10  Jim Meyering  <meyering@lucent.com>
87416
87417         * lib/getopt.c (_getopt_internal): Update from glibc.
87418
87419 2000-09-09  Jim Meyering  <meyering@lucent.com>
87420
87421         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
87422         think it should be used as a general replacement for isascii.
87423         * lib/fnmatch.c: Likewise.
87424         * lib/mbswidth.c: Likewise
87425         * lib/regex.c: Likewise.
87426
87427         Don't use atoi.
87428         * lib/userspec.c: Include sys/param.h and limits.h.
87429         Include xstrtol.h.
87430         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87431         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87432         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87433         UID, GID.  Check range.
87434
87435 2000-09-06  Jim Meyering  <meyering@lucent.com>
87436
87437         * lib/getopt.c (_getopt_internal): Update from glibc.
87438
87439 2000-08-30  Jim Meyering  <meyering@lucent.com>
87440
87441         * lib/strftime.c: Merge in changes from GNU libc.
87442
87443 2000-08-26  Jim Meyering  <meyering@lucent.com>
87444
87445         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87446         * m4/fpending.m4: New file.
87447
87448 2000-08-26  Jim Meyering  <meyering@lucent.com>
87449
87450         * lib/closeout.c: Include "__fpending.h".
87451         (close_stdout_status): Return right away if there's nothing to flush.
87452
87453         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87454         * lib/__fpending.c: New file.
87455         * lib/__fpending.h: New file.
87456
87457 2000-08-20  Jim Meyering  <meyering@lucent.com>
87458
87459         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87460         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87461         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87462
87463 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87464
87465         Improve fileutils installation on systems where running
87466         programs (like install) can't be unlinked.
87467         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87468         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87469
87470 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87471
87472         Standardize on "memory exhausted" instead of "Memory exhausted"
87473         or "virtual memory exhausted".
87474         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87475         "virtual memory exhausted".
87476         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87477         our own message.
87478         * lib/userspec.c (parse_user_spec): Likewise.
87479         * lib/bumpalloc.h: comment fix
87480         * lib/same.c, userspec.c: Include xalloc.h.
87481
87482         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87483         not char *const and pointing to a constant array.
87484         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87485         (xrealloc): Comment fix.
87486
87487         * lib/userspec.c (parse_user_spec):
87488         Don't translate a message until just before returning,
87489         to avoid unnecessary translation.
87490
87491 2000-08-07  Jim Meyering  <meyering@lucent.com>
87492
87493         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87494         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87495         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87496         getgroups.c, gethostname.c, getopt.h, group-member.c,
87497         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87498         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87499         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87500         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87501         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87502         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87503         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87504         yesno.c: Back out Copyright date changes for each file with no change
87505         this year.  This eases coordination with other programs using the same
87506         source code modules.  From Paul Eggert.
87507
87508 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87509
87510         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87511         not char, for compatibility with glibc 2.1.3 strftime.c.
87512
87513 2000-08-03  Greg McGary  <greg@mcgary.org>
87514
87515         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87516         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87517         (EXTEND_BUFFER): Use them.
87518
87519 2000-08-01  Jim Meyering  <meyering@lucent.com>
87520
87521         * lib/dirname.c (ISSLASH): Define.
87522         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87523         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87524         both `\' and `/' may be use as path separators.
87525         Based on a patch from Prashant TR.
87526
87527 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87528
87529         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87530         slot vector a constant, since it might get modified.
87531
87532 2000-07-31  Jim Meyering  <meyering@lucent.com>
87533
87534         * lib/xmalloc.c: Use `virtual memory exhausted', not
87535         `Memory exhausted'.
87536         * lib/obstack.c (print_and_abort): Likewise.
87537
87538 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87539
87540         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87541         buffer, so that the caller can always quote one small
87542         component of a "memory exhausted" message in slot 0.
87543         From a suggestion by Jim Meyering.
87544
87545 2000-07-30  Jim Meyering  <meyering@lucent.com>
87546
87547         * lib/makepath.c (make_path): Quote the other instance, too.
87548
87549         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87550         (STATIC_BUF_SIZE): Define.
87551         (quotearg_n_options): Use only statically allocated storage when
87552         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87553         than STATIC_BUF_SIZE.
87554
87555 2000-07-29  Jim Meyering  <meyering@lucent.com>
87556
87557         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87558         * lib/dirname.c (dir_name): Likewise.
87559
87560         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87561         `/'.
87562
87563         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87564         (dir_name): Assert that there are no trailing slashes.
87565
87566 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87567
87568         * lib/mbswidth.h (mbswidth): Add a flags argument.
87569         (mbswidth): New declaration.
87570         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87571         * lib/mbswidth.c (mbswidth): Add a flags argument.
87572         (mbsnwidth): New function.
87573
87574 2000-07-24  Jim Meyering  <meyering@lucent.com>
87575
87576         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87577
87578 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87579
87580         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87581
87582 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87583
87584         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87585         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87586         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87587         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87588         invoke multibyte primitives.
87589
87590 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87591
87592         * lib/quotearg.c:
87593         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87594         so that mbstate_t is always defined.
87595
87596         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87597         be 1 in at least one GCC installation, and this configuration
87598         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87599         performance on hosts that have mbrtowc but have only unibyte
87600         locales, but I assume these hosts are rare.
87601
87602 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87603
87604         * lib/mbswidth.c (_XOPEN_SOURCE):
87605         Don't define; this causes problems on Solaris 7.
87606         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87607
87608 2000-07-23  Jim Meyering  <meyering@lucent.com>
87609
87610         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87611         too: getgrgid, getpwuid, getuid.
87612
87613 2000-07-23  Jim Meyering  <meyering@lucent.com>
87614
87615         * lib/basename.c (base_name): Add an assertion.
87616
87617 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87618
87619         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87620         shadow its mbsinit function.
87621
87622 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87623
87624         * lib/mbswidth.h: New file.
87625         * lib/mbswidth.c: New file.
87626         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87627         (noinst_HEADERS): Add mbswidth.h.
87628
87629 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87630
87631         * lib/config.charset: Add support for FreeBSD. Improve support for
87632         HP-UX and IRIX 6.
87633
87634 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87635
87636         * m4/mbswidth.m4: New file.
87637         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87638
87639 2000-07-15  Jim Meyering  <meyering@lucent.com>
87640
87641         * lib/makepath.c: Include quote.h.
87642         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87643         corresponding argument in a `quote (...)' call.
87644         Give better diagnostics.
87645
87646         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87647         (noinst_HEADERS): Add quote.h.
87648
87649         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87650         from tar's src/misc.c.
87651         * lib/quote.h: New file.  Prototypes for same.
87652
87653 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87654
87655         From a suggestion by Bruno Haible.
87656         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87657         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87658         to decide whether to define the BeOS workaround macro;
87659         this adjusts to the change to AC_MBSTATE_T.
87660
87661 2000-07-14  Jim Meyering  <meyering@lucent.com>
87662
87663         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87664         jm_AC_TYPE_UINTMAX_T.
87665
87666 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87667
87668         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87669
87670         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87671         quotearg_buffer_restyled): Add support for
87672         clocale_quoting_style.  Undo previous change to
87673         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87674         and "{RIGHT QUOTATION MARK}" msgids.
87675
87676 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87677
87678         From a suggestion by Bruno Haible.
87679         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87680         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87681         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87682         and mbstate_t, to a single-part test that simply defines mbstate_t.
87683         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87684         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87685
87686 2000-07-10  Jim Meyering  <meyering@lucent.com>
87687
87688         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87689
87690         * m4/gnu-source.m4: Output to confdefs.h directly.
87691         Suggestion from Akim Demaille.
87692
87693 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87694
87695         The old behavior of quoting `like this' doesn't look good with
87696         newer, ISO-style fonts.  See:
87697         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87698
87699         Instead, quote "like this" by default.  Let the translator
87700         tailor the locale-specific quoting behavior by providing
87701         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87702
87703         * lib/quotearg.c (N_): New macro.
87704         (gettext_default): New function.
87705         (quotearg_buffer_restyled): Use
87706         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87707         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87708
87709 2000-07-09  Jim Meyering  <meyering@lucent.com>
87710
87711         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87712         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87713
87714         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87715         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87716
87717 2000-07-09  Jim Meyering  <meyering@lucent.com>
87718
87719         * lib/Most files: Update copyright dates to include 2000.
87720
87721 2000-07-08  Jim Meyering  <meyering@lucent.com>
87722
87723         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87724         if not defined.
87725         (xgethostname): Remove now-unnecessary #ifdef.
87726         Move declaration of `err' into loop where it's used.
87727
87728 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87729         and Bruno Haible  <haible@clisp.cons.org>
87730
87731         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87732         only if the test for an object-type mbstate_t fails.  This
87733         prevents us from mistakenly reporting that mbstate_t is a
87734         system object type after we "#define mbstate_t int" to work
87735         around its lack.
87736
87737 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87738         and Bruno Haible  <haible@clisp.cons.org>
87739
87740         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87741
87742 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87743
87744         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87745         to strerror_r.
87746         Include <ctype.h> for use of isalpha.
87747
87748 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87749
87750         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87751         by allocating a larger buffer. Test the gethostname return value for
87752         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87753         returns an error and ENAMETOOLONG isn't defined.
87754
87755 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87756
87757         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87758         dimension.
87759
87760 2000-07-04  Jim Meyering  <meyering@lucent.com>
87761
87762         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87763         of the deprecated AC_CHECKING.
87764
87765 2000-07-04  Jim Meyering  <meyering@lucent.com>
87766
87767         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87768         Reported by Bruno Haible.
87769
87770 2000-07-04  Jim Meyering  <meyering@lucent.com>
87771
87772         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87773         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87774         lacks mbrtowc.
87775
87776 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87777
87778         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87779         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87780
87781 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87782         and Bruno Haible  <haible@clisp.cons.org>
87783
87784         * lib/quotearg.c (mbrtowc):
87785         Assign to *pwc, and return 1 only if result is nonzero.
87786         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87787
87788 2000-07-03  Jim Meyering  <meyering@lucent.com>
87789
87790         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87791
87792 2000-07-03  Jim Meyering  <meyering@lucent.com>
87793
87794         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87795         This is necessary to get a definition of e.g., UTMP_FILE on
87796         HP-UX 10.20.
87797         From Bob Proulx.
87798
87799 2000-07-02  Jim Meyering  <meyering@lucent.com>
87800
87801         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87802
87803         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87804         AC_LIBOBJ(function_name).
87805         * m4/chown.m4: Likewise.
87806         * m4/fnmatch.m4: Likewise.
87807         * m4/ftruncate.m4: Likewise.
87808         * m4/getgroups.m4: Likewise.
87809         * m4/getline.m4: Likewise.
87810         * m4/group-member.m4: Likewise.
87811         * m4/jm-macros.m4: Likewise.
87812         * m4/lstat.m4: Likewise.
87813         * m4/malloc.m4: Likewise.
87814         * m4/memcmp.m4: Likewise.
87815         * m4/nanosleep.m4: Likewise.
87816         * m4/putenv.m4: Likewise.
87817         * m4/realloc.m4: Likewise.
87818         * m4/regex.m4: Likewise.
87819         * m4/stat.m4: Likewise.
87820         * m4/strftime.m4: Likewise.
87821
87822 2000-07-02  Jim Meyering  <meyering@lucent.com>
87823
87824         * lib/quotearg.c (mbstate_t): Don't define here.
87825
87826 2000-07-02  Jim Meyering  <meyering@lucent.com>
87827
87828         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87829
87830 2000-07-01  Jim Meyering  <meyering@lucent.com>
87831
87832         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87833
87834 2000-07-01  Jim Meyering  <meyering@lucent.com>
87835
87836         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87837         problem.
87838
87839 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87840
87841         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
87842         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
87843
87844 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87845
87846         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
87847         per change in ../m4/ls-mntd-fs.m4.
87848         (read_filesystem_list): Ignore symbolic links.
87849
87850 2000-06-29  Jim Meyering  <meyering@lucent.com>
87851
87852         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
87853         for declaration of strcmp.
87854
87855         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
87856
87857         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
87858         Avoid warning by casting result to `char *' to remove `const'.
87859
87860 2000-06-28  Jim Meyering  <meyering@lucent.com>
87861
87862         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
87863         included by quotearg.c, for which we perform this test.  From
87864         Bruno Haible.
87865
87866 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87867
87868         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
87869         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
87870         <utmpx.h> exists, put readutmp.o into LIBOBJS.
87871
87872 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87873
87874         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
87875
87876 2000-06-26  Paul Eggert  <eggert@twinsun.com>
87877
87878         savedir now sets errno on failure and invokes xmalloc to get memory.
87879         Fix a couple of other minor bugs while we're at it.
87880
87881         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
87882         (NAMLEN): Remove macro.
87883         (malloc, realloc): Remove decls.
87884         (stpcpy): Likewise.
87885         ("xalloc.h"): Include.
87886         (NAME_SIZE_DEFAULT): New macro.
87887         (savedir): Use xmalloc / xrealloc to allocate memory.
87888         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
87889         Skip "" directory entries.
87890         Use strlen to calculate directory entry length, since the old method
87891         is rarely used these days and isn't worth supporting.
87892         Don't use a pointer after freeing it.
87893         Check for integer overflow when calculating allocation size.
87894         Use memcpy to copy entries, instead of stpcpy.
87895         Set errno properly when returning NULL.
87896         Check for readdir error.
87897
87898 2000-06-26  Jim Meyering  <meyering@lucent.com>
87899
87900         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
87901
87902 2000-06-25  Jim Meyering  <meyering@lucent.com>
87903
87904         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
87905         Linux header bug when _XOPEN_SOURCE is defined to 500.
87906
87907 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87908
87909         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
87910         deficiency.
87911
87912 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87913
87914         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
87915         Include xalloc.h.
87916         Don't include <stdlib.h>.  Don't declare malloc, realloc.
87917
87918 2000-06-24  Jim Meyering  <meyering@lucent.com>
87919
87920         * m4/strerror_r.m4: Revive this file -- to try out an experimental
87921         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
87922         for which strerror does return char*, but which lacks a conveniently
87923         accessible declaration of the function.  If the compile-test says
87924         strerror_r doesn't work, then resort to a `run'-test that works on
87925         BeOS and segfaults on DEC Unix.
87926
87927 2000-06-24  Jim Meyering  <meyering@lucent.com>
87928
87929         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
87930
87931 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87932
87933         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
87934         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
87935
87936 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87937
87938         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
87939         (mbrtowc, mbstate_t): Define substitutes if
87940         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
87941         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
87942         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
87943
87944 2000-06-23  Jim Meyering  <meyering@lucent.com>
87945
87946         * m4/afs.m4: Add missing AC_MSG_RESULT.
87947         Reported by Bruno Haible.
87948
87949         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
87950         Suggestion from Bruno Haible.
87951
87952 2000-06-23  Jim Meyering  <meyering@lucent.com>
87953
87954         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
87955
87956 2000-06-21  Jim Meyering  <meyering@lucent.com>
87957
87958         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
87959
87960 2000-06-21  Jim Meyering  <meyering@lucent.com>
87961
87962         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
87963         (noinst_HEADERS): Add getstr.h.
87964
87965         * lib/getline.c (getstr): Move into a separate file.
87966         * lib/getstr.c (getstr): New file, extracted from getline.c, with
87967         the following changes: new parameter, delim2; both delim[12]
87968         parameters have type `int', not `char'.  The latter would lose
87969         with 8-bit delimiters.
87970         * lib/getstr.h: New file.
87971
87972 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87973
87974         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
87975         than 1024, return a memory chunk of least possible size, instead
87976         of size PATH_MAX + 2. In the loop, increment the size proportionally.
87977         Use free/xmalloc instead of xrealloc to avoid copying for very long
87978         paths.
87979
87980 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87981
87982         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
87983         the empty string.
87984
87985 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87986
87987         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
87988         address, not strdup.  Include <stdlib.h> and don't declare free().
87989
87990 2000-06-19  Jim Meyering  <meyering@lucent.com>
87991
87992         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
87993
87994 2000-06-18  Jim Meyering  <meyering@lucent.com>
87995
87996         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
87997
87998         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
87999         `checking whether...' message to be consistent with that of the
88000         lstat test.
88001
88002 2000-06-18  Jim Meyering  <meyering@lucent.com>
88003
88004         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
88005         Besides, these days every porting target provides a mkdir function.
88006
88007         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
88008         needed. (this snippet comes from src/system.h).
88009
88010 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
88011
88012         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
88013
88014 2000-06-15  Paul Eggert  <eggert@twinsun.com>
88015
88016         * lib/human.c (adjust_value): New function.
88017         (human_readable_inexact): Apply rounding style even when
88018         printing approximate values.
88019
88020 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88021
88022         * lib/human.c (human_readable_inexact): Allow an input block
88023         size that is not a multiple of the output block size, and vice versa.
88024         Reported by Piergiorgio Sartor.
88025
88026 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88027
88028         * lib/getdate.y (get_date): Apply relative times after time
88029         zone indicator, not before.  Reported by Todd A. Jacobs.
88030
88031 2000-06-13  Jim Meyering  <meyering@lucent.com>
88032
88033         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
88034
88035         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
88036
88037 2000-06-12  Paul Eggert  <eggert@twinsun.com>
88038
88039         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
88040
88041 2000-06-12  Jim Meyering  <meyering@lucent.com>
88042
88043         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
88044         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
88045         optional argument.
88046         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
88047         the optional argument, `lib'.
88048
88049 2000-06-08  Jim Meyering  <meyering@lucent.com>
88050
88051         * m4/largefile.m4: Remove file (now that it's part of autoconf).
88052
88053 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88054
88055         Rewrite largefile configuration so that we don't need to run
88056         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
88057         AC_CANONICAL_HOST in configure.in -- jmm]
88058
88059         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
88060         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
88061         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
88062         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
88063         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
88064         All uses changed.
88065         Instead of inspecting the output of getconf, try to compile the
88066         test program without and with the macro definition.
88067         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
88068         for getconf.  Instead, check for the needed flags by compiling
88069         test programs.
88070
88071 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88072
88073         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
88074
88075 2000-06-04  Jim Meyering  <meyering@lucent.com>
88076
88077         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
88078         SunOS 4.1.4 for which gid_t is an unsigned type.
88079
88080 2000-06-03  Jim Meyering  <meyering@lucent.com>
88081
88082         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
88083         now that autoconf requires that.
88084
88085         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
88086         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
88087         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
88088
88089 2000-06-03  Jim Meyering  <meyering@lucent.com>
88090
88091         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
88092
88093 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88094
88095         * m4/glibc21.m4: New file.
88096         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
88097
88098 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88099
88100         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
88101         newer, don't install charset.alias.
88102         * lib/config.charset: Change the Linux/glibc rules so they become empty
88103         on glibc-2.1 or newer.
88104
88105 2000-06-02  Jim Meyering  <meyering@lucent.com>
88106
88107         * lib/mountlist.c: Back out last change.  Instead, do this...
88108         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
88109         me_dummy member using the same `ignore'-testing code.
88110         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
88111         fs_type strings.
88112         From Mark D. Roth.
88113
88114 2000-05-29  Jim Meyering  <meyering@lucent.com>
88115
88116         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
88117         mounts with the `ignore' attribute.  Based on a patch from
88118         Mark D. Roth.
88119
88120 2000-05-28  Jim Meyering  <meyering@lucent.com>
88121
88122         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
88123         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88124         * m4/stat.m4: Likewise.
88125         * m4/lstat.m4: Likewise.
88126         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
88127
88128         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
88129         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
88130
88131 2000-05-26  Jim Meyering  <meyering@lucent.com>
88132
88133         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
88134
88135 2000-05-24  Jim Meyering  <meyering@lucent.com>
88136
88137         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
88138         autoconf requires that.
88139         * m4/lib-check.m4: Likewise.
88140         * m4/jm-macros.m4: Likewise.
88141         * m4/strftime.m4: Likewise.
88142
88143         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
88144         AC_CHECK_DECLS, now that autoconf requires that.
88145
88146 2000-05-22  Jim Meyering  <meyering@lucent.com>
88147
88148         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88149         * m4/lstat.m4: Likewise.
88150
88151 2000-05-22  Jim Meyering  <meyering@lucent.com>
88152
88153         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
88154
88155 2000-05-20  Jim Meyering  <meyering@lucent.com>
88156
88157         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
88158         (jm_PREREQ): Use it.
88159
88160 2000-05-18  Jim Meyering  <meyering@lucent.com>
88161
88162         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
88163         back, too, since it may have been modified by allocate_entry.
88164         (hash_delete): Rewrite to use neither the assignment operator
88165         nor the comma operator in an if-expression.
88166
88167 2000-05-15  Paul Eggert  <eggert@twinsun.com>
88168
88169         * lib/closeout.c:
88170         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
88171         Remove; no longer needed.
88172         "quotearg.h": Add include.
88173         (file_name): Do not bother to explicitly initialize to NULL; it's less
88174         efficient on some hosts.
88175         (close_stdout_status): Remove test as to whether stdout was already
88176         closed; it breaks for the case "echo x | sort >&-".
88177         Quote file name colons.
88178         Do not assume that _("write error") lacks format strings.
88179
88180 2000-05-15  Jim Meyering  <meyering@lucent.com>
88181
88182         * lib/version-etc.c (version_etc_copyright): Update the copyright
88183         string used in all --version output.
88184
88185 2000-05-14  Jim Meyering  <meyering@lucent.com>
88186
88187         * lib/closeout.c (close_stdout_set_file_name): New function.
88188         (close_stdout_status): Use new file-scoped global.
88189         Return right away if fstat says the stdout file descriptor is invalid.
88190         * lib/closeout.h (close_stdout_set_file_name): Declare.
88191
88192 2000-05-10  Jim Meyering  <meyering@lucent.com>
88193
88194         * lib/closeout.c [default_exit_status]: New file-scoped variable.
88195         (close_stdout_set_status): New function.
88196         * lib/closeout.h (close_stdout_set_status): Declare.
88197
88198 2000-05-09  Jim Meyering  <meyering@lucent.com>
88199
88200         * m4/gettext.m4: Rename this...
88201         * m4/libintl.m4: ...to this.
88202
88203 2000-05-08  Jim Meyering  <meyering@lucent.com>
88204
88205         * lib/long-options.c: Don't include closeout.h.
88206         (parse_long_options): Don't call close_stdout for --version.
88207
88208 2000-05-06  Paul Eggert  <eggert@twinsun.com>
88209
88210         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
88211         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
88212         2.1.3 bug.  This avoids a clash when files like regex.c define
88213         _GNU_SOURCE.
88214
88215 2000-05-06  Jim Meyering  <meyering@lucent.com>
88216
88217         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
88218         (AC_REPLACE_FUNCS): Add strnlen.
88219
88220         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
88221         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
88222
88223         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
88224         AC_SEARCH_LIBS call for nanosleep.
88225         (LIB_NANOSLEEP): Set and AC_SUBST.
88226
88227 2000-05-06  Jim Meyering  <meyering@lucent.com>
88228
88229         * lib/strnlen.c: Undefine __strnlen and strnlen.
88230         [!weak_alias]: Define __strnlen to strnlen.
88231
88232         * lib/atexit.c: New file, from libiberty.
88233
88234 2000-05-06  Jim Meyering  <meyering@lucent.com>
88235
88236         * lib/closeout.c (close_stdout_status): Also check for errors on the
88237         stderr stream.
88238
88239 2000-05-05  Jim Meyering  <meyering@lucent.com>
88240
88241         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
88242         AC_SEARCH_LIBS call for clock_gettime.
88243         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
88244
88245         * m4/search-libs.m4: Update from autoconf.
88246
88247         su doesn't work on Solaris 2.6.
88248         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
88249         <shadow.h>.  Reported by Dragos Harabor.
88250
88251 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
88252
88253         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
88254         memcpy instead of xmalloc, xrealloc, path_concat.
88255         (locale_charset): Treat empty environment variables as absent.
88256         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
88257
88258 2000-05-04  Jim Meyering  <meyering@lucent.com>
88259
88260         * lib/getopt.c: Update from glibc.
88261         * lib/obstack.c: Likewise.
88262         * lib/obstack.h: Likewise.
88263         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
88264         file
88265
88266         * lib/regex.h: Likewise.
88267         * lib/strndup.c: Likewise.
88268         * lib/strnlen.c: New file, from glibc.
88269
88270 2000-05-03  Jim Meyering  <meyering@lucent.com>
88271
88272         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
88273
88274 2000-05-02  Paul Eggert  <eggert@twinsun.com>
88275
88276         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
88277         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
88278         compile-time test, rather than inspecting host and OS, to
88279         decide whether to define _LARGEFILE_SOURCE.
88280
88281 2000-05-01  Jim Meyering  <meyering@lucent.com>
88282
88283         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
88284
88285         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
88286         Based on a patch from Bruno Haible.
88287
88288 2000-05-01  Jim Meyering  <meyering@lucent.com>
88289
88290         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
88291
88292 2000-04-29  Jim Meyering  <meyering@lucent.com>
88293
88294         * lib/path-concat.c: Declare strdup only if it's not defined.
88295         * lib/canon-host.c: Likewise.
88296
88297 2000-04-28  Jim Meyering  <meyering@lucent.com>
88298
88299         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
88300         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
88301         is included first, then limits.h is included by locale.h by libintl.h.
88302         From John David Anglin.
88303
88304 2000-04-25  Jim Meyering  <meyering@lucent.com>
88305
88306         * lib/makepath.c (S_IRWXUGO): Define.
88307         (make_path): Always perform explicit chmod if MODE specifies any
88308         of the `special' permission bits.  Prompted by a bug report against
88309         install from Mate Wierdl and Joost van Baal.
88310
88311 2000-04-18  Jim Meyering  <meyering@lucent.com>
88312
88313         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
88314         (jm_PREREQ): Use it.
88315
88316 2000-04-18  Jim Meyering  <meyering@lucent.com>
88317
88318         * lib/README: New file.
88319
88320         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
88321         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
88322
88323 2000-04-17  Jim Meyering  <meyering@lucent.com>
88324
88325         Get it right :-)
88326         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
88327         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
88328         Suggestion from Akim Demaille.
88329
88330 2000-04-17  Jim Meyering  <meyering@lucent.com>
88331
88332         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
88333         the definition of it to rpl_strftime also defined-away the system's
88334         declaration.
88335
88336 2000-04-15  Jim Meyering  <meyering@lucent.com>
88337
88338         Use `C' to denote so-called `contiguous' files, the same way
88339         that tar does.
88340         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
88341         (ftypelet): Use S_ISCTG.
88342         From Michael Deutschmann.
88343
88344 2000-04-14  Jim Meyering  <meyering@lucent.com>
88345
88346         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
88347         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
88348         clobbered.
88349
88350 2000-04-14  Jim Meyering  <meyering@lucent.com>
88351
88352         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
88353
88354 2000-04-13  Jim Meyering  <meyering@lucent.com>
88355
88356         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
88357         AH_VERBATIM to insert required #ifndef into config.h.in.
88358         Suggestion from Akim Demaille.
88359
88360 2000-04-12  Jim Meyering  <meyering@lucent.com>
88361
88362         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
88363         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
88364         Christian Krackowizer.
88365
88366         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
88367         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
88368         (AC_SYS_LARGEFILE): Require.
88369         (AM_C_PROTOTYPES): Require.
88370
88371 2000-04-08  Jim Meyering  <meyering@lucent.com>
88372
88373         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
88374         names don't conflict.  Reported by Eli Zaretskii.
88375
88376 2000-04-07  Jim Meyering  <meyering@lucent.com>
88377
88378         * lib/putenv.c: Move inclusion of errno.h so it follows that of
88379         sys/types.h, to work around system header problems on AIX 3.2.5.
88380         From Bruno Haible.
88381
88382 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
88383
88384         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
88385         bug.  Deal with the different error behavior of Irix iconv.
88386
88387 2000-04-05  Paul Eggert  <eggert@twinsun.com>
88388
88389         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
88390         IRIX if the installer said otherwise.
88391
88392 2000-04-05  Jim Meyering  <meyering@lucent.com>
88393
88394         Portability tweaks required for ultrix4.3.
88395         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
88396         (jm_CHECK_DECLS): Add getutent to the list of functions.
88397         (_jm_DECL_HEADERS): Add utmpx.h.
88398         From John David Anglin.
88399
88400         * m4/strftime.m4: Back out the 2000-04-02 change.
88401         Instead of that change, simply undefine putenv in the test program.
88402
88403 2000-04-05  Jim Meyering  <meyering@lucent.com>
88404
88405         Portability tweaks required for ultrix4.3.
88406         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
88407         getutent.
88408         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
88409         * lib/canon-host.c: Declare strdup.
88410         * lib/path-concat.c: Likewise.
88411         From John David Anglin.
88412
88413 2000-04-04  Jim Meyering  <meyering@lucent.com>
88414
88415         Be more DOS 8.3-friendly.
88416         * lib/ref-add.sin: Renamed from ref-add.sed.in.
88417         * lib/ref-del.sin: Renamed from ref-del.sed.in.
88418         * lib/Makefile.am: Reflect renaming.
88419         Reported by Eli Zaretskii.
88420
88421         Use a temporary file name that won't clash with `charset.alias'
88422         in the DOS 8.3 name space.
88423         * lib/Makefile.am (charset_tmp): Define.
88424         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
88425         (uninstall-local): Likewise.
88426         Reported by Eli Zaretskii.
88427
88428 2000-04-03  Jim Meyering  <meyering@lucent.com>
88429
88430         * m4/gettext.m4: Fix typo in comment.
88431
88432         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88433         textutils/configure.in).  Suggestion from Paul Eggert.
88434         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88435
88436 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88437
88438         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88439         variable in the shell rather than using putenv, which isn't
88440         portable.  This avoids the configure-time inter-test dependency
88441         on the potentially-renamed putenv function.
88442
88443 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88444
88445         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88446         before checking struct stat.st_blksize, so that
88447         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88448
88449 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88450
88451         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88452         since strftime.c uses HAVE_STRFTIME to decide whether to use
88453         the underlying strftime.
88454
88455 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88456
88457         * lib/time/strftime.c (my_strftime): Make sure we call the system
88458         strftime, not ourselves, when invoking the underlying strftime.
88459
88460 2000-03-24  Jim Meyering  <meyering@lucent.com>
88461
88462         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88463         (charset_alias): Define.
88464         (install-exec-local): Factor out common code.
88465         (uninstall-local): Split lines longer than 80.
88466         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88467         (SUFFIXES): Define.
88468         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88469         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88470
88471 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88472
88473         * lib/config.charset: Output a line containing "Packages using this
88474         file".
88475         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88476         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88477         ref-del.sed): New rules.
88478
88479 2000-03-17  Jim Meyering  <meyering@lucent.com>
88480
88481         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88482         Otherwise, include <strings.h>
88483
88484 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88485
88486         * lib/unicodeio.c (utf8_wctomb): New function.
88487         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88488         format instead of in UCS-4 with platform dependent endianness.
88489
88490 2000-03-10  Jim Meyering  <meyering@lucent.com>
88491
88492         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88493         From Marco Franzen.
88494
88495 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88496
88497         * lib/savedir.c (savedir): Work even if directory size is
88498         negative; this can happen with some screwy NFS configurations.
88499
88500 2000-03-06  Jim Meyering  <meyering@lucent.com>
88501
88502         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88503         if it's NULL (because we ran out of memory).  From Bruno Haible.
88504
88505 2000-03-05  Jim Meyering  <meyering@lucent.com>
88506
88507         * lib/localcharset.c ("path-concat.h"): Include.
88508         (get_charset_aliases): Use path_concat instead of ANSI string
88509         concatenation.
88510
88511         * lib/unicodeio.h (PARAMS): Define.
88512         Use it to guard prototype.
88513
88514 2000-03-04  Jim Meyering  <meyering@lucent.com>
88515
88516         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88517         for lib/localcharset.c.
88518
88519 2000-03-04  Jim Meyering  <meyering@lucent.com>
88520
88521         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88522         installing into it.
88523         (uninstall-local): Uncomment this rule so `make distcheck' works
88524         once again.
88525
88526         * lib/unicodeio.c (<errno.h>): Include it.
88527         (errno): Declare if not defined.
88528
88529         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88530
88531         * lib/config.charset: New version, incorporating remarks from a linux
88532         i18n mailing list.  From Bruno Haible.
88533
88534 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88535
88536         * m4/codeset.m4: New file.
88537         * m4/iconv.m4: New file.
88538         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88539
88540 2000-03-03  Jim Meyering  <meyering@lucent.com>
88541
88542         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88543
88544 2000-03-02  Jim Meyering  <meyering@lucent.com>
88545
88546         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88547         the messages come out on separate lines.
88548
88549         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88550         rather than jm_CHECK_DECLARATIONS.
88551         * m4/decl.m4: Remove now-unused file.
88552
88553         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88554         geteuid.
88555
88556 2000-03-02  Jim Meyering  <meyering@lucent.com>
88557
88558         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88559
88560 2000-03-01  Jim Meyering  <meyering@lucent.com>
88561
88562         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88563         * lib/unicodeio.c: Likewise.
88564
88565 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88566
88567         * lib/config.charset: New file.
88568         * lib/localcharset.c: New file.
88569         * lib/unicodeio.h, lib/unicodeio.c: New files.
88570         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88571         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88572         (noinst_HEADERS): Add unicodeio.h.
88573         (all-local, install-exec-local, charset.alias): New targets.
88574
88575 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88576
88577         * lib/quotearg.c (ALERT_CHAR): New macro.
88578         (quotearg_buffer_restyled): Use it.
88579
88580 2000-02-27  Jim Meyering  <meyering@lucent.com>
88581
88582         * m4/check-decl.m4: Add getenv to the list.
88583
88584 2000-02-27  Jim Meyering  <meyering@lucent.com>
88585
88586         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88587         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88588
88589         * lib/backupfile.c: Guard inclusion of stdlib.h with
88590         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88591         Declare malloc if needed.
88592
88593         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88594         `#ifndef HAVE_DECL..'
88595         now that autoconf always defines the HAVE_DECL_ symbols.
88596         * lib/human.c: Likewise.
88597         * lib/same.c: Likewise.
88598         * lib/strtoumax.c: Likewise.
88599
88600         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88601         declaration check was not run.
88602         * lib/hash.c: Likewise.
88603         * lib/human.c: Likewise.
88604         * lib/same.c: Likewise.
88605         * lib/strtoumax.c: Likewise.
88606
88607         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88608         `.', then first look up the entire `.'-containing string as a login
88609         name.
88610
88611 2000-02-23  Jim Meyering  <meyering@lucent.com>
88612
88613         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88614         in place of my hack.
88615
88616 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88617
88618         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88619         (textint): New typedef.
88620         (parser_control): Member year changed from int to textint.
88621         All uses changed.
88622         (YYSTYPE): Removed; replaced by %union with int and textint members.
88623         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88624         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88625         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88626         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88627         (date, number, to_year): Use width of number in digits, not its value,
88628         to determine whether it's a 2-digit year, or a 2-digit time.
88629         (yylex): Store number of digits of numeric tokens.
88630         Reported by John Kendall.
88631
88632         (parser_control): Changed from struct parser_control to typedef (for
88633         consistency).  All uses changed.
88634
88635         (tID): Removed; not used.
88636         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88637
88638 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88639
88640         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88641         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88642
88643 2000-02-12  Jim Meyering  <meyering@lucent.com>
88644
88645         * lib/userspec.c (ISDIGIT): Define it.
88646         (isdigit): Remove definition.
88647         (is_number): Use ISDIGIT, not isdigit.
88648         <libintl.h>: Include.
88649         (_ and N_): Define.
88650         (parse_user_spec): Mark translatable strings.
88651
88652 2000-02-10  Jim Meyering  <meyering@lucent.com>
88653
88654         With these changes, nanosleep.[ch] are finally enough like the other
88655         lib/* replacement files to compile on a few more losing systems.
88656
88657         * lib/nanosleep.h: Don't include config.h.
88658         Remove prototype from declaration of nanosleep.
88659         (PARAMS): Remove now-unneeded definition.
88660         * lib/nanosleep.c: #undef nanosleep.
88661         (rpl_nanosleep): Rename from nanosleep.
88662
88663 2000-02-10  Jim Meyering  <meyering@lucent.com>
88664
88665         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88666         gnu_nanosleep to rpl_nanosleep.
88667
88668 2000-02-09  Jim Meyering  <meyering@lucent.com>
88669
88670         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88671         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88672
88673 2000-02-08  Akim Demaille  <akim@epita.fr>
88674
88675         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88676         `[' and `]' and remove uses of `changequote'.
88677         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88678         (AC_SYS_LARGEFILE): Likewise.
88679         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88680         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88681         of changequote.
88682         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88683         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88684         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88685         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88686
88687 2000-02-05  Jim Meyering  <meyering@lucent.com>
88688
88689         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88690         Remove explicit use of AC_HEADER_TIME.  It is required by
88691         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88692         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88693         in autoconf whereby the expansion of the latter ended up preceding
88694         the expansion of its prerequisite, AC_HEADER_TIME.
88695         Reported by Volker Borchert.
88696
88697 2000-02-03  Jim Meyering  <meyering@lucent.com>
88698
88699         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88700
88701 2000-02-03  Jim Meyering  <meyering@lucent.com>
88702
88703         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88704         rather than with `#if HAVE_UTMPNAME'.
88705
88706 2000-02-02  Jim Meyering  <meyering@lucent.com>
88707
88708         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88709         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88710         Reported by Eli Zaretskii.
88711
88712 2000-02-01  Jim Meyering  <meyering@lucent.com>
88713
88714         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88715
88716 2000-01-31  Jim Meyering  <meyering@lucent.com>
88717
88718         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88719         functions.  Add the time.h and sys/time.h headers along with the
88720         AC_REQUIRE'ment of AC_HEADER_TIME.
88721
88722 2000-01-31  Jim Meyering  <meyering@lucent.com>
88723
88724         * lib/nanosleep.h (nanosleep): Guard declaration with
88725         `#if ! HAVE_DECL_NANOSLEEP'.
88726         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88727         the declaration in that vendor's sys/timers.h.
88728         Reported by Christian Krackowizer.
88729
88730         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88731         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88732         (ISPRINT): Likewise.
88733         Reported by Tom Tromey.
88734
88735 2000-01-30  Jim Meyering  <meyering@lucent.com>
88736
88737         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88738
88739         * m4/prereq.m4 (utmp_includes): Define.
88740         Check for ut_user and ut_name members in both struct utmpx
88741         and struct utmp.
88742
88743 2000-01-30  Jim Meyering  <meyering@lucent.com>
88744
88745         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88746         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88747         header files where only utmpx.ut_user is declared.
88748
88749         * lib/readutmp.h (UT_USER): Define.
88750
88751 2000-01-29  Jim Meyering  <meyering@lucent.com>
88752
88753         * m4/lib-check.m4: New file containing library-related checks from
88754         fileutils and sh-utils (textutils had none).
88755
88756 2000-01-28  Jim Meyering  <meyering@lucent.com>
88757
88758         * m4/perl.m4: Change format of warning message to look more like that
88759         from the missing script.  Suggestion from François Pinard.
88760
88761 2000-01-25  Jim Meyering  <meyering@lucent.com>
88762
88763         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88764         well as time.h in the compile check.
88765         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88766         Fix typo in cross-compiling case: s/yes/no/.
88767
88768 2000-01-23  Jim Meyering  <meyering@lucent.com>
88769
88770         * m4/jm-macros.m4: Move df-related tests here from
88771         fileutils/configure.in
88772
88773         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88774         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88775
88776         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88777         s/space/ac_fsusage_space/.
88778         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88779
88780         * m4/ftruncate.m4: New file (derived from part of
88781         fileutils/configure.in).
88782         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88783         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88784
88785         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88786         AC_SUBST these here, rather than just in sh-util/configure.in, so
88787         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88788         all the same.
88789         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88790         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88791         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88792         (AC_SUBST(POW_LIBM)): Likewise.
88793         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88794
88795 2000-01-23  Jim Meyering  <meyering@lucent.com>
88796
88797         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88798         obstack.c.
88799
88800 2000-01-22  Jim Meyering  <meyering@lucent.com>
88801
88802         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88803
88804         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88805
88806         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88807         configure.in
88808         (AC_CHECK_HEADERS): Likewise for sh-utils.
88809         (AC_CHECK_HEADERS): Likewise for textutils.
88810         Merge the three lists of headers.
88811
88812         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88813         from fileutils' configure.in.
88814
88815         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88816         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88817         check-decl.m4.
88818
88819         * m4/check-decl.m4: Use #if rather than #ifdef.
88820         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88821         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88822         (_jm_DECL_HEADERS): Define new function.
88823         (jm_CHECK_DECLARATIONS): Require it.
88824
88825 2000-01-22  Jim Meyering  <meyering@lucent.com>
88826
88827         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88828         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88829         Required for some AIX systems.  Reported by Christian Krackowizer.
88830         [TESTING] (main): New function.
88831
88832         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88833         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88834         letters.
88835
88836         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88837         iswprint.
88838
88839         * lib/strverscmp.c (ISDIGIT): Define.
88840         (strverscmp): Use ISDIGIT, not isdigit.
88841
88842 2000-01-19  Jim Meyering  <meyering@lucent.com>
88843
88844         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
88845         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
88846         defines `struct timespec' in <sys/time.h>
88847
88848         * m4/c-bs-a.m4: Remove uses of changequote altogether.
88849         Thanks to Akim for explaining.
88850
88851 2000-01-17  Paul Eggert  <eggert@twinsun.com>
88852
88853         * lib/nanosleep.c (nanosleep):
88854         Don't use SA_INTERRUPT to decide whether to call sigaction, as
88855         POSIX.1 doesn't require SA_INTERRUPT and some systems
88856         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
88857         it's been part of POSIX.1 since day 1 (in 1988).
88858
88859 2000-01-17  Jim Meyering  <meyering@lucent.com>
88860
88861         * lib/interlock: Remove unused file.  Reported by François Pinard.
88862
88863 2000-01-16  Paul Eggert  <eggert@twinsun.com>
88864
88865         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
88866         alert, backslash, formfeed, and vertical tab unnecessarily in
88867         shell quoting style.
88868
88869 2000-01-16  Jim Meyering  <meyering@lucent.com>
88870
88871         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
88872         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
88873         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
88874         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
88875
88876 2000-01-16  Jim Meyering  <meyering@lucent.com>
88877
88878         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
88879         because the latter didn't work.
88880
88881 2000-01-15  Jim Meyering  <meyering@lucent.com>
88882
88883         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
88884         (AC_REPLACE_FUNCS): Add memcpy and memset.
88885         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
88886         Add strpbrk.
88887         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
88888
88889 2000-01-12  Jim Meyering  <meyering@lucent.com>
88890
88891         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
88892         (jm_PREREQ): Use it.
88893         (jm_PREREQ_READUTMP): New macro.
88894         (jm_PREREQ): Use it.
88895
88896 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88897
88898         Quote multibyte characters correctly.
88899         * m4/c-bs-a.m4: New file.
88900         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
88901         (jm_PREREQ): Use it.
88902
88903 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88904
88905         * m4/uintmax_t.m4: Port to autoconf 2.13.
88906
88907 2000-01-08  Jim Meyering  <meyering@ascend.com>
88908
88909         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
88910         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
88911
88912 2000-01-04  Jim Meyering  <meyering@ascend.com>
88913
88914         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
88915         jm_STRUCT_DIRENT_D_TYPE.
88916         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
88917         jm_STRUCT_DIRENT_D_INO.
88918         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
88919         jm_STRUCT_UTIMBUF.
88920         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
88921         renamings.
88922         * m4/utime.m4: Likewise.
88923
88924         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
88925         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
88926
88927 2000-01-03  Paul Eggert  <eggert@twinsun.com>
88928
88929         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
88930         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
88931
88932 2000-01-02  Jim Meyering  <meyering@ascend.com>
88933
88934         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
88935         remember if this is necessary.
88936
88937 1999-12-26  Jim Meyering  <meyering@ascend.com>
88938
88939         * m4/jm-macros.m4: Use it here.
88940         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
88941
88942 1999-12-23  Jim Meyering  <meyering@ascend.com>
88943
88944         * m4/jm-macros.m4: Check for clock_gettime (moved from
88945         fileutils/configure.in)
88946         Check for gettimeofday.
88947
88948 1999-12-20  Jim Meyering  <meyering@ascend.com>
88949
88950         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
88951         autoconf-2.14a-1999-12-20.
88952
88953 1999-12-19  Jim Meyering  <meyering@ascend.com>
88954
88955         * m4/lstat-slash.m4: New file.
88956         * m4/jm-macros.m4: Use the new macro:
88957         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88958
88959 1999-12-07  Jim Meyering  <meyering@ascend.com>
88960
88961         * m4/perl.m4: Require that File::Compare be available, too.
88962         Too many systems seem to lack it.
88963
88964         * m4/strftime.m4: Add checks for most of the cpp macros tested in
88965         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
88966
88967 1999-11-18  Paul Eggert  <eggert@twinsun.com>
88968
88969         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
88970         problem with the QNX 4.25 shell, which doesn't propagate exit
88971         status of failed commands inside shell assignments.
88972
88973 1999-11-17  Jim Meyering  <meyering@ascend.com>
88974
88975         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
88976
88977 1999-11-07  Jim Meyering  <meyering@ascend.com>
88978
88979         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
88980
88981 1999-11-06  Jim Meyering  <meyering@ascend.com>
88982
88983         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
88984         * m4/jm-macros.m4 (jm_MACROS): Use it here.
88985
88986 1999-11-05  Jim Meyering  <meyering@ascend.com>
88987
88988         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
88989         configure.in of textutils, fileutils, and sh-utils into this one
88990         (shared between those packages) file.
88991         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
88992         AC_STRUCT_ST_BLKSIZE.
88993
88994 1999-11-03  Jim Meyering  <meyering@ascend.com>
88995
88996         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
88997         of AC_CHECK_TYPE checks includes unistd.h.
88998         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
88999         Suggestion from Akim Demaille.
89000
89001 1999-10-30  Jim Meyering  <meyering@ascend.com>
89002
89003         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
89004         m4-quoted string.
89005         * m4/ls-mntd-fs.m4: Likewise.
89006         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
89007         * m4/jm-winsz1.m4: Likewise.
89008
89009         * m4/const.m4: Remove file, since the fix made it into the experimental
89010         version of autoconf.
89011         * m4/mktime.m4: Likewise.
89012
89013         * m4/check-type.m4: Remove file, now that the latest version of
89014         AC_CHECK_TYPE takes a third arg to specify additional #includes.
89015
89016         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
89017         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
89018         AC_CHECK_TYPE.
89019
89020 1999-10-04  Jim Meyering  <meyering@ascend.com>
89021
89022         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
89023
89024 1999-09-22  Paul Eggert  <eggert@twinsun.com>
89025
89026         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
89027         2.95.1 bug with HP-UX 10.20.
89028
89029 1999-09-17  Jim Meyering  <meyering@ascend.com>
89030
89031         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
89032         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
89033         due to missing strdup (against sh-utils-2.0).
89034
89035 1999-08-29  Jim Meyering  <meyering@ascend.com>
89036
89037         * m4/jm-macros.m4: Require jm_BISON.
89038         * m4/bison.m4: New file.
89039
89040 1999-08-17  Paul Eggert  <eggert@twinsun.com>
89041
89042         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
89043         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
89044
89045 1999-08-05  Jim Meyering  <meyering@ascend.com>
89046
89047         * m4/getline.m4: Rename test file from conftestdata to conftest.data
89048         to avoid conflicts with `conftest' on 8+3 filesystems.
89049         Suggestion from Eli Zaretskii.
89050
89051 1999-08-04  Jim Meyering  <meyering@ascend.com>
89052
89053         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
89054         fileutils and sh-utils (textutils's getline test was inadequate).
89055         (AM_FUNC_GETLINE): Run this test.
89056         (AC_CHECK_FUNCS): Check for getdelim.
89057         Reported by Bob Proulx.
89058
89059 1999-08-02  Jim Meyering  <meyering@ascend.com>
89060
89061         * m4/jm-macros.m4: Add a comment.
89062
89063 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89064
89065         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
89066         <inttypes.h> defines strtoumax as a macro (and not as a
89067         function).
89068
89069 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89070
89071         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
89072         that we can shift, multiply and divide unsigned long long
89073         values; Ultrix cc can't do it.
89074
89075 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89076
89077         * m4/mktime.m4: New file, which is a preview of what should appear
89078         in the next public autoconf release.
89079
89080 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89081
89082         * m4/lfs.m4: Remove this file.
89083         * m4/largefile.m4: New file.  It contains the old contents of
89084         lfs.m4, except that all names with prefix AC_LFS have been
89085         changed to use the prefix AC_SYS_LARGEFILE instead, to be
89086         compatible with future autoconf versions.  Also, some minor m4
89087         quoting problems have been fixed.
89088
89089 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89090
89091         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
89092         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
89093         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
89094         and simplify the shell code.
89095
89096 1999-08-01  Jim Meyering  <meyering@ascend.com>
89097
89098         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
89099         m4.
89100
89101 1999-07-20  Jim Meyering  <meyering@ascend.com>
89102
89103         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
89104
89105 1999-07-15  Jim Meyering  <meyering@ascend.com>
89106
89107         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
89108
89109 1999-05-22  Jim Meyering  <meyering@ascend.com>
89110
89111         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
89112
89113 1999-05-20  Jim Meyering  <meyering@ascend.com>
89114
89115         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
89116         Add a colon after each `then' in case $4 is empty.
89117
89118 1999-05-16  Jim Meyering  <meyering@ascend.com>
89119
89120         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
89121
89122 1999-05-10  Jim Meyering  <meyering@ascend.com>
89123
89124         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
89125
89126         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
89127         AC_FUNC_MKTIME.
89128
89129 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
89130
89131         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
89132
89133 1999-05-04  Paul Eggert  <eggert@twinsun.com>
89134
89135         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
89136         not CPPFLAGS, so that linking works correctly in IRIX.
89137
89138 1999-04-30  Paul Eggert  <eggert@twinsun.com>
89139
89140         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
89141
89142 1999-04-20  Paul Eggert  <eggert@twinsun.com>
89143
89144         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
89145         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
89146         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
89147         jm_AC_TYPE_UNSIGNED_LONG_LONG.
89148         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
89149
89150         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
89151
89152 1999-04-20  Jim Meyering  <meyering@ascend.com>
89153
89154         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
89155         AC_REPLACE xstroull if necessary.  From Paul Eggert.
89156         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
89157
89158 1999-04-18  Jim Meyering  <meyering@ascend.com>
89159
89160         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
89161         * m4/jm-macros.m4: Use it.
89162
89163 1999-04-06  Jim Meyering  <meyering@ascend.com>
89164
89165         * m4/strftime.m4: Remove test for %f.
89166
89167 1999-03-29  Jim Meyering  <meyering@ascend.com>
89168
89169         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
89170         superset of the AC_TYPE_* checks in the textutils, fileutils,
89171         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
89172         AC_TYPE_PID_T.
89173
89174 1999-03-28  Jim Meyering  <meyering@ascend.com>
89175
89176         * m4/jm-macros.m4: Define GNU_PACKAGE here.
89177         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
89178         replaced e.g., in the *.sh files of the sh-utils.
89179
89180 1999-03-20  Jim Meyering  <meyering@ascend.com>
89181
89182         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
89183         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
89184         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
89185
89186 1999-03-19  Jim Meyering  <meyering@ascend.com>
89187
89188         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
89189
89190 1999-03-12  Jim Meyering  <meyering@ascend.com>
89191
89192         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
89193
89194 1999-03-07  Jim Meyering  <meyering@ascend.com>
89195
89196         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
89197         declared.
89198
89199 1999-02-17  Jim Meyering  <meyering@ascend.com>
89200
89201         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
89202         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
89203
89204 1999-02-07  Jim Meyering  <meyering@ascend.com>
89205
89206         * m4/group-member.m4: New file -- extracted from sh-utils'
89207         configure.in.
89208
89209         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
89210         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
89211
89212 1999-02-06  Jim Meyering  <meyering@ascend.com>
89213
89214         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
89215         * m4/fnmatch.m4: Likewise.
89216         * m4/getgroups.m4: Likewise.
89217         * m4/lstat.m4: Likewise.
89218         * m4/malloc.m4: Likewise.
89219         * m4/putenv.m4: Likewise.
89220         * m4/realloc.m4: Likewise.
89221         * m4/regex.m4: Likewise.
89222         * m4/stat.m4: Likewise.
89223         * m4/strftime.m4: Likewise.
89224         Suggestion from Alain Magloire.
89225
89226         * m4/chown.m4: Use `.$ac_objext', not `.o'.
89227         * m4/fnmatch.m4: Likewise.
89228         * m4/getgroups.m4: Likewise.
89229         * m4/getline.m4: Likewise.
89230         * m4/lstat.m4: Likewise.
89231         * m4/malloc.m4: Likewise.
89232         * m4/memcmp.m4: Likewise.
89233         * m4/putenv.m4: Likewise.
89234         * m4/realloc.m4: Likewise.
89235         * m4/regex.m4: Likewise.
89236         * m4/stat.m4: Likewise.
89237         * m4/strftime.m4: Likewise.
89238         Suggestion from Alain Magloire.
89239
89240         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
89241         an argument.
89242
89243         * m4/regex.m4: Add a run-time Test for proper operation of
89244         re_compile_pattern.
89245
89246 1999-01-31  Jim Meyering  <meyering@ascend.com>
89247
89248         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
89249
89250 1999-01-30  Jim Meyering  <meyering@ascend.com>
89251
89252         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
89253
89254         * m4/jm-mktime.m4: Make this a wrapper around the official
89255         AM_FUNC_MKTIME rather than my private copy, now that the official one
89256         is up to date.
89257         * m4/mktime.m4: Remove file.
89258
89259         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
89260         * m4/uptime.m4: Likewise.
89261         * m4/uintmax_t.m4: Likewise.
89262
89263 1999-01-28  Jim Meyering  <meyering@ascend.com>
89264
89265         * m4/jm-macros.m4: Use jm_AFS.
89266         * m4/afs.m4: New file (from fileutils' configure.in).
89267
89268         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
89269         * m4/chown.m4: Likewise.
89270         * m4/d-ino.m4: Likewise.
89271         * m4/d-type.m4: Likewise.
89272         * m4/fnmatch.m4: Likewise.
89273         * m4/getgroups.m4: Likewise.
89274         * m4/gettext.m4: Likewise.
89275         * m4/jm-mktime.m4: Likewise.
89276         * m4/jm-winsz2.m4: Likewise.
89277         * m4/lcmessage.m4: Likewise.
89278         * m4/ls-mntd-fs.m4: Likewise.
89279         * m4/malloc.m4: Likewise.
89280         * m4/memcmp.m4: Likewise.
89281         * m4/putenv.m4: Likewise.
89282         * m4/realloc.m4: Likewise.
89283         * m4/st_mtim.m4: Likewise.
89284         * m4/strftime.m4: Likewise.
89285
89286 1999-01-16  Jim Meyering  <meyering@ascend.com>
89287
89288         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
89289         (ARGMATCH_DIE_DECL): Define.
89290
89291 1999-01-12  Jim Meyering  <meyering@ascend.com>
89292
89293         * m4/Makefile.am.in: Rewrite to avoid using fmt.
89294         Reported by Lars Hecking.
89295
89296 1999-01-10  Jim Meyering  <meyering@ascend.com>
89297
89298         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
89299         gross kludge.
89300         * m4/inttypes_h.m4: Likewise.
89301         * m4/lstat.m4: Likewise.
89302         * m4/malloc.m4: Likewise.
89303         * m4/readdir.m4: Likewise.
89304         * m4/realloc.m4: Likewise.
89305         * m4/st_dm_mode.m4: Likewise.
89306         * m4/stat.m4: Likewise.
89307         * m4/utimbuf.m4: Likewise.
89308         * m4/utimes.m4: Likewise.
89309
89310         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
89311         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
89312         comments in config.h.in are meaningful.
89313
89314         * m4/jm-macros.m4: Require autoconf-2.13 here.
89315
89316         * m4/regex.m4: By default, don't use the included regex.c on systems
89317         with glibc 2.  Suggestion from Uli Drepper.
89318
89319 1999-01-02  Jim Meyering  <meyering@ascend.com>
89320
89321         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
89322
89323 1998-12-18  Jim Meyering  <meyering@ascend.com>
89324
89325         * m4/Makefile.am.in (Makefile.am): Simplify rule.
89326         Based on a suggestion from Lars Hecking.
89327
89328 1998-11-16  Paul Eggert  <eggert@twinsun.com>
89329
89330         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
89331
89332 1998-11-16  Jim Meyering  <meyering@ascend.com>
89333
89334         * m4/lfs.m4: Double-quote the `uname...` expression.
89335
89336 1998-11-14  Jim Meyering  <meyering@ascend.com>
89337
89338         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
89339         * m4/stat.m4: Likewise.
89340
89341 1998-11-03  Jim Meyering  <meyering@ascend.com>
89342
89343         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
89344         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
89345
89346 1998-10-18  Jim Meyering  <meyering@ascend.com>
89347
89348         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
89349
89350 1998-10-17  Jim Meyering  <meyering@ascend.com>
89351
89352         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
89353         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
89354         calls for those previously hard-coded headers.  Instead, take a new
89355         parameter.
89356         (jm_CHECK_DECLARATIONS): Reflect interface change.
89357         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
89358         (jm_CHECK_DECL_LOCALTIME_R): New macro.
89359
89360         * m4/mktime.m4: Test for spring-forward gap before long-running test.
89361
89362 1998-10-14  Jim Meyering  <meyering@ascend.com>
89363
89364         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
89365         instead of "TZ=America/Vancouver".  From Paul Eggert.
89366
89367 1998-10-11  Jim Meyering  <meyering@ascend.com>
89368
89369         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
89370         This adds a test for a recently added compatibility fix for mktime.c.
89371         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
89372
89373 1998-09-27  Jim Meyering  <meyering@ascend.com>
89374
89375         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
89376
89377         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
89378         ../configure.in, including a change from Gordon Matzigkeit to allow
89379         cross-compiling for the Hurd.
89380
89381         * m4/glibc.m4: New file/macro to test for the GNU C Library
89382         versions 1 and 2.  From Gordon Matzigkeit.
89383         Indent.
89384
89385 1998-09-21  Jim Meyering  <meyering@ascend.com>
89386
89387         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
89388
89389 1998-08-18  Paul Eggert  <eggert@twinsun.com>
89390
89391         Port nanosecond-resolution times to UnixWare 2.1.2 and
89392         pedantic Solaris 2.6.
89393
89394         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
89395         AC_STRUCT_ST_MTIM.
89396         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
89397         Generate name of ns member, instead of just 1 or undef.
89398         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
89399
89400 1998-08-15  Jim Meyering  <meyering@ascend.com>
89401
89402         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
89403         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
89404         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
89405         instead of jm_TYPE_SSIZE_T.
89406
89407 1998-08-12  Jim Meyering  <meyering@ascend.com>
89408
89409         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
89410
89411 1998-08-02  Jim Meyering  <meyering@ascend.com>
89412
89413         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
89414         in acconfig.h manually.
89415
89416 1998-07-31  Paul Eggert  <eggert@twinsun.com>
89417
89418         * m4/st_mtim.m4: New file.
89419
89420 1998-07-28  Jim Meyering  <meyering@ascend.com>
89421
89422         * m4/utimes.m4: Undef stat.
89423
89424 1998-07-25  Jim Meyering  <meyering@ascend.com>
89425
89426         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
89427         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
89428
89429 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89430
89431         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89432         uid and gid actually remain unchanged.
89433
89434 1998-07-07  Jim Meyering  <meyering@ascend.com>
89435
89436         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89437
89438 1998-07-04  Jim Meyering  <meyering@ascend.com>
89439
89440         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89441         to prove that this macro can be used in packages without regex.c.
89442
89443 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89444
89445         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89446         is to be used.
89447
89448 1998-07-03  Jim Meyering  <meyering@ascend.com>
89449
89450         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89451
89452         * m4/gettext.m4: New file -- from gettext-0.10.35.
89453         * m4/lcmessage.m4: Likewise.
89454         * m4/progtest.m4: Likewise.
89455
89456         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89457         * m4/jm-macros.m4: Require the new macro.
89458
89459 1998-06-29  Jim Meyering  <meyering@ascend.com>
89460
89461         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89462         for the definition of NGROUPS (used in a system header included
89463         by sys/mount.h).
89464
89465 1998-06-28  Jim Meyering  <meyering@ascend.com>
89466
89467         * m4/ls-mntd-fs.m4: New file.
89468         * m4/fstypename.m4: New file.
89469
89470         * m4/jm-macros.m4: Require the new macro.
89471         * m4/jm-glibc-io.m4: New file.
89472
89473 1998-05-19  Jim Meyering  <meyering@ascend.com>
89474
89475         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89476         * m4/lchown.m4: New file.
89477
89478         * m4/Makefile.am.in: New file.
89479         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89480
89481 1998-05-14  Jim Meyering  <meyering@ascend.com>
89482
89483         * m4/Makefile.am (EXTRA_DIST): Add them.
89484         * m4/jm-macros.m4: New file.
89485         * m4/utimbuf.m4: New file.
89486
89487 1998-05-12  Jim Meyering  <meyering@ascend.com>
89488
89489         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89490
89491 1998-05-11  Jim Meyering  <meyering@ascend.com>
89492
89493         * m4/isc-posix.m4: New file.
89494
89495 1998-05-10  Jim Meyering  <meyering@ascend.com>
89496
89497         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89498
89499 1998-05-09  Jim Meyering  <meyering@ascend.com>
89500
89501         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89502         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89503         with automake.
89504
89505         * m4/ssize_t.m4: New file.
89506         * m4/mktime.m4: Remove file -- the new automake has this now.
89507
89508 1998-04-26  Jim Meyering  <meyering@ascend.com>
89509
89510         * m4/assert.m4: New file.
89511         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89512
89513 1998-04-05  Jim Meyering  <meyering@ascend.com>
89514
89515         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89516         (jm_PREREQ): Use it here.
89517
89518 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89519
89520         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89521         in acconfig.h.
89522
89523 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89524
89525         * m4/prereq.m4: New file.
89526         * m4/error.m4: New file.
89527         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89528
89529 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89530
89531         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89532         cache-check for the same variable -- that defeated the purpose of
89533         the test; the test program was never run.  This was a problem only
89534         on systems with losing getline functions -- HP-UX 10.20 is one.
89535         Reported by Bjorn Helgaas.
89536
89537 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89538
89539         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89540
89541 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89542
89543         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89544
89545         * m4/const.m4: New file.  Use an initializer in this declaration
89546         typedef int charset[2]; const charset x;
89547         Reported by Bob Glickstein.
89548
89549 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89550
89551         * m4/chown.m4: Fix reversed types on -1 args to chown.
89552         From Kaveh Ghazi.
89553
89554 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89555
89556         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89557         Add lseek and memchr.
89558
89559         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89560         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89561         have a 20-character limit on names.
89562
89563 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89564
89565         * m4/inttypes_h.m4: New file.
89566         * m4/uintmax_t.m4: New file.
89567         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89568
89569
89570         -----
89571
89572         Local Variables:
89573         coding: utf-8
89574         End:
89575
89576         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89577
89578         Copying and distribution of this file, with or without
89579         modification, are permitted provided the copyright notice
89580         and this notice are preserved.