1761f56804dd8d83312340b011e1b903332a1901
[gnulib.git] / ChangeLog
1 2011-11-07  Eric Blake  <eblake@redhat.com>
2
3         grantpt: fix typo
4         * lib/stdlib.in.h (grantpt): Check correct function.
5
6         maint.mk: silence new syntax check
7         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
8
9 2011-11-06  Bruno Haible  <bruno@clisp.org>
10
11         Doc about floating-point and math API.
12         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
13         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
14
15 2011-11-06  Bruno Haible  <bruno@clisp.org>
16
17         stdalign tests: Skip the test when compiled by Sun C.
18         * tests/test-stdalign.c (main): Skip the test on Sun C.
19
20 2011-11-06  Bruno Haible  <bruno@clisp.org>
21
22         ansi-c++-opt: Complete the 2011-06-05 change.
23         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
24         does not support namespaces, set the variable to "no", not to ":".
25
26 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
27
28         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
29
30 2011-11-06  Bruno Haible  <bruno@clisp.org>
31
32         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
33         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
34         (minus_zerol) [HP-UX]: New macro.
35         (unary_minus) [HP-UX]: New function.
36         (copysignl) [HP-UX]: Use unary_minus function.
37
38 2011-11-06  Bruno Haible  <bruno@clisp.org>
39
40         ldexp, ldexpf, ldexpl: Enhance tests.
41         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
42         and tests/test-ldexpl.c.
43         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
44         LDEXP, MIN_EXP, MAX_EXP): New macros.
45         Include test-ldexp.h.
46         (main): Just call test_function.
47         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
48         infinity.h, nan.h.
49         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
50         MAX_EXP): New macros.
51         Include test-ldexp.h.
52         (x, y): Remove variables.
53         (main): Just call test_function.
54         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
55         infinity.h, nan.h.
56         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
57         MAX_EXP): New macros.
58         Include test-ldexp.h.
59         (x, y): Remove variables.
60         (main): Just call test_function.
61         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
62         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
63         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
64         (Depends-on): Add isnand-nolibm, signbit, float.
65         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
66         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
67         (Depends-on): Add isnanf-nolibm, signbit, float.
68
69 2011-11-06  Bruno Haible  <bruno@clisp.org>
70
71         math tests: Cosmetics.
72         * tests/test-math-c++.cc: Reorder declarations.
73
74 2011-11-05  Bruno Haible  <bruno@clisp.org>
75
76         fma*: Simplify test.
77         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
78         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
79
80         Tests for module 'fmal'.
81         * modules/fmal-tests: New file.
82         * tests/test-fmal1.c: New file.
83         * tests/test-fmal2.c: New file.
84
85         New module 'fmal'.
86         * lib/math.in.h (fmal): New declaration.
87         * lib/fmal.c: New file.
88         * m4/fmal.m4: New file.
89         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
90         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
91         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
92         REPLACE_FMAL.
93         * modules/fmal: New file.
94         * doc/posix-functions/fmal.texi: Mention the new module and the various
95         bugs.
96
97         Tests for module 'fmaf'.
98         * modules/fmaf-tests: New file.
99         * tests/test-fmaf1.c: New file.
100         * tests/test-fmaf2.c: New file.
101
102         New module 'fmaf'.
103         * lib/math.in.h (fmaf): New declaration.
104         * lib/fmaf.c: New file.
105         * m4/fmaf.m4: New file.
106         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
107         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
108         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
109         REPLACE_FMAF.
110         * modules/fmaf: New file.
111         * doc/posix-functions/fmaf.texi: Mention the new module and the various
112         bugs.
113
114         Tests for module 'fma'.
115         * modules/fma-tests: New file.
116         * tests/test-fma1.c: New file.
117         * tests/test-fma1.h: New file.
118         * tests/test-fma2.c: New file.
119         * tests/test-fma2.h: New file.
120
121         New module 'fma'.
122         * lib/math.in.h (fma): New declaration.
123         * lib/fma.c: New file.
124         * m4/fma.m4: New file.
125         * m4/fegetround.m4: New file.
126         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
128         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
129         REPLACE_FMA.
130         * modules/fma: New file.
131         * doc/posix-functions/fma.texi: Mention the new module and the various
132         bugs.
133
134         Extend gl_MATHFUNC.
135         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
136         Support 'void' as argument type.
137         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
138
139 2011-11-05  Jim Meyering  <meyering@redhat.com>
140
141         maint.mk: also prohibit inclusion of dirent.h without use
142         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
143
144 2011-11-05  Bruno Haible  <bruno@clisp.org>
145
146         ldexpl tests: Avoid test failure on MSVC 9.
147         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
148         value. Needed in order to enforce the conversion from a value greater
149         than LDBL_MAX to Infinity.
150
151 2011-11-05  Bruno Haible  <bruno@clisp.org>
152
153         New modules 'at-internal', 'openat-h', split off from module 'openat'.
154         * modules/at-internal: New file, extracted from modules/openat.
155         * modules/openat-h: New file.
156         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
157         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
158         * modules/openat (Description): Add reference to POSIX function.
159         (Files): Remove lib/openat.h, lib/openat-proc.c.
160         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
161         intprops, unistd.
162         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
163         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
164         gl_FCNTL_MODULE_INDICATOR.
165         (Include): Remove unistd.h, openat.h.
166         * modules/areadlinkat (Files): Add lib/at-func.c.
167         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
168         openat-die, openat-h, save-cwd.
169         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
170         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
171         openat-die, openat-h, save-cwd, unistd.
172         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
173         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
174         openat-h, save-cwd. Remove fcntl-h, openat.
175         * modules/fchmodat (Files): Remove lib/openat.h.
176         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
177         openat, stdbool, unistd.
178         * modules/fchownat (Files): Remove lib/openat.h.
179         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
180         openat, stdbool, sys_stat.
181         * modules/fdopendir (Files): Remove lib/openat-priv.h,
182         lib/openat-proc.c.
183         (Depends-on): Add at-internal.
184         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
185         * modules/fstatat (Files): Remove lib/openat.h.
186         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
187         stdbool, unistd.
188         * modules/fts (Depends-on): Add openat-h.
189         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
190         openat.
191         * modules/mkdirat (Files): Remove lib/openat.h.
192         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
193         openat, stdbool, sys_stat.
194         * modules/mkfifoat (Files): Add lib/at-func.c.
195         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
196         openat-h, save-cwd. Remove fcntl-h, openat.
197         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
198         * modules/readlinkat (Files): Add lib/at-func.c.
199         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
200         openat-h, save-cwd. Remove fcntl-h, openat.
201         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
202         openat.
203         * modules/selinux-at (Files): Add lib/at-func.c.
204         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
205         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
206         * modules/symlinkat (Files): Add lib/at-func.c.
207         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
208         openat-h, save-cwd. Remove fcntl-h, openat.
209         * modules/unlinkat (Files): Remove lib/openat.h.
210         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
211         stdbool.
212         * modules/utimensat (Files): Add lib/at-func.c.
213         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
214         openat-die, openat-h, save-cwd.
215         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
216         * modules/fdutimensat-tests (Depends-on): Add openat.
217         * modules/fstatat-tests (Depends-on): Add openat-h.
218         * modules/readlinkat-tests (Depends-on): Add openat.
219         * modules/symlinkat-tests (Depends-on): Add openat.
220
221 2011-11-05  Bruno Haible  <bruno@clisp.org>
222
223         openat: Include <stdbool.h>.
224         * lib/openat.c: Include <stdbool.h>.
225
226 2011-11-04  Bruno Haible  <bruno@clisp.org>
227
228         fchownat, renameat, unlinkat: Fix dependencies.
229         * modules/fchownat (Depends-on): Add fstatat.
230         * modules/renameat (Depends-on): Likewise.
231         * modules/unlinkat (Depends-on): Likewise.
232
233 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
234
235         openat: remove direct dependency on dirent
236         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
237         and hasn't been needed ever since fdopendir was split into its own
238         module on 2009-08-31.
239         * modules/openat (Depends-on): Remove dirent.
240
241 2011-11-04  Bruno Haible  <bruno@clisp.org>
242
243         renameat: Optimize code size.
244         * modules/renameat (configure.ac): Don't compile at-func2.c if
245         REPLACE_RENAMEAT is 1.
246
247 2011-11-04  Bruno Haible  <bruno@clisp.org>
248
249         openat tests: Fix file list.
250         * modules/openat-tests (Files): Add tests/test-open.h.
251
252 2011-11-04  Bruno Haible  <bruno@clisp.org>
253
254         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
255         * modules/fchmodat (Depends-on): Add openat-die.
256         * modules/fchownat (Depends-on): Likewise.
257         * modules/linkat (Depends-on): Likewise.
258         * modules/renameat (Depends-on): Likewise.
259         * modules/openat (Depends-on): Add dirent.
260
261 2011-11-04  Jim Meyering  <meyering@redhat.com>
262
263         at-func*.c: fix comments
264         * lib/at-func2.c: Correct/improve first-line comment.
265         * lib/at-func.c: Correct grammar in first-line comment.
266
267 2011-11-04  Bruno Haible  <bruno@clisp.org>
268
269         New module 'mkdirat', split off from module 'openat'.
270         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
271         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
272         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
273         * modules/mkdirat: New file, extracted from modules/openat.
274         * modules/openat (Files): Remove lib/mkdirat.c.
275         (Depends-on): Remove mkdir.
276         (configure.ac): Remove AC_LIBOBJ of mkdirat.
277         (Include): Remove <sys/stat.h>.
278         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
279         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
280         tests/test-mkdir.h.
281         (Depends-on): Remove ignore-value.
282         (Makefile.am): Remove rules for test-mkdirat.
283         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
284         of module 'openat'.
285         * NEWS: Mention the change.
286
287 2011-11-04  Bruno Haible  <bruno@clisp.org>
288
289         closedir: Avoid warning on mingw.
290         * lib/closedir.c: Include <unistd.h>.
291
292 2011-11-04  Bruno Haible  <bruno@clisp.org>
293
294         New module 'fstatat', split off from module 'openat'.
295         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
296         defined.
297         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
298         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
299         gl_FUNC_FSTATAT.
300         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
301         * modules/fstatat: New file, extracted from modules/openat.
302         * modules/openat (Files): Remove lib/fstatat.c.
303         (Depends-on): Remove lstat.
304         (configure.ac): Remove AC_LIBOBJ of fstatat.
305         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
306         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
307         tests/test-lstat.h, tests/test-stat.h.
308         (Depends-on): Remove getcwd-lgpl.
309         (Makefile.am): Remove rules for test-fstatat.
310         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
311         of module 'openat'.
312         * NEWS: Mention the change.
313         * modules/getcwd (Depends-on): Add fstatat.
314         * modules/linkat (Depends-on): Likewise.
315         * modules/mkfifoat-tests (Depends-on): Likewise.
316         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
317
318 2011-11-03  Bruno Haible  <bruno@clisp.org>
319
320         New module 'unlinkat', split off from module 'openat'.
321         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
322         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
323         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
324         * modules/unlinkat: New file, extracted from modules/openat. Correct
325         the dependency conditions.
326         * modules/openat (Files): Remove lib/unlinkat.c.
327         (Depends-on): Remove rmdir, unlink.
328         (configure.ac): Remove AC_LIBOBJ of unlinkat.
329         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
330         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
331         tests/test-rmdir.h, tests/test-unlink.h.
332         (Depends-on): Remove unlinkdir.
333         (Makefile.am): Remove rules for test-unlinkat.
334         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
335         of module 'openat'.
336         * NEWS: Mention the change.
337         * modules/linkat-tests (Depends-on): Add unlinkat.
338         * modules/mkfifoat-tests (Depends-on): Likewise.
339         * modules/readlinkat-tests (Depends-on): Likewise.
340
341 2011-11-02  Bruno Haible  <bruno@clisp.org>
342
343         New module 'fchmodat', split off from module 'openat'.
344         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
345         defined.
346         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
347         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
348         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
349         * modules/fchmodat: New file, extracted from modules/openat.
350         * modules/openat (Files): Remove lib/fchmodat.c.
351         (configure.ac): Remove AC_LIBOBJ of fchmodat.
352         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
353         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
354         (Makefile.am): Remove rules for test-fchmodat.
355         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
356         of module 'openat'.
357         * NEWS: Mention the change.
358
359 2011-11-02  Jim Meyering  <meyering@redhat.com>
360
361         putenv: indent #definition of "environ" to placate cppi
362         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
363
364         gitlog-to-changelog: provide a ChangeLog-repair mechanism
365         Git logs are often treated as immutable, because editing them
366         changes the SHA1 checksums of all descendants.  Thus, errors in
367         git logs tend to stay there forever.  However, when we generate
368         a ChangeLog file -- typically for distribution -- from that git log,
369         we can actually make corrections in the generated file.  The key
370         lies in recording in machine-readable/applicable form the desired
371         corrections.  See --help for description and an example.
372         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
373         (usage): Describe it; alphabetize option descriptions.
374         (main): Honor the new option, carefully.
375
376 2011-11-01  Jim Meyering  <meyering@redhat.com>
377
378         gitlog-to-changelog: avoid an infloop
379         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
380         that ends up being empty.
381
382 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
383
384         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
385         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
386         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
387         contains (possibly-quoted) backslashes.  This should avoid
388         all-too-common shell bugs if COMPLICATED contains backslashes in
389         the "wrong" places.  Reported by David Evans in
390         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
391         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
392         because we want ASCII ranges.  Is there some reason we don't use
393         the C locale everywhere in this script?
394         (func_module, top level): Avoid unwanted pathname expansion when
395         $repo_url_prefix or $repo_url_suffix_repl contain shell
396         metacharacters like '?' and '*'.
397
398 2011-11-01  Bruno Haible  <bruno@clisp.org>
399
400         fchownat: Improve description.
401         * modules/fchownat (Description): Add link to function.
402
403 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
404
405         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
406         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
407         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
408         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
409
410 2011-11-01  Bruno Haible  <bruno@clisp.org>
411
412         alignof: Avoid collision with stdalign module.
413         * lib/alignof.h (alignof): Remove macro.
414         * NEWS: Mention the change.
415         Reported by Paul Eggert.
416
417 2011-11-01  Bruno Haible  <bruno@clisp.org>
418
419         New module 'fchownat', split off from module 'openat'.
420         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
421         defined.
422         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
423         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
424         invoke gl_FUNC_FCHOWNAT.
425         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
426         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
427         * modules/fchownat: New file, extracted from modules/openat.
428         * modules/openat (Files): Remove lib/fchownat.c.
429         (Depends-on): Remove lchown.
430         (configure.ac): Remove AC_LIBOBJ of fchownat.
431         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
432         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
433         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
434         (Depends-on): Remove mgetgroups, usleep, stat-time.
435         (configure.ac): Remove test for getegid.
436         (Makefile.am): Remove rules for test-fchownat.
437         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
438         of module 'openat'.
439         * NEWS: Mention the change.
440
441 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
442
443         stdalign: port better to MSVC and to Sun C 5.11
444         This fixes some of the problems reported by Bruno Haible in
445         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
446         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
447         shortcomings of MSVC and of Sun C 5.11.
448         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
449         around __declspec arg.
450         * modules/stdalign-tests (Files): Add tests/macros.h.
451         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
452         Include macros.h, for ASSERT.
453         (DECLARE_ALIGNED): Remove.
454         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
455         to catch bug), and to 1 if not (simplifies the rest of the code).
456         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
457         (CHECK_AUTO): Remove.
458         (CHECK_ALIGNED): Check only the alignment of the static vars,
459         since auto var alignment isn't supported by Sun C 5.11.
460         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
461         ASSERT failures are easier to diagnose.
462
463 2011-10-31  Bruno Haible  <bruno@clisp.org>
464
465         doc about some IRIX 5.3 problems.
466         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
467         on IRIX 5.3.
468         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
469         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
470         5.3.
471         * doc/posix-functions/grantpt.texi: Likewise.
472         * doc/posix-functions/unlockpt.texi: Likewise.
473         * doc/posix-functions/lgamma.texi: Likewise.
474         * doc/posix-functions/nextafter.texi: Likewise.
475         * doc/posix-functions/remainder.texi: Likewise.
476         * doc/posix-functions/select.texi: Mention misplaced declaration on
477         IRIX 5.3.
478         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
479
480 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
481
482         gitlog-to-changelog: fix git-log invocation.
483         git-log mishandles date strings before 1970-01-01 UTC, and there is
484         no use to specify --since=1970-01-01 by default anyway.
485         * build-aux/gitlog-to-changelog: By default, when no --since option
486         was given, do not specify explicit --since option to git-log.
487
488 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
489
490         gitlog-to-changelog: new option --append-dot.
491         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
492         first non-blank line of each commit message terminated with a dot.
493
494 2011-10-30  Bruno Haible  <bruno@clisp.org>
495
496         ffsl, ffsll: Avoid compilation error due to 'restrict'.
497         * lib/ffsl.h: Include <config.h>.
498         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
499
500 2011-10-30  Jim Meyering  <meyering@redhat.com>
501
502         GNUmakefile: reenable "make syntax-check" for most projects
503         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
504         build-aux variable", "syntax-check" would do nothing but succeed with
505         the "No version control files detected..." diagnostic (unless you
506         happened to override _build-aux via cfg.mk).
507         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
508         to precede inclusion of maint.mk.  Otherwise, these variables would
509         be used undefined in any project that does not override the default.
510
511 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
512
513         gitlog-to-changelog: treat a message with only blank lines as empty.
514         * build-aux/gitlog-to-changelog: Move the code that removes leading and
515         trailing blank lines before the code that issues a warning about an
516         empty commit message.
517
518 2011-10-30  Jim Meyering  <meyering@redhat.com>
519
520         test-parse-datetime.c: avoid new DST-related false positive test failure
521         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
522         based on the time/date we'll convert, not the current time.
523         Otherwise, the moment we cross a DST boundary like today's in
524         Europe, (CEST to CET), that offset ends up being one hour off.
525
526 2011-10-27  Bruno Haible  <bruno@clisp.org>
527
528         fstat: Tweak documentation.
529         * modules/fstat (Description): More precise description.
530
531 2011-10-27  Bruno Haible  <bruno@clisp.org>
532
533         Update documentation regarding 'largefile' module.
534         * doc/posix-functions/fstat.texi: Tweak wording.
535         * doc/posix-functions/opendir.texi: Mention that the module fixes the
536         problems with huge directories and/or small ino_t types.
537         * doc/posix-functions/readdir.texi: Likewise.
538         * doc/posix-functions/rewinddir.texi: Likewise.
539
540 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
541
542         maint.mk: don't maintain a second build-aux variable.
543         * maint.mk (build_aux): Removed.  The maintainer-makefile module
544         depends on GNUmakefile, which already maintains a cfg.mk
545         overridable $(_build-aux) for projects with a non-standard
546         build-aux directory location, although without the $(srcdir)
547         prefix.  Use that variable consistently instead of introducing a
548         second one.  Adjust all call sites.
549
550 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
551
552         Add stdalign module and use it in other modules.
553         This is based on a previous proposal by Bruno Haible
554         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
555
556         stdalign: new module
557         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
558         * modules/stdalign: New files.
559         * MODULES.html.sh (c1x_core_properties): Add stdalign.
560         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
561
562         stdalign-tests: new module
563         * modules/stdalign-tests, tests/test-stdalign.c: New files.
564
565         argp: use stdalign
566         * lib/argp-parse.c: Include <stdalign.h>.
567         (alignof): Remove.
568         * modules/argp (Depends-on): Add stdalign.
569
570         crypto libraries: use stdalign
571         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
572         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
573         Do not include <stdlib.h> twice, in md4.c.
574         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
575         because we are accessing a pointer's bit-pattern, not a size.
576         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
577         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
578         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
579         * modules/crypto/sha512: Likewise.
580
581         sys_socket: use stdalign, not alignof
582         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
583         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
584
585 2011-10-27  Bruno Haible  <bruno@clisp.org>
586
587         raise test: Avoid a test failure on Linux/MIPS.
588         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
589         because 99 is a valid signal on Linux/MIPS.
590
591 2011-10-27  Bruno Haible  <bruno@clisp.org>
592
593         nonblocking tests: Fix test failure on Linux/MIPS.
594         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
595         Set to 270000.
596
597 2011-10-27  Bruno Haible  <bruno@clisp.org>
598
599         utimensat: Work around problem on Linux/hppa.
600         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
601         values.
602         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
603
604 2011-10-25  Jim Meyering  <meyering@redhat.com>
605
606         maint.mk: fix a bug in sc_prohibit_stddef_without_use
607         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
608         after symbols like NULL, size_t, etc.
609         Reported by Alfred M. Szmidt.
610
611         maint.mk: exempt ENODATA from a syntax-check rule
612         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
613         from the sc_prohibit_always-defined_macros syntax-check rule.
614         Add a comment.  See this for more details:
615         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
616
617 2011-10-23  Jim Meyering  <meyering@redhat.com>
618
619         fts: close parent dir FD before returning from post-traversal fts_read
620         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
621         unlink A, even though an FD open on A remained.  This is suboptimal
622         (holding a file descriptor open longer than needed), but otherwise not
623         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
624         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
625         that represents a real problem: it causes the removal of A to fail
626         with e.g., "rm: cannot remove `A': Device or resource busy"
627
628         fts visits each directory twice and keeps a cache (fts_fd_ring) of
629         directory file descriptors.  After completing the final, FTS_DP,
630         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
631         cache, but then proceeded to add a new FD to it via the subsequent
632         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
633         final file descriptor would be closed only via fts_close's call to
634         fd_ring_clear.  Now, it is usually closed earlier, via the final
635         FTS_DP-returning fts_read call.
636         * lib/fts.c (restore_initial_cwd): New function, converted from
637         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
638         Update callers.
639         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
640         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
641
642 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
643             Bruno Haible  <bruno@clisp.org>
644             Jim Meyering  <jim@meyering.net>
645
646         readme-release: improve safety of release prep instructions.
647         * README-release: Don't git pull all branches when only master
648         is needed for the release process.
649         Run make maintainer-clean before changing trees and merging.
650         Don't try to run ./configure right after git pull in case files
651         that influence the bootstrap process have changed, move the
652         ./configure step to after running ./bootstrap.
653         Don't bootstrap "one last time"... it's the first time!
654
655 2011-10-22  Bruno Haible  <bruno@clisp.org>
656
657         errno, strerror-override: Support for MSVC 10.
658         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
659         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
660         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
661         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
662         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
663         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
664         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
665         Assign values compatible with MSVC 10.
666         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
667         New macros.
668         (GNULIB_defined_EWINSOCK): New macro.
669         * lib/strerror-override.c (strerror_override): Update accordingly.
670         * lib/strerror-override.h: Likewise.
671         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
672         longer equal to the corresponding errno value.
673         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
674
675 2011-10-22  Bruno Haible  <bruno@clisp.org>
676
677         perror: Recognize when test program crashes.
678         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
679         strerror, set gl_cv_func_perror_works to no.
680         Reported by Daniel Richard G. <skunk@iskunk.org>.
681
682         perror: Fix indentation.
683         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
684
685 2011-10-22  Bruno Haible  <bruno@clisp.org>
686
687         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
688         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
689         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
690         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
691         functions, not as a macro.
692         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
693         macros.
694         (isfinite, isinf, isnan, signbit): Check overloaded functions and
695         absence of macro.
696         Suggested by Eric Blake.
697         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
698
699 2011-10-21  Bruno Haible  <bruno@clisp.org>
700
701         relocatable-prog-wrapper: Don't leave object files behind.
702         * build-aux/install-reloc: Re-synchronize list of .o files to be
703         removed with list of compilation units.
704
705 2011-10-20  Bruno Haible  <bruno@clisp.org>
706
707         openpty, posix_openpt: Remove code duplication.
708         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
709         * lib/openpty.c: Include <stdlib.h>.
710         (openpty): Use posix_openpt on all platforms except IRIX.
711         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
712
713 2011-10-20  Bruno Haible  <bruno@clisp.org>
714
715         unlockpt: Detect invalid argument.
716         * lib/unlockpt.c: Include <fcntl.h>.
717         (unlockpt): Check whether fd is valid, using fcntl().
718         * modules/unlockpt (Depends-on): Add fcntl-h.
719
720 2011-10-20  Bruno Haible  <bruno@clisp.org>
721
722         openpty: Avoid compilation error on AIX 6.1.
723         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
724
725 2011-10-20  Bruno Haible  <bruno@clisp.org>
726
727         posix_openpt: Support for OpenBSD.
728         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
729         (posix_openpt) [OpenBSD]: New code.
730         * lib/grantpt.c: Include <fcntl.h>.
731         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
732         * modules/grantpt (Depends-on): Add fcntl-h.
733
734 2011-10-20  Bruno Haible  <bruno@clisp.org>
735
736         posix_openpt test: Coding style.
737         * tests/test-posix_openpt.c: Use GNU coding style.
738
739 2011-10-20  Bruno Haible  <bruno@clisp.org>
740
741         grantpt: Support --avoid=pt_chown.
742         * modules/grantpt (Files): Add lib/pty-private.h.
743
744 2011-10-20  Bruno Haible  <bruno@clisp.org>
745
746         posix_openpt: Fix autoconf macro.
747         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
748         unneeded check for _getpty.
749
750 2011-10-20  Bruno Haible  <bruno@clisp.org>
751
752         openpty: Update comments.
753         * lib/openpty.c: Add comments about Minix.
754
755 2011-10-19  Eric Blake  <eblake@redhat.com>
756
757         openpty: relax license
758         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
759
760         pt_chown: use configmake to simplify build
761         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
762
763         ptsname and others: relax license
764         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
765         * modules/unlockpt (License): Likewise.
766         * modules/pt_chown (License): Likewise.
767         * modules/ptsname (License): Likewise.
768         * modules/ttyname_r (License): Likewise.
769
770 2011-10-19  Jim Meyering  <meyering@redhat.com>
771
772         posix_openpt: remove spurious #endif
773         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
774
775 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
776
777         maint.mk: Respect $(build_aux) in web-manual rule.
778         * top/maint.mk (web-manual): Find gen-announce script in user's
779         $(build_aux) directory instead of hard-coding 'build-aux'.
780
781 2011-10-19  Bruno Haible  <bruno@clisp.org>
782
783         posix_openpt: Fix compilation error.
784         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
785         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
786         Mention the openpty module as an alternative.
787
788 2011-10-19  Bruno Haible  <bruno@clisp.org>
789
790         Support for old NeXTstep 3.3 frexp().
791         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
792         execution time of the test to 5 seconds.
793         Reported by Daniel Richard G. <skunk@iskunk.org>.
794
795 2011-10-19  Bruno Haible  <bruno@clisp.org>
796
797         Support for old NeXTstep 3.3 sed.
798         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
799         part, use /.../, not \|...|. Escape periods in the header file name.
800         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
801         Reported by Daniel Richard G. <skunk@iskunk.org>.
802
803 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
804
805         Support for old NeXTstep 3.3 gcc.
806         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
807         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
808         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
809         * lib/spawn.in.h (_Restrict_arr_): Likewise.
810         * lib/regex.h (_Restrict_arr_): Likewise.
811         * lib/regex_internal.h (re_token_t): Likewise.
812         * lib/regexec.c (check_node_accept_bytes): Likewise.
813         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
814
815 2011-10-18  Eric Blake  <eblake@redhat.com>
816
817         posix_openpt: new module
818         * modules/posix_openpt: New module.
819         * m4/posix_openpt.m4: New file.
820         * lib/posix_openpt.c: Likewise.
821         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
822         (gl_STDLIB_H_DEFAULTS): Set defaults.
823         * modules/stdlib (Makefile.am): Substitute macros.
824         * lib/stdlib.in.h (posix_openpt): Declare.
825         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
826         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
827         * modules/posix_openpt-tests: New test module.
828         * tests/test-posix_openpt.c: New test.
829
830 2011-10-15  Bruno Haible  <bruno@clisp.org>
831
832         xstrtoll: Fix compilation failure.
833         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
834         from lib/strtol.c.
835         * doc/posix-headers/limits.texi: Mention missing numerical limits on
836         some platforms.
837         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
838
839 2011-10-15  Bruno Haible  <bruno@clisp.org>
840
841         vasnprintf: Optimize bit search operation.
842         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
843         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
844         gl_DOUBLE_EXPONENT_LOCATION.
845         * modules/vasnprintf (Files): Add m4/exponentd.m4.
846         * modules/unistdio/u8-vasnprintf (Files): Likewise.
847         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
848         * modules/unistdio/u16-vasnprintf (Files): Likewise.
849         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
850         * modules/unistdio/u32-vasnprintf (Files): Likewise.
851         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
852         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
853         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
854
855 2011-10-15  Bruno Haible  <bruno@clisp.org>
856
857         vasnprintf: Fix comments.
858         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
859
860 2011-10-14  Bruno Haible  <bruno@clisp.org>
861
862         Tests for module 'integer_length_ll'.
863         * modules/integer_length_ll-tests: New file.
864         * tests/test-integer_length_ll.c: New file.
865
866         New module 'integer_length_ll'.
867         * lib/integer_length_ll.c: New file.
868         * modules/integer_length_ll: New file.
869
870 2011-10-14  Bruno Haible  <bruno@clisp.org>
871
872         Tests for module 'integer_length_l'.
873         * modules/integer_length_l-tests: New file.
874         * tests/test-integer_length_l.c: New file.
875
876         New module 'integer_length_l'.
877         * lib/integer_length_l.c: New file.
878         * modules/integer_length_l: New file.
879
880 2011-10-14  Bruno Haible  <bruno@clisp.org>
881
882         Tests for module 'integer_length'.
883         * modules/integer_length-tests: New file.
884         * tests/test-integer_length.c: New file.
885
886         New module 'integer_length'.
887         * lib/integer_length.h: New file.
888         * lib/integer_length.c: New file.
889         * modules/integer_length: New file.
890
891 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
892
893         popen: Fix dependency conditions.
894         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
895
896 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
897
898         perror: Fix autoconf test.
899         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
900         <stdlib.h> and <string.h>.
901
902 2011-10-14  Bruno Haible  <bruno@clisp.org>
903
904         ffsl: Optimize on 64-bit platforms.
905         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
906         unrolling.
907
908 2011-10-13  Bruno Haible  <bruno@clisp.org>
909
910         ffsl: Optimize on 32-bit platforms.
911         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
912         use ffs() without a loop.
913
914         ffsl, ffsll: Optimize for GCC.
915         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
916         * lib/ffsl.c (GCC_BUILTIN): New macro.
917         * lib/ffsll.c (GCC_BUILTIN): Likewise.
918
919 2011-10-13  Bruno Haible  <bruno@clisp.org>
920
921         ffs, bcopy, memset: Support symbol renaming via config.h.
922         * lib/ffs.c: Include <config.h>.
923         * lib/bcopy.c: Likewise.
924         * lib/memset.c: Likewise.
925
926 2011-10-10  Bruno Haible  <bruno@clisp.org>
927
928         atanl: Simplify for platforms where 'long double' == 'double'.
929         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
930         alternative implementation.
931         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
932         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
933         * modules/atanl (Depends-on): Add atan. Update conditions.
934
935 2011-10-10  Bruno Haible  <bruno@clisp.org>
936
937         acosl: Simplify for platforms where 'long double' == 'double'.
938         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
939         alternative implementation.
940         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
941         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
942         * modules/acosl (Depends-on): Add acos. Update conditions.
943
944 2011-10-10  Bruno Haible  <bruno@clisp.org>
945
946         asinl: Simplify for platforms where 'long double' == 'double'.
947         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
948         alternative implementation.
949         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
950         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
951         * modules/asinl (Depends-on): Add asin. Update conditions.
952
953 2011-10-10  Bruno Haible  <bruno@clisp.org>
954
955         tanl: Simplify for platforms where 'long double' == 'double'.
956         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
957         implementation.
958         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
959         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
960         * modules/tanl (Depends-on): Add tan. Update conditions.
961         (configure.ac): Don't compile trigl.c if
962         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
963
964 2011-10-10  Bruno Haible  <bruno@clisp.org>
965
966         cosl: Simplify for platforms where 'long double' == 'double'.
967         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
968         implementation.
969         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
970         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
971         * modules/cosl (Depends-on): Add cos. Update conditions.
972         (configure.ac): Don't compile sincosl.c and trigl.c if
973         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
974
975 2011-10-10  Bruno Haible  <bruno@clisp.org>
976
977         sinl: Simplify for platforms where 'long double' == 'double'.
978         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
979         implementation.
980         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
981         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
982         * modules/sinl (Depends-on): Add sin. Update conditions.
983         (configure.ac): Don't compile sincosl.c and trigl.c if
984         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
985
986 2011-10-10  Bruno Haible  <bruno@clisp.org>
987
988         logl: Simplify for platforms where 'long double' == 'double'.
989         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
990         implementation.
991         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
992         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
993         * modules/logl (Depends-on): Add log. Update conditions.
994
995 2011-10-10  Bruno Haible  <bruno@clisp.org>
996
997         expl: Simplify for platforms where 'long double' == 'double'.
998         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
999         implementation.
1000         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1001         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1002         * modules/expl (Depends-on): Add exp. Update conditions.
1003
1004 2011-10-10  Bruno Haible  <bruno@clisp.org>
1005
1006         sqrtl: Simplify for platforms where 'long double' == 'double'.
1007         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1008         alternative implementation.
1009         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1010         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1011         * modules/sqrtl (Depends-on): Update conditions.
1012
1013 2011-10-10  Bruno Haible  <bruno@clisp.org>
1014
1015         ldexpl: Simplify for platforms where 'long double' == 'double'.
1016         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1017         alternative implementation.
1018         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1019         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1020         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
1021
1022 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
1023
1024         ffsll: set correct witness
1025         * modules/ffsll (configure.ac): Fix typo.
1026
1027 2011-10-10  Bruno Haible  <bruno@clisp.org>
1028
1029         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
1030         * lib/printf-frexpl.c: Include <config.h>.
1031         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1032         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
1033         second time.
1034         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
1035         gl_LONG_DOUBLE_VS_DOUBLE.
1036         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
1037         conditions.
1038
1039 2011-10-10  Bruno Haible  <bruno@clisp.org>
1040
1041         frexpl: Simplify for platforms where 'long double' == 'double'.
1042         * lib/frexpl.c: Include <config.h>.
1043         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1044         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1045         time.
1046         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1047         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1048         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
1049         * modules/frexpl (Depends-on): Add frexp. Update conditions.
1050         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
1051         conditions.
1052
1053 2011-10-10  Jim Meyering  <meyering@redhat.com>
1054
1055         test-renameat: don't leave behind a temporary file
1056         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
1057           ERROR: files left in build directory after distclean:
1058           ./gltests/test-renameat.too
1059           make[1]: *** [distcleancheck] Error 1
1060         Reported by Tom G. Christensen.
1061
1062 2011-10-09  Bruno Haible  <bruno@clisp.org>
1063
1064         rint: Determine RINT_LIBM correctly on AIX 7.
1065         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
1066         directly, not only through a function pointer. Also accept an optional
1067         4th argument with extra code.
1068         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
1069         rintf() call by gcc when optimizing.
1070
1071         mathfunc.m4: Refactor.
1072         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
1073         m4 variable.
1074
1075 2011-10-09  Bruno Haible  <bruno@clisp.org>
1076
1077         rintl: Simplify for platforms where 'long double' == 'double'.
1078         * lib/rintl.c: Include <config.h>.
1079         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1080         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1081         time.
1082         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1083         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1084         * modules/rintl (Depends-on): Add rint. Update conditions.
1085
1086 2011-10-09  Bruno Haible  <bruno@clisp.org>
1087
1088         roundl: Simplify for platforms where 'long double' == 'double'.
1089         * lib/roundl.c: Include <config.h>.
1090         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1091         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1092         time.
1093         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1094         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1095         * modules/roundl (Depends-on): Add round. Update conditions.
1096
1097 2011-10-09  Bruno Haible  <bruno@clisp.org>
1098
1099         truncl: Simplify for platforms where 'long double' == 'double'.
1100         * lib/truncl.c: Include <config.h>.
1101         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1102         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1103         time.
1104         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1105         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1106         * modules/truncl (Depends-on): Add trunc. Update conditions.
1107
1108 2011-10-09  Bruno Haible  <bruno@clisp.org>
1109
1110         ceill: Simplify for platforms where 'long double' == 'double'.
1111         * lib/ceill.c: Include <config.h>.
1112         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1113         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1114         time.
1115         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1116         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1117         * modules/ceill (Depends-on): Add ceil. Update conditions.
1118
1119 2011-10-09  Bruno Haible  <bruno@clisp.org>
1120
1121         floorl: Simplify for platforms where 'long double' == 'double'.
1122         * lib/floorl.c: Include <config.h>.
1123         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1124         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1125         time.
1126         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1127         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1128         * modules/floorl (Depends-on): Add floor. Update conditions.
1129
1130 2011-10-09  Bruno Haible  <bruno@clisp.org>
1131
1132         rint: Fix ordering constraints.
1133         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
1134         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1135         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1136
1137 2011-10-09  Bruno Haible  <bruno@clisp.org>
1138
1139         copysignl: Simplify for platforms where 'long double' == 'double'.
1140         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1141         alternative.
1142         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1143         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1144         * modules/copysignl (Depends-on): Add copysign. Update conditions.
1145
1146 2011-10-09  Bruno Haible  <bruno@clisp.org>
1147
1148         Tests for module 'rintl'.
1149         * modules/rintl-tests: New file.
1150         * tests/test-rintl.c: New file.
1151
1152         New module 'rintl'.
1153         * lib/math.in.h (rintl): New declaration.
1154         * lib/rintl.c: New file.
1155         * m4/rintl.m4: New file.
1156         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
1157         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
1158         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
1159         * modules/rintl: New file.
1160         * tests/test-math-c++.cc: Check the declaration of rintl.
1161         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1162         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
1163         * doc/posix-functions/rintl.texi: Mention the new module.
1164
1165 2011-10-09  Bruno Haible  <bruno@clisp.org>
1166
1167         Tests for module 'rintf'.
1168         * modules/rintf-tests: New file.
1169         * tests/test-rintf.c: New file.
1170
1171         New module 'rintf'.
1172         * lib/math.in.h (rintf): New declaration.
1173         * lib/rintf.c: New file.
1174         * m4/rintf.m4: New file.
1175         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
1176         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
1177         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
1178         * modules/rintf: New file.
1179         * tests/test-math-c++.cc: Check the declaration of rintf.
1180         * doc/posix-functions/rintf.texi: Mention the new module.
1181
1182 2011-10-09  Bruno Haible  <bruno@clisp.org>
1183
1184         rint: Support for MSVC.
1185         * lib/math.in.h (rint): New declaration.
1186         * lib/rint.c: New file.
1187         * m4/rint.m4: New file.
1188         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
1189         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
1190         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
1191         * modules/rint (Description): Fix.
1192         (Files): Add lib/rint.c, m4/rint.m4.
1193         (Depends-on): Add math.
1194         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
1195         gl_MATH_MODULE_INDICATOR.
1196         * tests/test-math-c++.cc: Check the declaration of rint.
1197         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1198         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
1199         * doc/posix-functions/rint.texi: Mention the replacement provided by
1200         the module.
1201
1202         rint tests: More tests.
1203         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
1204         minus-zero.h, infinity.h, nan.h.
1205         (main): Skip the test if the current rounding mode is not standard. Add
1206         tests for negative numbers, minus zero, infinity, NaN.
1207         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
1208         tests/nan.h.
1209         (Depends-on): Add isnand-nolibm.
1210
1211 2011-10-09  Bruno Haible  <bruno@clisp.org>
1212
1213         Tests for module 'copysignl'.
1214         * modules/copysignl-tests: New file.
1215         * tests/test-copysignl.c: New file.
1216
1217         New module 'copysignl'.
1218         * lib/math.in.h (copysignl): New declaration.
1219         * lib/copysignl.c: New file.
1220         * m4/copysignl.m4: New file.
1221         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
1222         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
1223         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
1224         HAVE_COPYSIGNL.
1225         * modules/copysignl: New file.
1226         * tests/test-math-c++.cc: Check the declaration of copysignl.
1227         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1228         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
1229         * doc/posix-functions/copysignl.texi: Mention the new module.
1230
1231 2011-10-09  Bruno Haible  <bruno@clisp.org>
1232
1233         Tests for module 'copysignf'.
1234         * modules/copysignf-tests: New file.
1235         * tests/test-copysignf.c: New file.
1236
1237         New module 'copysignf'.
1238         * lib/math.in.h (copysignf): New declaration.
1239         * lib/copysignf.c: New file.
1240         * m4/copysignf.m4: New file.
1241         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
1242         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
1243         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
1244         HAVE_COPYSIGNF.
1245         * modules/copysignf: New file.
1246         * tests/test-math-c++.cc: Check the declaration of copysignf.
1247         * doc/posix-functions/copysignf.texi: Mention the new module.
1248
1249 2011-10-09  Bruno Haible  <bruno@clisp.org>
1250
1251         Ensure that HAVE_* variables are set to 1 before they are set to 0.
1252         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
1253         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
1254         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1255         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
1256         gl_SIGNAL_H_DEFAULTS.
1257
1258 2011-10-09  Bruno Haible  <bruno@clisp.org>
1259
1260         poll: Make macro safer.
1261         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
1262         ac_cv_header_poll_h is not set.
1263
1264 2011-10-09  Bruno Haible  <bruno@clisp.org>
1265
1266         copysign: Provide replacement.
1267         * lib/math.in.h (copysign): New declaration.
1268         * lib/copysign.c: New file.
1269         * m4/copysign.m4: New file.
1270         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
1271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
1272         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
1273         HAVE_COPYSIGN.
1274         * modules/copysign (Description): Clarify.
1275         (Files): Add lib/copysign.c, m4/copysign.m4.
1276         (Depends-on): Add math, signbit.
1277         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
1278         gl_MATH_MODULE_INDICATOR.
1279         * tests/test-math-c++.cc: Check the declaration of copysign.
1280         * doc/posix-functions/copysign.texi: Mention the effects of the module
1281         on Minix and MSVC.
1282
1283 2011-10-09  Bruno Haible  <bruno@clisp.org>
1284
1285         isinf: Ensure macro on AIX 5.1.
1286         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
1287         macro.
1288         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
1289
1290 2011-10-09  Bruno Haible  <bruno@clisp.org>
1291
1292         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
1293         * modules/snprintf-posix-tests (configure.ac): Require
1294         gl_LONG_DOUBLE_VS_DOUBLE.
1295         * modules/sprintf-posix-tests (configure.ac): Likewise.
1296         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
1297         * modules/vasprintf-posix-tests (configure.ac): Likewise.
1298         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
1299         * modules/vsprintf-posix-tests (configure.ac): Likewise.
1300         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
1301         tests on platforms where 'long double' is the same as 'double'.
1302         * tests/test-sprintf-posix.h (test_function): Likewise.
1303         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1304         * tests/test-vasprintf-posix.c (test_function): Likewise.
1305
1306         *printf: Fix for platforms where 'long double' == 'double'.
1307         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1308         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
1309         * modules/dprintf-posix (Files): Add m4/math_h.m4.
1310         * modules/fprintf-posix (Files): Likewise.
1311         * modules/obstack-printf-posix (Files): Likewise.
1312         * modules/snprintf-posix (Files): Likewise.
1313         * modules/sprintf-posix (Files): Likewise.
1314         * modules/vasnprintf (Files): Likewise.
1315         * modules/vasnprintf-posix (Files): Likewise.
1316         * modules/vasprintf-posix (Files): Likewise.
1317         * modules/vdprintf-posix (Files): Likewise.
1318         * modules/vfprintf-posix (Files): Likewise.
1319         * modules/vsnprintf-posix (Files): Likewise.
1320         * modules/vsprintf-posix (Files): Likewise.
1321         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1322         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1323         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1324         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1325         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1326         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1327         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1328
1329         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
1330         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
1331         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1332         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
1333         'long double'.
1334         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
1335
1336         isinf: Fix for platforms where 'long double' == 'double'.
1337         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1338         Don't blindly assume 80-bit 'long double'.
1339
1340         isfinite: Fix for platforms where 'long double' == 'double'.
1341         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1342         Don't blindly assume 80-bit 'long double'.
1343
1344         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
1345         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
1346         * modules/isfinite-tests (configure.ac): Require
1347         gl_LONG_DOUBLE_VS_DOUBLE.
1348         * modules/isinf-tests (configure.ac): Likewise.
1349         * modules/isnan-tests (configure.ac): Likewise.
1350         * modules/isnanl-tests (configure.ac): Likewise.
1351         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
1352         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
1353         tests on platforms where 'long double' is the same as 'double'.
1354         * tests/test-isinf.c (test_isinfl): Likewise.
1355         * tests/test-isnan.c (test_long_double): Likewise.
1356         * tests/test-isnanl.h (main): Likewise.
1357
1358 2011-10-08  Bruno Haible  <bruno@clisp.org>
1359
1360         Tests for module 'tanhf'.
1361         * modules/tanhf-tests: New file.
1362         * tests/test-tanhf.c: New file.
1363
1364         New module 'tanhf'.
1365         * lib/math.in.h (tanhf): New declaration.
1366         * lib/tanhf.c: New file.
1367         * m4/tanhf.m4: New file.
1368         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
1369         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
1370         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
1371         * modules/tanhf: New file.
1372         * tests/test-math-c++.cc: Check the declaration of tanhf.
1373         * doc/posix-functions/tanhf.texi: Mention the new module.
1374
1375         tanh: Use a .m4 file.
1376         * m4/tanh.m4: New file.
1377         * modules/tanh (Files): Add it.
1378         (configure.ac): Just invoke gl_FUNC_TANH.
1379
1380 2011-10-08  Bruno Haible  <bruno@clisp.org>
1381
1382         Tests for module 'coshf'.
1383         * modules/coshf-tests: New file.
1384         * tests/test-coshf.c: New file.
1385
1386         New module 'coshf'.
1387         * lib/math.in.h (coshf): New declaration.
1388         * lib/coshf.c: New file.
1389         * m4/coshf.m4: New file.
1390         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1391         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1392         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1393         * modules/coshf: New file.
1394         * tests/test-math-c++.cc: Check the declaration of coshf.
1395         * doc/posix-functions/coshf.texi: Mention the new module.
1396
1397         cosh: Use a .m4 file.
1398         * m4/cosh.m4: New file.
1399         * modules/cosh (Files): Add it.
1400         (configure.ac): Just invoke gl_FUNC_COSH.
1401
1402 2011-10-08  Bruno Haible  <bruno@clisp.org>
1403
1404         Tests for module 'sinhf'.
1405         * modules/sinhf-tests: New file.
1406         * tests/test-sinhf.c: New file.
1407
1408         New module 'sinhf'.
1409         * lib/math.in.h (sinhf): New declaration.
1410         * lib/sinhf.c: New file.
1411         * m4/sinhf.m4: New file.
1412         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1413         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1414         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1415         * modules/sinhf: New file.
1416         * tests/test-math-c++.cc: Check the declaration of sinhf.
1417         * doc/posix-functions/sinhf.texi: Mention the new module.
1418
1419         sinh: Use a .m4 file.
1420         * m4/sinh.m4: New file.
1421         * modules/sinh (Files): Add it.
1422         (configure.ac): Just invoke gl_FUNC_SINH.
1423
1424 2011-10-08  Bruno Haible  <bruno@clisp.org>
1425
1426         Tests for module 'atan2f'.
1427         * modules/atan2f-tests: New file.
1428         * tests/test-atan2f.c: New file.
1429
1430         New module 'atan2f'.
1431         * lib/math.in.h (atan2f): New declaration.
1432         * lib/atan2f.c: New file.
1433         * m4/atan2f.m4: New file.
1434         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1435         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1436         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1437         * modules/atan2f: New file.
1438         * tests/test-math-c++.cc: Check the declaration of atan2f.
1439         * doc/posix-functions/atan2f.texi: Mention the new module.
1440
1441         atan2: Use a .m4 file.
1442         * m4/atan2.m4: New file.
1443         * modules/atan2 (Files): Add it.
1444         (configure.ac): Just invoke gl_FUNC_ATAN2.
1445
1446 2011-10-08  Bruno Haible  <bruno@clisp.org>
1447
1448         Tests for module 'atanf'.
1449         * modules/atanf-tests: New file.
1450         * tests/test-atanf.c: New file.
1451
1452         New module 'atanf'.
1453         * lib/math.in.h (atanf): New declaration.
1454         * lib/atanf.c: New file.
1455         * m4/atanf.m4: New file.
1456         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1457         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1458         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1459         * modules/atanf: New file.
1460         * tests/test-math-c++.cc: Check the declaration of atanf.
1461         * doc/posix-functions/atanf.texi: Mention the new module.
1462
1463         atan: Use a .m4 file.
1464         * m4/atan.m4: New file.
1465         * modules/atan (Files): Add it.
1466         (configure.ac): Just invoke gl_FUNC_ATAN.
1467
1468 2011-10-08  Bruno Haible  <bruno@clisp.org>
1469
1470         Tests for module 'acosf'.
1471         * modules/acosf-tests: New file.
1472         * tests/test-acosf.c: New file.
1473
1474         New module 'acosf'.
1475         * lib/math.in.h (acosf): New declaration.
1476         * lib/acosf.c: New file.
1477         * m4/acosf.m4: New file.
1478         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1479         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1480         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1481         * modules/acosf: New file.
1482         * tests/test-math-c++.cc: Check the declaration of acosf.
1483         * doc/posix-functions/acosf.texi: Mention the new module.
1484
1485         acos: Use a .m4 file.
1486         * m4/acos.m4: New file.
1487         * modules/acos (Files): Add it.
1488         (configure.ac): Just invoke gl_FUNC_ACOS.
1489
1490 2011-10-08  Bruno Haible  <bruno@clisp.org>
1491
1492         Tests for module 'asinf'.
1493         * modules/asinf-tests: New file.
1494         * tests/test-asinf.c: New file.
1495
1496         New module 'asinf'.
1497         * lib/math.in.h (asinf): New declaration.
1498         * lib/asinf.c: New file.
1499         * m4/asinf.m4: New file.
1500         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1501         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1502         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1503         * modules/asinf: New file.
1504         * tests/test-math-c++.cc: Check the declaration of asinf.
1505         * doc/posix-functions/asinf.texi: Mention the new module.
1506
1507         asin: Use a .m4 file.
1508         * m4/asin.m4: New file.
1509         * modules/asin (Files): Add it.
1510         (configure.ac): Just invoke gl_FUNC_ASIN.
1511
1512 2011-10-08  Bruno Haible  <bruno@clisp.org>
1513
1514         Tests for module 'tanf'.
1515         * modules/tanf-tests: New file.
1516         * tests/test-tanf.c: New file.
1517
1518         New module 'tanf'.
1519         * lib/math.in.h (tanf): New declaration.
1520         * lib/tanf.c: New file.
1521         * m4/tanf.m4: New file.
1522         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1523         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1524         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1525         * modules/tanf: New file.
1526         * tests/test-math-c++.cc: Check the declaration of tanf.
1527         * doc/posix-functions/tanf.texi: Mention the new module.
1528
1529         tan: Use a .m4 file.
1530         * m4/tan.m4: New file.
1531         * modules/tan (Files): Add it.
1532         (configure.ac): Just invoke gl_FUNC_TAN.
1533
1534 2011-10-08  Bruno Haible  <bruno@clisp.org>
1535
1536         Tests for module 'cosf'.
1537         * modules/cosf-tests: New file.
1538         * tests/test-cosf.c: New file.
1539
1540         New module 'cosf'.
1541         * lib/math.in.h (cosf): New declaration.
1542         * lib/cosf.c: New file.
1543         * m4/cosf.m4: New file.
1544         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1545         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1546         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1547         * modules/cosf: New file.
1548         * tests/test-math-c++.cc: Check the declaration of cosf.
1549         * doc/posix-functions/cosf.texi: Mention the new module.
1550
1551         cos: Use a .m4 file.
1552         * m4/cos.m4: New file.
1553         * modules/cos (Files): Add it.
1554         (configure.ac): Just invoke gl_FUNC_COS.
1555
1556 2011-10-08  Bruno Haible  <bruno@clisp.org>
1557
1558         Tests for module 'sinf'.
1559         * modules/sinf-tests: New file.
1560         * tests/test-sinf.c: New file.
1561
1562         New module 'sinf'.
1563         * lib/math.in.h (sinf): New declaration.
1564         * lib/sinf.c: New file.
1565         * m4/sinf.m4: New file.
1566         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1568         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1569         * modules/sinf: New file.
1570         * tests/test-math-c++.cc: Check the declaration of sinf.
1571         * doc/posix-functions/sinf.texi: Mention the new module.
1572
1573         sin: Use a .m4 file.
1574         * m4/sin.m4: New file.
1575         * modules/sin (Files): Add it.
1576         (configure.ac): Just invoke gl_FUNC_SIN.
1577
1578 2011-10-08  Bruno Haible  <bruno@clisp.org>
1579
1580         Tests for module 'powf'.
1581         * modules/powf-tests: New file.
1582         * tests/test-powf.c: New file.
1583
1584         New module 'powf'.
1585         * lib/math.in.h (powf): New declaration.
1586         * lib/powf.c: New file.
1587         * m4/powf.m4: New file.
1588         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1589         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1590         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1591         * modules/powf: New file.
1592         * tests/test-math-c++.cc: Check the declaration of powf.
1593         * doc/posix-functions/powf.texi: Mention the new module.
1594
1595         pow: Use a .m4 file.
1596         * m4/pow.m4: New file.
1597         * modules/pow (Files): Add it.
1598         (configure.ac): Just invoke gl_FUNC_POW.
1599
1600 2011-10-08  Bruno Haible  <bruno@clisp.org>
1601
1602         Tests for module 'log10f'.
1603         * modules/log10f-tests: New file.
1604         * tests/test-log10f.c: New file.
1605
1606         New module 'log10f'.
1607         * lib/math.in.h (log10f): New declaration.
1608         * lib/log10f.c: New file.
1609         * m4/log10f.m4: New file.
1610         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1611         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1612         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1613         * modules/log10f: New file.
1614         * tests/test-math-c++.cc: Check the declaration of log10f.
1615         * doc/posix-functions/log10f.texi: Mention the new module.
1616
1617         log10: Use a .m4 file.
1618         * m4/log10.m4: New file.
1619         * modules/log10 (Files): Add it.
1620         (configure.ac): Just invoke gl_FUNC_LOG10.
1621
1622 2011-10-08  Bruno Haible  <bruno@clisp.org>
1623
1624         Tests for module 'logf'.
1625         * modules/logf-tests: New file.
1626         * tests/test-logf.c: New file.
1627
1628         New module 'logf'.
1629         * lib/math.in.h (logf): New declaration.
1630         * lib/logf.c: New file.
1631         * m4/logf.m4: New file.
1632         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1633         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1634         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1635         * modules/logf: New file.
1636         * tests/test-math-c++.cc: Check the declaration of logf.
1637         * doc/posix-functions/logf.texi: Mention the new module.
1638
1639         log: Use a .m4 file.
1640         * m4/log.m4: New file.
1641         * modules/log (Files): Add it.
1642         (configure.ac): Just invoke gl_FUNC_LOG.
1643
1644 2011-10-08  Bruno Haible  <bruno@clisp.org>
1645
1646         Tests for module 'expf'.
1647         * modules/expf-tests: New file.
1648         * tests/test-expf.c: New file.
1649
1650         New module 'expf'.
1651         * lib/math.in.h (expf): New declaration.
1652         * lib/expf.c: New file.
1653         * m4/expf.m4: New file.
1654         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1655         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1656         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1657         * modules/expf: New file.
1658         * tests/test-math-c++.cc: Check the declaration of expf.
1659         * doc/posix-functions/expf.texi: Mention the new module.
1660
1661         exp: Use a .m4 file.
1662         * m4/exp.m4: New file.
1663         * modules/exp (Files): Add it.
1664         (configure.ac): Just invoke gl_FUNC_EXP.
1665
1666 2011-10-08  Bruno Haible  <bruno@clisp.org>
1667
1668         Tests for module 'sqrtf'.
1669         * modules/sqrtf-tests: New file.
1670         * tests/test-sqrtf.c: New file.
1671
1672         New module 'sqrtf'.
1673         * lib/math.in.h (sqrtf): New declaration.
1674         * lib/sqrtf.c: New file.
1675         * m4/sqrtf.m4: New file.
1676         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1677         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1678         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1679         * modules/sqrtf: New file.
1680         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1681         * doc/posix-functions/sqrtf.texi: Mention the new module.
1682
1683 2011-10-08  Bruno Haible  <bruno@clisp.org>
1684
1685         Tests: Avoid link failures w.r.t. libintl.
1686         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1687         $(LIBINTL).
1688         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1689         $(LIBINTL).
1690         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1691         against $(LIBINTL).
1692         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1693         $(LIBINTL).
1694         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1695         $(LIBINTL).
1696         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1697
1698 2011-10-08  Bruno Haible  <bruno@clisp.org>
1699
1700         pow tests: Defeat compiler optimizations.
1701         * tests/test-pow.c (main): Assign arguments to x and y before use.
1702
1703 2011-10-08  Bruno Haible  <bruno@clisp.org>
1704
1705         gnulib-tool: Improve last commit.
1706         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1707         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1708         ignore dependencies that are not among the modules list.
1709
1710 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1711
1712         gnulib-tool: don't follow dependencies to avoided modules
1713         This fixes a bug that is related to the previous one.
1714         * gnulib-tool (func_modules_transitive_closure)
1715         (func_emit_autoconf_snippets):
1716         Check whether a dependency is acceptable before using it.
1717         (--extract-dependencies): Report an error if --avoid is also used,
1718         since this combination of options is not yet supported.
1719
1720         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1721         Problem reported by Peter Dyballa in
1722         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1723         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1724         when echoing "$condition".
1725
1726 2011-10-07  Bruno Haible  <bruno@clisp.org>
1727
1728         Fix documentation about math functions on MacOS X.
1729         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1730         MacOS X 10.5.
1731         * doc/posix-functions/fdim.texi: Likewise.
1732         * doc/posix-functions/feclearexcept.texi: Likewise.
1733         * doc/posix-functions/fegetenv.texi: Likewise.
1734         * doc/posix-functions/fegetround.texi: Likewise.
1735         * doc/posix-functions/feholdexcept.texi: Likewise.
1736         * doc/posix-functions/feraiseexcept.texi: Likewise.
1737         * doc/posix-functions/fesetenv.texi: Likewise.
1738         * doc/posix-functions/fesetround.texi: Likewise.
1739         * doc/posix-functions/fetestexcept.texi: Likewise.
1740         * doc/posix-functions/feupdateenv.texi: Likewise.
1741         * doc/posix-functions/fmax.texi: Likewise.
1742         * doc/posix-functions/fmin.texi: Likewise.
1743         * doc/posix-functions/log2.texi: Likewise.
1744         * doc/posix-functions/modff.texi: Likewise.
1745         * doc/posix-functions/nan.texi: Likewise.
1746         * doc/posix-functions/nanf.texi: Likewise.
1747         * doc/posix-functions/nextafterf.texi: Likewise.
1748         * doc/posix-functions/remquo.texi: Likewise.
1749
1750 2011-10-07  Bruno Haible  <bruno@clisp.org>
1751
1752         modff: Drop assumption about library that defines modff.
1753         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1754         AC_CHECK_FUNCS.
1755         * modules/modff (Files): Add m4/mathfunc.m4.
1756
1757 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1758
1759         raise tests: Avoid a GCC warning.
1760         * tests/test-raise.c (handler): Use _Noreturn.
1761
1762 2011-10-07  Bruno Haible  <bruno@clisp.org>
1763
1764         Tests for module 'ldexpf'.
1765         * modules/ldexpf-tests: New file.
1766         * tests/test-ldexpf.c: New file.
1767
1768         New module 'ldexpf'.
1769         * lib/math.in.h (ldexpf): New declaration.
1770         * lib/ldexpf.c: New file.
1771         * m4/ldexpf.m4: New file.
1772         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1773         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1774         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1775         * modules/ldexpf: New file.
1776         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1777         * doc/posix-functions/ldexpf.texi: Mention the new module.
1778
1779 2011-10-06  Bruno Haible  <bruno@clisp.org>
1780
1781         frexpf: Work around problems on IRIX and mingw.
1782         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1783         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1784         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1785         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1786         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1787         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1788         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1789
1790 2011-10-06  Bruno Haible  <bruno@clisp.org>
1791
1792         fabsf: Drop assumption about library that defines fabsf.
1793         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
1794         AC_CHECK_FUNCS.
1795         * modules/fabsf (Files): Add m4/mathfunc.m4.
1796
1797 2011-10-06  Bruno Haible  <bruno@clisp.org>
1798
1799         frexpf: Drop assumption about library that defines frexpf.
1800         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
1801         'int *', 'float *', 'long double *', 'float', 'long double'.
1802         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
1803         AC_CHECK_FUNCS.
1804         * modules/frexpf (Files): Add m4/mathfunc.m4.
1805
1806         Tests for module 'frexpf'.
1807         * modules/frexpf-tests: New file.
1808         * tests/test-frexpf.c: New file.
1809
1810         New module 'frexpf'.
1811         * lib/math.in.h (frexpf): New declaration.
1812         * lib/frexpf.c: New file.
1813         * m4/frexpf.m4: New file.
1814         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
1815         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
1816         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
1817         * modules/frexpf: New file.
1818         * tests/test-math-c++.cc: Check the declaration of frexpf.
1819         * doc/posix-functions/frexpf.texi: Mention the new module.
1820
1821 2011-10-06  Bruno Haible  <bruno@clisp.org>
1822
1823         math: Sort function declarations of math.in.h.
1824         * lib/math.in.h (frexp, logb): Move declarations.
1825
1826 2011-10-05  Bruno Haible  <bruno@clisp.org>
1827
1828         Tests for module 'modff'.
1829         * modules/modff-tests: New file.
1830         * tests/test-modff.c: New file.
1831
1832         New module 'modff'.
1833         * lib/math.in.h (modff): New declaration.
1834         * lib/modff.c: New file.
1835         * m4/modff.m4: New file.
1836         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
1837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
1838         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
1839         * modules/modff: New file.
1840         * tests/test-math-c++.cc: Check the declaration of modff.
1841         * doc/posix-functions/modff.texi: Mention the new module.
1842
1843         modf tests: Make test sharper.
1844         * tests/test-modf.c (main): Strengthen upper bound.
1845
1846         modf: Use a .m4 file.
1847         * m4/modf.m4: New file.
1848         * modules/modf (Files): Add it.
1849         (configure.ac): Just invoke gl_FUNC_MODF.
1850
1851 2011-10-05  Bruno Haible  <bruno@clisp.org>
1852
1853         Tests for module 'fmodf'.
1854         * modules/fmodf-tests: New file.
1855         * tests/test-fmodf.c: New file.
1856
1857         New module 'fmodf'.
1858         * lib/math.in.h (fmodf): New declaration.
1859         * lib/fmodf.c: New file.
1860         * m4/fmodf.m4: New file.
1861         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
1862         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
1863         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
1864         * modules/fmodf: New file.
1865         * tests/test-math-c++.cc: Check the declaration of fmodf.
1866         * doc/posix-functions/fmodf.texi: Mention the new module.
1867
1868         fmod: Use a .m4 file.
1869         * m4/fmod.m4: New file.
1870         * modules/fmod (Files): Add it.
1871         (configure.ac): Just invoke gl_FUNC_FMOD.
1872
1873 2011-10-05  Bruno Haible  <bruno@clisp.org>
1874
1875         Tests for module 'fabsf'.
1876         * modules/fabsf-tests: New file.
1877         * tests/test-fabsf.c: New file.
1878
1879         New module 'fabsf'.
1880         * lib/math.in.h (fabsf): New declaration.
1881         * lib/fabsf.c: New file.
1882         * m4/fabsf.m4: New file.
1883         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
1884         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
1885         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
1886         * modules/fabsf: New file.
1887         * tests/test-math-c++.cc: Check the declaration of fabsf.
1888         * doc/posix-functions/fabsf.texi: Mention the new module.
1889
1890         fabs: Use a .m4 file.
1891         * m4/fabs.m4: New file.
1892         * modules/fabs (Files): Add it.
1893         (configure.ac): Just invoke gl_FUNC_FABS.
1894
1895 2011-10-05  Jim Meyering  <meyering@redhat.com>
1896
1897         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
1898         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
1899         ls -lL regression introduced in coreutils-8.12, it does so at the
1900         cost of an additional stat call in the common case.  Besides, now
1901         that the kernel change that prompted commit 95f7c57f has been reverted
1902         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
1903         we have no use for commit 95f7c57f, "file-has-acl: use
1904         acl_extended_file_nofollow if available".
1905
1906 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
1907
1908         file-has-acl: revert unintended change in behavior of ls -L
1909         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
1910         derived from...
1911         (file_has_acl): ...code here.  Call it.
1912         This problem was introduced with 2011-07-22 commit 95f7c57f,
1913         "file-has-acl: use acl_extended_file_nofollow if available".
1914         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
1915
1916 2011-10-03  Bruno Haible  <bruno@clisp.org>
1917
1918         poll: Avoid link errors on MSVC.
1919         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
1920         * modules/poll (Depends-on): Add sockets.
1921         (Link): New section.
1922         * NEWS: Mention the change.
1923         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
1924         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
1925         $(LIB_POLL) instead of $(LIBSOCKET).
1926
1927 2011-10-03  Bruno Haible  <bruno@clisp.org>
1928
1929         sys_select tests: Fix link error on MSVC 9.
1930         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
1931         with $(LIB_SELECT) instead of $(LIBSOCKET).
1932
1933 2011-10-03  Bruno Haible  <bruno@clisp.org>
1934
1935         sys_select: Fix compilation error on mingw.
1936         * lib/sys_select.in.h: On native Windows, include <io.h>.
1937
1938 2011-10-03  Bruno Haible  <bruno@clisp.org>
1939
1940         wmemset: Support for MSVC.
1941         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
1942         whether wmemset() exists.
1943
1944 2011-10-03  Bruno Haible  <bruno@clisp.org>
1945
1946         wmemmove: Support for MSVC.
1947         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
1948         whether wmemmove() exists.
1949
1950 2011-10-03  Bruno Haible  <bruno@clisp.org>
1951
1952         wmemcpy: Support for MSVC.
1953         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
1954         whether wmemcpy() exists.
1955
1956 2011-10-03  Bruno Haible  <bruno@clisp.org>
1957
1958         wmemcmp: Support for MSVC.
1959         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
1960         whether wmemcmp() exists.
1961
1962 2011-10-03  Bruno Haible  <bruno@clisp.org>
1963
1964         wmemchr: Support for MSVC.
1965         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
1966         whether wmemchr() exists.
1967
1968 2011-10-03  Bruno Haible  <bruno@clisp.org>
1969
1970         glthread/*, strsignal: Support for MSVC.
1971         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
1972         including <winsock.h> on MSVC 9.
1973         * lib/glthread/lock.h: Likewise.
1974         * lib/glthread/thread.h: Likewise.
1975         * lib/glthread/tls.h: Likewise.
1976         * lib/glthread/yield.h: Likewise.
1977         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
1978         if HAVE_UNISTD_H is false.
1979         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
1980
1981 2011-10-03  Bruno Haible  <bruno@clisp.org>
1982
1983         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
1984         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
1985         Set to 100000.
1986
1987 2011-10-03  Bruno Haible  <bruno@clisp.org>
1988
1989         acl: Fix specification.
1990         * lib/file-has-acl.c (file_has_acl): Fix specification.
1991
1992 2011-10-03  Bruno Haible  <bruno@clisp.org>
1993
1994         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
1995         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
1996         (compute_curr_prefix, shared_library_fullname,
1997         find_shared_library_fullname, get_shared_library_fullname, relocate):
1998         Use it together with PIC && INSTALLDIR.
1999         Reported by <jojelino@gmail.com>
2000         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
2001
2002 2011-10-01  Jim Meyering  <meyering@redhat.com>
2003
2004         maint.mk: adjust a release-related rule not to require use of gzip
2005         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
2006         Instead, check each file in $(DIST_ARCHIVES).  This is better for
2007         projects that build only .tar.xz files.  Also fix an erroneous test.
2008
2009         test-linkat: don't leave behind a temporary file
2010         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
2011         Otherwise, coreutils' "make distcheck" would fail with this:
2012           Only in /c/cu/tests/torture/coreutils/test/\
2013             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
2014           make[2]: *** [my-distcheck] Error 1
2015
2016         float, math: add omitted file
2017         * lib/itold.c: Add file, required for yesterday's float change.
2018
2019 2011-10-01  Bruno Haible  <bruno@clisp.org>
2020
2021         isinf: Fix for OpenBSD/x86.
2022         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
2023         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
2024         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
2025
2026 2011-10-01  Bruno Haible  <bruno@clisp.org>
2027
2028         isfinite: Fix syntax error in configure test.
2029         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
2030
2031         isfinite: Fix typo.
2032         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
2033         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
2034
2035 2011-10-01  Bruno Haible  <bruno@clisp.org>
2036
2037         nonblocking tests: Fix test failure on Linux/IA-64.
2038         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
2039         Set to 270000.
2040
2041 2011-10-01  Bruno Haible  <bruno@clisp.org>
2042
2043         mkfifoat tests: Fix a test failure on mingw.
2044         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
2045         with error ENOSYS.
2046
2047 2011-09-30  Bruno Haible  <bruno@clisp.org>
2048
2049         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
2050         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
2051         'long double'. Set REPLACE_ITOLD.
2052         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
2053         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
2054         * lib/itold.c: New file.
2055         * modules/float (Files): Add lib/itold.c.
2056         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
2057         (Makefile.am): Substitute REPLACE_ITOLD.
2058         * modules/math (Depends-on): Add float.
2059         (Makefile.am): Substitute REPLACE_ITOLD.
2060         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
2061         * doc/posix-headers/math.texi: Likewise.
2062         * doc/posix-functions/logl.texi: Likewise.
2063
2064 2011-09-30  Bruno Haible  <bruno@clisp.org>
2065
2066         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
2067         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
2068         Set to 140000.
2069
2070 2011-09-30  Bruno Haible  <bruno@clisp.org>
2071
2072         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
2073         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
2074         invocation, say "right after AC_PROG_CC_STDC", not "right after
2075         AC_PROG_CC".
2076         Reported by Gary V. Vaughan <gary@gnu.org>.
2077
2078 2011-09-30  Bruno Haible  <bruno@clisp.org>
2079
2080         Centralize C99 requirement.
2081         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
2082         * modules/stdarg (configure.ac-early): Invoke it instead of
2083         AC_PROG_CC_STDC.
2084         Reported by Gary V. Vaughan and Paul Eggert.
2085
2086 2011-09-29  Bruno Haible  <bruno@clisp.org>
2087
2088         float: Fix LDBL_MAX value on Linux/PowerPC.
2089         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
2090         on Linux/PowerPC.
2091         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
2092         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
2093         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
2094         platform.
2095         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
2096
2097 2011-09-29  Bruno Haible  <bruno@clisp.org>
2098
2099         doc: Improve doc about gl_EARLY.
2100         * doc/gnulib-tool.texi (Initial import): Mention where to place an
2101         AC_PROG_CC_STDC invocation.
2102         Reported by Gary V. Vaughan <gary@gnu.org>.
2103
2104 2011-09-28  Bruno Haible  <bruno@clisp.org>
2105
2106         fgetc, fputc, fread, fwrite tests: Fix link error.
2107         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
2108         on non-MSVC platforms.
2109         * tests/test-fputc.c (main): Likewise.
2110         * tests/test-fread.c (main): Likewise.
2111         * tests/test-fwrite.c (main): Likewise.
2112         Reported by Jim Meyering.
2113
2114 2011-09-27  Bruno Haible  <bruno@clisp.org>
2115
2116         fputc, fwrite tests: Avoid test failure on MSVC.
2117         * tests/test-fgetc.c: Include msvc-inval.h.
2118         (main): Invoke gl_msvc_inval_ensure_handler.
2119         * tests/test-fputc.c: Include msvc-inval.h.
2120         (main): Invoke gl_msvc_inval_ensure_handler.
2121         * tests/test-fread.c: Include msvc-inval.h.
2122         (main): Invoke gl_msvc_inval_ensure_handler.
2123         * tests/test-fwrite.c: Include msvc-inval.h.
2124         (main): Invoke gl_msvc_inval_ensure_handler.
2125         * modules/fgetc-tests (Depends-on): Add msvc-inval.
2126         * modules/fputc-tests (Depends-on): Likewise.
2127         * modules/fread-tests (Depends-on): Likewise.
2128         * modules/fwrite-tests (Depends-on): Likewise.
2129
2130 2011-09-27  Bruno Haible  <bruno@clisp.org>
2131
2132         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
2133         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
2134         (raise): Remove older, duplicated declaration.
2135         (_gl_raise_SIGPIPE): New declaration.
2136         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
2137         (rpl_raise): Remove function.
2138         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
2139         a gnulib-defined SIGPIPE here.
2140         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
2141         'sigprocmask' has detected missing signal-blocking and the module
2142         'sigpipe' is enabled.
2143         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2144
2145 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
2146
2147         base64-tests: avoid memory leak
2148         * tests/test-base64.c (main): Plug memory leak.
2149
2150         base32: new module
2151         * modules/base32: New module.
2152         * lib/base32.c: New file.
2153         * lib/base32.h: Likewise.
2154         * m4/base32.m4: Likewise.
2155         * modules/base32-tests: New test.
2156         * tests/test-base32.c: Likewise.
2157         * MODULES.html.sh (Misc): Mention it.
2158
2159 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2160
2161         gnulib: use more-standard license notice wording
2162         * gnulib-tool (func_emit_copyright_notice): When emitting a
2163         license notice into a file, use the standard wording as suggested
2164         by the current information for GNU maintainers, except say "file"
2165         rather than "program".  The new wording gives a license version
2166         number, which addresses an issue raised by Glenn Morris in
2167         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
2168         * m4/onceonly.m4: Use that same wording here, too.
2169
2170         dup2: minor simplification
2171         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
2172         as lib/dup2.c no longer uses 'inline'.
2173
2174 2011-09-25  Bruno Haible  <bruno@clisp.org>
2175
2176         strings: Fix compilation error on MSVC.
2177         * lib/strings.in.h: Include <stddef.h> for size_t.
2178
2179 2011-09-25  Bruno Haible  <bruno@clisp.org>
2180
2181         fflush et al.: Document limitation on MSVC.
2182         * doc/posix-functions/fflush.texi: Document possible crash in handling
2183         mode other than DEFAULT_HANDLING.
2184         * doc/posix-functions/fgetc.texi: Likewise.
2185         * doc/posix-functions/fputc.texi: Likewise.
2186         * doc/posix-functions/fread.texi: Likewise.
2187         * doc/posix-functions/fwrite.texi: Likewise.
2188
2189 2011-09-25  Bruno Haible  <bruno@clisp.org>
2190
2191         msvc-inval: Allow three invalid parameter handling modes.
2192         * lib/msvc-inval.h: Don't include <stdlib.h> here.
2193         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
2194         macros.
2195         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
2196         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
2197         SANE_LIBRARY_HANDLING as a no-op.
2198         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
2199         <stdlib.h>.
2200         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
2201
2202 2011-09-25  Bruno Haible  <bruno@clisp.org>
2203
2204         msvc-inval: Make handler multithread-safe.
2205         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
2206         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
2207         declarations.
2208         (gl_msvc_inval_current): New declaration.
2209         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2210         Operate on the structure returned by gl_msvc_inval_current().
2211         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
2212         Remove varaiables.
2213         (tls_index, tls_initialized): New variables.
2214         (not_per_thread): New variable.
2215         (gl_msvc_inval_current): New function.
2216         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
2217         returned by gl_msvc_inval_current().
2218
2219 2011-09-25  Bruno Haible  <bruno@clisp.org>
2220
2221         msvc-inval: Install handler globally.
2222         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
2223         !_MSC_VER.
2224         (gl_msvc_invalid_parameter_handler): Remove declaration.
2225         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
2226         declarations.
2227         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2228         Install the handler globally, don't uninstall it.
2229         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
2230         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
2231         currently valid, call RaiseException instead.
2232         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
2233         for !_MSC_VER.
2234
2235 2011-09-25  Bruno Haible  <bruno@clisp.org>
2236
2237         strerror_r-posix: Fix for MSVC 9.
2238         * lib/strerror_r.c (local_snprintf): New function.
2239         (snprintf): Define to local_snprintf, not to _snprintf.
2240
2241 2011-09-25  Bruno Haible  <bruno@clisp.org>
2242
2243         ftruncate: Support for MSVC 9.
2244         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
2245         (chsize_nothrow): New function.
2246         (chsize): Redefine as a macro.
2247         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
2248         * modules/ftruncate (Depends-on): Add msvc-inval.
2249
2250 2011-09-25  Bruno Haible  <bruno@clisp.org>
2251
2252         New module 'fstat'.
2253         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
2254         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
2255         * lib/fchdir.c (rpl_fstat): Remove function.
2256         * m4/fstat.m4: New file.
2257         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
2258         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
2259         declared.
2260         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
2261         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
2262         * modules/fstat: New file.
2263         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
2264         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
2265         is set.
2266         * doc/posix-functions/fstat.texi: Mention the new module and the
2267         problem on MSVC.
2268         * NEWS: Mention the change.
2269         * modules/acl (Depends-on): Add fstat.
2270         * modules/chdir-safer (Depends-on): Likewise.
2271         * modules/chown (Depends-on): Likewise.
2272         * modules/copy-file (Depends-on): Likewise.
2273         * modules/fchdir (Depends-on): Likewise.
2274         * modules/fdopendir (Depends-on): Likewise.
2275         * modules/fopen (Depends-on): Likewise.
2276         * modules/fts (Depends-on): Likewise.
2277         * modules/getcwd (Depends-on): Likewise.
2278         * modules/isapipe (Depends-on): Likewise.
2279         * modules/linkat (Depends-on): Likewise.
2280         * modules/lseek (Depends-on): Likewise.
2281         * modules/mkdir-p (Depends-on): Likewise.
2282         * modules/open (Depends-on): Likewise.
2283         * modules/openat (Depends-on): Likewise.
2284         * modules/read-file (Depends-on): Likewise.
2285         * modules/renameat (Depends-on): Likewise.
2286         * modules/utimens (Depends-on): Likewise.
2287
2288 2011-09-25  Bruno Haible  <bruno@clisp.org>
2289
2290         linkat: Fix compilation on MSVC 9.
2291         * lib/linkat.c: Don't include <stdint.h>.
2292
2293 2011-09-25  Bruno Haible  <bruno@clisp.org>
2294
2295         fclose: Support for MSVC 9.
2296         * lib/fclose.c: Include msvc-inval.h.
2297         (fclose_nothrow): New function.
2298         (rpl_fclose): Use it.
2299         * modules/fclose (Depends-on): Add msvc-inval.
2300         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2301
2302 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2303
2304         dup2: minor simplifications
2305         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
2306         that it's a performance win.
2307         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
2308         ! defined __CYGWIN__)" to "ifdef F_GETFL".
2309
2310 2011-09-24  Jim Meyering  <meyering@redhat.com>
2311
2312         test-futimens: avoid a warning from gcc -Wshadow
2313         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
2314         to avoid a shadowing warning.
2315
2316 2011-09-24  Bruno Haible  <bruno@clisp.org>
2317
2318         fdopen: Support for MSVC 9.
2319         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
2320         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
2321         * lib/fdopen.c: Include msvc-inval.h.
2322         (fdopen_nothrow): New function.
2323         (rpl_fdopen): Use it.
2324         * modules/fdopen (Depends-on): Add msvc-inval.
2325         * modules/fclose-tests (Depends-on): Add fdopen.
2326         * modules/fflush-tests (Depends-on): Likewise.
2327         * modules/fgetc-tests (Depends-on): Likewise.
2328         * modules/fputc-tests (Depends-on): Likewise.
2329         * modules/fread-tests (Depends-on): Likewise.
2330         * modules/freopen-tests (Depends-on): Likewise.
2331         * modules/fseeko-tests (Depends-on): Likewise.
2332         * modules/ftello-tests (Depends-on): Likewise.
2333         * modules/fwrite-tests  (Depends-on): Likewise.
2334         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2335
2336 2011-09-24  Bruno Haible  <bruno@clisp.org>
2337
2338         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
2339         * modules/fgetc-tests (Depends-on): Add unistd.
2340         * modules/fputc-tests (Depends-on): Likewise.
2341         * modules/fread-tests (Depends-on): Likewise.
2342         * modules/fwrite-tests (Depends-on): Likewise.
2343
2344 2011-09-24  Bruno Haible  <bruno@clisp.org>
2345
2346         dup: Simplify autoconf test.
2347         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
2348         on gl_MSVC_INVAL's result.
2349
2350 2011-09-24  Bruno Haible  <bruno@clisp.org>
2351
2352         Tests for function fwrite().
2353         * modules/fwrite-tests: New file.
2354         * tests/test-fwrite.c: New file.
2355         * modules/stdio-tests (Depends-on): Add fwrite-tests.
2356
2357         Tests for function fread().
2358         * modules/fread-tests: New file.
2359         * tests/test-fread.c: New file.
2360         * modules/stdio-tests (Depends-on): Add fread-tests.
2361
2362         Activate fputc tests.
2363         * modules/stdio-tests (Depends-on): Add fputc-tests.
2364
2365         Enhance fgetc, fputc tests.
2366         * tests/test-fgetc.c (main): Also test the stream's error indicator.
2367         * tests/test-fputc.c (main): Likewise.
2368
2369 2011-09-24  Bruno Haible  <bruno@clisp.org>
2370
2371         write: Support for MSVC 9.
2372         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2373         is not 1.
2374         * lib/write.c (write_nothrow): New function.
2375         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
2376         not 1. Use write_nothrow.
2377         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
2378         invalid parameter handler.
2379         (gl_PREREQ_WRITE): New macro.
2380         * modules/write (Depends-on): Add msvc-inval.
2381         (configure.ac): Invoke gl_PREREQ_WRITE.
2382         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2383
2384 2011-09-24  Bruno Haible  <bruno@clisp.org>
2385
2386         read: Fix last commit.
2387         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2388
2389 2011-09-24  Bruno Haible  <bruno@clisp.org>
2390
2391         dup2: Fix last commit.
2392         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2393         (rpl_dup2): Disable fcntl workaround on native Windows.
2394
2395         sigprocmask: Make code safer.
2396         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2397         section that changes macro definitions for this compilation unit.
2398
2399 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2400
2401         dup2: clarify by coalescing Windows-specific material
2402         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2403         "msvc-nothrow.h"' to the Windows-specific section, so that the
2404         Emacs source need not contain these include files.
2405         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2406         Windows-specific fixes into this function rather than just the
2407         nothrow fix, as this shortens and clarifies the code.  Always
2408         define as a function, as that's a bit cleaner than having it be
2409         sometimes a function and sometimes a macro.
2410         (rpl_dup2): Move the Windows-specific stuff out of here and into
2411         ms_windows_dup2.  Don't protect the Haiku-related fix with
2412         "#if !defined __linux__", as the same code also works around
2413         a Linux kernel bug, and it doesn't add any system calls on any
2414         platform.  Add comment about FreeBSD 6.1.
2415
2416         sigprocmask: move #include directive
2417         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2418         Windows-specific section, so that the Emacs source need not
2419         contain msvc-inval.h.
2420
2421 2011-09-23  Bruno Haible  <bruno@clisp.org>
2422
2423         read: Support for MSVC 9.
2424         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2425         is not 1.
2426         * lib/read.c (read_nothrow): New function.
2427         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2428         read_nothrow.
2429         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2430         invalid parameter handler.
2431         (gl_PREREQ_READ): New macro.
2432         * modules/read (Depends-on): Add msvc-inval.
2433         (configure.ac): Invoke gl_PREREQ_READ.
2434         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2435
2436 2011-09-23  Bruno Haible  <bruno@clisp.org>
2437
2438         close: Support for MSVC 9.
2439         * lib/close.c: Include <errno.h>, msvc-inval.h.
2440         (close_nothrow): New function.
2441         (rpl_close): Use it.
2442         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2443         invalid parameter handler.
2444         * modules/close (Depends-on): Add msvc-inval.
2445         * modules/dup2-tests (Depends-on): Add close.
2446         * modules/dup3-tests (Depends-on): Likewise.
2447         * modules/fcntl-tests (Depends-on): Likewise.
2448         * modules/spawn-pipe-tests (Depends-on): Likewise.
2449         * modules/unistd-safer-tests (Depends-on): Likewise.
2450         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2451
2452 2011-09-23  Bruno Haible  <bruno@clisp.org>
2453
2454         New module 'dup'.
2455         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2456         Allow replacement.
2457         * lib/dup.c: New file.
2458         * lib/fchdir.c (rpl_dup): Remove function.
2459         * m4/dup.m4: New file.
2460         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2461         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2462         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2463         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2464         * modules/dup: New file.
2465         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2466         'dup' module is in use.
2467         * modules/fdopendir (Depends-on): Add dup.
2468         * modules/fdutimensat-tests (Depends-on): Likewise.
2469         * modules/fts (Depends-on): Likewise.
2470         * modules/futimens-tests (Depends-on): Likewise.
2471         * modules/posix_spawnp-tests (Depends-on): Likewise.
2472         * modules/unistd-safer-tests (Depends-on): Likewise.
2473         * modules/utimens-tests (Depends-on): Likewise.
2474         * doc/posix-functions/dup.texi: Mention the new module and the problem
2475         on MSVC.
2476
2477 2011-09-23  Bruno Haible  <bruno@clisp.org>
2478
2479         getdtablesize: Support for MSVC 9.
2480         * lib/getdtablesize.c: Include msvc-inval.h.
2481         (_setmaxstdio_nothrow): New function.
2482         (_setmaxstdio): Redefine it.
2483         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2484         * modules/getdtablesize (Depends-on): Add msvc-inval.
2485         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2486
2487 2011-09-23  Bruno Haible  <bruno@clisp.org>
2488
2489         signal-h: Rename from signal.
2490         * modules/signal-h: Renamed from modules/signal.
2491         * modules/pthread_sigmask (Depends-on): Update.
2492         * modules/raise (Depends-on): Likewise.
2493         * modules/sigaction (Depends-on): Likewise.
2494         * modules/sigpipe (Depends-on): Likewise.
2495         * modules/sigprocmask (Depends-on): Likewise.
2496         * modules/sys_select (Depends-on): Likewise.
2497         * modules/signal-h-tests: Renamed from modules/signal-tests.
2498         (Files, Depends-on, Makefile.am): Update.
2499         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2500         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2501         (Files, Makefile.am): Update.
2502         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2503         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2504         * modules/signal: New placeholder file.
2505         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2506         * doc/posix-headers/signal.texi: Update.
2507         * NEWS: Mention the change.
2508
2509 2011-09-23  Bruno Haible  <bruno@clisp.org>
2510
2511         sigprocmask: Avoid crashes through signal() on MSVC 9.
2512         * lib/sigprocmask.c: Include msvc-inval.h.
2513         (signal_nothrow): New function.
2514         (signal): Redefine it.
2515         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2516         * modules/sigprocmask (Depends-on): Add msvc-inval.
2517         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2518
2519 2011-09-23  Bruno Haible  <bruno@clisp.org>
2520
2521         Tests for module 'raise'.
2522         * modules/raise-tests: New file.
2523         * tests/test-raise.c: New file.
2524
2525         raise: Support for MSVC.
2526         * lib/signal.in.h (raise): New declaration.
2527         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2528         for native Windows platforms.
2529         * m4/raise.m4: New file.
2530         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2531         HAVE_RAISE, REPLACE_RAISE.
2532         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2533         REPLACE_RAISE.
2534         * modules/raise (Status, Notice): Remove fields.
2535         (Files): Add m4/raise.m4.
2536         (Depends-on): Add signal, msvc-inval.
2537         (configure.ac): Use the common idioms.
2538         (Maintainer): Add me.
2539         * tests/test-signal-c++.cc: Check the signature of raise.
2540         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2541
2542 2011-09-23  Bruno Haible  <bruno@clisp.org>
2543
2544         pipe2: Fix compilation on pre-C99 compilers.
2545         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2546
2547 2011-09-23  Bruno Haible  <bruno@clisp.org>
2548
2549         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2550         * lib/msvc-nothrow.h: New file.
2551         * lib/msvc-nothrow.c: New file.
2552         * m4/msvc-nothrow.m4: New file.
2553         * modules/msvc-nothrow: New file.
2554         * lib/dup2.c: Include msvc-nothrow.h.
2555         (rpl_dup2): No need to protect _get_osfhandle call here.
2556         * lib/accept4.c: Include msvc-nothrow.h.
2557         * lib/error.c: Likewise.
2558         * lib/fcntl.c: Likewise.
2559         * lib/lseek.c: Likewise.
2560         * lib/nonblocking.c: Likewise.
2561         * lib/poll.c: Likewise.
2562         * lib/read.c: Likewise.
2563         * lib/select.c: Likewise.
2564         * lib/sockets.h: Likewise.
2565         * lib/sockets.c: Likewise.
2566         * lib/stdio-read.c: Likewise.
2567         * lib/stdio-write.c: Likewise.
2568         * lib/write.c: Likewise.
2569         * lib/w32sock.h: Likewise.
2570         * lib/w32spawn.h: Likewise.
2571         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2572         * lib/fsync.c: Likewise.
2573         * lib/isapipe.c: Likewise.
2574         * modules/dup2 (Depends-on): Add msvc-nothrow.
2575         * modules/accept4 (Depends-on): Likewise.
2576         * modules/error (Depends-on): Likewise.
2577         * modules/fcntl (Depends-on): Likewise.
2578         * modules/lseek (Depends-on): Likewise.
2579         * modules/nonblocking (Depends-on): Likewise.
2580         * modules/poll (Depends-on): Likewise.
2581         * modules/read (Depends-on): Likewise.
2582         * modules/select (Depends-on): Likewise.
2583         * modules/sockets (Depends-on): Likewise.
2584         * modules/sigpipe (Depends-on): Likewise.
2585         * modules/write (Depends-on): Likewise.
2586         * modules/accept (Depends-on): Likewise.
2587         * modules/bind (Depends-on): Likewise.
2588         * modules/connect (Depends-on): Likewise.
2589         * modules/gethostname (Depends-on): Likewise.
2590         * modules/getpeername (Depends-on): Likewise.
2591         * modules/getsockname (Depends-on): Likewise.
2592         * modules/getsockopt (Depends-on): Likewise.
2593         * modules/ioctl (Depends-on): Likewise.
2594         * modules/listen (Depends-on): Likewise.
2595         * modules/recv (Depends-on): Likewise.
2596         * modules/recvfrom (Depends-on): Likewise.
2597         * modules/send (Depends-on): Likewise.
2598         * modules/sendto (Depends-on): Likewise.
2599         * modules/setsockopt (Depends-on): Likewise.
2600         * modules/shutdown (Depends-on): Likewise.
2601         * modules/socket (Depends-on): Likewise.
2602         * modules/execute (Depends-on): Likewise.
2603         * modules/spawn-pipe (Depends-on): Likewise.
2604         * modules/flock (Depends-on): Likewise.
2605         * modules/fsync (Depends-on): Likewise.
2606         * modules/isapipe (Depends-on): Likewise.
2607         * tests/test-cloexec.c: Include msvc-nothrow.h.
2608         * tests/test-dup-safer.c: Likewise.
2609         * tests/test-dup2.c: Likewise.
2610         * tests/test-dup3.c: Likewise.
2611         * tests/test-fcntl.c: Likewise.
2612         * tests/test-pipe.c: Likewise.
2613         * tests/test-pipe2.c: Likewise.
2614         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2615         * modules/unistd-safer-tests (Depends-on): Likewise.
2616         * modules/dup2-tests (Depends-on): Likewise.
2617         * modules/dup3-tests (Depends-on): Likewise.
2618         * modules/fcntl-tests (Depends-on): Likewise.
2619         * modules/pipe-posix-tests (Depends-on): Likewise.
2620         * modules/pipe2-tests (Depends-on): Likewise.
2621
2622 2011-09-23  Bruno Haible  <bruno@clisp.org>
2623
2624         dup2: Make code more maintainable.
2625         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2626         (rpl_dup2): Use it.
2627         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2628         * modules/dup2 (configure.ac): Invoke it.
2629         Reported by Paul Eggert.
2630
2631 2011-09-23  Bruno Haible  <bruno@clisp.org>
2632
2633         msvc-inval: Fix compilation error.
2634         * lib/msvc-inval.h: Include <excpt.h>.
2635
2636 2011-09-23  Bruno Haible  <bruno@clisp.org>
2637
2638         mkdir: Tweak for MSVC 9.
2639         * lib/sys_stat.in.h: Update comments.
2640         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2641
2642         Tests for module 'chdir'.
2643         * modules/chdir-tests: New file.
2644         * tests/test-chdir.c: New file.
2645
2646         New module 'chdir'.
2647         * modules/chdir: New file.
2648         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2649         (chdir): New declaration.
2650         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2651         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2652         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2653         * tests/test-unistd-c++.cc: Check signature of chdir.
2654         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2655         * modules/chdir-long (Depends-on): Add chdir.
2656         * modules/fchdir (Depends-on): Likewise.
2657         * modules/rename (Depends-on): Likewise.
2658         * modules/savewd (Depends-on): Likewise.
2659
2660         rmdir: Support for mingw, MSVC 9.
2661         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2662         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2663
2664         getcwd: Tweak for MSVC 9.
2665         * lib/unistd.in.h: Update comments.
2666         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2667
2668 2011-09-22  Bruno Haible  <bruno@clisp.org>
2669
2670         strerror_r-posix: Avoid a link error on MSVC.
2671         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2672         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2673
2674 2011-09-22  Bruno Haible  <bruno@clisp.org>
2675
2676         select: Avoid link errors on MSVC.
2677         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2678         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2679         * modules/pselect (Link): Likewise.
2680         * NEWS: Mention the change.
2681         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2682         test-select-stdin against $(LIB_SELECT).
2683         * modules/pselect-tests (Makefile.am): Link test-pselect against
2684         $(LIB_SELECT).
2685
2686 2011-09-22  Bruno Haible  <bruno@clisp.org>
2687
2688         select: Avoid compilation error on MSVC.
2689         * lib/select.c: Don't include <stdbool.h>.
2690
2691 2011-09-21  Bruno Haible  <bruno@clisp.org>
2692
2693         Consolidate all uses of PATH_MAX in *.m4 files.
2694         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2695         macros.
2696         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2697         and gl_PATHMAX_SNIPPET.
2698         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2699         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2700         * modules/chdir-long (Files): Add m4/pathmax.m4.
2701         * modules/getcwd (Files): Likewise.
2702
2703 2011-09-21  Bruno Haible  <bruno@clisp.org>
2704
2705         ftruncate: Un-deprecate, concentrate on Win32 support.
2706         * modules/ftruncate (Status, Notice): Remove sections.
2707         (Depends-on): Add largefile.
2708         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2709         non-mingw platforms.
2710         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2711         include <io.h>.
2712         * modules/perror-tests (Depends-on): Add ftruncate.
2713         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2714         'ftruncate' module.
2715
2716 2011-09-21  Bruno Haible  <bruno@clisp.org>
2717
2718         Add dependencies to new dirent related modules.
2719         * modules/opendir (Depends-on): Add closedir.
2720         * modules/getcwd (Depends-on): Add opendir, closedir.
2721         * modules/dirent-safer-tests (Depends-on): Likewise.
2722         * modules/fdopendir-tests (Depends-on): Likewise.
2723         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2724         * modules/renameat-tests (Depends-on): Likewise.
2725
2726 2011-09-21  Bruno Haible  <bruno@clisp.org>
2727
2728         opendir: Avoid compilation error on mingw.
2729         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2730         * modules/opendir (Depends-on): Add unistd.
2731
2732 2011-09-21  Bruno Haible  <bruno@clisp.org>
2733
2734         ftruncate tests: Avoid a test failure on mingw.
2735         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2736
2737 2011-09-21  Bruno Haible  <bruno@clisp.org>
2738
2739         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2740         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2741         native Windows.
2742
2743 2011-09-21  Bruno Haible  <bruno@clisp.org>
2744
2745         New module 'fdopen'.
2746         * lib/stdio.in.h (fdopen): New declaration.
2747         * lib/fdopen.c: New file.
2748         * m4/fdopen.m4: New file.
2749         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2750         REPLACE_FDOPEN.
2751         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2752         REPLACE_FDOPEN.
2753         * modules/fdopen: New file.
2754         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2755         * tests/test-stdio-c++.cc: Check signature of fdopen.
2756         * doc/posix-functions/fdopen.texi: Mention the new module.
2757
2758 2011-09-21  Bruno Haible  <bruno@clisp.org>
2759
2760         unlockpt tests: Avoid test failure on NetBSD 5.1.
2761         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2762         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2763
2764 2011-09-21  Bruno Haible  <bruno@clisp.org>
2765
2766         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2767         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2768         * tests/test-getlogin_r.c (main): Likewise.
2769
2770 2011-09-20  Bruno Haible  <bruno@clisp.org>
2771
2772         time tests: Don't require pid_t.
2773         * doc/posix-headers/time.texi: Revert last change.
2774         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2775         * tests/test-time.c: Comment out the check for pid_t.
2776
2777 2011-09-20  Bruno Haible  <bruno@clisp.org>
2778
2779         fsync tests: Avoid a test failure on mingw.
2780         * tests/test-fsync.c (main): Allow a failure with EIO.
2781
2782 2011-09-20  Bruno Haible  <bruno@clisp.org>
2783
2784         euidaccess: Update comments.
2785         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2786
2787 2011-09-20  Bruno Haible  <bruno@clisp.org>
2788
2789         Ensure EBADF returns for socket functions on mingw.
2790         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2791         descriptor is invalid.
2792         * lib/bind.c (rpl_bind): Likewise.
2793         * lib/connect.c (rpl_connect): Likewise.
2794         * lib/getpeername.c (rpl_getpeername): Likewise.
2795         * lib/getsockname.c (rpl_getsockname): Likewise.
2796         * lib/getsockopt.c (rpl_getsockopt): Likewise.
2797         * lib/listen.c (rpl_listen): Likewise.
2798         * lib/recv.c (rpl_recv): Likewise.
2799         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2800         * lib/send.c (rpl_send): Likewise.
2801         * lib/sendto.c (rpl_sendto): Likewise.
2802         * lib/setsockopt.c (rpl_setsockopt): Likewise.
2803         * lib/shutdown.c (rpl_shutdown): Likewise.
2804
2805 2011-09-20  Bruno Haible  <bruno@clisp.org>
2806
2807         select tests: EBADF tests.
2808         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
2809         test_bad_fd): New functions.
2810         (test_function): Invoke also test_bad_fd.
2811
2812 2011-09-20  Bruno Haible  <bruno@clisp.org>
2813
2814         Tests for module 'posix_spawn_file_actions_addopen.
2815         * modules/posix_spawn_file_actions_addopen-tests: New file.
2816         * tests/test-posix_spawn_file_actions_addopen.c: New file.
2817
2818         Tests for module 'posix_spawn_file_actions_adddup2'.
2819         * modules/posix_spawn_file_actions_adddup2-tests: New file.
2820         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
2821
2822         Tests for module 'posix_spawn_file_actions_addclose'.
2823         * modules/posix_spawn_file_actions_addclose-tests: New file.
2824         * tests/test-posix_spawn_file_actions_addclose.c: New file.
2825
2826 2011-09-20  Bruno Haible  <bruno@clisp.org>
2827
2828         Tests for module 'unlockpt'.
2829         * modules/unlockpt-tests: New file.
2830         * tests/test-unlockpt.c: New file.
2831         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2832
2833         Tests for module 'grantpt'.
2834         * modules/grantpt-tests: New file.
2835         * tests/test-grantpt.c: New file.
2836         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2837
2838 2011-09-20  Bruno Haible  <bruno@clisp.org>
2839
2840         freopen tests: EBADF tests.
2841         * tests/test-freopen.c: Include errno.h, unistd.h.
2842         (main): Add tests for EBADF, commented out for the moment.
2843
2844         fclose tests: EBADF tests.
2845         * tests/test-fclose.c (main): Add tests for EBADF.
2846
2847         fflush tests: EBADF tests.
2848         * tests/test-fflush.c: Include errno.h, macros.h.
2849         (main): Add tests for EBADF.
2850
2851         ftello tests: EBADF tests.
2852         * tests/test-ftello4.sh: New file.
2853         * tests/test-ftello4.c: New file.
2854         * modules/ftello-tests (Files): Add them.
2855         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
2856
2857         fseeko tests: EBADF tests.
2858         * tests/test-fseeko4.sh: New file.
2859         * tests/test-fseeko4.c: New file.
2860         * modules/fseeko-tests (Files): Add them.
2861         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
2862
2863         Tests for function fputc().
2864         * modules/fputc-tests: New file.
2865         * tests/test-fputc.c: New file.
2866         * modules/stdio-tests (Depends-on): Add fputc-tests.
2867
2868         Tests for function fgetc().
2869         * modules/fgetc-tests: New file.
2870         * tests/test-fgetc.c: New file.
2871         * modules/stdio-tests (Depends-on): Add fgetc-tests.
2872
2873         Tests for function fdopen().
2874         * modules/fdopen-tests: New file.
2875         * tests/test-fdopen.c: New file.
2876         * modules/stdio-tests (Depends-on): Add fdopen-tests.
2877
2878         Tests for module 'vdprintf'.
2879         * modules/vdprintf-tests: New file.
2880         * tests/test-vdprintf.c: New file.
2881
2882         Tests for module 'dprintf'.
2883         * modules/dprintf-tests: New file.
2884         * tests/test-dprintf.c: New file.
2885
2886 2011-09-20  Bruno Haible  <bruno@clisp.org>
2887
2888         Tests for module 'ioctl'.
2889         * modules/ioctl-tests: New file.
2890         * tests/test-ioctl.c: New file.
2891
2892 2011-09-20  Bruno Haible  <bruno@clisp.org>
2893
2894         fcntl tests: EBADF tests.
2895         * tests/test-fcntl.c (main): Add more tests for EBADF.
2896
2897 2011-09-20  Bruno Haible  <bruno@clisp.org>
2898
2899         utimensat tests: EBADF tests.
2900         * tests/test-utimensat.c (main): Add tests for EBADF.
2901
2902         renameat tests: EBADF tests.
2903         * tests/test-renameat.c (main): Add tests for EBADF.
2904
2905         mkfifoat tests: EBADF tests.
2906         * tests/test-mkfifoat.c (main): Add tests for EBADF.
2907
2908         readlinkat tests: EBADF tests.
2909         * tests/test-readlinkat.c (main): Add tests for EBADF.
2910
2911         symlinkat tests: EBADF tests.
2912         * tests/test-symlinkat.c (main): Add tests for EBADF.
2913
2914         linkat tests: EBADF tests.
2915         * tests/test-linkat.c (main): Add tests for EBADF.
2916
2917         Tests for module 'faccessat'.
2918         * modules/faccessat-tests: New file.
2919         * tests/test-faccessat.c: New file.
2920
2921         fdopendir tests: EBADF tests.
2922         * tests/test-fdopendir.c (main): Add more tests for EBADF.
2923
2924         openat tests: EBADF tests.
2925         * tests/test-fchownat.c (main): Add tests for EBADF.
2926         * tests/test-fstatat.c (main): Likewise.
2927         * tests/test-mkdirat.c (main): Likewise.
2928         * tests/test-openat.c (main): Likewise.
2929         * tests/test-unlinkat.c (main): Likewise.
2930         * tests/test-fchmodat.c: New file.
2931         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
2932         (Makefile.am): Also run 'test-fchmodat'.
2933
2934 2011-09-20  Bruno Haible  <bruno@clisp.org>
2935
2936         utimens, futimens, fdutimensat tests: EBADF tests.
2937         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
2938
2939         Tests for function fstat().
2940         * modules/fstat-tests: New file.
2941         * tests/test-fstat.c: New file.
2942         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
2943
2944 2011-09-20  Bruno Haible  <bruno@clisp.org>
2945
2946         test-ttyname_r tests: EBADF tests.
2947         * tests/test-ttyname_r.c (main): Add tests for EBADF.
2948
2949         Tests for module 'isatty'.
2950         * modules/isatty-tests: New file.
2951         * tests/test-isatty.c: New file.
2952
2953         Tests for module 'write'.
2954         * modules/write-tests: New file.
2955         * tests/test-write.c: New file.
2956
2957         Tests for module 'read'.
2958         * modules/read-tests: New file.
2959         * tests/test-read.c: New file.
2960
2961         pwrite tests: EBADF tests.
2962         * tests/test-pwrite.c (main): Add tests for EBADF.
2963
2964         pread tests: EBADF tests.
2965         * tests/test-pread.c (main): Add tests for EBADF.
2966
2967         lseek tests: EBADF tests.
2968         * tests/test-lseek.c (main): Add more tests for EBADF.
2969
2970         Tests for module 'ftruncate'.
2971         * modules/ftruncate-tests: New file.
2972         * tests/test-ftruncate.sh: New file.
2973         * tests/test-ftruncate.c: New file.
2974
2975         fsync tests: EBADF tests.
2976         * tests/test-fsync.c (main): Add more tests for EBADF.
2977
2978         fdatasync tests: EBADF tests.
2979         * tests/test-fdatasync.c (main): Add more tests for EBADF.
2980
2981         Tests for module 'fchown'.
2982         * modules/fchown-tests: New file.
2983         * tests/test-fchown.c: New file.
2984
2985         Tests for module 'fchmod'.
2986         * modules/fchmod-tests: New file.
2987         * tests/test-fchmod.c: New file.
2988
2989         fchdir tests: EBADF tests.
2990         * tests/test-fchdir.c (main): Add more tests for EBADF.
2991
2992         dup2 tests: EBADF tests.
2993         * tests/test-dup2.c (main): Add more tests for EBADF.
2994
2995         Tests for module 'dup'.
2996         * modules/dup-tests: New file.
2997         * tests/test-dup.c: New file.
2998
2999         Tests for module 'close'.
3000         * modules/close-tests: New file.
3001         * tests/test-close.c: New file.
3002
3003 2011-09-20  Bruno Haible  <bruno@clisp.org>
3004
3005         Tests for module 'shutdown'.
3006         * modules/shutdown-tests: New file.
3007         * tests/test-shutdown.c: New file.
3008
3009         Tests for module 'setsockopt'.
3010         * modules/setsockopt-tests: New file.
3011         * tests/test-setsockopt.c: New file.
3012
3013         Tests for module 'sendto'.
3014         * modules/sendto-tests: New file.
3015         * tests/test-sendto.c: New file.
3016
3017         Tests for module 'send'.
3018         * modules/send-tests: New file.
3019         * tests/test-send.c: New file.
3020
3021         Tests for module 'recvfrom'.
3022         * modules/recvfrom-tests: New file.
3023         * tests/test-recvfrom.c: New file.
3024
3025         Tests for module 'recv'.
3026         * modules/recv-tests: New file.
3027         * tests/test-recv.c: New file.
3028
3029         Tests for module 'listen'.
3030         * modules/listen-tests: New file.
3031         * tests/test-listen.c: New file.
3032
3033         Tests for module 'getsockopt'.
3034         * modules/getsockopt-tests: New file.
3035         * tests/test-getsockopt.c: New file.
3036
3037         Tests for module 'getsockname'.
3038         * modules/getsockname-tests: New file.
3039         * tests/test-getsockname.c: New file.
3040
3041         Tests for module 'getpeername'.
3042         * modules/getpeername-tests: New file.
3043         * tests/test-getpeername.c: New file.
3044
3045         Tests for module 'connect'.
3046         * modules/connect-tests: New file.
3047         * tests/test-connect.c: New file.
3048
3049         Tests for module 'bind'.
3050         * modules/bind-tests: New file.
3051         * tests/test-bind.c: New file.
3052
3053         accept4 tests: Fix for native Windows.
3054         * tests/test-accept4.c: Include sockets.h.
3055         (main): Invoke gl_sockets_startup.
3056         * modules/accept4-tests (Depends-on): Add sockets.
3057
3058         accept tests: Fix for native Windows.
3059         * tests/test-accept.c: Include sockets.h.
3060         (main): Invoke gl_sockets_startup.
3061         * modules/accept-tests (Depends-on): Add sockets.
3062
3063 2011-09-19  Bruno Haible  <bruno@clisp.org>
3064
3065         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
3066         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
3067         do...while(0).
3068         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
3069         Suggested by Paul Eggert.
3070
3071 2011-09-19  Bruno Haible  <bruno@clisp.org>
3072
3073         sched: Ensure pid_t is defined.
3074         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
3075         not define pid_t.
3076         * lib/sched.in.h: Include <sys/types.h>.
3077         * doc/posix-headers/sched.texi: Mention the pid_t problem.
3078         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3079
3080 2011-09-19  Bruno Haible  <bruno@clisp.org>
3081
3082         msvc-inval: Ensure the entire expansion is a single statement.
3083         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
3084         of braces.
3085
3086 2011-09-19  Jim Meyering  <meyering@redhat.com>
3087
3088         tests: use printf, not echo in init.sh's warn_ function
3089         * tests/init.sh (warn_): Use printf, not echo.  The latter would
3090         misbehave when given strings containing a backslash or starting
3091         with e.g., -n.  James Youngman suggested setting IFS.
3092
3093 2011-09-19  Eric Blake  <eblake@redhat.com>
3094
3095         futimens: enhance test
3096         * tests/test-futimens.h (test_futimens): Also check for EBADF on
3097         closed non-negative fd.
3098
3099         date: accept 'hence' as opposite of 'ago'
3100         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
3101         * tests/test-parse-datetime.c (main): Enhance test.
3102         Suggested by Jesse Wilson.
3103
3104 2011-09-19  Jim Meyering  <meyering@redhat.com>
3105
3106         getcwd: don't fail in a deep directory on a system without openat
3107         Before this change, getcwd would fail when called from a directory
3108         of depth PATH_MAX / 3 or greater.  That was due to the fact that
3109         the non-openat implementation used "..", "../..", "../../..", etc.
3110         to access ancestor directories.  With too many, that string would
3111         be longer than PATH_MAX.
3112         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
3113         using gnulib's openat replacement.
3114         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
3115         we're using the replacement function.
3116
3117 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
3118
3119         maint.mk: avoid warnings from perl about missing files
3120         * top/maint.mk (def_sym_regex): Ignore files listed in
3121         $(gl_other_headers_) that do not exist, say because a project
3122         does not use a corresponding module.
3123
3124 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3125
3126         stat: use pathmax.h only if needed
3127         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
3128         This is better for Emacs, which does not have a mingw port and
3129         therefore can avoid the pathmax module.
3130
3131         utimens: remove dependency on dup2
3132         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
3133         to work around the Linux kernel bug.
3134         * modules/utimens (Depends-on): Remove dup2.
3135
3136 2011-09-18  Bruno Haible  <bruno@clisp.org>
3137
3138         inet_ntop, inet_pton: Look for it also in libresolv.
3139         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
3140         libnsl, search for it in libresolv.
3141         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3142         Needed on Solaris 7.
3143
3144 2011-09-18  Bruno Haible  <bruno@clisp.org>
3145
3146         accept, accept4 tests: Avoid link error on Solaris.
3147         * modules/accept-tests (Makefile.am): Link test-accept against
3148         $(LIBSOCKET).
3149         * modules/accept4-tests (Makefile.am): Link test-accept4 against
3150         $(LIBSOCKET).
3151
3152         accept4: Avoid link error on Solaris.
3153         * modules/accept4 (Link): New section.
3154
3155         socket functions: Avoid link errors on Solaris.
3156         * modules/accept (Depends-on): Add socketlib.
3157         (Link): New section.
3158         * modules/bind (Depends-on): Add socketlib.
3159         (Link): New section.
3160         * modules/connect (Depends-on): Add socketlib.
3161         (Link): New section.
3162         * modules/getpeername (Depends-on): Add socketlib.
3163         (Link): New section.
3164         * modules/getsockname (Depends-on): Add socketlib.
3165         (Link): New section.
3166         * modules/getsockopt (Depends-on): Add socketlib.
3167         (Link): New section.
3168         * modules/listen (Depends-on): Add socketlib.
3169         (Link): New section.
3170         * modules/recv (Depends-on): Add socketlib.
3171         (Link): New section.
3172         * modules/recvfrom (Depends-on): Add socketlib.
3173         (Link): New section.
3174         * modules/send (Depends-on): Add socketlib.
3175         (Link): New section.
3176         * modules/sendto (Depends-on): Add socketlib.
3177         (Link): New section.
3178         * modules/setsockopt (Depends-on): Add socketlib.
3179         (Link): New section.
3180         * modules/shutdown (Depends-on): Add socketlib.
3181         (Link): New section.
3182         * modules/socket (Depends-on): Add socketlib.
3183         (Link): New section.
3184
3185 2011-09-18  Bruno Haible  <bruno@clisp.org>
3186
3187         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
3188         * tests/test-ptsname.c (main): Terminate the test if it takes longer
3189         than 5 seconds.
3190         * modules/ptsname-tests (configure.ac): Test for alarm.
3191
3192 2011-09-18  Bruno Haible  <bruno@clisp.org>
3193
3194         posix_spawn_file_actions_add*: Fix module dependencies.
3195         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
3196         posix_spawn_file_actions_init.
3197         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
3198         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
3199
3200 2011-09-18  Bruno Haible  <bruno@clisp.org>
3201
3202         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
3203         * tests/test-rename.h (test_rename): Allow error code EEXIST.
3204         * tests/test-renameat.c (main): Likewise.
3205
3206 2011-09-18  Bruno Haible  <bruno@clisp.org>
3207
3208         Tests for module 'accept4'.
3209         * modules/accept4-tests: New file.
3210         * tests/test-accept4.c: New file.
3211
3212 2011-09-18  Bruno Haible  <bruno@clisp.org>
3213
3214         Tests for module 'accept'.
3215         * modules/accept-tests: New file.
3216         * tests/test-accept.c: New file.
3217
3218 2011-09-18  Bruno Haible  <bruno@clisp.org>
3219
3220         dup2: Support for MSVC.
3221         * lib/dup2.c: Include msvc-inval.h.
3222         (rpl_dup2): Handle invalid parameter notifications during dup2 and
3223         _get_osfhandle calls.
3224         * modules/dup2 (Depends-on): Add msvc-inval.
3225         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
3226
3227         New module 'msvc-inval'.
3228         * lib/msvc-inval.h: New file.
3229         * lib/msvc-inval.c: New file.
3230         * m4/msvc-inval.m4: New file.
3231         * modules/msvc-inval: New file.
3232
3233 2011-09-17  Bruno Haible  <bruno@clisp.org>
3234
3235         Tests for module 'pclose'.
3236         * modules/pclose-tests: New file.
3237
3238         New module 'pclose'.
3239         * lib/stdio.in.h (pclose): New declaration.
3240         * lib/pclose.c: New file.
3241         * m4/pclose.m4: New file.
3242         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
3243         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
3244         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
3245         * modules/pclose: New file.
3246         * modules/popen-tests (Depends-on): Add pclose.
3247         * modules/popen-safer-tests (Depends-on): Likewise.
3248         * doc/posix-functions/pclose.texi: Mention the new module.
3249
3250 2011-09-17  Bruno Haible  <bruno@clisp.org>
3251
3252         popen: Support for MSVC.
3253         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
3254         * lib/popen.c (popen): Provide alternate definition for native Windows.
3255         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
3256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
3257         * modules/popen (Depends-on, configure.ac): Update condition.
3258         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
3259         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
3260         fixed.
3261
3262 2011-09-17  Bruno Haible  <bruno@clisp.org>
3263
3264         isnanl, isnand, isnanf: Work around MSVC bug.
3265         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
3266
3267 2011-09-17  Bruno Haible  <bruno@clisp.org>
3268
3269         sys_socket tests: Fix recent mistake.
3270         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
3271
3272 2011-09-17  Bruno Haible  <bruno@clisp.org>
3273
3274         putenv: Support for MSVC.
3275         * modules/putenv (Depends-on): Add environ.
3276         * lib/putenv.c (environ): Disable declaration.
3277         * lib/unistd.in.h: Update comment.
3278
3279 2011-09-17  Bruno Haible  <bruno@clisp.org>
3280
3281         math: Avoid macro redefinition warnings on MSVC.
3282         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
3283         Undefine before redefining.
3284
3285 2011-09-17  Bruno Haible  <bruno@clisp.org>
3286
3287         doc: Mention functions which are declared as macros.
3288         * doc/posix-functions/*[fl].texi: Mention that some functions are
3289         defined as macros with arguments only.
3290
3291 2011-09-17  Bruno Haible  <bruno@clisp.org>
3292
3293         Add dependencies to new dirent related modules.
3294         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
3295         * modules/fts (Depends-on): Likewise.
3296         * modules/glob (Depends-on): Likewise.
3297         * modules/savedir (Depends-on): Likewise.
3298         * modules/scandir (Depends-on): Likewise.
3299         * modules/dirent-safer (Depends-on): Add opendir, closedir.
3300         * modules/fdopendir (Depends-on): Add opendir.
3301
3302 2011-09-17  Bruno Haible  <bruno@clisp.org>
3303
3304         inet_pton: Support for MSVC on Windows Vista or newer.
3305         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
3306         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
3307         HAVE_DECL_INET_PTON is defined.
3308         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3309         On platforms with <winsock2.h>, test whether inet_pton is declared in
3310         <ws2tcpip.h>. If so, arrange to replace it.
3311         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3312         REPLACE_INET_PTON.
3313         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
3314         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
3315         (Depends-on, configure.ac): Update condition.
3316         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
3317
3318 2011-09-17  Bruno Haible  <bruno@clisp.org>
3319
3320         inet_ntop: Support for MSVC on Windows Vista or newer.
3321         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
3322         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
3323         HAVE_DECL_INET_NTOP is defined.
3324         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3325         On platforms with <winsock2.h>, test whether inet_ntop is declared in
3326         <ws2tcpip.h>. If so, arrange to replace it.
3327         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3328         REPLACE_INET_NTOP.
3329         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
3330         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
3331         (Depends-on, configure.ac): Update condition.
3332         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
3333
3334 2011-09-16  Eric Blake  <eblake@redhat.com>
3335
3336         test-fsync: yet another enhancement
3337         * tests/test-fsync.c (main): Also test behavior on read-only text
3338         file.
3339
3340 2011-09-16  Bruno Haible  <bruno@clisp.org>
3341
3342         Enhance fsync, fdatasync tests.
3343         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
3344         * tests/test-fdatasync.c (main): Likewise.
3345
3346 2011-09-16  Bruno Haible  <bruno@clisp.org>
3347
3348         Support for MSVC compiler: Ensure mode_t gets defined.
3349         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
3350         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3351         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3352         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
3353         * tests/test-fcntl-h.c: Check that mode_t is defined.
3354         * tests/test-sys_stat.c: Likewise.
3355         * tests/test-sys_types.c: Likewise.
3356         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
3357         * doc/posix-headers/sys_stat.texi: Likewise.
3358         * doc/posix-headers/sys_types.texi: Likewise.
3359
3360 2011-09-16  Bruno Haible  <bruno@clisp.org>
3361
3362         sys_stat: Support for MSVC.
3363         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
3364         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
3365         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
3366         MSVC.
3367
3368 2011-09-16  Bruno Haible  <bruno@clisp.org>
3369
3370         Support for MSVC compiler: Ensure off_t gets defined.
3371         * lib/unistd.in.h: Include <sys/types.h>.
3372         * tests/test-fcntl-h.c: Check that off_t is defined.
3373         * tests/test-sys_stat.c: Likewise.
3374         * tests/test-sys_types.c: Likewise.
3375
3376 2011-09-16  Eric Blake  <eblake@redhat.com>
3377
3378         fdatasync: port to Solaris
3379         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
3380         * modules/fdatasync (Link): Document it.
3381         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3382
3383         fdatasync: port to MacOS X 10.7
3384         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3385         declared.
3386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3387         * modules/unistd (Makefile.am): Substitute it.
3388         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3389         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3390
3391         fdatasync: minor improvements
3392         * modules/fdatasync (Depends-on): Add condition for fsync.
3393         * lib/fdatasync.c (fdatasync): Add comment.
3394         * tests/test-unistd-c++.cc: Test fdatasync.
3395
3396         unistd: update refs to newer POSIX
3397         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3398         Suggested by Bruno Haible.
3399
3400         fdatasync: new module
3401         * modules/fsync (Description): Document difference to fdatasync.
3402         * modules/fdatasync: New module.
3403         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3404         * lib/fdatasync.c (fdatasync): Likewise.
3405         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3406         defaults.
3407         * modules/unistd (Makefile.am): Set witnesses.
3408         * lib/unistd.in.h (fdatasync): Declare.
3409         * MODULES.html.sh: Document it.
3410         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3411         * modules/fdatasync-tests: New test.
3412         * tests/test-fdatasync.c: Likewise.
3413
3414 2011-09-16  Eric Blake  <eblake@redhat.com>
3415
3416         test-fsync: enhance tests
3417         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3418         * tests/test-fsync.c (main): Enhance test.
3419
3420 2011-09-15  Bruno Haible  <bruno@clisp.org>
3421
3422         Support for MSVC compiler: Ensure ssize_t gets defined.
3423         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3424         * doc/posix-headers/stdio.texi: Likewise.
3425         * modules/stdio (Depends-on): Add ssize_t.
3426         * modules/sys_socket (Depends-on): Likewise.
3427         * modules/sys_types (Depends-on): Likewise.
3428         * modules/sys_uio (Depends-on): Likewise.
3429         * modules/unistd (Depends-on): Likewise.
3430         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3431         * tests/test-sys_types.c: Check that ssize_t is defined.
3432
3433 2011-09-14  Bruno Haible  <bruno@clisp.org>
3434
3435         Avoid using #, the m4 comment starter character, near brackets.
3436         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3437         delimiter character in sed expressions.
3438         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3439         Suggested by Eric Blake.
3440
3441         Properly quote AC_CHECK_DECLS' 4th argument.
3442         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3443         argument.
3444         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3445         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3446         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3447         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3448         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3449         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3450         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3451         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3452         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3453         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3454         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3455         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3456         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3457         * m4/isinf.m4 (gl_ISINF): Likewise.
3458         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3459         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3460         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3461         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3462         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3463         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3464         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3465         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3466         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3467         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3468         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3469         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3470         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3471         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3472         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3473         Reported by Eric Blake.
3474
3475         Properly quote AC_CHECK_DECL's 4th argument.
3476         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3477         argument.
3478         * m4/argp.m4 (gl_ARGP): Likewise.
3479         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3480         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3481         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3482         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3483         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3484         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3485         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3486         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3487         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3488         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3489         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3490         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3491         Reported by Eric Blake.
3492
3493 2011-09-14  Eric Blake  <eblake@redhat.com>
3494
3495         opendir: avoid compile warning
3496         * lib/opendir.c (includes): Always include errno.h.
3497         Reported by Tatsuro MATSUOKA.
3498
3499 2011-09-14  Jim Meyering  <meyering@redhat.com>
3500
3501         maint.mk: sc_tight_scope: propagate failure from sub-make
3502         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3503         Reported by Martin von Gagern.
3504
3505 2011-09-13  Bruno Haible  <bruno@clisp.org>
3506
3507         tempname: Support for MSVC.
3508         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3509         MSVC.
3510         * modules/tempname (Depends-on): Add fcntl-h.
3511
3512 2011-09-13  Bruno Haible  <bruno@clisp.org>
3513
3514         sys_time: Support for MSVC.
3515         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3516         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3517         include <winsock2.h>.
3518         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3519         function declarations that collide with POSIX.
3520         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3521         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3522
3523 2011-09-13  Bruno Haible  <bruno@clisp.org>
3524
3525         stat: Support for MSVC.
3526         * lib/stat.c: Include pathmax.h.
3527         * modules/stat (Depends-on): Add pathmax.
3528
3529         pathmax: Support for native Windows.
3530         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3531
3532 2011-09-12  Bruno Haible  <bruno@clisp.org>
3533
3534         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3535         * lib/dirent.in.h (struct dirent): New type.
3536         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3537         DT_WHT): New macros.
3538         (DIR): New type.
3539         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3540         (readdir, rewinddir): New declarations.
3541         * lib/dirent-private.h: New file.
3542         * lib/opendir.c: New file.
3543         * lib/readdir.c: New file.
3544         * lib/rewinddir.c: New file.
3545         * lib/closedir.c: New file.
3546         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3547         * m4/opendir.m4: New file.
3548         * m4/readdir.m4: New file.
3549         * m4/rewinddir.m4: New file.
3550         * m4/closedir.m4: New file.
3551         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3552         REPLACE_CLOSEDIR here.
3553         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3554         readdir, rewinddir are declared.
3555         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3556         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3557         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3558         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3559         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3560         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3561         * modules/opendir: New file.
3562         * modules/readdir: New file.
3563         * modules/rewinddir: New file.
3564         * modules/closedir: New file.
3565         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3566         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3567         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3568         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3569         * NEWS: Mention the 'fchdir' change.
3570
3571 2011-09-11  Bruno Haible  <bruno@clisp.org>
3572
3573         asm-underscore.m4: Support for MSVC.
3574         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3575         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3576
3577 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3578
3579         Doc about crypt functions.
3580         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3581         needing for _GNU_SOURCE to get crypt.
3582         * doc/posix-functions/encrypt.texi: Likewise.
3583         * doc/posix-functions/setkey.texi: Likewise.
3584
3585 2011-09-11  Bruno Haible  <bruno@clisp.org>
3586
3587         doc: Update regarding MSVC 9.
3588         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3589         tested".
3590         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3591         * doc/posix-headers/*.texi: Likewise.
3592         * doc/pastposix-functions/*.texi: Likewise.
3593         * doc/glibc-functions/*.texi: Likewise.
3594         * doc/glibc-headers/*.texi: Likewise.
3595
3596 2011-09-11  Bruno Haible  <bruno@clisp.org>
3597
3598         unistd et al.: Don't assume <unistd.h> exists.
3599         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3600         does not exist.
3601         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3602         exist. But include <stdlib.h>.
3603         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3604         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3605         symlink() does not exist.
3606         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3607         include <io.h> instead.
3608         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3609         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3610         include <direct.h> instead.
3611         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3612         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3613         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3614         <io.h> instead.
3615         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3616         correctly if the system does not have hard links.
3617         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3618         <direct.h> instead.
3619         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3620         it when looking for function declarations.
3621         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3622         <direct.h> and <io.h> instead.
3623         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3624
3625 2011-09-11  Bruno Haible  <bruno@clisp.org>
3626
3627         strcase: Support for MSVC.
3628         * modules/strcase (Status, Notice): Remove obsoletion mark.
3629         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3630         * doc/posix-functions/strncasecmp.texi: Likewise.
3631
3632         strings: Don't assume <strings.h> exists.
3633         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3634         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3635         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3636         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3637
3638 2011-09-11  Bruno Haible  <bruno@clisp.org>
3639
3640         dirent: Don't assume <dirent.h> exists.
3641         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3642         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3643         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3644         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3645
3646 2011-09-11  Bruno Haible  <bruno@clisp.org>
3647
3648         Fix wint_t on MSVC.
3649         * lib/wchar.in.h (wint_t): On MSVC, override it.
3650         * lib/wctype.in.h (wint_t): Likewise.
3651         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3652         MSVC.
3653         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3654         * doc/posix-headers/wctype.texi: Likewise.
3655
3656 2011-09-11  Bruno Haible  <bruno@clisp.org>
3657
3658         sys_types: Fix typo.
3659         * lib/sys_types.in.h: Fix typo in comment.
3660         Reported by Paul Eggert.
3661
3662         Support for MSVC compiler: Ensure size_t gets defined.
3663         * modules/strings (Depends-on): Add 'sys_types'.
3664         * modules/sys_uio (Depends-on): Likewise.
3665         * lib/sys_uio.in.h: Update comment.
3666
3667         C++ tests for module 'sys_types'.
3668         * modules/sys_types-c++-tests: New file.
3669         * tests/test-sys_types-c++.cc: New file.
3670
3671         Tests for module 'sys_types'.
3672         * modules/sys_types-tests: New file.
3673         * tests/test-sys_types.c: New file.
3674
3675         New module 'sys_types'.
3676         * lib/sys_types.in.h: New file.
3677         * m4/sys_types_h.m4: New file.
3678         * modules/sys_types: New file.
3679         * doc/posix-headers/sys_types.texi: Mention the new module and the
3680         size_t problem on MSVC 9.
3681
3682 2011-09-11  Bruno Haible  <bruno@clisp.org>
3683
3684         Support for MSVC compiler: Avoid division by a literal 0.
3685         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3686         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3687         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3688         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3689         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3690         * tests/infinity.h: New file.
3691         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3692         on MSVC.
3693         * tests/test-ceilf1.c: Include infinity.h.
3694         (main): Use Infinityf.
3695         * tests/test-ceil1.c: Include infinity.h.
3696         (main): Use Infinityd.
3697         * tests/test-ceill.c: Include infinity.h.
3698         (main): Use Infinityl.
3699         * tests/test-dprintf-posix.c: Include infinity.h.
3700         (test_function): Use Infinityd.
3701         * tests/test-floorf1.c: Include infinity.h.
3702         (main): Use Infinityf.
3703         * tests/test-floor1.c: Include infinity.h.
3704         (main): Use Infinityd.
3705         * tests/test-floorl.c: Include infinity.h.
3706         (main): Use Infinityl.
3707         * tests/test-fprintf-posix.c: Include infinity.h.
3708         (test_function): Use Infinityd.
3709         * tests/test-frexp.c: Include infinity.h.
3710         (main): Use Infinityd.
3711         * tests/test-frexpl.c: Include infinity.h.
3712         (main): Use Infinityl.
3713         * tests/test-isfinite.c: Include infinity.h.
3714         (test_isfinitef): Use Infinityf.
3715         (test_isfinited): Use Infinityd.
3716         (test_isfinitel): Use Infinityl.
3717         * tests/test-isinf.c: Include infinity.h.
3718         (test_isinff): Use Infinityf.
3719         (test_isinfd): Use Infinityd.
3720         (test_isinfl): Use Infinityl.
3721         * tests/test-isnan.c: Include infinity.h.
3722         (test_float): Use Infinityf.
3723         (test_double): Use Infinityd.
3724         (test_long_double): Use Infinityl.
3725         * tests/test-isnanf.h: Include infinity.h.
3726         (main): Use Infinityf.
3727         * tests/test-isnand.h: Include infinity.h.
3728         (main): Use Infinityd.
3729         * tests/test-isnanl.h: Include infinity.h.
3730         (main): Use Infinityl.
3731         * tests/test-ldexpl.c: Include infinity.h.
3732         (main): Use Infinityl.
3733         * tests/test-printf-posix.h: Include infinity.h.
3734         (test_function): Use Infinityd.
3735         * tests/test-roundf1.c: Include infinity.h.
3736         (main): Use Infinityf.
3737         * tests/test-round1.c: Include infinity.h.
3738         (main): Use Infinityd.
3739         * tests/test-roundl.c: Include infinity.h.
3740         (main): Use Infinityl.
3741         * tests/test-signbit.c: Include infinity.h.
3742         (test_signbitf): Use Infinityf.
3743         (test_signbitd): Use Infinityd.
3744         (test_signbitl): Use Infinityl.
3745         * tests/test-snprintf-posix.h: Include infinity.h.
3746         (test_function): Use Infinityd, Infinityl.
3747         * tests/test-sprintf-posix.h: Include infinity.h.
3748         (test_function): Use Infinityd, Infinityl.
3749         * tests/test-truncf1.c: Include infinity.h.
3750         (main): Use Infinityf.
3751         * tests/test-trunc1.c: Include infinity.h.
3752         (main): Use Infinityd.
3753         * tests/test-truncl.c: Include infinity.h.
3754         (main): Use Infinityl.
3755         * tests/test-vasnprintf-posix.c: Include infinity.h.
3756         (test_function): Use Infinityd, Infinityl.
3757         * tests/test-vasprintf-posix.c: Include infinity.h.
3758         (test_function): Use Infinityd, Infinityl.
3759         * modules/ceilf-tests (Files): Add tests/infinity.h.
3760         * modules/ceil-tests (Files): Likewise.
3761         * modules/ceill-tests (Files): Likewise.
3762         * modules/dprintf-posix-tests (Files): Likewise.
3763         * modules/floorf-tests (Files): Likewise.
3764         * modules/floor-tests (Files): Likewise.
3765         * modules/floorl-tests (Files): Likewise.
3766         * modules/fprintf-posix-tests (Files): Likewise.
3767         * modules/frexp-tests (Files): Likewise.
3768         * modules/frexp-nolibm-tests (Files): Likewise.
3769         * modules/frexpl-tests (Files): Likewise.
3770         * modules/frexpl-nolibm-tests (Files): Likewise.
3771         * modules/isfinite-tests (Files): Likewise.
3772         * modules/isinf-tests (Files): Likewise.
3773         * modules/isnan-tests (Files): Likewise.
3774         * modules/isnanf-tests (Files): Likewise.
3775         * modules/isnanf-nolibm-tests (Files): Likewise.
3776         * modules/isnand-tests (Files): Likewise.
3777         * modules/isnand-nolibm-tests (Files): Likewise.
3778         * modules/isnanl-tests (Files): Likewise.
3779         * modules/isnanl-nolibm-tests (Files): Likewise.
3780         * modules/ldexpl-tests (Files): Likewise.
3781         * modules/printf-posix-tests (Files): Likewise.
3782         * modules/roundf-tests (Files): Likewise.
3783         * modules/round-tests (Files): Likewise.
3784         * modules/roundl-tests (Files): Likewise.
3785         * modules/signbit-tests (Files): Likewise.
3786         * modules/snprintf-posix-tests (Files): Likewise.
3787         * modules/sprintf-posix-tests (Files): Likewise.
3788         * modules/truncf-tests (Files): Likewise.
3789         * modules/trunc-tests (Files): Likewise.
3790         * modules/truncl-tests (Files): Likewise.
3791         * modules/vasnprintf-posix-tests (Files): Likewise.
3792         * modules/vasprintf-posix-tests (Files): Likewise.
3793         * modules/vdprintf-posix-tests (Files): Likewise.
3794         * modules/vfprintf-posix-tests (Files): Likewise.
3795         * modules/vprintf-posix-tests (Files): Likewise.
3796         * modules/vsnprintf-posix-tests (Files): Likewise.
3797         * modules/vsprintf-posix-tests (Files): Likewise.
3798         * modules/xprintf-posix-tests (Files): Likewise.
3799
3800 2011-09-11  Bruno Haible  <bruno@clisp.org>
3801
3802         Ensure pid_t gets defined.
3803         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
3804         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3805         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3806         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3807         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3808         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3809         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3810         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3811         * tests/test-fcntl-h.c: Check that pid_t is defined.
3812         * tests/test-sched.c: Likewise.
3813         * tests/test-termios.c: Likewise.
3814         * tests/test-time.c: Likewise.
3815         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
3816         * doc/posix-headers/signal.texi: Likewise.
3817         * doc/posix-headers/sys_types.texi: Likewise.
3818         * doc/posix-headers/time.texi: Likewise.
3819
3820 2011-09-11  Bruno Haible  <bruno@clisp.org>
3821
3822         acl: Fix compilation on Solaris 10 (older version).
3823         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
3824         of ACE_EVERYONE.
3825         * lib/set-mode-acl.c (qset_acl): Likewise.
3826         Reported by Christian Jullien <eligis@orange.fr>.
3827
3828 2011-09-10  Bruno Haible  <bruno@clisp.org>
3829
3830         iconv, unsetenv: Add support for MSVC compiler.
3831         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
3832         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
3833
3834 2011-09-10  Bruno Haible  <bruno@clisp.org>
3835
3836         *printf: Add support for MSVC compiler.
3837         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
3838         handles the exception caused by the %n directive. When cross-compiling,
3839         guess no on native Windows.
3840         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3841         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
3842         emulate it through vsnprintf.
3843         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
3844         * doc/posix-functions/dprintf.texi: Update documentation regarding
3845         MSVC 9.
3846         * doc/posix-functions/fprintf.texi: Likewise.
3847         * doc/posix-functions/printf.texi: Likewise.
3848         * doc/posix-functions/snprintf.texi: Likewise.
3849         * doc/posix-functions/sprintf.texi: Likewise.
3850         * doc/posix-functions/swprintf.texi: Likewise.
3851         * doc/posix-functions/vdprintf.texi: Likewise.
3852         * doc/posix-functions/vfprintf.texi: Likewise.
3853         * doc/posix-functions/vprintf.texi: Likewise.
3854         * doc/posix-functions/vsnprintf.texi: Likewise.
3855         * doc/posix-functions/vsprintf.texi: Likewise.
3856         * doc/glibc-functions/asprintf.texi: Likewise.
3857         * doc/glibc-functions/obstack_printf.texi: Likewise.
3858         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3859         * doc/glibc-functions/vasprintf.texi: Likewise.
3860
3861 2011-09-10  Bruno Haible  <bruno@clisp.org>
3862
3863         nocrash: Add support for native Windows.
3864         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
3865
3866 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
3867             Bruno Haible  <bruno@clisp.org>
3868
3869         absolute-header, include-next: Add support for MSVC compiler.
3870         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
3871         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
3872         directory separator in #line directives.
3873         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
3874         recognize also backslash as directory separator in #line directives.
3875
3876 2011-09-08  Jim Meyering  <meyering@redhat.com>
3877
3878         maint.mk: mark the post-release commit log with "maint: " prefix
3879         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
3880         one-line commit-log summary.
3881
3882 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
3883             Bruno Haible  <bruno@clisp.org>
3884
3885         Doc about crypt functions.
3886         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
3887         systems.
3888         * doc/posix-functions/encrypt.texi: Likewise.
3889         * doc/posix-functions/setkey.texi: Likewise.
3890
3891 2011-09-08  Simon Josefsson  <simon@josefsson.org>
3892
3893         * lib/gc.h: Fix copyright header.
3894
3895 2011-09-07  Bruno Haible  <bruno@clisp.org>
3896
3897         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
3898         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
3899         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
3900
3901 2011-09-07  Bruno Haible  <bruno@clisp.org>
3902
3903         openat: Work around compilation error with OSF/1 5.1 DTK cc.
3904         * lib/fopen.c: Use different syntax for include of <stdio.h>.
3905         * lib/freopen.c: Likewise.
3906         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
3907         * lib/lstat.c: Likewise.
3908         * lib/stat.c: Likewise.
3909         * lib/open.c: Use different syntax for include of <fcntl.h>.
3910         * lib/openat.c: Include fcntl.h again, explicitly.
3911
3912 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
3913
3914         parse-datetime: document the newly accepted format
3915         * doc/parse-datetime.texi (Combined date and time of day items):
3916         New section.
3917
3918 2011-09-06  Bruno Haible  <bruno@clisp.org>
3919
3920         acl: Fix a test failure on newer Solaris 10 with ZFS.
3921         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
3922         ENOSYS as no ACL.
3923         Reported by Jim Meyering.
3924
3925 2011-09-06  Bruno Haible  <bruno@clisp.org>
3926
3927         acl: Update for AIX >= 5.3 with NFS.
3928         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
3929         ENOSYS as no ACL.
3930
3931         acl: Fix a test failure on AIX >= 5.3 with NFS.
3932         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
3933         as no ACL.
3934
3935 2011-09-06  Bruno Haible  <bruno@clisp.org>
3936
3937         acl: Fix a test failure on IRIX 6.5 with NFS.
3938         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
3939         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
3940         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
3941         * lib/copy-acl.c (qcopy_acl): Likewise.
3942
3943 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3944
3945         openat: port to AIX 7.1 with large files
3946         AIX 7.1 does a "#define openat open64at" if large files are in use,
3947         so we can't simply #undef openat.  Use the orig_openat trick (similar
3948         to orig_open in lib/open.c) to work around the problem.  Problem
3949         reported by Kevin Brott for GNU tar, in the thread containing
3950         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
3951         * lib/openat.c (__need_system_fcntl_h): Define first.
3952         Include <fcntl.h> and <sys/types.h> before undefining.
3953         (orig_openat) [HAVE_OPENAT]: New inline function.
3954         (openat) [HAVE_OPENAT]: Do not undef.
3955         (rpl_openat): Use orig_openat, not openat.
3956
3957 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
3958             Bruno Haible  <bruno@clisp.org>
3959
3960         acl: Avoid errors on NonStop Kernel.
3961         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
3962         ENOTSUP errors.
3963
3964 2011-09-05  Bruno Haible  <bruno@clisp.org>
3965
3966         acl: Clean up Solaris code.
3967         * lib/acl-internal.h: Remove no-op #if.
3968         * lib/file-has-acl.c: Likewise.
3969         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
3970         * lib/copy-acl.c (qcopy_acl): Likewise.
3971
3972 2011-09-05  Bruno Haible  <bruno@clisp.org>
3973
3974         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
3975         binaries built on the original Solaris 10.
3976         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
3977         trivial.
3978
3979 2011-09-05  Bruno Haible  <bruno@clisp.org>
3980
3981         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3982         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
3983         10.
3984         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
3985         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
3986         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
3987         instead of acl_get, facl_get, acl_set, facl_set.
3988
3989 2011-09-05  Bruno Haible  <bruno@clisp.org>
3990
3991         copy-file: Try unit tests on more file systems.
3992         * tests/test-copy-file-1.sh: New file.
3993         * tests/test-copy-file-2.sh: New file.
3994         * modules/copy-file-tests (Files): Add them.
3995         (Makefile.am): Add them to TESTS.
3996
3997         acl: Try unit tests on more file systems.
3998         * tests/test-file-has-acl-1.sh: New file.
3999         * tests/test-file-has-acl-2.sh: New file.
4000         * tests/test-set-mode-acl-1.sh: New file.
4001         * tests/test-set-mode-acl-2.sh: New file.
4002         * tests/test-copy-acl-1.sh: New file.
4003         * tests/test-copy-acl-2.sh: New file.
4004         * modules/acl-tests (Files): Add them.
4005         (Makefile.am): Add them to TESTS.
4006
4007 2011-09-04  Bruno Haible  <bruno@clisp.org>
4008
4009         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4010         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
4011         10.
4012         (OLD_ALLOW, OLD_DENY): New macros.
4013         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
4014         ACE_ACCESS_ALLOWED_ACE_TYPE.
4015         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
4016         ACE_ACCESS_DENIED_ACE_TYPE.
4017         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
4018         (NEW_ACE_EXECUTE): Fix value.
4019         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
4020         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
4021         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
4022         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
4023         NEW_ACE_SYNCHRONIZE): New macros.
4024         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
4025         instead of acl_fromtext, acl_set, facl_set.
4026         Fixes a coreutils/tests/cp/perm failure.
4027
4028 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
4029
4030         openat: test for fstatat (..., 0) bug
4031         Further testing with tar suggests that fstatat (..., 0)
4032         does not work in general, on AIX 7.1; see
4033         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
4034         So, give up entirely on AIX 7.1's fstatat, and fall back on our
4035         replacement fstatat (which is what older AIX releases were using
4036         anyway).
4037         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
4038         use is now changed to orig_fstatat.  This was probably the right
4039         thing to do anyway.
4040         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
4041         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
4042         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
4043         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
4044         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
4045         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
4046         if the bug is found.
4047
4048         openat: test for fstatat (AT_FDCWD, ..., 0) bug
4049         This tests for another fstatat bug on AIX 7.1:
4050         fstatat (AT_FDCWD, ..., 0) does not work.  See
4051         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
4052         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
4053         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
4054         (rpl_fstatat): Adjust so that it works around either (or both)
4055         bugs if present.
4056         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
4057
4058 2011-09-03  Karl Berry  <karl@gnu.org>
4059
4060         * doc/regex.texi (Character Class Operators): Avoid literal ":"
4061         in index entries.
4062
4063 2011-09-02  Bruno Haible  <bruno@clisp.org>
4064
4065         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
4066         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
4067         values of AR, ARFLAGS, RANLIB.
4068         Reported by John W. Eaton <jwe@gnu.org> for Octave.
4069
4070 2011-09-02  Bruno Haible  <bruno@clisp.org>
4071
4072         Find 'ar' program that fits with --host argument.
4073         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
4074
4075 2011-09-02  Bruno Haible  <bruno@clisp.org>
4076
4077         tests: init.sh: Support any non-GNU diff.
4078         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
4079         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
4080         Solaris 8.
4081
4082 2011-09-02  Bruno Haible  <bruno@clisp.org>
4083
4084         tests: init.sh: work also with any non-GNU diff that supports -u
4085         * tests/init.sh: Relax check for diff -u support.
4086         Rather than checking for GNU diff via --version, simply check
4087         for support for -u itself.  Useful at least on OpenBSD 4.9,
4088         AIX 7.1, IRIX 6.5, and Solaris 10.
4089
4090 2011-09-01  Bruno Haible  <bruno@clisp.org>
4091
4092         strtoimax, strtoumax: Document problem on HP-UX 11.
4093         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
4094         * doc/posix-functions/strtoumax.texi: Likewise.
4095
4096 2011-09-01  Bruno Haible  <bruno@clisp.org>
4097
4098         strtoumax: Avoid link error on OSF/1 with DTK cc.
4099         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
4100         defined as a function.
4101         * modules/strtoumax (Depends-on, configure.ac): Test only whether
4102         strtoumax is defined, not whether it is declared.
4103
4104 2011-09-01  Bruno Haible  <bruno@clisp.org>
4105
4106         strtoimax: Avoid link error on OSF/1 with DTK cc.
4107         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
4108         defined as a function.
4109         * modules/strtoimax (Depends-on, configure.ac): Test only whether
4110         strtoimax is defined, not whether it is declared.
4111
4112 2011-09-01  Bruno Haible  <bruno@clisp.org>
4113
4114         imaxdiv: Avoid link error on OSF/1 with DTK cc.
4115         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
4116         as a function.
4117         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
4118         whether it is declared.
4119
4120 2011-09-01  Bruno Haible  <bruno@clisp.org>
4121
4122         imaxabs: Avoid link error on OSF/1 with DTK cc.
4123         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
4124         as a function.
4125         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
4126         whether it is declared.
4127
4128 2011-09-01  Bruno Haible  <bruno@clisp.org>
4129
4130         Tests for module 'strtoumax'.
4131         * modules/strtoumax-tests: New file.
4132         * tests/test-strtoumax.c: New file.
4133
4134         Tests for module 'strtoimax'.
4135         * modules/strtoimax-tests: New file.
4136         * tests/test-strtoimax.c: New file.
4137
4138         Tests for module 'imaxdiv'.
4139         * modules/imaxdiv-tests: New file.
4140         * tests/test-imaxdiv.c: New file.
4141
4142         Tests for module 'imaxabs'.
4143         * modules/imaxabs-tests: New file.
4144         * tests/test-imaxabs.c: New file.
4145
4146 2011-09-01  Bruno Haible  <bruno@clisp.org>
4147
4148         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4149         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
4150         pthread_create.
4151
4152 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4153
4154         openat: work around AIX 7.1 fstatat issue
4155         This should fix the problem that was not properly fixed
4156         in the previous change, dated 2011-08-30.
4157         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
4158         __need_system_stat_h defined.
4159         (orig_fstatat) [HAVE_FSTATAT]: New function.
4160         (rpl_fstatat): Go back to the old way of doing things,
4161         except call orig_fstatat instead of fstatat.
4162         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
4163         Remove unnecessary check whether fstatat fills in st_size etc.
4164
4165 2011-09-01  Bruno Haible  <bruno@clisp.org>
4166
4167         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
4168         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
4169         just include the system's header.
4170
4171 2011-08-31  Jim Meyering  <meyering@redhat.com>
4172
4173         tests: avoid spurious assertion failure in test-float.c on ppc64
4174         * tests/test-float.c (test_long_double): Comment out an assertion,
4175         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
4176         with gcc-4.4.4.
4177
4178         maint: indent with spaces, not TABs
4179         I need to get in the habit of running gnulib's "make check".
4180         Both of these would have been caught.
4181         * m4/largefile.m4: Indent with spaces, not TABs.
4182         * lib/parse-datetime.y (iso_8601_time): Likewise.
4183         Spotted by Pádraig Brady.
4184
4185         test-parse-datetime.c: accommodate a relatively strict gcc warning
4186         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
4187         to avoid a warning from gcc's -Werror=missing-declarations.
4188         Insert a few spaces-before-funcall-parenthesis.
4189
4190 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
4191
4192         parse-datetime: accept ISO 8601 date and time rep with "T" separator
4193         The parser now accepts ISO 8601 date-time strings with "T" as the
4194         separator.  It has long parsed dates like "2004-02-29 16:21:42"
4195         with a space between the date and time strings.  Now it also parses
4196         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
4197         variants like "2004-02-29T16:21:42.333-07:00"
4198         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
4199         of day representation using the 'T' separator character.
4200         * doc/parse-datetime.texi (General date syntax): replace use of
4201         deprecated --iso-8601 option with --rfc-3339 in example of date
4202         command output formats that can be parsed.
4203         * tests/test-parse-datetime.c (tm_diff): New function, taken from
4204         lib/parse-datetime.y.
4205         (gmt_offset): New function.
4206         (main): Add additional test cases to validate ISO8601 extended
4207         date and time of day parsing.
4208
4209 2011-08-31  Bruno Haible  <bruno@clisp.org>
4210
4211         freopen: Documentation.
4212         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
4213         name.
4214         Reported by Claudio Bley <claudio.bley@gmail.com>.
4215
4216 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
4217
4218         freopen: Don't crash if the filename argument is NULL.
4219         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
4220         NULL.
4221
4222 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4223
4224         openat: work around AIX 7.1 fstatat bug
4225         Problem reported by Kevin Brott for GNU tar, in the thread containing
4226         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
4227         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
4228         FSTATAT_ST_SIZE_ETC_BROKEN.
4229         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
4230         rpl_fstatat.
4231         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
4232         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
4233         AC_CHECK_FUNCS_ONCE for fstatat.
4234         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
4235         fchmodat, mkdirat, openat and unlinkat.
4236
4237 2011-08-30  Bruno Haible  <bruno@clisp.org>
4238
4239         Avoid endless recursions if config.h includes some header files.
4240         * lib/fopen.c (__need_FILE): Define already before including config.h.
4241         * lib/freopen.c (__need_FILE): Likewise.
4242         * lib/open.c (__need_system_fcntl_h): Likewise.
4243         * lib/stat.c (__need_system_sys_stat_h): Likewise.
4244         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
4245         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4246
4247 2011-08-25  Karl Berry  <karl@gnu.org>
4248
4249         * config/srclist.txt (ylwrap): new try.
4250         * build-aux/ylwrap: new file.
4251
4252 2011-08-23  Bruno Haible  <bruno@clisp.org>
4253
4254         tmpdir: Use a good default directory on native Windows.
4255         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
4256         (P_tmpdir): Default to _P_tmpdir on native Windows.
4257         (path_search): On native Windows, try the value returned by GetTempPath
4258         before trying P_tmpdir.
4259         * modules/tmpdir (Depends-on): Add pathmax.
4260         Suggested by John Darrington <john@darrington.wattle.id.au>.
4261
4262 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
4263
4264         doc: fix typo in README-release
4265         * top/README-release: Capitalize first word of a sentence.
4266
4267 2011-08-19  Jim Meyering  <meyering@redhat.com>
4268
4269         fts: do not exhaust memory when processing million-entry directories
4270         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
4271         directory would require about 256*N bytes of memory.  Thus, it was
4272         easy to construct a directory too large to be processed by any of
4273         those tools.  With this change, fts' maximum memory utilization is
4274         now limited to around 30MB.
4275         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
4276         (fts_read): When we've processed the final entry (i.e., when
4277         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
4278         using the parent entry to read any remaining entries.  Dispatch
4279         depending on what fts_build returns:
4280         - NULL+stop, aka failure: stop
4281         - NULL otherwise: move up in the dir hierarchy
4282         - non-NULL: handle this new entry
4283         (fts_build): Declare and use new local, continue_readdir.
4284         Prepare to be called from fts_read, when the entries
4285         from a partially-read directory have just been exhausted.
4286         In that case, we'll skip the opendir and instead use the parent's
4287         fts_dirp and derive dir_fd from that.
4288         Finally, in the readdir loop, if we read max_entries entries,
4289         exit the loop ensuring *not* to call closedir.  This is required
4290         so that fts_dirp can be reused on a subsequent call.
4291         Prompted by Ben England's report of memory exhaustion in find
4292         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
4293
4294         maint: fts: move decl of `dp' down into while loop; split a long line
4295         * lib/fts.c (fts_build): No semantic change.
4296
4297         fts: add/use new struct member, fts_dirp
4298         We are about to use this to manage any directory with
4299         too many entries to read all of them into memory at once.
4300         To do that, we'll need to save the DIR* pointer in each
4301         affected FTSENT struct.
4302         * lib/fts_.h: Include <dirent.h>.
4303         (struct FTSENT) [fts_dirp]: New member.
4304         * lib/fts.c (closedir_and_clear): Define.
4305         Use it in place of closedir so that we are sure to
4306         clear the new fts_dirp member when done with it.
4307         (fts_alloc): Initialize the new member.
4308         (fts_lfree): Free, if needed.
4309
4310         maint: fts: give __opendir2 a new parameter and rename
4311         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
4312         than surreptitiously using sole caller's "dir_fd".
4313         (fts_opendir): Rename from __opendir2.
4314
4315         maint: fts.c: remove __opendir2's now-unused parameter, oflag
4316         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
4317
4318         maint: fts.c: correct off-by-one indentation
4319         * lib/fts.c (fts_build): Correct indentation, change style
4320         of a couple of block comments, and bracing style.
4321
4322         maint: fts.c: move __opendir2 #define "up" out of function body
4323         * lib/fts.c (__opendir2): Move "up".  No semantic change.
4324
4325         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
4326         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
4327         out for a long time and besides was useful only on BSD systems.
4328
4329 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4330
4331         regex: port to Stratus OpenVOS
4332         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
4333         define to empty, rather than attempting nonportable optimizations.
4334         Problem reported by Paul Green in:
4335         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
4336         and fix suggested by Eric Blake in:
4337         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
4338
4339 2011-08-17  Eric Blake  <eblake@redhat.com>
4340
4341         getcwd: fix test failures on mingw
4342         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
4343         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
4344         test if long directory cannot be created, and allow mingw errno.
4345
4346         getcwd-lgpl: fix m4 to match relaxed test for BSD
4347         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
4348         (gl_FUNC_GETCWD_SIGNATURE): New macro.
4349         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
4350         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
4351         signature problem.
4352
4353         getcwd: fix compilation on mingw64
4354         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
4355         getcwd.
4356         Reported by Marc-André Lureau.
4357
4358         pipe2: silence compiler warning
4359         * lib/pipe2.c (pipe2): Hide label if it is not used.
4360
4361 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
4362
4363         relocatable-prog: fix link error
4364         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
4365         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
4366         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
4367         into modules/relocatable-lib without noticing that
4368         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
4369         also needs to build relocatable.c.
4370
4371 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4372
4373         getaddrinfo: fix sh typo in gai_strerrorA decl checking
4374         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
4375         shell code: it contained a 'break' that was not in a loop.
4376         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
4377         via a shell-language loop; this may have been true in old Autoconf
4378         versions, but it's not true in Autoconf 2.68.  I found this bug
4379         when testing coreutils git on Solaris 8, whose shell complains
4380         about the syntax error.
4381
4382 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4383
4384         * lib/base64.c: Fix comment to reference RFC 4648.
4385         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4386         <gvtulder@gmail.com>.
4387
4388 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4389
4390         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4391
4392         po/Makefile.in.in: fix make -q problem
4393         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4394         rule, since there's no file named 'check-macro-version' and its
4395         use as a file breaks make -q.
4396         (all): Don't depend on check-macro-version.
4397         (CHECK_MACRO_VERSION): New macro.
4398         (stamp-po): Use it.
4399
4400         configmake: fix make -q problem
4401         * modules/configmake (configmake.h): Update configmake.h's time stamp
4402         even if the file does not change.  Otherwise, 'make -q' fails.
4403         Problem reported by Simon Josefsson in
4404         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4405
4406 2011-08-11  Jim Meyering  <meyering@redhat.com>
4407
4408         git-version-gen: correct the advice in a comment
4409         * build-aux/git-version-gen: Correct comment.
4410         Don't recommend to list .tarball-version in .gitignore.
4411
4412 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4413
4414         base64: fix off-by-one buffer size bug
4415         Problem and (trivial) fix reported by Gijs van Tulder in
4416         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4417         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4418         * tests/test-base64.c (main): Catch the bug.
4419
4420 2011-08-10  Eric Blake  <eblake@redhat.com>
4421
4422         closein: correct comments
4423         * lib/closein.c (close_stdin): Improve comments.
4424
4425 2011-08-09  Bruno Haible  <bruno@clisp.org>
4426
4427         More tests for 'fseeko'.
4428         * tests/test-fseeko3.c: New file, from Eric Blake.
4429         * tests/test-fseeko3.sh: New file.
4430         * modules/fseeko-tests (Files): Add them.
4431         (TESTS): Add test-fseeko3.sh.
4432         (check_PROGRAMS): Add test-fseeko3.
4433
4434 2011-08-09  Eric Blake  <eblake@redhat.com>
4435
4436         fseeko: remove unneeded hack
4437         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4438
4439         fseeko: fix bug on glibc
4440         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4441         Reported by John W. Eaton.
4442
4443 2011-08-08  Bruno Haible  <bruno@clisp.org>
4444
4445         unictype/base: Fix interoperability with preinstalled libunistring.
4446         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4447         Reported by Simon Josefsson.
4448
4449 2011-08-08  Bruno Haible  <bruno@clisp.org>
4450
4451         iswblank: Detect declaration correctly.
4452         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4453         AC_CHECK_DECLS invocation.
4454
4455 2011-08-08  Bruno Haible  <bruno@clisp.org>
4456
4457         tcgetsid: Detect declaration correctly.
4458         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4459         AC_CHECK_DECLS invocation.
4460         Reported by Simon Josefsson.
4461
4462 2011-08-08  Eric Blake  <eblake@redhat.com>
4463
4464         largefile: fix typo that regressed large file support
4465         * modules/largefile (configure.ac-early): Fix section name.
4466
4467 2011-08-06  Karl Berry  <karl@gnu.org>
4468
4469         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4470         a separate module.
4471
4472 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4473
4474         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4475         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4476         get prototype for free.
4477
4478 2011-08-04  Bruno Haible  <bruno@clisp.org>
4479
4480         Tests for module 'pathmax'.
4481         * modules/pathmax-tests: New file.
4482         * tests/test-pathmax.c: New file.
4483
4484         canonicalize-lgpl: Support larger filenames on the Hurd.
4485         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4486         Reported by Paul Eggert.
4487
4488         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4489         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4490         * lib/chdir-long.h: Include pathmax.h.
4491         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4492         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4493         (PATH_MAX): Remove code that is done by pathmax.h.
4494         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4495         * lib/tmpfile.c: Add a comment.
4496         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4497         * modules/chdir-long (Depends-on): Add pathmax.
4498         * modules/getcwd (Depends-on): Add pathmax.
4499         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4500         is not defined.
4501         * doc/posix-headers/limits.texi: Mention the pathmax module.
4502         * NEWS: Mention the change.
4503
4504 2011-08-02  Bruno Haible  <bruno@clisp.org>
4505
4506         pthread_sigmask: Actually use results of gl_THREADLIB.
4507         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4508         gl_THREADLIB, not gl_[]THREADLIB.
4509         Reported by Eric Blake.
4510
4511 2011-08-02  Jim Meyering  <meyering@redhat.com>
4512
4513         maint.mk: relax the default _gl_TS_function_match regexp
4514         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4515         space between function name and "(" in an "extern" declaration.
4516         That would fail to match a decl with no space there: extern void foo();
4517
4518 2011-07-31  Iain Nicol  <iain@thenicols.net>
4519
4520         git-version-gen: document that EXTRA_DIST must include .version
4521         * build-aux/git-version-gen: In the how-to-use comment, document
4522         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4523         will fail when run from an unpacked distribution tarball.
4524
4525 2011-08-01  Bruno Haible  <bruno@clisp.org>
4526
4527         wctype-h: Fix last change.
4528         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4529         REPLACE_TOWLOWER to 0.
4530         Reported by Sam Steingold <sds@gnu.org>.
4531
4532 2011-07-31  Bruno Haible  <bruno@clisp.org>
4533
4534         frexpl: Update autoconf test.
4535         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4536         according to changes of 2011-06-20.
4537
4538 2011-07-31  Bruno Haible  <bruno@clisp.org>
4539
4540         sys_utsname: Add support for Minix.
4541         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4542         <sys/utsname.h>.
4543         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4544         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4545
4546 2011-07-31  Bruno Haible  <bruno@clisp.org>
4547
4548         strings: Add support for Minix.
4549         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4550         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4551         * doc/posix-headers/strings.texi: Document the Minix problem.
4552
4553 2011-07-31  Bruno Haible  <bruno@clisp.org>
4554
4555         wctype-h: Add support for Minix.
4556         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4557         REPLACE_TOWLOWER.
4558         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4559         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4560         REPLACE_ISWCNTRL.
4561
4562 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4563
4564         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4565         This is a performance improvement for 64-bit hosts: it causes the
4566         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4567
4568 2011-07-31  Bruno Haible  <bruno@clisp.org>
4569
4570         stdioext: Add support for Minix.
4571         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4572         * lib/fpurge.c (fpurge): Likewise.
4573         * lib/freadahead.c (freadahead): Likewise.
4574         * lib/freadable.c (freadable): Likewise.
4575         * lib/freading.c (freading): Likewise.
4576         * lib/freadptr.c (freadptr): Likewise.
4577         * lib/freadseek.c (freadptrinc): Likewise.
4578         * lib/fseeko.c (rpl_fseeko): Likewise.
4579         * lib/fseterr.c (fseterr): Likewise.
4580         * lib/fwritable.c (fwritable): Likewise.
4581         * lib/fwriting.c (fwriting): Likewise.
4582         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4583         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4584
4585 2011-07-31  Bruno Haible  <bruno@clisp.org>
4586
4587         errno: Port to Minix.
4588         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4589         ECONNABORTED are defined.
4590         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4591         GNULIB_defined_ECONNABORTED): New macros.
4592         * lib/strerror-override.h (strerror_override): Test also
4593         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4594         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4595         ECONNABORTED.
4596         * doc/posix-headers/errno.texi: Mention the Minix problem.
4597
4598 2011-07-31  Bruno Haible  <bruno@clisp.org>
4599
4600         Work around declaration collisions on Minix.
4601         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4602         defined, set REPLACE_MBSINIT.
4603         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4604         defined, set REPLACE_MBRTOWC.
4605         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4606         set REPLACE_MBRLEN.
4607         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4608         defined, set REPLACE_MBSRTOWCS.
4609         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4610         defined, set REPLACE_WCRTOMB.
4611         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4612         defined, set REPLACE_WCSRTOMBS.
4613
4614 2011-07-31  Bruno Haible  <bruno@clisp.org>
4615
4616         Add support for Minix with ACK compiler.
4617         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4618         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4619         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4620
4621 2011-07-31  Bruno Haible  <bruno@clisp.org>
4622
4623         Documentation about Minix.
4624         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4625         * doc/glibc-headers/*.texi: Likewise.
4626         * doc/posix-functions/*.texi: Likewise.
4627         * doc/glibc-functions/*.texi: Likewise.
4628
4629 2011-07-31  Bruno Haible  <bruno@clisp.org>
4630
4631         snippet/warn-on-use: Fix indentation.
4632         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4633
4634 2011-07-25  Jim Meyering  <meyering@redhat.com>
4635
4636         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4637         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4638         commands.
4639
4640 2011-07-27  Jim Meyering  <meyering@redhat.com>
4641
4642         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4643         * top/maint.mk (gl_extract_significant_defines_): Now that
4644         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4645         gnulib/lib/signal.in.h, and now that we recommend to
4646         define-if-undefined those two symbols in application code,
4647         we must filter them out of the "significant" list.
4648         This avoids a "make syntax-check" failure in coreutils.
4649
4650 2011-07-26  Eric Blake  <eblake@redhat.com>
4651
4652         warnings: add comments about previous patch
4653         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4654         * m4/include_next.m4: Likewise.
4655         * m4/warn-on-use.m4: Likewise.
4656         * m4/warnings.m4: Likewise, and simplify use.
4657         Suggested by Stefano Lattarini.
4658
4659         include-next, warnings: support older autoconf
4660         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4661         AS_VAR_PUSHDEF in a way that works with older autoconf.
4662         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4663         Reported by Daniel P. Berrange.
4664
4665 2011-07-25  Bruno Haible  <bruno@clisp.org>
4666
4667         fseek, ftell: Fix doc.
4668         * doc/posix-functions/fseek.texi: Reword statement about
4669         AC_SYS_LARGEFILE.
4670         * doc/posix-functions/ftell.texi: Likewise.
4671
4672 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4673             Bruno Haible  <bruno@clisp.org>
4674
4675         Add dependencies to the 'largefile' module.
4676         * modules/fopen (Depends-on): Add 'largefile'.
4677         * modules/freopen (Depends-on): Likewise.
4678         * modules/fseeko (Depends-on): Likewise.
4679         * modules/ftello (Depends-on): Likewise.
4680         * modules/glob (Depends-on): Likewise.
4681         * modules/lseek (Depends-on): Likewise.
4682         * modules/lstat (Depends-on): Likewise.
4683         * modules/mkostemp (Depends-on): Likewise.
4684         * modules/mkostemps (Depends-on): Likewise.
4685         * modules/mkstemp (Depends-on): Likewise.
4686         * modules/mkstemps (Depends-on): Likewise.
4687         * modules/open (Depends-on): Likewise.
4688         * modules/openat (Depends-on): Likewise.
4689         * modules/pread (Depends-on): Likewise.
4690         * modules/pwrite (Depends-on): Likewise.
4691         * modules/scandir (Depends-on): Likewise.
4692         * modules/stat (Depends-on): Likewise.
4693         * modules/tmpfile (Depends-on): Likewise.
4694         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4695         since the containing module now depends on the largefile module.
4696         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4697         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4698         off_t is fixed by gnulib.
4699         * doc/posix-functions/freopen.texi: Likewise.
4700         * doc/posix-functions/fseeko.texi: Likewise.
4701         * doc/posix-functions/fstatat.texi: Likewise.
4702         * doc/posix-functions/ftello.texi: Likewise.
4703         * doc/posix-functions/glob.texi: Likewise.
4704         * doc/posix-functions/lseek.texi: Likewise.
4705         * doc/posix-functions/lstat.texi: Likewise.
4706         * doc/posix-functions/mkstemp.texi: Likewise.
4707         * doc/posix-functions/open.texi: Likewise.
4708         * doc/posix-functions/openat.texi: Likewise.
4709         * doc/posix-functions/pread.texi: Likewise.
4710         * doc/posix-functions/pwrite.texi: Likewise.
4711         * doc/posix-functions/scandir.texi: Likewise.
4712         * doc/posix-functions/stat.texi: Likewise.
4713         * doc/posix-functions/tmpfile.texi: Likewise.
4714         * doc/glibc-functions/mkostemp.texi: Likewise.
4715         * doc/glibc-functions/mkostemps.texi: Likewise.
4716         * doc/glibc-functions/mkstemps.texi: Likewise.
4717
4718 2011-07-25  Bruno Haible  <bruno@clisp.org>
4719
4720         fcntl: Move AC_LIBOBJ invocation to module description.
4721         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4722         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4723
4724         fcntl: Remove call-in from fchdir.m4.
4725         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4726         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4727
4728         dup3: Remove potential call-in from fchdir.m4.
4729         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4730         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4731
4732         dup2: Move AC_LIBOBJ invocation to module description.
4733         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4734         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4735         Don't invoke AC_LIBOBJ.
4736         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4737
4738         dup2: Remove call-in from fchdir.m4.
4739         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4740         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4741
4742         fclose: Move AC_LIBOBJ invocation to module description.
4743         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4744         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4745         to 1.
4746         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4747
4748         fclose: Remove call-in from close.m4.
4749         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4750         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4751
4752         close: Move AC_LIBOBJ invocation to module description.
4753         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4754         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4755         1.
4756         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4757
4758         close: Remove call-in from fchdir.m4.
4759         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4760         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4761
4762         open: Move AC_LIBOBJ invocation to module description.
4763         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4764         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4765         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4766
4767         open: Remove call-in from fchdir.m4.
4768         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4769         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4770
4771         fchdir: Start to remove gl_REPLACE_* idiom.
4772         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4773         (gl_FUNC_FCHDIR): Invoke it.
4774
4775 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4776
4777         * lib/ftell.c (ftell): Comment out cast.
4778
4779         close: use gl_REPLACE_FCLOSE only if defined
4780         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4781         is defined.  The close module doesn't depend on the fclose module
4782         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4783         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4784         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4785
4786 2011-07-24  Jim Meyering  <meyering@redhat.com>
4787
4788         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4789         * tests/test-select.h (test_function): Declare as "static".
4790
4791 2011-07-24  Bruno Haible  <bruno@clisp.org>
4792
4793         doc: Mention the effects of AC_SYS_LARGEFILE.
4794         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
4795         on this function.
4796         * doc/posix-functions/aio_error.texi: Likewise.
4797         * doc/posix-functions/aio_fsync.texi: Likewise.
4798         * doc/posix-functions/aio_read.texi: Likewise.
4799         * doc/posix-functions/aio_return.texi: Likewise.
4800         * doc/posix-functions/aio_suspend.texi: Likewise.
4801         * doc/posix-functions/aio_write.texi: Likewise.
4802         * doc/posix-functions/fgetpos.texi: Likewise.
4803         * doc/posix-functions/fopen.texi: Likewise.
4804         * doc/posix-functions/freopen.texi: Likewise.
4805         * doc/posix-functions/fsetpos.texi: Likewise.
4806         * doc/posix-functions/fstatvfs.texi: Likewise.
4807         * doc/posix-functions/ftruncate.texi: Likewise.
4808         * doc/posix-functions/ftw.texi: Likewise.
4809         * doc/posix-functions/getrlimit.texi: Likewise.
4810         * doc/posix-functions/glob.texi: Likewise.
4811         * doc/posix-functions/lio_listio.texi: Likewise.
4812         * doc/posix-functions/lockf.texi: Likewise.
4813         * doc/posix-functions/mkstemp.texi: Likewise.
4814         * doc/posix-functions/mmap.texi: Likewise.
4815         * doc/posix-functions/nftw.texi: Likewise.
4816         * doc/posix-functions/openat.texi: Likewise.
4817         * doc/posix-functions/opendir.texi: Likewise.
4818         * doc/posix-functions/posix_fadvise.texi: Likewise.
4819         * doc/posix-functions/posix_fallocate.texi: Likewise.
4820         * doc/posix-functions/pread.texi: Likewise.
4821         * doc/posix-functions/pwrite.texi: Likewise.
4822         * doc/posix-functions/readdir.texi: Likewise.
4823         * doc/posix-functions/readdir_r.texi: Likewise.
4824         * doc/posix-functions/rewinddir.texi: Likewise.
4825         * doc/posix-functions/scandir.texi: Likewise.
4826         * doc/posix-functions/seekdir.texi: Likewise.
4827         * doc/posix-functions/setrlimit.texi: Likewise.
4828         * doc/posix-functions/statvfs.texi: Likewise.
4829         * doc/posix-functions/telldir.texi: Likewise.
4830         * doc/posix-functions/tmpfile.texi: Likewise.
4831         * doc/posix-functions/truncate.texi: Likewise.
4832         * doc/glibc-functions/fallocate.texi: Likewise.
4833         * doc/glibc-functions/fstatfs.texi: Likewise.
4834         * doc/glibc-functions/fts_children.texi: Likewise.
4835         * doc/glibc-functions/fts_read.texi: Likewise.
4836         * doc/glibc-functions/getdirentries.texi: Likewise.
4837         * doc/glibc-functions/mkostemp.texi: Likewise.
4838         * doc/glibc-functions/mkostemps.texi: Likewise.
4839         * doc/glibc-functions/mkstemps.texi: Likewise.
4840         * doc/glibc-functions/preadv.texi: Likewise.
4841         * doc/glibc-functions/pwritev.texi: Likewise.
4842         * doc/glibc-functions/sendfile.texi: Likewise.
4843         * doc/glibc-functions/statfs.texi: Likewise.
4844
4845 2011-07-24  Bruno Haible  <bruno@clisp.org>
4846
4847         doc: Fix typo.
4848         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
4849
4850 2011-07-24  Bruno Haible  <bruno@clisp.org>
4851
4852         doc: Mention fsusage.
4853         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
4854
4855 2011-07-24  Bruno Haible  <bruno@clisp.org>
4856
4857         doc: Mention new glibc headers and functions.
4858         * doc/glibc-headers/gshadow.texi: New file.
4859         * doc/glibc-functions/endsgent.texi: New file.
4860         * doc/glibc-functions/fgetsgent.texi: New file.
4861         * doc/glibc-functions/fgetsgent_r.texi: New file.
4862         * doc/glibc-functions/getsgent.texi: New file.
4863         * doc/glibc-functions/getsgent_r.texi: New file.
4864         * doc/glibc-functions/getsgnam.texi: New file.
4865         * doc/glibc-functions/getsgnam_r.texi: New file.
4866         * doc/glibc-functions/putsgent.texi: New file.
4867         * doc/glibc-functions/setsgent.texi: New file.
4868         * doc/glibc-functions/sgetsgent.texi: New file.
4869         * doc/glibc-functions/sgetsgent_r.texi: New file.
4870         * doc/glibc-functions/malloc_info.texi: New file.
4871         * doc/glibc-functions/preadv.texi: New file.
4872         * doc/glibc-functions/pwritev.texi: New file.
4873         * doc/glibc-functions/register_printf_modifier.texi: New file.
4874         * doc/glibc-functions/register_printf_specifier.texi: New file.
4875         * doc/glibc-functions/register_printf_type.texi: New file.
4876         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
4877         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
4878         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
4879         * doc/glibc-functions/pthread_getname_np.texi: New file.
4880         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
4881         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
4882         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
4883         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
4884         * doc/glibc-functions/pthread_setname_np.texi: New file.
4885         * doc/glibc-functions/pthread_sigqueue.texi: New file.
4886         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
4887         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
4888         * doc/glibc-functions/qsort_r.texi: New file.
4889         * doc/glibc-functions/quick_exit.texi: New file.
4890         * doc/glibc-functions/syncfs.texi: New file.
4891         * doc/gnulib.texi: Include them.
4892         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
4893         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
4894         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
4895         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
4896         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
4897         * doc/glibc-functions/execvpe.texi: Likewise.
4898
4899 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4900
4901         ftell: don't include <unistd.h>
4902         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
4903         guaranteed to define off_t, and the ftell module depends on the
4904         stdio module.
4905
4906         ftell: do not assume wraparound signed arithmetic
4907         * lib/ftell.c: Include <limits.h>.
4908         (ftell): Don't assume wraparound signed arithmetic.
4909
4910 2011-07-24  Bruno Haible  <bruno@clisp.org>
4911
4912         close: No longer depend on module 'fclose'.
4913         * modules/close (Depends-on): Remove fclose.
4914         * NEWS: Mention the change.
4915         Suggested by Sam Steingold <sds@gnu.org>.
4916
4917 2011-07-24  Bruno Haible  <bruno@clisp.org>
4918
4919         fsusage: Enable large volume support on AIX >= 5.2.
4920         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
4921         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
4922         instead of STAT_STATVFS.
4923         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
4924
4925         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
4926         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
4927         f_blocks field only on MacOS X.
4928
4929         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
4930         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
4931         * modules/fsusage (Depends-on): Add largefile.
4932
4933 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4934
4935         * README: Modernize discussion of signed integers.
4936         Assuming overflow wraparound is no longer safe.
4937         Mention ones' complement and signed magnitude.
4938
4939 2011-07-22  Bruno Haible  <bruno@clisp.org>
4940
4941         select tests, pselect tests: Refactor.
4942         * tests/test-select.h: New file, extracted from tests/test-select.c.
4943         (select_fn): New type.
4944         (test, do_select, do_select_nowait, do_select_wait, test_tty,
4945         test_connect_first, test_accept_first, test_pair, test_socket_pair,
4946         test_pipe): Add my_select argument.
4947         (test_function): Renamed from main. Add my_select argument.
4948         * tests/test-select.c: Move most code to tests/test-select.h. Include
4949         test-select.h.
4950         * modules/select-tests (Files): Add tests/test-select.h.
4951         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
4952         (my_select, main): New functions.
4953         * modules/pselect-tests (Files): Add tests/test-select.h,
4954         tests/macros.h, tests/signature.h.
4955         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
4956         (configure.ac): Check for <sys/wait.h>.
4957
4958 2011-07-22  Bruno Haible  <bruno@clisp.org>
4959
4960         sys_select tests: Check the signature of FD_*.
4961         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
4962         signature tests from here...
4963         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
4964         here.
4965         * modules/sys_select-tests (Files): Add tests/signature.h.
4966
4967 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4968
4969         largefile: new module, replacing large-inode
4970         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
4971         * MODULES.html.sh: Add largefile, remove large-inode.
4972         * modules/largefile, m4/largefile.m4: New files.
4973         * modules/large-inode, m4/large-inode.m4: Remove.
4974
4975         fsusage: port to MacOS X 10.7 with 4 TiB file systems
4976         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
4977         implementations that use only 32 bits to count blocks.
4978         On typical hosts with 1024-byte blocks, this fails with file
4979         systems as small as 4 TiB.  Problem reported by Herb Wartens
4980         <http://debbugs.gnu.org/9140> and this should also fix a similar
4981         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
4982
4983         large-inode: New module
4984         * MODULES.html.sh: Add it.
4985         * modules/large-inode, m4/large-inode.m4: New files.
4986
4987         extensions: Enable extensions on MacOS X 10.5 and later.
4988         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
4989
4990 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
4991
4992         file-has-acl: use acl_extended_file_nofollow if available
4993         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
4994         (acl_extended_file): New macro.
4995         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
4996         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
4997
4998 2011-07-21  Bruno Haible  <bruno@clisp.org>
4999
5000         Declare system functions in a way that works with C++.
5001         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
5002         declare fdopendir as extern "C".
5003         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
5004         declare frexpl as extern "C".
5005         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
5006         declare gai_strerror as extern "C".
5007         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
5008         programs, declare gai_strerror as extern "C".
5009         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
5010         declare getlogin_r as extern "C".
5011         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
5012         as extern "C".
5013         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
5014         declare ldexpl as extern "C".
5015         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
5016         as extern "C".
5017         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
5018         program, declare getmntinfo as extern "C".
5019         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
5020         stpncpy as extern "C".
5021         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
5022         program, declare __xpg_strerror_r as extern "C".
5023         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
5024         strndup as extern "C".
5025         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
5026         declare memset and bzero as extern "C".
5027         Reported by Sam Steingold <sds@gnu.org>.
5028
5029 2011-07-12  Jim Meyering  <meyering@redhat.com>
5030
5031         maint.mk: prohibit inclusion of "verify.h" without use
5032         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
5033
5034 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5035
5036         timer-time: A new module to check for timer_settime()
5037         * m4/timer_time.m4: Check for the posix function.
5038         * modules/timer-time: Add the new module.
5039         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
5040         Mention it.
5041
5042 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
5043             Bruno Haible  <bruno@clisp.org>
5044
5045         pthread_sigmask: assume POSIX threads if --avoid=threadlib
5046         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
5047         not defined, assume POSIX threads and look for pthread_sigmask in
5048         $LIBS, without changing $CPPFLAGS.
5049
5050 2011-07-19  Bruno Haible  <bruno@clisp.org>
5051
5052         strstr: Update cross-compilation guess.
5053         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
5054         CPUs, guess no, in view of glibc
5055         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
5056         Suggested by Eric Blake. Reported by Reuben Thomas.
5057
5058 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5059
5060         getopt-gnu: suppress core dumps from detection code
5061         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
5062         to suppress core dumps that may well occur on glibc systems.
5063         * modules/getopt-gnu: Depend on nocrash.
5064
5065 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5066
5067         pthread_sigmask: ensure usleep is declared
5068         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
5069         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
5070
5071 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5072
5073         doc: Document NonStop portability issues.
5074         * doc/posix-functions/sigaction.texi (sigaction):
5075         * doc/posix-headers/signal.texi (signal.h):
5076         Document NonStop.  See Joachim Schmitz in
5077         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
5078
5079 2011-07-15  Bruno Haible  <bruno@clisp.org>
5080
5081         ffsl, ffsll: Avoid unportable behaviour.
5082         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
5083
5084 2011-07-15  Bruno Haible  <bruno@clisp.org>
5085
5086         ffs: More tests.
5087         * tests/test-ffs.c (NBITS): New macro.
5088         (main): Add more tests.
5089         * tests/test-ffsl.c (NBITS): New macro.
5090         (main): Add more tests.
5091         * tests/test-ffsll.c (NBITS): New macro.
5092         (main): Add more tests.
5093
5094 2011-07-15  Eric Blake  <eblake@redhat.com>
5095
5096         ffsl, ffsll: new modules
5097         * modules/ffsl: New file.
5098         * modules/ffsll: Likewise.
5099         * m4/ffsl.m4: Likewise.
5100         * m4/ffsll.m4: Likewise.
5101         * lib/ffsl.c: Likewise.
5102         * lib/ffsl.h: Likewise.
5103         * lib/ffsll.c: Likewise.
5104         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
5105         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
5106         * modules/string (Makefile.am): Substitute witnesses.
5107         * lib/strings.in.h (ffsl, ffsll): Declare.
5108         * modules/ffsl-tests: New test file.
5109         * modules/ffsll-tests: Likewise.
5110         * tests/test-ffsl.c: Likewise.
5111         * tests/test-ffsll.c: Likewise.
5112         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5113         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
5114         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
5115
5116         ffs: fix m4 prerequisite
5117         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
5118
5119         ffs: avoid undefined behavior
5120         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
5121         * tests/test-ffs.c (naive, main): Avoid signed shifts.
5122         Reported by Bruno Haible.
5123
5124 2011-07-12  Bruno Haible  <bruno@clisp.org>
5125
5126         pthread_sigmask: Rely on module 'threadlib'.
5127         * modules/pthread_sigmask (Depends-on): Add threadlib.
5128         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
5129         is defined.
5130
5131 2011-07-12  Bruno Haible  <bruno@clisp.org>
5132
5133         regex: Depend on module 'strcase'.
5134         * modules/regex (Depends-on): Add strcase, for strcasecmp().
5135
5136 2011-07-12  Jim Meyering  <meyering@redhat.com>
5137
5138         warn-on-use: fix typo in file name
5139         * modules/snippet/warn-on-use (Files): Correct file name:
5140         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
5141
5142 2011-07-12  Bruno Haible  <bruno@clisp.org>
5143
5144         strings: Document module.
5145         * doc/posix-headers/strings.texi: Mention module 'strings'.
5146
5147 2011-07-12  Bruno Haible  <bruno@clisp.org>
5148
5149         Rename module '_Noreturn' to 'snippet/_Noreturn'.
5150         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
5151         (Files, Makefile.am): Update.
5152         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
5153         * modules/stdlib (Depends-on): Update.
5154
5155 2011-07-12  Bruno Haible  <bruno@clisp.org>
5156
5157         * NEWS: Mention the changes.
5158
5159         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
5160         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
5161         (Files, Makefile.am): Update.
5162         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
5163         * modules/arpa_inet (Depends-on): Update.
5164         * modules/ctype (Depends-on): Update.
5165         * modules/dirent (Depends-on): Update.
5166         * modules/fcntl-h (Depends-on): Update.
5167         * modules/glob (Depends-on): Update.
5168         * modules/iconv-h (Depends-on): Update.
5169         * modules/inttypes-incomplete (Depends-on): Update.
5170         * modules/langinfo (Depends-on): Update.
5171         * modules/locale (Depends-on): Update.
5172         * modules/math (Depends-on): Update.
5173         * modules/netdb (Depends-on): Update.
5174         * modules/poll-h (Depends-on): Update.
5175         * modules/pty (Depends-on): Update.
5176         * modules/search (Depends-on): Update.
5177         * modules/signal (Depends-on): Update.
5178         * modules/spawn (Depends-on): Update.
5179         * modules/stdio (Depends-on): Update.
5180         * modules/stdlib (Depends-on): Update.
5181         * modules/string (Depends-on): Update.
5182         * modules/strings (Depends-on): Update.
5183         * modules/sys_file (Depends-on): Update.
5184         * modules/sys_ioctl (Depends-on): Update.
5185         * modules/sys_select (Depends-on): Update.
5186         * modules/sys_socket (Depends-on): Update.
5187         * modules/sys_stat (Depends-on): Update.
5188         * modules/sys_time (Depends-on): Update.
5189         * modules/sys_times (Depends-on): Update.
5190         * modules/sys_utsname (Depends-on): Update.
5191         * modules/sys_wait (Depends-on): Update.
5192         * modules/termios (Depends-on): Update.
5193         * modules/time (Depends-on): Update.
5194         * modules/unistd (Depends-on): Update.
5195         * modules/wchar (Depends-on): Update.
5196         * modules/wctype-h (Depends-on): Update.
5197         * MODULES.html.sh (Support for building libraries and executables):
5198         Update.
5199
5200         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
5201         * modules/snippet/unused-parameter: Renamed from
5202         modules/unused-parameter.
5203         (Files, Makefile.am): Update.
5204         * build-aux/snippet/unused-parameter.h: Renamed from
5205         build-aux/unused-parameter.h.
5206         * modules/selinux-h (Depends-on): Update.
5207         * modules/unistr/base (Depends-on): Update.
5208         * MODULES.html.sh (Core language properties): Update.
5209
5210         Rename module 'link-warning' to 'snippet/link-warning'.
5211         * modules/snippet/link-warning: Renamed from modules/link-warning.
5212         (Files, Makefile.am): Update.
5213         * build-aux/snippet/link-warning.h: Renamed from
5214         build-aux/link-warning.h.
5215         * MODULES.html.sh (Support for building libraries and executables):
5216         Update.
5217
5218         Rename module 'c++defs' to 'snippet/c++defs'.
5219         * modules/snippet/c++defs: Renamed from modules/c++defs.
5220         (Files, Makefile.am): Update.
5221         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
5222         * modules/arpa_inet (Depends-on): Update.
5223         * modules/ctype (Depends-on): Update.
5224         * modules/dirent (Depends-on): Update.
5225         * modules/fcntl-h (Depends-on): Update.
5226         * modules/glob (Depends-on): Update.
5227         * modules/iconv-h (Depends-on): Update.
5228         * modules/langinfo (Depends-on): Update.
5229         * modules/locale (Depends-on): Update.
5230         * modules/math (Depends-on): Update.
5231         * modules/netdb (Depends-on): Update.
5232         * modules/poll-h (Depends-on): Update.
5233         * modules/pty (Depends-on): Update.
5234         * modules/search (Depends-on): Update.
5235         * modules/signal (Depends-on): Update.
5236         * modules/spawn (Depends-on): Update.
5237         * modules/stdio (Depends-on): Update.
5238         * modules/stdlib (Depends-on): Update.
5239         * modules/string (Depends-on): Update.
5240         * modules/strings (Depends-on): Update.
5241         * modules/sys_ioctl (Depends-on): Update.
5242         * modules/sys_select (Depends-on): Update.
5243         * modules/sys_socket (Depends-on): Update.
5244         * modules/sys_stat (Depends-on): Update.
5245         * modules/sys_time (Depends-on): Update.
5246         * modules/sys_wait (Depends-on): Update.
5247         * modules/termios (Depends-on): Update.
5248         * modules/time (Depends-on): Update.
5249         * modules/unistd (Depends-on): Update.
5250         * modules/wchar (Depends-on): Update.
5251         * modules/wctype-h (Depends-on): Update.
5252
5253         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
5254         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
5255         (Files, Makefile.am): Update.
5256         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
5257         * modules/argv-iter (Depends-on): Update.
5258         * modules/arpa_inet (Depends-on): Update.
5259         * modules/dirent (Depends-on): Update.
5260         * modules/fcntl-h (Depends-on): Update.
5261         * modules/fnmatch (Depends-on): Update.
5262         * modules/getopt-posix (Depends-on): Update.
5263         * modules/glob (Depends-on): Update.
5264         * modules/iconv-h (Depends-on): Update.
5265         * modules/inttypes-incomplete (Depends-on): Update.
5266         * modules/locale (Depends-on): Update.
5267         * modules/math (Depends-on): Update.
5268         * modules/netdb (Depends-on): Update.
5269         * modules/search (Depends-on): Update.
5270         * modules/signal (Depends-on): Update.
5271         * modules/spawn (Depends-on): Update.
5272         * modules/stdio (Depends-on): Update.
5273         * modules/stdlib (Depends-on): Update.
5274         * modules/string (Depends-on): Update.
5275         * modules/strings (Depends-on): Update.
5276         * modules/sys_socket (Depends-on): Update.
5277         * modules/sys_stat (Depends-on): Update.
5278         * modules/sys_time (Depends-on): Update.
5279         * modules/sys_times (Depends-on): Update.
5280         * modules/sys_utsname (Depends-on): Update.
5281         * modules/time (Depends-on): Update.
5282         * modules/unistd (Depends-on): Update.
5283         * modules/wchar (Depends-on): Update.
5284         * MODULES.html.sh (Support for building libraries and executables):
5285         Update.
5286
5287 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5288
5289         Improvements on _Noreturn and related modules.
5290
5291         modules/_Exit-tests: test _Noreturn too
5292         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
5293         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
5294         (main): Use them.
5295
5296         stdnoreturn, stdnoreturn-tests: remove modules
5297         They're not needed here and a bit premature for use elsewhere.  See
5298         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
5299         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5300         * tests/test-stdnoreturn.c: Remove files.
5301         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
5302         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
5303         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
5304         and using noreturn.
5305         * modules/openat, modules/sigpipe-die, modules/xalloc:
5306         * modules/xmemdup0, modules/xstrtol:
5307         Remove dependency on stdnoreturn.
5308
5309         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
5310         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
5311         Reparenthesize to avoid GCC warning.
5312         Support Microsoft's syntax.
5313         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
5314
5315         _Noreturn-tests: remove module
5316         * modules/_Noreturn-tests: Remove.
5317         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
5318         * tests/test-_Noreturn.c: Remove.
5319         * tests/test-stdnoreturn.c: Merge from the old
5320         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
5321
5322 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5323
5324         _Noreturn, stdnoreturn, and related modules.
5325
5326         * top/maint.mk: Adjust to new noreturn support.
5327         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
5328         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
5329
5330         xalloc: use stdnoreturn.h
5331         * lib/xalloc.h: Include <stdnoreturn.h>.
5332         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5333         * modules/xalloc (Depends-on): Add stdnoreturn.
5334
5335         xstrtol: use stdnoreturn.h
5336         * lib/xstrtol.h: Include <stdnoreturn.h>.
5337         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5338         * modules/xstrtol (Depends-on): Add stdnoreturn.
5339
5340         xmemdup0: use stdnoreturn.h
5341         * lib/xmemdup0.h: Include <stdnoreturn.h>.
5342         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5343         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
5344
5345         sigpipe-die: use stdnoreturn.h
5346         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
5347         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5348         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
5349
5350         openat: use stdnoreturn.h
5351         * lib/openat.h: Include <stdnoreturn.h>.
5352         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5353         * modules/openat (Depends-on): Add stdnoreturn.
5354
5355         * lib/openat-die.c (openat_save_fail): Modernize comment.
5356
5357         * lib/xalloc-die.c (xalloc_die): Modernize comment.
5358
5359         * lib/glthread/thread.h: Modernize comment.
5360
5361         obstack: use _Noreturn
5362         * lib/obstack.c (__attribute__): Remove macro.
5363         (print_and_abort): Use _Noreturn.
5364
5365         c-stack: use _Noreturn
5366         * lib/c-stack.c (die, overflow_handler, segv_handler):
5367         Use _Noreturn rather than __attribute__((noreturn)).
5368
5369         argmatch-tests, exclude_tests: use _Noreturn
5370         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
5371         Remove.
5372         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
5373
5374         stdlib: use _Noreturn
5375         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
5376         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
5377         * modules/stdlib (Depends-on): Add _Noreturn.
5378         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
5379
5380         stdnoreturn-tests: new module
5381         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5382
5383         stdnoreturn: new module
5384         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5385         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5386
5387         _Noreturn-tests: new module
5388         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5389
5390         _Noreturn: new module
5391         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5392         New section, mentioning it.
5393         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5394
5395         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5396
5397 2011-07-11  Eric Blake  <eblake@redhat.com>
5398
5399         ffs: new module
5400         * modules/ffs: New file.
5401         * m4/ffs.m4: Likewise.
5402         * lib/ffs.c: Likewise.
5403         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5404         * modules/strings (Makefile.am): Substitute witness.
5405         (Depends-on): Add c++defs.
5406         * lib/strings.in.h (ffs): Declare.
5407         * modules/ffs-tests: New test file.
5408         * tests/test-ffs.c: Test new module.
5409         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5410         * doc/posix-functions/ffs.texi (ffs): Likewise.
5411
5412         regex: avoid compiler warning
5413         * lib/regex.c (includes): Include <strings.h>, for use of
5414         strcasecmp in regcomp.c.
5415         Reported by Joachim Schmitz.
5416
5417 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5418
5419         stdint: respect system's intmax_t if INTMAX_MAX
5420         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5421         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5422         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5423         long but int64_t is long long, and where we will clash with the
5424         system intmax_t if we override it.  See
5425         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5426         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5427         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5428         similarly for UINTMAX_C.
5429
5430 2011-07-08  Bruno Haible  <bruno@clisp.org>
5431
5432         pthread_sigmask tests: Avoid a compiler warning.
5433         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5434         non-zero.
5435
5436         sigprocmask tests: A better way to avoid a compiler warning.
5437         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5438         (main): Complain if system() returns non-zero.
5439         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5440
5441 2011-07-08  Bruno Haible  <bruno@clisp.org>
5442
5443         pthread_sigmask: Work around IRIX bug.
5444         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5445         bug.
5446         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5447         there may be unblocked pending signals.
5448         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5449
5450 2011-07-08  Bruno Haible  <bruno@clisp.org>
5451
5452         pthread_sigmask: Work around Cygwin bug.
5453         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5454         bug.
5455         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5456         the system's pthread_sigmask function.
5457         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5458
5459 2011-07-08  Bruno Haible  <bruno@clisp.org>
5460
5461         pthread_sigmask: Work around bug in single-threaded implementation.
5462         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5463         FreeBSD, HP-UX, Solaris bug.
5464         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5465         * lib/pthread_sigmask.c: Include <stddef.h>.
5466         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5467         the system's pthread_sigmask function.
5468         * modules/pthread_sigmask (configure.ac): Invoke
5469         gl_PREREQ_PTHREAD_SIGMASK.
5470         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5471         HP-UX, Solaris.
5472
5473 2011-07-08  Eric Blake  <eblake@redhat.com>
5474
5475         test-sigprocmask: avoid compiler warning
5476         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5477         * tests/test-sigprocmask.c (main): Use it to silence warning.
5478         Reported by Jim Meyering.
5479
5480         test-snprintf: avoid compiler warning
5481         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5482         * tests/test-vsnprintf.c (main): Likewise.
5483         Reported by Jim Meyering.
5484
5485 2011-07-08  Bruno Haible  <bruno@clisp.org>
5486
5487         Tests for module 'pthread_sigmask'.
5488         * modules/pthread_sigmask-tests: New file.
5489         * tests/test-pthread_sigmask1.c: New file, based on
5490         tests/test-sigprocmask.c.
5491         * tests/test-pthread_sigmask2.c: New file.
5492
5493 2011-07-08  Jim Meyering  <meyering@redhat.com>
5494
5495         test-getopt.h: avoid warning about an unused variable
5496         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5497
5498 2011-07-07  Jim Meyering  <meyering@redhat.com>
5499
5500         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5501         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5502         now that it no longer contains leading TABs.
5503         Remove unused "url=FIXME" statement.
5504
5505 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5506
5507         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5508         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5509         When gl_THREADLIB is not in use, assume that the POSIX sematics
5510         are desired.  This is better for Emacs, which uses POSIX semantics
5511         on GNUish and/or POSIXish platforms, and does not use threads at
5512         all otherwise.
5513
5514         pthread_sigmask: fix typo when testing for libraries
5515         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5516         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5517
5518 2011-07-08  Eric Blake  <eblake@redhat.com>
5519
5520         fts: introduce FTS_NOATIME
5521         * lib/fts_.h (FTS_NOATIME): New bit flag.
5522         (FTS_OPTIONMASK): Adjust.
5523         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5524         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5525
5526 2011-07-08  Bruno Haible  <bruno@clisp.org>
5527
5528         Tests for module 'thread'.
5529         * modules/thread-tests: New file.
5530         * tests/test-thread_self.c: New file.
5531         * tests/test-thread_create.cc: New file.
5532
5533 2011-07-08  Bruno Haible  <bruno@clisp.org>
5534
5535         thread: Avoid gcc warnings when using gl_thread_self().
5536         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5537         'void *'.
5538         (gl_thread_self_pointer): Update.
5539
5540 2011-07-07  Bruno Haible  <bruno@clisp.org>
5541
5542         signal-c++-tests: Check declaration of pthread_sigmask.
5543         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5544         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5545         $(LIB_PTHREAD_SIGMASK).
5546
5547 2011-07-07  Bruno Haible  <bruno@clisp.org>
5548
5549         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5550         * lib/signal.in.h (pthread_sigmask): Override if
5551         REPLACE_PTHREAD_SIGMASK is 1.
5552         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5553         REPLACE_PTHREAD_SIGMASK.
5554         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5555         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5556         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5557         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5558         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5559
5560 2011-07-07  Bruno Haible  <bruno@clisp.org>
5561
5562         pthread_sigmask: Ensure declaration in <signal.h>.
5563         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5564         include <pthread.h>.
5565         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5566         problem.
5567
5568 2011-07-07  Bruno Haible  <bruno@clisp.org>
5569
5570         pthread_sigmask: Document the module.
5571         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5572
5573 2011-07-07  Bruno Haible  <bruno@clisp.org>
5574
5575         pthread_sigmask: Follow gnulib conventions.
5576         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5577         gl_PTHREAD_SIGMASK.
5578         * modules/pthread_sigmask (configure.ac): Update.
5579
5580 2011-07-07  Bruno Haible  <bruno@clisp.org>
5581
5582         pthread_sigmask: Make declaration C++ safe.
5583         * lib/signal.in.h: In two special conditions, just do an #include_next.
5584         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5585         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5586         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5587         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5588         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5589         not REPLACE_PTHREAD_MASK.
5590         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5591         not REPLACE_PTHREAD_MASK.
5592         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5593
5594 2011-07-07  Bruno Haible  <bruno@clisp.org>
5595
5596         pthread_sigmask: Fix return value.
5597         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5598         * lib/pthread_sigmask.c: New file.
5599         * modules/pthread_sigmask (Files): Add it.
5600         (configure.ac): Invoke AC_LIBOBJ.
5601
5602 2011-07-07  Eric Blake  <eblake@redhat.com>
5603
5604         getopt: more portable argv creation
5605         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5606         const, use char arrays rather than strings.
5607         Suggested by Paul Eggert.
5608
5609 2011-07-07  Bruno Haible  <bruno@clisp.org>
5610
5611         Tests for module 'sigprocmask'.
5612         * modules/sigprocmask-tests: New file.
5613         * tests/test-sigprocmask.c: New file.
5614
5615 2011-07-07  Bruno Haible  <bruno@clisp.org>
5616
5617         float tests: Tweak.
5618         * tests/test-float.c (main): Tweak skip message.
5619
5620 2011-07-07  Eric Blake  <eblake@redhat.com>
5621
5622         getopt: avoid compiler warning during configure
5623         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5624         assigning string literals to non-const pointer.
5625
5626         getopt-gnu: avoid crash in glibc getopt
5627         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5628         * tests/test-getopt.h (test_getopt): Enhance test.
5629         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5630         * doc/posix-functions/getopt.texi (getopt): Document it.
5631         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5632         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5633         Likewise.
5634
5635 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5636
5637         getopt: handle W; without long options in getopt [BZ #12922]
5638         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5639         but no long options are defined, just return 'W'.
5640
5641 2011-07-07  Bruno Haible  <bruno@clisp.org>
5642
5643         Avoid literal tabs.
5644         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5645         variable containing a tab instead of a literal tab.
5646         Reported by Jim Meyering.
5647
5648 2011-07-07  Bruno Haible  <bruno@clisp.org>
5649
5650         Comments.
5651         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5652
5653 2011-07-06  Bruno Haible  <bruno@clisp.org>
5654
5655         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5656         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5657         <winsock2.h>.
5658         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5659         lib/sys_socket.in.h.
5660         (close, gethostname): Hide declarations from <winsock2.h>.
5661         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5662         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5663         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5664         (select): Don't override if gnulib's <sys/select.h> was already
5665         included.
5666         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5667         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5668         setsockopt, shutdown, select): Tweak indentation.
5669
5670 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5671
5672         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5673         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5674         in an application that does not use the sys_select module.
5675
5676 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5677
5678         poll: do not return 0 on timeout=-1
5679         * lib/poll.c: Loop with yield if no events occured
5680
5681 2011-07-06  Eric Blake  <eblake@redhat.com>
5682
5683         pthread_sigmask: always replace when not using pthread
5684         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5685         replacement when using some threading other than pthread.  Fix
5686         logic bug.
5687
5688 2011-07-06  Bruno Haible  <bruno@clisp.org>
5689
5690         Comments.
5691         * m4/printf.m4: Update comments about mingw.
5692
5693 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5694
5695         sys_select: define sigset_t more portably
5696         * lib/sys_select.in.h: Always include <sys/types.h>, since
5697         we now need sigset_t and mingw defines it there.
5698         Include <signal.h> before split inclusion guard, to avoid
5699         mishaps on Solaris, whose <signal.h> eventually includes us.
5700         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5701         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5702         which come from ...
5703         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5704         gl_CHECK_TYPE_SIGSET_T.
5705         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5706         does the real work.
5707         * modules/sys_select (Depends-on): Add 'signal'.
5708
5709         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5710         Suggested by Bruno Haible.
5711
5712         pselect: Use pthread_sigmask, not sigprocmask.
5713         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5714         multithreaded apps better than sigprocmask does.
5715         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5716         sigprocmask directly.
5717
5718 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5719
5720         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5721         Don't #undef,  since we don't need any underlying pselect.
5722         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5723         (Depends-on): Add select.
5724         (Link): Add $(LIBSOCKET).
5725         These changes suggested by Bruno Haible.
5726
5727         pselect: document better
5728         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5729         * doc/posix-functions/pselect.texi (pselect): Document new module.
5730
5731         pthread_sigmask: new module
5732         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5733         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5734         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5735         This is done only as a macro; I don't know how well that'll
5736         work for C++.  Move <sys/types.h> include before the include_next,
5737         to avoid mishap on Solaris.
5738         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5739         * modules/signal (Makefile.am): Substitute the check's results.
5740         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5741
5742         test-pselect: new module
5743         * modules/pselect-tests, tests/test-pselect.c: New files.
5744         * tests/test-select.c, tests/test-sys_select-c++.cc:
5745         If TEST_PSELECT is defined, test pselect instead of testing select.
5746
5747         * tests/test-sys_select.c (sigset_t): Test for it, too.
5748         Suggested by Bruno Haible.
5749
5750 2011-07-05  Eric Blake  <eblake@redhat.com>
5751
5752         snprintf: guarantee %1$d, for libintl
5753         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5754         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5755         * doc/posix-functions/snprintf.texi (snprintf): Update.
5756         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5757         * tests/test-snprintf.c (main): Enhance test.
5758         * tests/test-vsnprintf.c (main): Likewise.
5759
5760 2011-07-05  Jim Meyering  <meyering@redhat.com>
5761
5762         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5763         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5764         per Bruno's request, to accommodate this idiom (no space after "#")
5765         even when the function is inside an #if block:
5766         char *
5767         gets (char *s)
5768         #undef gets
5769         {
5770           ...
5771         }
5772
5773 2011-07-04  Jim Meyering  <meyering@redhat.com>
5774
5775         maint: indent with spaces, not TABs, and add a rule to check this
5776         * tests/test-userspec.c: Indent with spaces, not TABs.
5777         * tests/test-argp.c: Likewise.
5778         * tests/test-c-stack2.sh: Likewise.
5779         * tests/test-parse-duration.sh: Likewise
5780         * m4/strtod.m4: Likewise.
5781         * m4/alloca.m4: Likewise.
5782         * m4/pselect.m4: Likewise.
5783         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5784
5785 2011-07-03  Jim Meyering  <meyering@redhat.com>
5786
5787         maint.mk: correct omissions in prohibit_argmatch_without_use check
5788         This rule would mistakenly report that argmatch.h is included without
5789         use even when both the argmatch and invalid_arg macro were used.
5790         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5791         of argmatch and invalid_arg.
5792
5793 2011-07-03  Bruno Haible  <bruno@clisp.org>
5794
5795         Comments about EINTR.
5796         * lib/safe-read.h: Explain the purpose of this module.
5797         * lib/safe-write.h: Likewise.
5798         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
5799         module.
5800         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
5801         module.
5802         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5803
5804 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5805
5806         xnanosleep: Rewrite to use new dtotimespec module.
5807         It has the conversion code that used to be in xnanosleep.
5808         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
5809         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
5810         (TIME_T_MAX): Remove.
5811         (xnanosleep): Rewrite in terms of dtotimespec.
5812         * modules/xnanosleep (Depends-on): Add dtotimespec.
5813         Remove intprops, stdbool.
5814
5815         timespec-add, timespec-sub: new modules
5816         * lib/timespec.h (timespec_add, timespec_sub): New decls.
5817         * lib/timespec-add.c, lib/timespec-sub.c:
5818         * modules/timespec-add, modules/timespec-sub: New files.
5819
5820         dtotimespec: new module
5821         * lib/timespec.h (dtotimespec): New decl.
5822         * lib/dtotimespec.c, modules/dtotimespec: New files.
5823
5824         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
5825
5826         pselect: new module
5827         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
5828         (pselect): New decls.
5829         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
5830         since the standard pselect decl uses 'restrict'.
5831         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
5832         HAVE_PSELECT, REPLACE_PSELECT.
5833         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
5834         HAVE_PSELECT, REPLACE_PSELECT.
5835         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
5836
5837         sys_select: don't depend on sys_socket
5838         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
5839         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
5840         This fix works on GNU and GNU-like platforms, but has not been tested
5841         on native Windows.
5842         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
5843         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
5844         gl_HEADER_SYS_SOCKET.
5845         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
5846         gl_PREREQ_SYS_H_WINSOCK2.
5847
5848 2011-06-29  Eric Blake  <eblake@redhat.com>
5849
5850         pipe2: fix C89 compile problem
5851         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
5852         Reported by Bruno Haible.
5853
5854         pipe, pipe2: don't corrupt fd on error
5855         * lib/pipe.c (pipe): Leave fd unchanged on error.
5856         * lib/pipe2.c (pipe2): Likewise.
5857         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
5858         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
5859
5860 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
5861
5862         mmap-anon: do not use regular expressions inadvertently
5863         * m4/mmap-anon.m4: Remove trailing period from strings sought
5864         in the output.
5865
5866 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5867
5868         nanosleep: fix integer overflow problem
5869         * lib/nanosleep.c (my_usleep): Don't assume signed integer
5870         arithmetic wraps around on overflow.
5871
5872         nanosleep: simplify carrying
5873         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
5874         first call to the underyling nanosleep, not for the last one.
5875         This doesn't fix any bugs, but it simplifies the computation of
5876         the remaining delay.  Found while auditing integer overflow issues.
5877
5878         dup2: remove test for existence of fcntl
5879         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
5880         "#if HAVE_FCNTL", in the configure-time test program.
5881         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
5882         and therefore speeds up "configure" a bit.  Found while
5883         adding the dup2 module to Emacs.
5884
5885 2011-06-24  Eric Blake  <eblake@redhat.com>
5886
5887         maint.mk: enhance useless header checks
5888         * top/maint.mk (_sc_header_without_use): Check both include
5889         styles.
5890         (sc_prohibit_assert_without_use)
5891         (sc_prohibit_close_stream_without_use)
5892         (sc_prohibit_getopt_without_use)
5893         (sc_prohibit_quotearg_without_use)
5894         (sc_prohibit_quote_without_use)
5895         (sc_prohibit_long_options_without_use)
5896         (sc_prohibit_inttostr_without_use)
5897         (sc_prohibit_ignore_value_without_use)
5898         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
5899         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
5900         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
5901         (sc_prohibit_hash_pjw_without_use)
5902         (sc_prohibit_safe_read_without_use)
5903         (sc_prohibit_argmatch_without_use)
5904         (sc_prohibit_canonicalize_without_use)
5905         (sc_prohibit_root_dev_ino_without_use)
5906         (sc_prohibit_openat_without_use)
5907         (sc_prohibit_c_ctype_without_use)
5908         (sc_prohibit_signal_without_use)
5909         (sc_prohibit_stdio--_without_use)
5910         (sc_prohibit_stdio-safer_without_use)
5911         (sc_prohibit_strings_without_use)
5912         (sc_prohibit_intprops_without_use)
5913         (sc_prohibit_stddef_without_use)
5914         (sc_prohibit_xfreopen_without_use): Update clients.
5915
5916 2011-06-24  Jim Meyering  <meyering@redhat.com>
5917
5918         syntax-check: keep one maint.mk rule in sync with its header
5919         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
5920         of the bug Eric has just fixed, with today's commit 25e4c2ec.
5921         I prefer to avoid temporary files here, so use <(...), but that
5922         is not supported by /bin/sh, so...
5923         (SHELL): Define to /bin/bash.
5924
5925 2011-06-24  Eric Blake  <eblake@redhat.com>
5926
5927         maint.mk: update sc_prohibit_intprops_without_use
5928         * top/maint.mk (_intprops_names): Match recent changes.
5929
5930 2011-06-24  Bruno Haible  <bruno@clisp.org>
5931
5932         strerror-override: No-op tweak.
5933         * lib/strerror-override.h (strerror_override): Reorder conditions,
5934         for consistency with lib/strerror-override.c.
5935
5936 2011-06-23  Eric Blake  <eblake@redhat.com>
5937
5938         maint.mk: test further PATH_MAX issues
5939         * top/maint.mk (sc_prohibit_path_max_array): Rename...
5940         (sc_prohibit_path_max_allocation): ...and also test alloca.
5941         Suggested by Jim Meyering.
5942
5943 2011-06-22  Eric Blake  <eblake@redhat.com>
5944
5945         maint.mk: add syntax-check to avoid char[PATH_MAX]
5946         * top/maint.mk (sc_prohibit_path_max_array): New rule.
5947
5948         stat: be robust to PATH_MAX definition
5949         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
5950         * modules/stat (Depends-on): Add verify.
5951
5952         link: work around IRIX bug
5953         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
5954         * lib/link.c (rpl_link): Work around it.
5955         * tests/test-link.h (test_link): Enhance test.
5956         * doc/posix-functions/link.texi (link): Document the bug.
5957
5958         getopt: silence clang warning
5959         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
5960         dereference.
5961         Reported by Gustavo Martin Domato.
5962
5963 2011-06-22  Jim Meyering  <meyering@redhat.com>
5964
5965         bootstrap: do not insert a blank line into each .gitignore file
5966         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
5967
5968 2011-06-21  Eric Blake  <eblake@redhat.com>
5969
5970         perror: test for output mismatch
5971         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
5972         perror on IRIX.
5973
5974         strerror_r: fix OpenBSD behavior on out-of-range
5975         * lib/strerror_r.c (strerror_r): Always use maximal string.
5976         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5977
5978         strerror_r: fix OpenBSD behavior on 0
5979         * lib/strerror-override.c (strerror_override): Also override 0
5980         when needed.
5981         * lib/strerror-override.h (strerror_override): Likewise.
5982         * lib/strerror.c (strerror): Simplify, now that 0 override is done
5983         earlier.
5984         * lib/strerror_r.c (strerror_r): Likewise.
5985         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
5986         behavior...
5987         (gl_FUNC_STRERROR_0): ...into new macro.
5988         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
5989         is overridden.
5990         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
5991         * modules/strerror-override (Files): Add strerror.m4.
5992         (configure.ac): Also provide override for 0 when needed.
5993         * doc/posix-functions/strerror.texi (strerror): Document this.
5994         * doc/posix-functions/perror.texi (perror): Likewise.
5995
5996         perror: adjust array size
5997         * modules/perror (Depends-on): Add strerror-override.
5998         * lib/perror.c (perror): Use it to avoid magic number.
5999
6000         strerror-override: reduce size
6001         * lib/strerror-override.c (strerror_override): Use fewer lines.
6002
6003 2011-06-20  Bruno Haible  <bruno@clisp.org>
6004
6005         pathmax: Ensure correct value for PATH_MAX on HP-UX.
6006         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
6007
6008 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6009
6010         alloca: port to compilers that can optimize like GCC 4.6.0
6011         * lib/alloca.c (find_stack_direction): New signature, taken from
6012         Autoconf git.  This works with GCC 4.6.0.  This code should never
6013         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
6014         be used with other compilers that optimize as well as GCC 4.6.0 does.
6015         (alloca): Adjust to new signature.
6016         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
6017         New macro, which patches Autoconf in a similar way.
6018
6019         c-stack: stop worrying about stack direction
6020         * lib/c-stack.c (find_stack_direction): Remove.
6021         (segv_handler): Don't worry about stack direction growth, as it's
6022         too much of a pain to configure this correctly, given how compilers
6023         are optimizing-away our stack-growth detection code.  Instead, assume
6024         that any access to just before or just after the stack is OK.
6025         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6026         Don't require AC_FUNC_ALLOCA; no longer needed.
6027
6028 2011-06-20  Eric Blake  <eblake@redhat.com>
6029
6030         test-stat: don't allocate PATH_MAX bytes
6031         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
6032         PATH_MAX-sized buffer.
6033         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
6034         * modules/stat-tests (Depends-on): Likewise.
6035         * tests/test-fstatat.c (includes): Drop pathmax.h.
6036         * tests/test-stat.c (includes): Likewise.
6037         Reported by Bruno Haible.
6038
6039 2011-06-20  Bruno Haible  <bruno@clisp.org>
6040
6041         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
6042         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
6043         * lib/float.c: New file.
6044         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
6045         REPLACE_FLOAT_LDBL.
6046         * modules/float (Files): Add lib/float.c.
6047         (configure.ac): Invoke AC_LIBOBJ.
6048         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
6049
6050 2011-06-20  Bruno Haible  <bruno@clisp.org>
6051
6052         Tests for module 'float'.
6053         * modules/float-tests: New file.
6054         * tests/test-float.c: New file.
6055
6056 2011-06-19  Bruno Haible  <bruno@clisp.org>
6057
6058         isinf: Coding style.
6059         * lib/isinf.c: Use GNU coding style.
6060
6061 2011-06-19  Bruno Haible  <bruno@clisp.org>
6062
6063         linkat test: Avoid test failure on AIX 7.1.
6064         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
6065         * tests/test-link.h (test_link): Likewise.
6066
6067 2011-06-19  Bruno Haible  <bruno@clisp.org>
6068
6069         pread test: Avoid test failure on OpenBSD 4.9.
6070         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
6071
6072 2011-06-19  Bruno Haible  <bruno@clisp.org>
6073
6074         sprintf-posix: Fix test failure on AIX 7.1.
6075         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
6076         * doc/posix-functions/dprintf.texi: Mention limited precision problem
6077         on AIX.
6078         * doc/posix-functions/fprintf.texi: Likewise.
6079         * doc/posix-functions/printf.texi: Likewise.
6080         * doc/posix-functions/snprintf.texi: Likewise.
6081         * doc/posix-functions/sprintf.texi: Likewise.
6082         * doc/posix-functions/vdprintf.texi: Likewise.
6083         * doc/posix-functions/vfprintf.texi: Likewise.
6084         * doc/posix-functions/vprintf.texi: Likewise.
6085         * doc/posix-functions/vsnprintf.texi: Likewise.
6086         * doc/posix-functions/vsprintf.texi: Likewise.
6087
6088 2011-06-19  Bruno Haible  <bruno@clisp.org>
6089
6090         roundl-ieee: Fix test failure on AIX 7.1.
6091         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
6092         * doc/posix-functions/roundl.texi: Mention problem with negative
6093         arguments.
6094
6095 2011-06-19  Bruno Haible  <bruno@clisp.org>
6096
6097         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6098         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
6099         * doc/posix-functions/round.texi: Mention problem with negative
6100         arguments.
6101         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
6102
6103 2011-06-19  Bruno Haible  <bruno@clisp.org>
6104
6105         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6106         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
6107         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
6108         * doc/posix-functions/roundf.texi: Mention problem with negative
6109         arguments.
6110         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
6111
6112 2011-06-19  Bruno Haible  <bruno@clisp.org>
6113
6114         ceilf-ieee: Work around bug on MacOS X 10.5.
6115         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
6116
6117         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
6118         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
6119         IEEE compliant, avoid compiler optimizations.
6120         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6121         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6122         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6123         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6124         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6125         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6126         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6127         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6128         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6129         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6130
6131 2011-06-19  Bruno Haible  <bruno@clisp.org>
6132
6133         ceilf-ieee: Work around bug on AIX 7.1.
6134         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
6135         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
6136
6137 2011-06-19  Bruno Haible  <bruno@clisp.org>
6138
6139         ceil-ieee: Work around bug on AIX 7.1.
6140         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
6141         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
6142
6143 2011-06-18  Bruno Haible  <bruno@clisp.org>
6144
6145         fsync test: Avoid test failure on MacOS X and AIX.
6146         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
6147         EINVAL.
6148
6149 2011-06-18  Bruno Haible  <bruno@clisp.org>
6150
6151         openat, fdopendir tests: Fix link errors.
6152         * modules/openat-tests (Depends-on): Add progname.
6153         * modules/fdopendir-tests (Depends-on): Likewise.
6154         * tests/test-fchownat.c: Include progname.h.
6155         (main): Call set_program_name.
6156         * tests/test-fstatat.c: Include progname.h.
6157         (main): Call set_program_name.
6158         * tests/test-mkdirat.c: Include progname.h.
6159         (main): Call set_program_name.
6160         * tests/test-openat.c: Include progname.h.
6161         (main): Call set_program_name.
6162         * tests/test-unlinkat.c: Include progname.h.
6163         (main): Call set_program_name.
6164         * tests/test-fdopendir.c: Include progname.h.
6165         (main): Call set_program_name.
6166
6167 2011-06-18  Bruno Haible  <bruno@clisp.org>
6168
6169         Doc update.
6170         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
6171         HP-UX.
6172         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
6173
6174 2011-06-18  Bruno Haible  <bruno@clisp.org>
6175
6176         getcwd tests: Avoid compilation error on HP-UX 11.31.
6177         * modules/getcwd-tests (Depends-on): Add pathmax.
6178         * tests/test-getcwd.c: Include pathmax.h.
6179
6180 2011-06-18  Bruno Haible  <bruno@clisp.org>
6181
6182         isfinite, isinf: Fix link error on AIX 6 and 7.
6183         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
6184         needed, also test the macro with a 'float' argument.
6185         * m4/isinf.m4 (gl_ISINF): Likewise.
6186
6187 2011-06-18  Bruno Haible  <bruno@clisp.org>
6188
6189         getloadavg: Don't clobber LIBS. Regression from previous commit.
6190         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
6191         AC_CHECK_LIB from here...
6192         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
6193         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
6194         gl_func_getloadavg_done.
6195         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6196
6197 2011-06-18  Bruno Haible  <bruno@clisp.org>
6198
6199         clean-temp: Improve documentation.
6200         * lib/clean-temp.h: Explain better how to use this module.
6201         Reported by John Darrington <john@darrington.wattle.id.au>.
6202
6203 2011-06-17  Bruno Haible  <bruno@clisp.org>
6204
6205         pread, pwrite: Avoid cc warning on AIX.
6206         * lib/unistd.in.h (pread): Undefine before defining as a macro.
6207         (pwrite): Likewise.
6208
6209 2011-06-17  Bruno Haible  <bruno@clisp.org>
6210
6211         spawn-pipe tests: Fix link error.
6212         * tests/test-spawn-pipe-child.c: Undefine fprintf.
6213         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6214
6215 2011-06-17  Bruno Haible  <bruno@clisp.org>
6216
6217         Tests: Remove unnecessary dependency.
6218         * modules/canonicalize-tests (Depends-on): Remove progname.
6219         * modules/chown-tests (Depends-on): Likewise.
6220         * modules/dirname-tests (Depends-on): Likewise.
6221         * modules/fdopendir-tests (Depends-on): Likewise.
6222         * modules/fdutimensat-tests (Depends-on): Likewise.
6223         * modules/hash-tests (Depends-on): Likewise.
6224         * modules/lchown-tests (Depends-on): Likewise.
6225         * modules/linkat-tests (Depends-on): Likewise.
6226         * modules/renameat-tests (Depends-on): Likewise.
6227         * modules/spawn-pipe-tests (Depends-on): Likewise.
6228         * modules/utimensat-tests (Depends-on): Likewise.
6229
6230 2011-06-17  Bruno Haible  <bruno@clisp.org>
6231
6232         spawn-pipe tests: Fix link error.
6233         * tests/test-spawn-pipe-child.c: Undefine fflush.
6234
6235 2011-06-17  Bruno Haible  <bruno@clisp.org>
6236
6237         Fix tests link errors.
6238         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
6239         * modules/chown-tests (Makefile.am): Don't link test-chown with
6240         LIBINTL.
6241         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
6242         LIBINTL.
6243         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
6244         LIBINTL.
6245         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
6246         LIBINTL.
6247
6248 2011-06-16  Bruno Haible  <bruno@clisp.org>
6249
6250         crypto/gc-sha1: Fix recent regression.
6251         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
6252         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
6253
6254         crypto/gc-md5: Fix recent regression.
6255         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
6256
6257         crypto/gc-md4: Fix recent regression.
6258         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
6259         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
6260
6261         crypto/gc-arctwo: Fix recent regression.
6262         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
6263         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
6264
6265         crypto/gc-rijndael: Fix recent regression.
6266         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
6267         (configure.ac): Invoke AC_LIBOBJ here.
6268         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
6269         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6270
6271         crypto/gc-hmac-sha1: Fix recent regression.
6272         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
6273         (configure.ac): Invoke AC_LIBOBJ here.
6274         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
6275         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6276
6277         crypto/gc-hmac-md5: Fix recent regression.
6278         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
6279         (configure.ac): Invoke AC_LIBOBJ here.
6280         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
6281         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6282
6283         crypto/gc-des: Fix recent regression.
6284         * modules/crypto/gc-des (Files): Remove m4/des.m4.
6285         (configure.ac): Invoke AC_LIBOBJ here.
6286         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
6287         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6288
6289         crypto/gc-arcfour: Fix recent regression.
6290         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
6291         (configure.ac): Invoke AC_LIBOBJ here.
6292         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
6293         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6294
6295 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
6296
6297         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
6298         After the 2011-05-21 change, this macro requires
6299         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
6300         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6301
6302 2011-06-16  Bruno Haible  <bruno@clisp.org>
6303
6304         fprintftime: Move AC_LIBOBJ invocations to module description.
6305         * m4/fprintftime.m4: Remove file.
6306         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
6307         (configure.ac): Remove gl_FPRINTFTIME call.
6308         (Makefile.am): Augment lib_SOURCES.
6309         Reported by Jim Meyering.
6310
6311 2011-06-16  Bruno Haible  <bruno@clisp.org>
6312
6313         tmpfile-safer: Finish 2011-05-23 commit.
6314         * m4/stdio-safer.m4: Really remove file.
6315         Reported by Jim Meyering.
6316
6317 2011-06-16  Bruno Haible  <bruno@clisp.org>
6318
6319         syntax-check: Fix typo.
6320         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
6321         printf-posix.m4.
6322         Reported by Jim Meyering.
6323
6324 2011-06-13  Jim Meyering  <meyering@redhat.com>
6325
6326         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
6327         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
6328
6329 2011-05-23  Bruno Haible  <bruno@clisp.org>
6330
6331         yesno: Move AC_LIBOBJ invocations to module description.
6332         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
6333         * modules/yesno (Makefile.am): Augment lib_SOURCES.
6334
6335 2011-05-23  Bruno Haible  <bruno@clisp.org>
6336
6337         xstrtol: Move AC_LIBOBJ invocations to module description.
6338         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
6339         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
6340
6341 2011-05-23  Bruno Haible  <bruno@clisp.org>
6342
6343         xstrtold: Move AC_LIBOBJ invocations to module description.
6344         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
6345         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
6346
6347 2011-05-23  Bruno Haible  <bruno@clisp.org>
6348
6349         xstrtod: Move AC_LIBOBJ invocations to module description.
6350         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
6351         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
6352
6353 2011-05-23  Bruno Haible  <bruno@clisp.org>
6354
6355         xnanosleep: Move AC_LIBOBJ invocations to module description.
6356         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
6357         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
6358
6359 2011-05-23  Bruno Haible  <bruno@clisp.org>
6360
6361         xgetcwd: Move AC_LIBOBJ invocations to module description.
6362         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
6363         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
6364
6365 2011-05-23  Bruno Haible  <bruno@clisp.org>
6366
6367         xalloc: Move AC_LIBOBJ invocations to module description.
6368         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
6369         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
6370
6371 2011-05-23  Bruno Haible  <bruno@clisp.org>
6372
6373         write-any-file: Move AC_LIBOBJ invocations to module description.
6374         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
6375         invocation.
6376         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
6377
6378 2011-05-23  Bruno Haible  <bruno@clisp.org>
6379
6380         utimens: Move AC_LIBOBJ invocations to module description.
6381         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6382         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6383
6384 2011-05-23  Bruno Haible  <bruno@clisp.org>
6385
6386         utimecmp: Move AC_LIBOBJ invocations to module description.
6387         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6388         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6389
6390 2011-05-23  Bruno Haible  <bruno@clisp.org>
6391
6392         userspec: Move AC_LIBOBJ invocations to module description.
6393         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6394         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6395
6396 2011-05-23  Bruno Haible  <bruno@clisp.org>
6397
6398         unlinkdir: Move AC_LIBOBJ invocations to module description.
6399         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6400         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6401
6402 2011-05-23  Bruno Haible  <bruno@clisp.org>
6403
6404         unistd-safer: Move AC_LIBOBJ invocations to module description.
6405         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6406         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6407
6408 2011-05-23  Bruno Haible  <bruno@clisp.org>
6409
6410         tempname: Move AC_LIBOBJ invocations to module description.
6411         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6412         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6413
6414 2011-05-23  Bruno Haible  <bruno@clisp.org>
6415
6416         strftime: Move AC_LIBOBJ invocations to module description.
6417         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6418         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6419
6420 2011-05-23  Bruno Haible  <bruno@clisp.org>
6421
6422         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6423         * m4/stdlib-safer.m4: Remove file.
6424         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6425         (configure.ac): Remove gl_STDLIB_SAFER call.
6426         (Makefile.am): Augment lib_SOURCES.
6427
6428 2011-05-23  Bruno Haible  <bruno@clisp.org>
6429
6430         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6431         * m4/stdio-safer.m4: Remove file.
6432         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6433         (configure.ac): Remove gl_TMPFILE_SAFER call.
6434         (Makefile.am): Augment lib_SOURCES.
6435
6436 2011-05-23  Bruno Haible  <bruno@clisp.org>
6437
6438         popen-safer: Move AC_LIBOBJ invocations to module description.
6439         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6440         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6441         (configure.ac): Remove gl_POPEN_SAFER call.
6442         (Makefile.am): Augment lib_SOURCES.
6443
6444 2011-05-23  Bruno Haible  <bruno@clisp.org>
6445
6446         freopen-safer: Move AC_LIBOBJ invocations to module description.
6447         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6448         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6449         (configure.ac): Remove gl_FREOPEN_SAFER call.
6450         (Makefile.am): Augment lib_SOURCES.
6451
6452 2011-05-23  Bruno Haible  <bruno@clisp.org>
6453
6454         fopen-safer: Move AC_LIBOBJ invocations to module description.
6455         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6456         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6457         (configure.ac): Remove gl_FOPEN_SAFER call.
6458         (Makefile.am): Augment lib_SOURCES.
6459
6460 2011-05-23  Bruno Haible  <bruno@clisp.org>
6461
6462         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6463         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6464         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6465
6466 2011-05-23  Bruno Haible  <bruno@clisp.org>
6467
6468         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6469         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6470         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6471
6472 2011-05-23  Bruno Haible  <bruno@clisp.org>
6473
6474         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6475         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6476         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6477
6478 2011-05-23  Bruno Haible  <bruno@clisp.org>
6479
6480         settime: Move AC_LIBOBJ invocations to module description.
6481         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6482         * modules/settime (Makefile.am): Augment lib_SOURCES.
6483
6484 2011-05-23  Bruno Haible  <bruno@clisp.org>
6485
6486         savedir: Move AC_LIBOBJ invocations to module description.
6487         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6488         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6489
6490 2011-05-23  Bruno Haible  <bruno@clisp.org>
6491
6492         save-cwd: Move AC_LIBOBJ invocations to module description.
6493         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6494         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6495
6496 2011-05-23  Bruno Haible  <bruno@clisp.org>
6497
6498         same: Move AC_LIBOBJ invocations to module description.
6499         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6500         * modules/same (Makefile.am): Augment lib_SOURCES.
6501
6502 2011-05-23  Bruno Haible  <bruno@clisp.org>
6503
6504         safe-write: Move AC_LIBOBJ invocations to module description.
6505         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6506         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6507         instead of gl_SAFE_WRITE.
6508         (Makefile.am): Augment lib_SOURCES.
6509
6510 2011-05-23  Bruno Haible  <bruno@clisp.org>
6511
6512         safe-read: Move AC_LIBOBJ invocations to module description.
6513         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6514         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6515         of gl_SAFE_READ.
6516         (Makefile.am): Augment lib_SOURCES.
6517
6518 2011-05-23  Bruno Haible  <bruno@clisp.org>
6519
6520         safe-alloc: Move AC_LIBOBJ invocations to module description.
6521         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6522         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6523
6524 2011-05-23  Bruno Haible  <bruno@clisp.org>
6525
6526         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6527         * m4/rijndael.m4: Remove file.
6528         * modules/crypto/rijndael (Files): Remove it.
6529         (configure.ac): Remove gl_RIJNDAEL call.
6530         (Makefile.am): Augment lib_SOURCES.
6531
6532 2011-05-23  Bruno Haible  <bruno@clisp.org>
6533
6534         readtokens: Move AC_LIBOBJ invocations to module description.
6535         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6536         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6537
6538 2011-05-23  Bruno Haible  <bruno@clisp.org>
6539
6540         read-file: Move AC_LIBOBJ invocations to module description.
6541         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6542         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6543         of gl_FUNC_READ_FILE.
6544         (Makefile.am): Augment lib_SOURCES.
6545
6546 2011-05-23  Bruno Haible  <bruno@clisp.org>
6547
6548         quotearg: Move AC_LIBOBJ invocations to module description.
6549         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6550         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6551
6552 2011-05-23  Bruno Haible  <bruno@clisp.org>
6553
6554         quote: Move AC_LIBOBJ invocations to module description.
6555         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6556         * modules/quote (Makefile.am): Augment lib_SOURCES.
6557
6558 2011-05-23  Bruno Haible  <bruno@clisp.org>
6559
6560         posixver: Move AC_LIBOBJ invocations to module description.
6561         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6562         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6563
6564 2011-05-23  Bruno Haible  <bruno@clisp.org>
6565
6566         posixtm: Move AC_LIBOBJ invocations to module description.
6567         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6568         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6569
6570 2011-05-23  Bruno Haible  <bruno@clisp.org>
6571
6572         physmem: Move AC_LIBOBJ invocations to module description.
6573         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6574         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6575
6576 2011-05-23  Bruno Haible  <bruno@clisp.org>
6577
6578         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6579         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6580         invocation.
6581         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6582
6583 2011-05-23  Bruno Haible  <bruno@clisp.org>
6584
6585         mpsort: Move AC_LIBOBJ invocations to module description.
6586         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6587         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6588
6589 2011-05-23  Bruno Haible  <bruno@clisp.org>
6590
6591         modechange: Move AC_LIBOBJ invocations to module description.
6592         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6593         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6594
6595 2011-05-23  Bruno Haible  <bruno@clisp.org>
6596
6597         mkdir-p: Move AC_LIBOBJ invocations to module description.
6598         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6599         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6600
6601 2011-05-23  Bruno Haible  <bruno@clisp.org>
6602
6603         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6604         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6605         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6606
6607 2011-05-23  Bruno Haible  <bruno@clisp.org>
6608
6609         mgetgroups: Move AC_LIBOBJ invocations to module description.
6610         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6611         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6612
6613 2011-05-23  Bruno Haible  <bruno@clisp.org>
6614
6615         memxor: Move AC_LIBOBJ invocations to module description.
6616         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6617         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6618
6619 2011-05-23  Bruno Haible  <bruno@clisp.org>
6620
6621         memcoll: Move AC_LIBOBJ invocations to module description.
6622         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6623         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6624
6625 2011-05-23  Bruno Haible  <bruno@clisp.org>
6626
6627         memcasecmp: Move AC_LIBOBJ invocations to module description.
6628         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6629         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6630
6631 2011-05-23  Bruno Haible  <bruno@clisp.org>
6632
6633         crypto/md5: Move AC_LIBOBJ invocations to module description.
6634         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6635         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6636
6637 2011-05-23  Bruno Haible  <bruno@clisp.org>
6638
6639         crypto/md4: Move AC_LIBOBJ invocations to module description.
6640         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6641         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6642
6643 2011-05-23  Bruno Haible  <bruno@clisp.org>
6644
6645         crypto/md2: Move AC_LIBOBJ invocations to module description.
6646         * m4/md2.m4: Remove file.
6647         * modules/crypto/md2 (Files): Remove it.
6648         (configure.ac): Remove gl_MD2 call.
6649         (Makefile.am): Augment lib_SOURCES.
6650
6651 2011-05-23  Bruno Haible  <bruno@clisp.org>
6652
6653         long-options: Move AC_LIBOBJ invocations to module description.
6654         * m4/long-options.m4: Remove file.
6655         * modules/long-options (Files): Remove it.
6656         (configure.ac): Remove gl_LONG_OPTIONS call.
6657         (Makefile.am): Augment lib_SOURCES.
6658
6659 2011-05-23  Bruno Haible  <bruno@clisp.org>
6660
6661         i-ring: Move AC_LIBOBJ invocations to module description.
6662         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6663         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6664
6665 2011-05-23  Bruno Haible  <bruno@clisp.org>
6666
6667         idcache: Move AC_LIBOBJ invocations to module description.
6668         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6669         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6670
6671 2011-05-23  Bruno Haible  <bruno@clisp.org>
6672
6673         human: Move AC_LIBOBJ invocations to module description.
6674         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6675         * modules/human (Makefile.am): Augment lib_SOURCES.
6676
6677 2011-05-23  Bruno Haible  <bruno@clisp.org>
6678
6679         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6680         * m4/hmac-sha1.m4: Remove file.
6681         * modules/crypto/hmac-sha1 (Files): Remove it.
6682         (configure.ac): Remove gl_HMAC_SHA1 call.
6683         (Makefile.am): Augment lib_SOURCES.
6684
6685 2011-05-23  Bruno Haible  <bruno@clisp.org>
6686
6687         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6688         * m4/hmac-md5.m4: Remove file.
6689         * modules/crypto/hmac-md5 (Files): Remove it.
6690         (configure.ac): Remove gl_HMAC_MD5 call.
6691         (Makefile.am): Augment lib_SOURCES.
6692
6693 2011-05-23  Bruno Haible  <bruno@clisp.org>
6694
6695         hash: Move AC_LIBOBJ invocations to module description.
6696         * m4/hash.m4: Remove file.
6697         * modules/hash (Files): Remove it.
6698         (configure.ac): Remove gl_HASH call.
6699         (Makefile.am): Augment lib_SOURCES.
6700
6701 2011-05-23  Bruno Haible  <bruno@clisp.org>
6702
6703         hard-locale: Move AC_LIBOBJ invocations to module description.
6704         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6705         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6706
6707 2011-05-23  Bruno Haible  <bruno@clisp.org>
6708
6709         getugroups: Move AC_LIBOBJ invocations to module description.
6710         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6711         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6712
6713 2011-05-23  Bruno Haible  <bruno@clisp.org>
6714
6715         gettime: Move AC_LIBOBJ invocations to module description.
6716         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6717         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6718
6719 2011-05-23  Bruno Haible  <bruno@clisp.org>
6720
6721         getndelim2: Move AC_LIBOBJ invocations to module description.
6722         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6723         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6724
6725 2011-05-23  Bruno Haible  <bruno@clisp.org>
6726
6727         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6728         * m4/gc-pbkdf2-sha1.m4: Remove file.
6729         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6730         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6731         (Makefile.am): Augment lib_SOURCES.
6732
6733 2011-05-23  Bruno Haible  <bruno@clisp.org>
6734
6735         fts: Move AC_LIBOBJ invocations to module description.
6736         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6737         * modules/fts (configure.ac): ... to here.
6738
6739 2011-05-23  Bruno Haible  <bruno@clisp.org>
6740
6741         file-type: Move AC_LIBOBJ invocations to module description.
6742         * m4/file-type.m4: Remove file.
6743         * modules/file-type (Files): Remove it.
6744         (configure.ac): Remove gl_FILE_TYPE call.
6745         (Makefile.am): Augment lib_SOURCES.
6746
6747 2011-05-23  Bruno Haible  <bruno@clisp.org>
6748
6749         filenamecat*: Respect rules for use of AC_LIBOBJ.
6750         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6751         Remove AC_LIBOBJ invocation.
6752         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6753         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6754
6755 2011-05-23  Bruno Haible  <bruno@clisp.org>
6756
6757         filemode: Move AC_LIBOBJ invocations to module description.
6758         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6759         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6760
6761 2011-05-23  Bruno Haible  <bruno@clisp.org>
6762
6763         openat-safer: Move AC_LIBOBJ invocations to module description.
6764         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6765         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6766
6767 2011-05-23  Bruno Haible  <bruno@clisp.org>
6768
6769         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6770         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6771         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6772
6773 2011-05-23  Bruno Haible  <bruno@clisp.org>
6774
6775         exclude: Move AC_LIBOBJ invocations to module description.
6776         * m4/exclude.m4: Remove file.
6777         * modules/exclude (Files): Remove it.
6778         (configure.ac): Remove gl_EXCLUDE call.
6779         (Makefile.am): Augment lib_SOURCES.
6780
6781 2011-05-23  Bruno Haible  <bruno@clisp.org>
6782
6783         dirname*: Respect rules for use of AC_LIBOBJ.
6784         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6785         invocations.
6786         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6787         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6788
6789 2011-05-23  Bruno Haible  <bruno@clisp.org>
6790
6791         dirent-safer: Move AC_LIBOBJ invocations to module description.
6792         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
6793         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
6794
6795 2011-05-23  Bruno Haible  <bruno@clisp.org>
6796
6797         crypto/des: Move AC_LIBOBJ invocations to module description.
6798         * m4/des.m4: Remove file.
6799         * modules/crypto/des (Files): Remove it.
6800         (configure.ac): Remove gl_DES call.
6801         (Makefile.am): Augment lib_SOURCES.
6802
6803 2011-05-23  Bruno Haible  <bruno@clisp.org>
6804
6805         cycle-check: Move AC_LIBOBJ invocations to module description.
6806         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
6807         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
6808
6809 2011-05-23  Bruno Haible  <bruno@clisp.org>
6810
6811         c-strtold: Move AC_LIBOBJ invocations to module description.
6812         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
6813         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
6814
6815 2011-05-23  Bruno Haible  <bruno@clisp.org>
6816
6817         c-strtod: Move AC_LIBOBJ invocations to module description.
6818         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
6819         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
6820
6821 2011-05-23  Bruno Haible  <bruno@clisp.org>
6822
6823         crc: Move AC_LIBOBJ invocations to module description.
6824         * m4/crc.m4: Remove file.
6825         * modules/crc (Files): Remove it.
6826         (configure.ac): Remove gl_CRC call.
6827         (Makefile.am): Augment lib_SOURCES.
6828
6829 2011-05-23  Bruno Haible  <bruno@clisp.org>
6830
6831         close-stream: Move AC_LIBOBJ invocations to module description.
6832         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
6833         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
6834
6835 2011-05-23  Bruno Haible  <bruno@clisp.org>
6836
6837         closeout: Move AC_LIBOBJ invocations to module description.
6838         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
6839         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6840
6841 2011-05-23  Bruno Haible  <bruno@clisp.org>
6842
6843         closein: Move AC_LIBOBJ invocations to module description.
6844         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
6845         * modules/closein (Makefile.am): Augment lib_SOURCES.
6846
6847 2011-05-23  Bruno Haible  <bruno@clisp.org>
6848
6849         cloexec: Move AC_LIBOBJ invocations to module description.
6850         * m4/cloexec.m4: Remove file.
6851         * modules/cloexec (Files): Remove it.
6852         (configure.ac): Remove gl_CLOEXEC call.
6853         (Makefile.am): Augment lib_SOURCES.
6854
6855 2011-05-23  Bruno Haible  <bruno@clisp.org>
6856
6857         check-version: Move AC_LIBOBJ invocations to module description.
6858         * m4/check-version.m4: Remove file.
6859         * modules/check-version (Files): Remove it.
6860         (configure.ac): Remove gl_CHECK_VERSION call.
6861         (Makefile.am): Augment lib_SOURCES.
6862
6863 2011-05-23  Bruno Haible  <bruno@clisp.org>
6864
6865         chdir-safer: Move AC_LIBOBJ invocations to module description.
6866         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
6867         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
6868
6869 2011-05-23  Bruno Haible  <bruno@clisp.org>
6870
6871         canonicalize: Move AC_LIBOBJ invocations to module description.
6872         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
6873         AC_LIBOBJ invocation.
6874         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
6875
6876 2011-05-23  Bruno Haible  <bruno@clisp.org>
6877
6878         canon-host: Move AC_LIBOBJ invocations to module description.
6879         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
6880         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
6881         instead of gl_CANON_HOST.
6882         (Makefile.am): Augment lib_SOURCES.
6883
6884 2011-05-23  Bruno Haible  <bruno@clisp.org>
6885
6886         backupfile: Move AC_LIBOBJ invocations to module description.
6887         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
6888         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
6889
6890 2011-05-23  Bruno Haible  <bruno@clisp.org>
6891
6892         argmatch: Move AC_LIBOBJ invocations to module description.
6893         * m4/argmatch.m4: Remove file.
6894         * modules/argmatch (Files): Remove it.
6895         (configure.ac): Remove gl_ARGMATCH call.
6896         (Makefile.am): Augment lib_SOURCES.
6897
6898 2011-05-23  Bruno Haible  <bruno@clisp.org>
6899
6900         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
6901         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
6902         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
6903
6904 2011-05-23  Bruno Haible  <bruno@clisp.org>
6905
6906         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
6907         * m4/arcfour.m4: Remove file.
6908         * modules/crypto/arcfour (Files): Remove it.
6909         (configure.ac): Remove gl_ARCFOUR call.
6910         (Makefile.am): Augment lib_SOURCES.
6911
6912 2011-05-22  Bruno Haible  <bruno@clisp.org>
6913
6914         write: Move AC_LIBOBJ invocations to module description.
6915         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
6916         * modules/write (configure.ac): ... to here.
6917
6918 2011-05-22  Bruno Haible  <bruno@clisp.org>
6919
6920         wmemset: Move AC_LIBOBJ invocations to module description.
6921         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
6922         here...
6923         * modules/wmemset (configure.ac): ... to here.
6924
6925 2011-05-22  Bruno Haible  <bruno@clisp.org>
6926
6927         wmemmove: Move AC_LIBOBJ invocations to module description.
6928         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
6929         here...
6930         * modules/wmemmove (configure.ac): ... to here.
6931
6932 2011-05-22  Bruno Haible  <bruno@clisp.org>
6933
6934         wmemcpy: Move AC_LIBOBJ invocations to module description.
6935         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
6936         here...
6937         * modules/wmemcpy (configure.ac): ... to here.
6938
6939 2011-05-22  Bruno Haible  <bruno@clisp.org>
6940
6941         wmemcmp: Move AC_LIBOBJ invocations to module description.
6942         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
6943         here...
6944         * modules/wmemcmp (configure.ac): ... to here.
6945
6946 2011-05-22  Bruno Haible  <bruno@clisp.org>
6947
6948         wmemchr: Move AC_LIBOBJ invocations to module description.
6949         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
6950         here...
6951         * modules/wmemchr (configure.ac): ... to here.
6952
6953 2011-05-22  Bruno Haible  <bruno@clisp.org>
6954
6955         wcswidth: Move AC_LIBOBJ invocations to module description.
6956         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
6957         here...
6958         * modules/wcswidth (configure.ac): ... to here.
6959
6960 2011-05-22  Bruno Haible  <bruno@clisp.org>
6961
6962         wcwidth: Respect rules for use of AC_LIBOBJ.
6963         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
6964         invocation from here...
6965         * modules/wcwidth (configure.ac): ... to here.
6966         (Depends-on): Update conditions.
6967
6968 2011-05-22  Bruno Haible  <bruno@clisp.org>
6969
6970         wctype: Move AC_LIBOBJ invocations to module description.
6971         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
6972         invocation from here...
6973         * modules/wctype (configure.ac): ... to here.
6974         (Depends-on): Update conditions.
6975
6976 2011-05-22  Bruno Haible  <bruno@clisp.org>
6977
6978         wctrans: Move AC_LIBOBJ invocations to module description.
6979         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
6980         invocation from here...
6981         * modules/wctrans (configure.ac): ... to here.
6982
6983 2011-05-22  Bruno Haible  <bruno@clisp.org>
6984
6985         wctomb: Move AC_LIBOBJ invocations to module description.
6986         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
6987         invocations from here...
6988         * modules/wctomb (configure.ac): ... to here.
6989
6990 2011-05-22  Bruno Haible  <bruno@clisp.org>
6991
6992         wctob: Move AC_LIBOBJ invocations to module description.
6993         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
6994         gl_PREREQ_WCTOB invocations from here...
6995         * modules/wctob (configure.ac): ... to here.
6996         (Depends-on): Update conditions.
6997
6998 2011-05-22  Bruno Haible  <bruno@clisp.org>
6999
7000         wcsxfrm: Move AC_LIBOBJ invocations to module description.
7001         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
7002         here...
7003         * modules/wcsxfrm (configure.ac): ... to here.
7004
7005 2011-05-22  Bruno Haible  <bruno@clisp.org>
7006
7007         wcstok: Move AC_LIBOBJ invocations to module description.
7008         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
7009         * modules/wcstok (configure.ac): ... to here.
7010
7011 2011-05-22  Bruno Haible  <bruno@clisp.org>
7012
7013         wcsstr: Move AC_LIBOBJ invocations to module description.
7014         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
7015         * modules/wcsstr (configure.ac): ... to here.
7016
7017 2011-05-22  Bruno Haible  <bruno@clisp.org>
7018
7019         wcsspn: Move AC_LIBOBJ invocations to module description.
7020         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
7021         * modules/wcsspn (configure.ac): ... to here.
7022
7023 2011-05-22  Bruno Haible  <bruno@clisp.org>
7024
7025         wcsrtombs: Move AC_LIBOBJ invocations to module description.
7026         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
7027         gl_PREREQ_WCSRTOMBS invocations from here...
7028         * modules/wcsrtombs (configure.ac): ... to here.
7029
7030 2011-05-22  Bruno Haible  <bruno@clisp.org>
7031
7032         wcsrchr: Move AC_LIBOBJ invocations to module description.
7033         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
7034         here...
7035         * modules/wcsrchr (configure.ac): ... to here.
7036
7037 2011-05-22  Bruno Haible  <bruno@clisp.org>
7038
7039         wcspbrk: Move AC_LIBOBJ invocations to module description.
7040         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
7041         here...
7042         * modules/wcspbrk (configure.ac): ... to here.
7043
7044 2011-05-22  Bruno Haible  <bruno@clisp.org>
7045
7046         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
7047         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
7048         gl_PREREQ_WCSNRTOMBS invocations from here...
7049         * modules/wcsnrtombs (configure.ac): ... to here.
7050
7051 2011-05-22  Bruno Haible  <bruno@clisp.org>
7052
7053         wcsnlen: Move AC_LIBOBJ invocations to module description.
7054         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
7055         here...
7056         * modules/wcsnlen (configure.ac): ... to here.
7057
7058 2011-05-22  Bruno Haible  <bruno@clisp.org>
7059
7060         wcsncpy: Move AC_LIBOBJ invocations to module description.
7061         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
7062         here...
7063         * modules/wcsncpy (configure.ac): ... to here.
7064
7065 2011-05-22  Bruno Haible  <bruno@clisp.org>
7066
7067         wcsncmp: Move AC_LIBOBJ invocations to module description.
7068         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
7069         here...
7070         * modules/wcsncmp (configure.ac): ... to here.
7071
7072 2011-05-22  Bruno Haible  <bruno@clisp.org>
7073
7074         wcsncat: Move AC_LIBOBJ invocations to module description.
7075         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
7076         here...
7077         * modules/wcsncat (configure.ac): ... to here.
7078
7079 2011-05-22  Bruno Haible  <bruno@clisp.org>
7080
7081         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
7082         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
7083         from here...
7084         * modules/wcsncasecmp (configure.ac): ... to here.
7085
7086 2011-05-22  Bruno Haible  <bruno@clisp.org>
7087
7088         wcslen: Move AC_LIBOBJ invocations to module description.
7089         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
7090         * modules/wcslen (configure.ac): ... to here.
7091
7092 2011-05-22  Bruno Haible  <bruno@clisp.org>
7093
7094         wcsdup: Move AC_LIBOBJ invocations to module description.
7095         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
7096         * modules/wcsdup (configure.ac): ... to here.
7097
7098 2011-05-22  Bruno Haible  <bruno@clisp.org>
7099
7100         wcscspn: Move AC_LIBOBJ invocations to module description.
7101         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
7102         here...
7103         * modules/wcscspn (configure.ac): ... to here.
7104
7105 2011-05-22  Bruno Haible  <bruno@clisp.org>
7106
7107         wcscpy: Move AC_LIBOBJ invocations to module description.
7108         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
7109         * modules/wcscpy (configure.ac): ... to here.
7110
7111 2011-05-22  Bruno Haible  <bruno@clisp.org>
7112
7113         wcscoll: Move AC_LIBOBJ invocations to module description.
7114         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
7115         here...
7116         * modules/wcscoll (configure.ac): ... to here.
7117
7118 2011-05-22  Bruno Haible  <bruno@clisp.org>
7119
7120         wcscmp: Move AC_LIBOBJ invocations to module description.
7121         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
7122         * modules/wcscmp (configure.ac): ... to here.
7123
7124 2011-05-22  Bruno Haible  <bruno@clisp.org>
7125
7126         wcschr: Move AC_LIBOBJ invocations to module description.
7127         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
7128         * modules/wcschr (configure.ac): ... to here.
7129
7130 2011-05-22  Bruno Haible  <bruno@clisp.org>
7131
7132         wcscat: Move AC_LIBOBJ invocations to module description.
7133         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
7134         * modules/wcscat (configure.ac): ... to here.
7135
7136 2011-05-22  Bruno Haible  <bruno@clisp.org>
7137
7138         wcscasecmp: Move AC_LIBOBJ invocations to module description.
7139         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
7140         here...
7141         * modules/wcscasecmp (configure.ac): ... to here.
7142
7143 2011-05-22  Bruno Haible  <bruno@clisp.org>
7144
7145         wcrtomb: Move AC_LIBOBJ invocations to module description.
7146         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
7147         invocations from here...
7148         * modules/wcrtomb (configure.ac): ... to here.
7149
7150 2011-05-22  Bruno Haible  <bruno@clisp.org>
7151
7152         wcpncpy: Move AC_LIBOBJ invocations to module description.
7153         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
7154         here...
7155         * modules/wcpncpy (configure.ac): ... to here.
7156
7157 2011-05-22  Bruno Haible  <bruno@clisp.org>
7158
7159         wcpcpy: Move AC_LIBOBJ invocations to module description.
7160         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
7161         * modules/wcpcpy (configure.ac): ... to here.
7162
7163 2011-05-22  Bruno Haible  <bruno@clisp.org>
7164
7165         waitpid: Move AC_LIBOBJ invocations to module description.
7166         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
7167         invocation from here...
7168         * modules/waitpid (configure.ac): ... to here.
7169
7170 2011-05-22  Bruno Haible  <bruno@clisp.org>
7171
7172         utimensat: Move AC_LIBOBJ invocations to module description.
7173         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
7174         here...
7175         * modules/utimensat (configure.ac): ... to here.
7176
7177 2011-05-22  Bruno Haible  <bruno@clisp.org>
7178
7179         usleep: Move AC_LIBOBJ invocations to module description.
7180         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
7181         here...
7182         * modules/usleep (configure.ac): ... to here.
7183
7184 2011-05-22  Bruno Haible  <bruno@clisp.org>
7185
7186         unlockpt: Move AC_LIBOBJ invocations to module description.
7187         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
7188         gl_PREREQ_UNLOCKPT invocations from here...
7189         * modules/unlockpt (configure.ac): ... to here.
7190
7191 2011-05-22  Bruno Haible  <bruno@clisp.org>
7192
7193         unlink: Respect rules for use of AC_LIBOBJ.
7194         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
7195         * modules/unlink (configure.ac): ... to here.
7196
7197 2011-05-22  Bruno Haible  <bruno@clisp.org>
7198
7199         uname: Move AC_LIBOBJ invocations to module description.
7200         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
7201         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
7202         here...
7203         * modules/uname (configure.ac): ... to here.
7204
7205 2011-05-22  Bruno Haible  <bruno@clisp.org>
7206
7207         ttyname_r: Move AC_LIBOBJ invocations to module description.
7208         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
7209         gl_PREREQ_TTYNAME_R invocations from here...
7210         * modules/ttyname_r (configure.ac): ... to here.
7211
7212 2011-05-22  Bruno Haible  <bruno@clisp.org>
7213
7214         tsearch: Move AC_LIBOBJ invocations to module description.
7215         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
7216         invocations from here...
7217         * modules/tsearch (configure.ac): ... to here.
7218
7219 2011-05-22  Bruno Haible  <bruno@clisp.org>
7220
7221         towctrans: Move AC_LIBOBJ invocations to module description.
7222         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
7223         AC_LIBOBJ invocation from here...
7224         * modules/towctrans (configure.ac): ... to here.
7225
7226 2011-05-22  Bruno Haible  <bruno@clisp.org>
7227
7228         tmpfile: Move AC_LIBOBJ invocations to module description.
7229         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
7230         invocations from here...
7231         * modules/tmpfile (configure.ac): ... to here.
7232
7233 2011-05-22  Bruno Haible  <bruno@clisp.org>
7234
7235         times: Move AC_LIBOBJ invocations to module description.
7236         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
7237         * modules/times (configure.ac): ... to here.
7238
7239 2011-05-22  Bruno Haible  <bruno@clisp.org>
7240
7241         time_r: Move AC_LIBOBJ invocations to module description.
7242         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
7243         invocations from here...
7244         * modules/time_r (configure.ac): ... to here.
7245
7246 2011-05-22  Bruno Haible  <bruno@clisp.org>
7247
7248         timegm: Move AC_LIBOBJ invocations to module description.
7249         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
7250         invocations from here...
7251         * modules/timegm (configure.ac): ... to here.
7252
7253 2011-05-22  Bruno Haible  <bruno@clisp.org>
7254
7255         tcgetsid: Move AC_LIBOBJ invocations to module description.
7256         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
7257         and gl_PREREQ_TCGETSID invocations from here...
7258         * modules/tcgetsid (configure.ac): ... to here.
7259         (Depends-on): Update conditions.
7260
7261 2011-05-22  Bruno Haible  <bruno@clisp.org>
7262
7263         symlinkat: Move AC_LIBOBJ invocations to module description.
7264         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
7265         here...
7266         * modules/symlinkat (configure.ac): ... to here.
7267
7268 2011-05-22  Bruno Haible  <bruno@clisp.org>
7269
7270         symlink: Move AC_LIBOBJ invocations to module description.
7271         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
7272         here...
7273         * modules/symlink (configure.ac): ... to here.
7274
7275 2011-05-22  Bruno Haible  <bruno@clisp.org>
7276
7277         strverscmp: Move AC_LIBOBJ invocations to module description.
7278         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
7279         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
7280         from here...
7281         * modules/strverscmp (configure.ac): ... to here.
7282
7283 2011-05-22  Bruno Haible  <bruno@clisp.org>
7284
7285         strtok_r: Move AC_LIBOBJ invocations to module description.
7286         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
7287         and gl_PREREQ_STRTOK_R invocations from here...
7288         * modules/strtok_r (configure.ac): ... to here.
7289         (Depends-on): Update conditions.
7290
7291 2011-05-22  Bruno Haible  <bruno@clisp.org>
7292
7293         strtoumax: Move AC_LIBOBJ invocations to module description.
7294         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
7295         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
7296         from here...
7297         * modules/strtoumax (configure.ac): ... to here.
7298
7299 2011-05-22  Bruno Haible  <bruno@clisp.org>
7300
7301         strtoimax: Move AC_LIBOBJ invocations to module description.
7302         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
7303         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
7304         from here...
7305         * modules/strtoimax (configure.ac): ... to here.
7306
7307 2011-05-22  Bruno Haible  <bruno@clisp.org>
7308
7309         strtoull: Move AC_LIBOBJ invocations to module description.
7310         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
7311         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
7312         from here...
7313         * modules/strtoull (configure.ac): ... to here.
7314
7315 2011-05-22  Bruno Haible  <bruno@clisp.org>
7316
7317         strtoll: Move AC_LIBOBJ invocations to module description.
7318         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
7319         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
7320         here...
7321         * modules/strtoll (configure.ac): ... to here.
7322
7323 2011-05-22  Bruno Haible  <bruno@clisp.org>
7324
7325         strtoul: Move AC_LIBOBJ invocations to module description.
7326         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
7327         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7328         * modules/strtoul (configure.ac): ... to here.
7329
7330 2011-05-22  Bruno Haible  <bruno@clisp.org>
7331
7332         strtol: Move AC_LIBOBJ invocations to module description.
7333         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
7334         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7335         * modules/strtol (configure.ac): ... to here.
7336
7337 2011-05-22  Bruno Haible  <bruno@clisp.org>
7338
7339         strtod: Move AC_LIBOBJ invocations to module description.
7340         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
7341         invocations from here...
7342         * modules/strtod (configure.ac): ... to here.
7343
7344 2011-05-22  Bruno Haible  <bruno@clisp.org>
7345
7346         strstr*: Move AC_LIBOBJ invocations to module description.
7347         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
7348         invocations from here...
7349         * modules/strstr-simple (configure.ac): ... to here.
7350         * modules/strstr (configure.ac): ... and here.
7351
7352 2011-05-22  Bruno Haible  <bruno@clisp.org>
7353
7354         strsignal: Move AC_LIBOBJ invocations to module description.
7355         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
7356         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
7357         * modules/strsignal (configure.ac): ... to here.
7358         (Depends-on): Update conditions.
7359
7360 2011-05-22  Bruno Haible  <bruno@clisp.org>
7361
7362         strsep: Move AC_LIBOBJ invocations to module description.
7363         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
7364         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
7365         here...
7366         * modules/strsep (configure.ac): ... to here.
7367
7368 2011-05-22  Bruno Haible  <bruno@clisp.org>
7369
7370         strptime: Move AC_LIBOBJ invocations to module description.
7371         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
7372         gl_PREREQ_STRPTIME invocations from here...
7373         * modules/strptime (configure.ac): ... to here.
7374
7375 2011-05-22  Bruno Haible  <bruno@clisp.org>
7376
7377         strpbrk: Move AC_LIBOBJ invocations to module description.
7378         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
7379         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
7380         here...
7381         * modules/strpbrk (configure.ac): ... to here.
7382
7383 2011-05-22  Bruno Haible  <bruno@clisp.org>
7384
7385         strnlen: Move AC_LIBOBJ invocations to module description.
7386         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7387         invocations from here...
7388         * modules/strnlen (configure.ac): ... to here.
7389
7390 2011-05-22  Bruno Haible  <bruno@clisp.org>
7391
7392         strndup: Move AC_LIBOBJ invocations to module description.
7393         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7394         invocations from here...
7395         * modules/strndup (configure.ac): ... to here.
7396         (Depends-on): Update conditions.
7397
7398 2011-05-22  Bruno Haible  <bruno@clisp.org>
7399
7400         strncat: Move AC_LIBOBJ invocations to module description.
7401         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7402         invocations from here...
7403         * modules/strncat (configure.ac): ... to here.
7404
7405 2011-05-22  Bruno Haible  <bruno@clisp.org>
7406
7407         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7408         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7409         invocations from here...
7410         * modules/strdup (configure.ac): ... to here.
7411         * modules/strdup-posix (configure.ac): ... and here.
7412
7413 2011-05-22  Bruno Haible  <bruno@clisp.org>
7414
7415         strcspn: Move AC_LIBOBJ invocations to module description.
7416         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7417         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7418         here...
7419         * modules/strcspn (configure.ac): ... to here.
7420
7421 2011-05-22  Bruno Haible  <bruno@clisp.org>
7422
7423         strchrnul: Move AC_LIBOBJ invocations to module description.
7424         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7425         gl_PREREQ_STRCHRNUL invocations from here...
7426         * modules/strchrnul (configure.ac): ... to here.
7427
7428 2011-05-22  Bruno Haible  <bruno@clisp.org>
7429
7430         strcasestr*: Move AC_LIBOBJ invocations to module description.
7431         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7432         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7433         * modules/strcasestr-simple (configure.ac): ... to here.
7434         * modules/strcasestr (configure.ac): ... and here.
7435
7436 2011-05-22  Bruno Haible  <bruno@clisp.org>
7437
7438         strcase: Move AC_LIBOBJ invocations to module description.
7439         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7440         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7441         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7442         gl_PREREQ_STRNCASECMP invocations from here...
7443         * modules/strcase (configure.ac): ... to here.
7444
7445 2011-05-22  Bruno Haible  <bruno@clisp.org>
7446
7447         stpncpy: Move AC_LIBOBJ invocations to module description.
7448         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7449         here...
7450         * modules/stpncpy (configure.ac): ... to here.
7451
7452 2011-05-22  Bruno Haible  <bruno@clisp.org>
7453
7454         stpcpy: Move AC_LIBOBJ invocations to module description.
7455         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7456         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7457         here...
7458         * modules/stpcpy (configure.ac): ... to here.
7459
7460 2011-05-21  Bruno Haible  <bruno@clisp.org>
7461
7462         stat: Move AC_LIBOBJ invocations to module description.
7463         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7464         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7465         here...
7466         * modules/stat (configure.ac): ... to here.
7467
7468 2011-05-21  Bruno Haible  <bruno@clisp.org>
7469
7470         sleep: Move AC_LIBOBJ invocations to module description.
7471         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7472         * modules/sleep (configure.ac): ... to here.
7473
7474 2011-05-21  Bruno Haible  <bruno@clisp.org>
7475
7476         signbit: Move AC_LIBOBJ invocations to module description.
7477         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7478         * modules/signbit (configure.ac): ... to here.
7479
7480 2011-05-21  Bruno Haible  <bruno@clisp.org>
7481
7482         sigprocmask: Move AC_LIBOBJ invocations to module description.
7483         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7484         gl_PREREQ_SIGPROMASK invocations from here...
7485         * modules/sigprocmask (configure.ac): ... to here.
7486
7487 2011-05-21  Bruno Haible  <bruno@clisp.org>
7488
7489         sigaction: Move AC_LIBOBJ invocations to module description.
7490         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7491         gl_PREREQ_SIGACTION invocations from here...
7492         * modules/sigaction (configure.ac): ... to here.
7493
7494 2011-05-21  Bruno Haible  <bruno@clisp.org>
7495
7496         sig2str: Move AC_LIBOBJ invocations to module description.
7497         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7498         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7499         here...
7500         * modules/sig2str (configure.ac): ... to here.
7501
7502 2011-05-21  Bruno Haible  <bruno@clisp.org>
7503
7504         setlocale: Move AC_LIBOBJ invocations to module description.
7505         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7506         gl_PREREQ_SETLOCALE invocations from here...
7507         * modules/setlocale (configure.ac): ... to here.
7508
7509 2011-05-21  Bruno Haible  <bruno@clisp.org>
7510
7511         unsetenv: Move AC_LIBOBJ invocations to module description.
7512         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7513         and gl_PREREQ_UNSETENV invocations from here...
7514         * modules/unsetenv (configure.ac): ... to here.
7515         (Depends-on): Update.
7516
7517 2011-05-21  Bruno Haible  <bruno@clisp.org>
7518
7519         setenv: Move AC_LIBOBJ invocations to module description.
7520         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7521         here...
7522         * modules/setenv (configure.ac): ... to here.
7523
7524 2011-05-21  Bruno Haible  <bruno@clisp.org>
7525
7526         selinux-h: Move AC_LIBOBJ invocations to module description.
7527         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7528         AC_LIBOBJ invocation from here...
7529         * modules/selinux-h (configure.ac): ... to here.
7530
7531 2011-05-21  Bruno Haible  <bruno@clisp.org>
7532
7533         select: Respect rules for use of AC_LIBOBJ.
7534         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7535         here...
7536         * modules/select (configure.ac): ... to here.
7537
7538 2011-05-21  Bruno Haible  <bruno@clisp.org>
7539
7540         scandir: Move AC_LIBOBJ invocations to module description.
7541         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7542         invocations from here...
7543         * modules/scandir (configure.ac): ... to here.
7544
7545 2011-05-21  Bruno Haible  <bruno@clisp.org>
7546
7547         rpmatch: Move AC_LIBOBJ invocations to module description.
7548         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7549         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7550         here...
7551         * modules/rpmatch (configure.ac): ... to here.
7552
7553 2011-05-21  Bruno Haible  <bruno@clisp.org>
7554
7555         rmdir: Respect rules for use of AC_LIBOBJ.
7556         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7557         * modules/rmdir (configure.ac): ... to here.
7558
7559 2011-05-21  Bruno Haible  <bruno@clisp.org>
7560
7561         renameat: Move AC_LIBOBJ invocations to module description.
7562         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7563         here...
7564         * modules/renameat (configure.ac): ... to here.
7565
7566 2011-05-21  Bruno Haible  <bruno@clisp.org>
7567
7568         rename: Respect rules for use of AC_LIBOBJ.
7569         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7570         here...
7571         * modules/rename (configure.ac): ... to here.
7572
7573 2011-05-21  Bruno Haible  <bruno@clisp.org>
7574
7575         remove: Move AC_LIBOBJ invocations to module description.
7576         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7577         here...
7578         * modules/remove (configure.ac): ... to here.
7579
7580 2011-05-21  Bruno Haible  <bruno@clisp.org>
7581
7582         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7583         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7584         macro.
7585         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7586         * modules/relocatable-lib (configure.ac): ... to here.
7587         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7588         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7589
7590 2011-05-21  Bruno Haible  <bruno@clisp.org>
7591
7592         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7593         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7594         here...
7595         * modules/relocatable-prog (configure.ac): ... to here.
7596
7597 2011-05-21  Bruno Haible  <bruno@clisp.org>
7598
7599         regex: Move AC_LIBOBJ invocations to module description.
7600         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7601         invocations from here...
7602         * modules/regex (configure.ac): ... to here.
7603
7604 2011-05-21  Bruno Haible  <bruno@clisp.org>
7605
7606         realloc-*: Move AC_LIBOBJ invocations to module description.
7607         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7608         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7609         AC_LIBOBJ invocations from here...
7610         * modules/realloc-gnu (configure.ac): ... to here.
7611         * modules/realloc-posix (configure.ac): ... and here.
7612
7613 2011-05-21  Bruno Haible  <bruno@clisp.org>
7614
7615         readutmp: Move AC_LIBOBJ invocations to module description.
7616         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7617         * modules/readutmp (configure.ac): ... to here.
7618
7619 2011-05-21  Bruno Haible  <bruno@clisp.org>
7620
7621         readlinkat: Move AC_LIBOBJ invocations to module description.
7622         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7623         here...
7624         * modules/readlinkat (configure.ac): ... to here.
7625
7626 2011-05-21  Bruno Haible  <bruno@clisp.org>
7627
7628         readlink: Move AC_LIBOBJ invocations to module description.
7629         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7630         gl_PREREQ_READLINK invocations from here...
7631         * modules/readlink (configure.ac): ... to here.
7632
7633 2011-05-21  Bruno Haible  <bruno@clisp.org>
7634
7635         readline: Move AC_LIBOBJ invocations to module description.
7636         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7637         gl_PREREQ_READLINE invocations from here...
7638         * modules/readline (configure.ac): ... to here.
7639
7640 2011-05-21  Bruno Haible  <bruno@clisp.org>
7641
7642         read: Move AC_LIBOBJ invocations to module description.
7643         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7644         * modules/read (configure.ac): ... to here.
7645
7646 2011-05-21  Bruno Haible  <bruno@clisp.org>
7647
7648         rawmemchr: Move AC_LIBOBJ invocations to module description.
7649         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7650         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7651         from here...
7652         * modules/rawmemchr (configure.ac): ... to here.
7653
7654 2011-05-21  Bruno Haible  <bruno@clisp.org>
7655
7656         random_r: Move AC_LIBOBJ invocations to module description.
7657         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7658         gl_PREREQ_RANDOM_R invocations from here...
7659         * modules/random_r (configure.ac): ... to here.
7660
7661 2011-05-21  Bruno Haible  <bruno@clisp.org>
7662
7663         pwrite: Move AC_LIBOBJ invocations to module description.
7664         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7665         * modules/pwrite (configure.ac): ... to here.
7666
7667 2011-05-21  Bruno Haible  <bruno@clisp.org>
7668
7669         putenv: Move AC_LIBOBJ invocations to module description.
7670         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7671         * modules/putenv (configure.ac): ... to here.
7672
7673 2011-05-21  Bruno Haible  <bruno@clisp.org>
7674
7675         login_tty: Move AC_LIBOBJ invocations to module description.
7676         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7677         * modules/login_tty (configure.ac): ... to here.
7678
7679 2011-05-21  Bruno Haible  <bruno@clisp.org>
7680
7681         openpty: Move AC_LIBOBJ invocations to module description.
7682         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7683         * modules/openpty (configure.ac): ... to here.
7684
7685 2011-05-21  Bruno Haible  <bruno@clisp.org>
7686
7687         forkpty: Move AC_LIBOBJ invocations to module description.
7688         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7689         * modules/forkpty (configure.ac): ... to here.
7690
7691 2011-05-21  Bruno Haible  <bruno@clisp.org>
7692
7693         ptsname: Move AC_LIBOBJ invocations to module description.
7694         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7695         invocations from here...
7696         * modules/ptsname (configure.ac): ... to here.
7697
7698 2011-05-21  Bruno Haible  <bruno@clisp.org>
7699
7700         pread: Move AC_LIBOBJ invocations to module description.
7701         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7702         * modules/pread (configure.ac): ... to here.
7703
7704 2011-05-21  Bruno Haible  <bruno@clisp.org>
7705
7706         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7707         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7708         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7709         * modules/posix_spawn (configure.ac): ... to here.
7710         * modules/posix_spawnp (configure.ac): ... and here.
7711
7712 2011-05-21  Bruno Haible  <bruno@clisp.org>
7713
7714         popen: Move AC_LIBOBJ invocations to module description.
7715         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7716         invocations from here...
7717         * modules/popen (configure.ac): ... to here.
7718
7719 2011-05-21  Bruno Haible  <bruno@clisp.org>
7720
7721         poll: Move AC_LIBOBJ invocations to module description.
7722         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7723         invocations from here...
7724         * modules/poll (configure.ac): ... to here.
7725
7726 2011-05-21  Bruno Haible  <bruno@clisp.org>
7727
7728         pipe-posix: Move AC_LIBOBJ invocations to module description.
7729         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7730         * modules/pipe-posix (configure.ac): ... to here.
7731
7732 2011-05-21  Bruno Haible  <bruno@clisp.org>
7733
7734         openat: Respect rules for use of AC_LIBOBJ.
7735         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7736         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7737         * modules/openat (configure.ac): ... to here.
7738
7739 2011-05-21  Bruno Haible  <bruno@clisp.org>
7740
7741         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7742         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7743         invocation from here...
7744         * modules/obstack-printf (configure.ac): ... to here.
7745         * modules/obstack-printf-posix (configure.ac): ... and here.
7746
7747 2011-05-21  Bruno Haible  <bruno@clisp.org>
7748
7749         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7750         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7751         from here...
7752         * modules/nl_langinfo (configure.ac): ... to here.
7753
7754 2011-05-21  Bruno Haible  <bruno@clisp.org>
7755
7756         nanosleep: Move AC_LIBOBJ invocations to module description.
7757         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7758         gl_PREREQ_NANOSLEEP invocations from here...
7759         * modules/nanosleep (configure.ac): ... to here.
7760
7761 2011-05-21  Bruno Haible  <bruno@clisp.org>
7762
7763         mountlist: Move AC_LIBOBJ invocations to module description.
7764         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7765         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7766         * modules/mountlist (configure.ac): ... to here.
7767
7768 2011-05-21  Bruno Haible  <bruno@clisp.org>
7769
7770         mktime: Respect rules for use of AC_LIBOBJ.
7771         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7772         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7773         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7774         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7775         * modules/mktime (configure.ac): ... to here.
7776         * modules/mktime-internal (configure.ac): ... and here.
7777         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7778
7779 2011-05-21  Bruno Haible  <bruno@clisp.org>
7780
7781         mkstemps: Move AC_LIBOBJ invocations to module description.
7782         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7783         here...
7784         * modules/mkstemps (configure.ac): ... to here.
7785
7786 2011-05-21  Bruno Haible  <bruno@clisp.org>
7787
7788         mkstemp: Move AC_LIBOBJ invocations to module description.
7789         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7790         gl_PREREQ_MKSTEMP invocations from here...
7791         * modules/mkstemp (configure.ac): ... to here.
7792
7793 2011-05-21  Bruno Haible  <bruno@clisp.org>
7794
7795         mkostemps: Move AC_LIBOBJ invocations to module description.
7796         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
7797         here...
7798         * modules/mkostemps (configure.ac): ... to here.
7799
7800 2011-05-21  Bruno Haible  <bruno@clisp.org>
7801
7802         mkostemp: Move AC_LIBOBJ invocations to module description.
7803         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
7804         gl_PREREQ_MKOSTEMP invocations from here...
7805         * modules/mkostemp (configure.ac): ... to here.
7806
7807 2011-05-21  Bruno Haible  <bruno@clisp.org>
7808
7809         mknod: Move AC_LIBOBJ invocations to module description.
7810         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
7811         * modules/mknod (configure.ac): ... to here.
7812
7813 2011-05-21  Bruno Haible  <bruno@clisp.org>
7814
7815         mkfifoat: Move AC_LIBOBJ invocations to module description.
7816         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
7817         here...
7818         * modules/mkfifoat (configure.ac): ... to here.
7819
7820 2011-05-21  Bruno Haible  <bruno@clisp.org>
7821
7822         mkfifo: Respect rules for use of AC_LIBOBJ.
7823         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
7824         here...
7825         * modules/mkfifo (configure.ac): ... to here.
7826
7827 2011-05-21  Bruno Haible  <bruno@clisp.org>
7828
7829         mkdtemp: Move AC_LIBOBJ invocations to module description.
7830         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
7831         invocations from here...
7832         * modules/mkdtemp (configure.ac): ... to here.
7833
7834 2011-05-21  Bruno Haible  <bruno@clisp.org>
7835
7836         mkdir: Move AC_LIBOBJ invocations to module description.
7837         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
7838         * modules/mkdir (configure.ac): ... to here.
7839
7840 2011-05-21  Bruno Haible  <bruno@clisp.org>
7841
7842         memset: Move AC_LIBOBJ invocations to module description.
7843         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
7844         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
7845         here...
7846         * modules/memset (configure.ac): ... to here.
7847
7848 2011-05-21  Bruno Haible  <bruno@clisp.org>
7849
7850         memrchr: Move AC_LIBOBJ invocations to module description.
7851         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
7852         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
7853         here...
7854         * modules/memrchr (configure.ac): ... to here.
7855
7856 2011-05-21  Bruno Haible  <bruno@clisp.org>
7857
7858         mempcpy: Move AC_LIBOBJ invocations to module description.
7859         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
7860         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
7861         here...
7862         * modules/mempcpy (configure.ac): ... to here.
7863
7864 2011-05-21  Bruno Haible  <bruno@clisp.org>
7865
7866         memmove: Move AC_LIBOBJ invocations to module description.
7867         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
7868         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
7869         here...
7870         * modules/memmove (configure.ac): ... to here.
7871
7872 2011-05-21  Bruno Haible  <bruno@clisp.org>
7873
7874         memmem*: Move AC_LIBOBJ invocations to module description.
7875         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
7876         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
7877         here...
7878         (gl_FUNC_MEMMEM): ... and here...
7879         * modules/memmem-simple (configure.ac): ... to here.
7880         * modules/memmem (configure.ac): ... and here.
7881
7882 2011-05-21  Bruno Haible  <bruno@clisp.org>
7883
7884         memcpy: Move AC_LIBOBJ invocations to module description.
7885         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
7886         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
7887         here...
7888         * modules/memcpy (configure.ac): ... to here.
7889
7890 2011-05-21  Bruno Haible  <bruno@clisp.org>
7891
7892         memcmp: Simplify autoconf macro.
7893         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
7894         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
7895         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
7896
7897 2011-05-21  Bruno Haible  <bruno@clisp.org>
7898
7899         memcmp: Move AC_LIBOBJ invocations to module description.
7900         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
7901         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
7902         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
7903         * modules/memcmp (configure.ac): ... to here.
7904         (Depends-on): Update conditions.
7905
7906 2011-05-21  Bruno Haible  <bruno@clisp.org>
7907
7908         memchr: Respect rules for use of AC_LIBOBJ.
7909         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
7910         invocations from here...
7911         * modules/memchr (configure.ac): ... to here.
7912
7913 2011-05-21  Bruno Haible  <bruno@clisp.org>
7914
7915         mbtowc: Move AC_LIBOBJ invocations to module description.
7916         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
7917         invocations from here...
7918         * modules/mbtowc (configure.ac): ... to here.
7919
7920 2011-05-21  Bruno Haible  <bruno@clisp.org>
7921
7922         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
7923         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
7924         gl_PREREQ_MBSRTOWCS invocations from here...
7925         * modules/mbsrtowcs (configure.ac): ... to here.
7926
7927 2011-05-21  Bruno Haible  <bruno@clisp.org>
7928
7929         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
7930         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
7931         gl_PREREQ_MBSNRTOWCS invocations from here...
7932         * modules/mbsnrtowcs (configure.ac): ... to here.
7933
7934 2011-05-21  Bruno Haible  <bruno@clisp.org>
7935
7936         mbsinit: Move AC_LIBOBJ invocations to module description.
7937         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
7938         invocations from here...
7939         * modules/mbsinit (configure.ac): ... to here.
7940
7941 2011-05-21  Bruno Haible  <bruno@clisp.org>
7942
7943         mbrlen: Move AC_LIBOBJ invocations to module description.
7944         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
7945         invocations from here...
7946         * modules/mbrlen (configure.ac): ... to here.
7947
7948 2011-05-21  Bruno Haible  <bruno@clisp.org>
7949
7950         mbrtowc: Respect rules for use of AC_LIBOBJ.
7951         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
7952         invocations from here...
7953         * modules/mbrtowc (configure.ac): ... to here.
7954
7955 2011-05-21  Bruno Haible  <bruno@clisp.org>
7956
7957         malloc-*: Move AC_LIBOBJ invocations to module description.
7958         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
7959         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
7960         AC_LIBOBJ invocations from here...
7961         * modules/malloc-gnu (configure.ac): ... to here.
7962         * modules/malloc-posix (configure.ac): ... and here.
7963
7964 2011-05-21  Bruno Haible  <bruno@clisp.org>
7965
7966         lstat, openat: Respect rules for use of AC_LIBOBJ.
7967         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
7968         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
7969         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
7970         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
7971         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
7972         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
7973         here.
7974         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
7975
7976 2011-05-21  Bruno Haible  <bruno@clisp.org>
7977
7978         lseek: Move AC_LIBOBJ invocations to module description.
7979         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
7980         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
7981         * modules/lseek (configure.ac): ... to here.
7982
7983 2011-05-21  Bruno Haible  <bruno@clisp.org>
7984
7985         linkat: Move AC_LIBOBJ invocations to module description.
7986         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
7987         here...
7988         * modules/linkat (configure.ac): ... to here.
7989
7990 2011-05-21  Bruno Haible  <bruno@clisp.org>
7991
7992         link: Respect rules for use of AC_LIBOBJ.
7993         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
7994         * modules/link (configure.ac): ... to here.
7995
7996 2011-05-21  Bruno Haible  <bruno@clisp.org>
7997
7998         lchown: Move AC_LIBOBJ invocations to module description.
7999         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8000         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8001         * modules/lchown (configure.ac): ... to here.
8002
8003 2011-05-21  Bruno Haible  <bruno@clisp.org>
8004
8005         iswctype: Move AC_LIBOBJ invocations to module description.
8006         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
8007         here...
8008         * modules/iswctype (configure.ac): ... to here.
8009
8010 2011-05-21  Bruno Haible  <bruno@clisp.org>
8011
8012         iswblank: Move AC_LIBOBJ invocations to module description.
8013         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
8014         here...
8015         * modules/iswblank (configure.ac): ... to here.
8016
8017 2011-05-21  Bruno Haible  <bruno@clisp.org>
8018
8019         atanl: Move AC_LIBOBJ invocations to module description.
8020         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
8021         * modules/atanl (configure.ac): ... to here.
8022
8023 2011-05-21  Bruno Haible  <bruno@clisp.org>
8024
8025         acosl: Move AC_LIBOBJ invocations to module description.
8026         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
8027         * modules/acosl (configure.ac): ... to here.
8028
8029 2011-05-21  Bruno Haible  <bruno@clisp.org>
8030
8031         asinl: Respect rules for use of AC_LIBOBJ.
8032         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
8033         * modules/asinl (configure.ac): ... to here.
8034
8035 2011-05-21  Bruno Haible  <bruno@clisp.org>
8036
8037         tanl: Move AC_LIBOBJ invocations to module description.
8038         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
8039         * modules/tanl (configure.ac): ... to here.
8040
8041 2011-05-21  Bruno Haible  <bruno@clisp.org>
8042
8043         cosl: Move AC_LIBOBJ invocations to module description.
8044         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
8045         * modules/cosl (configure.ac): ... to here.
8046
8047 2011-05-21  Bruno Haible  <bruno@clisp.org>
8048
8049         sinl: Move AC_LIBOBJ invocations to module description.
8050         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
8051         * modules/sinl (configure.ac): ... to here.
8052
8053 2011-05-21  Bruno Haible  <bruno@clisp.org>
8054
8055         logl: Move AC_LIBOBJ invocations to module description.
8056         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
8057         * modules/logl (configure.ac): ... to here.
8058
8059 2011-05-21  Bruno Haible  <bruno@clisp.org>
8060
8061         expl: Move AC_LIBOBJ invocations to module description.
8062         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
8063         * modules/expl (configure.ac): ... to here.
8064
8065 2011-05-21  Bruno Haible  <bruno@clisp.org>
8066
8067         roundl: Move AC_LIBOBJ invocations to module description.
8068         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
8069         * modules/roundl (configure.ac): ... to here.
8070
8071 2011-05-21  Bruno Haible  <bruno@clisp.org>
8072
8073         round: Move AC_LIBOBJ invocations to module description.
8074         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
8075         * modules/round (configure.ac): ... to here.
8076
8077 2011-05-21  Bruno Haible  <bruno@clisp.org>
8078
8079         roundf: Move AC_LIBOBJ invocations to module description.
8080         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
8081         * modules/roundf (configure.ac): ... to here.
8082
8083 2011-05-21  Bruno Haible  <bruno@clisp.org>
8084
8085         truncl: Move AC_LIBOBJ invocations to module description.
8086         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
8087         * modules/truncl (configure.ac): ... to here.
8088
8089 2011-05-21  Bruno Haible  <bruno@clisp.org>
8090
8091         trunc: Move AC_LIBOBJ invocations to module description.
8092         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
8093         * modules/trunc (configure.ac): ... to here.
8094
8095 2011-05-21  Bruno Haible  <bruno@clisp.org>
8096
8097         truncf: Move AC_LIBOBJ invocations to module description.
8098         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
8099         * modules/truncf (configure.ac): ... to here.
8100
8101 2011-05-21  Bruno Haible  <bruno@clisp.org>
8102
8103         ceill: Move AC_LIBOBJ invocations to module description.
8104         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
8105         * modules/ceill (configure.ac): ... to here.
8106
8107 2011-05-21  Bruno Haible  <bruno@clisp.org>
8108
8109         ceil: Move AC_LIBOBJ invocations to module description.
8110         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
8111         * modules/ceil (configure.ac): ... to here.
8112
8113 2011-05-21  Bruno Haible  <bruno@clisp.org>
8114
8115         ceilf: Move AC_LIBOBJ invocations to module description.
8116         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
8117         * modules/ceilf (configure.ac): ... to here.
8118
8119 2011-05-21  Bruno Haible  <bruno@clisp.org>
8120
8121         floorl: Respect rules for use of AC_LIBOBJ.
8122         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
8123         * modules/floorl (configure.ac): ... to here.
8124
8125 2011-05-21  Bruno Haible  <bruno@clisp.org>
8126
8127         floor: Respect rules for use of AC_LIBOBJ.
8128         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
8129         * modules/floor (configure.ac): ... to here.
8130
8131 2011-05-21  Bruno Haible  <bruno@clisp.org>
8132
8133         floorf: Move AC_LIBOBJ invocations to module description.
8134         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
8135         * modules/floorf (configure.ac): ... to here.
8136
8137 2011-05-20  Bruno Haible  <bruno@clisp.org>
8138
8139         sqrtl: Respect rules for use of AC_LIBOBJ.
8140         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
8141         * modules/sqrtl (configure.ac): ... to here.
8142
8143 2011-05-20  Bruno Haible  <bruno@clisp.org>
8144
8145         ldexpl: Respect rules for use of AC_LIBOBJ.
8146         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
8147         * modules/ldexpl (configure.ac): ... to here.
8148
8149 2011-05-20  Bruno Haible  <bruno@clisp.org>
8150
8151         frexpl*: Respect rules for use of AC_LIBOBJ.
8152         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
8153         invocation from here...
8154         * modules/frexpl (configure.ac): ... to here.
8155         * modules/frexpl-nolibm (configure.ac): ... and here.
8156
8157 2011-05-20  Bruno Haible  <bruno@clisp.org>
8158
8159         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
8160         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
8161         invocation from here...
8162         * modules/frexp (configure.ac): ... to here.
8163         * modules/frexp-nolibm (configure.ac): ... and here.
8164
8165 2011-05-20  Bruno Haible  <bruno@clisp.org>
8166
8167         isnan: Respect rules for use of AC_LIBOBJ.
8168         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
8169         invocations here.
8170         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
8171         REPLACE_ISNAN.
8172         * modules/isnand (configure.ac): Likewise.
8173         * modules/isnanl (configure.ac): Likewise.
8174
8175 2011-05-20  Bruno Haible  <bruno@clisp.org>
8176
8177         isnanl*: Respect rules for use of AC_LIBOBJ.
8178         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
8179         invocation from here...
8180         * modules/isnanl (configure.ac): ... to here.
8181         * modules/isnanl-nolibm (configure.ac): ... and here.
8182
8183 2011-05-20  Bruno Haible  <bruno@clisp.org>
8184
8185         isnand*: Move AC_LIBOBJ invocations to module description.
8186         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
8187         invocation from here...
8188         * modules/isnand (configure.ac): ... to here.
8189         * modules/isnand-nolibm (configure.ac): ... and here.
8190
8191 2011-05-20  Bruno Haible  <bruno@clisp.org>
8192
8193         isnanf*: Move AC_LIBOBJ invocations to module description.
8194         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
8195         invocation from here...
8196         * modules/isnanf (configure.ac): ... to here.
8197         * modules/isnanf-nolibm (configure.ac): ... and here.
8198
8199 2011-05-20  Bruno Haible  <bruno@clisp.org>
8200
8201         isnan*: Separate the AC_LIBOBJ invocations.
8202         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
8203         AC_LIBOBJ invocation.
8204         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
8205         here.
8206         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
8207         AC_LIBOBJ invocation.
8208         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
8209         here.
8210         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
8211         AC_LIBOBJ invocation.
8212         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
8213         here.
8214         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
8215
8216 2011-05-08  Bruno Haible  <bruno@clisp.org>
8217
8218         isinf: Move AC_LIBOBJ invocations to module description.
8219         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
8220         * modules/isinf (configure.ac): ... to here.
8221
8222 2011-05-08  Bruno Haible  <bruno@clisp.org>
8223
8224         isfinite: Move AC_LIBOBJ invocations to module description.
8225         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
8226         * modules/isfinite (configure.ac): ... to here.
8227
8228 2011-05-08  Bruno Haible  <bruno@clisp.org>
8229
8230         isblank: Move AC_LIBOBJ invocations to module description.
8231         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
8232         here...
8233         * modules/isblank (configure.ac): ... to here.
8234
8235 2011-05-08  Bruno Haible  <bruno@clisp.org>
8236
8237         isapipe: Move AC_LIBOBJ invocations to module description.
8238         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
8239         gl_PREREQ_ISAPIPE invocations from here...
8240         * modules/isapipe (configure.ac): ... to here.
8241         (Depends-on): Update condition.
8242
8243 2011-05-08  Bruno Haible  <bruno@clisp.org>
8244
8245         ioctl: Move AC_LIBOBJ invocations to module description.
8246         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
8247         invocations from here...
8248         * modules/ioctl (configure.ac): ... to here.
8249         (Depends-on): Update condition.
8250
8251 2011-05-08  Bruno Haible  <bruno@clisp.org>
8252
8253         imaxdiv: Move AC_LIBOBJ invocations to module description.
8254         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
8255         invocations from here...
8256         * modules/imaxdiv (configure.ac): ... to here.
8257
8258 2011-05-08  Bruno Haible  <bruno@clisp.org>
8259
8260         imaxabs: Move AC_LIBOBJ invocations to module description.
8261         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
8262         invocations from here...
8263         * modules/imaxabs (configure.ac): ... to here.
8264
8265 2011-05-08  Bruno Haible  <bruno@clisp.org>
8266
8267         getaddrinfo: Move AC_LIBOBJ invocations to module description.
8268         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
8269         AC_LIBOBJ invocations from here...
8270         * modules/getaddrinfo (configure.ac): ... to here.
8271         (Depends-on): Add conditions.
8272
8273 2011-05-08  Bruno Haible  <bruno@clisp.org>
8274
8275         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8276         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
8277         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8278         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
8279         (gl_PREREQ_INET_PTON): ... from here.
8280         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
8281         gl_PREREQ_INET_PTON here.
8282         (Depends-on): Update condition.
8283
8284 2011-05-08  Bruno Haible  <bruno@clisp.org>
8285
8286         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8287         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
8288         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8289         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
8290         (gl_PREREQ_INET_NTOP): ... from here.
8291         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
8292         gl_PREREQ_INET_NTOP here.
8293         (Depends-on): Update condition.
8294
8295 2011-05-08  Bruno Haible  <bruno@clisp.org>
8296
8297         iconv_open: Move AC_LIBOBJ invocations to module description.
8298         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
8299         AC_LIBOBJ invocations from here...
8300         * modules/iconv_open (configure.ac): ... to here.
8301
8302 2011-05-08  Bruno Haible  <bruno@clisp.org>
8303
8304         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
8305         If module 'iconv_open' is among the main modules and module
8306         'iconv_open-utf' is among the tests dependencies, then
8307         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
8308         return the special iconv_t values. Therefore iconv() and iconv_close()
8309         must support these special iconv_t values, already in lib, not only in
8310         tests.
8311         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
8312         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
8313         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
8314         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
8315         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
8316         (Depends-on): Add the dependencies of iconv_open-utf.
8317         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
8318         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
8319         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
8320
8321 2011-05-08  Bruno Haible  <bruno@clisp.org>
8322
8323         group-member: Move AC_LIBOBJ invocations to module description.
8324         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
8325         gl_PREREQ_GROUP_MEMBER invocations from here...
8326         * modules/group-member (configure.ac): ... to here.
8327
8328 2011-05-08  Bruno Haible  <bruno@clisp.org>
8329
8330         grantpt: Move AC_LIBOBJ invocations to module description.
8331         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
8332         invocations from here...
8333         * modules/grantpt (configure.ac): ... to here.
8334
8335 2011-05-08  Bruno Haible  <bruno@clisp.org>
8336
8337         glob: Move AC_LIBOBJ invocations to module description.
8338         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
8339         from here...
8340         * modules/glob (configure.ac): ... to here.
8341
8342 2011-05-08  Bruno Haible  <bruno@clisp.org>
8343
8344         getusershell: Move AC_LIBOBJ invocations to module description.
8345         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
8346         Move AC_LIBOBJ invocation from here...
8347         * modules/getusershell (configure.ac): ... to here.
8348         (Depends-on): Update condition.
8349
8350 2011-05-08  Bruno Haible  <bruno@clisp.org>
8351
8352         gettimeofday: Move AC_LIBOBJ invocations to module description.
8353         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
8354         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
8355         gl_PREREQ_GETTIMEOFDAY invocations from here...
8356         * modules/gettimeofday (configure.ac): ... to here.
8357
8358 2011-05-08  Bruno Haible  <bruno@clisp.org>
8359
8360         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
8361         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
8362         just gl_FUNC_TZSET.
8363         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
8364         (gl_FUNC_TZSET_CLOBBER): Remove actions.
8365         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
8366         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
8367
8368 2011-05-08  Bruno Haible  <bruno@clisp.org>
8369
8370         getsubopt: Move AC_LIBOBJ invocations to module description.
8371         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
8372         gl_PREREQ_GETSUBOPT invocations from here...
8373         * modules/getsubopt (configure.ac): ... to here.
8374
8375 2011-05-08  Bruno Haible  <bruno@clisp.org>
8376
8377         getpass-gnu: Move AC_LIBOBJ invocations to module description.
8378         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
8379         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
8380         * modules/getpass-gnu (configure.ac): ... to here.
8381
8382 2011-05-08  Bruno Haible  <bruno@clisp.org>
8383
8384         getpass: Move AC_LIBOBJ invocations to module description.
8385         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8386         gl_PREREQ_GETPASS invocations from here...
8387         * modules/getpass (configure.ac): ... to here.
8388
8389 2011-05-08  Bruno Haible  <bruno@clisp.org>
8390
8391         getpagesize: Move AC_LIBOBJ invocations to module description.
8392         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8393         from here...
8394         * modules/getpagesize (configure.ac): ... to here.
8395
8396 2011-05-08  Bruno Haible  <bruno@clisp.org>
8397
8398         getopt: Move AC_LIBOBJ invocations to module description.
8399         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8400         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8401         invocations from here...
8402         * modules/getopt-gnu (configure.ac): ... to here.
8403         * modules/getopt-posix (configure.ac): ... and here.
8404         (Depends-on): Update condition.
8405
8406 2011-05-08  Bruno Haible  <bruno@clisp.org>
8407
8408         getopt, argp: Respect rules for use of AC_LIBOBJ.
8409         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8410         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8411         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8412         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8413
8414 2011-05-08  Bruno Haible  <bruno@clisp.org>
8415
8416         getlogin_r: Move AC_LIBOBJ invocations to module description.
8417         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8418         gl_PREREQ_GETLOGIN_R invocations from here...
8419         * modules/getlogin_r (configure.ac): ... to here.
8420
8421 2011-05-08  Bruno Haible  <bruno@clisp.org>
8422
8423         getlogin: Move AC_LIBOBJ invocations to module description.
8424         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8425         here...
8426         * modules/getlogin (configure.ac): ... to here.
8427
8428 2011-05-08  Bruno Haible  <bruno@clisp.org>
8429
8430         getloadavg: Move AC_LIBOBJ invocations to module description.
8431         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8432         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8433         * modules/getloadavg (configure.ac): ... to here.
8434
8435 2011-05-08  Bruno Haible  <bruno@clisp.org>
8436
8437         gethrxtime: Move AC_LIBOBJ invocations to module description.
8438         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8439         LIB_GETHRXTIME from here...
8440         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8441         invocations from here...
8442         * modules/gethrxtime (configure.ac): ... to here.
8443
8444 2011-05-08  Bruno Haible  <bruno@clisp.org>
8445
8446         gethostname: Move AC_LIBOBJ invocations to module description.
8447         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8448         gl_PREREQ_GETHOSTNAME invocations from here...
8449         * modules/gethostname (configure.ac): ... to here.
8450
8451 2011-05-08  Bruno Haible  <bruno@clisp.org>
8452
8453         getgroups: Move AC_LIBOBJ invocations to module description.
8454         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8455         here...
8456         * modules/getgroups (configure.ac): ... to here.
8457
8458 2011-05-08  Bruno Haible  <bruno@clisp.org>
8459
8460         getdtablesize: Move AC_LIBOBJ invocations to module description.
8461         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8462         invocation from here...
8463         * modules/getdtablesize (configure.ac): ... to here.
8464
8465 2011-05-08  Bruno Haible  <bruno@clisp.org>
8466
8467         getdomainname: Move AC_LIBOBJ invocations to module description.
8468         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8469         gl_PREREQ_GETDOMAINNAME invocations from here...
8470         * modules/getdomainname (configure.ac): ... to here.
8471
8472 2011-05-08  Bruno Haible  <bruno@clisp.org>
8473
8474         getline: Move AC_LIBOBJ invocations to module description.
8475         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8476         invocations from here...
8477         * modules/getline (configure.ac): ... to here.
8478
8479 2011-05-08  Bruno Haible  <bruno@clisp.org>
8480
8481         getline: Simplify.
8482         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8483         It's already handled through the module dependency.
8484
8485 2011-05-08  Bruno Haible  <bruno@clisp.org>
8486
8487         getdelim: Move AC_LIBOBJ invocations to module description.
8488         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8489         and gl_PREREQ_GETDELIM invocations from here...
8490         * modules/getdelim (configure.ac): ... to here.
8491         (Depends-on): Fix condition.
8492
8493 2011-05-08  Bruno Haible  <bruno@clisp.org>
8494
8495         getcwd: Move AC_LIBOBJ invocations to module description.
8496         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8497         invocations from here...
8498         * modules/getcwd (configure.ac): ... to here.
8499
8500 2011-05-08  Bruno Haible  <bruno@clisp.org>
8501
8502         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8503         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8504         here...
8505         * modules/getcwd-lgpl (configure.ac): ... to here.
8506
8507 2011-05-07  Bruno Haible  <bruno@clisp.org>
8508
8509         crypto/gc: Move AC_LIBOBJ invocations to module description.
8510         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8511         * modules/crypto/gc (configure.ac): ... to here.
8512
8513 2011-05-07  Bruno Haible  <bruno@clisp.org>
8514
8515         fwriting: Move AC_LIBOBJ invocations to module description.
8516         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8517         here...
8518         * modules/fwriting (configure.ac): ... to here.
8519
8520 2011-05-07  Bruno Haible  <bruno@clisp.org>
8521
8522         fwritable: Move AC_LIBOBJ invocations to module description.
8523         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8524         here...
8525         * modules/fwritable (configure.ac): ... to here.
8526
8527 2011-05-07  Bruno Haible  <bruno@clisp.org>
8528
8529         futimens: Move AC_LIBOBJ invocations to module description.
8530         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8531         here...
8532         * modules/futimens (configure.ac): ... to here.
8533
8534 2011-05-07  Bruno Haible  <bruno@clisp.org>
8535
8536         ftruncate: Move AC_LIBOBJ invocations to module description.
8537         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8538         gl_PREREQ_FTRUNCATE invocations from here...
8539         * modules/ftruncate (configure.ac): ... to here.
8540
8541 2011-05-07  Bruno Haible  <bruno@clisp.org>
8542
8543         fsync: Move AC_LIBOBJ invocations to module description.
8544         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8545         invocations from here...
8546         * modules/fsync (configure.ac): ... to here.
8547
8548 2011-05-07  Bruno Haible  <bruno@clisp.org>
8549
8550         fsusage: Move AC_LIBOBJ invocations to module description.
8551         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8552         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8553         * modules/fsusage (configure.ac): ... to here.
8554
8555 2011-05-07  Bruno Haible  <bruno@clisp.org>
8556
8557         freopen: Move AC_LIBOBJ invocations to module description.
8558         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8559         invocations from here...
8560         * modules/freopen (configure.ac): ... to here.
8561
8562 2011-05-07  Bruno Haible  <bruno@clisp.org>
8563
8564         free: Move AC_LIBOBJ invocations to module description.
8565         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8566         invocations from here...
8567         * modules/free (configure.ac): ... to here.
8568
8569 2011-05-07  Bruno Haible  <bruno@clisp.org>
8570
8571         freadable: Move AC_LIBOBJ invocations to module description.
8572         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8573         here...
8574         * modules/freadable (configure.ac): ... to here.
8575
8576 2011-05-07  Bruno Haible  <bruno@clisp.org>
8577
8578         fpurge: Move AC_LIBOBJ invocations to module description.
8579         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8580         invocations from here...
8581         * modules/fpurge (configure.ac): ... to here.
8582
8583 2011-05-07  Bruno Haible  <bruno@clisp.org>
8584
8585         fpending: Move AC_LIBOBJ invocations to module description.
8586         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8587         gl_FUNC_FPENDING.
8588         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8589         invocations from here...
8590         * modules/fpending (configure.ac): ... to here.
8591
8592 2011-05-07  Bruno Haible  <bruno@clisp.org>
8593
8594         fopen: Move AC_LIBOBJ invocations to module description.
8595         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8596         invocations from here...
8597         * modules/fopen (configure.ac): ... to here.
8598
8599 2011-05-07  Bruno Haible  <bruno@clisp.org>
8600
8601         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8602         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8603         gl_FUNC_FNMATCH_POSIX.
8604         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8605         invocations from here...
8606         * modules/fnmatch (configure.ac): ... to here.
8607         * modules/fnmatch-gnu (configure.ac): ... and here.
8608
8609 2011-05-07  Bruno Haible  <bruno@clisp.org>
8610
8611         flock: Move AC_LIBOBJ invocations to module description.
8612         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8613         invocations from here...
8614         * modules/flock (configure.ac): ... to here.
8615
8616 2011-05-07  Bruno Haible  <bruno@clisp.org>
8617
8618         fileblocks: Move AC_LIBOBJ invocations to module description.
8619         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8620         gl_PREREQ_FILEBLOCKS invocations from here...
8621         * modules/fileblocks (configure.ac): ... to here.
8622
8623 2011-05-06  Bruno Haible  <bruno@clisp.org>
8624
8625         fflush: Move AC_LIBOBJ invocations to module description.
8626         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8627         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8628         invocations from here...
8629         * modules/fflush (configure.ac): ... to here.
8630
8631 2011-05-06  Bruno Haible  <bruno@clisp.org>
8632
8633         fdopendir: Move AC_LIBOBJ invocations to module description.
8634         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8635         here...
8636         * modules/fdopendir (configure.ac): ... to here.
8637         (Depends-on): Improve conditions.
8638
8639 2011-05-06  Bruno Haible  <bruno@clisp.org>
8640
8641         _Exit: Move AC_LIBOBJ invocations to module description.
8642         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8643         invocations from here...
8644         * modules/_Exit (configure.ac): ... to here.
8645
8646 2011-05-21  Bruno Haible  <bruno@clisp.org>
8647
8648         euidaccess: Respect rules for use of AC_LIBOBJ.
8649         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8650         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8651         from here...
8652         * modules/euidaccess (configure.ac): ... to here.
8653
8654 2011-05-06  Bruno Haible  <bruno@clisp.org>
8655
8656         error: Move AC_LIBOBJ invocations to module description.
8657         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8658         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8659         invocations from here...
8660         * modules/error (configure.ac): ... to here.
8661
8662 2011-05-06  Bruno Haible  <bruno@clisp.org>
8663
8664         duplocale: Move AC_LIBOBJ invocations to module description.
8665         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8666         gl_PREREQ_DUPLOCALE invocations from here...
8667         * modules/duplocale (configure.ac): ... to here.
8668
8669 2011-05-05  Bruno Haible  <bruno@clisp.org>
8670
8671         dirfd: Move AC_LIBOBJ invocations to module description.
8672         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8673         gl_FUNC_DIRFD.
8674         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8675         here...
8676         * modules/dirfd (configure.ac): ... to here.
8677         (Depends-on): Fix condition.
8678
8679 2011-05-05  Bruno Haible  <bruno@clisp.org>
8680
8681         chown: Respect rules for use of AC_LIBOBJ.
8682         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8683         * modules/chown (configure.ac): ... to here.
8684
8685 2011-05-05  Bruno Haible  <bruno@clisp.org>
8686
8687         chdir-long: Move AC_LIBOBJ invocations to module description.
8688         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8689         gl_PREREQ_CHDIR_LONG invocations from here...
8690         * modules/chdir-long (configure.ac): ... to here.
8691
8692 2011-05-05  Bruno Haible  <bruno@clisp.org>
8693
8694         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8695         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8696         from here...
8697         * modules/canonicalize-lgpl (configure.ac): ... to here.
8698
8699 2011-05-05  Bruno Haible  <bruno@clisp.org>
8700
8701         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8702         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8703         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8704         REPLACE_CALLOC.
8705         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8706         * modules/calloc-gnu (configure.ac): Likewise.
8707
8708 2011-05-05  Bruno Haible  <bruno@clisp.org>
8709
8710         btowc: Move AC_LIBOBJ invocations to module description.
8711         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8712         invocations from here...
8713         * modules/btowc (configure.ac): ... to here.
8714
8715 2011-05-21  Bruno Haible  <bruno@clisp.org>
8716
8717         atexit: Move AC_LIBOBJ invocations to module description.
8718         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8719         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8720         here...
8721         * modules/atexit (configure.ac): ... to here.
8722
8723 2011-05-05  Bruno Haible  <bruno@clisp.org>
8724
8725         atoll: Move AC_LIBOBJ invocations to module description.
8726         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8727         invocations from here...
8728         * modules/atoll (configure.ac): ... to here.
8729
8730 2011-05-05  Bruno Haible  <bruno@clisp.org>
8731
8732         argz: Move AC_LIBOBJ invocations to module description.
8733         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8734         * modules/argz (configure.ac): ... to here.
8735
8736 2011-05-05  Bruno Haible  <bruno@clisp.org>
8737
8738         alphasort: Move AC_LIBOBJ invocations to module description.
8739         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8740         gl_PREREQ_ALPHASORT invocations from here...
8741         * modules/alphasort (configure.ac): ... to here.
8742
8743 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8744
8745         verify: new macro verify_expr; verify_true deprecated
8746         * NEWS: Mention this.
8747         * doc/verify.texi (Compile-time Assertions): Document this.
8748         * lib/verify.h (verify_true): Deprecate.
8749         (verify_expr): New macro.
8750         * tests/test-verify.c (function): Test verify_expr.
8751
8752 2011-06-14  Jim Meyering  <meyering@redhat.com>
8753
8754         init.sh: give more portable redirection-related advice in a comment
8755         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8756         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8757         for lots of discussion.  Stefano Lattarini suggested the solution
8758         of putting "9>&2" after the command.  Reported by Bruno Haible.
8759
8760 2011-06-13  Bruno Haible  <bruno@clisp.org>
8761
8762         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8763         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8764         'none'.
8765
8766 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8767
8768         ftoastr: use strtof only if HAVE_STRTOF
8769         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8770         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8771         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8772         * modules/ftoastr (configure.ac): Check for strtof.
8773
8774 2011-06-13  Bruno Haible  <bruno@clisp.org>
8775
8776         gnulib-tool: Addendum to 2011-06-08 commit.
8777         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8778         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8779
8780 2011-06-13  Bruno Haible  <bruno@clisp.org>
8781
8782         fseeko: Provide a non-inline replacement of fseek().
8783         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8784         * modules/fseeko (Depends-on): Add fseek.
8785         * modules/fseek (License): Change to LGPLv2+.
8786
8787 2011-06-13  Bruno Haible  <bruno@clisp.org>
8788
8789         ftello: Provide a non-inline replacement of ftell().
8790         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8791         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8792         not have ftello() (such as on mingw).
8793         * modules/ftello (Depends-on): Add ftell.
8794         * modules/ftell (License): Change to LGPLv2+.
8795
8796 2011-05-07  Bruno Haible  <bruno@clisp.org>
8797
8798         ftell: Move AC_LIBOBJ invocations to module description.
8799         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
8800         * modules/ftell (configure.ac): ... to here.
8801
8802 2011-05-07  Bruno Haible  <bruno@clisp.org>
8803
8804         ftello: Respect rules for use of AC_LIBOBJ.
8805         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
8806         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
8807         here...
8808         * modules/ftello (configure.ac): ... to here.
8809
8810 2011-05-07  Bruno Haible  <bruno@clisp.org>
8811
8812         fseeko: Simplify.
8813         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
8814         (gl_FUNC_FSEEKO): Inline it here.
8815
8816 2011-05-07  Bruno Haible  <bruno@clisp.org>
8817
8818         fseek: Move AC_LIBOBJ invocations to module description.
8819         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
8820         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8821         * modules/fseek (configure.ac): ... to here.
8822
8823 2011-05-07  Bruno Haible  <bruno@clisp.org>
8824
8825         fseek: Respect rules for use of AC_LIBOBJ.
8826         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
8827         here...
8828         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
8829
8830 2011-05-07  Bruno Haible  <bruno@clisp.org>
8831
8832         fseeko: Respect rules for use of AC_LIBOBJ.
8833         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
8834         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
8835         here...
8836         * modules/fseeko (configure.ac): ... to here.
8837
8838 2011-06-13  Bruno Haible  <bruno@clisp.org>
8839
8840         gnulib-tool: Allow comments in the 'Depends-on' section.
8841         * doc/gnulib.texi (Module description): Mention comment syntax in the
8842         Depends-on section.
8843         * gnulib-tool (func_get_dependencies): Filter out comment lines.
8844
8845 2011-06-13  Bruno Haible  <bruno@clisp.org>
8846
8847         file-set.h: guard __attibute__ use, now that it's not always defined
8848         * lib/file-set.h (record_file): Use __attribute__ only with compiler
8849         versions that support it.  This fixes a coreutils build failure with
8850         the vendor cc on HP-UX 11.31.
8851
8852 2011-06-12  Bruno Haible  <bruno@clisp.org>
8853
8854         acl: Add support for HP-UX >= 11.11 JFS ACLs.
8855         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
8856         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
8857         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
8858         (acl, aclsort): New declarations.
8859         (aclv_nontrivial): New declaration.
8860         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
8861         (file_has_acl): Read also the second kind of HP-UX ACLs.
8862         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
8863         kind of HP-UX ACLs if the first kind fails.
8864         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
8865         second kind of HP-UX ACLs.
8866         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
8867         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
8868         agree.
8869         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8870         hpuxjfs.
8871         Handle hpuxjfs.
8872         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8873         hpuxjfs.
8874         Handle hpuxjfs.
8875         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8876         (func_test_same_acls): Use both lsacl and getacl.
8877         Handle hpuxjfs.
8878         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8879         (func_test_same_acls): Use both lsacl and getacl.
8880         Handle hpuxjfs.
8881
8882 2011-06-12  Bruno Haible  <bruno@clisp.org>
8883
8884         acl: Complete the 2010-08-10 fix.
8885         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
8886         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
8887         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
8888         explicitly.
8889         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
8890         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
8891
8892 2011-06-12  Bruno Haible  <bruno@clisp.org>
8893
8894         spawn-pipe tests: Comments.
8895         * tests/test-spawn-pipe-child.c (main): Update comment.
8896         Reported by James Youngman <jay@gnu.org>.
8897
8898 2011-06-11  James Youngman  <jay@gnu.org>
8899
8900         New module 'stat-size'.
8901         * modules/stat-size: New module.  Provides macros for accessing
8902         file size information in instances of struct stat.  Depends on the
8903         fileblocks module because it calls st_blocks.
8904         * lib/stat-size.h: New file, adapted from coreutils' system.h.
8905         * doc/gnulib.texi: Include stat-size.texi.
8906         * doc/stat-size.texi: Documentation for this module.
8907         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
8908         * m4/fileblocks.m4: Mention that stat-size depends on the call to
8909         AC_STRUCT_ST_BLOCKS.
8910
8911 2011-06-09  Bruno Haible  <bruno@clisp.org>
8912
8913         thread: Support pthreads-win32.
8914         * lib/glthread/thread.h (gl_thread_self): Define differently on
8915         pthreads-win32.
8916         (gl_null_thread): New declaration.
8917         (gl_thread_self_pointer): New macro.
8918         * lib/glthread/thread.c (gl_null_thread): New constant.
8919         * tests/test-lock.c: Use gl_thread_self_pointer instead of
8920         gl_thread_self.
8921         * tests/test-tls.c: Likewise.
8922         Suggested by Paul Eggert. Reported by Eric Blake.
8923
8924 2011-06-09  Bruno Haible  <bruno@clisp.org>
8925
8926         thread: Fix confusion between NULL and 0.
8927         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
8928         Reported by Paul Eggert.
8929
8930 2011-06-09  Bruno Haible  <bruno@clisp.org>
8931
8932         spawn-pipe tests: Avoid test failure on HP-UX 11.
8933         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
8934         is closed.
8935
8936 2011-06-09  Bruno Haible  <bruno@clisp.org>
8937
8938         acl tests: Fix compilation error on HP-UX 11.
8939         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
8940
8941 2011-06-09  Bruno Haible  <bruno@clisp.org>
8942
8943         rmdir: Avoid test failure on HP-UX 10.20.
8944         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
8945         EEXIST.
8946
8947 2011-06-08  Eric Blake  <eblake@redhat.com>
8948
8949         perror: fix test on mingw
8950         * modules/perror-tests (Depends-on): Add dup2.
8951
8952         strerror_r-posix: fix on MacOS
8953         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
8954         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
8955         logic bug.
8956         * lib/strerror_r.c (strerror_r): Fix the bug.
8957         * lib/strerror.c (strerror): Likewise.
8958         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
8959         problem.
8960         * doc/posix-functions/strerror.texi (strerror): Likewise.
8961         * doc/posix-functions/perror.texi (perror): Likewise.
8962         * tests/test-strerror.c (main): Enhance test.
8963         * tests/test-strerror_r.c (main): Likewise.
8964
8965 2011-06-08  Bruno Haible  <bruno@clisp.org>
8966
8967         gnulib-tool: Better isolation between different gnulib-tool invocations.
8968         * gnulib-tool: New option --witness-c-macro.
8969         (witness_c_macro): New variable.
8970         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
8971         AM_CPPFLAGS define it as a C macro.
8972         (func_emit_tests_Makefile_am): Likewise.
8973         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
8974         read it from there.
8975         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
8976         m4_define, not AC_DEFUN.
8977         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
8978         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
8979         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
8980         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
8981         s|...|...|, to substitute the values of the GNULIB_* module indicator
8982         variables.
8983         * modules/dirent (Makefile.am): Likewise.
8984         * modules/fcntl-h (Makefile.am): Likewise.
8985         * modules/iconv-h (Makefile.am): Likewise.
8986         * modules/langinfo (Makefile.am): Likewise.
8987         * modules/locale (Makefile.am): Likewise.
8988         * modules/math (Makefile.am): Likewise.
8989         * modules/netdb (Makefile.am): Likewise.
8990         * modules/poll-h (Makefile.am): Likewise.
8991         * modules/pty (Makefile.am): Likewise.
8992         * modules/search (Makefile.am): Likewise.
8993         * modules/signal (Makefile.am): Likewise.
8994         * modules/spawn (Makefile.am): Likewise.
8995         * modules/stdio (Makefile.am): Likewise.
8996         * modules/stdlib (Makefile.am): Likewise.
8997         * modules/string (Makefile.am): Likewise.
8998         * modules/sys_ioctl (Makefile.am): Likewise.
8999         * modules/sys_select (Makefile.am): Likewise.
9000         * modules/sys_socket (Makefile.am): Likewise.
9001         * modules/sys_stat (Makefile.am): Likewise.
9002         * modules/sys_times (Makefile.am): Likewise.
9003         * modules/sys_utsname (Makefile.am): Likewise.
9004         * modules/sys_wait (Makefile.am): Likewise.
9005         * modules/termios (Makefile.am): Likewise.
9006         * modules/time (Makefile.am): Likewise.
9007         * modules/unistd (Makefile.am): Likewise.
9008         * modules/wchar (Makefile.am): Likewise.
9009
9010 2011-06-08  Eric Blake  <eblake@redhat.com>
9011
9012         strerror: simplify replacement
9013         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
9014         * modules/strerror (configure.ac): No prereqs needed here...
9015         * modules/strerror-override (configure.ac): ...but this needs it.
9016         (Files): Add file for needed prereq macro.
9017
9018 2011-06-08  Bruno Haible  <bruno@clisp.org>
9019
9020         strerror_r-posix: Tweaks.
9021         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
9022         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
9023         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
9024         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
9025         (gl_FUNC_STRERROR_R): ... to here.
9026         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
9027
9028 2011-06-07  Eric Blake  <eblake@redhat.com>
9029
9030         perror: document fixed bugs
9031         * doc/posix-functions/perror.texi (perror): Document recent
9032         patches.
9033
9034 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
9035
9036         stat-time: get_stat_birthtime failure is better-defined
9037         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
9038         return a timestamp whose tv_sec and tv_nsec values are both -1.
9039         Previously, the spec said only that the tv_nsec value was negative.
9040         This upward-compatible change simplifies GNU tar a bit.
9041
9042 2011-06-07  Eric Blake  <eblake@redhat.com>
9043
9044         strerror_r-posix: work around cygwin 1.7.9
9045         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
9046         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
9047         bug without replacing strerror_r.
9048         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
9049         strerror_r is buggy, but without requiring strerror_r compilation.
9050         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
9051
9052         test-perror: relax test to ignore cygwin bug
9053         * tests/test-perror2.c (main): Relax test on requiring detection
9054         of stream errors, and use unbuffered stream.
9055         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
9056         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
9057         * doc/posix-functions/fputc.texi (fputc): Likewise.
9058         * doc/posix-functions/fputs.texi (fputs): Likewise.
9059         * doc/posix-functions/fputws.texi (fputws): Likewise.
9060         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
9061         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
9062         * doc/posix-functions/getopt.texi (getopt): Likewise.
9063         * doc/posix-functions/perror.texi (perror): Likewise.
9064         * doc/posix-functions/printf.texi (printf): Likewise.
9065         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
9066         * doc/posix-functions/psignal.texi (psignal): Likewise.
9067         * doc/posix-functions/putc.texi (putc): Likewise.
9068         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
9069         Likewise.
9070         * doc/posix-functions/putchar.texi (putchar): Likewise.
9071         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
9072         Likewise.
9073         * doc/posix-functions/puts.texi (puts): Likewise.
9074         * doc/posix-functions/putwc.texi (putwc): Likewise.
9075         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9076         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9077         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9078         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
9079         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9080         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9081         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9082         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
9083
9084 2011-05-22  Bruno Haible  <bruno@clisp.org>
9085
9086         strerror: Move AC_LIBOBJ invocations to module description.
9087         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
9088         gl_PREREQ_STRERROR invocations from here...
9089         * modules/strerror (configure.ac): ... to here.
9090
9091 2011-05-21  Bruno Haible  <bruno@clisp.org>
9092
9093         perror: Use common idiom.
9094         * modules/perror (configure.ac): Reorder statements.
9095
9096 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9097
9098         tests: fix usage message in 'mktempd_'
9099         * tests/init.sh (mktempd_): In the usage message, use literal
9100         'mktempd_', not '$ME' (which is even undefined), as the name of
9101         the subroutine.
9102
9103 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9104
9105         tests init: new function 'fatal_', for hard errors
9106         Before this patch, the only way offered by tests/init.sh to
9107         properly signal a hard error was the `framework_failure_'
9108         function.  But the error message issued by that function,
9109         as its name would suggest, refers to a set-up failure in the
9110         testsuite, while hard errors can obviously also be due to
9111         other reasons.  The best way to fix this inconsistency is to
9112         introduce a new function with a more general error message.
9113         * tests/init.sh (fatal_): New function.
9114
9115 2011-06-06  Eric Blake  <eblake@redhat.com>
9116
9117         canonicalize-lgpl: use common idiom
9118         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
9119         over newer POSIX -Rf.
9120         Reported by Bruno Haible.
9121
9122         canonicalize-lgpl: work around AIX realpath bug
9123         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
9124         * doc/posix-functions/realpath.texi (realpath): Document it.
9125         Reported by Bruno Haible.
9126
9127         strerror: work around FreeBSD bug
9128         * lib/strerror.c (strerror): Special case 0.
9129         Reported by Bruno Haible.
9130
9131         strerror-override: avoid bloating errno module
9132         * modules/errno (Files, configure.ac): Move replacement strings...
9133         * modules/strerror-override: ...to new module.
9134         * modules/strerror (Depends-on): Add strerror-override.
9135         * modules/strerror_r-posix (Depends-on): Likewise.
9136         * MODULES.html.sh: Document new module.
9137         Reported by Bruno Haible.
9138
9139 2011-06-06  Bruno Haible  <bruno@clisp.org>
9140
9141         spawn-pipe tests: Rename program.
9142         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
9143         * tests/test-spawn-pipe-child.c: Update comment.
9144         * tests/test-spawn-pipe.sh: Update.
9145         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
9146
9147         spawn-pipe tests: Link the child program only against libc.
9148         * tests/test-spawn-pipe-child.c: New file, extracted from
9149         tests/test-spawn-pipe.c.
9150         (main): Expect only one argument.
9151         (is_open): New function, copied from tests/test-pipe.c.
9152         * tests/test-spawn-pipe.c: Don't include <errno.h>.
9153         (child_main): Remove function.
9154         (test_pipe): Pass only one argument to the child program.
9155         (main): Remove child process code. Expect the child program's name as
9156         first argument.
9157         * tests/test-spawn-pipe.sh: Pass the child program's name as first
9158         argument.
9159         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
9160         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
9161         test-spawn-pipe-child against no libraries.
9162
9163 2011-06-06  Bruno Haible  <bruno@clisp.org>
9164
9165         careadlinkat: Avoid mismatch between ssize_t and int.
9166         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
9167         * lib/careadlinkat.c (careadlinkatcwd): Define always.
9168
9169 2011-06-06  Jim Meyering  <meyering@redhat.com>
9170
9171         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
9172         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
9173         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
9174
9175 2011-06-05  Bruno Haible  <bruno@clisp.org>
9176
9177         ansi-c++-opt: Interoperability with libtool.
9178         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
9179         set the variable to "no", not to ":".
9180         * NEWS: Mention the change.
9181
9182 2011-06-05  Bruno Haible  <bruno@clisp.org>
9183
9184         acl: Fix test failure on AIX 7.
9185         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
9186         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
9187
9188 2011-06-05  Bruno Haible  <bruno@clisp.org>
9189
9190         pipe-filter-ii: Fix test failure on AIX and IRIX.
9191         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
9192         with EAGAIN, retry with a smaller buffer size.
9193
9194 2011-06-05  Bruno Haible  <bruno@clisp.org>
9195
9196         localename: Fix link dependencies.
9197         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
9198         * modules/localename-tests (Makefile.am): Link test-localename with
9199         $(LIBTHREAD).
9200
9201 2011-06-05  Bruno Haible  <bruno@clisp.org>
9202
9203         error: Avoid gcc warning.
9204         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
9205
9206 2011-06-05  Bruno Haible  <bruno@clisp.org>
9207
9208         unsetenv: Avoid gcc warning.
9209         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
9210
9211 2011-06-05  Bruno Haible  <bruno@clisp.org>
9212
9213         setenv: Avoid gcc warning.
9214         * lib/setenv.c (setenv): Provide declaration if system lacks it.
9215
9216 2011-06-05  Bruno Haible  <bruno@clisp.org>
9217
9218         sys_select: Ensure memset is declared also on AIX 7.
9219         * lib/sys_select.in.h: Include <string.h> also on AIX.
9220         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
9221         self-contained also on AIX 7.1.
9222
9223 2011-06-04  Jim Meyering  <meyering@redhat.com>
9224
9225         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
9226         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
9227         function name, "error".
9228         (_gl_translatable_diag_func_re): New configurable variable.
9229
9230 2011-06-04  Bruno Haible  <bruno@clisp.org>
9231
9232         getopt: Avoid gcc warning.
9233         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
9234
9235 2011-06-04  Bruno Haible  <bruno@clisp.org>
9236
9237         strerror_r: Fix comments.
9238         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
9239         commit.
9240
9241 2011-06-04  Bruno Haible  <bruno@clisp.org>
9242
9243         perror: Fix compilation error.
9244         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
9245         Undefine fprintf, not sprintf.
9246         * modules/perror (Depends-on): Remove intprops, verify.
9247
9248 2011-06-04  Bruno Haible  <bruno@clisp.org>
9249
9250         setlocale: Enable replacement on Cygwin 1.5.
9251         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
9252         Cygwin 1.5.x.
9253         * doc/posix-functions/setlocale.texi: Mention that the problem with the
9254         LC_CTYPE category also exists on Cygwin 1.5.x.
9255
9256 2011-06-04  Bruno Haible  <bruno@clisp.org>
9257
9258         strerror-override: Don't disable symbol renamings.
9259         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
9260         * lib/strerror-override.c: Include config.h.
9261         (strerror_override): Don't undefine.
9262
9263 2011-06-03  Bruno Haible  <bruno@clisp.org>
9264
9265         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
9266         * lib/localename.h: Update copyright header.
9267         * lib/localename.c: Likewise.
9268         * lib/relocatable.h: Likewise.
9269         * lib/relocatable.c: Likewise.
9270
9271 2011-06-02  Bruno Haible  <bruno@clisp.org>
9272
9273         doc: Fix a module name.
9274         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
9275
9276 2011-06-02  Bruno Haible  <bruno@clisp.org>
9277
9278         pipe2: Remove dependency on 'nonblocking' module.
9279         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
9280         O_NONBLOCK is defined by gnulib.
9281         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
9282         is zero.
9283         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
9284         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
9285         defined by gnulib.
9286         (get_nonblocking_flag): New function.
9287         (main): Test O_NONBLOCK flag only if it is nonzero.
9288         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
9289
9290 2011-06-03  Jim Meyering  <meyering@redhat.com>
9291
9292         maint: three new prohibit-header-without-use rules
9293         Prohibit use of cloexec.h, posixver.h, same.h without use.
9294         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
9295         (sc_prohibit_posixver_without_use): Likewise.
9296         (sc_prohibit_same_without_use): Likewise.
9297
9298 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9299
9300         allocator: 'die' routine is now given requested size
9301         * lib/allocator.h (struct allocator.die): New size arg.
9302         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
9303         If the actual problem is an ssize_t limitation, not a size_t or
9304         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
9305
9306 2011-06-01  Eric Blake  <eblake@redhat.com>
9307
9308         strerror: drop strerror_r dependency
9309         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
9310         * lib/strerror-override.c (strerror_override): ...to new file.
9311         * lib/strerror-override.h: Add prototype.
9312         * lib/strerror-impl.h: Delete.
9313         * lib/strerror.c (strerror): New implementation.
9314         * modules/errno (Files): Add new files.
9315         (configure.ac): Compile new file as appropriate.
9316         * modules/strerror (Files): Drop unused file.
9317         (Depends-on): Drop strerror_r-posix.
9318         * MODULES.html.sh: Document strerror_r-posix.
9319         Requested by Sam Steingold.
9320
9321         perror: call strerror_r directly
9322         * modules/perror (Files): Drop strerror-impl.h.
9323         * lib/perror.c (perror): Use our own stack buffer, rather than
9324         calling a wrapper that uses static storage.
9325         * doc/posix-functions/perror.texi (perror): Document a limitation
9326         of our replacement.
9327
9328         strerror_r: fix includes for FreeBSD
9329         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
9330         since we use abort on some platforms.
9331         Reported by Matthias Bolte.
9332
9333 2011-05-31  Bruno Haible  <bruno@clisp.org>
9334
9335         Fix link errors in tests: openat-die uses gettext-h.
9336         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
9337         against $(LIBINTL).
9338         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
9339         against $(LIBINTL).
9340         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9341         $(LIBINTL).
9342         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
9343         against $(LIBINTL).
9344         * modules/linkat-tests (Makefile.am): Link test-linkat against
9345         $(LIBINTL).
9346         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
9347         $(LIBINTL).
9348         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
9349         against $(LIBINTL).
9350         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
9351         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
9352         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
9353         $(LIBINTL).
9354         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
9355         $(LIBINTL).
9356         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
9357         $(LIBINTL).
9358         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9359
9360 2011-05-31  Bruno Haible  <bruno@clisp.org>
9361
9362         Fix link errors in tests: wait-process uses gettext-h.
9363         * modules/nonblocking-pipe-tests (Makefile.am): Set
9364         test_nonblocking_pipe_main_LDADD.
9365         * modules/nonblocking-socket-tests (Makefile.am): Link
9366         test-nonblocking-socket-main against $(LIBINTL).
9367         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9368
9369 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9370
9371         assert-h: work around 'verify' incompatibility
9372         * lib/verify.h: Use @...@ directives, not ifdef.
9373         * modules/assert-h (assert.h): Implement the directives.
9374         (assert.h): Substitute the symbol-prefix more consistently.
9375
9376 2011-05-29  Jim Meyering  <meyering@redhat.com>
9377
9378         trim: remove three superfluous assignments
9379         * lib/trim.c (trim2): Remove three superfluous assignments
9380         and correct brace positioning.
9381
9382 2011-05-29  Bruno Haible  <bruno@clisp.org>
9383
9384         wctype-h: Avoid namespace pollution on Solaris 2.6.
9385         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9386         identifiers.
9387         * doc/posix-headers/wctype.texi: Mention the problem.
9388         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9389
9390 2011-05-28  Jim Meyering  <meyering@redhat.com>
9391
9392         parse-datetime.y: accommodate -Wstrict-overflow
9393         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9394         placate -Wstrict-overflow.
9395
9396         trim: avoid a warning from -O2 -Wstrict-overflow
9397         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9398
9399 2011-05-29  Bruno Haible  <bruno@clisp.org>
9400
9401         gnulib-tool: Fix bug in yesterday's commit.
9402         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9403         twice.
9404
9405 2011-05-29  Bruno Haible  <bruno@clisp.org>
9406
9407         Allow multiple gnulib generated include files to be combined.
9408         * gnulib-tool (func_compute_include_guard_prefix): New function.
9409         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9410         ${gl_include_guard_prefix} references.
9411         (func_import, func_create_testdir): Invoke
9412         func_compute_include_guard_prefix.
9413         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9414         * lib/ctype.in.h: Likewise.
9415         * lib/dirent.in.h: Likewise.
9416         * lib/errno.in.h: Likewise.
9417         * lib/fcntl.in.h: Likewise.
9418         * lib/float.in.h: Likewise.
9419         * lib/getopt.in.h: Likewise.
9420         * lib/iconv.in.h: Likewise.
9421         * lib/langinfo.in.h: Likewise.
9422         * lib/locale.in.h: Likewise.
9423         * lib/math.in.h: Likewise.
9424         * lib/netdb.in.h: Likewise.
9425         * lib/netinet_in.in.h: Likewise.
9426         * lib/poll.in.h: Likewise.
9427         * lib/pthread.in.h: Likewise.
9428         * lib/pty.in.h: Likewise.
9429         * lib/sched.in.h: Likewise.
9430         * lib/se-selinux.in.h: Likewise.
9431         * lib/search.in.h: Likewise.
9432         * lib/signal.in.h: Likewise.
9433         * lib/spawn.in.h: Likewise.
9434         * lib/stdarg.in.h: Likewise.
9435         * lib/stddef.in.h: Likewise.
9436         * lib/stdint.in.h: Likewise.
9437         * lib/stdio.in.h: Likewise.
9438         * lib/stdlib.in.h: Likewise.
9439         * lib/string.in.h: Likewise.
9440         * lib/strings.in.h: Likewise.
9441         * lib/sys_file.in.h: Likewise.
9442         * lib/sys_ioctl.in.h: Likewise.
9443         * lib/sys_select.in.h: Likewise.
9444         * lib/sys_socket.in.h: Likewise.
9445         * lib/sys_stat.in.h: Likewise.
9446         * lib/sys_time.in.h: Likewise.
9447         * lib/sys_times.in.h: Likewise.
9448         * lib/sys_uio.in.h: Likewise.
9449         * lib/sys_utsname.in.h: Likewise.
9450         * lib/sys_wait.in.h: Likewise.
9451         * lib/sysexits.in.h: Likewise.
9452         * lib/termios.in.h: Likewise.
9453         * lib/time.in.h: Likewise.
9454         * lib/unistd.in.h: Likewise.
9455         * lib/wchar.in.h: Likewise.
9456         * lib/wctype.in.h: Likewise.
9457         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9458         * modules/ctype (Makefile.am): Likewise.
9459         * modules/dirent (Makefile.am): Likewise.
9460         * modules/errno (Makefile.am): Likewise.
9461         * modules/fcntl-h (Makefile.am): Likewise.
9462         * modules/float (Makefile.am): Likewise.
9463         * modules/getopt-posix (Makefile.am): Likewise.
9464         * modules/iconv-h (Makefile.am): Likewise.
9465         * modules/langinfo (Makefile.am): Likewise.
9466         * modules/locale (Makefile.am): Likewise.
9467         * modules/math (Makefile.am): Likewise.
9468         * modules/netdb (Makefile.am): Likewise.
9469         * modules/netinet_in (Makefile.am): Likewise.
9470         * modules/poll-h (Makefile.am): Likewise.
9471         * modules/pthread (Makefile.am): Likewise.
9472         * modules/pty (Makefile.am): Likewise.
9473         * modules/sched (Makefile.am): Likewise.
9474         * modules/search (Makefile.am): Likewise.
9475         * modules/selinux-h (Makefile.am): Likewise.
9476         * modules/signal (Makefile.am): Likewise.
9477         * modules/spawn (Makefile.am): Likewise.
9478         * modules/stdarg (Makefile.am): Likewise.
9479         * modules/stddef (Makefile.am): Likewise.
9480         * modules/stdint (Makefile.am): Likewise.
9481         * modules/stdio (Makefile.am): Likewise.
9482         * modules/stdlib (Makefile.am): Likewise.
9483         * modules/string (Makefile.am): Likewise.
9484         * modules/strings (Makefile.am): Likewise.
9485         * modules/sys_file (Makefile.am): Likewise.
9486         * modules/sys_ioctl (Makefile.am): Likewise.
9487         * modules/sys_select (Makefile.am): Likewise.
9488         * modules/sys_socket (Makefile.am): Likewise.
9489         * modules/sys_stat (Makefile.am): Likewise.
9490         * modules/sys_time (Makefile.am): Likewise.
9491         * modules/sys_times (Makefile.am): Likewise.
9492         * modules/sys_uio (Makefile.am): Likewise.
9493         * modules/sys_utsname (Makefile.am): Likewise.
9494         * modules/sys_wait (Makefile.am): Likewise.
9495         * modules/sysexits (Makefile.am): Likewise.
9496         * modules/termios (Makefile.am): Likewise.
9497         * modules/time (Makefile.am): Likewise.
9498         * modules/unistd (Makefile.am): Likewise.
9499         * modules/wchar (Makefile.am): Likewise.
9500         * modules/wctype-h (Makefile.am): Likewise.
9501         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9502
9503 2011-05-29  Bruno Haible  <bruno@clisp.org>
9504
9505         assert-h: Allow multiple gnulib generated replacements to coexist.
9506         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9507
9508 2011-05-29  Bruno Haible  <bruno@clisp.org>
9509
9510         argp: Allow coexistence with strerror_r-posix module.
9511         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9512         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9513         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9514         not the glibc signature.
9515
9516 2011-05-28  Bruno Haible  <bruno@clisp.org>
9517
9518         gnulib-tool: Alternative structure of testdirs, similar to --import.
9519         * gnulib-tool: New option --single-configure.
9520         (func_usage): Document it.
9521         (single_configure): New variable.
9522         (func_modules_transitive_closure_separately,
9523         func_modules_transitive_closure_separately,
9524         func_determine_use_libtests, func_modules_add_dummy_separately,
9525         func_modules_to_filelist_separately): New functions, extracted from
9526         func_import.
9527         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9528         (func_import): Use the new functions.
9529         (func_create_testdir): Set final_modules. Handle $single_configure =
9530         true case.
9531
9532 2011-05-28  Bruno Haible  <bruno@clisp.org>
9533
9534         getloadavg: Remove an unreliable safety check.
9535         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9536         getloadavg.c is in place.
9537         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9538         Reported by Sam Steingold <sds@gnu.org>.
9539
9540 2011-05-28  Bruno Haible  <bruno@clisp.org>
9541
9542         doc: Cleanup yet another file produced by texinfo.tex.
9543         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9544
9545 2011-05-28  Bruno Haible  <bruno@clisp.org>
9546
9547         Finish the conditional dependencies mechanism.
9548         * gnulib-tool: New option --no-conditional-dependencies.
9549         (func_usage): Document it. Don't mark --conditional-dependencies as
9550         experimental.
9551         (cond_dependencies): The possible values can now be true, false, empty.
9552         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9553         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9554         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9555
9556 2011-05-28  Bruno Haible  <bruno@clisp.org>
9557
9558         doc: Use a recent texinfo.tex.
9559         * doc/Makefile (tex_opts): New variable.
9560         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9561
9562 2011-05-28  Jim Meyering  <meyering@redhat.com>
9563
9564         intprops.h: adjust comment to match code change
9565         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9566         only once, it *may* have side effects.  Also fix an unrelated typo.
9567         (_GL_INT_SIGNED): Likewise.
9568
9569 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9570
9571         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9572
9573 2011-05-26  Bruno Haible  <bruno@clisp.org>
9574
9575         mbsrchr: Avoid collision with system function on Interix.
9576         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9577         Reported by Markus Duft <mduft@gentoo.org>.
9578
9579 2011-05-15  James Youngman  <jay@gnu.org>
9580
9581         getopt: for ambiguous options, enumerate the possibilities.
9582         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9583         the ambiguous options when an ambiguous prefix is given. This was
9584         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9585         glibc change was
9586         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9587
9588 2011-05-25  Eric Blake  <eblake@redhat.com>
9589
9590         getcwd: work around mingw bug
9591         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9592         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9593         Reported by Matthias Bolte.
9594
9595 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9596
9597         test-intprops: disable -Wtype-limits diagnostics
9598         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9599         diagnostics.  Otherwise, the integer overflow macros generate many
9600         diagnostics.  Reported by Jim Meyering in
9601         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9602
9603         intprops: shorten, to pacify gcc -Woverlength-strings
9604         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9605         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9606         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9607         likely to run afoul of C compiler limits for string constant lengths.
9608         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9609
9610 2011-05-24  Eric Blake  <eblake@redhat.com>
9611
9612         docs: document recently fixed glibc printf bug
9613         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9614         * doc/posix-functions/printf.texi (printf): Likewise.
9615         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9616         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9617
9618         closein-tests: convert to init.sh
9619         * modules/closein-tests (Files): Add init.sh
9620         * tests/test-closein.sh Use it.
9621
9622         yesno-tests: convert to init.sh
9623         * modules/yesno-tests (Files): Add init.sh.
9624         * tests/test-yesno.sh: Use it.
9625
9626         atexit-tests: ensure reliable exit status
9627         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9628         Reported by Bruno Haible.
9629
9630 2011-05-24  Bruno Haible  <bruno@clisp.org>
9631
9632         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9633         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9634         gl_PREREQ_STRERROR_R invocations from here...
9635         * modules/strerror_r-posix (configure.ac): ... to here.
9636
9637 2011-05-24  Eric Blake  <eblake@redhat.com>
9638
9639         strerror_r: fix missing header
9640         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9641
9642         strerror_r: fix AIX test failures
9643         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9644         ERANGE failure.
9645
9646         strerror_r: fix Solaris test failures
9647         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9648         failures.
9649         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9650
9651         strerror_r: enforce POSIX recommendations
9652         * lib/strerror_r.c (safe_copy): New helper method.
9653         (strerror_r): Guarantee a non-empty string.
9654         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9655         recent POSIX rulings and to match our strerror guarantees.
9656         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9657
9658 2011-05-24  Jim Meyering  <meyering@redhat.com>
9659
9660         test-perror2.c: avoid warning about unused variable
9661         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9662
9663 2011-05-24  Eric Blake  <eblake@redhat.com>
9664
9665         perror: avoid spurious test failure on HP-UX
9666         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9667
9668         tests: fix logic bug in init.sh
9669         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9670         shell.
9671
9672 2011-05-24  Jim Meyering  <meyering@redhat.com>
9673
9674         utimensat: do not reference an out-of-scope buffer
9675         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9676         declared in an inner scope, yet "times" would be dereferenced outside
9677         the scope in which "ts" was valid.
9678         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9679         of ts[2] "out/up", so that the use of aliased "times" (via
9680         "times = ts;") does not end up referencing an out-of-scope "ts"
9681
9682         opendir-safer.c: don't clobber errno; don't close negative FD
9683         * lib/opendir-safer.c (opendir_safer):
9684         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9685         file descriptor, and more importantly, don't clobber the
9686         offending errno value with EINVAL.  Before, upon failure
9687         of dup_safer, we would pass the negative file descriptor to
9688         fdopendir, which would clobber errno.
9689
9690 2011-05-23  Bruno Haible  <bruno@clisp.org>
9691
9692         idcache: Fix module description.
9693         * modules/idcache (Include): Set to "idcache.h".
9694
9695 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9696
9697         gnulib-tool: fix portability problem with MacOS sed
9698         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9699         before the "}".  Problem reported by Leo in
9700         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9701         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9702         sed_extract_condition1, sed_extract_condition2.
9703
9704 2011-05-23  Bruno Haible  <bruno@clisp.org>
9705
9706         hash: Simplify autoconf macro.
9707         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9708
9709 2011-05-23  Bruno Haible  <bruno@clisp.org>
9710
9711         getugroups: Fix module description.
9712         * modules/getugroups (Include): Set to "getugroups.h".
9713
9714 2011-05-23  Bruno Haible  <bruno@clisp.org>
9715
9716         linkat: Simplify autoconf macro.
9717         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9718
9719 2011-05-23  Bruno Haible  <bruno@clisp.org>
9720             Eric Blake  <eblake@redhat.com>
9721
9722         linkat, renameat: Update dependencies.
9723         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9724         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9725         symlinkat.
9726
9727 2011-05-23  Jim Meyering  <meyering@redhat.com>
9728
9729         maint.mk: more tight_scope improvements
9730         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9731         (_gl_TS_headers): Define only in if-0'd block.
9732         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9733         sometimes we must *not* use it.  Adjust uses accordingly.
9734         (sc_tight_scope): Use much simpler grep-based test to determine
9735         whether we skip this rule.
9736
9737         maint.mk: generalize/improve the tight-scope rule
9738         * top/maint.mk: Emit a warning when the test is skipped.
9739         (_gl_TS_dir): Add $(srcdir)/ prefix.
9740         (_gl_TS_function_match): Simplify, rather than trying
9741         to enumerate common types.  Otherwise, it would fail to match an
9742         "extern unsigned char const *" declaration in idutils.
9743         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9744         a way to support use of that type of macro.
9745         (_gl_TS_var_match): Simplify regexp.
9746         (_gl_TS_obj_files): New configurable variable.
9747         (_gl_TS_headers): Likewise.
9748
9749 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9750
9751         verify: fix bug when gnulib <assert.h> is also included
9752         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9753         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9754         Perhaps there's a better way, but this fixes the immediate problem.
9755         Problem reported by Bruno Haible in
9756         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9757
9758 2011-05-22  Bruno Haible  <bruno@clisp.org>
9759
9760         xgetcwd: Simplify autoconf macro.
9761         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9762
9763 2011-05-22  Bruno Haible  <bruno@clisp.org>
9764
9765         New module 'mktime-internal'.
9766         * modules/mktime-internal: New file.
9767         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9768         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9769         mktime_internal as a C macro if libc has __mktime_internal.
9770         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9771         conditions.
9772         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9773
9774 2011-05-22  Bruno Haible  <bruno@clisp.org>
9775
9776         timegm: Correct mktime replacement statements.
9777         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9778         defining mktime as a C macro. This completes a 2009-07-28 commit.
9779
9780 2011-05-22  Bruno Haible  <bruno@clisp.org>
9781
9782         timegm: Simplify autoconf macro.
9783         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9784
9785 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9786
9787         clock-time: change to LGPLv2+.
9788         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9789         BSD-like but we have no mark for that; this is good enough for now.
9790
9791 2011-05-21  Bruno Haible  <bruno@clisp.org>
9792
9793         strerror_r: Fix comments.
9794         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
9795
9796 2011-05-21  Bruno Haible  <bruno@clisp.org>
9797
9798         relocatable-prog-wrapper: Fix possible link error.
9799         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
9800         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
9801         (gl_FUNC_SETENV): ... to here.
9802         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
9803         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
9804
9805 2011-05-21  Bruno Haible  <bruno@clisp.org>
9806
9807         relocatable-prog-wrapper: Assume strerror() exists.
9808         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
9809         m4/strerror.m4.
9810         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
9811         * lib/relocwrapper.c: Remove mention of strerror module.
9812         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
9813         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
9814         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
9815         C macro.
9816
9817 2011-05-21  Bruno Haible  <bruno@clisp.org>
9818
9819         select: Simplify replacement idiom.
9820         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
9821         Win32 platforms.
9822         * lib/sys_select.in.h (select): Simplify accordingly.
9823         * modules/select (Depends-on): Likewise.
9824
9825 2011-05-21  Bruno Haible  <bruno@clisp.org>
9826
9827         mkdir-p: Simplify autoconf macro.
9828         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
9829         gl_FUNC_LCHOWN.
9830
9831 2011-05-21  Eric Blake  <eblake@redhat.com>
9832
9833         strerror_r: avoid clobbering strerror on cygwin
9834         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
9835         fall back instead to sys_errlist.
9836         * modules/strerror (configure.ac): Add witness.
9837         * tests/test-strerror_r.c (main): Enhance test.
9838         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9839         * tests/test-perror2.c (main): Free memory before exit.
9840
9841 2011-05-21  Bruno Haible  <bruno@clisp.org>
9842
9843         mkdtemp: Use gnulib naming conventions.
9844         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
9845         * modules/mkdtemp (configure.ac): Update.
9846
9847 2011-05-20  Eric Blake  <eblake@redhat.com>
9848
9849         strerror_r: avoid corrupting errno on Solaris
9850         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
9851         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9852
9853         strerror_r: avoid compiler warning
9854         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
9855
9856         strerror_r: simplify AIX code
9857         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
9858
9859         test-perror: avoid spurious failure on FreeBSD
9860         * modules/perror-tests (Depends-on): Add strerror, now that
9861         strerror_r no longer pulls it in.
9862
9863 2011-05-20  Bruno Haible  <bruno@clisp.org>
9864
9865         strerror_r-posix: Remove unused dependencies.
9866         * modules/strerror_r-posix (Depends-on): Remove strerror.
9867         Reported by Eric Blake.
9868
9869 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9870
9871         intprops: remove assumption about A|B representation
9872         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
9873         is a valid integer if both A and B are.  Although this is true for
9874         all known practical hosts, the C standard doesn't guarantee it,
9875         and the code need not assume it.  Also, this change may work around
9876         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
9877         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
9878
9879 2011-05-20  Eric Blake  <eblake@redhat.com>
9880
9881         perror: work around FreeBSD bug
9882         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
9883         is broken.  Move AC_LIBOBJ...
9884         * modules/perror (configure.ac): Here.
9885         * doc/posix-functions/perror.texi (perror): Document this.
9886         * tests/test-perror2.c (main): Enhance test.
9887
9888         test-perror: check for strerror interactions
9889         * tests/macros.h (STREQ): Add macro.
9890         * modules/perror-tests (Files): Add second test.
9891         * tests/test-perror2.c (main): New file.
9892         * doc/posix-functions/perror.texi (perror): Document glibc bug.
9893
9894         test-perror: rewrite to use init script
9895         * modules/perror-tests (Files): Add init.sh.
9896         * tests/test-perror.sh: Use temporary directory.
9897
9898 2011-05-20  Jim Meyering  <meyering@redhat.com>
9899
9900         maint: replace misused "a" with "an"
9901         * doc/intprops.texi: "a integer"
9902         * doc/regex.texi: "a explanation"
9903         * lib/alignof.h: "a object"
9904         * lib/argmatch.h: "a explanation"
9905         * lib/argp-help.c: "a option" and "a OPTION_DOC"
9906         * lib/stdint.in.h: "a integer"
9907         * lib/userspec.c: "a owner"
9908         * doc/gnulib.texi: Fix "a idea", and reword.
9909
9910 2011-05-19  Jim Meyering  <meyering@redhat.com>
9911
9912         maint: correct misuse of "a" and "an"
9913         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
9914         * lib/argp-help.c: "an docum...": s/an/a/
9915         * lib/argp-parse.c: "An vector": s/An/A/
9916         * lib/execute.c: "an native": s/an/a/
9917         * lib/spawn-pipe.c: Likewise.
9918         * lib/gc.h: "an Gc_rc": s/an/a/
9919         * lib/unigbrk.in.h: "an grapheme": s/an/a/
9920         * lib/fts.c: "an stat.st_dev": s/an/a/
9921
9922 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9923
9924         intprops-tests: work around HP-UX 11.23 cc bug with constants
9925         * tests/test-intprops.c (VERIFY): New macro.
9926         (main): Use it, instead of verify, to work around the compiler bug; see
9927         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9928
9929         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
9930         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
9931         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
9932         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
9933         (_GL_REMAINDER_OVERFLOW): Use it.
9934
9935         intprops-tests: revert unsigned part of previous change
9936         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
9937         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
9938         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
9939         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
9940
9941 2011-05-19  Bruno Haible  <bruno@clisp.org>
9942
9943         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
9944         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
9945         strerror_r() returned without filling the buffer.
9946         Reported by Eric Blake.
9947
9948 2011-05-19  Eric Blake  <eblake@redhat.com>
9949
9950         strerror_r: guarantee unchanged errno
9951         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
9952         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
9953         failure.
9954         * tests/test-strerror_r.c (main): Enhance test.
9955
9956 2011-05-19  Bruno Haible  <bruno@clisp.org>
9957
9958         strerror_r: Reorder #if blocks.
9959         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
9960         for consistency with the previous commit.
9961
9962 2011-05-19  Bruno Haible  <bruno@clisp.org>
9963
9964         perror: Avoid clobbering the strerror buffer when possible.
9965         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
9966         * lib/strerror.c: Include it.
9967         * modules/strerror (Files): Add lib/strerror-impl.h.
9968         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
9969         (my_strerror): New function, defined through lib/strerror-impl.h.
9970         (perror): Use it instead of strerror.
9971         * modules/perror (Files): Add lib/strerror-impl.h.
9972         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
9973
9974 2011-05-19  Eric Blake  <eblake@redhat.com>
9975
9976         strerror_r: fix on newer cygwin
9977         * lib/strerror_r.c (strerror_r): Cygwin now has
9978         __xpg_strerror_r, use it.
9979
9980 2011-05-19  Bruno Haible  <bruno@clisp.org>
9981
9982         strerror_r: Avoid clobbering the strerror buffer when possible.
9983         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
9984         (sys_nerr, sys_errlist): New declarations.
9985         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
9986         HP-UX, native Win32, IRIX, and 32-bit Solaris.
9987         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
9988
9989 2011-05-19  Bruno Haible  <bruno@clisp.org>
9990
9991         strerror_r: Fix test failure on mingw.
9992         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
9993         EXTEND_STRERROR_R.
9994         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
9995         macros from errno.in.h instead.
9996
9997 2011-05-19  Eric Blake  <eblake@redhat.com>
9998
9999         strerror: relax test for Solaris
10000         * tests/test-strerror.c (main): Permit Solaris behavior.
10001         * tests/test-strerror_r.c (main): Likewise.
10002
10003         strerror: enforce POSIX ruling on strerror(0)
10004         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
10005         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10006         * lib/strerror_r.c (rpl_strerror_r): Work around it.
10007         * doc/posix-functions/strerror.texi (strerror): Document it.
10008         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
10009         * tests/test-strerror.c (main): Strengthen test.
10010         * tests/test-strerror_r.c (main): Likewise.
10011
10012 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10013
10014         intprop-tests: port to older and more-pedantic compilers
10015         * modules/intprops-tests (Files): Add tests/macros.h.
10016         * tests/test-intprops.c: Include macros.h.
10017         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
10018         it's no longer documented to expand to an integer constant expression.
10019         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
10020         argument is floating point, as it's no longer documented to expand
10021         to an integer constant expression in that case.
10022         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
10023         compiler bugs reported by Bruno Haible.  See
10024         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10025         (U0, U1): New constants, to work around the same bugs.  Also,
10026         in tests, use e.g., "(unsigned int) 39" rather than "39u".
10027
10028         intprops: work around C compiler bugs
10029         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
10030         bug in Sun C 5.11 2010/08/13 and other compilers; see
10031         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10032
10033         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
10034         * doc/intprops.texi (Integer Type Determination): Fix
10035         documentation for TYPE_IS_INTEGER: it returns an constant
10036         expression, not an integer constant expression.  Fix doc for
10037         TYPE_SIGNED: it returns an integer constant expression only if its
10038         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
10039         hardly worth documented that way....)
10040
10041 2011-05-18  Bruno Haible  <bruno@clisp.org>
10042
10043         strerror_r: Avoid clobbering the strerror buffer when possible.
10044         * lib/strerror_r.c (strerror_r): Merge the three implementations.
10045         Handle gnulib defined errno values here. When strerror() returns NULL
10046         or an empty string, return EINVAL.
10047         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
10048         gnulib defined errno values here.
10049         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
10050
10051 2011-05-18  Eric Blake  <eblake@redhat.com>
10052
10053         fnmatch: avoid compiler warning
10054         * lib/fnmatch_loop.c (FCT): Use correct type.
10055         Reported by Matthias Bolte.
10056
10057 2011-05-13  Jim Meyering  <meyering@redhat.com>
10058
10059         maint.mk: three new prohibit_<HDR>_without_use rules
10060         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
10061         (sc_prohibit_stdio-safer_without_use): Likewise.
10062         (sc_prohibit_xfreopen_without_use): Likewise.
10063
10064 2011-05-17  Jim Meyering  <meyering@redhat.com>
10065
10066         announce-gen: fail if the NEWS delta is empty
10067         If there's nothing noteworthy in NEWS, then either you forgot
10068         or you shouldn't be releasing.
10069         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
10070
10071 2011-05-17  Pádraig Brady <P@draigBrady.com>
10072
10073         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
10074         reserved symbols starting with double underscore from the check.
10075
10076 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10077
10078         intprops: add doc
10079         * doc/intprops.texi: New file, documenting intprops.
10080         * doc/gnulib.texi (Particular Modules): Include it.
10081
10082         verify: add doc to gnulib manual and fix example
10083         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
10084         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
10085         (Compile-time Assertions): Fix example so it can't overflow.
10086
10087 2011-05-17  Jim Meyering  <meyering@redhat.com>
10088
10089         warnings.m4: don't usurp save_CPPFLAGS variable name
10090         * m4/warnings.m4: Prefix local temporary variable name with gl_.
10091
10092         doc: fix typo
10093         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
10094
10095 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10096             Bruno Haible  <bruno@clisp.org>
10097
10098         doc: Tweak recent change.
10099         * README (Portability guidelines): Tweak new text.
10100         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
10101         Interix 6.1.
10102
10103 2011-05-16  Eric Blake  <eblake@redhat.com>
10104
10105         inttypes: avoid autoconf warning
10106         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
10107         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10108
10109 2011-05-16  Sam Steingold <sds@gnu.org>
10110         and Eric Blake  <eblake@redhat.com>
10111
10112         vc-list-files: accept multiple directory operands
10113         * build-aux/vc-list-files: Iterate over all remaining operands.
10114
10115 2011-05-16  Bruno Haible  <bruno@clisp.org>
10116
10117         Fix confusion regarding deprecated modules.
10118         * modules/calloc (Status, Notice): Mark module as deprecated, not
10119         obsolete.
10120         * modules/fnmatch-posix (Status, Notice): Likewise.
10121         * modules/getdate (Status, Notice): Likewise.
10122         * modules/getopt (Status, Notice): Likewise.
10123         * modules/malloc (Status, Notice): Likewise.
10124         * modules/pipe (Status, Notice): Likewise.
10125         * modules/realloc (Status, Notice): Likewise.
10126         * modules/rename-dest-slash (Status, Notice): Likewise.
10127         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
10128         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
10129         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
10130         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
10131         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
10132
10133 2011-05-16  Bruno Haible  <bruno@clisp.org>
10134
10135         doc: List the target platforms.
10136         * doc/gnulib-intro.texi (Target Platforms): New section.
10137         * doc/gnulib.texi (Introduction): Update menu.
10138         * README (Portability guidelines): Refer to the new section. Update
10139         statement about oldest supported environment. Remove rationale why
10140         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
10141         unportable C89 function.
10142         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
10143         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
10144
10145 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10146
10147         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
10148
10149 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10150
10151         intprops-tests: new module
10152         * modules/intprops-tests, tests/test-intprops.c: New files.
10153
10154         intprops: add safe, portable integer overflow checking
10155         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
10156         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
10157         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
10158         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
10159         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
10160         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
10161         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
10162         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
10163         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
10164         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
10165         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
10166
10167 2011-05-12  James Youngman  <jay@gnu.org>
10168
10169         Add a test for glibc's Bugzilla bug #12378.
10170         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
10171         doesn't allow the literal matching of a lone "[" (which is
10172         required by POSIX).
10173         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
10174
10175 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
10176
10177         Sync glibc change fixing Bugzilla bug #12378.
10178         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
10179         beginning and fall back to matching as normal character if the
10180         string ends before the matching ']' is found.  This is what POSIX
10181         requires.
10182
10183 2011-05-13  Eric Blake  <eblake@redhat.com>
10184
10185         getcwd-lgpl: relax test for FreeBSD
10186         * doc/posix-functions/getcwd.texi (getcwd): Document portability
10187         issue.
10188         * tests/test-getcwd-lgpl.c (main): Relax test.
10189         Reported by Matthias Bolte.
10190
10191 2011-05-11  Eric Blake  <eblake@redhat.com>
10192
10193         test-fflush: silence compiler warning
10194         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
10195
10196 2011-05-11  Bruno Haible  <bruno@clisp.org>
10197
10198         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
10199         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
10200         * modules/canonicalize (Depends-on): Add 'nocrash'.
10201         * modules/canonicalize-lgpl (Depends-on): Likewise.
10202         * doc/posix-functions/realpath.texi: Update platforms list.
10203         Reported by Ryan Schmidt <ryandesign@macports.org>.
10204
10205 2011-05-11  Bruno Haible  <bruno@clisp.org>
10206
10207         group-member: Declare function in <unistd.h>.
10208         * lib/unistd.in.h (group_member): New declaration.
10209         * lib/group-member.h: Remove file.
10210         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
10211         * tests/test-unistd-c++.cc: Check signature of group_member.
10212         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
10213         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
10214         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
10215         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
10216         HAVE_GROUP_MEMBER.
10217         * modules/group-member (Files): Remove lib/group-member.h.
10218         (Depends-on): Add unistd. Specify conditions.
10219         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10220         (Include): Change to <unistd.h>.
10221         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
10222         HAVE_GROUP_MEMBER.
10223         * NEWS: Mention the change.
10224         * lib/euidaccess.c: Don't include group-member.h.
10225
10226 2011-05-11  Bruno Haible  <bruno@clisp.org>
10227
10228         group-member: Document module.
10229         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
10230         module.
10231
10232 2011-05-11  Bruno Haible  <bruno@clisp.org>
10233
10234         fclose: Fix mistake earlier today.
10235         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
10236
10237 2011-05-11  Eric Blake  <eblake@redhat.com>
10238
10239         fclose: preserve fflush errors
10240         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
10241         Reported by Jim Meyering.
10242
10243         bootstrap: support a prereq of 'rpcgen -' on RHEL5
10244         * build-aux/bootstrap (check_versions): When no specific version
10245         is required, merely check that the app produces an exit status
10246         that indicates its existence.
10247
10248         maint.mk: drop redundant check
10249         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
10250         the same but better.
10251
10252 2011-05-11  Bruno Haible  <bruno@clisp.org>
10253
10254         fclose: Fix possible link error.
10255         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
10256         unregister_shadow_fd. Improve comments.
10257         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
10258         Eric Blake.
10259
10260 2011-05-11  Jim Meyering  <meyering@redhat.com>
10261
10262         maint.mk: improve "can not" detection and generalize rule name
10263         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
10264         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
10265         Use the same technique as in sc_prohibit_doubled_word, so that
10266         we recognize "can not" also when the words are separated by a newline.
10267         Suggested by Eric Blake.
10268         (perl_filename_lineno_text_): Define.  Factored out of...
10269         (prohibit_doubled_word_): ...here.  Use the new definition.
10270         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
10271         (prohibit_undesirable_word_seq_RE_): New overridable variable.
10272         (ignore_undesirable_word_sequence_RE_): New overridable variable.
10273
10274 2011-05-10  Eric Blake  <eblake@redhat.com>
10275
10276         fclose: avoid double close race when possible
10277         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
10278         all but WINDOWS_SOCKETS.
10279
10280 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
10281
10282         openat: correct new comment
10283         * lib/openat-proc.c (openat_proc_name): Correct the comment.
10284
10285 2011-05-10  Jim Meyering  <meyering@redhat.com>
10286
10287         openat: add comments
10288         * lib/openat-proc.c (openat_proc_name): Add comments,
10289         mostly from Eric Blake.
10290
10291 2011-05-09  Eric Blake  <eblake@redhat.com>
10292
10293         openat: reduce syscalls in first probe of /proc
10294         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
10295         be a directory.  Simplify the probe for .. bugs.
10296         * modules/openat (Depends-on): Drop same-inode.
10297         Reported by Bastien ROUCARIES.
10298
10299 2011-05-09  Jim Meyering  <meyering@redhat.com>
10300
10301         maint.mk: change semantics/name of tight_scope variables
10302         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
10303         Rename variables to align with semantics that make them more useful.
10304
10305         maint.mk: tweak new rule's name not to impinge
10306         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
10307         (sc_tight_scope): Use new rule name rather than $@-0.
10308
10309         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
10310         * top/maint.mk (sc_tight_scope): New rule.
10311         (sc_tight_scope-0): New rule, ifdef'd out.
10312         (_gl_TS_dir): Default.
10313         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
10314         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
10315
10316 2011-05-09  Simon Josefsson  <simon@josefsson.org>
10317
10318         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
10319         Haible <bruno@clisp.org>.
10320
10321 2011-05-08  Bruno Haible  <bruno@clisp.org>
10322
10323         Comments.
10324         * m4/isnanf.m4: Add comment.
10325         * m4/isnanl.m4: Likewise.
10326
10327 2011-05-08  Bruno Haible  <bruno@clisp.org>
10328
10329         glob: Remove obsolete macro.
10330         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
10331
10332 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10333
10334         intprops: Sun C 5.11 supports __typeof__
10335         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
10336         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
10337         which is new.
10338         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
10339
10340         intprops: switch to usual gnulib indenting and naming
10341         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
10342         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
10343
10344         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
10345
10346 2011-05-08  Jim Meyering  <meyering@redhat.com>
10347
10348         maint.mk: suppress "Entering/Leaving directory" diag in announcement
10349         * top/maint.mk (release-prep): Use make's --no-print-directory
10350         option when generating the announcement.  This eliminates the
10351         pesky "make[2]: Entering/Leaving directory" diagnostics in the
10352         generated announcement template.
10353
10354 2011-05-08  Bruno Haible  <bruno@clisp.org>
10355
10356         tzset: Fix gettimeofday wrapper on Solaris 2.6.
10357         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
10358         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
10359
10360 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
10361
10362         ignore-value, verify: Omit include files from lib_SOURCES.
10363         * modules/ignore-value, modules/verify (Makefile.am):
10364         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
10365         that leads Automake to duplicate use of am__objects_... variables
10366         in Makefile.in.  See
10367         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
10368
10369 2011-05-07  Bruno Haible  <bruno@clisp.org>
10370
10371         fclose: Simplify autoconf macro.
10372         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
10373         defined.
10374
10375 2011-05-07  Bruno Haible  <bruno@clisp.org>
10376
10377         canonicalize-lgpl: Fix autoconf macro ordering bug.
10378         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
10379         gl_STDLIB_H_DEFAULTS.
10380
10381 2011-05-06  Eric Blake  <eblake@redhat.com>
10382
10383         maintainer-makefile: make sc_po_check easier to tune
10384         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10385         to probe for strings, such as an alternate location for gnulib.
10386
10387         fclose: guarantee behavior on seekable stdin
10388         * modules/fclose (Depends-on): Add fflush.
10389         * doc/posix-functions/fclose.texi (fclose): Document this.
10390         * tests/test-fclose.c (main): Make test for this unconditional.
10391
10392 2011-05-06  Bruno Haible  <bruno@clisp.org>
10393
10394         fflush, fpurge: Relicense under LGPLv2+.
10395         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10396         * modules/fpurge (License): Likewise.
10397         With permission from Eric Blake and Jim Meyering.
10398         Suggested by Eric Blake.
10399
10400 2011-05-06  Karl Berry  <karl@gnu.org>
10401
10402         * MODULES.html.sh (func_all_modules): remove exit.
10403
10404 2011-05-06  Jim Meyering  <meyering@redhat.com>
10405
10406         maint.mk: use info-gnu@ as the default only for a stable release
10407         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10408         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10409         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10410         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10411
10412 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10413
10414         assert-h: new module, which supports C1X-style static_assert
10415         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10416         * lib/verify.h: Revamp so that this can be copied into assert.h,
10417         while retaining the ability to use it standalone as before.
10418         Rename private identifiers so as not to encroach on the
10419         standard C namespace, since this is now used by assert.h.
10420         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10421         the old verify_true.
10422         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10423         the old verify_true.  Use _GL_VERIFY_TYPE.
10424         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10425         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10426         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10427         defined when this file is copied into the replacement assert.h.
10428         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10429         and _Static_assert is not built in.
10430         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10431         defined, and use the new macros mentioned above.
10432         * doc/posix-headers/assert.texi: Document this.
10433
10434 2011-05-05  Bruno Haible  <bruno@clisp.org>
10435
10436         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10437         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10438         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10439         gl_REPLACE_FCLOSE here.
10440         * modules/fflush (Depends-on): Remove fclose.
10441         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10442         combination with module 'fclose'.
10443
10444 2011-05-05  Bruno Haible  <bruno@clisp.org>
10445
10446         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10447         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10448         gl_FUNC_FFLUSH.
10449         (gl_FUNC_FFLUSH): Use it.
10450         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10451         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10452         gl_REPLACE_FSEEKO here.
10453
10454 2011-05-05  Bruno Haible  <bruno@clisp.org>
10455
10456         tzset: Relicense under LGPL.
10457         * modules/tzset (License): Change to LGPL.
10458         No agreement needed; it's a no-op.
10459
10460         strtoimax, strtoumax: Relicense under LGPL.
10461         * modules/strtoimax (License): Change to LGPL.
10462         * modules/strtoumax (License): Likewise.
10463         With permission from Jim Meyering, Paul Eggert:
10464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10465         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10466
10467         getgroups: Relicense under LGPL.
10468         * modules/getgroups (License): Change to LGPL.
10469         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10470         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10471         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10472         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10473
10474         nanosleep: Relicense under LGPL.
10475         * modules/nanosleep (License): Change to LGPL.
10476         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10477         Haible:
10478         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10479         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10480         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10481         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10482
10483         futimens: Relicense under LGPL.
10484         * modules/futimens (License): Change to LGPL.
10485         With permission from Eric Blake:
10486         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10487
10488         fflush: Relicense under LGPL.
10489         * modules/fflush (License): Change to LGPL.
10490         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10491         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10492         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10493         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10494
10495         tmpfile: Relicense under LGPL.
10496         * modules/tmpfile (License): Change to LGPL.
10497         With permission from Ben Pfaff:
10498         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10499
10500         isfinite: Relicense under LGPL.
10501         * modules/isfinite (License): Change to LGPL.
10502         With permission from Ben Pfaff, Bruno Haible:
10503         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10504         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10505
10506         acosl..tanl: Relicense under LGPL.
10507         * modules/acosl (License): Change to LGPL.
10508         * modules/asinl (License): Likewise.
10509         * modules/atanl (License): Likewise.
10510         * modules/cosl (License): Likewise.
10511         * modules/expl (License): Likewise.
10512         * modules/logl (License): Likewise.
10513         * modules/sinl (License): Likewise.
10514         * modules/sqrtl (License): Likewise.
10515         * modules/tanl (License): Likewise.
10516         Source code originally from glibc and Paolo Bonzini. Agreements:
10517         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10518         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10519
10520 2011-05-05  Bruno Haible  <bruno@clisp.org>
10521
10522         signal: Define sighandler_t.
10523         * lib/signal.in.h (sighandler_t): New type.
10524         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10525         whether sighandler_t is defined.
10526         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10527         * modules/signal (Depends-on): Add extensions.
10528         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10529         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10530         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10531
10532 2011-05-05  Eric Blake  <eblake@redhat.com>
10533
10534         maint: remove useless REPLACE_*_H macros
10535         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10536         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10537         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10538         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10539         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10540         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10541         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10542         * m4/btowc.m4: Update callers.
10543         * m4/dirfd.m4: Likewise.
10544         * m4/duplocale.m4: Likewise.
10545         * m4/fchdir.m4: Likewise.
10546         * m4/fdopendir.m4: Likewise.
10547         * m4/inet_ntop.m4: Likewise.
10548         * m4/inet_pton.m4: Likewise.
10549         * m4/ioctl.m4: Likewise.
10550         * m4/mbrlen.m4: Likewise.
10551         * m4/mbrtowc.m4: Likewise.
10552         * m4/mbsinit.m4: Likewise.
10553         * m4/mbsnrtowcs.m4: Likewise.
10554         * m4/mbsrtowcs.m4: Likewise.
10555         * m4/poll.m4: Likewise.
10556         * m4/setlocale.m4: Likewise.
10557         * m4/wcrtomb.m4: Likewise.
10558         * m4/wcsnrtombs.m4: Likewise.
10559         * m4/wcsrtombs.m4: Likewise.
10560         * m4/wctob.m4: Likewise.
10561         * m4/wcwidth.m4: Likewise.
10562         * modules/posix_spawn: Likewise.
10563         * modules/posix_spawn_file_actions_addclose: Likewise.
10564         * modules/posix_spawn_file_actions_adddup2: Likewise.
10565         * modules/posix_spawn_file_actions_addopen: Likewise.
10566         * modules/posix_spawn_file_actions_destroy: Likewise.
10567         * modules/posix_spawn_file_actions_init: Likewise.
10568         * modules/posix_spawnattr_destroy: Likewise.
10569         * modules/posix_spawnattr_getflags: Likewise.
10570         * modules/posix_spawnattr_getpgroup: Likewise.
10571         * modules/posix_spawnattr_getschedparam: Likewise.
10572         * modules/posix_spawnattr_getschedpolicy: Likewise.
10573         * modules/posix_spawnattr_getsigdefault: Likewise.
10574         * modules/posix_spawnattr_getsigmask: Likewise.
10575         * modules/posix_spawnattr_init: Likewise.
10576         * modules/posix_spawnattr_setflags: Likewise.
10577         * modules/posix_spawnattr_setpgroup: Likewise.
10578         * modules/posix_spawnattr_setschedparam: Likewise.
10579         * modules/posix_spawnattr_setschedpolicy: Likewise.
10580         * modules/posix_spawnattr_setsigdefault: Likewise.
10581         * modules/posix_spawnattr_setsigmask: Likewise.
10582         * modules/posix_spawnp: Likewise.
10583
10584 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10585
10586         Add option to do-release-commit-and-tag to specify branch.
10587         * build-aux/do-release-commit-and-tag: Add --branch.
10588
10589 2011-05-03  Bruno Haible  <bruno@clisp.org>
10590
10591         Avoid unnecessary compilation units, through conditional dependencies.
10592         * modules/accept (Depends-on): Add conditions to the dependencies.
10593         * modules/acosl (Depends-on): Likewise.
10594         * modules/argz (Depends-on): Likewise.
10595         * modules/asinl (Depends-on): Likewise.
10596         * modules/atanl (Depends-on): Likewise.
10597         * modules/atoll (Depends-on): Likewise.
10598         * modules/bind (Depends-on): Likewise.
10599         * modules/btowc (Depends-on): Likewise.
10600         * modules/canonicalize-lgpl (Depends-on): Likewise.
10601         * modules/ceil (Depends-on): Likewise.
10602         * modules/ceilf (Depends-on): Likewise.
10603         * modules/ceill (Depends-on): Likewise.
10604         * modules/chdir-long (Depends-on): Likewise.
10605         * modules/chown (Depends-on): Likewise.
10606         * modules/close (Depends-on): Likewise.
10607         * modules/connect (Depends-on): Likewise.
10608         * modules/cosl (Depends-on): Likewise.
10609         * modules/dirfd (Depends-on): Likewise.
10610         * modules/dprintf (Depends-on): Likewise.
10611         * modules/dprintf-posix (Depends-on): Likewise.
10612         * modules/error (Depends-on): Likewise.
10613         * modules/euidaccess (Depends-on): Likewise.
10614         * modules/expl (Depends-on): Likewise.
10615         * modules/faccessat (Depends-on): Likewise.
10616         * modules/fchdir (Depends-on): Likewise.
10617         * modules/fclose (Depends-on): Likewise.
10618         * modules/fcntl (Depends-on): Likewise.
10619         * modules/fdopendir (Depends-on): Likewise.
10620         * modules/fflush (Depends-on): Likewise.
10621         * modules/floor (Depends-on): Likewise.
10622         * modules/floorf (Depends-on): Likewise.
10623         * modules/floorl (Depends-on): Likewise.
10624         * modules/fnmatch (Depends-on): Likewise.
10625         * modules/fopen (Depends-on): Likewise.
10626         * modules/fprintf-posix (Depends-on): Likewise.
10627         * modules/frexp (Depends-on): Likewise.
10628         * modules/frexp-nolibm (Depends-on): Likewise.
10629         * modules/frexpl (Depends-on): Likewise.
10630         * modules/frexpl-nolibm (Depends-on): Likewise.
10631         * modules/fseek (Depends-on): Likewise.
10632         * modules/fsusage (Depends-on): Likewise.
10633         * modules/ftell (Depends-on): Likewise.
10634         * modules/ftello (Depends-on): Likewise.
10635         * modules/futimens (Depends-on): Likewise.
10636         * modules/getcwd (Depends-on): Likewise.
10637         * modules/getcwd-lgpl (Depends-on): Likewise.
10638         * modules/getdelim (Depends-on): Likewise.
10639         * modules/getdomainname (Depends-on): Likewise.
10640         * modules/getgroups (Depends-on): Likewise.
10641         * modules/gethostname (Depends-on): Likewise.
10642         * modules/getline (Depends-on): Likewise.
10643         * modules/getlogin_r (Depends-on): Likewise.
10644         * modules/getopt-posix (Depends-on): Likewise.
10645         * modules/getpeername (Depends-on): Likewise.
10646         * modules/getsockname (Depends-on): Likewise.
10647         * modules/getsockopt (Depends-on): Likewise.
10648         * modules/getsubopt (Depends-on): Likewise.
10649         * modules/getusershell (Depends-on): Likewise.
10650         * modules/glob (Depends-on): Likewise.
10651         * modules/grantpt (Depends-on): Likewise.
10652         * modules/iconv_open (Depends-on): Likewise.
10653         * modules/iconv_open-utf (Depends-on): Likewise.
10654         * modules/inet_ntop (Depends-on): Likewise.
10655         * modules/inet_pton (Depends-on): Likewise.
10656         * modules/ioctl (Depends-on): Likewise.
10657         * modules/isapipe (Depends-on): Likewise.
10658         * modules/isfinite (Depends-on): Likewise.
10659         * modules/isinf (Depends-on): Likewise.
10660         * modules/lchown (Depends-on): Likewise.
10661         * modules/ldexpl (Depends-on): Likewise.
10662         * modules/link (Depends-on): Likewise.
10663         * modules/linkat (Depends-on): Likewise.
10664         * modules/listen (Depends-on): Likewise.
10665         * modules/logl (Depends-on): Likewise.
10666         * modules/lstat (Depends-on): Likewise.
10667         * modules/mbrlen (Depends-on): Likewise.
10668         * modules/mbrtowc (Depends-on): Likewise.
10669         * modules/mbsinit (Depends-on): Likewise.
10670         * modules/mbsnrtowcs (Depends-on): Likewise.
10671         * modules/mbsrtowcs (Depends-on): Likewise.
10672         * modules/mbtowc (Depends-on): Likewise.
10673         * modules/memcmp (Depends-on): Likewise.
10674         * modules/mkdir (Depends-on): Likewise.
10675         * modules/mkdtemp (Depends-on): Likewise.
10676         * modules/mkfifo (Depends-on): Likewise.
10677         * modules/mkfifoat (Depends-on): Likewise.
10678         * modules/mknod (Depends-on): Likewise.
10679         * modules/mkostemp (Depends-on): Likewise.
10680         * modules/mkostemps (Depends-on): Likewise.
10681         * modules/mkstemp (Depends-on): Likewise.
10682         * modules/mkstemps (Depends-on): Likewise.
10683         * modules/mktime (Depends-on): Likewise.
10684         * modules/nanosleep (Depends-on): Likewise.
10685         * modules/open (Depends-on): Likewise.
10686         * modules/openat (Depends-on): Likewise.
10687         * modules/perror (Depends-on): Likewise.
10688         * modules/poll (Depends-on): Likewise.
10689         * modules/popen (Depends-on): Likewise.
10690         * modules/posix_spawn (Depends-on): Likewise.
10691         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10692         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10693         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10694         * modules/posix_spawnp (Depends-on): Likewise.
10695         * modules/pread (Depends-on): Likewise.
10696         * modules/printf-posix (Depends-on): Likewise.
10697         * modules/ptsname (Depends-on): Likewise.
10698         * modules/putenv (Depends-on): Likewise.
10699         * modules/pwrite (Depends-on): Likewise.
10700         * modules/readline (Depends-on): Likewise.
10701         * modules/readlink (Depends-on): Likewise.
10702         * modules/readlinkat (Depends-on): Likewise.
10703         * modules/recv (Depends-on): Likewise.
10704         * modules/recvfrom (Depends-on): Likewise.
10705         * modules/regex (Depends-on): Likewise.
10706         * modules/remove (Depends-on): Likewise.
10707         * modules/rename (Depends-on): Likewise.
10708         * modules/renameat (Depends-on): Likewise.
10709         * modules/rmdir (Depends-on): Likewise.
10710         * modules/round (Depends-on): Likewise.
10711         * modules/roundf (Depends-on): Likewise.
10712         * modules/roundl (Depends-on): Likewise.
10713         * modules/rpmatch (Depends-on): Likewise.
10714         * modules/select (Depends-on): Likewise.
10715         * modules/send (Depends-on): Likewise.
10716         * modules/sendto (Depends-on): Likewise.
10717         * modules/setenv (Depends-on): Likewise.
10718         * modules/setlocale (Depends-on): Likewise.
10719         * modules/setsockopt (Depends-on): Likewise.
10720         * modules/shutdown (Depends-on): Likewise.
10721         * modules/sigaction (Depends-on): Likewise.
10722         * modules/signbit (Depends-on): Likewise.
10723         * modules/sigprocmask (Depends-on): Likewise.
10724         * modules/sinl (Depends-on): Likewise.
10725         * modules/sleep (Depends-on): Likewise.
10726         * modules/snprintf (Depends-on): Likewise.
10727         * modules/snprintf-posix (Depends-on): Likewise.
10728         * modules/socket (Depends-on): Likewise.
10729         * modules/sprintf-posix (Depends-on): Likewise.
10730         * modules/sqrtl (Depends-on): Likewise.
10731         * modules/stat (Depends-on): Likewise.
10732         * modules/strchrnul (Depends-on): Likewise.
10733         * modules/strdup-posix (Depends-on): Likewise.
10734         * modules/strerror (Depends-on): Likewise.
10735         * modules/strerror_r-posix (Depends-on): Likewise.
10736         * modules/strndup (Depends-on): Likewise.
10737         * modules/strnlen (Depends-on): Likewise.
10738         * modules/strptime (Depends-on): Likewise.
10739         * modules/strsep (Depends-on): Likewise.
10740         * modules/strsignal (Depends-on): Likewise.
10741         * modules/strstr-simple (Depends-on): Likewise.
10742         * modules/strtod (Depends-on): Likewise.
10743         * modules/strtoimax (Depends-on): Likewise.
10744         * modules/strtok_r (Depends-on): Likewise.
10745         * modules/strtoumax (Depends-on): Likewise.
10746         * modules/symlink (Depends-on): Likewise.
10747         * modules/symlinkat (Depends-on): Likewise.
10748         * modules/tanl (Depends-on): Likewise.
10749         * modules/tcgetsid (Depends-on): Likewise.
10750         * modules/tmpfile (Depends-on): Likewise.
10751         * modules/trunc (Depends-on): Likewise.
10752         * modules/truncf (Depends-on): Likewise.
10753         * modules/truncl (Depends-on): Likewise.
10754         * modules/uname (Depends-on): Likewise.
10755         * modules/unlink (Depends-on): Likewise.
10756         * modules/unlockpt (Depends-on): Likewise.
10757         * modules/unsetenv (Depends-on): Likewise.
10758         * modules/usleep (Depends-on): Likewise.
10759         * modules/utimensat (Depends-on): Likewise.
10760         * modules/vasprintf (Depends-on): Likewise.
10761         * modules/vdprintf (Depends-on): Likewise.
10762         * modules/vdprintf-posix (Depends-on): Likewise.
10763         * modules/vfprintf-posix (Depends-on): Likewise.
10764         * modules/vprintf-posix (Depends-on): Likewise.
10765         * modules/vsnprintf (Depends-on): Likewise.
10766         * modules/vsnprintf-posix (Depends-on): Likewise.
10767         * modules/vsprintf-posix (Depends-on): Likewise.
10768         * modules/wcrtomb (Depends-on): Likewise.
10769         * modules/wcscasecmp (Depends-on): Likewise.
10770         * modules/wcscspn (Depends-on): Likewise.
10771         * modules/wcsdup (Depends-on): Likewise.
10772         * modules/wcsncasecmp (Depends-on): Likewise.
10773         * modules/wcsnrtombs (Depends-on): Likewise.
10774         * modules/wcspbrk (Depends-on): Likewise.
10775         * modules/wcsrtombs (Depends-on): Likewise.
10776         * modules/wcsspn (Depends-on): Likewise.
10777         * modules/wcsstr (Depends-on): Likewise.
10778         * modules/wcstok (Depends-on): Likewise.
10779         * modules/wcswidth (Depends-on): Likewise.
10780         * modules/wctob (Depends-on): Likewise.
10781         * modules/wctomb (Depends-on): Likewise.
10782         * modules/wctype (Depends-on): Likewise.
10783         * modules/wcwidth (Depends-on): Likewise.
10784         * modules/write (Depends-on): Likewise.
10785
10786 2011-05-03  Bruno Haible  <bruno@clisp.org>
10787
10788         Support for conditional dependencies.
10789         * doc/gnulib.texi (Module description): Document the syntax of
10790         conditional dependencies.
10791         * gnulib-tool: New option --conditional-dependencies.
10792         (func_usage): Document it.
10793         (cond_dependencies): New variable.
10794         (func_get_automake_snippet_conditional,
10795         func_get_automake_snippet_unconditional): New functions, extracted from
10796         func_get_automake_snippet.
10797         (func_get_automake_snippet): Use them.
10798         (sed_first_32_chars): New variable.
10799         (func_module_shellfunc_name): New function.
10800         (func_module_shellvar_name): New function.
10801         (func_module_conditional_name): New function.
10802         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
10803         func_cond_module_condition): New functions.
10804         (func_modules_transitive_closure): Add support for conditional
10805         dependencies.
10806         (func_emit_lib_Makefile_am): For a conditional module, enclose the
10807         conditional automake snippet in an automake conditional.
10808         (func_emit_autoconf_snippets): Emit shell functions that contain the
10809         code for conditional modules.
10810         (func_import, func_create_testdir): Update specification.
10811
10812 2011-05-03  Eric Blake  <eblake@redhat.com>
10813
10814         test-getaddrinfo: report error information
10815         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
10816
10817 2011-05-03  Jim Meyering  <meyering@redhat.com>
10818
10819         bootstrap: avoid build failure when $GZIP is set
10820         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
10821         program name.  If defined at all, it is supposed to list gzip options.
10822         Reported by Alan Curry in http://debbugs.gnu.org/8609
10823
10824 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
10825
10826         readme-release: new module with release instructions
10827         * modules/readme-release: New module.
10828         * top/README-release: New file, from coreutils, grep, diffutils.
10829         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10830
10831 2011-05-02  Eric Blake  <eblake@redhat.com>
10832
10833         fflush: also replace fclose when fixing fflush
10834         * modules/fflush (Depends-on): Add fclose.
10835         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
10836         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
10837         memstreams with no backing fd.
10838         * doc/posix-functions/fclose.texi (fclose): Document the use of
10839         fflush module to fix the bug.
10840         * tests/test-fclose.c (main): Relax test when fclose is used in
10841         isolation.
10842
10843         fclose: add some tests
10844         * modules/fclose-tests: New test module.
10845         * tests/test-fclose.c: New file.
10846         * doc/posix-functions/fclose.texi (fclose): Document the bug.
10847
10848         fclose: reduced dependencies
10849         * modules/fclose (Depends-on): Switch from fflush/fseeko to
10850         simpler lseek.
10851         * lib/fclose.c (rpl_fclose): Likewise.
10852         Reported by Simon Josefsson.
10853
10854         exit: drop remaining clients
10855         * modules/argmatch (Depends-on): Replace exit with stdlib.
10856         * modules/copy-file (Depends-on): Likewise.
10857         * modules/execute (Depends-on): Likewise.
10858         * modules/exitfail (Depends-on): Likewise.
10859         * modules/obstack (Depends-on): Likewise.
10860         * modules/pagealign_alloc (Depends-on): Likewise.
10861         * modules/pipe-filter-gi (Depends-on): Likewise.
10862         * modules/pipe-filter-ii (Depends-on): Likewise.
10863         * modules/savewd (Depends-on): Likewise.
10864         * modules/spawn-pipe (Depends-on): Likewise.
10865         * modules/wait-process (Depends-on): Likewise.
10866         * modules/xsetenv (Depends-on): Likewise.
10867         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
10868         * modules/git-merge-changelog (Depends-on): Likewise.
10869         * modules/long-options (Depends-on): Likewise.
10870         * modules/pt_chown (Depends-on): Likewise.
10871         * modules/sysexits (Depends-on): Likewise.
10872
10873         freading: relax license from LGPLv3+ to LGPLv2+
10874         * modules/freading (License): Relax LGPL version.
10875
10876 2011-05-02  Bruno Haible  <bruno@clisp.org>
10877
10878         fchdir: Remove unused dependencies.
10879         * modules/fchdir (Depends-on): Remove include_next.
10880
10881 2011-05-02  Bruno Haible  <bruno@clisp.org>
10882
10883         gnulib-tool: Refactor.
10884         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
10885         from func_emit_autoconf_snippets.
10886         (func_emit_autoconf_snippets): Use it.
10887
10888 2011-05-02  Simon Josefsson  <simon@josefsson.org>
10889
10890         * NEWS: Document removal of 'exit'.
10891         * modules/exit: Remove file.
10892
10893 2011-05-01  Bruno Haible  <bruno@clisp.org>
10894
10895         Update DEPENDENCIES.
10896         * DEPENDENCIES (gettext): Recommend the newest release.
10897         Reported by Simon Josefsson.
10898
10899 2011-05-01  Bruno Haible  <bruno@clisp.org>
10900
10901         gnulib-tool: Reduce code duplication.
10902         * gnulib-tool (func_emit_autoconf_snippets): New function.
10903         (func_import, func_create_testdir): Use it.
10904
10905 2011-04-30  Eric Blake  <eblake@redhat.com>
10906
10907         fclose: don't fail on non-seekable input stream
10908         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
10909         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
10910         since fflush is allowed to fail in that case.
10911
10912 2011-04-30  Bruno Haible  <bruno@clisp.org>
10913
10914         dup3: cleanup
10915         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
10916
10917 2011-04-30  Bruno Haible  <bruno@clisp.org>
10918
10919         netdb: Make it work in C++ mode.
10920         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
10921         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
10922         module.
10923         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
10924         gl_MODULE_INDICATOR_FOR_TESTS.
10925         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
10926         * modules/netdb-c++-tests: New file.
10927         * tests/test-netdb-c++.cc: New file.
10928
10929 2011-04-30  Bruno Haible  <bruno@clisp.org>
10930
10931         New modules 'vfscanf', 'vscanf'.
10932         * modules/vfscanf: New file.
10933         * modules/vscanf: New file.
10934         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
10935         here.
10936         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
10937         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
10938
10939 2011-04-30  Bruno Haible  <bruno@clisp.org>
10940
10941         passfd: Add comments.
10942         * lib/passfd.c: Add comments about platforms.
10943
10944 2011-04-30  Bruno Haible  <bruno@clisp.org>
10945
10946         sys_uio: Make <sys/uio.h> self-contained.
10947         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
10948         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
10949
10950 2011-04-30  Bruno Haible  <bruno@clisp.org>
10951
10952         sys_socket: Ensure 'struct iovec' definition.
10953         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
10954         <sys/socket.h>.
10955         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
10956
10957 2011-04-30  Bruno Haible  <bruno@clisp.org>
10958
10959         sys_uio: Protect definition of 'struct iovec'.
10960         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
10961         it as a C struct.
10962
10963 2011-04-30  Bruno Haible  <bruno@clisp.org>
10964
10965         manywarnings: fix indentation
10966         * m4/manywarnings.m4: Indent by 2 spaces consistently.
10967
10968 2011-04-30  Pádraig Brady <P@draigBrady.com>
10969
10970         manywarnings: add -Wno-missing-field-initializers if needed.
10971         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
10972         option if it's needed to allow initialization with { 0, }
10973
10974 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
10975
10976         announce-gen: cosmetic improvement
10977         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
10978
10979 2011-04-29  Jim Meyering  <meyering@redhat.com>
10980
10981         vc-list-files: indent with spaces, not TABs
10982         * build-aux/vc-list-files: Convert leading TABs to spaces,
10983         to match the style of most other files in gnulib.
10984
10985         announce-gen: indent with spaces, not TABs
10986         * build-aux/announce-gen: Convert all TABs to spaces, to match
10987         the style of most other files in gnulib.
10988
10989 2011-04-29  Eric Blake  <eblake@redhat.com>
10990
10991         quotearg: avoid uninitialized variable use
10992         * lib/quotearg.c (quoting_options_from_style): Initialize
10993         remaining fields, and ensure that custom styles are only used via
10994         quoting_options rather than quoting_style.
10995
10996 2011-04-29  Jim Meyering  <meyering@redhat.com>
10997
10998         maint.mk: remove unused VC-tag variable
10999         * top/maint.mk (VC-tag): Remove unused variable.
11000
11001 2011-04-29  Bruno Haible  <bruno@clisp.org>
11002
11003         netdb: fix gai_strerror replacements
11004         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
11005         * modules/netdb: Substitute it.
11006
11007 2011-04-29  Jim Meyering  <meyering@redhat.com>
11008
11009         test-getcwd.c: avoid new set-but-not-used warning
11010         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
11011         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
11012         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
11013         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
11014
11015         test-hash.c: avoid a new shadowing warning
11016         * tests/test-hash.c (main): Don't shadow "dup".
11017
11018 2011-04-28  Eric Blake  <eblake@redhat.com>
11019
11020         getaddrinfo: fix gai_strerror signature
11021         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
11022         and work around mingw with UNICODE defined.
11023         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
11024         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
11025         * modules/netdb (Makefile.am): Substitute it.
11026         * lib/netdb.in.h (gai_strerror): Declare replacement.
11027         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
11028         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
11029         the fix.
11030
11031         getsockopt: avoid compiler warning
11032         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
11033         Reported by Matthias Bolte.
11034
11035         tests: drop unused link dependency
11036         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
11037         * modules/dirent-safer-tests (Makefile.am): Likewise.
11038         * modules/fdopendir-tests (Makefile.am): Likewise.
11039         * modules/mkfifoat-tests (Makefile.am): Likewise.
11040         * modules/openat-safer-tests (Makefile.am): Likewise.
11041         * modules/openat-tests (Makefile.am): Likewise.
11042         * modules/readlinkat-tests (Makefile.am): Likewise.
11043         * modules/symlinkat-tests (Makefile.am): Likewise.
11044         * modules/linkat-tests (Makefile.am): Likewise.
11045         (Depends-on): Switch to filenamecat-lgpl.
11046         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
11047         LIBINTL.
11048         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
11049         * tests/test-linkat.c (main): Don't require xalloc.
11050
11051         hash, mgetgroups: drop xalloc dependency
11052         * lib/hash.c (includes): Adjust includes.
11053         * lib/mgetgroups.c (includes): Likewise.
11054         (xgetgroups): Move...
11055         * lib/xgetgroups.c: ...to new file.
11056         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
11057         * modules/xgetgroups: New file, split from...
11058         * modules/mgetgroups: ...here.
11059         (Depends-on): Add xalloc-oversized.
11060         * modules/hash (Depends-on): Likewise.
11061         * modules/hash-tests (Depends-on): Drop xalloc.
11062         (test_hash_LDADD): Drop unused library.
11063         * tests/test-hash.c (main): Break xalloc dependency.
11064         (includes): Drop unused include.
11065
11066         xalloc-oversized: new module
11067         * modules/xalloc-oversized: New module.
11068         * modules/xalloc (Depends-on): Add it.
11069         * lib/xalloc.h (xalloc_oversized): Move...
11070         * lib/xalloc-oversized.h: ...into new file.
11071
11072         utimecmp: drop dependency on xmalloc
11073         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
11074         due to memory pressure.
11075         * modules/utimecmp (Depends-on): Drop xalloc.
11076
11077 2011-04-27  Eric Blake  <eblake@redhat.com>
11078
11079         getcwd: fix mingw bugs
11080         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
11081         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
11082         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
11083
11084 2011-04-27  Bruno Haible  <bruno@clisp.org>
11085
11086         mkstemps: Ensure declaration on MacOS X 10.5.
11087         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
11088         * doc/glibc-functions/mkstemps.texi: Document header file problem on
11089         MacOS X.
11090
11091 2011-04-27  Bruno Haible  <bruno@clisp.org>
11092
11093         mkstemp: More documentation.
11094         * doc/posix-functions/mkstemp.texi: Document header file problem on
11095         MacOS X.
11096
11097 2011-04-27  Bruno Haible  <bruno@clisp.org>
11098
11099         mkstemp: Tweak configure message when cross-compiling.
11100         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
11101         result as a guess.
11102
11103 2011-04-27  Bruno Haible  <bruno@clisp.org>
11104
11105         clean-temp: Clarify what it does.
11106         * lib/clean-temp.h: Add more comments.
11107         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
11108         module.
11109         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
11110         * doc/glibc-functions/mkstemps.texi: Likewise.
11111         * doc/glibc-functions/mkostemps.texi: Likewise.
11112
11113 2011-04-27  Eric Blake  <eblake@redhat.com>
11114
11115         fchdir: avoid extra chdir and fix test
11116         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
11117         getcwd-lgpl.
11118         * lib/fchdir.c (get_name): Any absolute name will do; it does not
11119         have to be canonical.
11120         (canonicalize_file_name): Drop unused macro.
11121         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
11122
11123         filenamecat-lgpl: fix licence
11124         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
11125         when it was first created.
11126
11127         linkat, renameat: add missing dependency
11128         * modules/linkat (Depends-on): Require getcwd-lgpl.
11129         * modules/renameat (Depends-on): Likewise.
11130
11131         tests: reduce dependencies
11132         * tests/test-linkat.c (main): Use lighter-weight getcwd.
11133         * tests/test-renameat.c (main): Likewise.
11134         * modules/linkat-tests (Depends-on): Relax dependency.
11135         * modules/renameat-tests (Depends-on): Likewise.
11136         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
11137         dependency explicit.
11138
11139         save-cwd: reduce default dependency
11140         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
11141         * lib/save-cwd.c: Update comments.
11142         * NEWS: Document the semantic change.
11143
11144         getcwd: enhance tests
11145         * tests/test-getcwd-lgpl.c: New file, taken from...
11146         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
11147         repeat long path stress tests from m4 probe.
11148         * modules/getcwd-lgpl-tests: New module.
11149         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
11150         * m4/getcwd-abort-bug.m4: Update comment.
11151         * m4/getcwd-path-max.m4: Likewise.
11152
11153         getcwd-lgpl: new module
11154         * modules/getcwd-lgpl: New module.
11155         * lib/getcwd-lgpl.c: New file.
11156         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11157         * MODULES.html.sh (lacking POSIX:2008): Likewise.
11158         * modules/getcwd (configure.ac): Set C witness.
11159         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
11160
11161         getcwd: tweak comments
11162         * m4/getcwd-abort-bug.m4: Fix comments.
11163         * m4/getcwd-path-max.m4: Likewise.
11164         * m4/getcwd.m4: Likewise.
11165
11166 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11167         and Eric Blake  <eblake@redhat.com>
11168
11169         mkstemp: replace if system version uses wrong permissions
11170         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
11171         read/write mode bits set in file created by mkstemp.
11172         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
11173
11174 2011-04-27  Eric Blake  <eblake@redhat.com>
11175
11176         passfd: avoid compiler warning
11177         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
11178         Reported by Laine Stump.
11179
11180 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
11181
11182         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
11183         required by the NetBSD (and perhaps other 4.4BSD derived) join.
11184
11185 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11186         and Eric Blake  <eblake@redhat.com>
11187
11188         mkstemp: mention clean-temp module
11189         * lib/mkstemp.c: Add comment.
11190         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
11191
11192 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
11193
11194         inttypes: also provide default values for 32-bit tests
11195         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
11196         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
11197
11198 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11199
11200         strtoumax: remove dependency on strtoimax
11201         This is like the strtoull change of yesterday.
11202         * modules/strtoumax (Files): Add lib/strtoimax.c.
11203         (Depends-on): Remove strtoimax and add verify.
11204
11205         inttypes-incomplete: new module
11206         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
11207         all but the PRI* and SCN* parts of gl_INTTYPES_H.
11208         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
11209         of gl_INTTYPES_H.
11210         (gl_INTTYPES_H): Rewrite in terms of these new macros.
11211         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
11212         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
11213         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
11214         * modules/strtoumax, modules/xstrtol (Depends-on):
11215         Depend on inttypes-incomplete, not inttypes.
11216         * modules/inttypes-incomplete: New module, containing the contents
11217         of the old modules/inttypes module, except that the Files: section
11218         omits m4/inttypes-pri.m4, and the configure.ac section invokes
11219         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
11220         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
11221         (Depends-on): Depend only on inttypes-incomplete.
11222         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
11223
11224         inttypes: omit now-redundant strtoimax and strtoumax work
11225         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
11226         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
11227
11228         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
11229         This supports apps that need pointers to strtoimax and strtoumax,
11230         and ports to HP-UX 11.00 64.bit, which has macros that expand to
11231         nonexistent functions.  See
11232         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
11233         et seq.
11234         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
11235         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
11236         a macro.
11237         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11238
11239 2011-04-25  Simon Josefsson  <simon@josefsson.org>
11240
11241         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
11242
11243 2011-04-25  Bruno Haible  <bruno@clisp.org>
11244
11245         strtol, strtoul: Mark modules as obsolete.
11246         * modules/strtol (Status, Notice): New sections.
11247         * modules/strtoul (Status, Notice): New sections.
11248
11249 2011-04-25  Bruno Haible  <bruno@clisp.org>
11250
11251         strtod: Remove check for strtod, unless supporting old platforms.
11252         * modules/strtod-obsolete: New file.
11253         * m4/strtod-obsolete.m4: New file.
11254         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
11255         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
11256         * modules/strtod (Depends-on): Add strtod-obsolete.
11257         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
11258
11259 2011-04-25  Bruno Haible  <bruno@clisp.org>
11260
11261         strcase: Make module obsolete.
11262         * modules/strcase (Status, Notice): New sections.
11263
11264 2011-04-25  Bruno Haible  <bruno@clisp.org>
11265
11266         dup2: Remove check for dup2, unless supporting old obsolete platforms.
11267         * modules/dup2-obsolete: New file.
11268         * m4/dup2-obsolete.m4: New file.
11269         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
11270         gl_FUNC_DUP2_OBSOLETE is not also defined.
11271         * modules/dup2 (Depends-on): Add dup2-obsolete.
11272         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
11273
11274 2011-04-25  Bruno Haible  <bruno@clisp.org>
11275
11276         strnlen: Avoid memchr related link error on old obsolete platforms.
11277         * modules/memchr-obsolete: New file.
11278         * m4/memchr-obsolete.m4: New file.
11279         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
11280         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
11281         * modules/memchr (Depends-on): Add memchr-obsolete.
11282         * modules/strnlen (Depends-on): Likewise.
11283         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
11284
11285 2011-04-25  Jim Meyering  <meyering@redhat.com>
11286
11287         maint.mk: makefile_at_at_check extend and clean up
11288         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
11289         in addition to */Makefile.am.
11290         Exempt legitimate uses of @VAR@ notation, e.g.,
11291         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
11292         Remove obsolete coreutils-specific comment.
11293         Prompted by discussion here:
11294         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
11295
11296 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11297
11298         strtoul: remove dependency on strtol
11299         This is so that 'configure' need not check for strtol merely because
11300         the application needs strtoul.
11301         * modules/strtoul (Files): Add lib/strtol.c.
11302         (Depends-on): Remove strtol.
11303
11304         strtoull: remove dependency on strtoul
11305         This is like the strtoll change.
11306         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
11307         (Depends-on): Remove strtoul.
11308
11309         strtoll: remove dependency on strtol
11310         This is so that 'configure' need not check for strtol merely because
11311         the application needs strtoll.
11312         * modules/strtoll (Files): Add lib/strtol.c.
11313         (Depends-on): Remove strtol.
11314
11315 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11316
11317         inttypes: Move some configure check to module 'imaxdiv'.
11318         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
11319         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
11320         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
11321
11322 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11323
11324         inttypes: Move some configure check to module 'imaxabs'.
11325         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
11326         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
11327         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
11328
11329 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11330
11331         inttypes: Remove configure tests that are not needed since 2009-12-31.
11332         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
11333         gl_cv_header_working_inttypes_h.
11334
11335 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11336
11337         * modules/strnlen (Depends-on): Remove memchr.
11338         The strnlen implementation doesn't need the memchr module's fixes; see
11339         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
11340
11341         strtol: remove dependency on wchar
11342         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
11343         * modules/strtol (Depends-on): Remove wchar.
11344
11345 2011-04-21  Eric Blake  <eblake@redhat.com>
11346
11347         passfd: fix test regression on Linux
11348         * modules/passfd-tests (configure.ac): Correct socketpair check.
11349
11350         passfd: speed up configure and drop unused code
11351         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
11352         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
11353         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
11354         Instead of probing at configure for unix_scm_rights_bsd44_way,
11355         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
11356         check to a struct member probe.
11357         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
11358         (sendfd, recvfd): Update preprocessor checks.
11359         * modules/passfd (Files): Reflect rename, and drop unused file.
11360         (Depends-on): Drop unused dependency.
11361
11362         passfd: allow compilation on mingw
11363         * modules/sys_socket (Depends-on): Add sys_uio.
11364         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
11365         iovec and a minimal struct msghdr.
11366         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
11367         * tests/test-sys_socket.c (main): Enhance test.
11368         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
11369         guaranteed to provide what we need.
11370         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
11371         * modules/passfd-tests (Depends-on): Add sys_wait.
11372         * tests/test-passfd.c (main): Skip test on mingw, for now.
11373         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
11374         partial 'struct msghdr' implementation.
11375
11376         sys_uio: new module
11377         * modules/sys_uio: New module.
11378         * modules/sys_uio-tests: Likewise.
11379         * lib/sys_uio.in.h: New file.
11380         * m4/sys_uio_h.m4: Likewise.
11381         * tests/test-sys_uio.c: Likewise.
11382         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11383         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11384
11385 2011-04-20  Jim Meyering  <meyering@redhat.com>
11386
11387         useless-if-before-free: avoid false-positive
11388         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11389         disjunct so that it too requires a terminating ";".  Without that,
11390         this script would identify as useless one statement from gcc that
11391         was not:
11392           if (aligned_ptr)
11393             free (((void **) aligned_ptr) [-1]);
11394
11395 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11396
11397         doc: update users.txt.
11398         * users.txt: Add barcode.
11399
11400 2011-04-19  Bruno Haible  <bruno@clisp.org>
11401
11402         ioctl: Remove link dependency on native Windows.
11403         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11404         (gl_close_fn, gl_ioctl_fn): New types.
11405         (struct fd_hook): Renamed from struct close_hook. Change type of
11406         private_close_fn field. Add private_ioctl_fn field.
11407         (close_hook_fn): Add parameter for primary close method.
11408         (execute_close_hooks, execute_all_close_hooks): Likewise.
11409         (ioctl_hook_fn): New type.
11410         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11411         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11412         argument.
11413         (unregister_fd_hook): Renamed from unregister_close_hook.
11414         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11415         Don't include <unistd.h>.
11416         (close): Remove undef.
11417         (anchor): Update.
11418         (execute_close_hooks): Add argument for primary close method.
11419         (execute_all_close_hooks): Likewise.
11420         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11421         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11422         argument. Allow each argument to be NULL.
11423         (unregister_fd_hook): Renamed from unregister_close_hook.
11424         * lib/close.c (rpl_close): Pass 'close' function pointer to
11425         execute_all_close_hooks.
11426         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11427         (primary_ioctl): New function.
11428         (ioctl): Don't call ioctlsocket here. Instead, call
11429         execute_all_ioctl_hooks.
11430         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11431         close method.
11432         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11433         (fd_sockets_hook): Renamed from close_sockets_hook.
11434         (gl_sockets_startup, gl_sockets_cleanup): Update.
11435         * modules/fd-hook: Renamed from modules/close-hook. Update.
11436         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11437         * modules/sockets (Depends-on): Likewise.
11438         * modules/ioctl (Depends-on): Add fd-hook.
11439         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11440         GNULIB_SOCKET.
11441
11442 2011-04-19  Bruno Haible  <bruno@clisp.org>
11443
11444         Move the support of O_NONBLOCK in open() to the 'open' module.
11445         * modules/nonblocking (Depends-on): Remove 'open'.
11446         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11447         gl_cv_have_open_O_NONBLOCK.
11448         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11449         O_NONBLOCK support.
11450         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11451
11452 2011-04-17  Bruno Haible  <bruno@clisp.org>
11453
11454         pipe2: Simplify code.
11455         * lib/pipe2.c (pipe2): Reduce code duplication.
11456
11457 2011-04-17  Bruno Haible  <bruno@clisp.org>
11458
11459         nonblocking: Add comment.
11460         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11461
11462 2011-04-17  Bruno Haible  <bruno@clisp.org>
11463
11464         nonblocking: Add tests for sockets.
11465         * tests/test-nonblocking-socket.sh: New file.
11466         * tests/test-nonblocking-socket-main.c: New file.
11467         * tests/test-nonblocking-socket-child.c: New file.
11468         * tests/test-nonblocking-socket.h: New file.
11469         * tests/socket-server.h: New file.
11470         * tests/socket-client.h: New file.
11471         * modules/nonblocking-socket-tests: New file.
11472         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11473
11474 2011-04-17  Bruno Haible  <bruno@clisp.org>
11475
11476         nonblocking: Add tests for pipes.
11477         * tests/test-nonblocking-pipe.sh: New file.
11478         * tests/test-nonblocking-pipe-main.c: New file.
11479         * tests/test-nonblocking-pipe-child.c: New file.
11480         * tests/test-nonblocking-pipe.h: New file.
11481         * tests/test-nonblocking-writer.h: New file.
11482         * tests/test-nonblocking-reader.h: New file.
11483         * tests/test-nonblocking-misc.h: New file.
11484         * modules/nonblocking-pipe-tests: New file.
11485         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11486
11487 2011-04-16  Bruno Haible  <bruno@clisp.org>
11488
11489         gettext: Clarify the needed programmer actions.
11490         * modules/gettext (Notice): New field.
11491         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11492
11493 2011-04-16  Bruno Haible  <bruno@clisp.org>
11494
11495         strchrnul: Tweak last commit.
11496         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11497         bug.
11498         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11499         as in _GL_FUNCDECL_SYS.
11500         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11501         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11502
11503 2011-04-15  Eric Blake  <eblake@redhat.com>
11504
11505         strchrnul: work around cygwin bug
11506         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11507         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11508         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11509         * modules/string (Makefile.am): Substitute it.
11510         * lib/string.in.h (strchrnul): Use it.
11511
11512 2011-04-15  Bruno Haible  <bruno@clisp.org>
11513
11514         Don't require lib/stdio-write.c when only module 'stdio' is used.
11515         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11516         invocation.
11517         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11518
11519 2011-04-14  Bruno Haible  <bruno@clisp.org>
11520
11521         Support non-blocking pipe I/O in read() on native Windows.
11522         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11523         (read): New declaration.
11524         * lib/read.c: New file.
11525         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11526         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11527         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11528         vscanf): New declarations.
11529         * lib/stdio-read.c: New file.
11530         * m4/read.m4: New file.
11531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11532         REPLACE_READ.
11533         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11534         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11535         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11536         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11537         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11538         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11539         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11540         * modules/read: New file.
11541         * modules/nonblocking (Files): Add lib/stdio-read.c.
11542         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11543         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11544         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11545         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11546         * modules/pread (Depends-on): Add read.
11547         * modules/safe-read (Depends-on): Likewise.
11548         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11549         gets, scanf, vfscanf, vscanf): Verify signatures.
11550         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11551         problem with non-blocking pipes.
11552         * doc/posix-functions/fgetc.texi: Likewise.
11553         * doc/posix-functions/fgets.texi: Likewise.
11554         * doc/posix-functions/fread.texi: Likewise.
11555         * doc/posix-functions/fscanf.texi: Likewise.
11556         * doc/posix-functions/getc.texi: Likewise.
11557         * doc/posix-functions/getchar.texi: Likewise.
11558         * doc/posix-functions/gets.texi: Likewise.
11559         * doc/posix-functions/scanf.texi: Likewise.
11560         * doc/posix-functions/vfscanf.texi: Likewise.
11561         * doc/posix-functions/vscanf.texi: Likewise.
11562
11563 2011-04-14  Bruno Haible  <bruno@clisp.org>
11564
11565         Support non-blocking pipe I/O in write() on native Windows.
11566         * lib/write.c (rpl_write): Split a write request that failed merely
11567         because the byte count was larger than the pipe buffer's size.
11568         * doc/posix-functions/write.texi: Mention the problem with large byte
11569         counts.
11570
11571 2011-04-14  Bruno Haible  <bruno@clisp.org>
11572
11573         wchar: Ensure that wchar_t gets defined on uClibc.
11574         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11575         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11576
11577 2011-04-13  Bruno Haible  <bruno@clisp.org>
11578
11579         safe-write, full-read: Avoid unnecessary compilation units.
11580         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11581         (Depends-on): Remove safe-read. Add ssize_t.
11582         * modules/full-read (Files): Add lib/full-write.c.
11583         (Depends-on): Add full-write.
11584
11585 2011-04-13  Bruno Haible  <bruno@clisp.org>
11586
11587         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11588         * modules/pwrite (Depends-on): Add 'write'.
11589
11590 2011-04-13  Bruno Haible  <bruno@clisp.org>
11591
11592         Support non-blocking pipe I/O in write() on native Windows.
11593         * lib/unistd.in.h (write): Enable replacement also if
11594         GNULIB_UNISTD_H_NONBLOCKING is 1.
11595         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11596         (rpl_write): When failing to write on a non-blocking pipe, change
11597         errno from ENOSPC to EAGAIN.
11598         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11599         putchar, puts, vfprintf, vprintf): Enable replacement also if
11600         GNULIB_STDIO_H_NONBLOCKING is 1.
11601         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11602         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11603         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11604         CALL_WITH_SIGPIPE_EMULATION.
11605         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11606         * m4/nonblocking.m4: New file.
11607         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11608         for non-blocking I/O support.
11609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11610         GNULIB_UNISTD_H_NONBLOCKING.
11611         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11612         required for non-blocking I/O support.
11613         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11614         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11615         lib/stdio-write.c, m4/asm-underscore.m4.
11616         (Depends-on): Add stdio, unistd.
11617         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11618         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11619         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11620         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11621         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11622         problem with non-blocking pipes.
11623         * doc/posix-functions/fputc.texi: Likewise.
11624         * doc/posix-functions/fputs.texi: Likewise.
11625         * doc/posix-functions/fwrite.texi: Likewise.
11626         * doc/posix-functions/printf.texi: Likewise.
11627         * doc/posix-functions/putc.texi: Likewise.
11628         * doc/posix-functions/putchar.texi: Likewise.
11629         * doc/posix-functions/puts.texi: Likewise.
11630         * doc/posix-functions/vfprintf.texi: Likewise.
11631         * doc/posix-functions/vprintf.texi: Likewise.
11632         * doc/posix-functions/write.texi: Likewise.
11633
11634 2011-04-10  Jim Meyering  <meyering@redhat.com>
11635
11636         maint.mk: prohibit doubled words
11637         Detect them also when they're separated by a newline.
11638         There are 3 ways to customize it:
11639           - disable the test on a per file basis, as usual with rules using
11640             $(VC_LIST_EXCEPT)
11641           - replace the default doubled-word-selecting regexp (affects all files)
11642           - ignore a particular file-vs-doubled-word match
11643         I nearly used that last one to ignore the "is is" match in
11644         coreutils' NEWS file, since the text was "ls -is is ..."
11645         To do that, I would have added this line to cfg.mk:
11646           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11647         but it would have ignored any "is is" match in NEWS.
11648         Low probability, but still...
11649         Instead, I changed the text, slightly:
11650           -  ls -is is now consistent with ls -lis in ignoring values returned
11651           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11652         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11653         (prohibit_doubled_word_): Define.
11654         (sc_prohibit_doubled_word): New rule.
11655         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11656
11657 2011-04-10  Jim Meyering  <meyering@redhat.com>
11658
11659         maint: fix doubled-word typo in comment
11660         * m4/gethostname.m4: s/is is/it is/
11661         * m4/getdomainname.m4: Likewise.
11662
11663 2011-04-10  Jim Meyering  <meyering@redhat.com>
11664
11665         maint: remove doubled word: s/it it/it/
11666         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11667
11668 2011-04-10  Jim Meyering  <meyering@redhat.com>
11669
11670         maint.mk: remove useless semicolon and backslash
11671         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11672         semicolon and backslash.
11673
11674 2011-04-10  Bruno Haible  <bruno@clisp.org>
11675
11676         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11677         * modules/stdint-tests (Depends-on): Add wchar.
11678
11679 2011-04-10  Jim Meyering  <meyering@redhat.com>
11680
11681         maint: remove doubled words in comments, e.g., s/a a/a/
11682         * lib/strptime.c (day_of_the_week): s/the the/the/
11683         * tests/test-chown.h (test_chown): s/a a/a/
11684
11685         test-chown.h: correct a cast
11686         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11687         when the destination is a stat.st_gid.
11688
11689 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11690
11691         getaddrinfo: Fix test for sa_len member.
11692         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11693         include <sys/types.h> before <sys/socket.h>.
11694
11695 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11696
11697         maint: change "can not" to "cannot"
11698         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11699         boundaries.
11700
11701 2011-04-09  Jim Meyering  <meyering@redhat.com>
11702
11703         maint: change "a a" to "a"
11704         * tests/test-lchown.h (test_lchown): s/a a/a/
11705
11706         maint.mk: prohibit \<the the\>
11707         * top/maint.mk (sc_prohibit_the_the): New rule.
11708
11709         maint: fix "the the" in comment
11710         * lib/count-one-bits.h: s/the the/the/
11711
11712         maint: change "can not" to "cannot"
11713         But do not change the occurrences in maintain.texi or in
11714         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11715         * doc/gnulib-tool.texi: s/can not/cannot/
11716         * doc/posix-functions/accept.texi (accept): Likewise.
11717         * doc/posix-functions/socket.texi (socket): Likewise.
11718         * lib/mbrtowc.c: Likewise.
11719
11720         maint.mk: prohibit use of "can not"
11721         * top/maint.mk (sc_prohibit_can_not): New rule.
11722         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11723
11724 2011-04-09  Bruno Haible  <bruno@clisp.org>
11725
11726         careadlinkat: Guard against misuse of careadlinkatcwd.
11727         * lib/careadlinkat.c: Include <stdlib.h>.
11728         (careadlinkatcwd): Check that the fd argument is as expected.
11729
11730 2011-04-09  Bruno Haible  <bruno@clisp.org>
11731
11732         careadlinkat: Use common coding style.
11733         * lib/careadlinkat.c: Move gnulib includes after system includes.
11734
11735 2011-04-09  Bruno Haible  <bruno@clisp.org>
11736
11737         careadlinkat: Clarify specification.
11738         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11739         (careadlinkatcwd): Add comment.
11740         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11741
11742 2011-04-09  Bruno Haible  <bruno@clisp.org>
11743
11744         areadlinkat: Avoid link error on many platforms.
11745         * modules/areadlinkat (Depends-on): Add areadlink.
11746
11747 2011-04-09  Bruno Haible  <bruno@clisp.org>
11748
11749         allocator, careadlinkat: Fix double-inclusion guard.
11750         * lib/allocator.h: Fix double-inclusion guard.
11751         * lib/careadlinkat.h: Likewise.
11752
11753 2011-04-09  Bruno Haible  <bruno@clisp.org>
11754
11755         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11756         * lib/relocwrapper.c: Update dependencies hierarchy.
11757         * build-aux/install-reloc: Update list of files to be compiled.
11758         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11759         lib/allocator.[hc].
11760
11761 2011-04-08  Eric Blake  <eblake@redhat.com>
11762
11763         strftime: silence gnulib-tool warning
11764         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11765
11766 2011-04-08  Bruno Haible  <bruno@clisp.org>
11767
11768         verify: Fix syntax error with GCC 4.6 in C++ mode.
11769         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11770         (HAVE_STATIC_ASSERT): New macro.
11771         (verify_true, verify): Use 'static_assert' if it is supported and
11772         '_Static_assert' is not supported.
11773
11774 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11775
11776         allocator: New module.
11777         * modules/allocator, lib/allocator.c: New files.
11778         * lib/allocator.h (stdlib_allocator): New decl.
11779         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11780         Remove.  Do not include <stdlib.h>.
11781         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11782         * modules/careadlinkat (Files): Remove lib/allocator.h.
11783         (Depends-on): Add allocator.
11784
11785         stdlib: let modules use system malloc, realloc
11786         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11787         if !_GL_USE_STDLIB_ALLOC.
11788         (malloc, realloc): Limit this change to a smaller scope.
11789
11790         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11791         (malloc, realloc): Don't #undef; no longer needed.
11792         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11793         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11794         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11795         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11796         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11797         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11798         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11799         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11800
11801         careadlinkat: rename members to avoid problem
11802         * lib/allocator.h (struct allocator): Rename members from
11803         malloc/realloc to allocate/reallocate, to avoid problems if malloc
11804         and realloc are #define'd.  Reported by Eric Blake in
11805         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
11806         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
11807
11808 2011-04-08  Eric Blake  <eblake@redhat.com>
11809
11810         nonblocking: reduce dependency
11811         * tests/test-nonblocking.c: Only test sockets when in use.
11812         * modules/nonblocking-tests (Depends-on): Drop socket.
11813         (Makefile.am): Link even if sockets are not present.
11814         * modules/pipe2-tests (Makefile.am): Likewise.
11815         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
11816
11817         pipe2: fix O_NONBLOCK support on mingw
11818         * modules/pipe2 (Depends-on): Add nonblocking.
11819         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
11820         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
11821         * tests/test-nonblocking.c (main): Likewise.
11822         * modules/pipe2-tests (Makefile.am): Avoid link failure.
11823
11824         fcntl-h: fix O_ACCMODE on cygwin
11825         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
11826         * lib/fcntl.in.h (O_ACCMODE): Fix it.
11827
11828         pipe-filter: drop O_NONBLOCK workarounds
11829         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
11830         * modules/pipe-filter-ii (Depends-on): Likewise.
11831         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
11832
11833         nonblocking: provide O_NONBLOCK for mingw
11834         * modules/nonblocking (Depends-on): Add open.
11835         (configure.ac): Set new witness macro.
11836         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
11837         * modules/fcntl-h (Makefile.am): Substitute it.
11838         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
11839         nonblocking module is in use.
11840         * lib/nonblocking.c: Adjust portability test.
11841         * lib/open.c (open): Don't let native open see gnulib flag.
11842         * tests/test-fcntl-h.c (main): Enhance test.
11843         * tests/test-open.h (test_open): Likewise.
11844         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
11845
11846         careadlinkat: fix compilation error on mingw
11847         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
11848         within struct allocator.
11849
11850 2011-04-06  Eric Blake  <eblake@redhat.com>
11851
11852         binary-io: relicense under LGPLv2+
11853         * modules/binary-io (License): Relax to LGPLv2+.
11854         Requested for libvirt, and required by pipe2.
11855
11856 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
11857
11858         verify: use _Static_assert if available
11859         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
11860         (verify_true, verify): Use it if available.  This generates better
11861         diagnostics with GCC 4.6.0 and later.
11862
11863 2011-04-05  Bruno Haible  <bruno@clisp.org>
11864
11865         Remove leftover generated .h files after config.status changed.
11866
11867         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
11868         GL_GENERATE_ALLOCA_H.
11869         * modules/alloca-opt (Makefile.am): Remove alloca.h if
11870         GL_GENERATE_ALLOCA_H evaluates to false.
11871
11872         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
11873         GL_GENERATE_ARGZ_H.
11874         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
11875         evaluates to false.
11876
11877         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
11878         GL_GENERATE_BYTESWAP_H.
11879         * modules/byteswap (Makefile.am): Remove byteswap.h if
11880         GL_GENERATE_BYTESWAP_H evaluates to false.
11881
11882         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
11883         GL_GENERATE_ERRNO_H.
11884         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
11885         evaluates to false.
11886
11887         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
11888         GL_GENERATE_FLOAT_H.
11889         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
11890         evaluates to false.
11891
11892         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
11893         GL_GENERATE_FNMATCH_H.
11894         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
11895         GL_GENERATE_FNMATCH_H evaluates to false.
11896
11897         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
11898         GL_GENERATE_GLOB_H.
11899         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
11900         evaluates to false.
11901
11902         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
11903         automake conditional GL_GENERATE_ICONV_H.
11904         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
11905         evaluates to false.
11906
11907         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
11908         GL_GENERATE_NETINET_IN_H.
11909         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
11910         GL_GENERATE_NETINET_IN_H evaluates to false.
11911
11912         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
11913         conditional GL_GENERATE_PTHREAD_H.
11914         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
11915         * modules/pthread (Makefile.am): Remove pthread.h if
11916         GL_GENERATE_PTHREAD_H evaluates to false.
11917
11918         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
11919         GL_GENERATE_SCHED_H.
11920         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
11921         evaluates to false.
11922
11923         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
11924         conditional GL_GENERATE_SELINUX_CONTEXT_H.
11925         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
11926         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
11927
11928         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
11929         GL_GENERATE_STDARG_H.
11930         * modules/stdarg (Makefile.am): Remove stdarg.h if
11931         GL_GENERATE_STDARG_H evaluates to false.
11932
11933         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
11934         GL_GENERATE_STDBOOL_H.
11935         * modules/stdbool (Makefile.am): Remove stdbool.h if
11936         GL_GENERATE_STDBOOL_H evaluates to false.
11937
11938         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
11939         conditional GL_GENERATE_STDDEF_H.
11940         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
11941         * modules/stddef (Makefile.am): Remove stddef.h if
11942         GL_GENERATE_STDDEF_H evaluates to false.
11943
11944         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
11945         GL_GENERATE_STDINT_H.
11946         * modules/stdint (Makefile.am): Remove stdint.h if
11947         GL_GENERATE_STDINT_H evaluates to false.
11948
11949         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
11950         GL_GENERATE_SYSEXITS_H.
11951         * modules/sysexits (Makefile.am): Remove sysexits.h if
11952         GL_GENERATE_SYSEXITS_H evaluates to false.
11953
11954         Reported by Karl Berry and Ralf Wildenhues.
11955
11956 2011-04-05  Bruno Haible  <bruno@clisp.org>
11957
11958         Ensure to rebuild generated .h files when config.status has changed.
11959         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
11960         config.status.
11961         * modules/ctype (Makefile.am): Likewise.
11962         * modules/dirent (Makefile.am): Likewise.
11963         * modules/errno (Makefile.am): Likewise.
11964         * modules/fcntl-h (Makefile.am): Likewise.
11965         * modules/float (Makefile.am): Likewise.
11966         * modules/getopt-posix (Makefile.am): Likewise.
11967         * modules/glob (Makefile.am): Likewise.
11968         * modules/iconv-h (Makefile.am): Likewise.
11969         * modules/inttypes (Makefile.am): Likewise.
11970         * modules/langinfo (Makefile.am): Likewise.
11971         * modules/locale (Makefile.am): Likewise.
11972         * modules/math (Makefile.am): Likewise.
11973         * modules/netdb (Makefile.am): Likewise.
11974         * modules/netinet_in (Makefile.am): Likewise.
11975         * modules/poll-h (Makefile.am): Likewise.
11976         * modules/pthread (Makefile.am): Likewise.
11977         * modules/pty (Makefile.am): Likewise.
11978         * modules/sched (Makefile.am): Likewise.
11979         * modules/search (Makefile.am): Likewise.
11980         * modules/selinux-h (Makefile.am): Likewise.
11981         * modules/signal (Makefile.am): Likewise.
11982         * modules/spawn (Makefile.am): Likewise.
11983         * modules/stdarg (Makefile.am): Likewise.
11984         * modules/stdbool (Makefile.am): Likewise.
11985         * modules/stddef (Makefile.am): Likewise.
11986         * modules/stdint (Makefile.am): Likewise.
11987         * modules/stdio (Makefile.am): Likewise.
11988         * modules/stdlib (Makefile.am): Likewise.
11989         * modules/string (Makefile.am): Likewise.
11990         * modules/strings (Makefile.am): Likewise.
11991         * modules/sys_file (Makefile.am): Likewise.
11992         * modules/sys_ioctl (Makefile.am): Likewise.
11993         * modules/sys_select (Makefile.am): Likewise.
11994         * modules/sys_socket (Makefile.am): Likewise.
11995         * modules/sys_stat (Makefile.am): Likewise.
11996         * modules/sys_time (Makefile.am): Likewise.
11997         * modules/sys_times (Makefile.am): Likewise.
11998         * modules/sys_utsname (Makefile.am): Likewise.
11999         * modules/sys_wait (Makefile.am): Likewise.
12000         * modules/sysexits (Makefile.am): Likewise.
12001         * modules/termios (Makefile.am): Likewise.
12002         * modules/time (Makefile.am): Likewise.
12003         * modules/unistd (Makefile.am): Likewise.
12004         * modules/wchar (Makefile.am): Likewise.
12005         * modules/wctype-h (Makefile.am): Likewise.
12006         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
12007
12008 2011-04-05  Bruno Haible  <bruno@clisp.org>
12009
12010         pipe2: Relicense under LGPLv2+.
12011         * modules/pipe2 (License): Change to LGPLv2+.
12012         Requested by Eric Blake, for libvirt.
12013
12014 2011-04-05  Bruce Korb  <bkorb@gnu.org>
12015
12016         bootstrap: compute gnulib_extra_files after updating build_aux
12017         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
12018         change build_aux or also supply gnulib_extra_files.  Handle correctly.
12019
12020 2011-04-05  Eric Blake  <eblake@redhat.com>
12021
12022         bootstrap: preserve git whitelist item sorting
12023         * build-aux/bootstrap (sort_patterns): New function.
12024         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
12025
12026 2011-04-05  Simon Josefsson  <simon@josefsson.org>
12027
12028         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
12029         sc_space_tab check.
12030
12031 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
12032
12033         areadlink, areadlinkat: rewrite in terms of careadlinkat
12034         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
12035         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
12036         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
12037         (malloc, realloc): Remove #undefs.
12038         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
12039         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
12040         readlink, ssize_t, stdint, unistd.
12041         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
12042         areadlink, stdint.
12043
12044         careadlinkat: new module
12045         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
12046         * modules/careadlinkat: New files, written by me with
12047         a review and feedback from Ben Pfaff in
12048         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
12049
12050 2011-04-01  Bruno Haible  <bruno@clisp.org>
12051
12052         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
12053         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
12054         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
12055         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
12056         Reported by Bruce Korb <bruce.korb@gmail.com>.
12057
12058 2011-04-01  Bruno Haible  <bruno@clisp.org>
12059
12060         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
12061         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
12062         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
12063         * modules/wcpcpy (Depends-on): Add extensions.
12064         * modules/wcpncpy (Depends-on): Likewise.
12065         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
12066         systems.
12067         * doc/posix-functions/wcpncpy.texi: Likewise.
12068         * doc/posix-functions/wcwidth.texi: Likewise.
12069
12070 2011-03-31  Eric Blake  <eblake@redhat.com>
12071
12072         nonblocking: fix mingw test failures
12073         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
12074         non-blocking flag on regular file.
12075         (get_nonblocking_flag): Set errno on invalid fd.
12076         * tests/test-nonblocking.c (main): Avoid test failure on
12077         directories if fchdir is not active.
12078         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
12079
12080 2011-03-31  Bruno Haible  <bruno@clisp.org>
12081
12082         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
12083         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
12084         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
12085         Reported by Simon Josefsson <simon@josefsson.org>.
12086
12087 2011-03-31  Bruno Haible  <bruno@clisp.org>
12088         and Eric Blake  <eblake@redhat.com>
12089
12090         nonblocking: new module
12091         * modules/nonblocking: New module.
12092         * modules/nonblocking-tests: Likewise.
12093         * lib/nonblocking.h: New file.
12094         * lib/nonblocking.c: Likewise.
12095         * tests/test-nonblocking.c: New test.
12096         * lib/ioctl.c (ioctl) [mingw]: Update comment.
12097
12098 2011-03-30  Bruno Haible  <bruno@clisp.org>
12099
12100         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
12101         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
12102         instead of 'printf' format for GCC >= 4.4.
12103         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
12104         (fprintf, printf, vfprintf, vprintf): Declare with
12105         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
12106         the system's vfprintf() function.
12107         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
12108
12109 2011-03-30  Eric Blake  <eblake@redhat.com>
12110
12111         passfd: fix scoping bug
12112         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
12113         before sendmsg/recvmsg.
12114
12115         passfd: standardize coding conventions
12116         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
12117         can be learned at compile time.
12118         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
12119         ifdefs.
12120         (sendfd, recvfd): Follow gnulib code conventions.
12121
12122         passfd: fix incorrect sendmsg arguments
12123         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
12124         incorrect msg_controllen value.
12125         * modules/passfd-tests (Depends-on): Check for alarm.
12126         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
12127         Reported by Bastien ROUCARIES.
12128
12129 2011-03-30  Bruno Haible  <bruno@clisp.org>
12130
12131         c-strcasestr: Relicense under LGPLv2+.
12132         * modules/c-strcasestr (License): Change to LGPLv2+.
12133         Requested by Eric Blake, for libvirt.
12134
12135 2011-03-30  Simon Josefsson  <simon@josefsson.org>
12136
12137         * users.txt: Add libidn2.  Fix libtasn1 link.
12138
12139 2011-03-30  Jim Meyering  <meyering@redhat.com>
12140
12141         tests: readlink* ("",... fails with EINVAL on newer kernels
12142         readlink and readlinkat have typically failed with ENOENT for
12143         the invalid, empty file name,  "".  However, with the advent
12144         of linux-2.6.39, they fail with EINVAL.
12145         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
12146         when operating on the empty file name.
12147         * tests/test-readlink.h (test_readlink): Likewise.
12148
12149 2011-03-29  Bruno Haible  <bruno@clisp.org>
12150
12151         Relicense some modules under LGPLv2+, for libidn2.
12152         * modules/array-mergesort (License): Change to LGPLv2+.
12153         * modules/c-strcaseeq (License): Likewise.
12154         * modules/striconveh (License): Likewise.
12155         * modules/striconveha (License): Likewise.
12156         * modules/uniconv/base (License): Likewise.
12157         * modules/uniconv/u8-conv-from-enc (License): Likewise.
12158         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
12159         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
12160         * modules/unictype/base (License): Likewise.
12161         * modules/unictype/bidiclass-of (License): Likewise.
12162         * modules/unictype/category-M (License): Likewise.
12163         * modules/unictype/category-none (License): Likewise.
12164         * modules/unictype/category-of (License): Likewise.
12165         * modules/unictype/category-test (License): Likewise.
12166         * modules/unictype/category-test-withtable (License): Likewise.
12167         * modules/unictype/combining-class (License): Likewise.
12168         * modules/unictype/joiningtype-of (License): Likewise.
12169         * modules/unictype/scripts (License): Likewise.
12170         * modules/uninorm/base (License): Likewise.
12171         * modules/uninorm/canonical-decomposition (License): Likewise.
12172         * modules/uninorm/composition (License): Likewise.
12173         * modules/uninorm/decompose-internal (License): Likewise.
12174         * modules/uninorm/decomposition-table (License): Likewise.
12175         * modules/uninorm/nfc (License): Likewise.
12176         * modules/uninorm/nfd (License): Likewise.
12177         * modules/uninorm/u32-normalize (License): Likewise.
12178         * modules/unistr/base (License): Likewise.
12179         * modules/unistr/u32-cpy (License): Likewise.
12180         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
12181         * modules/unistr/u32-to-u8 (License): Likewise.
12182         * modules/unistr/u32-uctomb (License): Likewise.
12183         * modules/unistr/u8-check (License): Likewise.
12184         * modules/unistr/u8-mblen (License): Likewise.
12185         * modules/unistr/u8-mbtouc (License): Likewise.
12186         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
12187         * modules/unistr/u8-mbtoucr (License): Likewise.
12188         * modules/unistr/u8-prev (License): Likewise.
12189         * modules/unistr/u8-strlen (License): Likewise.
12190         * modules/unistr/u8-to-u32 (License): Likewise.
12191         * modules/unistr/u8-uctomb (License): Likewise.
12192         * modules/unitypes (License): Likewise.
12193         Requested by Simon Josefsson.
12194
12195 2011-03-29  Simon Josefsson  <simon@josefsson.org>
12196
12197         lib-symbol-visibility: Add a notice.
12198         * modules/lib-symbol-visibility (Notice): New field.
12199
12200 2011-03-29  Bruno Haible  <bruno@clisp.org>
12201
12202         getaddrinfo: Doc fix.
12203         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
12204         section "fixed in Gnulib".
12205
12206 2011-03-28  Simon Josefsson  <simon@josefsson.org>
12207
12208         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
12209         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
12210
12211 2011-03-26  Bruno Haible  <bruno@clisp.org>
12212
12213         unictype/property-byname: Reduce the number of load-time relocations.
12214         * lib/unictype/pr_byname.c: Include <stdlib.h>.
12215         (UC_PROPERTY_INDEX_*): New enumeration values.
12216         (uc_property_byname): Convert an index from the lookup table to an
12217         uc_property_t.
12218         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
12219         values.
12220
12221 2011-03-26  Bruno Haible  <bruno@clisp.org>
12222
12223         unictype/property-byname: Allow omitted word separators and aliases.
12224         * lib/unictype/pr_byname.gperf: Add property names without word
12225         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
12226         for 'space'.
12227
12228 2011-03-26  Bruno Haible  <bruno@clisp.org>
12229
12230         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
12231         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
12232         also hyphens to space.
12233         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
12234         without spaces.
12235         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
12236
12237 2011-03-26  Bruno Haible  <bruno@clisp.org>
12238
12239         unictype/joiningtype-byname: Recognize long names as well.
12240         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
12241         a long name.
12242         * lib/unictype/joiningtype_byname.c: Include <string.h>,
12243         unictype/joiningtype_byname.h.
12244         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
12245         * lib/unictype/joiningtype_byname.gperf: New file.
12246         * modules/unictype/joiningtype-byname (Files): Add
12247         lib/unictype/joiningtype_byname.gperf.
12248         (Depends-on): Add gperf.
12249         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
12250         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
12251         long names.
12252
12253         Tests for module 'unictype/joiningtype-longname'.
12254         * modules/unictype/joiningtype-longname-tests: New file.
12255         * tests/unictype/test-joiningtype_longname.c: New file.
12256
12257         New module 'unictype/joiningtype-longname'.
12258         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
12259         * lib/unictype/joiningtype_longname.c: New file.
12260         * modules/unictype/joiningtype-longname: New file.
12261         * modules/unictype/joiningtype-all (Depends-on): Add
12262         unictype/joiningtype-longname.
12263
12264 2011-03-26  Bruno Haible  <bruno@clisp.org>
12265
12266         unictype/bidiclass-byname: Recognize long names as well.
12267         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
12268         name.
12269         * lib/unictype/bidi_byname.c: Include <string.h>,
12270         unictype/bidi_byname.h.
12271         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
12272         * lib/unictype/bidi_byname.gperf: New file.
12273         * modules/unictype/bidiclass-byname (Files): Add
12274         lib/unictype/bidi_byname.gperf.
12275         (Depends-on): Add gperf.
12276         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
12277         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
12278         long names.
12279
12280         Tests for module 'unictype/bidiclass-longname'.
12281         * modules/unictype/bidiclass-longname-tests: New file.
12282         * tests/unictype/test-bidi_longname.c: New file.
12283
12284         New module 'unictype/bidiclass-longname'.
12285         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
12286         * lib/unictype/bidi_longname.c: New file.
12287         * modules/unictype/bidiclass-longname: New file.
12288         * modules/unictype/bidiclass-all (Depends-on): Add
12289         unictype/bidiclass-longname.
12290
12291 2011-03-26  Bruno Haible  <bruno@clisp.org>
12292
12293         unictype/bidi*: Rename modules.
12294         * modules/unictype/bidiclass-all: Renamed from
12295         modules/unictype/bidicategory-all.
12296         * modules/unictype/bidiclass-name: Renamed from
12297         modules/unictype/bidiclass-name.
12298         (Description): Update.
12299         * modules/unictype/bidiclass-name-tests: Renamed from
12300         modules/unictype/bidicategory-name-tests.
12301         * modules/unictype/bidiclass-byname: Renamed from
12302         modules/unictype/bidicategory-byname.
12303         (Description): Update.
12304         * modules/unictype/bidiclass-byname-tests: Renamed from
12305         modules/unictype/bidicategory-byname-tests.
12306         * modules/unictype/bidiclass-of: Renamed from
12307         modules/unictype/bidicategory-of.
12308         (Description): Update.
12309         * modules/unictype/bidiclass-of-tests: Renamed from
12310         modules/unictype/bidicategory-of-tests.
12311         * modules/unictype/bidiclass-test: Renamed from
12312         modules/unictype/bidicategory-test.
12313         (Description): Update.
12314         * modules/unictype/bidiclass-test-tests: Renamed from
12315         modules/unictype/bidicategory-test-tests.
12316         * modules/unictype/bidicategory-all: New file, a simple redirection.
12317         * modules/unictype/bidicategory-name: Likewise.
12318         * modules/unictype/bidicategory-byname: Likewise.
12319         * modules/unictype/bidicategory-of: Likewise.
12320         * modules/unictype/bidicategory-test: Likewise.
12321         * modules/unictype/property-bidi-* (Dependencies): Update.
12322         * lib/unictype/bidi_*.c: Update comment.
12323
12324 2011-03-26  Bruno Haible  <bruno@clisp.org>
12325
12326         unictype/bidi*: Rename functions, part 2.
12327         * modules/unictype/bidicategory-name (configure.ac): Update required
12328         libunistring version.
12329         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
12330
12331 2011-03-25  Bruno Haible  <bruno@clisp.org>
12332
12333         New module 'unictype/combining-class-all'.
12334         * modules/unictype/combining-class-all: New file.
12335
12336         Tests for module 'unictype/combining-class-byname'.
12337         * modules/unictype/combining-class-byname-tests: New file.
12338         * tests/unictype/test-combiningclass_byname.c: New file.
12339
12340         New module 'unictype/combining-class-byname'.
12341         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
12342         * lib/unictype/combiningclass_byname.c: New file.
12343         * lib/unictype/combiningclass_byname.gperf: New file.
12344         * modules/unictype/combining-class-byname: New file.
12345
12346         Tests for module 'unictype/combining-class-longname'.
12347         * modules/unictype/combining-class-longname-tests: New file.
12348         * tests/unictype/test-combiningclass_longname.c: New file.
12349
12350         New module 'unictype/combining-class-longname'.
12351         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
12352         * lib/unictype/combiningclass_longname.c: New file.
12353         * modules/unictype/combining-class-longname: New file.
12354
12355         Tests for module 'unictype/combining-class-name'.
12356         * modules/unictype/combining-class-name-tests: New file.
12357         * tests/unictype/test-combiningclass_name.c: New file.
12358
12359         New module 'unictype/combining-class-name'.
12360         * lib/unictype.in.h (uc_combining_class_name): New declaration.
12361         * lib/unictype/combiningclass_name.c: New file.
12362         * modules/unictype/combining-class-name: New file.
12363
12364 2011-03-25  Bruno Haible  <bruno@clisp.org>
12365
12366         unictype/combining-class: Rename source files.
12367         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
12368         of unictype/combining.h.
12369         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
12370         Update.
12371         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
12372         * modules/unictype/combining-class (Description): Fix.
12373         (Files, Makefile.am): Update.
12374         * tests/unictype/test-combiningclass.c: Renamed from
12375         tests/unictype/test-combining.c.
12376         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
12377
12378 2011-03-25  Bruno Haible  <bruno@clisp.org>
12379
12380         unictype: Update list of canonical combining classes.
12381         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12382
12383 2011-03-25  Bruno Haible  <bruno@clisp.org>
12384
12385         unictype/category-byname: Recognize long names as well.
12386         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12387         a long name.
12388         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12389         unictype/categ_byname.h.
12390         (UC_CATEGORY_INDEX_*): New enumeration values.
12391         (uc_general_category_byname): Use uc_general_category_lookup and
12392         convert from index to value.
12393         * lib/unictype/categ_byname.gperf: New file.
12394         * modules/unictype/category-byname (Files): Add
12395         lib/unictype/categ_byname.gperf.
12396         (Depends-on): Add gperf.
12397         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12398         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12399         long names.
12400
12401         Tests for module 'unictype/category-longname'.
12402         * modules/unictype/category-longname-tests: New file.
12403         * tests/unictype/test-categ_longname.c: New file.
12404
12405         New module 'unictype/category-longname'.
12406         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12407         * lib/unictype/categ_longname.c: New file.
12408         * modules/unictype/category-longname: New file.
12409         * modules/unictype/category-all (Depends-on): Add it.
12410
12411 2011-03-25  Bruno Haible  <bruno@clisp.org>
12412
12413         Tests for module 'unictype/category-LC'.
12414         * modules/unictype/category-LC-tests: New file.
12415         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12416
12417         New module 'unictype/category-LC'.
12418         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12419         (UC_CATEGORY_LC): New declaration.
12420         (UC_CASED_LETTER): New macro.
12421         * lib/gen-uni-tables.c (is_category_LC): New function.
12422         (output_categories): Also handle category LC.
12423         (UC_CATEGORY_MASK_LC): New enumeration value.
12424         (general_category_byname): Also handle category LC.
12425         * lib/unictype/categ_LC.c: New file.
12426         * lib/unictype/categ_LC.h: New file, automatically generated.
12427         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12428         category LC.
12429         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12430         * modules/unictype/category-LC: New file.
12431         * modules/unictype/category-byname (Depends-on): Add
12432         unictype/category-LC.
12433         * modules/unictype/category-all (Depends-on): Likewise.
12434
12435 2011-03-25  Eric Blake  <eblake@redhat.com>
12436
12437         xmalloc: revert yesterday's regression
12438         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12439         realloc's underlying behavior (allowing allocation of zero-size
12440         objects, especially if malloc-gnu is also in use).
12441
12442 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12443
12444         maint.mk: add missing version to VC-tag
12445         * top/maint.mk: git tag was missing actual tag name; add it.
12446
12447         valgrind: do leak checking, and exit with code 1 on error (not 0)
12448         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12449         to VALGRIND.
12450
12451 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12452
12453         posix-modules: say what it does.
12454         * posix-modules: Add a line to the --help output saying what it does.
12455
12456 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12457
12458         xmalloc: Do not leak if underlying realloc is C99 compatible.
12459         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12460         This avoids a leak on C99-based systems.  See
12461         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12462
12463 2011-03-24  Eric Blake  <eblake@redhat.com>
12464
12465         realloc: document portability problem
12466         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12467         passing 0 size to realloc.
12468
12469 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12470
12471         doc: update users.txt
12472         * users.txt: Add cvsps, tmpwatch
12473
12474 2011-03-23  Matt Rice  <ratmice@gmail.com>
12475
12476         doc: update users.txt
12477         * users.txt: Add gdb.
12478
12479 2011-03-23  Jim Meyering  <meyering@redhat.com>
12480
12481         doc: update users.txt
12482         Looking through matches up to the following URL (there are still
12483         several more pages), I found several projects that use gnulib:
12484         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12485         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12486         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12487
12488 2011-03-22  Bruno Haible  <bruno@clisp.org>
12489
12490         unictype/bidi*: Rename functions.
12491         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12492         uc_bidi_class, uc_is_bidi_class): New declarations.
12493         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12494         uc_bidi_category_byname.
12495         (uc_bidi_category_byname): New function.
12496         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12497         u_bidi_category_name.
12498         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12499         (uc_bidi_category_name): New function.
12500         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12501         uc_bidi_category.
12502         (uc_bidi_category): New function.
12503         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12504         uc_is_bidi_category. Invoke uc_bidi_class.
12505         (uc_is_bidi_category): New function.
12506         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12507         instead of uc_bidi_category_byname.
12508         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12509         instead of uc_bidi_category_name.
12510         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12511         uc_bidi_category.
12512         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12513         instead of uc_is_bidi_category.
12514
12515 2011-03-21  Bruno Haible  <bruno@clisp.org>
12516
12517         New module 'unictype/joininggroup-all'.
12518         * modules/unictype/joininggroup-all: New file.
12519
12520         Tests for module 'unictype/joininggroup-of'.
12521         * modules/unictype/joininggroup-of-tests: New file.
12522         * tests/unictype/test-joininggroup_of.c: New file.
12523         * tests/unictype/test-joininggroup_of.h: New file, automatically
12524         generated by gen-uni-tables.
12525
12526         New module 'unictype/joininggroup-of'.
12527         * modules/unictype/joininggroup-of: New file.
12528         * lib/unictype/joininggroup_of.c: New file.
12529         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12530         gen-uni-tables.
12531
12532         Tests for module 'unictype/joininggroup-byname'.
12533         * modules/unictype/joininggroup-byname-tests: New file.
12534         * tests/unictype/test-joininggroup_byname.c: New file.
12535
12536         New module 'unictype/joininggroup-byname'.
12537         * modules/unictype/joininggroup-byname: New file.
12538         * lib/unictype/joininggroup_byname.c: New file.
12539         * lib/unictype/joininggroup_byname.gperf: New file.
12540
12541         Tests for module 'unictype/joininggroup-name'.
12542         * modules/unictype/joininggroup-name-tests: New file.
12543         * tests/unictype/test-joininggroup_name.c: New file.
12544
12545         New module 'unictype/joininggroup-name'.
12546         * modules/unictype/joininggroup-name: New file.
12547         * lib/unictype/joininggroup_name.c: New file.
12548         * lib/unictype/joininggroup_name.h: New file.
12549
12550         New module 'unictype/joiningtype-all'.
12551         * modules/unictype/joiningtype-all: New file.
12552
12553         Tests for module 'unictype/joiningtype-of'.
12554         * modules/unictype/joiningtype-of-tests: New file.
12555         * tests/unictype/test-joiningtype_of.c: New file.
12556         * tests/unictype/test-joiningtype_of.h: New file, automatically
12557         generated by gen-uni-tables.
12558
12559         New module 'unictype/joiningtype-of'.
12560         * modules/unictype/joiningtype-of: New file.
12561         * lib/unictype/joiningtype_of.c: New file.
12562         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12563         gen-uni-tables.
12564
12565         Tests for module 'unictype/joiningtype-byname'.
12566         * modules/unictype/joiningtype-byname-tests: New file.
12567         * tests/unictype/test-joiningtype_byname.c: New file.
12568
12569         New module 'unictype/joiningtype-byname'.
12570         * modules/unictype/joiningtype-byname: New file.
12571         * lib/unictype/joiningtype_byname.c: New file.
12572
12573         Tests for module 'unictype/joiningtype-name'.
12574         * modules/unictype/joiningtype-name-tests: New file.
12575         * tests/unictype/test-joiningtype_name.c: New file.
12576
12577         New module 'unictype/joiningtype-name'.
12578         * modules/unictype/joiningtype-name: New file.
12579         * lib/unictype/joiningtype_name.c: New file.
12580
12581         unictype: Add support for Arabic shaping properties.
12582         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12583         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12584         declarations.
12585         (UC_JOINING_GROUP_*): New enumeration values.
12586         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12587         declarations.
12588         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12589         (unicode_joining_type): New variable.
12590         (UC_JOINING_GROUP_*): New enumeration values.
12591         (unicode_joining_group): New variable.
12592         (fill_arabicshaping, joining_type_as_c_identifier,
12593         output_joining_type_test, output_joining_type,
12594         joining_group_as_c_identifier, output_joining_group_test,
12595         output_joining_group): New functions.
12596         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12597         fill_arabicshaping and output_joining_type_test, output_joining_type,
12598         output_joining_group_test, output_joining_group.
12599         Reported by Simon Josefsson.
12600
12601 2011-03-21  Jim Meyering  <meyering@redhat.com>
12602
12603         strftime: fix a bug in yesterday's change
12604         * lib/strftime.c (add): Accommodate width's initial value of -1.
12605         Otherwise, nstrftime would copy uninitialized data into
12606         the result buffer.
12607
12608 2011-03-21  Jim Meyering  <meyering@redhat.com>
12609
12610         tests: add strftime-tests module
12611         * tests/test-strftime.c: New file.
12612         * modules/strftime-tests: New module.
12613
12614 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12615
12616         strftime: don't assume a byte count fits in 'int'
12617         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12618         found this problem by static analysis, using gcc -Wstrict-overflow
12619         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12620         on an integer overflow having undefined behavior, but it turns out
12621         that the argument is a size, which might not fit in 'int' anyway,
12622
12623 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12624
12625         stdio: don't require ignore_value around fwrite
12626
12627         This patch works around libc bug 11959
12628         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12629         Without this patch, applications must often write
12630         ignore_value (fwrite (...)) even though the ignore_value is
12631         not helpful here.  It's common to write many objects, using
12632         fwrite/printf/etc., and then use ferror to detect output error.
12633
12634         I considered making this patch optional, but decided against it,
12635         because libc is obviously being inconsistent here: there is no
12636         reason libc should insist that user code must inspect fwrite
12637         return's value without also insisting that it inspect printf's,
12638         putchar's, etc.  If user code wants to have a strict style where
12639         all these functions' values are checked (so that ferror need not
12640         be checked), we could add support for that style in a new gnulib
12641         module, but in the meantime it's better to be consistent and to
12642         support common usage.
12643
12644         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12645         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12646         that we are compiling in checking mode, and if not C++, and
12647         if not already wrapping fwrite for some other reason.
12648         (fwrite): #define to rpl_fwrite if the latter is defined.
12649
12650 2011-03-20  Bruno Haible  <bruno@clisp.org>
12651
12652         verror: Fix compilation error introduced on 2011-02-13.
12653         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12654         instead of __attribute__.
12655         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12656
12657 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12658             Bruno Haible  <bruno@clisp.org>
12659
12660         socklen: do not depend on sys_socket
12661         While trying to modify Emacs to use gnulib's socklen module,
12662         I discovered a circular dependency: socklen depends on sys_socket
12663         and vice versa.  Emacs can use socklen, but it does not need
12664         sys_socket because it has its own substitute for sys/socket.h.
12665         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12666         gl_TYPE_SOCKLEN_T.
12667         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12668         gl_PREREQ_SYS_H_SOCKET.
12669         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12670         gl_PREREQ_SYS_H_SOCKET.
12671         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12672         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12673         * modules/socklen (Depends-on): Do not depend on sys_socket.
12674         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12675
12676 2011-03-20  Jim Meyering  <meyering@redhat.com>
12677
12678         maint.mk: sort file names *after* new transformation
12679         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12680         prefix would have led to an unwarranted failure in GNU parted.
12681         Sort after that transformation.
12682
12683 2011-03-19  Jim Meyering  <meyering@redhat.com>
12684
12685         maint.mk: fix po-file syntax-check rule
12686         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12687         Patch by Bruno Haible.
12688
12689 2011-03-19  Bruno Haible  <bruno@clisp.org>
12690
12691         socklen: Update comment.
12692         * m4/socklen.m4: Update comment about platforms.
12693
12694 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12695             Bruno Haible  <bruno@clisp.org>
12696
12697         inet_ntop, inet_pton: Simplify.
12698         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12699         documented to provide socklen_t and we already depend on sys_socket.
12700         * modules/inet_pton (Depends-on): Likewise.
12701         * lib/arpa_inet.in.h: Adjust comment.
12702
12703 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12704             Bruno Haible  <bruno@clisp.org>
12705
12706         netdb: Simplify.
12707         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12708         documented to provide socklen_t and we already depend on sys_socket.
12709         * lib/netdb.in.h: Adjust comment.
12710
12711 2011-03-19  Bruno Haible  <bruno@clisp.org>
12712
12713         sys_socket, netdb: Document problem with socklen_t.
12714         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12715         platforms.
12716         * doc/posix-headers/netdb.texi: Likewise.
12717
12718 2011-03-18  Eric Blake  <eblake@redhat.com>
12719
12720         maint.mk: let po check work in VPATH build
12721         * top/maint.mk (po_file): Allow cfg.mk override.
12722         (sc_po_check): Allow VPATH use.
12723         Reported by Jiri Denemark.
12724
12725 2011-03-16  Jim Meyering  <meyering@redhat.com>
12726
12727         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12728         Before, you would have had to create one .x-sc_ file per rule in order
12729         to exempt offending files.  Now, you may instead use a Make variable --
12730         usually defined in cfg.mk -- whose name identifies the affected rule.
12731         * top/maint.mk (_sc_excl): Define.
12732         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12733         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12734
12735 2011-03-13  Bruno Haible  <bruno@clisp.org>
12736
12737         ignore-value tests: Avoid warnings.
12738         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12739         empty for gcc < 3.4.
12740
12741 2011-03-13  Bruno Haible  <bruno@clisp.org>
12742
12743         passfd: Fix link error on Solaris.
12744         * modules/passfd (Description): Correct.
12745         (Depends-on): Add socketlib.
12746         (Link): New section.
12747         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12748
12749 2011-03-13  Bruno Haible  <bruno@clisp.org>
12750
12751         passfd: Fix link error on AIX 5.2.
12752         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12753
12754 2011-03-13  Bruno Haible  <bruno@clisp.org>
12755
12756         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12757         * lib/sys_socket.in.h: Include <stddef.h>.
12758         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12759         CMSG_FIRSTHDR. Remove unused variable.
12760
12761 2011-03-13  Bruno Haible  <bruno@clisp.org>
12762
12763         passfd: Fix compilation error on OpenBSD.
12764         * lib/passfd.c: Include <sys/uio.h>.
12765
12766 2011-03-13  Bruno Haible  <bruno@clisp.org>
12767
12768         passfd test: Fix warnings.
12769         * tests/test-passfd.c: Include <sys/wait.h>.
12770         (main): Fix typo.
12771
12772 2011-03-13  Bruno Haible  <bruno@clisp.org>
12773
12774         passfd module, part 4, tweaks.
12775         * tests/test-passfd.c: Reorder includes.
12776         (main): Fix perror and printf calls.
12777
12778 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12779
12780         passfd module, part 4.
12781         * modules/passfd-tests: New file.
12782         * tests/test-passfd.c: New file.
12783
12784 2011-03-13  Jim Meyering  <meyering@redhat.com>
12785
12786         Makefile: rely on GNU make; derive syntax-check rule names
12787         Rather than requiring that each sc_ rule be listed as a dependent
12788         of "check", use features of GNU make to derive the list.
12789         * Makefile (syntax-check-rules): Define.
12790         (check): Depend on the new variable, not the hard-coded list.
12791
12792 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
12793             Bruno Haible  <bruno@clisp.org>
12794
12795         passfd module, part 3.
12796         * lib/passfd.h (recvfd): Add a flags argument.
12797         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
12798         (recvfd): Add a flags argument.
12799         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
12800         exists.
12801         * modules/passfd (Depends-on): Add cloexec.
12802         Suggested by Eric Blake.
12803
12804 2011-03-13  Bruno Haible  <bruno@clisp.org>
12805
12806         passfd module, part 2, tweaks.
12807         * modules/passfd (Files): Reorder.
12808         (Depends-on): Remove errno.
12809         (Include): Remove <sys/socket.h>, <sys/un.h>.
12810         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
12811         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
12812         specification header. Include <sys/socket.h> always. Don't include
12813         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
12814         (sendfd): Clarify that it sets errno when it fails.
12815         (recvfd): Fix specification.
12816
12817 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12818
12819         passfd module, part 2.
12820         * modules/passfd: New file.
12821         * lib/passfd.h: New file.
12822         * lib/passfd.c: New file.
12823
12824 2011-03-12  Bruno Haible  <bruno@clisp.org>
12825
12826         wcswidth, mbswidth: Avoid integer overflow.
12827         * lib/wcswidth.c: Include <limits.h>.
12828         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
12829         * lib/mbswidth.c: Include <limits.h>.
12830         (mbsnwidth): Avoid 'int' overflow.
12831         Reported by Jim Meyering.
12832
12833 2011-03-12  Bruno Haible  <bruno@clisp.org>
12834
12835         futimens, utimensat: Avoid endless recursion on Solaris 10.
12836         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
12837         Solaris.
12838         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
12839         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
12840
12841 2011-03-11  Jim Meyering  <meyering@redhat.com>
12842
12843         maint.mk: relax a regexp to accommodate other formatting styles
12844         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
12845         between "ngettext" and the following "(".
12846
12847 2011-03-11  Pádraig Brady <P@draigBrady.com>
12848
12849         maint.mk: suppress a false positive warning
12850         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
12851         diagnostics are marked with ngettext.
12852
12853 2011-03-10  Eric Blake  <eblake@redhat.com>
12854
12855         wchar: add explicit dependencies, for Tru64
12856         * modules/mbmemcasecoll (Depends-on): Add wchar.
12857         * modules/mbtowc (Depends-on): Likewise.
12858         * modules/vasnprintf (Depends-on): Likewise.
12859         * modules/unistdio/u-printf-args (Depends-on): Likewise.
12860         * modules/wctomb (Depends-on): Likewise.
12861         Reported by Peter O'Gorman.
12862
12863 2011-03-08  Bruno Haible  <bruno@clisp.org>
12864
12865         passfd module, part 1, tweaks.
12866         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
12867         Improve indentation. Improve AC_MSG_CHECKING messages.
12868         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
12869         gl_SOCKET_FAMILIES.
12870
12871 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12872
12873         passfd module, part 1.
12874         * m4/afunix.m4: New file.
12875         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
12876         sockets.
12877
12878 2011-03-08  Bruno Haible  <bruno@clisp.org>
12879
12880         regex-quote: New API.
12881         * lib/regex-quote.h: Include <stdbool.h>.
12882         (struct regex_quote_spec): New type.
12883         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12884         New declarations.
12885         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12886         'const struct regex_quote_spec *' argument.
12887         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
12888         (pcre_special): New constant.
12889         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12890         New functions.
12891         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12892         'const struct regex_quote_spec *' argument.
12893         * modules/regex-quote (Depends-on): Add stdbool.
12894         * tests/test-regex-quote.c (check): Update for new API. Add test for
12895         anchored results.
12896         * NEWS: Mention the API change.
12897         Reported by Reuben Thomas and Eric Blake.
12898
12899 2011-03-06  Bruno Haible  <bruno@clisp.org>
12900
12901         regex-quote: Fix creation of POSIX extended regular expressions.
12902         * lib/regex-quote.c (ere_special): Add grouping and alternation
12903         operators.
12904
12905 2011-03-05  Bruno Haible  <bruno@clisp.org>
12906
12907         doc: Improve doc regarding autopoint vs. gnulib.
12908         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
12909         disable autopoint while running autoreconf.
12910         Suggested by Ralf Wildenhues.
12911
12912 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12913
12914         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
12915         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
12916
12917 2011-03-03  Bruce Korb  <bkorb@gnu.org>
12918
12919         parse-duration: remove xalloc.h dependency
12920         * lib/parse-duration.c (parse_period): handle NULL return from
12921         strdup instead of calling xstrdup().
12922         * modules/parse-duration: remove "xalloc" dependency
12923
12924 2011-03-03  Matthew Booth  <mbooth@redhat.com>
12925
12926         bootstrap: honor m4_base when running aclocal
12927         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
12928
12929 2011-03-02  Jim Meyering  <meyering@redhat.com>
12930
12931         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
12932         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
12933         on request from Matt Booth.
12934
12935 2011-03-01  Eric Blake  <eblake@redhat.com>
12936
12937         test-link: work on Hurd
12938         * tests/test-link.h (test_link): Hurd rejects linking directories
12939         with EISDIR instead of the POSIX-mandated EPERM.
12940
12941 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
12942
12943         stdio: simplify by moving files to printf-posix, sigpipe
12944         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
12945         since this symbol is needed only if printf is replaced.
12946         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
12947         Require gl_ASM_SYMBOL_PREFIX.
12948         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
12949         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
12950         (Depends-on): Add 'raise'.
12951         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
12952         * modules/stdio (Files): Remove lib/stdio-write.c,
12953         m4/asm-underscore.m4.
12954         (Depends-on): Remove 'raise'.
12955
12956         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
12957         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
12958         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
12959         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
12960
12961 2011-02-28  Bruno Haible  <bruno@clisp.org>
12962
12963         localcharset: Assume ANSI C behaviour of free().
12964         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
12965         calling free().
12966         Suggested by Simon Josefsson <simon@josefsson.org>.
12967
12968 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
12969             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
12970             Bruno Haible  <bruno@clisp.org>  (tiny change)
12971
12972         On Cygwin, use /proc file system instead of win32 API.
12973         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
12974         Win32 file names.
12975         (DllMain): Simplify by removing Cygwin specific code.
12976         (find_shared_library_fullname): Use Linux specific implementation also
12977         for Cygwin.
12978         (get_shared_library_fullname): Update accordingly.
12979         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
12980         Win32 file names.
12981         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
12982         Cygwin specific code.
12983
12984 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
12985             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
12986
12987         Fix OpenMP flag detection for various Fortran compilers.
12988         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
12989         OpenMP-conditional compilation construct, to force compile
12990         failure with missing OpenMP flag.
12991         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
12992
12993 2011-02-25  Eric Blake  <eblake@redhat.com>
12994
12995         strstr: expand test coverage
12996         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
12997         compilation.
12998         * tests/test-memmem.c (main): Duplicate tests.
12999         * tests/test-strcasestr.c (main): Likewise.
13000         * tests/test-c-strcasestr.c (main): Likewise.
13001
13002 2011-02-25  Jim Meyering  <meyering@redhat.com>
13003
13004         maint.mk: detect missing-NL-at-EOF, too
13005         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
13006         it also detects when a file lacks a newline at EOF.
13007         (require_exactly_one_NL_at_EOF_): Renamed from
13008         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
13009         since people may well have .x-sc_... file names tied to the
13010         existing name.  Suggested by Eric Blake.
13011
13012 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13013
13014         dirname: move m4/dos.m4 functionality into lib/dosname.h
13015
13016         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
13017         extracts symbols from it, puts them into config.h; but it's much
13018         easier to use the symbols directly.  filename.h already does this,
13019         but it disagrees with dos.m4 in some respects.  This patch
13020         introduces a different include file dosname.h that packages up
13021         dos.m4, and then later we can work on merging filename.h and
13022         dosname.h.  Applications that need only the easy-to-configure
13023         symbols should consider including dosname.h rather than dirname.h.
13024         * NEWS: Mention incompatible changes.
13025         * m4/dos.m4: Remove.
13026         * lib/dosname.h, modules/dosname: New files.
13027         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
13028         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
13029         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
13030         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
13031         Include dosname.h, not dirname.h.
13032         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
13033         Include dosname.h, for definitions of symbols like ISSLASH
13034         that used to be in config.h.
13035         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
13036         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13037         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13038         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13039         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
13040         * modules/rmdir (Files): Likewise.
13041         * modules/stat (Files): Likewise.
13042         * modules/unlink (Files): Likewise.
13043         * modules/dirname-lgpl (Depends-on): Add dosname.
13044         * modules/lstat (Depends-on): Likewise.
13045         * modules/openat (Depends-on): Likewise.
13046         * modules/rmdir (Depends-on): Likewise.
13047         * modules/savewd (Depends-on): Likewise.
13048         * modules/stat (Depends-on): Likewise.
13049         * modules/unlink (Depends-on): Likewise.
13050         * modules/openat (Depends-on): Remove dirname-lgpl.
13051         * modules/savewd (Depends-on): Likewise.
13052         * tests/test-dirname.c: Do not use removed symbols like
13053         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
13054         the remaining symbols, e.g., ISSLASH ('\\').
13055
13056 2011-02-25  Eric Blake  <eblake@redhat.com>
13057
13058         strstr: revert patches that introduced bug and pessimization
13059         * lib/str-two-way.h: Add another reference.
13060         (two_way_short_needle, two_way_long_needle): Revert changes from
13061         2011-02-24; they pessimize search speed.
13062         (critical_factorization): Partially revert changes from
13063         2010-06-22; they violate the requirement that the left half of the
13064         needle be smaller than the period of the needle.
13065
13066 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13067
13068         filenamecat: remove unnecessary dependency on dirname-lgpl
13069         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
13070         is no direct dependency, just an indirect one via filenamecat-lgpl.
13071
13072         remove: remove unnecessary use of m4/dos.m4
13073         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
13074         * modules/remove (FILES): Remove m4/dos.m4.
13075
13076         * lib/openat-proc.c: Don't include dirname.h; not needed.
13077
13078         backupfile: remove unnecessary use of m4/dos.m4
13079         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
13080         of its symbols are used by the backupfile code.  backupfile.c does
13081         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
13082         for the rare case of programs that want all their backup file
13083         names to live within 8+3 limits, and dos.m4 doesn't address that.
13084         * modules/backupfile (Files): Remove m4/dos.m4.
13085
13086 2011-02-24  Jim Meyering  <meyering@redhat.com>
13087
13088         strstr: fix a bug whereby strstr would mistakenly return NULL
13089         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
13090         in period calculation.
13091         (two_way_long_needle): Likewise.
13092         The original problem was reported by Mike Stump in
13093         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
13094         Ralf Wildenhues provided the short needle and haystack.
13095         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
13096         Add a more involved test to trigger the bug in two_way_long_needle.
13097
13098 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13099
13100         gnulib-tool: remove use of bold display in help screen
13101         * gnulib-tool (func_usage): Do not use bold display anymore in the
13102         help screen.  That was just meant to be a temporary emphasis for a
13103         backward-incompatible change.
13104
13105 2011-02-23  Bruno Haible  <bruno@clisp.org>
13106
13107         Fix misindentation of preprocessor directives.
13108         * lib/argp-namefrob.h: Reindent preprocessor directives.
13109         * lib/getopt_int.h (struct _getopt_data): Likewise.
13110         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
13111         * lib/vasnprintf.c (decode_long_double): Likewise.
13112         * tests/test-argmatch.c: Insert blank lines, for clarity.
13113         * tests/test-exclude.c: Likewise.
13114
13115 2011-02-22  Bruno Haible  <bruno@clisp.org>
13116
13117         ioctl: Fix for MacOS X in 64-bit mode.
13118         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
13119         value.
13120         Suggested by Eric Blake.
13121         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
13122
13123 2011-02-22  Jim Meyering  <meyering@redhat.com>
13124
13125         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
13126         * Makefile (sc_cpp_indent_check): Don't limit the check to files
13127         in lib/.
13128
13129 2011-02-22  Eric Blake  <eblake@redhat.com>
13130
13131         maint: avoid any CDPATH issue
13132         * Makefile (sc_cpp_indent_check): Anchor cd argument.
13133
13134         maint: adjust cpp indentation for my modules, as well
13135         * Makefile (sc_cpp_indent_check): Add my name.
13136         * lib/fbufmode.c: Filter through cppi.
13137         * lib/fpurge.c: Likewise.
13138         * lib/freadable.c: Likewise.
13139         * lib/freading.c: Likewise.
13140         * lib/fwritable.c: Likewise.
13141         * lib/fwriting.c: Likewise.
13142         * lib/sigaction.c: Likewise.
13143
13144 2011-02-22  Jim Meyering  <meyering@redhat.com>
13145
13146         maint: adjust cpp indentation to reflect nesting depth
13147         I.e., in a block of code that begins with an unnested "#if",
13148         put one space between the "#" in column 1 and following token.
13149         For example,
13150         -#include <sys/vfs.h>
13151         +# include <sys/vfs.h>
13152         Do this only in .c files that are part of a module I maintain.
13153         * lib/linkat.c: Filter through cppi.
13154         * lib/nanosleep.c: Likewise.
13155         * lib/openat.c: Likewise.
13156         * lib/openat-die.c: Likewise.
13157         * lib/dup3.c: Likewise.
13158         * lib/fchownat.c: Likewise.
13159         * lib/flock.c: Likewise.
13160         * lib/fsync.c: Likewise.
13161         * lib/fts.c: Likewise.
13162         * lib/getpass.c: Likewise.
13163         * lib/gettimeofday.c: Likewise.
13164         * lib/userspec.c: Likewise.
13165         * Makefile (sc_cpp_indent_check): New rule, to check this.
13166
13167 2011-02-22  Bruno Haible  <bruno@clisp.org>
13168
13169         New module 'wctomb'.
13170         * lib/stdlib.in.h (wctomb): New declaration.
13171         * lib/wctomb.c: New file.
13172         * lib/wctomb-impl.h: New file.
13173         * m4/wctomb.m4: New file.
13174         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
13175         REPLACE_WCTOMB.
13176         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
13177         REPLACE_WCTOMB.
13178         * modules/wctomb: New file.
13179         * tests/test-stdlib-c++.cc: Test signature of wctomb.
13180         * doc/posix-functions/wctomb.texi: Mention the new module.
13181         * modules/wctob (Depends-on): Add wctomb.
13182
13183 2011-02-22  Bruno Haible  <bruno@clisp.org>
13184
13185         New module 'mbtowc'.
13186         * lib/stdlib.in.h (mbtowc): New declaration.
13187         * lib/mbtowc.c: New file.
13188         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
13189         * m4/mbtowc.m4: New file.
13190         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
13191         REPLACE_MBTOWC.
13192         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
13193         REPLACE_MBTOWC.
13194         * modules/mbtowc: New file.
13195         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
13196         * doc/posix-functions/mbtowc.texi: Mention the new module.
13197         * modules/btowc (Depends-on): Add mbtowc.
13198
13199 2011-02-22  Bruno Haible  <bruno@clisp.org>
13200
13201         wcrtomb: Add more tests for native Windows platforms.
13202         * tests/test-wcrtomb-w32-1.sh: New file.
13203         * tests/test-wcrtomb-w32-2.sh: New file.
13204         * tests/test-wcrtomb-w32-3.sh: New file.
13205         * tests/test-wcrtomb-w32-4.sh: New file.
13206         * tests/test-wcrtomb-w32-5.sh: New file.
13207         * tests/test-wcrtomb-w32.c: New file.
13208         * modules/wcrtomb-tests (Files): Add them.
13209         (Makefile.am): Arrange to run these tests.
13210         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
13211         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
13212
13213 2011-02-20  Bruno Haible  <bruno@clisp.org>
13214
13215         wcrtomb: Enhance test.
13216         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
13217
13218 2011-02-20  Bruno Haible  <bruno@clisp.org>
13219
13220         mbrtowc: Tiny optimization.
13221         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
13222
13223 2011-02-20  Jim Meyering  <meyering@redhat.com>
13224
13225         test-exclude.c: remove unmatched #endif
13226         * tests/test-exclude.c: Remove stray #endif, left over from
13227         the change of a week ago.
13228
13229 2011-02-19  Jim Meyering  <meyering@redhat.com>
13230
13231         git-version-gen: skip "-dirty" check when appropriate
13232         * build-aux/git-version-gen: Don't run any git commands when the
13233         version string comes from .tarball-version.  Prior to this, we
13234         would run git update-index --refresh even from a just-unpacked
13235         tarball directory, and that could affect a .git/ directory in a
13236         parent of the build directory.  Reported by Mike Frysinger.
13237
13238 2011-02-19  Bruno Haible  <bruno@clisp.org>
13239
13240         unictype/property-byname: Reduce the size of the 'data' segment.
13241         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
13242
13243 2011-02-19  Bruno Haible  <bruno@clisp.org>
13244
13245         unictype/scripts: Reduce the size of the 'data' segment.
13246         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
13247         '%pic'.
13248         * lib/unictype/scripts_byname.gperf: Regenerated.
13249
13250 2011-02-19  Bruno Haible  <bruno@clisp.org>
13251
13252         stdint: Update documentation.
13253         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
13254
13255 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13256
13257         stdint: omit redundant check for wchar.h
13258         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
13259         always tests whether wchar.h exists, so remove the now-redundant test.
13260
13261 2011-02-18  Bruno Haible  <bruno@clisp.org>
13262
13263         stdint: Cut dependency to module 'wchar'.
13264         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
13265         include the necessary prerequisites.
13266         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
13267         * modules/stdint (Depends-on): Remove wchar.
13268         (Makefile.am): Substitute HAVE_WCHAR_H.
13269         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
13270
13271 2011-02-18  Eric Blake  <eblake@redhat.com>
13272
13273         longlong: skip, rather than fail, on cross-compilation
13274         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
13275         when cross-compiling; regression from 2011-02-16.
13276
13277 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13278
13279         * NEWS: Mention 2011-02-08 change to stdlib.
13280
13281 2011-02-17  Bruno Haible  <bruno@clisp.org>
13282
13283         getloadavg: Add comments about platforms.
13284         * m4/getloadavg.m4: Add comment.
13285         * lib/getloadavg.c: Likewise.
13286
13287 2011-02-17  Bruno Haible  <bruno@clisp.org>
13288
13289         getloadavg: Fix link error on Solaris 2.6.
13290         * modules/getloadavg (Link): New section.
13291         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
13292         linking test-getloadavg.
13293         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
13294         getloadavg.
13295
13296 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13297
13298         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
13299         It was 'int', but this doesn't match the IRIX 6.5 manual.
13300         Suggested by Bruno Haible in
13301         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
13302
13303 2011-02-17  Bruno Haible  <bruno@clisp.org>
13304
13305         havelib: Fix comments.
13306         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
13307         change.
13308
13309 2011-02-17  Bruno Haible  <bruno@clisp.org>
13310
13311         havelib: Update config.rpath.
13312         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
13313
13314 2011-02-17  Bruno Haible  <bruno@clisp.org>
13315
13316         getloadavg test: Add some plausibility checks.
13317         * tests/test-getloadavg.c (check_avg): Print a warning when the value
13318         is improbable.
13319
13320 2011-02-16  Eric Blake  <eblake@redhat.com>
13321
13322         maintainer-makefile: make syntax-check a no-op from tarballs
13323         * top/maint.mk (no-vc-detected): New rule.
13324         (local-checks-available): Use it to avoid hanging if someone tries
13325         'make syntax-check' from a tarball.  Also append to any non-syntax
13326         checks already defined in cfg.mk.
13327
13328 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13329
13330         longlong: tune, particularly for common case of c99
13331
13332         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
13333         or running anything if c99, or if unsigned long long int does not
13334         work.  In either case, we know the answer without further tests.
13335         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
13336         it at most once, and use its results for both long long int and
13337         unsigned long long int.  This is more likely to be efficient in
13338         the common case where the program wants to check for both long
13339         long int and unsigned long long int.
13340         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
13341         since the answer is already known.
13342
13343 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
13344
13345         getloadavg: set errno
13346         * lib/getloadavg.c: Set errno when returning -1.  If no other
13347         error number looks appropriate, set it to ENOSYS if the getloadavg
13348         looks like it can't possibly ever work, ENOTSUP otherwise.
13349         Suggested by Bruno Haible in
13350         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
13351
13352         getloadavg: trim unused parts and speed up 'configure'
13353         * NEWS: Document this.
13354         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
13355         always compiled if getloadavg is absent.
13356         Move test code to ...
13357         * tests/test-getloadavg.c: New file, containing previous
13358         contents of test from lib/getloadavg.c.  It also contains
13359         suggestions by Bruno Haible in
13360         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
13361         * modules/getloadavg-tests: New file.
13362         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
13363         Do tests in the same order as they're needed for getloadavg.c.
13364         Omit setgid-related tests that generate symbols KMEM_GROUP,
13365         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
13366         Do only the tests that are needed to see whether the system has
13367         getloadavg, moving the other tests into ...
13368         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
13369         NLIST_NAME_UNION; nobody should be using it.  Do not define
13370         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
13371         relevant, as the user of this module shouldn't care how getloadavg
13372         is implemented.
13373
13374         getloadavg: omit unused var
13375         * lib/getloadavg.c (getloadavg): Omit unused local variable.
13376
13377 2011-02-15  Jim Meyering  <meyering@redhat.com>
13378
13379         doc: update users.txt
13380         * users.txt: Update iwhd's URL.
13381
13382 2011-02-13  Bruno Haible  <bruno@clisp.org>
13383
13384         Consistent macro naming for macros that use GCC __attribute__.
13385         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13386         _ATTRIBUTE_NONNULL_.
13387         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13388         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13389         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13390         ATTRIBUTE_DEPRECATED.
13391         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13392         ATTRIBUTE_NORETURN.
13393         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13394         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13395         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13396         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13397         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13398         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13399         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13400         ATTRIBUTE_SENTINEL.
13401         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13402         ATTRIBUTE_RETURN_CHECK.
13403         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13404         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13405         ATTRIBUTE_NORETURN.
13406         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13407         Reported by Paul Eggert.
13408
13409 2011-02-13  Bruno Haible  <bruno@clisp.org>
13410
13411         Don't interfere with a program's definition of __attribute__.
13412         * lib/argp.h (__attribute__): Remove definition.
13413         (_GL_ATTRIBUTE_FORMAT): New macro.
13414         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13415         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13416         (_GL_ATTRIBUTE_FORMAT): New macro.
13417         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13418         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13419         GCC 3 or newer.
13420         * lib/error.h (__attribute__): Remove definition.
13421         (_GL_ATTRIBUTE_FORMAT): New macro.
13422         (error, error_at_line): Use it.
13423         * lib/hash.h (__attribute__): Remove definition.
13424         (ATTRIBUTE_WUR): Update definition. Define always.
13425         * lib/openat.h (__attribute__): Remove definition.
13426         (ATTRIBUTE_NORETURN): Update definition. Define always.
13427         * lib/sigpipe-die.h (__attribute__): Remove definition.
13428         (ATTRIBUTE_NORETURN): Update definition. Define always.
13429         * lib/vasnprintf.h (__attribute__): Remove definition.
13430         (_GL_ATTRIBUTE_FORMAT): New macro.
13431         (asnprintf, vasnprintf): Use it.
13432         * lib/xalloc.h (__attribute__): Remove definition.
13433         (ATTRIBUTE_NORETURN): Update definition. Define always.
13434         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13435         * lib/xmemdup0.h (__attribute__): Remove definition.
13436         (ATTRIBUTE_NORETURN): Update definition. Define always.
13437         * lib/xprintf.h (__attribute__): Remove definition.
13438         (_GL_ATTRIBUTE_FORMAT): New macro.
13439         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13440         * lib/xstrtol.h (__attribute__): Remove definition.
13441         (ATTRIBUTE_NORETURN): Update definition. Define always.
13442         * lib/xvasprintf.h (__attribute__): Remove definition.
13443         (_GL_ATTRIBUTE_FORMAT): New macro.
13444         (xasprintf, xvasprintf): Use it.
13445         * tests/test-argmatch.c (__attribute__): Remove definition.
13446         (ATTRIBUTE_NORETURN): Update definition. Define always.
13447         * tests/test-exclude.c (__attribute__): Remove definition.
13448         (ATTRIBUTE_NORETURN): Update definition. Define always.
13449         Reported by Paul Eggert.
13450
13451 2011-02-13  Bruno Haible  <bruno@clisp.org>
13452
13453         mbrtowc: Add more tests for native Windows platforms.
13454         * tests/test-mbrtowc-w32-1.sh: New file.
13455         * tests/test-mbrtowc-w32-2.sh: New file.
13456         * tests/test-mbrtowc-w32-3.sh: New file.
13457         * tests/test-mbrtowc-w32-4.sh: New file.
13458         * tests/test-mbrtowc-w32-5.sh: New file.
13459         * tests/test-mbrtowc-w32.c: New file.
13460         * modules/mbrtowc-tests (Files): Add them.
13461         (Makefile.am): Arrange to run these tests.
13462         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13463         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13464
13465 2011-02-13  Bruno Haible  <bruno@clisp.org>
13466
13467         mbrtowc: Work around native Windows bug.
13468         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13469         guess when no suitable locale for testing was found.
13470         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13471
13472 2011-02-13  Bruno Haible  <bruno@clisp.org>
13473
13474         mbsinit: Work around mingw bug.
13475         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13476         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13477         Windows.
13478         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13479
13480 2011-02-13  Bruno Haible  <bruno@clisp.org>
13481
13482         mbsinit: Don't crash for a NULL argument.
13483         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13484         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13485
13486 2011-02-13  Bruno Haible  <bruno@clisp.org>
13487
13488         Don't interfere with a program's definition of __attribute__.
13489         * lib/stdio.in.h (__attribute__): Remove definition.
13490         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13491         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13492         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13493         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13494         * lib/string.in.h (__attribute__): Remove definition.
13495         Reported by Paul Eggert.
13496
13497 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13498
13499         stdlib: don't get in the way of non-GCC __attribute__
13500         See thread starting at
13501         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13502         Revert previous stdlib change, installing the following instead:
13503         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13504         to get in the way of a non-GCC compiler that supports __attribute__.
13505         (_GL_ATTRIBUTE_RETURN): New macro.
13506         (_Exit): Use it instead of __attribute__.
13507
13508 2011-02-12  Bruno Haible  <bruno@clisp.org>
13509
13510         quotearg test: Avoid test failure on mingw.
13511         * tests/test-quotearg.sh: Convert the locale identifier from native
13512         Windows syntax to Unix syntax.
13513
13514 2011-02-12  Bruno Haible  <bruno@clisp.org>
13515
13516         setlocale: Prefer gnulib's override over libintl's override.
13517         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13518         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13519         GNULIB_defined_setlocale is set.
13520
13521 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13522
13523         stdlib: support non-GCC __attribute__
13524
13525         Fix a serious and tricky problem encountered when attempting to
13526         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13527         5.5, but it crashed due to memory corruption on Solaris 10 with
13528         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13529         bits that are otherwise zero.  This tagging is optional inside
13530         Emacs but is preferred and is used when __attribute__ ((__aligned
13531         (8))) works, as it does with both recent-enough GCC and with Sun C
13532         5.11.  However, Sun C 5.11 is not GCC and does not #define
13533         __GNUC__ and __GNUC_MINOR__.
13534
13535         When I added the getloadavg module to Emacs, it brought in
13536         stdlib.in.h, which contained this fragment:
13537
13538            #ifndef __attribute__
13539            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13540            #  define __attribute__(Spec)   /* empty */
13541            # endif
13542            #endif
13543
13544         When files that include <stdlib.h> were compiled with Sun C 5.11,
13545         the above code disabled __attribute__ ((__aligned (8))), which
13546         caused variables to not be properly aligned, which eventually led
13547         to the pointer corruption mentioned above.  (This was a bit hard
13548         to diagnose, unfortunately.)
13549
13550         Several "#define __attribute__(X) /* empty */" code snippets need
13551         to be eradicated from Gnulib to work with non-GCC compilers that
13552         support __attribute__.  The Autoconf way to do this is to test for
13553         each kind of attribute that we want support for, and selectively
13554         enable that in source code.
13555
13556         Fix this problem just for stdlib.h, by adding a test for the
13557         __noreturn__ attribute, and change stdlib.in.h to use that test
13558         when needed.  This technique can be easily generalized to the
13559         other *.in.h files and attributes, and a similar technique can be
13560         used for *.h and *.c files.  This patch is enough to solve the
13561         problem for Emacs + getloadavg, and I thought I'd publish it for
13562         feedback before undertaking further, similar fixes in other
13563         modules.
13564
13565         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13566         because it's not needed for stdlib.h.  It merely substitutes the
13567         value directly into stdlib.h.  We may well need to #define it, or
13568         similar symbols, for other modules, but it's nice to also have an
13569         option to not #define it for applications like Emacs that do not
13570         need it.
13571
13572         * lib/stdlib.in.h (__attribute__): Do not #define.
13573         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13574         be defined only if the _Exit module is also used.
13575         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13576         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13577         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13578         platforms.
13579         * modules/_Exit (Files): Add m4/attribute.m4.
13580         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13581         * m4/attribute.m4: New file.
13582
13583 2011-02-12  Bruno Haible  <bruno@clisp.org>
13584
13585         wcsrtombs: Work around bug on native Windows.
13586         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13587         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13588         instead of len.
13589         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13590
13591 2011-02-12  Bruno Haible  <bruno@clisp.org>
13592
13593         mbsrtowcs: Work around bug on native Windows.
13594         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13595         against mingw bug.
13596         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13597
13598 2011-02-12  Bruno Haible  <bruno@clisp.org>
13599
13600         Avoid setlocale bugs in tests.
13601         * modules/btowc (Dependencies): Add setlocale.
13602         * modules/c-strcase (Dependencies): Likewise.
13603         * modules/mbmemcasecmp (Dependencies): Likewise.
13604         * modules/mbmemcasecoll (Dependencies): Likewise.
13605         * modules/mbrtowc (Dependencies): Likewise.
13606         * modules/mbscasecmp (Dependencies): Likewise.
13607         * modules/mbscasestr (Dependencies): Likewise.
13608         * modules/mbschr (Dependencies): Likewise.
13609         * modules/mbscspn (Dependencies): Likewise.
13610         * modules/mbsinit (Dependencies): Likewise.
13611         * modules/mbsncasecmp (Dependencies): Likewise.
13612         * modules/mbsnrtowcs (Dependencies): Likewise.
13613         * modules/mbspbrk (Dependencies): Likewise.
13614         * modules/mbspcasecmp (Dependencies): Likewise.
13615         * modules/mbsrchr (Dependencies): Likewise.
13616         * modules/mbsrtowcs (Dependencies): Likewise.
13617         * modules/mbsspn (Dependencies): Likewise.
13618         * modules/mbsstr (Dependencies): Likewise.
13619         * modules/nl_langinfo (Dependencies): Likewise.
13620         * modules/quotearg (Dependencies): Likewise.
13621         * modules/unicase/locale-language (Dependencies): Likewise.
13622         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13623         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13624         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13625         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13626         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13627         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13628         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13629         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13630         * modules/vasnprintf-posix (Dependencies): Likewise.
13631         * modules/wcrtomb (Dependencies): Likewise.
13632         * modules/wcsnrtombs (Dependencies): Likewise.
13633         * modules/wcsrtombs (Dependencies): Likewise.
13634
13635 2011-02-12  Bruno Haible  <bruno@clisp.org>
13636
13637         setlocale: Workaround native Windows bug.
13638         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13639         succeeds but sets LC_CTYPE to "C", report a failure.
13640         * tests/test-setlocale2.sh: New file.
13641         * tests/test-setlocale2.c: New file.
13642         * modules/setlocale-tests (Files): Add the new files.
13643         (Makefile.am): Enable test-setlocale2.sh test.
13644         * doc/posix-functions/setlocale.texi: Mention workaround.
13645
13646 2011-02-11  Bruno Haible  <bruno@clisp.org>
13647
13648         Tests for module 'setlocale'.
13649         * modules/setlocale-tests: New file.
13650         * tests/test-setlocale1.sh: New file.
13651         * tests/test-setlocale1.c: New file.
13652
13653         New module 'setlocale'.
13654         * lib/locale.in.h (setlocale): New declaration.
13655         * lib/setlocale.c: New file, based on
13656         gettext/gettext-runtime/intl/setlocale.c.
13657         * m4/setlocale.m4: New file.
13658         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13659         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13660         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13661         REPLACE_SETLOCALE.
13662         * modules/setlocale: New file.
13663         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13664         * doc/posix-functions/setlocale.texi: Mention the new module.
13665
13666 2011-02-11  Bruno Haible  <bruno@clisp.org>
13667
13668         Prepare for locale dependent tests on mingw.
13669         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13670         because it has the wrong locale encoding.
13671         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13672         French_France.1252 instead of "fr".
13673         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13674         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13675         because it has the wrong locale encoding.
13676         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13677         native Windows, try Turkish_Turkey.65001.
13678         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13679         Chinese_China.54936.
13680
13681         Prepare for locale dependent tests on mingw.
13682         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13683         differently.
13684         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13685         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13686         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13687         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13688
13689 2011-02-11  Eric Blake  <eblake@redhat.com>
13690
13691         strptime: avoid compiler warnings
13692         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13693         compiler warnings about dead code.
13694         Reported by Daniel P. Berrange.
13695
13696 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13697
13698         doc: update users.txt
13699         * users.txt: Add rcs.
13700
13701 2011-02-10  John W. Eaton  <jwe@gnu.org>
13702
13703         doc: update users.txt
13704         * users.txt: Add octave.
13705
13706 2011-02-10  Jim Meyering  <meyering@redhat.com>
13707
13708         doc: update users.txt
13709         * users.txt: Add iwhd.
13710
13711 2011-02-09  Bruno Haible  <bruno@clisp.org>
13712
13713         gnulib-tool: Make copyright notice adjustment more robust.
13714         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13715         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13716         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13717         License".
13718         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13719
13720 2011-02-06  Bruno Haible  <bruno@clisp.org>
13721
13722         New module 'towctrans'.
13723         * modules/towctrans: New file.
13724         * lib/wctype.in.h (towctrans): New declaration.
13725         * lib/towctrans.c: New file.
13726         * lib/towctrans-impl.h: New file.
13727         * m4/towctrans.m4: New file.
13728         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13729         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13730         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13731         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13732         * doc/posix-functions/towctrans.texi: Mention the new module.
13733
13734 2011-02-06  Bruno Haible  <bruno@clisp.org>
13735
13736         New module 'wctrans'.
13737         * modules/wctrans: New file.
13738         * lib/wctype.in.h (wctrans): New declaration.
13739         * lib/wctrans.c: New file.
13740         * lib/wctrans-impl.h: New file.
13741         * m4/wctrans.m4: New file.
13742         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13743         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13744         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13745         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13746         * doc/posix-functions/wctrans.texi: Mention the new module.
13747
13748 2011-02-06  Bruno Haible  <bruno@clisp.org>
13749
13750         New module 'iswctype'.
13751         * modules/iswctype: New file.
13752         * lib/wctype.in.h (iswctype): New declaration.
13753         * lib/iswctype.c: New file.
13754         * lib/iswctype-impl.h: New file.
13755         * m4/iswctype.m4: New file.
13756         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13757         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13758         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13759         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13760         * doc/posix-functions/iswctype.texi: Mention the new module and the
13761         HP-UX 11.00 problem.
13762
13763 2011-02-06  Bruno Haible  <bruno@clisp.org>
13764
13765         New module 'wctype'.
13766         * modules/wctype: Change to represent the wctype() substitute.
13767         * lib/wctype.in.h (wctype): New declaration.
13768         * lib/wctype.c: New file.
13769         * lib/wctype-impl.h: New file.
13770         * m4/wctype.m4: New file.
13771         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13772         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13773         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13774         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13775         * doc/posix-functions/wctype.texi: Mention the new module and the
13776         HP-UX 11.00 problem.
13777
13778 2011-02-06  Bruno Haible  <bruno@clisp.org>
13779
13780         wctype-h: Ensure wctype_t and wctrans_t are defined.
13781         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13782         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13783         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13784         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13785         HAVE_WCTRANS_T.
13786         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13787
13788 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13789
13790         flock: fix license typo
13791
13792         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
13793         omitted.
13794
13795 2011-02-08  Bruno Haible  <bruno@clisp.org>
13796
13797         Split large sed scripts, for HP-UX sed.
13798         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
13799         to avoid HP-UX limit of 99 commands, in the near future.
13800         * modules/stdlib (Makefile.am): Likewise.
13801         * modules/unistd (Makefile.am): Likewise.
13802         * modules/wchar (Makefile.am): Likewise.
13803         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13804         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
13805         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
13806
13807 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13808             Bruno Haible  <bruno@clisp.org>
13809
13810         stdlib: improve random_r modularization
13811         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
13812         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
13813         you also need the random_r module to get this material right.
13814         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
13815         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
13816         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
13817
13818 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13819
13820         stdlib: don't depend on stdint
13821         * lib/stdlib.in.h: Don't include <stdint.h> merely because
13822         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
13823         be independent of whether stdint.h is needed.
13824         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
13825         here, instead of ...
13826         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
13827         struct random_data should be using the random_r module, not just
13828         the stdlib module (which wouldn't make sense: what package needs
13829         just struct random_data without also needing random_r?).
13830         * modules/stdlib (Depends-on): Remove stdint.
13831
13832         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
13833         See the thread rooted at
13834         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
13835         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
13836         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
13837         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
13838         __VMS)); previously it was always included (via fcntl--.h).
13839         (getloadavg): Do not use c_strtod.  Instead, approximate it by
13840         hand; this is good enough for load averages.  Also, do not use
13841         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
13842         flags directly if available and don't bother otherwise.  (Packages
13843         that need the extra reliability should use the modules that define
13844         these flags on older platforms that lack them.)
13845         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
13846         fcntl-safer.
13847
13848 2011-02-08  Jim Meyering  <meyering@redhat.com>
13849
13850         di-set.h, ino-map.h: add multiple-inclusion guard
13851         Technically, the guard is required only for ino-map.h, due to its
13852         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
13853         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
13854         * lib/ino-map.h: Likewise.
13855
13856 2011-02-06  Bruno Haible  <bruno@clisp.org>
13857
13858         iswblank: Ensure declaration on glibc systems.
13859         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
13860         * modules/iswblank (Dependencies): Add 'extensions'.
13861         * doc/posix-functions/iswblank.texi: Document the glibc problem.
13862
13863 2011-02-06  Bruno Haible  <bruno@clisp.org>
13864
13865         New module 'iswblank'.
13866         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
13867         * modules/iswblank: New file.
13868         * modules/wctype-h (Files): Remove lib/iswblank.c.
13869         (Makefile.am): Substitute GNULIB_ISWBLANK.
13870         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
13871         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
13872         (gl_WCTYPE_H_DEFAULTS): New macro.
13873         (gl_WCTYPE_H): Require it. Remove iswblank related code.
13874         * modules/iswblank-tests: New file.
13875         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
13876         * tests/test-wctype-h.c (main): Remove iswblank tests.
13877         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
13878         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
13879         of 'wctype-h'.
13880         * NEWS: Mention the change.
13881         * modules/mbchar (Depends-on): Add iswblank.
13882
13883 2011-02-08  Bruno Haible  <bruno@clisp.org>
13884
13885         di-set tests: Refactor.
13886         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
13887         unnecessary includes.
13888         (ASSERT): Remove macro.
13889         (main): Make C90 compliant by avoiding variable declaration after
13890         statement.
13891         * modules/di-set-tests (Files): Add tests/macros.h.
13892
13893 2011-02-08  Bruno Haible  <bruno@clisp.org>
13894
13895         ino-map tests: Refactor.
13896         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
13897         unnecessary includes.
13898         (ASSERT): Remove macro.
13899         (main): Make C90 compliant by avoiding variable declaration after
13900         statement.
13901         * modules/ino-map-tests (Files): Add tests/macros.h.
13902
13903 2011-02-08  Jim Meyering  <meyering@redhat.com>
13904
13905         di-set: add "const" to a cast
13906         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
13907         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
13908
13909 2011-02-06  Bruno Haible  <bruno@clisp.org>
13910
13911         Rename module 'wctype' to 'wctype-h'.
13912         * modules/wctype-h: Renamed from modules/wctype.
13913         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
13914         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
13915         (Files, Depends-on, Makefile.am): Update.
13916         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
13917         (Files, Makefile.am): Update.
13918         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
13919         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
13920         * doc/posix-headers/wctype.texi: Update.
13921         * doc/posix-functions/iswalnum.texi: Update.
13922         * doc/posix-functions/iswalpha.texi: Update.
13923         * doc/posix-functions/iswblank.texi: Update.
13924         * doc/posix-functions/iswcntrl.texi: Update.
13925         * doc/posix-functions/iswdigit.texi: Update.
13926         * doc/posix-functions/iswgraph.texi: Update.
13927         * doc/posix-functions/iswlower.texi: Update.
13928         * doc/posix-functions/iswprint.texi: Update.
13929         * doc/posix-functions/iswpunct.texi: Update.
13930         * doc/posix-functions/iswspace.texi: Update.
13931         * doc/posix-functions/iswupper.texi: Update.
13932         * doc/posix-functions/iswxdigit.texi: Update.
13933         * doc/posix-functions/towlower.texi: Update.
13934         * doc/posix-functions/towupper.texi: Update.
13935         * NEWS: Mention the change.
13936         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
13937         * modules/mbchar (Dependencies): Likewise.
13938         * modules/mbswidth (Dependencies): Likewise.
13939         * modules/quotearg (Dependencies): Likewise.
13940         * modules/regex (Dependencies): Likewise.
13941         * modules/wcscasecmp (Dependencies): Likewise.
13942         * modules/wcsncasecmp (Dependencies): Likewise.
13943         * modules/wcwidth (Dependencies): Likewise.
13944
13945 2011-02-06  Bruno Haible  <bruno@clisp.org>
13946
13947         New module 'wcswidth'.
13948         * modules/wcswidth: New file.
13949         * lib/wchar.in.h (wcswidth): New declaration.
13950         * lib/wcswidth.c: New file.
13951         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
13952         * m4/wcswidth.m4: New file.
13953         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
13954         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
13955         REPLACE_WCSWIDTH.
13956         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
13957         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
13958         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
13959         * doc/posix-functions/wcswidth.texi: Mention the new module.
13960
13961 2011-02-06  Bruno Haible  <bruno@clisp.org>
13962
13963         New module 'wcstok'.
13964         * modules/wcstok: New file.
13965         * lib/wchar.in.h (wcstok): New declaration.
13966         * lib/wcstok.c: New file.
13967         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
13968         * m4/wcstok.m4: New file.
13969         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
13970         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
13971         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
13972         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
13973         * doc/posix-functions/wcstok.texi: Mention the new module.
13974
13975 2011-02-06  Bruno Haible  <bruno@clisp.org>
13976
13977         New module 'wcsstr'.
13978         * modules/wcsstr: New file.
13979         * lib/wchar.in.h (wcsstr): New declaration.
13980         * lib/wcsstr.c: New file.
13981         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
13982         * m4/wcsstr.m4: New file.
13983         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
13984         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
13985         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
13986         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
13987         * doc/posix-functions/wcsstr.texi: Mention the new module.
13988
13989 2011-02-06  Bruno Haible  <bruno@clisp.org>
13990
13991         New module 'wcspbrk'.
13992         * modules/wcspbrk: New file.
13993         * lib/wchar.in.h (wcspbrk): New declaration.
13994         * lib/wcspbrk.c: New file.
13995         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
13996         * m4/wcspbrk.m4: New file.
13997         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
13998         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
13999         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
14000         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
14001         * doc/posix-functions/wcspbrk.texi: Mention the new module.
14002
14003 2011-02-06  Bruno Haible  <bruno@clisp.org>
14004
14005         New module 'wcsspn'.
14006         * modules/wcsspn: New file.
14007         * lib/wchar.in.h (wcsspn): New declaration.
14008         * lib/wcsspn.c: New file.
14009         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
14010         * m4/wcsspn.m4: New file.
14011         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
14012         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
14013         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
14014         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
14015         * doc/posix-functions/wcsspn.texi: Mention the new module.
14016
14017 2011-02-06  Bruno Haible  <bruno@clisp.org>
14018
14019         New module 'wcscspn'.
14020         * modules/wcscspn: New file.
14021         * lib/wchar.in.h (wcscspn): New declaration.
14022         * lib/wcscspn.c: New file.
14023         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
14024         * m4/wcscspn.m4: New file.
14025         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
14026         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
14027         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
14028         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
14029         * doc/posix-functions/wcscspn.texi: Mention the new module.
14030
14031 2011-02-06  Bruno Haible  <bruno@clisp.org>
14032
14033         New module 'wcsrchr'.
14034         * modules/wcsrchr: New file.
14035         * lib/wchar.in.h (wcsrchr): New declaration.
14036         * lib/wcsrchr.c: New file.
14037         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
14038         * m4/wcsrchr.m4: New file.
14039         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
14040         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
14041         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
14042         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
14043         * doc/posix-functions/wcsrchr.texi: Mention the new module.
14044
14045 2011-02-06  Bruno Haible  <bruno@clisp.org>
14046
14047         New module 'wcschr'.
14048         * modules/wcschr: New file.
14049         * lib/wchar.in.h (wcschr): New declaration.
14050         * lib/wcschr.c: New file.
14051         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
14052         * m4/wcschr.m4: New file.
14053         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
14054         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
14055         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
14056         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
14057         * doc/posix-functions/wcschr.texi: Mention the new module.
14058
14059 2011-02-06  Bruno Haible  <bruno@clisp.org>
14060
14061         New module 'wcsdup'.
14062         * modules/wcsdup: New file.
14063         * lib/wchar.in.h (wcsdup): New declaration.
14064         * lib/wcsdup.c: New file.
14065         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
14066         * m4/wcsdup.m4: New file.
14067         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
14068         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
14069         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
14070         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
14071         * doc/posix-functions/wcsdup.texi: Mention the new module.
14072
14073 2011-02-06  Bruno Haible  <bruno@clisp.org>
14074
14075         New module 'wcsxfrm'.
14076         * modules/wcsxfrm: New file.
14077         * lib/wchar.in.h (wcsxfrm): New declaration.
14078         * lib/wcsxfrm.c: New file.
14079         * lib/wcsxfrm-impl.h: New file.
14080         * m4/wcsxfrm.m4: New file.
14081         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
14082         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
14083         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
14084         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
14085         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
14086
14087 2011-02-06  Bruno Haible  <bruno@clisp.org>
14088
14089         New module 'wcscoll'.
14090         * modules/wcscoll: New file.
14091         * lib/wchar.in.h (wcscoll): New declaration.
14092         * lib/wcscoll.c: New file.
14093         * lib/wcscoll-impl.h: New file.
14094         * m4/wcscoll.m4: New file.
14095         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
14096         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
14097         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
14098         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
14099         * doc/posix-functions/wcscoll.texi: Mention the new module.
14100
14101 2011-02-06  Bruno Haible  <bruno@clisp.org>
14102
14103         New module 'wcsncasecmp'.
14104         * modules/wcsncasecmp: New file.
14105         * lib/wchar.in.h (wcsncasecmp): New declaration.
14106         * lib/wcsncasecmp.c: New file.
14107         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
14108         * m4/wcsncasecmp.m4: New file.
14109         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
14110         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
14111         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
14112         HAVE_WCSNCASECMP.
14113         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
14114         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
14115
14116 2011-02-06  Bruno Haible  <bruno@clisp.org>
14117
14118         New module 'wcscasecmp'.
14119         * modules/wcscasecmp: New file.
14120         * lib/wchar.in.h (wcscasecmp): New declaration.
14121         * lib/wcscasecmp.c: New file.
14122         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
14123         * m4/wcscasecmp.m4: New file.
14124         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
14125         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
14126         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
14127         HAVE_WCSCASECMP.
14128         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
14129         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
14130
14131 2011-02-05  Bruno Haible  <bruno@clisp.org>
14132
14133         New module 'wcsncmp'.
14134         * modules/wcsncmp: New file.
14135         * lib/wchar.in.h (wcsncmp): New declaration.
14136         * lib/wcsncmp.c: New file.
14137         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
14138         * m4/wcsncmp.m4: New file.
14139         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
14140         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
14141         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
14142         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
14143         * doc/posix-functions/wcsncmp.texi: Mention the new module.
14144
14145 2011-02-05  Bruno Haible  <bruno@clisp.org>
14146
14147         New module 'wcscmp'.
14148         * modules/wcscmp: New file.
14149         * lib/wchar.in.h (wcscmp): New declaration.
14150         * lib/wcscmp.c: New file.
14151         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
14152         * m4/wcscmp.m4: New file.
14153         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
14154         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
14155         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
14156         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
14157         * doc/posix-functions/wcscmp.texi: Mention the new module.
14158
14159 2011-02-05  Bruno Haible  <bruno@clisp.org>
14160
14161         New module 'wcsncat'.
14162         * modules/wcsncat: New file.
14163         * lib/wchar.in.h (wcsncat): New declaration.
14164         * lib/wcsncat.c: New file.
14165         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
14166         * m4/wcsncat.m4: New file.
14167         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
14168         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
14169         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
14170         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
14171         * doc/posix-functions/wcsncat.texi: Mention the new module.
14172
14173 2011-02-05  Bruno Haible  <bruno@clisp.org>
14174
14175         New module 'wcscat'.
14176         * modules/wcscat: New file.
14177         * lib/wchar.in.h (wcscat): New declaration.
14178         * lib/wcscat.c: New file.
14179         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
14180         * m4/wcscat.m4: New file.
14181         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
14182         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
14183         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
14184         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
14185         * doc/posix-functions/wcscat.texi: Mention the new module.
14186
14187 2011-02-05  Bruno Haible  <bruno@clisp.org>
14188
14189         New module 'wcpncpy'.
14190         * modules/wcpncpy: New file.
14191         * lib/wchar.in.h (wcpncpy): New declaration.
14192         * lib/wcpncpy.c: New file.
14193         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
14194         * m4/wcpncpy.m4: New file.
14195         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
14196         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
14197         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
14198         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
14199         * doc/posix-functions/wcpncpy.texi: Mention the new module.
14200
14201 2011-02-05  Bruno Haible  <bruno@clisp.org>
14202
14203         New module 'wcsncpy'.
14204         * modules/wcsncpy: New file.
14205         * lib/wchar.in.h (wcsncpy): New declaration.
14206         * lib/wcsncpy.c: New file.
14207         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
14208         * m4/wcsncpy.m4: New file.
14209         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
14210         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
14211         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
14212         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
14213         * doc/posix-functions/wcsncpy.texi: Mention the new module.
14214
14215 2011-02-05  Bruno Haible  <bruno@clisp.org>
14216
14217         New module 'wcpcpy'.
14218         * modules/wcpcpy: New file.
14219         * lib/wchar.in.h (wcpcpy): New declaration.
14220         * lib/wcpcpy.c: New file.
14221         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
14222         * m4/wcpcpy.m4: New file.
14223         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
14224         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
14225         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
14226         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
14227         * doc/posix-functions/wcpcpy.texi: Mention the new module.
14228
14229 2011-02-05  Bruno Haible  <bruno@clisp.org>
14230
14231         New module 'wcscpy'.
14232         * modules/wcscpy: New file.
14233         * lib/wchar.in.h (wcscpy): New declaration.
14234         * lib/wcscpy.c: New file.
14235         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
14236         * m4/wcscpy.m4: New file.
14237         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
14238         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
14239         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
14240         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
14241         * doc/posix-functions/wcscpy.texi: Mention the new module.
14242
14243 2011-02-05  Bruno Haible  <bruno@clisp.org>
14244
14245         New module 'wcsnlen'.
14246         * modules/wcsnlen: New file.
14247         * lib/wchar.in.h (wcsnlen): New declaration.
14248         * lib/wcsnlen.c: New file.
14249         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
14250         * m4/wcsnlen.m4: New file.
14251         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
14252         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
14253         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
14254         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
14255         * doc/posix-functions/wcsnlen.texi: Mention the new module.
14256
14257 2011-02-05  Bruno Haible  <bruno@clisp.org>
14258
14259         New module 'wcslen'.
14260         * modules/wcslen: New file.
14261         * lib/wchar.in.h (wcslen): New declaration.
14262         * lib/wcslen.c: New file.
14263         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
14264         * m4/wcslen.m4: New file.
14265         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
14266         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
14267         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
14268         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
14269         * doc/posix-functions/wcslen.texi: Mention the new module.
14270
14271 2011-02-05  Bruno Haible  <bruno@clisp.org>
14272
14273         New module 'wmemset'.
14274         * modules/wmemset: New file.
14275         * lib/wchar.in.h (wmemset): New declaration.
14276         * lib/wmemset.c: New file.
14277         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
14278         * m4/wmemset.m4: New file.
14279         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
14280         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
14281         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
14282         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
14283         * doc/posix-functions/wmemset.texi: Mention the new module.
14284
14285 2011-02-05  Bruno Haible  <bruno@clisp.org>
14286
14287         New module 'wmemmove'.
14288         * modules/wmemmove: New file.
14289         * lib/wchar.in.h (wmemmove): New declaration.
14290         * lib/wmemmove.c: New file.
14291         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
14292         * m4/wmemmove.m4: New file.
14293         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
14294         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
14295         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
14296         HAVE_WMEMMOVE.
14297         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
14298         * doc/posix-functions/wmemmove.texi: Mention the new module.
14299
14300 2011-02-05  Bruno Haible  <bruno@clisp.org>
14301
14302         New module 'wmemcpy'.
14303         * modules/wmemcpy: New file.
14304         * lib/wchar.in.h (wmemcpy): New declaration.
14305         * lib/wmemcpy.c: New file.
14306         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
14307         * m4/wmemcpy.m4: New file.
14308         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
14309         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
14310         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
14311         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
14312         * doc/posix-functions/wmemcpy.texi: Mention the new module.
14313
14314 2011-02-05  Bruno Haible  <bruno@clisp.org>
14315
14316         New module 'wmemcmp'.
14317         * modules/wmemcmp: New file.
14318         * lib/wchar.in.h (wmemcmp): New declaration.
14319         * lib/wmemcmp.c: New file.
14320         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
14321         * m4/wmemcmp.m4: New file.
14322         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
14323         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
14324         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
14325         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
14326         * doc/posix-functions/wmemcmp.texi: Mention the new module.
14327
14328 2011-02-07  Jim Meyering  <meyering@redhat.com>
14329
14330         di-set, ino-map: new modules, from coreutils
14331         * lib/di-set.c: New file.
14332         * lib/di-set.h: Likewise.
14333         * lib/ino-map.c: Likewise.
14334         * lib/ino-map.h: Likewise.
14335         * modules/di-set: Likewise.
14336         * modules/di-set-tests: Likewise.
14337         * modules/ino-map: Likewise.
14338         * modules/ino-map-tests: Likewise.
14339         * tests/test-di-set.c: Likewise.
14340         * tests/test-ino-map.c: Likewise.
14341
14342 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14343
14344         getloadavg: merge minor changes from Emacs
14345
14346         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
14347         (getloadavg): Use memset, not bzero.
14348
14349         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
14350         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
14351         clash (bug#86).
14352
14353 2010-11-14  Bruno Haible  <bruno@clisp.org>
14354
14355         Allow multiple gnulib generated replacements to coexist.
14356         * lib/getopt.in.h (struct option): Avoid identical redefinition.
14357         * lib/inttypes.in.h (imaxdiv_t): Likewise.
14358         * lib/langinfo.in.h (nl_item): Likewise.
14359         * lib/math.in.h (_NaN, NAN): Likewise.
14360         * lib/netdb.in.h (struct addrinfo): Likewise.
14361         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
14362         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
14363         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
14364         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
14365         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
14366         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
14367         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
14368         pthread_mutexattr_init, pthread_mutexattr_settype,
14369         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
14370         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
14371         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
14372         pthread_spin_trylock, pthread_spin_unlock): Likewise.
14373         * lib/sched.in.h (struct sched_param): Likewise.
14374         * lib/se-selinux.in.h (security_class_t, security_context_t,
14375         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
14376         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
14377         lsetfilecon, fsetfilecon, security_check_context,
14378         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
14379         Likewise.
14380         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14381         Likewise.
14382         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14383         _gl_function_taking_int_returning_void_t, union sigval,
14384         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14385         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14386         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14387         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14388         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14389         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14390         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14391         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14392         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14393         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14394         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14395         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14396         socklen_t, rpl_fd_isset): Likewise.
14397         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14398         * lib/sys_time.in.h (struct timeval): Likewise.
14399         * lib/sys_times.in.h (struct tms): Likewise.
14400         * lib/sys_utsname.in.h (struct utsname):
14401         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14402         * lib/unistd.in.h (getpagesize): Likewise.
14403         * lib/wchar.in.h (mbstate_t): Likewise.
14404         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14405         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14406         towlower, towupper): Likewise.
14407         Reported by Sam Steingold <sds@gnu.org>.
14408
14409 2011-02-05  Eric Blake  <eblake@redhat.com>
14410
14411         unsetenv: work around Haiku issues
14412         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14413         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14414
14415 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14416
14417         libposix: avoid calling error() within libposix
14418         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14419         is defined.
14420
14421 2011-02-05  Eric Blake  <eblake@redhat.com>
14422
14423         strerror_r-posix: port to cygwin
14424         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14425         implementation.
14426         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14427         * tests/test-strerror_r.c (main): Fix test.
14428         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14429         issue.
14430
14431 2011-02-05  Bruno Haible  <bruno@clisp.org>
14432
14433         New module 'wmemchr'.
14434         * modules/wmemchr: New file.
14435         * lib/wchar.in.h (wmemchr): New declaration.
14436         * lib/wmemchr.c: New file.
14437         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14438         * m4/wmemchr.m4: New file.
14439         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14440         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14441         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14442         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14443         * doc/posix-functions/wmemchr.texi: Mention the new module.
14444
14445 2011-02-04  Eric Blake  <eblake@redhat.com>
14446
14447         fdopendir: detect FreeBSD bug
14448         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14449         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14450
14451 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14452
14453         stdbool: do not define HAVE_STDBOOL_H
14454         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14455         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14456         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14457         imported from the latest Autoconf git.  It was motivated by Emacs,
14458         which uses gnulib but does not need HAVE_STDBOOL_H.
14459
14460 2011-02-04  Bruno Haible  <bruno@clisp.org>
14461
14462         wcsnrtombs: Prepare for new module wwcsnrtombs.
14463         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14464         * lib/wcsnrtombs.c: Include it.
14465         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14466
14467         wcsrtombs: Prepare for new module wwcsrtombs.
14468         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14469         * lib/wcsrtombs.c: Include it.
14470         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14471
14472         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14473         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14474         * lib/mbsnrtowcs.c: Include it.
14475         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14476
14477         mbsrtowcs: Prepare for new module mbsrtowwcs.
14478         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14479         * lib/mbsrtowcs.c: Include it.
14480         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14481
14482 2011-02-04  Bruno Haible  <bruno@clisp.org>
14483
14484         vasnprintf: Reduce use of malloc for small format strings.
14485         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14486         (arguments): Add room for the first 7 arguments.
14487         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14488         (char_directives, u8_directives, u16_directives, u32_directives): Add
14489         room for the first 7 directives.
14490         * lib/printf-parse.c: Include <string.h>.
14491         (PRINTF_PARSE): Change memory handling code so that it uses the first
14492         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14493         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14494         Reported by Pádraig Brady <P@draigbrady.com>.
14495
14496 2011-01-31  Eric Blake  <eblake@redhat.com>
14497
14498         dup2: work around Haiku bug
14499         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14500         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14501         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14502         * tests/test-dup2.c (main): Enhance test.
14503
14504 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14505
14506         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14507         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14508         declared by eglibc 2.11.2.
14509         * lib/stdio.in.h: Likewise.
14510
14511 2011-01-31  Eric Blake  <eblake@redhat.com>
14512
14513         ignore-value: add missing test dependency
14514         * tests/test-ignore-value.c: Revert previous change; stdio.h
14515         provides off_t.
14516         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14517
14518 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14519
14520         mktime: clarify long_int width checking
14521         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14522         the top level, to make it clearer that the assumption about
14523         long_int width is being checked.  See
14524         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14525
14526 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14527
14528         ignore-value: Fix self-test.
14529         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14530
14531 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14532
14533         TYPE_MAXIMUM: avoid theoretically undefined behavior
14534         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14535         negative number, which the C Standard says has undefined behavior.
14536         In practice this is not a problem, but might as well do it by the book.
14537         Reported by Rich Felker and Eric Blake; see
14538         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14539         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14540         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14541         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14542         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14543         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14544         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14545
14546         mktime: #undef mktime before #defining it
14547         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14548
14549         mktime: systematically normalize tm_isdst comparisons
14550         * lib/mktime.c (isdst_differ): New function.
14551         (__mktime_internal): Use it systematically for all isdst comparisons.
14552         This completes the fix for libc BZ #6723, and removes the need for
14553         normalizing tm_isdst.  See
14554         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14555         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14556
14557         mktime: fix some integer overflow issues and sidestep the rest
14558
14559         This was prompted by a bug report by Benjamin Lindner for MinGW
14560         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14561         His bug is due to signed integer overflow (0 - INT_MIN), and I
14562         I scanned through mktime.c looking for other integer overflow
14563         problems, fixing all the bugs I found.
14564
14565         Although the C Standard says the resulting code is still not safe
14566         in the presence of integer overflow, in practice it should be good
14567         enough for all real-world two's-complement implementations, except
14568         for debugging environments that deliberately trap on integer
14569         overflow (e.g., gcc -ftrapv).
14570
14571         * lib/mktime.c (WRAPV): New macro.
14572         (SHR): Also check that long_int and time_t shift right in the
14573         usual way, before using the fast-but-unportable method.
14574         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14575         used.  The code already assumed two's complement, so there's
14576         no need to test for alternatives.  All uses removed.
14577         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14578         the C standard.  Problem reported by Rich Felker in
14579         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14580         (twos_complement_arithmetic): Also check long_int and time_t.
14581         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14582         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14583         (__mktime_internal): Avoid integer overflow with unary subtraction
14584         in two instances where -1 - X is an adequate replacement for -X,
14585         since the calculations are approximate.
14586
14587 2011-01-29  Eric Blake  <eblake@redhat.com>
14588
14589         mktime: avoid infinite loop
14590         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14591         type; behavior is still undefined but portable to all known targets.
14592         Reported by Rich Felker.
14593
14594 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14595
14596         rename, unlink, same-inode: Relicense.
14597         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14598         * modules/unlink (License): Likewise.
14599         * modules/same-inode (License): Likewise.
14600
14601 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14602
14603         mktime: avoid problems on NetBSD 5 / i386
14604         * lib/mktime.c (long_int): New type.  This works around a problem
14605         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14606         but time_t is 64 bits, and where I expect the existing code is
14607         wrong in some cases.
14608         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14609         (ydhms_diff): Bring back the compile-time check for wide-enough
14610         year and yday.
14611
14612         mktime: fix misspelling in comment
14613         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14614         This merges all recent glibc changes of importance.
14615
14616 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14617
14618         move-if-change: cope with concurrent mv of identical file.
14619         * build-aux/move-if-change (CMPPROG): Accept environment
14620         variable as an override for `cmp'.
14621         (usage): Document CMPPROG.
14622         Adjust comparison to drop stdout.  Cope with failure of mv if
14623         the target file exists and is identical to the source, for
14624         parallel builds.
14625         Report from H.J. Lu against binutils in PR binutils/12283.
14626
14627 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14628
14629         * users.txt: Mention sharutils.
14630
14631 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14632
14633         * users.txt: Mention OATH Toolkit.
14634
14635 2011-01-27  Bruno Haible  <bruno@clisp.org>
14636
14637         Prepare for supporting FreeBSD 10.
14638         * build-aux/config.libpath: Remove handling of freebsd1*.
14639
14640 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14641
14642         Prepare for supporting FreeBSD 10.
14643         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14644         match FreeBSD 10.0.
14645
14646 2011-01-27  Bruno Haible  <bruno@clisp.org>
14647
14648         vma-iter, get-rusage-as: Add OpenBSD support.
14649         * modules/vma-iter (configure.ac): Test for mquery.
14650         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14651         * lib/vma-iter.c: Include <sys/mman.h>.
14652         (vma_iterate): Add an implementation based on mquery().
14653         * lib/resource-ext.h (get_rusage_as): Update comments.
14654         * lib/get-rusage-as.c: Likewise.
14655         * lib/get-rusage-data.c: Likewise.
14656
14657 2011-01-26  Karl Berry  <karl@gnu.org>
14658
14659         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14660         variables to make it easier to override the makeinfo program used.
14661
14662 2011-01-26  Eric Blake  <eblake@redhat.com>
14663
14664         fcntl: work around Haiku F_DUPFD bugs
14665         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14666         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14667         cloexec bit on duplication.
14668         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14669
14670 2011-01-26  Bruno Haible  <bruno@clisp.org>
14671
14672         Enable memory leak tests on AIX.
14673         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14674         * tests/test-fprintf-posix3.c (main): Likewise.
14675
14676 2011-01-26  Bruno Haible  <bruno@clisp.org>
14677
14678         Tests for module 'get-rusage-data'.
14679         * modules/get-rusage-data-tests: New file.
14680         * tests/test-get-rusage-data.c: New file.
14681
14682         New module 'get-rusage-data'.
14683         * lib/resource-ext.h (get_rusage_data): New declaration.
14684         * lib/get-rusage-data.c: New file.
14685         * modules/get-rusage-data: New file.
14686
14687 2011-01-25  Bruno Haible  <bruno@clisp.org>
14688
14689         get-rusage-as: Allow for easier testing.
14690         * lib/resource-ext.h (get_rusage_as): Add comment.
14691         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14692         (main): New function for interactive testing.
14693
14694 2011-01-25  Bruno Haible  <bruno@clisp.org>
14695
14696         vma-iter: Treat Haiku like BeOS.
14697         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14698         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14699
14700 2011-01-25  Eric Blake  <eblake@redhat.com>
14701
14702         c-stack: fix regression on cygwin when libsigsegv is present
14703         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14704
14705 2011-01-24  Bruno Haible  <bruno@clisp.org>
14706
14707         vma-iter: Avoid empty intervals.
14708         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14709         on an empty interval.
14710
14711 2011-01-24  Jim Meyering  <meyering@redhat.com>
14712
14713         u64: remove unnecessary #include
14714         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14715
14716 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14717
14718         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14719         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14720
14721 2011-01-23  Bruno Haible  <bruno@clisp.org>
14722
14723         New module 'vma-iter'.
14724         * lib/vma-iter.h: New file.
14725         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14726         * modules/vma-iter: New file.
14727         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14728         for get_rusage_as_via_iterator.
14729         (vma_iterate_callback): New function.
14730         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14731         * modules/get-rusage-as (Depends-on): Add vma-iter.
14732
14733 2011-01-23  Bruno Haible  <bruno@clisp.org>
14734
14735         uninorm: Tweak includes.
14736         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14737         Reported by Jim Meyering.
14738
14739 2011-01-23  Bruno Haible  <bruno@clisp.org>
14740
14741         get-rusage-as: Improve on NetBSD.
14742         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14743         /proc, like on FreeBSD.
14744
14745 2011-01-23  Jim Meyering  <meyering@redhat.com>
14746
14747         xreadlink.h: remove unnecessary #include
14748         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14749
14750         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14751         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14752
14753 2011-01-23  Bruno Haible  <bruno@clisp.org>
14754
14755         get-rusage-as: Fix bug.
14756         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14757         original limit when aborting the first loop.
14758
14759 2011-01-23  Bruno Haible  <bruno@clisp.org>
14760
14761         wctype: Ensure valid C syntax.
14762         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14763         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14764
14765 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14766
14767         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14768         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14769         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14770         as they are needed only for configure's test case.
14771         This removes two unnecessary symbols from config.h.
14772
14773         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14774         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14775         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14776         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14777         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14778         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14779         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14780         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14781         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14782         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14783         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14784         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14785         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14786         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14787         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14788         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14789         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14790         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14791
14792 2011-01-21  Eric Blake  <eblake@redhat.com>
14793
14794         maintainer-makefile: work with older git for submodule check
14795         * top/maint.mk (public-submodule-commit): Rewrite to avoid
14796         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
14797         Reported by Matthias Bolte.
14798
14799         bootstrap: minor portability fixes
14800         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
14801         (usage): Omit leading capital and trailing . on help phrases, per
14802         GNU Coding Standards.
14803         (check_versions, top level): Prefix messages with script name.
14804
14805 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
14806
14807         bootstrap: support --no-git option
14808         * build-aux/bootstrap: Add --no-git option, to be used when
14809         --gnulib-srcdir points to the exact desired checkout.
14810
14811 2011-01-21  Eric Blake  <eblake@redhat.com>
14812
14813         strerror_r-posix: work with glibc 2.13
14814         * lib/strerror_r.c (strerror_r): Fix return type.
14815
14816 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14817             Bruno Haible  <bruno@clisp.org>
14818
14819         uN_strstr: New unit tests.
14820         * modules/unistr/u8-strstr-tests: New file.
14821         * modules/unistr/u16-strstr-tests: New file.
14822         * modules/unistr/u32-strstr-tests: New file.
14823         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
14824         * tests/unistr/test-u8-strstr.c: New file.
14825         * tests/unistr/test-u16-strstr.c: New file.
14826         * tests/unistr/test-u32-strstr.c: New file.
14827
14828 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14829             Bruno Haible  <bruno@clisp.org>
14830
14831         Make uN_strstr functions O(n) worst-case.
14832         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
14833         16-bit and 32-bit unit cases, use the unibyte algorithm from
14834         lib/mbsstr.c.
14835         * lib/unistr/u8-strstr.c: Include <string.h>.
14836         (UNIT_IS_UINT8_T): New macro.
14837         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
14838         (U_STRLEN, U_STRNLEN): New macros.
14839         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
14840         (U_STRLEN, U_STRNLEN): New macros.
14841         * modules/unistr/u8-strstr (Depends-on): Add strstr.
14842         (configure.ac): Update required libunistring version.
14843         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
14844         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
14845         malloca.
14846         (configure.ac): Update required libunistring version.
14847         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
14848         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
14849         malloca.
14850         (configure.ac): Update required libunistring version.
14851
14852 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14853             Bruno Haible  <bruno@clisp.org>
14854
14855         Prepare for faster uN_strstr functions.
14856         * lib/str-kmp.h: Support definable UNITs.
14857         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
14858         needle_len argument.
14859         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
14860         * lib/mbscasestr.c (mbscasestr): Likewise.
14861
14862 2011-01-21  Pádraig Brady <P@draigBrady.com>
14863
14864         malloca-tests: make faster by unsetting MALLOC_PERTURB_
14865         * tests/test-malloca.c (main): Unset the environment variable
14866         to greatly speed up the test.
14867         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
14868         * modules/malloca-tests: Depend on unsetenv.
14869
14870 2011-01-21  Pádraig Brady <P@draigBrady.com>
14871
14872         ignore-value: remove stdint dependency
14873         * lib/ignore-value.h: Remove <stdint.h>
14874         * modules/ignore-value: Remove stdint dependency.
14875
14876 2011-01-21  Jim Meyering  <meyering@redhat.com>
14877
14878         maint.mk: adjust variable name to be consistent with other gl_ vars
14879         * top/maint.mk (gl_public_submodule_commit): Rename the variable
14880         to be lower case.
14881
14882 2011-01-20  Jim Meyering  <meyering@redhat.com>
14883
14884         maint.mk: make "check" depend on public-submodule-commit by default
14885         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
14886
14887 2011-01-20  Bruno Haible  <bruno@clisp.org>
14888
14889         mbfile, mbiter: Complete change from 2008-12-21.
14890         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
14891         * m4/mbiter.m4 (gl_MBITER): Likewise.
14892
14893 2011-01-20  Jim Meyering  <meyering@redhat.com>
14894
14895         init.sh: insert space between each function name and "()"
14896         * tests/init.sh: Make it a little easier to see that a function's
14897         name is "warn_", and not "warn" when looking at the first part of
14898         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
14899
14900 2011-01-20  Jim Meyering  <meyering@redhat.com>
14901
14902         mountlist: clean up code formatting
14903         * lib/mountlist.c (read_file_system_list): Split a long line,
14904         correct bracing style, use NULL in place of "(struct statfs *)0",
14905         don't parenthesize return value, add spaces around "=" and after
14906         ";-in-for-stmt".
14907
14908 2011-01-14  Markus Duft <mduft@gentoo.org>
14909
14910         mountlist: add support for Interix
14911         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
14912         Apply statvfs to all entries of /dev/fs.
14913         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
14914         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
14915
14916 2011-01-20  Jim Meyering  <meyering@redhat.com>
14917
14918         maint.mk: improve the public-submodule-commit rule
14919         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
14920         to suppress printing of its commands... unless V=1.
14921         Add git submodule's --quiet option to suppress printing of e.g.,
14922         "Entering gnulib" output.
14923         "cd" into $(srcdir) before running git submodule.
14924
14925 2011-01-20  Bruno Haible  <bruno@clisp.org>
14926
14927         include_next: Fix bug introduced on 2011-01-18.
14928         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
14929         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
14930         ac_cv_header_... variable if the second argument is not 'check'.
14931         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
14932         gl_NEXT_HEADERS_INTERNAL.
14933
14934 2011-01-20  Bruno Haible  <bruno@clisp.org>
14935
14936         Allow the user to avoid the GNULIB_TEST_* macros.
14937         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
14938         Suggested by Paul Eggert.
14939
14940 2011-01-14  Jim Meyering  <meyering@redhat.com>
14941
14942         bootstrap: avoid failure when there is no .gitmodules file
14943         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
14944         has been assigned to, even when its value is the empty string.
14945         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
14946         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
14947         Reported by John W. Eaton <jwe@gnu.org>.
14948
14949 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14950
14951         assume <ctype.h>, ..., <time.h> exist
14952         For years gnulib has been assuming the existence of the headers
14953         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
14954         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
14955         them, since they don't appear to be needed.
14956         * README (Portability guidelines): Document this.
14957         * lib/flock.c: Assume <fcntl.h> exists.
14958         * lib/regex_internal.h: Assume <locale.h> exists.
14959         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
14960         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
14961         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
14962         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
14963         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
14964         * m4/regex.m4 (gl_REGEX): Likewise.
14965         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
14966         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
14967         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
14968         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
14969         * tests/test-argp.c: Likewise.
14970         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
14971
14972         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
14973         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
14974         AA_APPLE_UNIVERSAL_BUILD.  See
14975         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
14976         * NEWS: Document this.
14977
14978 2011-01-19  Eric Blake  <eblake@redhat.com>
14979
14980         c-stack: assume stack overflow if SA_SIGINFO unsupported
14981         * lib/c-stack.c (SIGACTION_WORKS): Rename...
14982         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
14983         sigaction will work.
14984         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
14985         behavior match Linux.
14986         * tests/test-c-stack.c (main): Prefer NULL for pointers.
14987
14988         stdbool-tests: accomodate Haiku
14989         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
14990
14991         binary-io: fix O_TEXT on Haiku
14992         * modules/binary-io (Depends-on): Add fcntl-h.
14993         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
14994         than blindly undefining O_TEXT.
14995         Reported by Scott McCreary.
14996
14997 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14998
14999         include_next: do not check for standard headers like stddef.h
15000
15001         I found this problem when modifying Emacs to use gnulib.
15002         I noticed that it added HAVE_STDDEF_H to config.h, even though
15003         gnulib always assumes <stddef.h> exists as per README and this
15004         symbol is unnecessary.
15005         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
15006         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
15007         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
15008         faster for headers like stddef.h that are known to exist.
15009         (gl_CHECK_NEXT_HEADERS): Use it.
15010         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
15011         rather than gl_CHECK_NEXT_HEADERS.
15012         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
15013         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
15014
15015 2011-01-18  Eric Blake  <eblake@redhat.com>
15016
15017         ansi-c++-opt: skip C++ dependency style if C++ is unused
15018         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
15019         tests when we know C++ compilation is not desired.
15020         Reported by Scott McCreary.
15021
15022 2011-01-18  Bruno Haible  <bruno@clisp.org>
15023
15024         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
15025         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
15026         (main): Perform test also when getrlimit and setrlimit don't exist or
15027         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
15028         limiting the address space size using setrlimit, compare the address
15029         space size before and after the the test.
15030         * tests/test-dprintf-posix2.c: Likewise.
15031         * tests/test-fprintf-posix3.sh: Update skip messages.
15032         * tests/test-dprintf-posix2.sh: Likewise.
15033         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
15034         * modules/dprintf-posix-tests (Depends-on): Likewise.
15035         Reported by Bruce Korb <bkorb@gnu.org> and
15036         Gary V. Vaughan <gary@gnu.org>.
15037
15038 2011-01-18  Bruno Haible  <bruno@clisp.org>
15039
15040         get-rusage-as: Improvement for Cygwin.
15041         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
15042         areas that are merely reserved.
15043
15044 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15045
15046         strftime: remove dependencies on multibyte modules
15047
15048         strftime depended on mbrlen, mbsinit, and wchar, but these modules
15049         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
15050         only if __osf__ is defined, and I suspect OSF doesn't need these
15051         other modules.  If my guess is wrong, we'll need to come up with a
15052         variant of strftime that doesn't need the multibyte modules.
15053
15054         I discovered this problem when attempting modify Emacs to use the
15055         strftime module.  With the previous gnulib, this caused Emacs to
15056         need 31 new files, ranging from lib/config.charset to
15057         m4/wint_t.m4.  This was overkill and I expect would be offputting
15058         to the Emacs maintainers.  After this change, only 6 new files are
15059         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
15060         stdbool.m4, and tm_gmtoff.m4.
15061
15062         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
15063         Suggested by Bruno Haible in
15064         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
15065         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
15066         and do not check for wchar.h.
15067         * modules/strftime (Files): Remove m4/mbstate_t.m4.
15068         (Depends-on): Remove mbrlen, mbsinit, wchar.
15069
15070 2011-01-18  Bruno Haible  <bruno@clisp.org>
15071
15072         Tests for module 'get-rusage-as'.
15073         * modules/get-rusage-as-tests: New file.
15074         * tests/test-get-rusage-as.c: New file.
15075
15076         New module 'get-rusage-as'.
15077         * modules/get-rusage-as: New file.
15078         * lib/resource-ext.h: New file.
15079         * lib/get-rusage-as.c: New file.
15080
15081 2011-01-17  Eric Blake  <eblake@redhat.com>
15082
15083         sigaction: relax license from LGPLv3+ to LGPLv2+
15084         * modules/sigaction (License): Relax to LGPLv2+.
15085
15086 2011-01-14  Bruno Haible  <bruno@clisp.org>
15087
15088         filemode: Make function declarations usable in C++ mode.
15089         * lib/filemode.h: Enclose function declarations in extern "C" block.
15090         Reported by John W. Eaton <jwe@gnu.org>.
15091
15092 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
15093
15094         save-cwd: no longer include "xgetcwd.h"
15095         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
15096         This avoids a compilation failure in projects that use save-cwd
15097         without also using the xgetcwd module.
15098
15099 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15100
15101         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
15102         This is so that a program like Emacs, which needs only dtoastr,
15103         does not have to bother with distributing and compiling ftoastr
15104         and ldtoastr.
15105         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
15106         * modules/dtoastr, modules/ldtoastr: New files.
15107         * modules/ftoastr: Now works just for 'float'.
15108         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
15109         (Makefile.am): Remove ftoastr.h (not needed and no effect),
15110         dtoastr.c, ldtoastr.c.
15111
15112 2011-01-11  Jim Meyering  <meyering@redhat.com>
15113
15114         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
15115         There is no need to work around the lack of the fchdir function,
15116         since gnulib can now provide a replacement when required.
15117         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
15118         * modules/save-cwd (Depends-on): Add fchdir.
15119
15120 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15121
15122         openat, save-cwd: avoid xmalloc
15123
15124         This removes a direct (but undocumented) dependency of openat on
15125         xalloc, along with an indirect dependency via save-cwd.  It also
15126         removes a dependency of save-cwd on xgetcwd, and thereby
15127         indirectly on xalloc.  This change causes the openat substitute
15128         to fall back on save_cwd when memory is tight, and for save_cwd to
15129         fail instead of dying when memory is tight, but that's good enough.
15130         Problem and initial idea for fix reported by Bastien Roucaries in
15131         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
15132
15133         * lib/openat-proc.c: Include stdlib.h (for malloc), not
15134         xalloc.h (for xmalloc).
15135         (openat_proc_name): Use malloc, not xmalloc.
15136         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
15137         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
15138
15139         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
15140         This avoids heap allocation for file names whose lengths are in
15141         the range 512..1023, with the upper bound increasing to at most
15142         4031 depending on the platform's PATH_MAX.  (We do not want
15143         pathmax.h here as it might supply a non-constant PATH_MAX.)
15144         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
15145         Perhaps they should be moved to malloca.h?
15146         (OPENAT_BUFFER_SIZE): Use them.
15147
15148 2011-01-10  Bruno Haible  <bruno@clisp.org>
15149
15150         doc: Update users.txt.
15151         * users.txt: Add recutils.
15152
15153 2011-01-09  Karl Berry  <karl@gnu.org>
15154
15155         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
15156
15157         * doc/configmake.texi: New file.
15158         * doc/gnulib.texi: Include it.
15159         * modules/configmake: Move documentation from here.
15160
15161 2011-01-09  Bruno Haible  <bruno@clisp.org>
15162
15163         Update to Unicode 6.0.0.
15164         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
15165         (get_lbp): Update for Unicode 6.0.0.
15166         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
15167         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
15168         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
15169         U+11001, U+11038..U+11046. Remove U+06DE.
15170         (uc_width): Fix bounds of planes.
15171         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15172         lib/uniwidth/width.c.
15173         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
15174         trailing whitespace removed.
15175         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
15176         without comments, but with the original copyright notice.
15177         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
15178         * lib/unicase/ignorable.h: Likewise.
15179         * lib/unicase/tocasefold.h: Likewise.
15180         * lib/unicase/tolower.h: Likewise.
15181         * lib/unicase/totitle.h: Likewise.
15182         * lib/unicase/toupper.h: Likewise.
15183         * lib/unictype/bidi_of.h: Likewise.
15184         * lib/unictype/blocks.h: Likewise.
15185         * lib/unictype/categ_C.h: Likewise.
15186         * lib/unictype/categ_Cn.h: Likewise.
15187         * lib/unictype/categ_L.h: Likewise.
15188         * lib/unictype/categ_Ll.h: Likewise.
15189         * lib/unictype/categ_Lm.h: Likewise.
15190         * lib/unictype/categ_Lo.h: Likewise.
15191         * lib/unictype/categ_Lu.h: Likewise.
15192         * lib/unictype/categ_M.h: Likewise.
15193         * lib/unictype/categ_Mc.h: Likewise.
15194         * lib/unictype/categ_Me.h: Likewise.
15195         * lib/unictype/categ_Mn.h: Likewise.
15196         * lib/unictype/categ_N.h: Likewise.
15197         * lib/unictype/categ_Nd.h: Likewise.
15198         * lib/unictype/categ_No.h: Likewise.
15199         * lib/unictype/categ_P.h: Likewise.
15200         * lib/unictype/categ_Po.h: Likewise.
15201         * lib/unictype/categ_S.h: Likewise.
15202         * lib/unictype/categ_Sc.h: Likewise.
15203         * lib/unictype/categ_Sk.h: Likewise.
15204         * lib/unictype/categ_Sm.h: Likewise.
15205         * lib/unictype/categ_So.h: Likewise.
15206         * lib/unictype/categ_of.h: Likewise.
15207         * lib/unictype/combining.h: Likewise.
15208         * lib/unictype/ctype_alnum.h: Likewise.
15209         * lib/unictype/ctype_alpha.h: Likewise.
15210         * lib/unictype/ctype_graph.h: Likewise.
15211         * lib/unictype/ctype_lower.h: Likewise.
15212         * lib/unictype/ctype_print.h: Likewise.
15213         * lib/unictype/ctype_punct.h: Likewise.
15214         * lib/unictype/ctype_upper.h: Likewise.
15215         * lib/unictype/decdigit.h: Likewise.
15216         * lib/unictype/digit.h: Likewise.
15217         * lib/unictype/numeric.h: Likewise.
15218         * lib/unictype/pr_alphabetic.h: Likewise.
15219         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15220         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15221         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15222         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15223         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15224         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15225         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15226         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15227         * lib/unictype/pr_case_ignorable.h: Likewise.
15228         * lib/unictype/pr_cased.h: Likewise.
15229         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
15230         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
15231         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
15232         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
15233         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
15234         * lib/unictype/pr_combining.h: Likewise.
15235         * lib/unictype/pr_composite.h: Likewise.
15236         * lib/unictype/pr_currency_symbol.h: Likewise.
15237         * lib/unictype/pr_decimal_digit.h: Likewise.
15238         * lib/unictype/pr_deprecated.h: Likewise.
15239         * lib/unictype/pr_format_control.h: Likewise.
15240         * lib/unictype/pr_grapheme_base.h: Likewise.
15241         * lib/unictype/pr_grapheme_extend.h: Likewise.
15242         * lib/unictype/pr_grapheme_link.h: Likewise.
15243         * lib/unictype/pr_id_continue.h: Likewise.
15244         * lib/unictype/pr_id_start.h: Likewise.
15245         * lib/unictype/pr_ideographic.h: Likewise.
15246         * lib/unictype/pr_lowercase.h: Likewise.
15247         * lib/unictype/pr_math.h: Likewise.
15248         * lib/unictype/pr_numeric.h: Likewise.
15249         * lib/unictype/pr_other_alphabetic.h: Likewise.
15250         * lib/unictype/pr_other_id_continue.h: Likewise.
15251         * lib/unictype/pr_other_math.h: Likewise.
15252         * lib/unictype/pr_punctuation.h: Likewise.
15253         * lib/unictype/pr_sentence_terminal.h: Likewise.
15254         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15255         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15256         * lib/unictype/pr_unified_ideograph.h: Likewise.
15257         * lib/unictype/pr_uppercase.h: Likewise.
15258         * lib/unictype/pr_xid_continue.h: Likewise.
15259         * lib/unictype/pr_xid_start.h: Likewise.
15260         * lib/unictype/scripts.h: Likewise.
15261         * lib/unictype/scripts_byname.gperf: Likewise.
15262         * lib/unictype/sy_java_ident.h: Likewise.
15263         * lib/unigbrk/gbrkprop.h: Likewise.
15264         * lib/unilbrk/lbrkprop1.h: Likewise.
15265         * lib/unilbrk/lbrkprop2.h: Likewise.
15266         * lib/uninorm/decomposition-table2.h: Likewise.
15267         * lib/uniwbrk/wbrkprop.h: Likewise.
15268         * tests/unicase/test-cased.c: Likewise.
15269         * tests/unicase/test-ignorable.c: Likewise.
15270         * tests/unicase/test-uc_tolower.c: Likewise.
15271         * tests/unicase/test-uc_totitle.c: Likewise.
15272         * tests/unicase/test-uc_toupper.c: Likewise.
15273         * tests/unictype/test-categ_C.c: Likewise.
15274         * tests/unictype/test-categ_Cn.c: Likewise.
15275         * tests/unictype/test-categ_L.c: Likewise.
15276         * tests/unictype/test-categ_Ll.c: Likewise.
15277         * tests/unictype/test-categ_Lm.c: Likewise.
15278         * tests/unictype/test-categ_Lo.c: Likewise.
15279         * tests/unictype/test-categ_Lu.c: Likewise.
15280         * tests/unictype/test-categ_M.c: Likewise.
15281         * tests/unictype/test-categ_Mc.c: Likewise.
15282         * tests/unictype/test-categ_Me.c: Likewise.
15283         * tests/unictype/test-categ_Mn.c: Likewise.
15284         * tests/unictype/test-categ_N.c: Likewise.
15285         * tests/unictype/test-categ_Nd.c: Likewise.
15286         * tests/unictype/test-categ_No.c: Likewise.
15287         * tests/unictype/test-categ_P.c: Likewise.
15288         * tests/unictype/test-categ_Po.c: Likewise.
15289         * tests/unictype/test-categ_S.c: Likewise.
15290         * tests/unictype/test-categ_Sc.c: Likewise.
15291         * tests/unictype/test-categ_Sk.c: Likewise.
15292         * tests/unictype/test-categ_Sm.c: Likewise.
15293         * tests/unictype/test-categ_So.c: Likewise.
15294         * tests/unictype/test-ctype_alnum.c: Likewise.
15295         * tests/unictype/test-ctype_alpha.c: Likewise.
15296         * tests/unictype/test-ctype_graph.c: Likewise.
15297         * tests/unictype/test-ctype_lower.c: Likewise.
15298         * tests/unictype/test-ctype_print.c: Likewise.
15299         * tests/unictype/test-ctype_punct.c: Likewise.
15300         * tests/unictype/test-ctype_upper.c: Likewise.
15301         * tests/unictype/test-decdigit.h: Likewise.
15302         * tests/unictype/test-digit.h: Likewise.
15303         * tests/unictype/test-numeric.h: Likewise.
15304         * tests/unictype/test-pr_alphabetic.c: Likewise.
15305         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15306         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
15307         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
15308         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15309         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15310         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15311         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15312         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15313         * tests/unictype/test-pr_case_ignorable.c: Likewise.
15314         * tests/unictype/test-pr_cased.c: Likewise.
15315         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
15316         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
15317         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
15318         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
15319         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
15320         * tests/unictype/test-pr_combining.c: Likewise.
15321         * tests/unictype/test-pr_composite.c: Likewise.
15322         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15323         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15324         * tests/unictype/test-pr_deprecated.c: Likewise.
15325         * tests/unictype/test-pr_format_control.c: Likewise.
15326         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15327         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15328         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15329         * tests/unictype/test-pr_id_continue.c: Likewise.
15330         * tests/unictype/test-pr_id_start.c: Likewise.
15331         * tests/unictype/test-pr_ideographic.c: Likewise.
15332         * tests/unictype/test-pr_lowercase.c: Likewise.
15333         * tests/unictype/test-pr_math.c: Likewise.
15334         * tests/unictype/test-pr_numeric.c: Likewise.
15335         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15336         * tests/unictype/test-pr_other_id_continue.c: Likewise.
15337         * tests/unictype/test-pr_other_math.c: Likewise.
15338         * tests/unictype/test-pr_punctuation.c: Likewise.
15339         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15340         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15341         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15342         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15343         * tests/unictype/test-pr_uppercase.c: Likewise.
15344         * tests/unictype/test-pr_xid_continue.c: Likewise.
15345         * tests/unictype/test-pr_xid_start.c: Likewise.
15346         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15347         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15348         changes.
15349         * lib/unictype/categ_Cc.h: Likewise.
15350         * lib/unictype/categ_Cf.h: Likewise.
15351         * lib/unictype/categ_Co.h: Likewise.
15352         * lib/unictype/categ_Cs.h: Likewise.
15353         * lib/unictype/categ_Lt.h: Likewise.
15354         * lib/unictype/categ_Nl.h: Likewise.
15355         * lib/unictype/categ_Pc.h: Likewise.
15356         * lib/unictype/categ_Pd.h: Likewise.
15357         * lib/unictype/categ_Pe.h: Likewise.
15358         * lib/unictype/categ_Pf.h: Likewise.
15359         * lib/unictype/categ_Pi.h: Likewise.
15360         * lib/unictype/categ_Ps.h: Likewise.
15361         * lib/unictype/categ_Z.h: Likewise.
15362         * lib/unictype/categ_Zl.h: Likewise.
15363         * lib/unictype/categ_Zp.h: Likewise.
15364         * lib/unictype/categ_Zs.h: Likewise.
15365         * lib/unictype/ctype_blank.h: Likewise.
15366         * lib/unictype/ctype_cntrl.h: Likewise.
15367         * lib/unictype/ctype_digit.h: Likewise.
15368         * lib/unictype/ctype_space.h: Likewise.
15369         * lib/unictype/ctype_xdigit.h: Likewise.
15370         * lib/unictype/mirror.h: Likewise.
15371         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15372         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15373         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15374         * lib/unictype/pr_bidi_control.h: Likewise.
15375         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15376         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15377         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15378         * lib/unictype/pr_bidi_pdf.h: Likewise.
15379         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15380         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15381         * lib/unictype/pr_dash.h: Likewise.
15382         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15383         * lib/unictype/pr_diacritic.h: Likewise.
15384         * lib/unictype/pr_extender.h: Likewise.
15385         * lib/unictype/pr_hex_digit.h: Likewise.
15386         * lib/unictype/pr_hyphen.h: Likewise.
15387         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15388         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15389         * lib/unictype/pr_ignorable_control.h: Likewise.
15390         * lib/unictype/pr_iso_control.h: Likewise.
15391         * lib/unictype/pr_join_control.h: Likewise.
15392         * lib/unictype/pr_left_of_pair.h: Likewise.
15393         * lib/unictype/pr_line_separator.h: Likewise.
15394         * lib/unictype/pr_logical_order_exception.h: Likewise.
15395         * lib/unictype/pr_non_break.h: Likewise.
15396         * lib/unictype/pr_not_a_character.h: Likewise.
15397         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15398         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15399         * lib/unictype/pr_other_id_start.h: Likewise.
15400         * lib/unictype/pr_other_lowercase.h: Likewise.
15401         * lib/unictype/pr_other_uppercase.h: Likewise.
15402         * lib/unictype/pr_paired_punctuation.h: Likewise.
15403         * lib/unictype/pr_paragraph_separator.h: Likewise.
15404         * lib/unictype/pr_pattern_syntax.h: Likewise.
15405         * lib/unictype/pr_pattern_white_space.h: Likewise.
15406         * lib/unictype/pr_private_use.h: Likewise.
15407         * lib/unictype/pr_quotation_mark.h: Likewise.
15408         * lib/unictype/pr_radical.h: Likewise.
15409         * lib/unictype/pr_soft_dotted.h: Likewise.
15410         * lib/unictype/pr_space.h: Likewise.
15411         * lib/unictype/pr_titlecase.h: Likewise.
15412         * lib/unictype/pr_variation_selector.h: Likewise.
15413         * lib/unictype/pr_white_space.h: Likewise.
15414         * lib/unictype/pr_zero_width.h: Likewise.
15415         * lib/unictype/sy_c_ident.h: Likewise.
15416         * lib/unictype/sy_c_whitespace.h: Likewise.
15417         * lib/unictype/sy_java_whitespace.h: Likewise.
15418         * lib/uninorm/composition-table.gperf: Likewise.
15419         * lib/uninorm/decomposition-table1.h: Likewise.
15420         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15421         LB8.
15422         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15423         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15424         * modules/unictype/*: Bump version number of expected libunistring
15425         version.
15426
15427 2011-01-09  Bruno Haible  <bruno@clisp.org>
15428
15429         Update to Unicode 5.2.0.
15430         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15431         trailing whitespace removed.
15432
15433 2011-01-09  Bruno Haible  <bruno@clisp.org>
15434
15435         New Unicode character properties, from Unicode 5.2.0.
15436         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15437         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15438         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15439         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15440         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15441         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15442         uc_is_property_cased, uc_is_property_case_ignorable,
15443         uc_is_property_changes_when_lowercased,
15444         uc_is_property_changes_when_uppercased,
15445         uc_is_property_changes_when_titlecased,
15446         uc_is_property_changes_when_casefolded,
15447         uc_is_property_changes_when_casemapped): New declarations.
15448         * lib/unictype/pr_byname.gperf: Add the new properties.
15449         * modules/unictype/property-byname (Depends-on): Depend on the new
15450         properties modules.
15451         * modules/unictype/property-all (Depends-on): Likewise.
15452         * MODULES.html.sh (Unicode string functions): Add
15453         unictype/property-case-ignorable, unictype/property-cased,
15454         unictype/property-changes-when-casefolded,
15455         unictype/property-changes-when-casemapped,
15456         unictype/property-changes-when-lowercased,
15457         unictype/property-changes-when-titlecased,
15458         unictype/property-changes-when-uppercased.
15459
15460         New module 'unictype/property-changes-when-casemapped'.
15461         * modules/unictype/property-changes-when-casemapped: New file.
15462         * lib/unictype/pr_changes_when_casemapped.c: New file.
15463         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15464         generated by gen-uni-tables.
15465         * modules/unictype/property-changes-when-casemapped-tests: New file.
15466         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15467         automatically generated by gen-uni-tables.
15468
15469         New module 'unictype/property-changes-when-casefolded'.
15470         * modules/unictype/property-changes-when-casefolded: New file.
15471         * lib/unictype/pr_changes_when_casefolded.c: New file.
15472         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15473         generated by gen-uni-tables.
15474         * modules/unictype/property-changes-when-casefolded-tests: New file.
15475         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15476         automatically generated by gen-uni-tables.
15477
15478         New module 'unictype/property-changes-when-titlecased'.
15479         * modules/unictype/property-changes-when-titlecased: New file.
15480         * lib/unictype/pr_changes_when_titlecased.c: New file.
15481         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15482         generated by gen-uni-tables.
15483         * modules/unictype/property-changes-when-titlecased-tests: New file.
15484         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15485         automatically generated by gen-uni-tables.
15486
15487         New module 'unictype/property-changes-when-uppercased'.
15488         * modules/unictype/property-changes-when-uppercased: New file.
15489         * lib/unictype/pr_changes_when_uppercased.c: New file.
15490         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15491         generated by gen-uni-tables.
15492         * modules/unictype/property-changes-when-uppercased-tests: New file.
15493         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15494         automatically generated by gen-uni-tables.
15495
15496         New module 'unictype/property-changes-when-lowercased'.
15497         * modules/unictype/property-changes-when-lowercased: New file.
15498         * lib/unictype/pr_changes_when_lowercased.c: New file.
15499         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15500         generated by gen-uni-tables.
15501         * modules/unictype/property-changes-when-lowercased-tests: New file.
15502         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15503         automatically generated by gen-uni-tables.
15504
15505         New module 'unictype/property-case-ignorable'.
15506         * modules/unictype/property-case-ignorable: New file.
15507         * lib/unictype/pr_case_ignorable.c: New file.
15508         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15509         by gen-uni-tables.
15510         * modules/unictype/property-case-ignorable-tests: New file.
15511         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15512         generated by gen-uni-tables.
15513
15514         New module 'unictype/property-cased'.
15515         * modules/unictype/property-cased: New file.
15516         * lib/unictype/pr_cased.c: New file.
15517         * lib/unictype/pr_cased.h: New file, automatically generated by
15518         gen-uni-tables.
15519         * modules/unictype/property-cased-tests: New file.
15520         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15521         gen-uni-tables.
15522
15523 2011-01-09  Bruno Haible  <bruno@clisp.org>
15524
15525         Update to Unicode 5.2.0.
15526         * lib/gen-uni-tables.c (output_predicate, output_category,
15527         output_combclass, output_bidi_category, output_decimal_digit_test,
15528         output_decimal_digit, output_digit_test, output_digit,
15529         output_numeric_test, output_numeric, output_mirror, output_scripts,
15530         output_scripts_byname, output_blocks, output_ident_category): Fix
15531         comment header.
15532         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15533         get_wbp.
15534         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15535         items.
15536         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15537         Changes_When_Lowercased, Changes_When_Uppercased,
15538         Changes_When_Titlecased, Changes_When_Casefolded,
15539         Changes_When_Casemapped.
15540         (is_property_alphabetic, is_property_default_ignorable_code_point):
15541         Update for Unicode 5.2.0.
15542         (is_property_cased, is_property_case_ignorable,
15543         is_property_changes_when_lowercased,
15544         is_property_changes_when_uppercased,
15545         is_property_changes_when_titlecased,
15546         is_property_changes_when_casefolded,
15547         is_property_changes_when_casemapped): New functions.
15548         (output_properties): Output also the properties cased, case_ignorable,
15549         changes_when_lowercased, changes_when_uppercased,
15550         changes_when_titlecased, changes_when_casefolded,
15551         changes_when_casemapped.
15552         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15553         Unicode TR#11 revision 17 -> 19.
15554         (LBP_CP): New enumeration value.
15555         (LBP_*): Adjust values accordingly.
15556         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15557         TR#14 revision 22 -> 24.
15558         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15559         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15560         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15561         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15562         is_WBP_MIDLETTER.
15563         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15564         the code1 and code2 of each composition rule.
15565         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15566         * lib/unicase/ignorable.h: Likewise.
15567         * lib/unicase/tocasefold.h: Likewise.
15568         * lib/unicase/tolower.h: Likewise.
15569         * lib/unicase/totitle.h: Likewise.
15570         * lib/unicase/toupper.h: Likewise.
15571         * lib/unictype/bidi_of.h: Likewise.
15572         * lib/unictype/blocks.h: Likewise.
15573         * lib/unictype/categ_C.h: Likewise.
15574         * lib/unictype/categ_Cf.h: Likewise.
15575         * lib/unictype/categ_Cn.h: Likewise.
15576         * lib/unictype/categ_L.h: Likewise.
15577         * lib/unictype/categ_Ll.h: Likewise.
15578         * lib/unictype/categ_Lm.h: Likewise.
15579         * lib/unictype/categ_Lo.h: Likewise.
15580         * lib/unictype/categ_Lu.h: Likewise.
15581         * lib/unictype/categ_M.h: Likewise.
15582         * lib/unictype/categ_Mc.h: Likewise.
15583         * lib/unictype/categ_Mn.h: Likewise.
15584         * lib/unictype/categ_N.h: Likewise.
15585         * lib/unictype/categ_Nd.h: Likewise.
15586         * lib/unictype/categ_Nl.h: Likewise.
15587         * lib/unictype/categ_No.h: Likewise.
15588         * lib/unictype/categ_P.h: Likewise.
15589         * lib/unictype/categ_Pd.h: Likewise.
15590         * lib/unictype/categ_Po.h: Likewise.
15591         * lib/unictype/categ_S.h: Likewise.
15592         * lib/unictype/categ_Sc.h: Likewise.
15593         * lib/unictype/categ_So.h: Likewise.
15594         * lib/unictype/categ_of.h: Likewise.
15595         * lib/unictype/combining.h: Likewise.
15596         * lib/unictype/ctype_alnum.h: Likewise.
15597         * lib/unictype/ctype_alpha.h: Likewise.
15598         * lib/unictype/ctype_graph.h: Likewise.
15599         * lib/unictype/ctype_lower.h: Likewise.
15600         * lib/unictype/ctype_print.h: Likewise.
15601         * lib/unictype/ctype_punct.h: Likewise.
15602         * lib/unictype/ctype_upper.h: Likewise.
15603         * lib/unictype/decdigit.h: Likewise.
15604         * lib/unictype/digit.h: Likewise.
15605         * lib/unictype/numeric.h: Likewise.
15606         * lib/unictype/pr_alphabetic.h: Likewise.
15607         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15608         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15609         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15610         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15611         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15612         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15613         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15614         * lib/unictype/pr_combining.h: Likewise.
15615         * lib/unictype/pr_composite.h: Likewise.
15616         * lib/unictype/pr_currency_symbol.h: Likewise.
15617         * lib/unictype/pr_dash.h: Likewise.
15618         * lib/unictype/pr_decimal_digit.h: Likewise.
15619         * lib/unictype/pr_deprecated.h: Likewise.
15620         * lib/unictype/pr_diacritic.h: Likewise.
15621         * lib/unictype/pr_extender.h: Likewise.
15622         * lib/unictype/pr_grapheme_base.h: Likewise.
15623         * lib/unictype/pr_grapheme_extend.h: Likewise.
15624         * lib/unictype/pr_grapheme_link.h: Likewise.
15625         * lib/unictype/pr_id_continue.h: Likewise.
15626         * lib/unictype/pr_id_start.h: Likewise.
15627         * lib/unictype/pr_ideographic.h: Likewise.
15628         * lib/unictype/pr_ignorable_control.h: Likewise.
15629         * lib/unictype/pr_logical_order_exception.h: Likewise.
15630         * lib/unictype/pr_lowercase.h: Likewise.
15631         * lib/unictype/pr_numeric.h: Likewise.
15632         * lib/unictype/pr_other_alphabetic.h: Likewise.
15633         * lib/unictype/pr_punctuation.h: Likewise.
15634         * lib/unictype/pr_sentence_terminal.h: Likewise.
15635         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15636         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15637         * lib/unictype/pr_unified_ideograph.h: Likewise.
15638         * lib/unictype/pr_uppercase.h: Likewise.
15639         * lib/unictype/pr_xid_continue.h: Likewise.
15640         * lib/unictype/pr_xid_start.h: Likewise.
15641         * lib/unictype/pr_zero_width.h: Likewise.
15642         * lib/unictype/scripts.h: Likewise.
15643         * lib/unictype/scripts_byname.gperf: Likewise.
15644         * lib/unictype/sy_java_ident.h: Likewise.
15645         * lib/unigbrk/gbrkprop.h: Likewise.
15646         * lib/unilbrk/lbrkprop1.h: Likewise.
15647         * lib/unilbrk/lbrkprop2.h: Likewise.
15648         * lib/unilbrk/lbrktables.h: Likewise.
15649         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15650         LBP_CP. Implement rule LB30.
15651         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15652         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15653         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15654         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15655         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15656         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15657         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15658         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15659         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15660         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15661         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15662         bits instead of 16 bits in the code1 and code2 of each composition
15663         rule.
15664         (uc_composition): Update for Unicode 5.2.0.
15665         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15666         * lib/uninorm/decomposition-table2.h: Likewise.
15667         * lib/uniwbrk/wbrkprop.h: Likewise.
15668         * tests/unicase/test-cased.c: Likewise.
15669         * tests/unicase/test-ignorable.c: Likewise.
15670         * tests/unicase/test-uc_tolower.c: Likewise.
15671         * tests/unicase/test-uc_totitle.c: Likewise.
15672         * tests/unicase/test-uc_toupper.c: Likewise.
15673         * tests/unictype/test-categ_C.c: Likewise.
15674         * tests/unictype/test-categ_Cf.c: Likewise.
15675         * tests/unictype/test-categ_Cn.c: Likewise.
15676         * tests/unictype/test-categ_L.c: Likewise.
15677         * tests/unictype/test-categ_Ll.c: Likewise.
15678         * tests/unictype/test-categ_Lm.c: Likewise.
15679         * tests/unictype/test-categ_Lo.c: Likewise.
15680         * tests/unictype/test-categ_Lu.c: Likewise.
15681         * tests/unictype/test-categ_M.c: Likewise.
15682         * tests/unictype/test-categ_Mc.c: Likewise.
15683         * tests/unictype/test-categ_Mn.c: Likewise.
15684         * tests/unictype/test-categ_N.c: Likewise.
15685         * tests/unictype/test-categ_Nd.c: Likewise.
15686         * tests/unictype/test-categ_Nl.c: Likewise.
15687         * tests/unictype/test-categ_No.c: Likewise.
15688         * tests/unictype/test-categ_P.c: Likewise.
15689         * tests/unictype/test-categ_Pd.c: Likewise.
15690         * tests/unictype/test-categ_Po.c: Likewise.
15691         * tests/unictype/test-categ_S.c: Likewise.
15692         * tests/unictype/test-categ_Sc.c: Likewise.
15693         * tests/unictype/test-categ_So.c: Likewise.
15694         * tests/unictype/test-ctype_alnum.c: Likewise.
15695         * tests/unictype/test-ctype_alpha.c: Likewise.
15696         * tests/unictype/test-ctype_graph.c: Likewise.
15697         * tests/unictype/test-ctype_lower.c: Likewise.
15698         * tests/unictype/test-ctype_print.c: Likewise.
15699         * tests/unictype/test-ctype_punct.c: Likewise.
15700         * tests/unictype/test-ctype_upper.c: Likewise.
15701         * tests/unictype/test-decdigit.h: Likewise.
15702         * tests/unictype/test-digit.h: Likewise.
15703         * tests/unictype/test-numeric.h: Likewise.
15704         * tests/unictype/test-pr_alphabetic.c: Likewise.
15705         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15706         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15707         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15708         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15709         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15710         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15711         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15712         * tests/unictype/test-pr_combining.c: Likewise.
15713         * tests/unictype/test-pr_composite.c: Likewise.
15714         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15715         * tests/unictype/test-pr_dash.c: Likewise.
15716         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15717         * tests/unictype/test-pr_deprecated.c: Likewise.
15718         * tests/unictype/test-pr_diacritic.c: Likewise.
15719         * tests/unictype/test-pr_extender.c: Likewise.
15720         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15721         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15722         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15723         * tests/unictype/test-pr_id_continue.c: Likewise.
15724         * tests/unictype/test-pr_id_start.c: Likewise.
15725         * tests/unictype/test-pr_ideographic.c: Likewise.
15726         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15727         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15728         * tests/unictype/test-pr_lowercase.c: Likewise.
15729         * tests/unictype/test-pr_numeric.c: Likewise.
15730         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15731         * tests/unictype/test-pr_punctuation.c: Likewise.
15732         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15733         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15734         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15735         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15736         * tests/unictype/test-pr_uppercase.c: Likewise.
15737         * tests/unictype/test-pr_xid_continue.c: Likewise.
15738         * tests/unictype/test-pr_xid_start.c: Likewise.
15739         * tests/unictype/test-pr_zero_width.c: Likewise.
15740         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15741         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15742         changed behaviour: line breaking is now disallowed between a letter
15743         or '=' and '('.
15744         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15745         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15746         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15747         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15748         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15749         lib/uniwidth/width.c.
15750         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15751         without comments, but with the original copyright notice.
15752         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15753         changes.
15754         * lib/unictype/categ_Cc.h: Likewise.
15755         * lib/unictype/categ_Co.h: Likewise.
15756         * lib/unictype/categ_Cs.h: Likewise.
15757         * lib/unictype/categ_Lt.h: Likewise.
15758         * lib/unictype/categ_Me.h: Likewise.
15759         * lib/unictype/categ_Pc.h: Likewise.
15760         * lib/unictype/categ_Pe.h: Likewise.
15761         * lib/unictype/categ_Pf.h: Likewise.
15762         * lib/unictype/categ_Pi.h: Likewise.
15763         * lib/unictype/categ_Ps.h: Likewise.
15764         * lib/unictype/categ_Sk.h: Likewise.
15765         * lib/unictype/categ_Sm.h: Likewise.
15766         * lib/unictype/categ_Z.h: Likewise.
15767         * lib/unictype/categ_Zl.h: Likewise.
15768         * lib/unictype/categ_Zp.h: Likewise.
15769         * lib/unictype/categ_Zs.h: Likewise.
15770         * lib/unictype/ctype_blank.h: Likewise.
15771         * lib/unictype/ctype_cntrl.h: Likewise.
15772         * lib/unictype/ctype_digit.h: Likewise.
15773         * lib/unictype/ctype_space.h: Likewise.
15774         * lib/unictype/ctype_xdigit.h: Likewise.
15775         * lib/unictype/mirror.h: Likewise.
15776         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15777         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15778         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15779         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15780         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15781         * lib/unictype/pr_bidi_control.h: Likewise.
15782         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15783         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15784         * lib/unictype/pr_bidi_pdf.h: Likewise.
15785         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15786         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15787         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15788         * lib/unictype/pr_format_control.h: Likewise.
15789         * lib/unictype/pr_hex_digit.h: Likewise.
15790         * lib/unictype/pr_hyphen.h: Likewise.
15791         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15792         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15793         * lib/unictype/pr_iso_control.h: Likewise.
15794         * lib/unictype/pr_join_control.h: Likewise.
15795         * lib/unictype/pr_left_of_pair.h: Likewise.
15796         * lib/unictype/pr_line_separator.h: Likewise.
15797         * lib/unictype/pr_math.h: Likewise.
15798         * lib/unictype/pr_non_break.h: Likewise.
15799         * lib/unictype/pr_not_a_character.h: Likewise.
15800         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15801         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15802         * lib/unictype/pr_other_id_continue.h: Likewise.
15803         * lib/unictype/pr_other_id_start.h: Likewise.
15804         * lib/unictype/pr_other_lowercase.h: Likewise.
15805         * lib/unictype/pr_other_math.h: Likewise.
15806         * lib/unictype/pr_other_uppercase.h: Likewise.
15807         * lib/unictype/pr_paired_punctuation.h: Likewise.
15808         * lib/unictype/pr_paragraph_separator.h: Likewise.
15809         * lib/unictype/pr_pattern_syntax.h: Likewise.
15810         * lib/unictype/pr_pattern_white_space.h: Likewise.
15811         * lib/unictype/pr_private_use.h: Likewise.
15812         * lib/unictype/pr_quotation_mark.h: Likewise.
15813         * lib/unictype/pr_radical.h: Likewise.
15814         * lib/unictype/pr_soft_dotted.h: Likewise.
15815         * lib/unictype/pr_space.h: Likewise.
15816         * lib/unictype/pr_titlecase.h: Likewise.
15817         * lib/unictype/pr_variation_selector.h: Likewise.
15818         * lib/unictype/pr_white_space.h: Likewise.
15819         * lib/unictype/sy_c_ident.h: Likewise.
15820         * lib/unictype/sy_c_whitespace.h: Likewise.
15821         * lib/unictype/sy_java_whitespace.h: Likewise.
15822         * modules/uni*/*: Bump version number of expected libunistring version.
15823         Reported by Simon Josefsson.
15824
15825 2011-01-09  Karl Heuer  <kwzh@gnu.org>
15826
15827         useless-if-before-free: fix typo in --help and make the internal,
15828         automatic version date update process work once again.
15829         --help output contained a NUL character instead of the
15830         backslash-zero that was intended.  Also, the "must lie within
15831         the first 8 lines" line is on line 9, and hence not getting
15832         automatically updated.
15833         * build-aux/useless-if-before-free: Fix the former by adding a
15834         backslash, and the latter by condensing the three lines of what-it-does
15835         to a single line, leaving one line of slack for the future.
15836
15837 2011-01-09  Bruno Haible  <bruno@clisp.org>
15838
15839         uniwidth/width: Fix width of U+1D173..U+1D17A.
15840         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
15841         symbolic_width, output_width_property_test): New functions.
15842         (main): Invoke output_nonspacing_property, output_width_property_test.
15843         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
15844         U+1D173..U+1D17A.
15845         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
15846         1.
15847         * modules/uniwidth/*: Bump version number of expected libunistring
15848         version.
15849         * modules/unilbrk/*: Likewise.
15850
15851 2011-01-08  Bruno Haible  <bruno@clisp.org>
15852
15853         uninorm tests: Preserve copyright of Unicode data file.
15854         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
15855         Mention modifications.
15856
15857 2011-01-08  Bruno Haible  <bruno@clisp.org>
15858
15859         gen-uni-tables: Prepare for Unicode 5.2.0.
15860         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
15861         (debug_output_lbp, output_lbp): Update.
15862
15863 2011-01-08  Bruno Haible  <bruno@clisp.org>
15864
15865         unilbrk: Clarify gen-uni-tables.c code.
15866         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
15867         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
15868         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
15869
15870 2011-01-07  Bruno Haible  <bruno@clisp.org>
15871
15872         strtod: Restore errno when successfully parsing Infinity or NaN.
15873         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
15874         restore the original errno.
15875
15876 2011-01-07  Bruno Haible  <bruno@clisp.org>
15877
15878         remove test: Avoid failure on HP-UX 11.
15879         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
15880
15881 2011-01-07  Bruno Haible  <bruno@clisp.org>
15882
15883         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
15884         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
15885         error code.
15886
15887 2011-01-07  Pádraig Brady <P@draigBrady.com>
15888
15889         ignore-value: fixup comments, and add Eric Blake
15890         as an author since he rewrote the macros.
15891         * lib/ignore-value.h (ignore_value):  State that
15892         we now support aggregates.  Also specify exactly
15893         when the GCC warn_unused_result feature was added.
15894
15895 2011-01-06  Eric Blake  <eblake@redhat.com>
15896
15897         ignore-value: support aggregate types
15898         * lib/ignore-value.h (ignore_value): Provide separate gcc
15899         definition.
15900         * modules/ignore-value-tests: New test module.
15901         * tests/test-ignore-value.c: New test.
15902
15903         maint.mk: improve sc_prohibit_strcmp regex
15904         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
15905         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
15906         definition of STRNEQ.
15907
15908         signal: work around Haiku issue with SIGBUS
15909         * lib/siglist.h: Add comment.
15910         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
15911         strsignal's favoring of SIGSEGV.
15912         * tests/test-signal.c (main): Avoid test failure.
15913         * doc/posix-headers/signal.texi (signal.h): Document the issue.
15914         Reported by Scott McCreary.
15915
15916         maint.mk: add pre-release check to ensure submodule commits are public
15917         * top/maint.mk (public-submodule-commit): New rule.
15918         (submodule-checks): New variable.
15919         (alpha beta stable): Depend on the variable.
15920
15921 2011-01-05  Pádraig Brady <P@draigBrady.com>
15922         and Jim Meyering  <meyering@redhat.com>
15923
15924         ignore-value: make ignore_value more generic; deprecate ignore_ptr
15925         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
15926         (ATTRIBUTE_DEPRECATED): Define.
15927         (_ignore_case): New function.
15928         (ignore_value): New macro, to replace the old function.
15929         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
15930         * modules/ignore-value (Depends-on): Add stdint.
15931
15932 2011-01-04  Eric Blake  <eblake@redhat.com>
15933
15934         doc: regenerate INSTALL
15935         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
15936         @firstparagraphindent support, now that autoconf dropped it.
15937         (INSTALL_PRELUDE): Reinstate old macro.
15938         * doc/install.texi: Resync from autoconf.
15939         * doc/INSTALL: Reflect recent autoconf update.
15940         * doc/INSTALL.ISO: Likewise.
15941         * doc/INSTALL.UTF-8: Likewise.
15942         Reported by Karl Berry.
15943
15944 2011-01-04  Bruce Korb  <address@hidden>
15945
15946         git-version-gen: avoid a sub-shell
15947         * build-aux/git-version-gen: Redirect stderr in `...` via
15948         "exec 2>...", rather than via an added sub-shell.
15949
15950 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
15951
15952         git-version-gen: use (...) rather than sh -c '...'
15953         * build-aux/git-version-gen: Rather than hard-coding a shell's name
15954         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
15955
15956 2011-01-03  Jim Meyering  <meyering@redhat.com>
15957
15958         git-version-gen: convert leading TABs to spaces
15959         * build-aux/git-version-gen: Expand leading TABs.
15960
15961         git-version-gen: handle failed "git rev-list"
15962         * build-aux/git-version-gen: Rather than leaking a "fatal" error
15963         from git and proceeding as if it had succeeded but printed no SHA1
15964         checksums, suppress the diagnostic and handle the failure.
15965         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
15966
15967         git-version-gen: include command name in one more diagnostic
15968         * build-aux/git-version-gen: When the required .tarball-version file
15969         was missing or unreadable, you might see the diagnostic from "cat",
15970         but no trace of the name of the invoking script.  Now, you still see
15971         the diagnostic from cat, but also get one from "git-version-gen: ".
15972         Inspired by a patch from Bruce Korb.
15973
15974         update-copyright: adjust test to match changed code
15975         * tests/test-update-copyright.sh: Change test's expected output
15976         to match new actual output.
15977
15978 2011-01-02  Bruno Haible  <bruno@clisp.org>
15979
15980         getlogin_r: Avoid test failure on HP-UX 11.
15981         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
15982         ERANGE when the second argument is zero.
15983         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
15984         portability problem.
15985
15986 2011-01-02  Bruce Korb  <bkorb@gnu.org>
15987
15988         * build-aux/update-copyright: doc Simon's changes
15989
15990 2011-01-02  Simon Josefsson  <simon@josefsson.org>
15991
15992         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
15993         environment variable.
15994
15995 2011-01-02  Bruno Haible  <bruno@clisp.org>
15996
15997         unigbrk: Avoid gcc warnings.
15998         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
15999         unused variable.
16000         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
16001         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
16002         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
16003         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
16004         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
16005         Change type of first argument to 'const char *'.
16006         (main): Remove unused variable.
16007         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
16008         type of first argument to 'const char *'.
16009         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
16010         Likewise.
16011         (main): Change type of variable 's'.
16012         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
16013         to 'int'.
16014
16015 2011-01-02  Bruno Haible  <bruno@clisp.org>
16016
16017         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
16018         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
16019         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
16020         bug.
16021         * lib/pwrite.c: Undo 2010-12-31 patch.
16022         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
16023
16024 2011-01-02  Bruno Haible  <bruno@clisp.org>
16025
16026         pread: Fix test whether it works.
16027         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
16028
16029 2011-01-02  Bruno Haible  <bruno@clisp.org>
16030
16031         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
16032         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
16033         ends in "6". Don't require a specific month name. Try also the locale
16034         names found on HP-UX 11 and Solaris 7.
16035
16036 2011-01-02  Bruno Haible  <bruno@clisp.org>
16037
16038         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
16039         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
16040         C linkage.
16041         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
16042
16043 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16044
16045         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
16046         for consistency, since the "cluster" term is not used elsewhere.
16047         * lib/unigbrk.in.h: Update name.
16048         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
16049         * lib/unigbrk/u16-grapheme-next.c: Update name.
16050         * lib/unigbrk/u16-grapheme-prev.c: Update name.
16051         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
16052         * lib/unigbrk/u32-grapheme-next.c: Update name.
16053         * lib/unigbrk/u32-grapheme-prev.c: Update name.
16054         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
16055         * lib/unigbrk/u8-grapheme-next.c: Update name.
16056         * lib/unigbrk/u8-grapheme-prev.c: Update name.
16057         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
16058         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
16059         Suggested by Bruno Haible.
16060
16061 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16062
16063         Remove module 'u8-grapheme-len' as too redundant with
16064         'u8-grapheme-next'.
16065         * modules/unigbrk/u8-grapheme-len: Delete file.
16066         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
16067         * lib/unigbrk.in.h: Remove prototype for deleted function.
16068         * lib/unigbrk/u8-grapheme-len.c: Delete file.
16069         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
16070
16071         Remove module 'u16-grapheme-len' as too redundant with
16072         'u16-grapheme-next'.
16073         * modules/unigbrk/u16-grapheme-len: Delete file.
16074         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
16075         * lib/unigbrk.in.h: Remove prototype for deleted function.
16076         * lib/unigbrk/u16-grapheme-len.c: Delete file.
16077         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
16078
16079         Remove module 'u32-grapheme-len' as too redundant with
16080         'u32-grapheme-next'.
16081         * modules/unigbrk/u32-grapheme-len: Delete file.
16082         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
16083         * lib/unigbrk.in.h: Remove prototype for deleted function.
16084         * lib/unigbrk/u32-grapheme-len.c: Delete file.
16085         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
16086
16087         Suggested by Bruno Haible.
16088
16089 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16090
16091         * unigbrk.in.h: Fix typo: "ben" => "been".
16092         Reported by Bruno Haible.
16093
16094 2011-01-01  Jim Meyering  <meyering@redhat.com>
16095
16096         maint: update almost all copyright ranges to include 2011
16097         Run the new "make update-copyright" rule.
16098
16099 2011-01-01  Jim Meyering  <meyering@redhat.com>
16100
16101         maint: update-copyright: exempt doc/INSTALL*
16102         * Makefile (update-copyright): Also exclude doc/INSTALL*,
16103         since they are generated.  Suggested by Bruno Haible.
16104
16105 2011-01-01  Jim Meyering  <meyering@redhat.com>
16106
16107         maint: refine the update-copyright rule
16108         * Makefile (update-copyright): Also exclude any file that includes
16109         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
16110         code that merely generates the comment.
16111
16112 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16113
16114         New module 'u8-grapheme-len'.
16115         * modules/unigbrk/u8-grapheme-len: New file.
16116         * modules/unigbrk/u8-grapheme-len-tests: New file.
16117         * lib/unigbrk.in.h: Add prototype for new function.
16118         * lib/unigbrk/u8-grapheme-len.c: New file.
16119         * tests/unigbrk/test-u8-grapheme-len.c: New file.
16120
16121         New module 'u16-grapheme-len'.
16122         * modules/unigbrk/u16-grapheme-len: New file.
16123         * modules/unigbrk/u16-grapheme-len-tests: New file.
16124         * lib/unigbrk.in.h: Add prototype for new function.
16125         * lib/unigbrk/u16-grapheme-len.c: New file.
16126         * tests/unigbrk/test-u16-grapheme-len.c: New file.
16127
16128         New module 'u32-grapheme-len'.
16129         * modules/unigbrk/u32-grapheme-len: New file.
16130         * modules/unigbrk/u32-grapheme-len-tests: New file.
16131         * lib/unigbrk.in.h: Add prototype for new function.
16132         * lib/unigbrk/u32-grapheme-len.c: New file.
16133         * tests/unigbrk/test-u32-grapheme-len.c: New file.
16134
16135         New module 'u8-grapheme-next'.
16136         * modules/unigbrk/u8-grapheme-next: New file.
16137         * modules/unigbrk/u8-grapheme-next-tests: New file.
16138         * lib/unigbrk.in.h: Add prototype for new function.
16139         * lib/unigbrk/u8-grapheme-next.c: New file.
16140         * tests/unigbrk/test-u8-grapheme-next.c: New file.
16141
16142         New module 'u16-grapheme-next'.
16143         * modules/unigbrk/u16-grapheme-next: New file.
16144         * modules/unigbrk/u16-grapheme-next-tests: New file.
16145         * lib/unigbrk.in.h: Add prototype for new function.
16146         * lib/unigbrk/u16-grapheme-next.c: New file.
16147         * tests/unigbrk/test-u16-grapheme-next.c: New file.
16148
16149         New module 'u32-grapheme-next'.
16150         * modules/unigbrk/u32-grapheme-next: New file.
16151         * modules/unigbrk/u32-grapheme-next-tests: New file.
16152         * lib/unigbrk.in.h: Add prototype for new function.
16153         * lib/unigbrk/u32-grapheme-next.c: New file.
16154         * tests/unigbrk/test-u32-grapheme-next.c: New file.
16155
16156         New module 'u8-grapheme-prev'.
16157         * modules/unigbrk/u8-grapheme-prev: New file.
16158         * modules/unigbrk/u8-grapheme-prev-tests: New file.
16159         * lib/unigbrk.in.h: Add prototype for new function.
16160         * lib/unigbrk/u8-grapheme-prev.c: New file.
16161         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
16162
16163         New module 'u16-grapheme-prev'.
16164         * modules/unigbrk/u16-grapheme-prev: New file.
16165         * modules/unigbrk/u16-grapheme-prev-tests: New file.
16166         * lib/unigbrk.in.h: Add prototype for new function.
16167         * lib/unigbrk/u16-grapheme-prev.c: New file.
16168         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
16169
16170         New module 'u32-grapheme-prev'.
16171         * modules/unigbrk/u32-grapheme-prev: New file.
16172         * modules/unigbrk/u32-grapheme-prev-tests: New file.
16173         * lib/unigbrk.in.h: Add prototype for new function.
16174         * lib/unigbrk/u32-grapheme-prev.c: New file.
16175         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
16176
16177         New module 'u8-grapheme-breaks'.
16178         * modules/unigbrk/u8-grapheme-breaks: New file.
16179         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
16180         * lib/unigbrk.in.h: Add prototype for new function.
16181         * lib/unigbrk/u8-grapheme-breaks.c: New file.
16182         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
16183
16184         New module 'u16-grapheme-breaks'.
16185         * modules/unigbrk/u16-grapheme-breaks: New file.
16186         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
16187         * lib/unigbrk.in.h: Add prototype for new function.
16188         * lib/unigbrk/u16-grapheme-breaks.c: New file.
16189         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
16190
16191         New module 'u32-grapheme-breaks'.
16192         * modules/unigbrk/u32-grapheme-breaks: New file.
16193         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
16194         * lib/unigbrk.in.h: Add prototype for new function.
16195         * lib/unigbrk/u32-grapheme-breaks.c: New file.
16196         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
16197
16198         New module 'ulc-grapheme-breaks'.
16199         * modules/unigbrk/ulc-grapheme-breaks: New file.
16200         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
16201         * m4/locale-ar.m4: New file.
16202         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
16203         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
16204         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
16205
16206 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16207
16208         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
16209         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
16210         modified how this file was generated before I initially submitted
16211         the module, but failed to regenerate it.  This meant that several
16212         of the level2 entries were wrong.
16213         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
16214         Remove the division-by-2 that is folded into the table now that
16215         gbrkprop.h has been regenerated properly.  Now -1 entries are
16216         handled correctly.
16217
16218         New module 'unigbrk/uc-gbrk-prop-tests'.
16219         * modules/unigbrk/uc-gbrk-prop-tests: New file.
16220         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
16221         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
16222         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
16223
16224 2011-01-01  Bruno Haible  <bruno@clisp.org>
16225
16226         Avoid use of hexadecimal escapes.
16227         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
16228         instead of hexadecimal escapes.
16229
16230 2011-01-01  Jim Meyering  <meyering@redhat.com>
16231
16232         maint: new rule to update copyright year ranges
16233         * Makefile (update-copyright): New rule.
16234
16235         maint: indent with TABs in Makefile
16236         * Makefile: Expand leading sequences of spaces to TABs
16237
16238         version-etc: update the copyright year it reports
16239         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
16240
16241 2010-12-31  Bruno Haible  <bruno@clisp.org>
16242
16243         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
16244         * lib/isfinite.c (zerof, zerod, zerol): New variables.
16245         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
16246         zero.
16247
16248 2010-12-31  Bruno Haible  <bruno@clisp.org>
16249
16250         pwrite: Work around HP-UX 11.11 bug.
16251         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
16252         works and set REPLACE_PWRITE if not.
16253         * lib/pwrite.c (pwrite): Add an implementation that uses the system
16254         function.
16255         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
16256
16257 2010-12-31  Bruno Haible  <bruno@clisp.org>
16258
16259         pread: Work around HP-UX 11 bugs.
16260         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
16261         and set REPLACE_PREAD if not.
16262         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
16263
16264 2010-12-31  Eric Blake  <eblake@redhat.com>
16265
16266         nl_langinfo: fix YESEXPR on Irix 6.5
16267         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
16268         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
16269         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
16270         it.
16271
16272 2010-12-31  Bruno Haible  <bruno@clisp.org>
16273
16274         iconv: Document HP-UX 11 bug.
16275         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
16276
16277 2010-12-31  Bruno Haible  <bruno@clisp.org>
16278
16279         ldexpl: Fix link error on HP-UX 11.
16280         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
16281         LDEXPL_LIBM, using $ISNANL_LIBM.
16282
16283 2010-12-31  Eric Blake  <eblake@redhat.com>
16284
16285         ftello: avoid compilation failure with SunStudio c89
16286         * lib/ftello.c (ftello): Use lseek, not llseek.
16287
16288         tests: avoid failing coreutils tests on cygwin
16289         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
16290         (create_exe_shims_): Return 0 when skipping.
16291
16292 2010-12-31  Bruno Haible  <bruno@clisp.org>
16293
16294         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
16295         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
16296
16297 2010-12-31  Bruno Haible  <bruno@clisp.org>
16298
16299         waitpid: Fix link error in C++ mode.
16300         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
16301
16302 2010-12-31  Bruno Haible  <bruno@clisp.org>
16303
16304         isnan: Use GCC built-ins when possible.
16305         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
16306         __builtin_isnan.
16307         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
16308         (isnan): Define using GCC built-ins for GCC >= 4.0.
16309
16310 2010-12-31  Bruno Haible  <bruno@clisp.org>
16311
16312         isnand: Fix mistake.
16313         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
16314         __builtin_isnand.
16315
16316 2010-12-31  Bruno Haible  <bruno@clisp.org>
16317
16318         open: Avoid C++ error on HP-UX 11.
16319         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
16320
16321 2010-12-31  Bruno Haible  <bruno@clisp.org>
16322
16323         time_r: Add missing declarations on HP-UX 11.
16324         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
16325         instead of HAVE_LOCALTIME_R.
16326         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
16327         HAVE_LOCALTIME_R always.
16328         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
16329         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
16330         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
16331         HAVE_LOCALTIME_R.
16332         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
16333         * doc/posix-functions/localtime_r.texi: Likewise.
16334
16335 2010-12-29  Eric Blake  <eblake@redhat.com>
16336
16337         mountlist: tweak previous commit
16338         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
16339         Reported by Paul Eggert.
16340
16341         mountlist: fix local drive detection on cygwin
16342         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
16343         that works for cygwin.
16344
16345 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16346
16347         ftoastr, snprintf: ftoastr + snprintf module
16348         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
16349         since the snprintf module now should be good enough here.
16350         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
16351         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
16352         and gl_MODULE_INDICATOR([snprintf]), but the former enables
16353         GNULIB_SNPRINTF only for the test directory, and the latter
16354         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
16355         seems to suffice by itself.
16356
16357 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16358
16359         alloca: one step towards thread-safety
16360         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
16361         need for a static variable.  All callers changed.  This does not
16362         make the alloca replacement thread-safe, but it's one step.
16363
16364         tests: minor indenting change
16365         * tests/init.sh: Sync from coreutils housekeeping patch
16366         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
16367         to keep lines within 80 columns.
16368
16369 2010-12-28  Jim Meyering  <meyering@redhat.com>
16370
16371         regex: don't infloop on persistent failing calloc
16372         * lib/regexec.c (build_trtable): Return failure indication upon
16373         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
16374         In glibc, this was fixed for version 2.13:
16375         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
16376
16377 2010-12-28  Bruno Haible  <bruno@clisp.org>
16378             Paul Eggert <eggert@cs.ucla.edu>
16379
16380         linkat: Make implementation robust against system behaviour variations.
16381         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16382         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16383         way, and to -2 if it needs a generic runtime test.
16384         * lib/linkat.c (solaris_optimized_link_immediate,
16385         solaris_optimized_link_follow): New functions.
16386         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16387         (check_same_link): Use it.
16388
16389 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16390
16391         New module 'unigbrk/base'.
16392         * modules/unigbrk/base: New file.
16393         * lib/unigbrk.in.h: New file.
16394
16395         New module 'unigbrk/uc-gbrk-prop'.
16396         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16397         * modules/unigbrk/uc-gbrk-prop: New file.
16398         * lib/unigbrk/gbrkprop.h: New file.
16399         * lib/unigbrk/uc-gbrk-prop.c: New file.
16400
16401         New module 'unigbrk/uc-is-grapheme-break'.
16402         * modules/unigbrk/uc-is-grapheme-break: New file.
16403         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16404         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16405         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16406         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16407         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16408
16409         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16410
16411 2010-12-27  Bruno Haible  <bruno@clisp.org>
16412
16413         linkat test: Avoid failure on Solaris 11 2010-11.
16414         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16415
16416 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16417
16418         utimens: work around glibc rounding bug on more platforms
16419         * lib/utimens.c (fdutimens): Work around rounding bug even if
16420         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16421         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16422
16423 2010-12-27  Bruno Haible  <bruno@clisp.org>
16424
16425         select tests: Improve comments.
16426         * tests/test-select.c (do_select): Add comments.
16427
16428 2010-12-27  Bruno Haible  <bruno@clisp.org>
16429
16430         select tests: Safer way of handling timeout.
16431         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16432         at every invocation.
16433
16434 2010-12-27  Bruno Haible  <bruno@clisp.org>
16435
16436         select tests: Use 'bool' where appropriate.
16437         * tests/test-select.c (connect_to_socket): Change argument type to
16438         'bool'.
16439
16440 2010-12-27  Bruno Haible  <bruno@clisp.org>
16441
16442         select tests: Use existing modules.
16443         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16444         (configure.ac): Don't test for unistd.h.
16445         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16446         declared in <unistd.h>.
16447
16448 2010-12-27  Bruno Haible  <bruno@clisp.org>
16449
16450         mbrtowc: Work around a Solaris 7 bug.
16451         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16452         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16453         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16454         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16455         MBRTOWC_NULL_ARG1_BUG.
16456         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16457         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16458         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16459         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16460
16461 2010-12-27  Jim Meyering  <meyering@redhat.com>
16462
16463         read-file.c: tweak syntax
16464         * lib/read-file.c (fread_file): Remove space after "*" in function
16465         definitions.
16466
16467 2010-12-27  Bruno Haible  <bruno@clisp.org>
16468
16469         times test: Avoid gcc warnings on OSF/1.
16470         * tests/test-times.c (main): Cast printf arguments from clock_t to
16471         'long int'.
16472
16473 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16474
16475         utimens: work around glibc rounding bug on older Linux kernels
16476         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16477         on Linux with a glibc whose utimes might not work, then work
16478         around a longstanding glibc bug involving rounding rather than
16479         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16480         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16481
16482 2010-12-26  Bruno Haible  <bruno@clisp.org>
16483
16484         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16485         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16486         _GL_CXXALIAS_SYS.
16487         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16488
16489 2010-12-26  Bruno Haible  <bruno@clisp.org>
16490
16491         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16492         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16493         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16494         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16495         looking for the declaration.
16496         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16497         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16498         problem.
16499         * doc/posix-functions/inet_pton.texi: Likewise.
16500
16501 2010-12-26  Bruno Haible  <bruno@clisp.org>
16502
16503         arpa_inet: Use the common idioms with C++ support.
16504         * lib/arpa_inet.in.h: Include c++defs.h.
16505         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16506         support.
16507         * modules/arpa_inet (Depends-on): Add c++defs.
16508         (Makefile.am): Substitute the contents of c++defs.h.
16509         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16510         * modules/arpa_inet-c++-tests: New file.
16511         * tests/test-arpa_inet-c++.cc: New file.
16512
16513 2010-12-25  Bruno Haible  <bruno@clisp.org>
16514
16515         Fix more C++ link errors on Solaris 8.
16516         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16517         $(LIB_EACCESS).
16518         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16519         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16520         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16521         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16522         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16523
16524 2010-12-25  Bruno Haible  <bruno@clisp.org>
16525
16526         printf-posix: Fix link error when a non-GCC compiler is used.
16527         * lib/stdio.in.h (printf): When not using GCC, override printf
16528         correctly.
16529         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16530
16531 2010-12-25  Bruno Haible  <bruno@clisp.org>
16532
16533         strerror_r-posix: Update doc.
16534         * doc/posix-functions/strerror_r.texi: Update doc about the return
16535         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16536
16537 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16538
16539         utimens: simplify the logic of the previous change
16540         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16541         This should not affect whether the test succeeds or fails.
16542
16543         utimens: configure better on hosts with NFS clock skew
16544         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16545         uses the clock of the local host.  It might use the clock of the
16546         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16547         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16548
16549 2010-12-25  Bruno Haible  <bruno@clisp.org>
16550
16551         ptsname test: Avoid failure on Solaris.
16552         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16553         open a pseudo-terminal; don't use BSD-style ptys.
16554         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16555
16556 2010-12-25  Bruno Haible  <bruno@clisp.org>
16557
16558         ptsname: Avoid ERANGE failure on some systems.
16559         * lib/ptsname.c (buffer): Increase size.
16560
16561 2010-12-25  Bruno Haible  <bruno@clisp.org>
16562
16563         rename, renameat: Avoid test failures at NFS mounted locations.
16564         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16565         so that subsequent mkdir calls succeed.
16566
16567 2010-12-25  Bruno Haible  <bruno@clisp.org>
16568
16569         iswblank: Fix C++ link error on Solaris 8.
16570         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16571         _GL_FUNCDECL_SYS.
16572
16573 2010-12-25  Bruno Haible  <bruno@clisp.org>
16574
16575         unistd: Fix C++ link error on Solaris 8.
16576         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16577
16578 2010-12-25  Bruno Haible  <bruno@clisp.org>
16579
16580         readlink doc: Mention an old glibc bug.
16581         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16582
16583 2010-12-25  Bruno Haible  <bruno@clisp.org>
16584
16585         fcntl-h: Fix for use of C++ on glibc systems.
16586         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16587         also on glibc systems in C++ mode.
16588         Reported by Gary V. Vaughan <gary@gnu.org>.
16589
16590 2010-12-25  Bruno Haible  <bruno@clisp.org>
16591
16592         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16593         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16594
16595 2010-12-25  Bruno Haible  <bruno@clisp.org>
16596
16597         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16598         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16599         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16600         test whether truncl works according to ISO C 99 with IEC 60559.
16601         * m4/truncl-ieee.m4: New file.
16602         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16603         m4/signbit.m4.
16604         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16605
16606 2010-12-25  Bruno Haible  <bruno@clisp.org>
16607
16608         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16609         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16610         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16611         test whether ceill works according to ISO C 99 with IEC 60559.
16612         * m4/ceill-ieee.m4: New file.
16613         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16614         m4/signbit.m4.
16615         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16616
16617 2010-12-25  Bruno Haible  <bruno@clisp.org>
16618
16619         Ensure all prerequisites of <wchar.h> are included.
16620         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16621         before <wchar.h>.
16622         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16623         gl_MBRLEN_NUL_RETVAL): Likewise.
16624         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16625         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16626         AC_FUNC_MBRTOWC): Likewise.
16627         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16628         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16629         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16630         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16631         Likewise.
16632         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16633         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16634         (gl_WCHAR_H): Improve comments.
16635         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16636
16637 2010-12-25  Bruno Haible  <bruno@clisp.org>
16638
16639         strtok_r: Fix C syntax error in autoconf macro.
16640         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16641         characters in test program.
16642
16643 2010-12-24  Bruno Haible  <bruno@clisp.org>
16644
16645         ceil, trunc, round: Fix gcc warnings.
16646         * lib/ceil.c (MIN): Undefine before redefining.
16647         * lib/trunc.c (MIN): Likewise.
16648         * lib/round.c (MIN): Likewise.
16649         Include <math.h> first.
16650
16651 2010-12-24  Bruno Haible  <bruno@clisp.org>
16652
16653         select tests: Avoid failures on OSF/1 5.1.
16654         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16655         failure of closing the last socket; it may fail with ECONNRESET.
16656
16657 2010-12-24  Eric Blake  <eblake@redhat.com>
16658
16659         stdint: avoid HP-UX 10.20 preprocessor bug
16660         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16661         than #if.
16662         * tests/test-floor2.c (main): Likewise.
16663         Reported by Peter O'Gorman.
16664
16665         pipe: make obsoletion transition easier
16666         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16667         * modules/pipe (Files): Include revived file.
16668         (Include): Drop reference, to mirror getdate's behavior.
16669
16670 2010-12-24  Bruno Haible  <bruno@clisp.org>
16671
16672         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16673         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16674         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16675         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16676
16677 2010-12-24  Bruno Haible  <bruno@clisp.org>
16678
16679         gethostname: Ensure declaration on NonStop Kernel.
16680         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16681         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16682
16683 2010-12-24  Bruno Haible  <bruno@clisp.org>
16684
16685         sys_select: Ensure all necessary types on NonStop Kernel.
16686         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16687         include <sys/time.h>.
16688         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16689         NonStop Kernel.
16690         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16691
16692 2010-12-24  Bruno Haible  <bruno@clisp.org>
16693
16694         sys_select: Remove unneeded include.
16695         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16696         have <sys/select.h>.
16697
16698 2010-12-24  Bruno Haible  <bruno@clisp.org>
16699
16700         gethostname: Provide a fallback for HOST_NAME_MAX.
16701         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16702         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16703         instead.
16704         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16705
16706 2010-12-24  Bruno Haible  <bruno@clisp.org>
16707
16708         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16709         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16710         (SA_RESTART): Likewise.
16711         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16712
16713 2010-12-24  Bruno Haible  <bruno@clisp.org>
16714
16715         signal: Define NSIG.
16716         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16717         * tests/test-signal.c (nsig): New variable.
16718         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16719
16720 2010-12-24  Bruno Haible  <bruno@clisp.org>
16721
16722         rename, renameat: Avoid test failures on OSF/1 5.1.
16723         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16724         alternative error codes.
16725         * tests/test-renameat.c (main): Likewise.
16726
16727 2010-12-24  Bruno Haible  <bruno@clisp.org>
16728
16729         *printf: Detect large precisions bug on Solaris 10/SPARC.
16730         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16731         by Paul Eggert.
16732         * tests/test-snprintf-posix.h (test_function): Add this test code here
16733         too.
16734         * tests/test-sprintf-posix.h (test_function): Likewise.
16735         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16736         * tests/test-vasprintf-posix.c (test_function): Likewise.
16737         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16738         around by gnulib.
16739         * doc/posix-functions/printf.texi: Likewise.
16740         * doc/posix-functions/snprintf.texi: Likewise.
16741         * doc/posix-functions/sprintf.texi: Likewise.
16742         * doc/posix-functions/vfprintf.texi: Likewise.
16743         * doc/posix-functions/vprintf.texi: Likewise.
16744         * doc/posix-functions/vsnprintf.texi: Likewise.
16745         * doc/posix-functions/vsprintf.texi: Likewise.
16746         * doc/posix-functions/dprintf.texi: Undo last commit.
16747         * doc/posix-functions/vdprintf.texi: Likewise.
16748
16749 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16750
16751         tests: port test-fdutimensat.c to Solaris 8
16752         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16753         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16754         On Solaris 8, it fails with errno == ENOSYS, because there is no
16755         futimens (so it can't use the fd), and there is no lutimens (so it
16756         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16757
16758         vsnprintf: make more consistent with snprintf; doc fixes
16759
16760         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16761         the byte count return problem was promoted from the snprintf-posix
16762         to the snprintf module.
16763         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16764         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16765         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16766         * tests/test-snprintf.c (main): Check the byte count returned.
16767         * tests/test-vsnprintf.c (main): Likewise.
16768
16769 2010-12-23  Eric Blake  <eblake@redhat.com>
16770
16771         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16772         * modules/sigpipe (License): Relax license.
16773
16774 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16775
16776         doc: document Solaris printf bug with large float precisions
16777         * doc/posix-functions/dprintf.texi (dprintf):
16778         * doc/posix-functions/fprintf.texi (fprintf):
16779         * doc/posix-functions/printf.texi (printf):
16780         * doc/posix-functions/snprintf.texi (snprintf):
16781         * doc/posix-functions/sprintf.texi (sprintf):
16782         * doc/posix-functions/vdprintf.texi (vdprintf):
16783         * doc/posix-functions/vfprintf.texi (vfprintf):
16784         * doc/posix-functions/vprintf.texi (vprintf):
16785         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16786         * doc/posix-functions/vsprintf.texi (vsprintf):
16787         Mention that these functions mishandle large floating point
16788         precisions on Solaris 10.  The same bug is also present in Solaris
16789         8, and I assume earlier.  This causes "cd gnulib-tests; make
16790         check" to fail on Solaris 8 (and I assume, later) when building
16791         the latest coreutils, in test-vasprintf-posix's call to
16792         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
16793         the wide flavors (e.g., wprintf) so this patch just updates the
16794         documentation for the narrow ones.
16795
16796         test-posixtm.c: add two tests
16797         * tests/test-posixtm.c: Add two tests, to highlight the
16798         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
16799         around this bug; this is merely to document it.
16800
16801 2010-12-22  Bruno Haible  <bruno@clisp.org>
16802
16803         getlogin_r: Work around portability problem on OSF/1.
16804         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
16805         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
16806         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
16807         test for a truncated result.
16808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
16809         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
16810         * modules/getlogin_r (Depends-on): Add memchr.
16811         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
16812
16813 2010-12-22  Bruno Haible  <bruno@clisp.org>
16814
16815         ptsname: Avoid test failure on OSF/1 5.1.
16816         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
16817         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
16818         (same_slave): New function.
16819         (main): Use it to compare ptsname's result with the expected file name.
16820
16821 2010-12-22  Bruno Haible  <bruno@clisp.org>
16822
16823         Port extended stdio modules to HP NonStop Kernel.
16824         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
16825         macros.
16826         * lib/fbufmode.c: Update comments.
16827         * lib/fflush.c: Likewise.
16828         * lib/fpurge.c: Likewise.
16829         * lib/freadable.c: Likewise.
16830         * lib/freadahead.c: Likewise.
16831         * lib/freading.c: Likewise.
16832         * lib/freadptr.c: Likewise.
16833         * lib/freadseek.c: Likewise.
16834         * lib/fseeko.c: Likewise.
16835         * lib/fseterr.c: Likewise.
16836         * lib/fwritable.c: Likewise.
16837         * lib/fwriting.c: Likewise.
16838         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16839
16840 2010-12-22  Bruno Haible  <bruno@clisp.org>
16841
16842         ttyname_r: Work around bug on OSF/1 5.1.
16843         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
16844         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
16845         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
16846         present.
16847         * lib/ttyname_r.c (ttyname_r): Update comments.
16848
16849 2010-12-22  Bruno Haible  <bruno@clisp.org>
16850
16851         round: Implement result sign according to IEEE 754.
16852         * lib/round.c (MIN, MINUS_ZERO): New macros.
16853         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
16854         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
16855         * tests/test-round-ieee.c (main): Likewise.
16856         * tests/test-roundl-ieee.c (main): Likewise.
16857
16858         trunc: Implement result sign according to IEEE 754.
16859         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
16860         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
16861         * tests/test-trunc2.c: Include minus-zero.h.
16862         (MINUS_ZERO): New macro.
16863         (trunc_reference): Keep in sync with lib/trunc.c.
16864         * tests/test-truncf2.c: Include minus-zero.h.
16865         (MINUS_ZERO): New macro.
16866         (truncf_reference): Keep in sync with lib/trunc.c.
16867         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
16868         * tests/test-trunc-ieee.c (main): Likewise.
16869         * tests/test-truncl-ieee.c (main): Likewise.
16870
16871         ceil: Implement result sign according to IEEE 754.
16872         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
16873         (FUNC): Return -0.0 for -1 < x < 0.
16874         * tests/test-ceil2.c: Include minus-zero.h.
16875         (MINUS_ZERO): New macro.
16876         (ceil_reference): Keep in sync with lib/ceil.c.
16877         * tests/test-ceilf2.c: Include minus-zero.h.
16878         (MINUS_ZERO): New macro.
16879         (ceilf_reference): Keep in sync with lib/ceil.c.
16880         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
16881         * tests/test-ceil-ieee.c (main): Likewise.
16882         * tests/test-ceill-ieee.c (main): Likewise.
16883
16884         floor: Implement result sign according to IEEE 754.
16885         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
16886         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
16887         * tests/test-floorf2.c (floorf_reference): Likewise.
16888         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
16889         * tests/test-floor-ieee.c (main): Likewise.
16890         * tests/test-floorl-ieee.c (main): Likewise.
16891
16892 2010-12-22  Bruno Haible  <bruno@clisp.org>
16893
16894         getaddrinfo: Update doc.
16895         * doc/posix-functions/gai_strerror.texi: Return type is also different
16896         on AIX and HP-UX.
16897
16898 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16899
16900         getaddrinfo, inet_ntop: Update doc for Solaris.
16901         * doc/posix-functions/gai_strerror.texi: Return type is also an
16902         issue on Solaris 9 and earlier.
16903         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
16904         on Solaris 10 and earlier.
16905
16906 2010-12-21  Bruno Haible  <bruno@clisp.org>
16907
16908         New module 'roundl-ieee'.
16909         * modules/roundl-ieee: New file.
16910         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
16911         test whether roundl works according to ISO C 99 with IEC 60559.
16912         * m4/roundl-ieee.m4: New file.
16913         * modules/roundl-ieee-tests: New file.
16914         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
16915         * tests/test-roundl.c (main): Remove signbit tests.
16916         * modules/roundl-tests (Depends-on): Remove signbit.
16917         * doc/posix-functions/roundl.texi: Mention the new module.
16918
16919 2010-12-21  Bruno Haible  <bruno@clisp.org>
16920
16921         New module 'truncl-ieee'.
16922         * modules/truncl-ieee: New file.
16923         * modules/truncl-ieee-tests: New file.
16924         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
16925         * tests/test-truncl.c (main): Remove signbit tests.
16926         * modules/truncl-tests (Depends-on): Remove signbit.
16927         * doc/posix-functions/truncl.texi: Mention the new module.
16928
16929 2010-12-21  Bruno Haible  <bruno@clisp.org>
16930
16931         New module 'ceill-ieee'.
16932         * modules/ceill-ieee: New file.
16933         * modules/ceill-ieee-tests: New file.
16934         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
16935         * tests/test-ceill.c (main): Remove signbit tests.
16936         * modules/ceill-tests (Depends-on): Remove signbit.
16937         * doc/posix-functions/ceill.texi: Mention the new module.
16938
16939 2010-12-21  Bruno Haible  <bruno@clisp.org>
16940
16941         New module 'floorl-ieee'.
16942         * modules/floorl-ieee: New file.
16943         * modules/floorl-ieee-tests: New file.
16944         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
16945         * tests/test-floorl.c (main): Remove signbit tests.
16946         * modules/floorl-tests (Depends-on): Remove signbit.
16947         * doc/posix-functions/floorl.texi: Mention the new module.
16948
16949 2010-12-21  Bruno Haible  <bruno@clisp.org>
16950
16951         New module 'round-ieee'.
16952         * modules/round-ieee: New file.
16953         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
16954         whether round works according to ISO C 99 with IEC 60559.
16955         * m4/round-ieee.m4: New file.
16956         * modules/round-ieee-tests: New file.
16957         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
16958         * tests/test-round1.c (main): Remove signbit tests.
16959         * modules/round-tests (Depends-on): Remove 'signbit'.
16960         * doc/posix-functions/round.texi: Mention the new module.
16961
16962 2010-12-21  Bruno Haible  <bruno@clisp.org>
16963
16964         New module 'trunc-ieee'.
16965         * modules/trunc-ieee: New file.
16966         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
16967         whether trunc works according to ISO C 99 with IEC 60559.
16968         * m4/trunc-ieee.m4: New file.
16969         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
16970         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
16971         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
16972         * modules/trunc-ieee-tests: New file.
16973         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
16974         * tests/test-trunc1.c (main): Remove signbit tests.
16975         * modules/trunc-tests (Depends-on): Remove 'signbit'.
16976         * doc/posix-functions/trunc.texi: Mention the new module.
16977
16978 2010-12-21  Bruno Haible  <bruno@clisp.org>
16979
16980         New module 'ceil-ieee'.
16981         * modules/ceil-ieee: New file.
16982         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
16983         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
16984         ISO C 99 with IEC 60559.
16985         * m4/ceil-ieee.m4: New file.
16986         * modules/ceil (Files): Add lib/ceil.c.
16987         (Depends-on): Add 'float'.
16988         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16989         * lib/math.in.h (ceil): New declaration.
16990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
16991         REPLACE_CEIL.
16992         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
16993         * modules/ceil-ieee-tests: New file.
16994         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
16995         * tests/test-math-c++.cc: Check the signature of 'ceil'.
16996         * doc/posix-functions/ceil.texi: Mention the new module.
16997
16998 2010-12-21  Bruno Haible  <bruno@clisp.org>
16999
17000         New module 'floor-ieee'.
17001         * modules/floor-ieee: New file.
17002         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
17003         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
17004         ISO C 99 with IEC 60559.
17005         * m4/floor-ieee.m4: New file.
17006         * modules/floor (Files): Add lib/floor.c.
17007         (Depends-on): Add 'float'.
17008         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17009         * lib/math.in.h (floor): New declaration.
17010         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
17011         REPLACE_FLOOR.
17012         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
17013         * modules/floor-ieee-tests: New file.
17014         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
17015         * tests/test-math-c++.cc: Check the signature of 'floor'.
17016         * doc/posix-functions/floor.texi: Mention the new module.
17017
17018 2010-12-21  Bruno Haible  <bruno@clisp.org>
17019
17020         New module 'roundf-ieee'.
17021         * modules/roundf-ieee: New file.
17022         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
17023         test whether roundf works according to ISO C 99 with IEC 60559.
17024         * m4/roundf-ieee.m4: New file.
17025         * modules/roundf-ieee-tests: New file.
17026         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
17027         * tests/test-roundf1.c (main): Remove signbit tests.
17028         * modules/roundf-tests (Depends-on): Remove 'signbit'.
17029         * doc/posix-functions/roundf.texi: Mention the new module.
17030
17031 2010-12-21  Bruno Haible  <bruno@clisp.org>
17032
17033         New module 'truncf-ieee'.
17034         * modules/truncf-ieee: New file.
17035         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
17036         test whether truncf works according to ISO C 99 with IEC 60559.
17037         * m4/truncf-ieee.m4: New file.
17038         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
17039         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
17040         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
17041         * modules/truncf-ieee-tests: New file.
17042         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
17043         * tests/test-truncf1.c (main): Remove signbit tests.
17044         * modules/truncf-tests (Depends-on): Remove 'signbit'.
17045         * doc/posix-functions/truncf.texi: Mention the new module.
17046
17047 2010-12-21  Bruno Haible  <bruno@clisp.org>
17048
17049         New module 'ceilf-ieee'.
17050         * modules/ceilf-ieee: New file.
17051         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
17052         test whether ceilf works according to ISO C 99 with IEC 60559.
17053         * m4/ceilf-ieee.m4: New file.
17054         * modules/ceilf-ieee-tests: New file.
17055         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
17056         * tests/test-ceilf1.c (main): Remove signbit tests.
17057         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
17058         * doc/posix-functions/ceilf.texi: Mention the new module.
17059
17060 2010-12-21  Bruno Haible  <bruno@clisp.org>
17061
17062         New module 'floorf-ieee'.
17063         * modules/floorf-ieee: New file.
17064         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
17065         test whether floorf works according to ISO C 99 with IEC 60559.
17066         * m4/floorf-ieee.m4: New file.
17067         * modules/floorf-ieee-tests: New file.
17068         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
17069         * tests/test-floorf1.c (main): Remove signbit tests.
17070         * modules/floorf-tests (Depends-on): Remove 'signbit'.
17071         * doc/posix-functions/floorf.texi: Mention the new module.
17072
17073 2010-12-21  Bruno Haible  <bruno@clisp.org>
17074
17075         Support for minus zero in autoconf macros.
17076         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
17077         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
17078         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
17079         * tests/minus-zero.h: Update comments.
17080
17081 2010-12-21  Bruno Haible  <bruno@clisp.org>
17082
17083         Tests for module 'ceil'.
17084         * modules/ceil-tests: New file.
17085         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
17086         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
17087
17088 2010-12-21  Bruno Haible  <bruno@clisp.org>
17089
17090         Tests for module 'floor'.
17091         * modules/floor-tests: New file.
17092         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
17093         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
17094
17095 2010-12-21  Bruno Haible  <bruno@clisp.org>
17096
17097         math: Fix indentation.
17098         * lib/math.in.h (floorf): Fix indentation.
17099
17100 2010-12-21  Bruno Haible  <bruno@clisp.org>
17101
17102         Fix cross-compilation guesses on Solaris.
17103         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
17104         not match "solaris2.10".
17105         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17106         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
17107         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
17108
17109 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
17110
17111         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
17112         This fixes a problem observed with the latest coreutils snapshot
17113         that caused a test to fail on Solaris 8.  src/csplit.c's call
17114         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
17115         earlier, instead of returning the number of bytes that would have
17116         been generated; this causes csplit to incorrectly report memory
17117         exhaustion.
17118         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
17119         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
17120         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
17121         comments to match.
17122         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
17123         Fix typo in matching older versions of Solaris: "solaris2.10"
17124         is matched by the shell pattern "solaris2.[0-9]*".  This matters
17125         only for guessing while cross-compiling.
17126         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
17127
17128 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17129
17130         ftoastr: fix comment again
17131         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17132         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
17133         Also, simplify example a bit by using flags = 0.
17134
17135 2010-12-20  Bruno Haible  <bruno@clisp.org>
17136
17137         round*, trunc*: Update documentation regarding glibc.
17138         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
17139         * doc/posix-functions/round.texi: Likewise.
17140         * doc/posix-functions/roundl.texi: Likewise.
17141         * doc/posix-functions/truncf.texi: Likewise.
17142         * doc/posix-functions/trunc.texi: Likewise.
17143         * doc/posix-functions/truncl.texi: Likewise.
17144
17145 2010-12-20  Bruno Haible  <bruno@clisp.org>
17146
17147         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
17148         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
17149         * doc/posix-functions/round.texi: Likewise.
17150         * doc/posix-functions/roundl.texi: Likewise.
17151
17152 2010-12-20  Bruno Haible  <bruno@clisp.org>
17153
17154         ttyname_r: Add missing declaration on HP-UX 11.
17155         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
17156         HAVE_TTYNAME_R.
17157         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
17158         declared. Set HAVE_TTYNAME_R always.
17159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17160         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
17161         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
17162         HAVE_TTYNAME_R.
17163         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
17164
17165 2010-12-20  Bruno Haible  <bruno@clisp.org>
17166
17167         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
17168         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
17169         * doc/posix-functions/getlogin_r.texi: Likewise.
17170         * tests/test-getlogin.c: Include <errno.h>.
17171         (main): Avoid test failure on HP-UX 11.11.
17172         * tests/test-getlogin_r.c (main): Likewise.
17173
17174 2010-12-20  Bruno Haible  <bruno@clisp.org>
17175
17176         getlogin_r: Add missing declaration on HP-UX 11.
17177         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
17178         declared also when it exists as a function.
17179         * doc/posix-functions/getlogin_r.texi: Document this workaround.
17180
17181 2010-12-20  Bruno Haible  <bruno@clisp.org>
17182
17183         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
17184         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
17185         through wcrtomb.
17186
17187 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
17188
17189         ftoastr: fix comment
17190         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17191         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
17192
17193 2010-12-19  Bruno Haible  <bruno@clisp.org>
17194
17195         isnan: Ensure it is a macro.
17196         * lib/math.in.h (isnan): Define as a macro if not already a macro.
17197         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
17198         Solaris.
17199
17200 2010-12-19  Bruno Haible  <bruno@clisp.org>
17201
17202         ldexpl test: Fix link error on OSF/1 5.1.
17203         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
17204
17205 2010-12-19  Bruno Haible  <bruno@clisp.org>
17206
17207         wctype: Make it work in C++ mode on OSF/1 5.1.
17208         * lib/wctype.in.h (iswblank): Declare but not define here.
17209         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
17210         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
17211         * modules/wctype (Files): Add lib/iswblank.c.
17212
17213 2010-12-19  Bruno Haible  <bruno@clisp.org>
17214
17215         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
17216         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
17217         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
17218
17219 2010-12-19  Bruno Haible  <bruno@clisp.org>
17220
17221         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
17222         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
17223         _POSIX_PII_SOCKET.
17224         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
17225         * doc/posix-functions/recvfrom.texi: Likewise.
17226         * doc/posix-functions/send.texi: Likewise.
17227         * doc/posix-functions/sendto.texi: Likewise.
17228
17229 2010-12-19  Bruno Haible  <bruno@clisp.org>
17230
17231         tcgetsid: Add missing declaration on OSF/1 5.1.
17232         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
17233         HAVE_TCGETSID.
17234         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
17235         Don't set HAVE_TCGETSID.
17236         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
17237         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
17238         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
17239         HAVE_TCGETSID.
17240         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
17241
17242 2010-12-19  Bruno Haible  <bruno@clisp.org>
17243
17244         stdio: Fix problem with popen() declaration on OSF/1 5.1.
17245         * lib/stdio.in.h: During the include_next statement, let recursive
17246         includes of this file include only the system header file.
17247
17248 2010-12-19  Bruno Haible  <bruno@clisp.org>
17249
17250         iconv_open: Fix regression from 2010-12-04.
17251         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
17252         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
17253
17254 2010-12-19  Bruno Haible  <bruno@clisp.org>
17255
17256         stdbool test: Avoid a gcc warning.
17257         * tests/test-stdbool.c (main): Fail if e1 is false.
17258         Reported by Jim Meyering.
17259
17260 2010-12-19  Jim Meyering  <meyering@redhat.com>
17261
17262         setenv: restore to working order
17263         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
17264         mistakenly removed.
17265         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
17266         HAVE_SETENV.
17267         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
17268         HAVE_SETENV.
17269
17270 2010-12-19  Bruno Haible  <bruno@clisp.org>
17271
17272         Document some different function declarations on OSF/1 5.1.
17273         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
17274         * doc/posix-functions/inet_ntop.texi: Likewise.
17275         * doc/posix-functions/gethostname.texi: Likewise.
17276         * lib/unistd.in.h (gethostname): Update comment.
17277
17278 2010-12-19  Bruno Haible  <bruno@clisp.org>
17279
17280         doc: Mention vasprintf-posix module.
17281         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
17282         the 'vasprintf-posix' module.
17283         * doc/glibc-functions/vasprintf.texi: Likewise.
17284
17285 2010-12-19  Bruno Haible  <bruno@clisp.org>
17286
17287         unsetenv: Add missing declaration on OSF/1 5.1.
17288         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
17289         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
17290         Don't set HAVE_UNSETENV. In the test program, set _BSD.
17291         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
17292         not HAVE_UNSETENV.
17293         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
17294         HAVE_UNSETENV.
17295         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
17296
17297 2010-12-19  Bruno Haible  <bruno@clisp.org>
17298
17299         setenv: Add missing declaration on OSF/1 5.1.
17300         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
17301         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
17302         declared. Don't set HAVE_SETENV.
17303         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
17304         not HAVE_SETENV.
17305         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
17306         HAVE_SETENV.
17307         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
17308
17309 2010-12-19  Bruno Haible  <bruno@clisp.org>
17310
17311         nl_langinfo tests: Avoid gcc warning.
17312         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
17313
17314 2010-12-19  Bruno Haible  <bruno@clisp.org>
17315
17316         mknod: Avoid error in C++ mode on OSF/1 with GCC.
17317         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
17318         _GL_CXXALIAS_SYS.
17319
17320 2010-12-19  Bruno Haible  <bruno@clisp.org>
17321
17322         stdbool: Relax test.
17323         * tests/test-stdbool.c (e): Don't require that casts from a variable's
17324         address to 'bool' work in static initializer, for compilers other than
17325         GCC.
17326
17327 2010-12-19  Bruno Haible  <bruno@clisp.org>
17328
17329         ftello: Add missing declaration on OSF/1 5.1.
17330         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
17331         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
17332         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
17333         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
17334         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
17335
17336 2010-12-19  Bruno Haible  <bruno@clisp.org>
17337
17338         fseeko: Add missing declaration on OSF/1 5.1.
17339         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
17340         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
17341         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
17342         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
17343         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
17344
17345 2010-12-19  Bruno Haible  <bruno@clisp.org>
17346
17347         fchdir: Add missing declaration on OSF/1 5.1.
17348         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
17349         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
17350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
17351         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
17352         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
17353
17354 2010-12-19  Bruno Haible  <bruno@clisp.org>
17355
17356         relocatable-prog-wrapper: Separate from relocatable-prog.
17357         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
17358         uninstall-relocwrapper rule here.
17359         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
17360         Reported by Ian Beckwith <ianb@erislabs.net>.
17361
17362 2010-12-19  Bruno Haible  <bruno@clisp.org>
17363
17364         unistr/u8-mbsnlen: Add missing dependency.
17365         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
17366         Reported by Ian Beckwith <ianb@erislabs.net>.
17367
17368 2010-12-19  Bruno Haible  <bruno@clisp.org>
17369
17370         iconv: Make it possible again to use this module without 'iconv-h'.
17371         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
17372         if it is not defined.
17373         Reported by Ian Beckwith <ianb@erislabs.net>.
17374
17375 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17376
17377         acl: port to Solaris 8 when copying from tmpfs to ufs
17378         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
17379         error number.  Problem observed on Solaris 8 with latest
17380         coreutils, with "mv A B", where A is on a tmpfs file system and B
17381         is on a ufs file system.  This caused coreutils' mv/part-symlink
17382         test to fail.
17383
17384         tests: set fail=0 at start
17385         * tests/init.sh (setup_): Move fail=0 initialization here ...
17386         (mktempd_): ... from here, so that tests can rely on fail being
17387         set to 0 initially.  This fixes a problem in coreutils; see:
17388         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17389
17390 2010-12-18  Bruno Haible  <bruno@clisp.org>
17391
17392         memmem-simple: Stylistic changes.
17393         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17394         Fix preprocessor directive indentation.
17395
17396 2010-12-15  Pádraig Brady <P@draigBrady.com>
17397
17398         memmem, memmem-simple: reorganize and expand empty needle check
17399         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17400         functional checks to memmem-simple so that one has a fully functional
17401         memmem by using just this module.
17402         Restrict the performance only check to the memmem module.
17403         Also expand the empty needle check to ensure the correct
17404         pointer is returned, not just a non NULL pointer.
17405         * doc/glibc-functions/memmem.texi: Rearrange the portability
17406         documentation to correlate with the rearranged checks.
17407         Clarify exactly how the memmem and memmem-simple modules
17408         relate to each other.
17409
17410 2010-12-15  Pádraig Brady <P@draigBrady.com>
17411             Bruno Haible  <bruno@clisp.org>
17412
17413         Improve cross-compilation guesses for uClibc.
17414         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17415         that uClibc does not have the glibc bug.
17416         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17417         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17418
17419 2010-12-14  Eric Blake  <eblake@redhat.com>
17420
17421         configmake: provide fallbacks for oldest supported autotools
17422         * m4/configmake.m4: New file.
17423         * modules/configmake (Files): Ship it.
17424         (configure.ac): Use it to guarantee fallbacks.
17425
17426 2010-12-13  Pádraig Brady <P@draigBrady.com>
17427
17428         read-file: Improve handling of large files
17429         * lib/read-file.c (fread_file): Minimize realloc()s
17430         for regular files, and better manage sizes around SIZE_MAX.
17431
17432 2010-12-13  Eric Blake  <eblake@redhat.com>
17433
17434         cloexec, fcntl: relax license
17435         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17436         consent from all contributors.
17437         * modules/fcntl (License): Likewise.
17438
17439 2010-12-10  Bruno Haible  <bruno@clisp.org>
17440
17441         Tests for module 'pipe-posix'.
17442         * modules/pipe-posix-tests: New file.
17443         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17444
17445 2010-12-10  Bruno Haible  <bruno@clisp.org>
17446
17447         pipe-posix: Make it work in C++ mode.
17448         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17449         (pipe): Use common idiom, not a macro definition.
17450         * lib/pipe.c: New file.
17451         * m4/pipe.m4: New file.
17452         * modules/pipe-posix (Description): Enhance.
17453         (Files): Add lib/pipe.c, m4/pipe.m4.
17454         (configure.ac): Invoke gl_FUNC_PIPE.
17455         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17456         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17457         * tests/test-unistd-c++.cc: Check the signature of pipe.
17458
17459 2010-12-10  Bruno Haible  <bruno@clisp.org>
17460
17461         Rename module 'pipe' to 'spawn-pipe'.
17462         * modules/spawn-pipe: New file, renamed from modules/pipe.
17463         (Files, configure.ac, Makefile.am): Update.
17464         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17465         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17466         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17467         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17468         "spawn-pipe.h" instead of "pipe.h".
17469         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17470         to gl_SPAWN_PIPE.
17471         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17472         (Files, Makefile.am): Update.
17473         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17474         Update.
17475         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17476         Include "spawn-pipe.h" instead of "pipe.h".
17477         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17478         * lib/javacomp.c: Likewise.
17479         * lib/javaversion.c: Likewise.
17480         * lib/pipe-filter-gi.c: Likewise.
17481         * lib/pipe-filter-ii.c: Likewise.
17482         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17483         * modules/javacomp (Depends-on): Likewise.
17484         * modules/javaversion (Depends-on): Likewise.
17485         * modules/pipe-filter-gi (Depends-on): Likewise.
17486         * modules/pipe-filter-ii (Depends-on): Likewise.
17487         * MODULES.html.sh (Executing programs): Update.
17488         * NEWS: Mention the change.
17489
17490 2010-12-10  Eric Blake  <eblake@redhat.com>
17491
17492         pipe-posix: new module
17493         * modules/pipe-posix: New file.
17494         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17495         (gl_UNISTD_H): Check for declaration.
17496         * modules/unistd (Makefile.am): Substitute it.
17497         * lib/unistd.in.h (pipe): Provide it for mingw.
17498         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17499         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17500
17501 2010-12-07  Bruno Haible  <bruno@clisp.org>
17502
17503         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17504         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17505         u8_strcmp_gnu.
17506         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17507
17508 2010-12-06  Bruno Haible  <bruno@clisp.org>
17509
17510         Update internal documentation.
17511         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17512
17513 2010-12-04  Bruno Haible  <bruno@clisp.org>
17514
17515         Put more information about failed tests into the test return codes.
17516         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17517         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17518         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17519         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17520         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17521         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17522         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17523         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17524         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17525         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17526         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17527         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17528         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17529         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17530         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17531         returns a bit mask.
17532         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17533         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17534         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17535         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17536         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17537         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17538         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17539         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17540         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17541         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17542         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17543         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17544         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17545         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17546         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17547         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17548         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17549         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17550         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17551         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17552         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17553         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17554         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17555         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17556         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17557         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17558         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17559         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17560         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17561         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17562         gl_PRINTF_PRECISION): Likewise.
17563         * m4/regex.m4 (gl_REGEX): Likewise.
17564         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17565         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17566         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17567         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17568         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17569         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17570         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17571         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17572         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17573         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17574         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17575         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17576         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17577         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17578         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17579         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17580         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17581         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17582         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17583         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17584         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17585         enumerated value.
17586         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17587
17588 2010-12-04  Bruno Haible  <bruno@clisp.org>
17589
17590         Update for Solaris 11 2010-11.
17591         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17592         Express, released in November 2010.
17593
17594 2010-12-04  Bruno Haible  <bruno@clisp.org>
17595
17596         nproc: Relax license.
17597         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17598         and Paul Eggert.
17599         Requested by Ludovic Courtès <ludo@gnu.org>.
17600
17601 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17602
17603         utimecmp: fine-grained src to nearby coarse-grained dest
17604
17605         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17606         and the source is on a file system with higher-resolution time
17607         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17608         not work, and the time stamps are close together, the algorithm to
17609         determine the exact resolution from the read-back mtime was buggy:
17610         it had a "!=" where it should have had an "==".  This bug has been
17611         in the code ever since it was introduced to gnulib.
17612         Problem reported by Dan Jacobson in
17613         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17614
17615 2010-11-30  Bruno Haible  <bruno@clisp.org>
17616
17617         strerror_r-posix: Fix autoconf test.
17618         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17619
17620 2010-11-28  Bruno Haible  <bruno@clisp.org>
17621             Paul Eggert  <eggert@cs.ucla.edu>
17622
17623         Tests for module 'getdomainname'.
17624         * modules/getdomainname-tests: New file.
17625         * tests/test-getdomainname.c: New file, based on
17626         tests/test-gethostname.c.
17627
17628 2010-11-28  Bruno Haible  <bruno@clisp.org>
17629             Paul Eggert  <eggert@cs.ucla.edu>
17630
17631         getdomainname: Use the system function when possible.
17632         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17633         (getdomainname): Replace if needed. Provide the declaration if it is
17634         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17635         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17636         (getdomainname): When the system has getdomainname, call the system
17637         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17638         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17639         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17640         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17641         the function if its second argument is of type 'int' or if it is found
17642         in libnsl.
17643         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17644         <sys/systeminfo.h> and sysinfo().
17645         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17646         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17647         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17648         HAVE_GETDOMAINNAME.
17649         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17650         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17651         * doc/glibc-functions/getdomainname.texi: Document the problems with
17652         the getdomainname declaration.
17653
17654 2010-11-28  Bruno Haible  <bruno@clisp.org>
17655
17656         sys_socket: Ensure ss_family field on AIX.
17657         * lib/sys_socket.in.h (ss_family): New macro definition.
17658         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17659         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17660         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17661         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17662         * modules/sys_socket (Makefile.am): Substitute
17663         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17664         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17665
17666 2010-11-27  Bruno Haible  <bruno@clisp.org>
17667
17668         readline: Improve configure output.
17669         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17670         "checking for readline..." result understandable.
17671
17672 2010-11-27  Bruno Haible  <bruno@clisp.org>
17673
17674         *printf-posix: Detect a bug on Solaris 10/x86.
17675         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17676         for floating-point output.
17677         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17678         directive.
17679         * tests/test-snprintf-posix.h (test_function): Likewise.
17680         * tests/test-sprintf-posix.h (test_function): Likewise.
17681         * tests/test-vasprintf-posix.c (test_function): Likewise.
17682         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17683         * doc/posix-functions/printf.texi: Likewise.
17684         * doc/posix-functions/snprintf.texi: Likewise.
17685         * doc/posix-functions/sprintf.texi: Likewise.
17686         * doc/posix-functions/vfprintf.texi: Likewise.
17687         * doc/posix-functions/vprintf.texi: Likewise.
17688         * doc/posix-functions/vsnprintf.texi: Likewise.
17689         * doc/posix-functions/vsprintf.texi: Likewise.
17690         * doc/glibc-functions/obstack_printf.texi: Likewise.
17691         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17692
17693 2010-11-27  Bruno Haible  <bruno@clisp.org>
17694
17695         Fix link error when module libunistring-optional is in use.
17696         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17697         * modules/striconveha-tests (Makefile.am): Likewise.
17698
17699 2010-11-27  Bruno Haible  <bruno@clisp.org>
17700
17701         regex: Mention link dependencies.
17702         * modules/regex (Link): New section.
17703         * modules/rpmatch (Link): Likewise.
17704         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17705
17706 2010-11-27  Bruno Haible  <bruno@clisp.org>
17707
17708         ftoastr: Fix compilation error on Solaris.
17709         * lib/ftoastr.c: Include <config.h>.
17710
17711 2010-11-27  Bruno Haible  <bruno@clisp.org>
17712
17713         getloadavg: Update documentation.
17714         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17715
17716 2010-11-27  Bruno Haible  <bruno@clisp.org>
17717
17718         sys_socket: Fix test whether the functions are declared.
17719         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17720         not <sys/select.h>.
17721
17722 2010-11-27  Bruno Haible  <bruno@clisp.org>
17723
17724         getpass: Make sure to get system declaration on some platforms.
17725         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17726         gl_USE_SYSTEM_EXTENSIONS.
17727         * modules/getpass (Depends-on): Add extensions.
17728
17729 2010-11-26  Bruno Haible  <bruno@clisp.org>
17730
17731         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17732         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17733         'iconv' module is present.
17734         (ICONV_CONST): New macro.
17735         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17736         ICONV_CONST.
17737         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17738         set ICONV_CONST.
17739         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17740         here.
17741         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17742         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17743         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17744         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17745         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17746         present.
17747
17748 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17749
17750         ftoastr: comment fix
17751         * lib/ftoastr.c: "little" -> "little or no" in comment
17752
17753 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17754
17755         stdint: port to GCC 4.3 + OSX + Octave
17756         On this platform, stdint.h is buggy and defines int64_t to long
17757         long int.  The replacement defined it to long int, causing
17758         problems with C++ style name mangling.  Instead, trust the system
17759         definition if INT64_MAX is defined, and likewise for the unsigned
17760         variant.   Problem reported by Jarno Rajahalme in
17761         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17762         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17763         and don't mess with int64_t and INT64_MAX in this case.
17764         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17765
17766 2010-11-24  Bruno Haible  <bruno@clisp.org>
17767
17768         doc: Corrections regarding MacOS X 10.4 and 10.5.
17769         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17770         MacOS X.
17771         Reported by Simon Josefsson.
17772
17773 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17774
17775         Uninstall ".bin" files installed by relocwrapper.
17776         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17777         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17778         unless it is already there.
17779
17780 2010-11-21  Bruno Haible  <bruno@clisp.org>
17781
17782         Update for NetBSD 5.0.
17783         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17784         NetBSD; the test fails on NetBSD 5.0.
17785         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17786         about NetBSD.
17787
17788 2010-11-21  Bruno Haible  <bruno@clisp.org>
17789
17790         Update for HP-UX 11.23 and HP-UX 11.31.
17791         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17792         HP-UX.
17793
17794 2010-11-21  Bruno Haible  <bruno@clisp.org>
17795
17796         Update for MacOS X 10.5.
17797         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17798         MacOS X; the test fails on MacOS X 10.5.8.
17799         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17800         about MacOS X.
17801
17802 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
17803
17804         bootstrap: add bootstrap_sync option.
17805         See discussion at
17806         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
17807         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
17808         * build-aux/bootstrap: Accept --bootstrap-sync to update
17809         bootstrap if it is not identical to the local gnulib's
17810         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
17811         enable this by default.  Accept --no-bootstrap-sync to disable
17812         it.
17813
17814 2010-11-20  Bruno Haible  <bruno@clisp.org>
17815
17816         Ensure that <features.h> is included before __GLIBC__ is tested.
17817         * lib/printf-parse.h: Include <features.h>.
17818         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
17819         Reported by Mike Frysinger <vapier@gentoo.org>.
17820
17821         Ensure that <features.h> is included before __GLIBC__ is tested.
17822         * lib/wchar.in.h: Include <features.h>.
17823         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
17824         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
17825         Reported by Mike Frysinger <vapier@gentoo.org>.
17826
17827         Ensure that <features.h> is included before __GLIBC__ is tested.
17828         * lib/arpa_inet.in.h: Include <features.h>.
17829         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
17830         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
17831         Reported by Mike Frysinger <vapier@gentoo.org>.
17832
17833         Ensure that <features.h> is included before __GLIBC__ is tested.
17834         * build-aux/link-warning.h: Include <features.h>.
17835         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
17836         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
17837         Reported by Mike Frysinger <vapier@gentoo.org>.
17838
17839         Ensure that <features.h> is included before __GLIBC__ is tested.
17840         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
17841         Reported by Mike Frysinger <vapier@gentoo.org>.
17842
17843 2010-11-20  Bruno Haible  <bruno@clisp.org>
17844
17845         memmem: Fix autoconf test.
17846         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
17847
17848 2010-11-20  Bruno Haible  <bruno@clisp.org>
17849
17850         Port to uClibc.
17851         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
17852         * lib/fcntl.in.h: Likewise.
17853         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
17854         * lib/mbrtowc.c (mbrtowc): Likewise.
17855         * lib/relocatable.c (find_shared_library_fullname): Likewise.
17856         * lib/strerror_r.c: Likewise.
17857         * lib/unistr/u8-strnlen.c: Likewise.
17858         * lib/vasnprintf.c (decimal_point_char): Likewise.
17859         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17860         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17861         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17862         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
17863         * tests/test-sigaction.c (handler, main): Likewise.
17864         * lib/freading.h: Treat uClibc like a non-glibc platform.
17865         * lib/freading.c: Likewise.
17866         * lib/gettext.h: Likewise.
17867         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
17868         Likewise.
17869         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
17870         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
17871         * lib/propername.c (proper_name_utf8): Likewise.
17872         * lib/spawn.in.h: Likewise.
17873         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
17874         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
17875         mem_cd_iconveh_internal): Likewise.
17876         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
17877         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17878         strstr, strcasestr): Likewise.
17879         * lib/unicodeio.c (unicode_to_mb): Likewise.
17880         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
17881         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
17882         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
17883         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
17884         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
17885         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
17886         * lib/unistr/u8-stpncpy.c: Likewise.
17887         * lib/vasnprintf.c (VASNPRINTF): Likewise.
17888         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
17889         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17890         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17891         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
17892         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
17893         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
17894         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
17895         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17896         Likewise.
17897         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17898         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17899         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17900         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17901         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17902         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17903         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17904         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17905         * tests/test-getopt.h (OPTIND_MIN): Likewise.
17906         * tests/test-striconveha.c (main): Likewise.
17907         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17908         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
17909         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
17910         * doc/posix-functions/getline.texi: Likewise.
17911         Reported by Mike Frysinger <vapier@gentoo.org>.
17912
17913 2010-11-20  Bruno Haible  <bruno@clisp.org>
17914
17915         nproc: Fix condition.
17916         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
17917         HAVE_PTHREAD_AFFINITY_NP.
17918
17919 2010-11-20  Bruno Haible  <bruno@clisp.org>
17920
17921         Fix a comment.
17922         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
17923
17924 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
17925
17926         ftoastr: don't assume snprintf
17927         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
17928         Implement a subset of snprintf here, by using sprintf safely.
17929         * modules/ftoastr (Depends-on): Remove snprintf.
17930
17931 2010-11-19  Jim Meyering  <meyering@redhat.com>
17932
17933         test-rename.h: fix compilation failure
17934         * tests/test-rename.h (test_rename): Add omitted "}".
17935
17936 2010-11-17  Jim Meyering  <meyering@redhat.com>
17937
17938         maint.mk: add a URL discussing the no-@acronym policy
17939         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
17940
17941 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
17942
17943         ftoastr: depend on snprintf, improve comments
17944         * lib/ftoastr.c: Also mention Loitsch's draft.
17945         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
17946         needed in the current implementation, but it might simplify
17947         speeding up the code later.
17948         * modules/ftoastr: Depend on snprintf; this improves portability.
17949         Suggested by Bruno Haible in the same email.
17950
17951         ftoastr: port to hosts lacking strtof and strtold
17952         Problem reported by Bruno Haible in
17953         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
17954         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
17955         environment and strtold (and presumably strtof) are not available.
17956         * modules/ftoastr (Files): Add m4/c-strtod.m4.
17957         (configure.ac): Require gl_C99_STRTOLD.
17958
17959 2010-11-18  Bruno Haible  <bruno@clisp.org>
17960
17961         c-strtold: Avoid link error on AIX 7.
17962         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
17963         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
17964         (gl_C_STRTOLD): Test whether strtold_l exists.
17965         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17966
17967 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17968
17969         intprops: new macro INT_BITS_STRLEN_BOUND
17970         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
17971         ftoastr.h.  This exposes an internal of intprops.h that was formerly
17972         not exposed.  Also, it uses a slightly tighter bound than before;
17973         though this makes no practical difference, we might as well be as
17974         tight as we easily can.
17975
17976         ftoastr: new module, for lossless conversion of floats to short strings
17977         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
17978         * modules/ftoastr: New files.
17979
17980 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
17981
17982         bootstrap: port to Solaris sed
17983         * build-aux/bootstrap (get_version): Port to Solaris sed.
17984         See Ralf Wildenhues's note in
17985         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
17986
17987 2010-11-14  Jim Meyering  <meyering@redhat.com>
17988
17989         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
17990         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
17991         and move definition closer to sole use.
17992
17993 2010-11-13  Jim Meyering  <meyering@redhat.com>
17994
17995         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
17996         Now we require at least autoconf-2.59, which means the work-around
17997         is no longer needed.
17998         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
17999         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18000         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
18001         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18002         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18003
18004 2010-11-13  Bruno Haible  <bruno@clisp.org>
18005
18006         rename, renameat: Avoid test failures at NFS mounted locations.
18007         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
18008         functions.
18009         (test_rename): Use assert_nonexistent.
18010         * tests/test-rename.c: Include <dirent.h>.
18011         * tests/test-renameat.c: Likewise.
18012         Reported by Gary V. Vaughan <gary@gnu.org>.
18013
18014         rename, renameat: Document Linux bug with NFS
18015         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
18016         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
18017         * doc/posix-functions/renameat.texi: Likewise.
18018         Suggested by Eric Blake.
18019
18020 2010-11-13  Bruno Haible  <bruno@clisp.org>
18021
18022         rename test: Add comments.
18023         * tests/test-rename.h (test_rename): Add structure and comments.
18024
18025 2010-11-13  Eric Blake  <eblake@redhat.com>
18026
18027         maintainer-makefile: cover a few more files
18028         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
18029         scripts generated within C files, for libvirt.
18030
18031 2010-11-13  Bruno Haible  <bruno@clisp.org>
18032
18033         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
18034         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
18035         character, return the number of bytes that belong together, not always
18036         1.
18037         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
18038         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
18039         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
18040         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
18041         number of bytes of an invalid character.
18042         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
18043         (main): Invoke it.
18044         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
18045         results.
18046         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
18047         malformed byte sequences.
18048         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
18049         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
18050         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
18051         Reported by Ben Pfaff and Paolo Bonzini.
18052
18053 2010-11-13  Bruno Haible  <bruno@clisp.org>
18054
18055         openat: Work around glibc bug with fchownat() and empty file names.
18056         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
18057         (gl_FUNC_FCHOWNAT): Invoke it.
18058         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
18059         * doc/posix-functions/fchownat.texi: Document the glibc bug.
18060         Reported by Gary V. Vaughan <gary@gnu.org>.
18061
18062 2010-11-13  Bruno Haible  <bruno@clisp.org>
18063
18064         openat: Ensure autoconf macro ordering.
18065         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
18066         gl_USE_SYSTEM_EXTENSIONS.
18067         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
18068
18069 2010-11-13  Bruno Haible  <bruno@clisp.org>
18070
18071         Update comments.
18072         * lib/unistr/u8-check.c: Update file name in comments.
18073         * lib/unistr/u8-mblen.c: Likewise.
18074         * lib/unistr/u8-prev.c: Likewise.
18075         * lib/unistr/u8-strmblen.c: Likewise.
18076         * lib/unistr/u8-strmbtouc.c: Likewise.
18077
18078 2010-11-13  Jim Meyering  <meyering@redhat.com>
18079
18080         tests: avoid test failure on Solaris 10 due to lack of PATH export
18081         * tests/test-update-copyright.sh: Don't forget to export PATH.
18082
18083         init.sh: ensure that IFS is defined, just in case...
18084         * tests/init.sh (setup_): Ensure that IFS is defined,
18085         so that saving and restoring it works as expected.  This
18086         appears to be useful at least for an old version of dash
18087         from a long time ago (RH 6).  See here for details:
18088         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
18089
18090         maint.mk: tighten "test a == b" check
18091         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
18092         test to files that contain something like #!/bin/sh.
18093         Without this, coreutils would get two false positives in
18094         the comments of C source files.
18095
18096 2010-11-12  Eric Blake  <eblake@redhat.com>
18097
18098         bootstrap: fix typo in previous attempt
18099         * build-aux/bootstrap (buildreq): Correct the grouping.
18100         Reported by Paul Eggert.
18101
18102         maintainer-makefile: prohibit test x == x
18103         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
18104         Based on a report by Matthias Bolte.
18105
18106         bootstrap: allow FreeBSD gzip
18107         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
18108         which has no '.' and goes to stderr.
18109         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
18110         Reported by Matthias Bolte.
18111
18112         maintainer-makefile: check for i18n setup
18113         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
18114         will likely work.
18115
18116 2010-11-12  Bruno Haible  <bruno@clisp.org>
18117
18118         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
18119         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
18120         * lib/nanosleep.c (nanosleep): Likewise.
18121
18122 2010-11-11  Bruno Haible  <bruno@clisp.org>
18123
18124         fcntl-h: Fix for use of C++ on glibc systems.
18125         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18126         also on glibc systems in C++ mode.
18127         Reported by Gary V. Vaughan <gary@gnu.org>.
18128
18129 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18130
18131         mknod: avoid false failure with dash
18132         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
18133
18134 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18135
18136         unlink: Fix "is it should" typo in diagnostic.
18137         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
18138         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
18139
18140 2010-11-11  Bruno Haible  <bruno@clisp.org>
18141
18142         Tests for module 'strerror_r-posix'.
18143         * modules/strerror_r-posix-tests: New file.
18144         * tests/test-strerror_r.c: New file.
18145         * tests/test-string-c++.cc: Check the signature of strerror_r.
18146
18147         New module 'strerror_r-posix'.
18148         * lib/string.in.h (strerror_r): New declaration.
18149         * lib/strerror_r.c: New file.
18150         * m4/strerror_r.m4: New file.
18151         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
18152         of strerror_r.
18153         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
18154         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18155         * modules/strerror_r-posix: New file.
18156         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
18157         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18158         * doc/posix-functions/strerror_r.texi: Mention the new module and the
18159         portability problems.
18160
18161 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
18162
18163         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
18164         line is also considered for output. Quoted function name in shell
18165         command, so temporary files for functions like MyClass::operator()
18166         are removed correctly without errors.
18167
18168 2010-11-09  Bruno Haible  <bruno@clisp.org>
18169
18170         * doc/posix-functions/strerror.texi: List more failing platforms.
18171
18172         * doc/posix-functions/strerror.texi: Add a comment.
18173
18174 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18175
18176         fdopendir: fix bug on MacOS X when low on file descriptors
18177
18178         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
18179         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
18180         All callers changed.
18181         (fdopendir): Invoke save_cwd at the top level, not after using
18182         multiple dup() calls to use up file descriptors.  Then retry
18183         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
18184         less than the maximum number of open file descriptors, because
18185         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
18186         on Mac OS X 10.6.4 for tar 1.24
18187         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
18188         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
18189         and for tar 1.25
18190         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
18191
18192 2010-11-07  Bruno Haible  <bruno@clisp.org>
18193
18194         vasnprintf: Support I flag on glibc systems.
18195         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
18196         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
18197         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
18198         snprintf function.
18199         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
18200         glibc systems.
18201         * tests/test-vasnprintf-posix3.c: New file.
18202         * modules/vasnprintf-posix-tests (Files): Add it.
18203         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
18204
18205 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18206
18207         [html] Fix copy/paste bug: Use unique name for compiler warnings.
18208         * MODULES.html.sh: For compiler warnings, use name
18209         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
18210
18211 2010-11-05  Eric Blake  <eblake@redhat.com>
18212
18213         ceil, floor: avoid spurious failure with icc
18214         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
18215         [denormals-as-zero] when optimizing without -mieee-fp option.
18216         * tests/test-floorf2.c (floorf_reference): Likewise.
18217         * tests/test-ceilf1.c (dummy): New function.
18218         (main): Use it to outsmart icc's optimization.
18219         * tests/test-floorf1.c (dummy, main): Likewise.
18220
18221         tests: require working signbit
18222         * modules/ceilf-tests (Depends-on): Add signbit.
18223         * modules/ceill-tests (Depends-on): Likewise.
18224         * modules/floorf-tests (Depends-on): Likewise.
18225         * modules/floorl-tests (Depends-on): Likewise.
18226         * modules/round-tests (Depends-on): Likewise.
18227         * modules/roundf-tests (Depends-on): Likewise.
18228         * modules/roundl-tests (Depends-on): Likewise.
18229         * modules/trunc-tests (Depends-on): Likewise.
18230         * modules/truncf-tests (Depends-on): Likewise.
18231         * modules/truncl-tests (Depends-on): Likewise.
18232
18233         strtod: work around icc bug
18234         * lib/strtod.c (minus_zero): Define to working value.
18235         (strtod): Use it to avoid icc bug.
18236
18237         copysign: enhance tests
18238         * modules/copysign-tests (Files): Add minus-zero.h.
18239         * tests/test-copysign.c (main): Also test zeros.
18240
18241 2010-11-04  Eric Blake  <eblake@redhat.com>
18242
18243         ceil, floor, round, trunc: enhance tests of -0
18244         * tests/test-ceilf1.c (main): Ensure correct sign of result.
18245         * tests/test-ceill.c (main): Likewise.
18246         * tests/test-floorf1.c (main): Likewise.
18247         * tests/test-floorl.c (main): Likewise.
18248         * tests/test-round1.c (main): Likewise.
18249         * tests/test-roundf1.c (main): Likewise.
18250         * tests/test-roundl.c (main): Likewise.
18251         * tests/test-trunc1.c (main): Likewise.
18252         * tests/test-truncf1.c (main): Likewise.
18253         * tests/test-truncl.c (main): Likewise.
18254
18255 2010-11-04  Eric Blake  <eblake@redhat.com>
18256
18257         frexp, tests: work around ICC bug with -zero
18258         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
18259         works with more compilers.
18260         * tests/minus-zero.h: New file.
18261         * modules/ceilf-tests (Files): Include it.
18262         * modules/ceill-tests (Files): Likewise.
18263         * modules/floorf-tests (Files): Likewise.
18264         * modules/floorl-tests (Files): Likewise.
18265         * modules/frexp-nolibm-tests (Files): Likewise.
18266         * modules/frexp-tests (Files): Likewise.
18267         * modules/frexpl-nolibm-tests (Files): Likewise.
18268         * modules/frexpl-tests (Files): Likewise.
18269         * modules/isnan-tests (Files): Likewise.
18270         * modules/isnand-nolibm-tests (Files): Likewise.
18271         * modules/isnand-tests (Files): Likewise.
18272         * modules/isnanf-nolibm-tests (Files): Likewise.
18273         * modules/isnanf-tests (Files): Likewise.
18274         * modules/isnanl-nolibm-tests (Files): Likewise.
18275         * modules/isnanl-tests (Files): Likewise.
18276         * modules/round-tests (Files): Likewise.
18277         * modules/roundf-tests (Files): Likewise.
18278         * modules/roundl-tests (Files): Likewise.
18279         * modules/ldexpl-tests (Files): Likewise.
18280         * modules/signbit-tests (Files): Likewise.
18281         * modules/snprintf-posix-tests (Files): Likewise.
18282         * modules/sprintf-posix-tests (Files): Likewise.
18283         * modules/strtod-tests (Files): Likewise.
18284         * modules/trunc-tests (Files): Likewise.
18285         * modules/truncf-tests (Files): Likewise.
18286         * modules/truncl-tests (Files): Likewise.
18287         * modules/vsnprintf-posix-tests (Files): Likewise.
18288         * modules/vsprintf-posix-tests (Files): Likewise.
18289         * modules/vasnprintf-posix-tests (Files): Likewise.
18290         * modules/vasprintf-posix-tests (Files): Likewise.
18291         * tests/test-ceilf1.c (main): Use it.
18292         * tests/test-ceill.c (main): Likewise.
18293         * tests/test-floorf1.c (main): Likewise.
18294         * tests/test-floorl.c (main): Likewise.
18295         * tests/test-frexp.c (main): Likewise.
18296         * tests/test-frexpl.c (main): Likewise.
18297         * tests/test-isnan.c (main): Likewise.
18298         * tests/test-isnand.h (main): Likewise.
18299         * tests/test-isnanf.h (main): Likewise.
18300         * tests/test-isnanl.h (main): Likewise.
18301         * tests/test-ldexpl.c (main): Likewise.
18302         * tests/test-round.c (main): Likewise.
18303         * tests/test-roundf.c (main): Likewise.
18304         * tests/test-roundl.c (main): Likewise.
18305         * tests/test-signbit.c (test_signbitf, test_signbitd)
18306         (test_signbitl): Likewise.
18307         * tests/test-snprintf-posix.h (test_function): Likewise.
18308         * tests/test-sprintf-posix.h (test_function): Likewise.
18309         * tests/test-strtod.c (main): Likewise.
18310         * tests/test-trunc1.c (main): Likewise.
18311         * tests/test-truncf1.c (main): Likewise.
18312         * tests/test-truncl.c (main): Likewise.
18313
18314         isnanl: work around icc bug
18315         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
18316
18317 2010-11-03  Eric Blake  <eblake@redhat.com>
18318
18319         tests: fix compiler warnings
18320         * tests/test-getopt.h (test_getopt): Fix condition.
18321         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18322         * tests/test-pipe2.c (main): Likewise.
18323         * tests/test-quotearg-simple.c (main): Avoid icc warning.
18324
18325         utimens: fix broken m4 test
18326         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
18327
18328 2010-10-28  Bruno Haible  <bruno@clisp.org>
18329
18330         posix_spawn*, getdtablesize: Relax license.
18331         * modules/posix_spawn (License): Change to LGPLv2+.
18332         * modules/posix_spawnp (License): Likewise.
18333         * modules/posix_spawn-internal (License): Likewise.
18334         * modules/posix_spawnattr_init (License): Likewise.
18335         * modules/posix_spawnattr_getflags (License): Likewise.
18336         * modules/posix_spawnattr_setflags (License): Likewise.
18337         * modules/posix_spawnattr_getpgroup (License): Likewise.
18338         * modules/posix_spawnattr_setpgroup (License): Likewise.
18339         * modules/posix_spawnattr_getschedparam (License): Likewise.
18340         * modules/posix_spawnattr_setschedparam (License): Likewise.
18341         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
18342         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
18343         * modules/posix_spawnattr_getsigdefault (License): Likewise.
18344         * modules/posix_spawnattr_setsigdefault (License): Likewise.
18345         * modules/posix_spawnattr_getsigmask (License): Likewise.
18346         * modules/posix_spawnattr_setsigmask (License): Likewise.
18347         * modules/posix_spawnattr_destroy (License): Likewise.
18348         * modules/posix_spawn_file_actions_init (License): Likewise.
18349         * modules/posix_spawn_file_actions_addclose (License): Likewise.
18350         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
18351         * modules/posix_spawn_file_actions_addopen (License): Likewise.
18352         * modules/posix_spawn_file_actions_destroy (License): Likewise.
18353         * modules/getdtablesize (License): Likewise.
18354         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
18355
18356 2010-10-26  Bruno Haible  <bruno@clisp.org>
18357
18358         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
18359         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
18360         Cygwin and mingw.
18361         Suggested by Eric Blake.
18362
18363 2010-10-26  Bruno Haible  <bruno@clisp.org>
18364
18365         stdio: Work around compilation error due to renameat() on Solaris 10.
18366         * lib/stdio.in.h: Include <unistd.h> on Solaris.
18367         * lib/renameat.c: Don't include <unistd.h> here.
18368         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
18369         Reported by Paul Eggert and Eric Blake.
18370
18371 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
18372
18373         renameat: port to Solaris 10, which declares renameat in unistd.h
18374
18375         * lib/renameat.c: Include unistd.h before stdio.h, because
18376         Solaris 10 declares renameat in unistd.h.  Problem encountered
18377         when building GNU tar 1.24 on Solaris 10.
18378
18379 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18380
18381         fdopendir: fix C89 compilation
18382         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18383         compilers.
18384
18385 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18386
18387         inttostr: simplify by removing unnecessary redundancy
18388         * lib/anytostr.c: Don't include verify.h.
18389         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18390         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18391         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18392         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18393         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18394         Likewise.
18395         * modules/inttostr (Depends-on): Remove 'verify'.
18396
18397 2010-10-23  Bruno Haible  <bruno@clisp.org>
18398
18399         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18400         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18401         Reported by Eric Blake.
18402
18403 2010-10-23  Bruno Haible  <bruno@clisp.org>
18404
18405         Tests: Fix LOCALE_JA on MirBSD 10.
18406         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18407         to an UTF-8 locale.
18408         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18409         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18410         Reported by Eric Blake.
18411
18412 2010-10-21  Bruno Haible  <bruno@clisp.org>
18413
18414         nl_langinfo test: Avoid test failure on NetBSD 5.
18415         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18416         Reported by Eric Blake.
18417
18418 2010-10-21  Eric Blake  <eblake@redhat.com>
18419
18420         c-stack: work around libsigsegv 2.8 bug
18421         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18422         overflow on at least PowerPC64.
18423
18424 2010-10-17  Bruno Haible  <bruno@clisp.org>
18425
18426         userspec: Drop redundant file.
18427         * modules/userspec (Files): Remove lib/inttostr.h.
18428
18429 2010-10-17  Bruno Haible  <bruno@clisp.org>
18430
18431         nl_langinfo tests: Silence some warnings.
18432         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18433         Reported by Jim Meyering.
18434
18435 2010-10-17  Bruno Haible  <bruno@clisp.org>
18436
18437         Make use of GCC's attribute __alloc_size__.
18438         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18439         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18440         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18441         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18442         __alloc_size__.
18443         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18444         Suggested by Jim Meyering.
18445
18446 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18447
18448         bootstrap: anchor .gitignore entries.
18449         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18450         with...
18451         (insert_vc_ignore): ... this new function, which prepends `/' to
18452         all .gitignore entries before passing them to
18453         insert_sorted_if_absent.
18454
18455 2010-10-16  Bruno Haible  <bruno@clisp.org>
18456
18457         nextafter: Fix configure check.
18458         * modules/nextafter (configure.ac): Correct expected prototype.
18459
18460 2010-10-16  Bruno Haible  <bruno@clisp.org>
18461
18462         termios: Update documentation.
18463         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18464
18465 2010-10-16  Bruno Haible  <bruno@clisp.org>
18466
18467         tests: Make them compile with TinyCC.
18468         * tests/test-strstr.c (main): Remove parentheses around array
18469         initializer.
18470
18471 2010-10-15  Eric Blake  <eblake@redhat.com>
18472
18473         ignore-value: make header idempotent
18474         * lib/ignore-value.h: Add double-inclusion guards.
18475         Reported by Stefan Berger.
18476
18477 2010-10-15  Jim Meyering  <meyering@redhat.com>
18478
18479         GNUmakefile: handle "stable" target, not "major"
18480         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18481         lists in maint.mk and announce-gen.  Without this, "make stable"
18482         would fail to ensure that $(VERSION) is up to date.
18483
18484 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18485
18486         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18487         & co.
18488
18489 2010-10-14  Bruno Haible  <bruno@clisp.org>
18490
18491         vasnprintf: Don't set errno to 0.
18492         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18493         block that sets it to 0.
18494         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18495
18496 2010-10-14  Bruno Haible  <bruno@clisp.org>
18497
18498         socketlib: Fix.
18499         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18500         gl_PREREQ_SYS_H_WINSOCK2.
18501         Reported by Ian Beckwith <ianb@erislabs.net>.
18502
18503 2010-10-13  Jim Meyering  <meyering@redhat.com>
18504
18505         test-select-stdin.c: avoid warn_unused_result warnings
18506         * tests/test-select-stdin.c: Include "macros.h".
18507         ASSERT that read and fflush succeed.
18508
18509 2010-10-13  Jim Meyering  <meyering@redhat.com>
18510
18511         git-version-gen: do require git-VC'd files in cwd
18512         * build-aux/git-version-gen: Reject a git version string
18513         if there are no commits associated with the current directory.
18514         This avoids an unlikely false-positive (unrelated dir whose parent
18515         repository also contains a tag matching v*), as pointed out
18516         by Giuseppe Scrivano in
18517         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18518
18519 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18520
18521         argv-iter: omit nonconforming declaration
18522         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18523         enum arg_iter_err declaration, which doesn't conform to C99.
18524         Solaris 10 cc warns about this.
18525
18526 2010-10-13  Eric Blake  <eblake@redhat.com>
18527
18528         termios: fix compilation on mingw
18529         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18530         (gl_TERMIOS_H): Adjust it on mingw.
18531         * modules/termios (Makefile.am): Substitute new key.
18532         * lib/termios.in.h (includes): Make include_next conditional.
18533         * doc/posix-headers/termios.texi (termios.h): Update
18534         documentation.
18535         Reported by Daniel P. Berrange.
18536
18537 2010-10-13  Jim Meyering  <meyering@redhat.com>
18538
18539         git-version-gen: don't require that .git/ be in the current dir
18540         * build-aux/git-version-gen: Adjust this script so that it works
18541         when run from any working directory beneath the top-level .git/-
18542         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18543         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18544
18545         test-select: avoid warn_unused_result warnings
18546         * tests/test-select.c: Include "macros.h".
18547         ASSERT that each call to read, write, and pipe succeeds.
18548         While not technically required, also check each "close".
18549         * modules/select-tests (Files): Add tests/macros.h.
18550
18551         test-symlinkat: remove declaration of unused local
18552         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18553
18554         test-inttostr: avoid shadowing warnings
18555         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18556         and use malloc rather than the stack for the same reason as
18557         mentioned in the comment justifying the other allocation.
18558
18559 2010-10-11  Bruno Haible  <bruno@clisp.org>
18560
18561         stdlib: Allow multiple gnulib generated replacements to coexist.
18562         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18563         Reported by Sam Steingold <sds@gnu.org>.
18564
18565 2010-10-11  Jim Meyering  <meyering@redhat.com>
18566
18567         fix a documentation typo
18568         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18569
18570 2010-10-11  Eric Blake  <eblake@redhat.com>
18571
18572         futimens: work around Solaris 11 bug
18573         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18574         * tests/test-futimens.h (test_futimens): Enhance, rather than
18575         weaken test.
18576         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18577
18578 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18579
18580         Indentation.
18581         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18582         higher-level operators more to the left.
18583
18584 2010-10-11  Jim Meyering  <meyering@redhat.com>
18585
18586         test-futimens: avoid unwarranted test failure on Solaris 5.11
18587         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18588         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18589         because it tries to dereference the NULL name argument.
18590
18591 2010-10-11  Bruno Haible  <bruno@clisp.org>
18592
18593         Indentation.
18594         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18595         indentation.
18596
18597 2010-10-11  Jim Meyering  <meyering@redhat.com>
18598
18599         spawn.in.h: make indentation consistent with parentheses
18600         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18601         Make indentation consistent with parentheses.
18602
18603 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18604
18605         Fix mismatched parens in previous commit
18606         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18607         parens.
18608
18609 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18610
18611         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18612
18613         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18614         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18615         * lib/malloca.c: Include "verify.h".
18616         (verify1): Remove, replacing with a verify call.
18617         * lib/relocwrapper.c (verify1): Likewise.
18618         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18619         Likewise.
18620         * modules/malloca (Depends-on): Add 'verify'.
18621         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18622         * modules/vasnprintf (Depends-on): Add 'verify'.
18623         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18624         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18625         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18626         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18627         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18628         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18629         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18630
18631         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18632
18633         Formerly the style was sometimes 2*X - 1, because the C standard
18634         was wrongly thought to disallow ?: in integral constant expressions.
18635         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18636         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18637         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18638         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18639         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18640         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18641         verify that time_t cannot be floating.
18642
18643 2010-10-08  Eric Blake  <eblake@redhat.com>
18644
18645         time: enforce recent POSIX ruling that time_t is integral
18646         * lib/time.in.h (__time_t_must_be_integral): Detect any
18647         problematic systems, allowing the rest of gnulib to assume POSIX.
18648
18649 2010-10-08  Jim Meyering  <meyering@redhat.com>
18650
18651         fdopendir: fix a bug on systems lacking openat and /proc support
18652         OpenBSD 4.7 is one such system.  The most noticeable effect was
18653         failure of any application making nontrivial use of fts: rm, du,
18654         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18655           ./rm: traversal failed: `a': Bad file descriptor
18656         Debugging that, you see that even though FD 6 was closed just
18657         prior to the opendir call in fd_clone_opendir, its resulting
18658         dir->dd_fd was 8, rather than the expected value of 6:
18659
18660         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18661         93                close (fd);
18662         (gdb) n
18663         94                dir = fd_clone_opendir (dupfd);
18664         (gdb) n
18665         95                saved_errno = errno;
18666         (gdb) p dir->dd_fd
18667         $11 = 8
18668
18669         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18670         The problem is that on OpenBSD, fd_clone_opendir has to resort
18671         to using the old-style save/restore CWD mechanism, due to its
18672         lack of openat/proc support, and *that* would steal the FD (6)
18673         that opendir was supposed to use.
18674
18675         The fix is to squirrel away the desired FD so that save_cwd uses a
18676         different one, and then free the dest FD right before calling opendir.
18677         That guarantees opendir will use the required file descriptor.
18678
18679         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18680
18681 2010-10-08  Bruno Haible  <bruno@clisp.org>
18682
18683         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18684         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18685
18686 2010-10-08  Bruno Haible  <bruno@clisp.org>
18687
18688         nanosleep: Make replacement POSIX compliant.
18689         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18690         is out of range.
18691         Reported by Jim Meyering.
18692
18693 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18694
18695         bootstrap: add hook for altering gnulib.mk, for Bison
18696         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18697         the Bison bootstrapping process can rewrite file names and variables
18698         in this file before later parts of 'bootstrap' use the file.
18699         Bison wants to include lib/gnulib.mk from the top-level makefile,
18700         so it needs the file names in this file to be relative to the top
18701         level, not relative to lib; plus it needs variable names to be
18702         rewritten.
18703         (slurp): Use the new function.
18704
18705         bootstrap: reformat for readability
18706         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18707
18708 2010-10-08  Eric Blake  <eblake@redhat.com>
18709
18710         docs: update cygwin progress
18711         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18712         1.7.7.
18713         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18714         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18715         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18716         * doc/posix-functions/carg.texi (carg): Likewise.
18717         * doc/posix-functions/cargf.texi (cargf): Likewise.
18718         * doc/posix-functions/casin.texi (casin): Likewise.
18719         * doc/posix-functions/casinf.texi (casinf): Likewise.
18720         * doc/posix-functions/casinh.texi (casinh): Likewise.
18721         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18722         * doc/posix-functions/catan.texi (catan): Likewise.
18723         * doc/posix-functions/catanf.texi (catanf): Likewise.
18724         * doc/posix-functions/catanh.texi (catanh): Likewise.
18725         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18726         * doc/posix-functions/ccos.texi (ccos): Likewise.
18727         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18728         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18729         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18730         * doc/posix-functions/cexp.texi (cexp): Likewise.
18731         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18732         * doc/posix-functions/cimag.texi (cimag): Likewise.
18733         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18734         * doc/posix-functions/clog.texi (clog): Likewise.
18735         * doc/posix-functions/clogf.texi (clogf): Likewise.
18736         * doc/posix-functions/conj.texi (conj): Likewise.
18737         * doc/posix-functions/conjf.texi (conjf): Likewise.
18738         * doc/posix-functions/cpow.texi (cpow): Likewise.
18739         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18740         * doc/posix-functions/cproj.texi (cproj): Likewise.
18741         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18742         * doc/posix-functions/creal.texi (creal): Likewise.
18743         * doc/posix-functions/crealf.texi (crealf): Likewise.
18744         * doc/posix-functions/csin.texi (csin): Likewise.
18745         * doc/posix-functions/csinf.texi (csinf): Likewise.
18746         * doc/posix-functions/csinh.texi (csinh): Likewise.
18747         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18748         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18749         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18750         * doc/posix-functions/ctan.texi (ctan): Likewise.
18751         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18752         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18753         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18754         * doc/posix-headers/complex.texi (complex.h): Likewise.
18755
18756 2010-10-07  Jim Meyering  <meyering@redhat.com>
18757
18758         parse-datetime: avoid compilation failure on OpenBSD 4.7
18759         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18760         This works around a compilation failure on OpenBSD 4.7:
18761         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18762
18763 2010-10-07  Eric Blake  <eblake@redhat.com>
18764
18765         docs: update cygwin progress
18766         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18767         1.7.6.
18768         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18769         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18770         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18771         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18772         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18773         Likewise.
18774         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18775         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18776         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18777         Likewise.
18778         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18779         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18780         Likewise.
18781         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18782         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18783         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18784         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18785         Likewise.
18786         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18787         Likewise.
18788         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18789
18790         docs: update parse-datetime history
18791         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18792         documentation of this function's history and alternatives.
18793
18794         cygwin: use more robust version check
18795         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
18796         exclude an eventual cygwin 1.9.1.
18797         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18798         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18799         (gl_FUNC_STRCASESTR): Likewise.
18800         Reported by Bruno Haible.
18801
18802 2010-10-06  Bruno Haible  <bruno@clisp.org>
18803
18804         string, sys_select: Avoid #including large headers unless necessary.
18805         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
18806         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
18807         OSF/1, BeOS, Haiku.
18808         Reported by Jim Meyering.
18809
18810 2010-10-05  Eric Blake  <eblake@redhat.com>
18811
18812         memmem, strstr, strcasestr: fix bug with long periodic needle
18813         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
18814         periodic needle having false positive.
18815         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
18816         and cygwin 1.7.7.
18817         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
18818         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18819         (gl_FUNC_STRCASESTR): Likewise.
18820         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18821         * tests/test-memmem.c (main): Expose the bug.
18822         * tests/test-strcasestr.c (main): Likewise.
18823         * tests/test-strstr.c (main): Likewise.
18824         * tests/test-c-strcasestr.c (main): Likewise.
18825         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
18826         * doc/posix-functions/strstr.texi (strstr): Likewise.
18827         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
18828         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
18829
18830 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18831
18832         parse-datetime: do some more renaming
18833         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
18834         parse_datetime, not get_date.  Mention the renaming.
18835         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
18836         in comments.
18837         * m4/bison.m4: Likewise.
18838
18839 2010-10-05  Eric Blake  <eblake@redhat.com>
18840
18841         parse-datetime: better name than get_date
18842         * NEWS: Reword the deprecation notice.
18843         * modules/get_date: Rename to modules/parse-datetime.
18844         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
18845         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
18846         * lib/get_date.y: Rename to lib/parse-datetime.y.
18847         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
18848         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
18849         * doc/getdate.texi: Provide fallback wrapper.
18850         * lib/getdate.h: Move guts, and wrap...
18851         * lib/parse-datetime.h: ...new file.
18852         * lib/parse-datetime.y (get_date): Rename...
18853         (parse_datetime): ...to this.
18854         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
18855         (gl_PARSE_DATETIME): ...to this.
18856         * doc/posix-functions/getdate.texi (get_date): Provide fallback
18857         documentation.
18858         * modules/getdate (Files): Provide fallback docs and header.
18859         (Notice, Depends-on): Update references.
18860         * tests/test-parse-datetime.c: Likewise.
18861         * DEPENDENCIES: Likewise.
18862         * MODULES.html.sh (Date and time <time.h>): Likewise.
18863         * doc/parse-datetime.texi (Date input formats)
18864         (Authors of parse_datetime): Likewise.
18865         * modules/parse-datetime (Files, configure.ac, Makefile.am)
18866         (Include): Likewise.
18867         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
18868         * gnulib-tool: Likewise.
18869         * m4/bison.m4 (gl_BISON): Likewise.
18870         Suggested by Bruno Haible.
18871
18872 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18873
18874         more ports to Solaris tr, which needs [] around ranges
18875         * gnulib-tool: Solaris tr needs [] around ranges.
18876         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18877         * tests/test-pipe-filter-gi1.c (main): Likewise.
18878         * tests/test-pipe-filter-ii1.c (main): Likewise.
18879
18880 2010-10-05  Eric Blake  <eblake@redhat.com>
18881
18882         bootstrap: fix Solaris regression
18883         * build-aux/bootstrap (check_versions): Solaris tr still needs []
18884         around ranges.
18885         Reported by Pádraig Brady.
18886
18887         bootstrap: work with pkg-config
18888         * build-aux/bootstrap (check_versions): Also transliterate - in
18889         prerequisite name.
18890         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
18891         prerequisites that were already found, to avoid confusion.
18892         Reported by Justin Clift.
18893
18894         faccessat: remove unused wrappers
18895         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
18896         presence of these wrappers dragged in -lgen on Solaris.
18897         Reported by Clemens Brogi; fix suggested by Paul Eggert.
18898
18899 2010-10-05  Jim Meyering  <meyering@redhat.com>
18900
18901         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
18902         * Makefile (sc_pragma_columns): New syntax-check rule.
18903
18904 2010-10-04  Bruno Haible  <bruno@clisp.org>
18905
18906         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
18907         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
18908         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
18909         Reported by Bruce Korb and Eric Blake.
18910
18911 2010-10-04  Bruno Haible  <bruno@clisp.org>
18912
18913         threadlib: Make option --with-libpth-prefix work.
18914         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
18915         use $LIBPTH, not just -lpth.
18916
18917 2010-10-04  Bruno Haible  <bruno@clisp.org>
18918
18919         Avoid line length limitation from HP NonStop system header files.
18920         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
18921         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
18922         * lib/ctype.in.h: Likewise.
18923         * lib/dirent.in.h: Likewise.
18924         * lib/errno.in.h: Likewise.
18925         * lib/fcntl.in.h: Likewise.
18926         * lib/float.in.h: Likewise.
18927         * lib/getopt.in.h: Likewise.
18928         * lib/iconv.in.h: Likewise.
18929         * lib/inttypes.in.h: Likewise.
18930         * lib/langinfo.in.h: Likewise.
18931         * lib/locale.in.h: Likewise.
18932         * lib/math.in.h: Likewise.
18933         * lib/netdb.in.h: Likewise.
18934         * lib/netinet_in.in.h: Likewise.
18935         * lib/poll.in.h: Likewise.
18936         * lib/pthread.in.h: Likewise.
18937         * lib/pty.in.h: Likewise.
18938         * lib/sched.in.h: Likewise.
18939         * lib/se-selinux.in.h: Likewise.
18940         * lib/search.in.h: Likewise.
18941         * lib/signal.in.h: Likewise.
18942         * lib/spawn.in.h: Likewise.
18943         * lib/stdarg.in.h: Likewise.
18944         * lib/stddef.in.h: Likewise.
18945         * lib/stdint.in.h: Likewise.
18946         * lib/stdio.in.h: Likewise.
18947         * lib/stdlib.in.h: Likewise.
18948         * lib/string.in.h: Likewise.
18949         * lib/strings.in.h: Likewise.
18950         * lib/sys_file.in.h: Likewise.
18951         * lib/sys_ioctl.in.h: Likewise.
18952         * lib/sys_select.in.h: Likewise.
18953         * lib/sys_socket.in.h: Likewise.
18954         * lib/sys_stat.in.h: Likewise.
18955         * lib/sys_time.in.h: Likewise.
18956         * lib/sys_times.in.h: Likewise.
18957         * lib/sys_utsname.in.h: Likewise.
18958         * lib/sys_wait.in.h: Likewise.
18959         * lib/sysexits.in.h: Likewise.
18960         * lib/termios.in.h: Likewise.
18961         * lib/time.in.h: Likewise.
18962         * lib/unistd.in.h: Likewise.
18963         * lib/wchar.in.h: Likewise.
18964         * lib/wctype.in.h: Likewise.
18965         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
18966         * modules/ctype (Makefile.am): Likewise.
18967         * modules/dirent (Makefile.am): Likewise.
18968         * modules/errno (Makefile.am): Likewise.
18969         * modules/fcntl-h (Makefile.am): Likewise.
18970         * modules/float (Makefile.am): Likewise.
18971         * modules/getopt-posix (Makefile.am): Likewise.
18972         * modules/iconv-h (Makefile.am): Likewise.
18973         * modules/inttypes (Makefile.am): Likewise.
18974         * modules/langinfo (Makefile.am): Likewise.
18975         * modules/locale (Makefile.am): Likewise.
18976         * modules/math (Makefile.am): Likewise.
18977         * modules/netdb (Makefile.am): Likewise.
18978         * modules/netinet_in (Makefile.am): Likewise.
18979         * modules/poll-h (Makefile.am): Likewise.
18980         * modules/pthread (Makefile.am): Likewise.
18981         * modules/pty (Makefile.am): Likewise.
18982         * modules/sched (Makefile.am): Likewise.
18983         * modules/search (Makefile.am): Likewise.
18984         * modules/selinux-h (Makefile.am): Likewise.
18985         * modules/signal (Makefile.am): Likewise.
18986         * modules/spawn (Makefile.am): Likewise.
18987         * modules/stdarg (Makefile.am): Likewise.
18988         * modules/stddef (Makefile.am): Likewise.
18989         * modules/stdint (Makefile.am): Likewise.
18990         * modules/stdio (Makefile.am): Likewise.
18991         * modules/stdlib (Makefile.am): Likewise.
18992         * modules/string (Makefile.am): Likewise.
18993         * modules/strings (Makefile.am): Likewise.
18994         * modules/sys_file (Makefile.am): Likewise.
18995         * modules/sys_ioctl (Makefile.am): Likewise.
18996         * modules/sys_select (Makefile.am): Likewise.
18997         * modules/sys_socket (Makefile.am): Likewise.
18998         * modules/sys_stat (Makefile.am): Likewise.
18999         * modules/sys_time (Makefile.am): Likewise.
19000         * modules/sys_times (Makefile.am): Likewise.
19001         * modules/sys_utsname (Makefile.am): Likewise.
19002         * modules/sys_wait (Makefile.am): Likewise.
19003         * modules/sysexits (Makefile.am): Likewise.
19004         * modules/termios (Makefile.am): Likewise.
19005         * modules/time (Makefile.am): Likewise.
19006         * modules/unistd (Makefile.am): Likewise.
19007         * modules/wchar (Makefile.am): Likewise.
19008         * modules/wctype (Makefile.am): Likewise.
19009
19010 2010-10-04  Bruno Haible  <bruno@clisp.org>
19011
19012         read-file tests: Avoid a test failure on NonStop Kernel.
19013         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
19014         a regular file.
19015         Reported by Joachim Schmitz <schmitz@hp.com>.
19016
19017 2010-10-03  Bruno Haible  <bruno@clisp.org>
19018
19019         gnulib-tool: Fixes for --create-testdir with --libtool.
19020         * gnulib-tool (func_get_automake_snippet): Don't augment
19021         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
19022         an executable.
19023         (func_create_testdir): Handle module 'alloca' like func_import.
19024         Reported by Bruce Korb <bruce.korb@gmail.com>.
19025
19026 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
19027
19028         Avoid some lines longer than 80 characters.
19029         * lib/stdint.in.h: Break long comment lines.
19030         * lib/math.in.h: Likewise.
19031         (_GL_NUM_UINT_WORDS): New macro, for readability.
19032         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
19033         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
19034         * lib/stdlib.in.h: Likewise.
19035         * lib/spawn.in.h: Likewise.
19036         * lib/sys_socket.in.h: Update an URL.
19037         * lib/sys_stat.in.h: Break long line.
19038
19039 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
19040
19041         Improve pmccabe2html.
19042         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
19043         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
19044         when the sources change. Remove the line in the HTML about "Used
19045         ranges" (which implied that there might be other unused ranges),
19046         rename "Resume" to "Summary" (easier to understand for more users).
19047         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
19048         styles, and some unnecessary blank lines.
19049
19050 2010-10-03  Bruno Haible  <bruno@clisp.org>
19051             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
19052
19053         acl: Add support for ACLs on NonStop Kernel.
19054         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
19055         Check whether the function aclsort() exists.
19056         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
19057         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
19058         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19059         (acl_nontrivial [HAVE_ACLSORT]: New function.
19060         (file_has_acl): Implement for NonStop Kernel.
19061         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19062         (qset_acl): Implement for NonStop Kernel.
19063         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
19064         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19065         (main): Implement for NonStop Kernel.
19066         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
19067         Kernel. Handle this flavor.
19068         * tests/test-set-mode-acl.sh: Likewise.
19069         * tests/test-copy-acl.sh: Likewise.
19070         * tests/test-copy-file.sh: Likewise.
19071
19072 2010-10-03  Bruno Haible  <bruno@clisp.org>
19073
19074         Info about ACLs on NonStop Kernel.
19075         * doc/acl-resources.txt: Add info about NonStop Kernel.
19076         References by Joachim Schmitz <schmitz@hp.com>.
19077
19078 2010-10-02  Bruno Haible  <bruno@clisp.org>
19079
19080         Define missing EDQUOT on NonStop Kernel.
19081         * lib/errno.in.h (EDQUOT): Assign a value if missing.
19082         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
19083         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
19084         missing.
19085         * doc/posix-headers/errno.texi: Mention the NSK bug.
19086         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
19087         Reported by Joachim Schmitz <schmitz@hp.com>.
19088
19089 2010-10-02  Bruno Haible  <bruno@clisp.org>
19090
19091         Update doc for POSIX:2008.
19092         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
19093         Update URL of POSIX specification.
19094
19095 2010-10-02  Bruno Haible  <bruno@clisp.org>
19096
19097         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
19098         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
19099         from gnulib, not from Automake.
19100
19101 2010-10-02  Bruno Haible  <bruno@clisp.org>
19102
19103         New module 'system-posix'.
19104         * modules/system-posix: New file.
19105         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
19106         module is present.
19107         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19108         GNULIB_SYSTEM_POSIX.
19109         * modules/stdlib (Depends-on): Remove sys_wait.
19110         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
19111         * doc/posix-functions/system.texi: Mention the new module.
19112         * doc/posix-headers/stdlib.texi: Likewise.
19113         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
19114         define test_sys_wait_macros to a no-op.
19115         Reported by Sam Steingold <sds@gnu.org>.
19116
19117 2010-09-30  Bruno Haible  <bruno@clisp.org>
19118
19119         More renaming from 'getdate' to 'get_date'.
19120         * doc/get_date.texi: Renamed from doc/getdate.texi.
19121         * modules/get_date (Files): Update.
19122         * MODULES.html.sh (Date and time <time.h>): Update.
19123         * DEPENDENCIES: Update.
19124         * gnulib-tool: Update comment.
19125         * m4/bison.m4 (gl_BISON): Likewise.
19126         * m4/get_date.m4 (gl_GET_DATE): Likewise.
19127
19128 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
19129
19130         bootstrap: support ACLOCAL_FLAGS during aclocal
19131         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
19132         can add additional -I dir for third-party .m4 files.
19133
19134 2010-09-30  Eric Blake  <eblake@redhat.com>
19135
19136         bootstrap: use glibtoolize on MacOS
19137         * build-aux/bootstrap (check_versions): Convert libtool into
19138         libtoolize.
19139         (tool search): Move libtool check earlier, and look for
19140         glibtoolize for MacOS.
19141         (gnulib_tool_options): Auto-add --libtool when appropriate.
19142         Reported by Justin Clift.
19143
19144         poll: fix typo that broke test on MacOS
19145         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
19146         Reported by Justin Clift.
19147
19148         getdate: rename to get_date
19149         Note: getdate.h is not renamed, to minimize client impact.
19150         * modules/getdate: Mark obsolete.  Move old contents...
19151         * modules/get_date: ...to new module name.
19152         * modules/getdate-tests: Move...
19153         * modules/get_date-tests: ...here.
19154         * m4/getdate.m4: Move...
19155         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
19156         * lib/getdate.y: Move...
19157         * lib/get_date.y: ...here.
19158         * tests/test-getdate.c: Move...
19159         * tests/test-get_date.c: ...here.
19160         * doc/posix-functions/getdate.texi (getdate): Update name.
19161         * NEWS: Mention the change.
19162
19163 2010-09-29  Bruno Haible  <bruno@clisp.org>
19164
19165         Separate the module 'waitpid' from the module 'sys_wait'.
19166         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
19167         present.
19168         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
19169         gl_MODULE_INDICATOR_FOR_TESTS.
19170         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
19171         * modules/sys_wait (Depends-on): Remove waitpid.
19172         (Makefile.am): Substitute GNULIB_WAITPID.
19173         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
19174         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
19175         signature only if the 'waitpid' module is present.
19176         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
19177         * NEWS: Mention the change.
19178         * modules/grantpt (Depends-on): Add waitpid.
19179         * modules/wait-process (Depends-on): Likewise.
19180
19181 2010-09-29  Bruno Haible  <bruno@clisp.org>
19182
19183         More tests for module 'sys_wait'.
19184         * modules/sys_wait-c++-tests: New file.
19185         * tests/test-sys_wait-c++.cc: New file.
19186         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
19187         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19188
19189 2010-09-29  Bruno Haible  <bruno@clisp.org>
19190
19191         New module 'waitpid'.
19192         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
19193         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
19194         Don't include <process.h>.
19195         (waitpid): Declare only, using modern idiom.
19196         * m4/waitpid.m4: New file.
19197         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
19198         * modules/waitpid: New file.
19199         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
19200         (Makefile.am): Update.
19201         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19202
19203 2010-09-28  Bruno Haible  <bruno@clisp.org>
19204
19205         poll: Assume ANSI C.
19206         * lib/poll.c (poll): Use an ANSI C declaration.
19207
19208 2010-09-28  Bruno Haible  <bruno@clisp.org>
19209
19210         poll-h: Create poll.h on all platforms.
19211         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
19212         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
19213         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
19214         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
19215         (gl_REPLACE_POLL_H): Don't set POLL_H.
19216         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
19217         * modules/poll-h (Depends-on): Add include_next.
19218         (Makefile.am): Create poll.h unconditionally. Substitute also
19219         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
19220
19221 2010-09-28  Bruno Haible  <bruno@clisp.org>
19222
19223         Tests for module 'poll-h'.
19224         * modules/poll-h-c++-tests: New file.
19225         * tests/test-poll-h-c++.cc: New file.
19226
19227         Tests for module 'poll-h'.
19228         * modules/poll-h-tests: New file.
19229         * tests/test-poll-h.c: New file.
19230
19231 2010-09-28  Bruno Haible  <bruno@clisp.org>
19232
19233         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
19234         * modules/poll-h (Depends-on): Add 'extensions'.
19235
19236 2010-09-28  Bruno Haible  <bruno@clisp.org>
19237
19238         New module 'poll-h'.
19239         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
19240         (poll): Use modern idiom.
19241         * modules/poll-h: New file.
19242         * modules/poll (Files): Remove lib/poll.in.h.
19243         (Depends-on): Add poll-h.
19244         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
19245         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
19246         * m4/poll_h.m4: New file.
19247         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
19248         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
19249         and invoke gl_REPLACE_POLL_H.
19250         * lib/poll.c: Use common idiom.
19251         * tests/test-poll.c: Likewise.
19252         * doc/posix-headers/poll.texi: Mention the poll-h module.
19253         Suggested by Eric Blake.
19254
19255 2010-09-26  Bruno Haible  <bruno@clisp.org>
19256
19257         sys_wait: Implement WSTOPSIG.
19258         * lib/sys_wait.in.h (WSTOPSIG): New macro.
19259         Reported by Simon Josefsson.
19260
19261 2010-09-26  Simon Josefsson  <simon@josefsson.org>
19262
19263         stdlib, sys_wait: Avoid compilation error on mingw.
19264         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
19265
19266 2010-09-26  Bruno Haible  <bruno@clisp.org>
19267
19268         stdlib tests: Avoid code duplication.
19269         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
19270         * modules/sys_wait-tests (Files): Likewise.
19271         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
19272         * tests/test-stdlib.c: Include test-sys_wait.h.
19273         (main): Invoke test_sys_wait_macros.
19274         * tests/test-sys_wait.c: Include test-sys_wait.h.
19275         (main): Invoke test_sys_wait_macros.
19276
19277 2010-09-25  Simon Josefsson  <simon@josefsson.org>
19278
19279         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
19280         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
19281         sure Windows sockets are working before calling getaddrinfo.
19282         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
19283         * doc/gnulib.texi (Windows sockets): Fix typo.
19284
19285 2010-09-25  Bruno Haible  <bruno@clisp.org>
19286
19287         Tests for module 'regex-quote'.
19288         * modules/regex-quote-tests: New file.
19289         * tests/test-regex-quote.c: New file.
19290
19291         New module 'regex-quote'.
19292         * lib/regex-quote.h: New file.
19293         * lib/regex-quote.c: New file.
19294         * modules/regex-quote: New file.
19295         Suggested by Reuben Thomas <rrt@sc3d.org>.
19296
19297 2010-09-24  Bruno Haible  <bruno@clisp.org>
19298
19299         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
19300         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
19301
19302 2010-09-23  Bruno Haible  <bruno@clisp.org>
19303
19304         setenv: Relax license.
19305         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
19306         Blake.
19307         Requested by Eric Blake.
19308
19309 2010-09-22  Bruno Haible  <bruno@clisp.org>
19310
19311         termios: Relax license.
19312         * modules/termios (License): Change to LGPLv2+.
19313         Requested by Eric Blake.
19314
19315 2010-09-22  Bruno Haible  <bruno@clisp.org>
19316
19317         threadlib: Allow the package to change the default to 'no'.
19318         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
19319         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
19320         Reported by Paul Eggert.
19321
19322 2010-09-22  Pádraig Brady  <P@draigbrady.com>
19323             Bruno Haible  <bruno@clisp.org>
19324
19325         Fix endless loop in mbmemcasecoll.
19326         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
19327         byte.
19328         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
19329
19330 2010-09-22  Bruno Haible  <bruno@clisp.org>
19331
19332         Tests for module 'memcoll'.
19333         * modules/memcoll-tests: New file.
19334         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
19335
19336         memcoll, xmemcoll: Clarify size vs. length.
19337         * modules/memcoll.c (memcoll0): Clarify specification.
19338         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
19339         passed to collate_error.
19340
19341 2010-09-22  Bruno Haible  <bruno@clisp.org>
19342
19343         Tests for module 'memcasecmp'.
19344         * modules/memcasecmp-tests: New file.
19345         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
19346
19347 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19348
19349         * lib/pthread.in.h: Add split double-inclusion guard, and include
19350         system <pthread.h> if there is one.  Use @@-style as in other
19351         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
19352         pthread.h doesn't.
19353         (pthread_mutexattr_destroy, pthread_mutexattr_init):
19354         (pthread_mutexattr_settype, pthread_mutex_trylock):
19355         New static inline functions, if there's no system <pthread.h>.
19356         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
19357         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
19358         Approximate with mutexes if the system lacks spinlocks, as in
19359         MacOS.
19360         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
19361         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
19362         @@-style.  Check for spinlocks separately.
19363         (gl_PTHREAD_DEFAULTS): New macro.
19364         * modules/pthread: Redo to use a more typical style for in.h files.
19365
19366 2010-09-21  Eric Blake  <eblake@redhat.com>
19367
19368         net_if: enhance tests
19369         * tests/test-net_if.c (main): Move signature checks earlier.
19370         Print failures to stderr.
19371         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
19372         Document the bug that we do not yet fix.
19373
19374 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19375
19376         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
19377         about gnulib, not GSS.
19378
19379 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19380
19381         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19382         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19383         for Emacs.
19384         * build-aux/pmccabe2html: Make Makefile.am example code more
19385         cut-and-paste friendly.
19386
19387 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19388
19389         * tests/test-net_if.c: New file.
19390         * modules/net_if-tests: New file.
19391
19392 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19393
19394         pthread: add pthread_spin_destroy
19395         * lib/pthread.in.h (pthread_spin_destroy): New function.
19396
19397 2010-09-19  Bruno Haible  <bruno@clisp.org>
19398
19399         gnulib-tool: Fix --help output.
19400         * gnulib-tool (func_usage): Fix help message.
19401         Reported by Reuben Thomas <rrt@sc3d.org>.
19402
19403 2010-09-18  Jim Meyering  <meyering@redhat.com>
19404
19405         maint.mk: avoid unexpanded \n in two diagnostics
19406         * top/maint.mk (sc_prohibit_always_true_header_tests):
19407         Don't use a literal \n in a halt=... assignment.  It would not be
19408         expanded, and the two \n bytes would appear in the diagnostic output
19409         rather than the desired newline.  Use halt=$$(printf ... instead.
19410         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19411
19412 2010-09-18  Bruno Haible  <bruno@clisp.org>
19413
19414         netinet_in: Doc tweak.
19415         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19416         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19417
19418 2010-09-18  Jim Meyering  <meyering@redhat.com>
19419
19420         init.sh: correct an outdated comment
19421         * tests/init.sh (create_exe_shims_):  s/function/alias/
19422
19423         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19424         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19425         a file named "*.exe" is removed between the glob expansion and the
19426         processing of that oddly named file.
19427
19428 2010-09-17  Eric Blake  <eblake@redhat.com>
19429
19430         mirbsd: add some more support
19431         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19432         in BSD family.
19433         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19434         devices as OpenBSD.
19435         * m4/host-os.m4 (mirbsd): Add MirBSD.
19436
19437         tests: fix unportable assumption on sys/wait.h
19438         * tests/test-sys_wait.c (main): Relax test.
19439         * tests/test-stdlib.c (main): Likewise.
19440
19441         init.sh: accomodate directory with no .exes
19442         * tests/init.sh: Accomodate directory containing only scripts.
19443
19444         tests: avoid compiler warning
19445         * tests/test-stdlib.c (main): Use the variable.
19446
19447         fdutimens, fdutimensat: update signature, again
19448         * lib/utimens.h (gl_futimens): Delete, and move signature...
19449         (fdutimens): ...here.
19450         (fdutimensat): Rearrange signature.
19451         (lutimensat): Rename variable for clarity.
19452         * lib/fdutimensat.c (fdutimensat): Update signature.
19453         * lib/utimens.c (fdutimens): Likewise.
19454         (gl_futimens): Delete.
19455         (utimens, lutimens): Update callers.
19456         * lib/futimens.c (futimens): Likewise.
19457         * tests/test-fdutimensat.c: Likewise.
19458         * tests/test-utimens.c: Likewise.
19459         * tests/test-futimens.h: Update comment.
19460         * NEWS: Mention this.
19461         Suggested by Paul Eggert.
19462
19463 2010-09-17  Bruno Haible  <bruno@clisp.org>
19464
19465         Take over the maintenance of some older macros from Autoconf.
19466         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19467         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19468         GNU Autoconf.
19469         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19470         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19471
19472 2010-09-17  Eric Blake  <eblake@redhat.com>
19473
19474         fdutimensat: drop atflag validation
19475         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19476         with valid fd, to close a race scenario where futimens is
19477         unsupported and FILE was replaced by a symlink.
19478         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19479         accordingly.
19480         Suggested by Paul Eggert.
19481
19482 2010-09-16  Bruno Haible  <bruno@clisp.org>
19483
19484         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19485         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19486
19487 2010-09-16  Bruno Haible  <bruno@clisp.org>
19488
19489         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19490         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19491         login_tty exists.
19492         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19493
19494 2010-09-16  Bruno Haible  <bruno@clisp.org>
19495
19496         login_tty: Make the replacement code work on BSD systems.
19497         * lib/login_tty.c: Include <sys/ioctl.h>.
19498         (login_tty): Use ioctl TIOCSCTTY when available.
19499         * modules/login_tty (Depends-on): Add sys_ioctl.
19500         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19501
19502 2010-09-16  Bruno Haible  <bruno@clisp.org>
19503
19504         login_tty: Stricter unit test.
19505         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19506         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19507         and tcgetsid() after login_tty.
19508         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19509
19510 2010-09-16  Bruno Haible  <bruno@clisp.org>
19511
19512         New module 'tcgetsid'.
19513         * lib/tcgetsid.c: New file.
19514         * m4/tcgetsid.m4: New file.
19515         * modules/tcgetsid: New file.
19516         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19517         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19518         GNULIB_TCGETSID, HAVE_TCGETSID.
19519         * lib/termios.in.h: Include <sys/types.h>.
19520         (tcgetsid): New declaration.
19521         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19522         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19523         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19524         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19525
19526 2010-09-16  Bruno Haible  <bruno@clisp.org>
19527
19528         Tests for module 'termios'.
19529         * modules/termios-c++-tests: New file.
19530         * modules/termios-tests: New file.
19531         * tests/test-termios-c++.cc: New file.
19532         * tests/test-termios.c: New file.
19533
19534         New module 'termios'.
19535         * modules/termios: New file.
19536         * lib/termios.in.h: New file.
19537         * m4/termios_h.m4: New file.
19538         * doc/posix-headers/termios.texi: Mention the new module.
19539
19540 2010-09-16  Eric Blake  <eblake@redhat.com>
19541
19542         fdutimensat: add an atflag parameter
19543         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19544         * lib/utimens.h (fdutimensat): Update prototype.
19545         * tests/test-fdutimensat.c: Adjust test to match.
19546         * NEWS: Document the change.
19547         Suggested by Paul Eggert.
19548
19549 2010-09-16  Bruno Haible  <bruno@clisp.org>
19550
19551         Fix typos in comments.
19552         * lib/striconveh.h: Fix typo in comment.
19553         * lib/login_tty.c (login_tty): Likewise.
19554
19555 2010-09-15  Bruno Haible  <bruno@clisp.org>
19556
19557         stdlib: clarify MirBSD WEXITSTATUS bug
19558         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19559         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19560
19561 2010-09-15  Eric Blake  <eblake@redhat.com>
19562
19563         stdlib: work around MirBSD WEXITSTATUS bug
19564         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19565         * modules/stdlib (Depends-on): Add sys_wait.
19566         * tests/test-sys_wait.c (main): Enhance test.
19567         * tests/test-stdlib.c (main): Likewise.
19568         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19569
19570         docs: mention MacOS issue with WEXITSTATUS(constant)
19571         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19572         issue.
19573         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19574
19575         strnlen: add tests
19576         * modules/strnlen-tests: New file.
19577         * tests/test-strnlen.c: Likewise.
19578
19579 2010-09-14  Bruno Haible  <bruno@clisp.org>
19580
19581         unistr/base: Avoid link errors when module 'libunistring' is also used.
19582         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19583         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19584         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19585         Declare also when HAVE_LIBUNISTRING is set.
19586         Reported by Pádraig Brady <P@draigbrady.com>.
19587
19588 2010-09-14  Eric Blake  <eblake@redhat.com>
19589
19590         test-rawmemchr: make more robust
19591         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19592         (Depends-on, configure.ac): Add needed prerequisites to use it.
19593         * modules/memchr-tests (Files, Depends-on, configure.ac):
19594         Likewise, to avoid implicit reliance on memchr module prereqs.
19595         * tests/test-memchr.c (main): Ensure proper masking.
19596         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19597         reads.
19598
19599         memchr: detect glibc Alpha bug
19600         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19601         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19602         Alpha.
19603         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19604         * tests/test-memchr.c (main): Enhance test.
19605         Reported by Nelson H. F. Beebe.
19606
19607 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19608
19609         fts, getcwd, glob: audit for dirfd returning -1
19610         * lib/fts.c (opendir): Remove #define; no longer used.
19611         (opendirat): New arg PDIR_FD.  All callers changed.
19612         (fts_build, _opendir2): Use new opendirat to avoid the need for
19613         dirfd, or for checking whether dirfd returns a negative value.
19614         Don't use opendir; always use openat followed by fdopendir.
19615         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19616         it.
19617         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19618         returns -1 here.
19619         * modules/fts (Depends-on): Remove dirfd.
19620         * modules/getcwd (Depends-on): Likewise.
19621
19622 2010-09-13  Eric Blake  <eblake@redhat.com>
19623
19624         float: fix broken MirBSD header
19625         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19626         * doc/posix-headers/float.texi (float.h): Document it.
19627
19628 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19629
19630         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19631         * lib/fts.c (opendirat): New arg extra_flags.
19632         (__opendir2): Use it to avoid following symlinks when opening
19633         a directory, if symlinks are not supposed to be followed.  See
19634         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19635
19636         fdopendir: preserve argument fd before returning
19637         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19638         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19639         (fdopendir): Use them, arranging for FD to be open to the same
19640         directory that it was when it started.  (It might be temporarily
19641         closed while fdopendir is running, so this not thread- or
19642         signal-safe.)  Be careful to do the right thing even when file
19643         descriptors are scarce and dup fails with errno == EMFILE.  See
19644         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19645
19646 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19647
19648         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19649         * NEWS: Document change.
19650         * m4/regex.m4: Disable test for regoff_t size.
19651
19652 2010-09-13  Jim Meyering  <meyering@redhat.com>
19653
19654         fts: don't operate on an invalid file descriptor after failed dup
19655         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19656         negative file descriptor.
19657
19658 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19659
19660         savedir: add streamsavedir, deprecate fdsavedir
19661         * NEWS: Mention deprecation of fdsavedir.
19662         * lib/savedir.c (streamsavedir): New extern function, whose name
19663         ends in "savedir" to be consistent with the others.  This differs
19664         from savedirstream in that it doesn't close its argument.  The
19665         next version of GNU tar will use this instead of fdsavedir, to
19666         avoid some race conditions and conserve file descriptors.
19667         (savedirstream): Reimplement as a wrapper around streamsavedir.
19668         (fdsavedir): Add a comment deprecating this function.  As far as
19669         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19670         * lib/savedir.h (streamsavedir): New decl.
19671         (fdsavedir): Add a comment deprecating this.
19672
19673 2010-09-10  Bruno Haible  <bruno@clisp.org>
19674
19675         langinfo: Fix last commit.
19676         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19677         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19678         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19679
19680 2010-09-10  Bruno Haible  <bruno@clisp.org>
19681
19682         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19683         * lib/progreloc.c (O_EXEC): Define fallback.
19684
19685 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19686
19687         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19688         * NEWS: Document recent changes to fcntl-h.
19689         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19690         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19691         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19692         Similarly for O_SEARCH; this last was already true, but not documented.
19693         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19694         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19695         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19696         Likewise.
19697         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19698         is zero, not whether it is defined.
19699         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19700         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19701         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19702
19703 2010-09-10  Bruno Haible  <bruno@clisp.org>
19704
19705         langinfo, nl_langinfo: Fix for IRIX 5.3.
19706         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19707         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19708         HAVE_LANGINFO_YESEXPR.
19709         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19710         HAVE_LANGINFO_YESEXPR.
19711         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19712         HAVE_LANGINFO_T_FMT_AMPM is 0.
19713         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19714         HAVE_LANGINFO_YESEXPR is 0.
19715         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19716         NOEXPR.
19717         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19718         * doc/posix-functions/nl_langinfo.texi: Likewise.
19719         Reported by Eric Blake.
19720
19721 2010-09-10  Bruno Haible  <bruno@clisp.org>
19722
19723         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19724         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19725         on FreeBSD 8.0 and OpenBSD 4.6.
19726         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19727         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19728         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19729         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19730         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19731         ac_includes_default.
19732         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19733
19734 2010-09-09  Eric Blake  <eblake@redhat.com>
19735
19736         strsignal: work around NetBSD bug
19737         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19738         * lib/string.in.h (includes): Likewise.
19739         * doc/posix-functions/strsignal.texi (strsignal): Document the
19740         bug.
19741         Reported by Nelson H. F. Beebe.
19742
19743         gnulib-tool: work with NetBSD /bin/sh
19744         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19745         (func_get_description, func_get_comment, func_get_status)
19746         (func_get_notice, func_get_applicability, func_get_filelist)
19747         (func_get_dependencies, func_get_autoconf_early_snippet)
19748         (func_get_autoconf_snippet, func_get_automake_snippet)
19749         (func_get_include_directive, func_get_link_directive)
19750         (func_get_license, func_get_maintainer, func_import): Avoid
19751         shell syntax errors from parsing syntax extensions.
19752
19753 2010-09-09  Bruno Haible  <bruno@clisp.org>
19754
19755         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19756         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19757         a reliable way to determine whether the 'alias' command works.
19758
19759 2010-09-08  Jim Meyering  <meyering@redhat.com>
19760
19761         init.sh: penalize a set-x-impaired shell; don't disqualify it
19762         * tests/init.sh: Too many shells corrupt application stderr when
19763         you set -x, so we can't afford to disqualify them, since at least
19764         on Irix-6.5, that would disqualify all bourne shells.
19765         Instead, use a two-pass approach.
19766         On the first pass, try to find a shell that meets the stricter
19767         condition that set -x does not corrupt stderr.
19768         If no shell meets the stricter condition, retest each candidate
19769         shell, but without that extra condition.  Finally, when
19770         VERBOSE=yes is requested and set -x might cause trouble, simply
19771         issue a warning and refrain from enabling debug output.
19772
19773 2010-09-08  Eric Blake  <eblake@redhat.com>
19774
19775         unsetenv: fix OpenBSD bug
19776         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19777         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19778         documentation.
19779         Reported by Jim Meyering.
19780
19781         strtod: work around IRIX 6.5 bug
19782         * lib/strtod.c (strtod): Reparse number on shorter string if
19783         exponent parse was invalid.
19784         * tests/test-strtod.c (main): Add check for "0x1p 2".
19785         Reported by Tom G. Christensen.
19786
19787         getopt: optimize previous patch
19788         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19789         empty variable.  Speed up awk script.
19790         Reported by Paolo Bonzini.
19791
19792 2010-09-08  Jim Meyering  <meyering@redhat.com>
19793
19794         test.sh: disqualify shells for which set -x corrupts stderr
19795         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
19796         and OpenBSD 4.7.  They make it so with "set -x", environment settings
19797         appear in stderr output.  For example, this command:
19798             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
19799         prints "P=1" on those two systems:
19800
19801 2010-09-08  Bruno Haible  <bruno@clisp.org>
19802
19803         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19804         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
19805         commands, because some shells ignore redirections when there is an
19806         error in the command lookup.
19807         Reported by Eric Blake.
19808
19809 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
19810
19811         * lib/regex.h: Fix a mention of `regex_compile' (should be
19812         `re_compile_pattern').
19813         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
19814         (re_set_registers): Correct name of parameter in comment.
19815
19816         * doc/regex.texi: Add documentation for missing syntax flags.
19817         Remove commented-out documentation of defunct syntax option
19818         RE_NO_EMPTY_ALTS.
19819         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
19820         Add documentation of re_set_registers.
19821         Document trick to re-use a pattern buffer by setting fastmap manually.
19822         Update documentation of struct re_pattern_buffer per public members.
19823         Uncomment documentation of equivalence class operators and
19824         collating symbol operators, since they are now implemented,
19825         Explain leftmost-longest matching in relation to alternatives.
19826         Tidy documentation of substring matching.
19827         Remove POSIX documentation, which is done better in
19828         glibc, and refer the reader there. Keep BSD API documentation, as
19829         that is not readily available elsewhere.
19830
19831 2010-09-07  Eric Blake  <eblake@redhat.com>
19832
19833         getopt: handle POSIXLY_CORRECT set but not exported
19834         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
19835         export state of POSIXLY_CORRECT, due to bash set -o posix.
19836         Reported by Dustin J. Mitchell.
19837
19838 2010-09-05  Bruno Haible  <bruno@clisp.org>
19839
19840         gnulib-tool: Highlight the changed options.
19841         * gnulib-tool (func_usage): Display the --import, --add-import,
19842         --remove-import explanations in bold font.
19843
19844 2010-09-06  Karl Berry  <karl@gnu.org>
19845
19846         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
19847
19848 2010-09-05  Bruno Haible  <bruno@clisp.org>
19849
19850         uniwidth/width: Update comment.
19851         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
19852         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
19853
19854 2010-09-05  Bruno Haible  <bruno@clisp.org>
19855
19856         isinf, isnan: Relax license.
19857         * modules/isinf (License): Change from GPL to LGPL, with consent from
19858         Ben Pfaff.
19859         * modules/isnan (License): Likewise.
19860         Requested by Ludovic Courtès.
19861
19862 2010-09-04  Bruno Haible  <bruno@clisp.org>
19863
19864         gnulib-tool: Help migration from --import to --add-import or --update.
19865         * gnulib-tool: Emit a verbose error message when --import is used
19866         without any module name.
19867
19868 2010-09-04  Bruno Haible  <bruno@clisp.org>
19869
19870         Update doc about gnulib-tool.
19871         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
19872         'gnulib-tool --update' in more detail.
19873         Reported by Eric Blake.
19874
19875 2010-09-04  Bruno Haible  <bruno@clisp.org>
19876
19877         gnulib-tool: Change --import. New options --add/remove-import.
19878         * gnulib-tool: New options --add-import, --remove-import.
19879         (func_usage): Document them.
19880         (have_associative): Define always.
19881         (func_import): In import mode, don't merge the specified settings with
19882         the cached settings. Implement remove-import mode.
19883         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
19884         Explain when to use them versus --import.
19885         (Simple update): Use --add-import instead of --import.
19886         * NEWS: Mention the change.
19887
19888 2010-09-04  Bruno Haible  <bruno@clisp.org>
19889
19890         * doc/gnulib-tool.texi (Initial import): Update paragraph about
19891         separate gnulib.mk.
19892
19893 2010-09-04  Bruno Haible  <bruno@clisp.org>
19894
19895         gnulib-tool: Don't talk about CVS any more.
19896         * gnulib-tool (func_usage, func_import): Write "version control"
19897         instead of CVS.
19898
19899 2010-09-04  Jim Meyering  <meyering@redhat.com>
19900
19901         maint.mk: avoid obscure sc_copyright_check failure in coreutils
19902         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
19903         false positives (whose names may be ill-chosen) when searching
19904         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
19905         would cause a false-positive.
19906
19907         avoid coreutils "make distcheck" failure
19908         Coreutils tests with an absolute build directory name that contains
19909         a space.  Not quoting this directory name caused a failure.
19910         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
19911         * tests/test-vc-list-files-cvs.sh: Likewise.
19912
19913 2010-09-04  Bruno Haible  <bruno@clisp.org>
19914
19915         gnulib-tool: Avoid error when run in a package without Makefile.am.
19916         * gnulib-tool: When collecting the m4dirs in a package that does not
19917         have a Makefile.am, eliminate those directories that contain no
19918         gnulib-cache.m4. Fix expression that counts these directories.
19919
19920 2010-09-04  Bruno Haible  <bruno@clisp.org>
19921
19922         update-copyright test: Improve output when perl is missing or too old.
19923         * tests/test-update-copyright.sh: Move test of Perl version down after
19924         the test whether Perl exists. Provide an explanation relating Perl's
19925         error message to Automake's SKIP: message.
19926
19927 2010-09-04  Bruno Haible  <bruno@clisp.org>
19928
19929         Don't augment PATH in TESTS_ENVIRONMENT.
19930         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
19931         set abs_aux_dir instead of augmenting PATH.
19932         * modules/vc-list-files-tests (Makefile.am): Likewise.
19933         * tests/test-update-copyright.sh: Augment PATH here.
19934         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
19935         path_prepend_.
19936         * tests/test-vc-list-files-git.sh: Likewise.
19937
19938 2010-09-04  Jim Meyering  <meyering@redhat.com>
19939
19940         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
19941         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
19942
19943 2010-09-04  Bruno Haible  <bruno@clisp.org>
19944
19945         strdup: Fix compilation error in C++ mode.
19946         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
19947         the macro.
19948
19949 2010-09-04  Bruno Haible  <bruno@clisp.org>
19950
19951         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
19952         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
19953         macro into a function.
19954         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19955
19956 2010-09-04  Bruno Haible  <bruno@clisp.org>
19957
19958         Set PATH_SEPARATOR the same way autoconf does.
19959         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
19960         the value of PATH_SEPARATOR the same way autoconf-generated configure
19961         scripts do.
19962         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
19963         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19964
19965 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19966
19967         Set PATH_SEPARATOR the same way autoconf does.
19968         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
19969         the same way autoconf-generated configure scripts do.
19970         * posix-modules: Likewise.
19971
19972 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19973
19974         hash: fix safe_hasher const typo
19975         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
19976         const; otherwise, there is a type error later.
19977
19978 2010-09-02  Jim Meyering  <meyering@redhat.com>
19979
19980         test-update-copyright.sh: require perl 5.8.0
19981         * tests/test-update-copyright.sh: Require 5.8.0,
19982         which Tom G. Christensen has confirmed is adequate,
19983         while 5.6.1 is not.
19984
19985 2010-09-02  Eric Blake  <eblake@redhat.com>
19986
19987         tests: init.sh improvements for re-exec'ing with zsh
19988         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
19989         -vx through shell re-exec.
19990         Reported by Tom G. Christensen.
19991
19992         wctype: fix typo in previous commit
19993         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
19994         Reported by Ludovic Courtès.
19995
19996 2010-09-02  Jim Meyering  <meyering@redhat.com>
19997
19998         test-update-copyright.sh: skip test if Perl is too old
19999         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
20000         Reported by Tom G. Christensen.
20001
20002 2010-09-02  Bruno Haible  <bruno@clisp.org>
20003
20004         wctype: Avoid compilation error on IRIX 6.5.30.
20005         * lib/wctype.in.h (iswblank): Declare with a replacement if
20006         REPLACE_ISWBLANK is set.
20007         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
20008         declared. Set REPLACE_ISWBLANK.
20009         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
20010         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
20011         * doc/posix-headers/wctype.texi: Likewise.
20012         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20013
20014 2010-09-01  Bruno Haible  <bruno@clisp.org>
20015
20016         New module 'socketlib'.
20017         * modules/socketlib: New file.
20018         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
20019         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
20020         * modules/sockets (Depends-on): Add socketlib.
20021         Suggested by Sam Steingold <sds@gnu.org>.
20022
20023 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20024
20025         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
20026
20027         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
20028         when one needs search access to a directory but not read access.
20029         On systems where it is available, it works in some cases where
20030         O_RDONLY does not, namely on directories that are searchable but
20031         not readable, and which need only to be searchable.  If O_SEARCH
20032         is not available, fall back to the traditional method of using
20033         O_RDONLY.
20034
20035         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
20036         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
20037         when opening a directory that needs only to be searchable.
20038         * lib/chdir-safer.c (chdir_no_follow): Likewise.
20039         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
20040         * lib/openat-proc.c (openat_proc_name): Likewise.
20041         * lib/openat.c (openat_needs_fchdir): Likewise.
20042         * lib/save-cwd.c (save_cwd): Likewise.
20043         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
20044
20045 2010-08-28  Bruno Haible  <bruno@clisp.org>
20046
20047         New module 'host-cpu-c-abi'.
20048         * modules/host-cpu-c-abi: New file.
20049         * m4/host-cpu-c-abi.m4: New file, based on part of
20050         clisp/src/m4/general.m4.
20051         Requested by Sam Steingold <sds@gnu.org>.
20052
20053 2010-08-31  Eric Blake  <eblake@redhat.com>
20054         and Jim Meyering  <meyering@redhat.com>
20055
20056         hash: factor, and guard against misbehaving hasher function
20057         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
20058         of table->hasher's return value.  Also protect against a hash value
20059         so large that adding it to table->bucket results in a NULL pointer.
20060         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
20061         Use it in place of open-coded check-and-abort.
20062
20063 2010-08-30  Bruno Haible  <bruno@clisp.org>
20064
20065         hash: silence spurious clang warning
20066         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
20067         Reported by Eric Blake.
20068
20069 2010-08-30  Eric Blake  <eblake@redhat.com>
20070
20071         strstr, memmem, strcasestr: avoid leaked shell message
20072         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
20073         FreeBSD.
20074         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20075         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20076
20077         tests: silence clang warning
20078         * tests/test-malloca.c (do_allocation): Avoid dead store.
20079
20080 2010-08-29  Bruno Haible  <bruno@clisp.org>
20081
20082         gettext: Fix recent mistake.
20083         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
20084
20085 2010-08-29  Bruno Haible  <bruno@clisp.org>
20086
20087         selinux-h: Offer a --without-selinux option.
20088         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
20089         --without-selinux was specified, skip all tests and define
20090         HAVE_SELINUX_SELINUX_H to 0.
20091         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
20092         set LIB_SELINUX to empty.
20093         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
20094         gl_LIBSELINUX. If --without-selinux was specified, replace
20095         selinux/context.h.
20096         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
20097
20098 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20099             Bruno Haible  <bruno@clisp.org>
20100
20101         Make the module 'realloc-gnu' work again on AIX and OSF/1.
20102         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
20103         of HAVE_REALLOC.
20104         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
20105         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
20106         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
20107         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20108
20109 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20110             Bruno Haible  <bruno@clisp.org>
20111
20112         Make the module 'calloc-gnu' work again on AIX and OSF/1.
20113         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
20114         HAVE_CALLOC.
20115         * lib/xmalloc.c: Update accordingly.
20116         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
20117         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
20118         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
20119
20120 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20121             Bruno Haible  <bruno@clisp.org>
20122
20123         Make the module 'malloc-gnu' work again on AIX and OSF/1.
20124         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
20125         HAVE_MALLOC.
20126         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
20127         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20128         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20129
20130 2010-08-29  Bruno Haible  <bruno@clisp.org>
20131
20132         Update modules list.
20133         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20134         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
20135         (String handling <string.h>): Add astrxfrm.
20136         (File system functions): Add readlinkat.
20137
20138 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20139
20140         Tests for module 'realloc-gnu'.
20141         * modules/realloc-gnu-tests: New file.
20142         * tests/test-realloc-gnu.c: New file.
20143
20144         Tests for module 'calloc-gnu'.
20145         * modules/calloc-gnu-tests: New file.
20146         * tests/test-calloc-gnu.c: New file.
20147
20148         Tests for module 'malloc-gnu'.
20149         * modules/malloc-gnu-tests: New file.
20150         * tests/test-malloc-gnu.c: New file.
20151
20152 2010-08-28  Bruno Haible  <bruno@clisp.org>
20153
20154         Rename module 'realloc' -> 'realloc-gnu'.
20155         * modules/realloc-gnu: New file, copied from modules/realloc.
20156         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
20157         obsolete.
20158         * modules/mgetgroups (Depends-on): Update.
20159         * doc/posix-functions/realloc.texi: Update.
20160         * NEWS: Mention the change.
20161
20162         Rename module 'calloc' -> 'calloc-gnu'.
20163         * modules/calloc-gnu: New file, copied from modules/calloc.
20164         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
20165         obsolete.
20166         * doc/posix-functions/calloc.texi: Update.
20167         * NEWS: Mention the change.
20168
20169         Rename module 'malloc' -> 'malloc-gnu'.
20170         * modules/malloc-gnu: New file, copied from modules/malloc.
20171         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
20172         obsolete.
20173         * modules/argp (Depends-on): Update.
20174         * modules/regex (Depends-on): Update.
20175         * doc/posix-functions/malloc.texi: Update.
20176         * NEWS: Mention the change.
20177
20178 2010-08-28  Eric Blake  <eblake@redhat.com>
20179
20180         pread, pwrite: add missing dependency
20181         * modules/pread (Depends-on): Add extensions.
20182         * modules/pwrite (Depends-on): Likewise.
20183
20184 2010-08-28  Bruno Haible  <bruno@clisp.org>
20185
20186         unistr/u*-strchr: Fix tests dependencies.
20187         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
20188         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
20189         Reported by Ian Beckwith <ianb@erislabs.net>.
20190
20191 2010-08-28  Bruno Haible  <bruno@clisp.org>
20192
20193         read-file: Don't occupy too much unused memory.
20194         * lib/read-file.c (fread_file): Shrink the buffer at the end.
20195
20196 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
20197             Eric Blake  <eblake@redhat.com>
20198             Bruno Haible  <bruno@clisp.org>
20199
20200         read-file: Avoid memory reallocations with regular files.
20201         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
20202         (fread_file): With regular files, use the remaining length as the
20203         initial buffer size.  Check against overflow.
20204         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
20205         sys_stat.
20206
20207 2010-08-28  Bruno Haible  <bruno@clisp.org>
20208
20209         ftello: Relax license.
20210         * modules/ftello (License): Relax to LGPLv2+.
20211         Reported by Eric Blake.
20212
20213 2010-08-28  Bruno Haible  <bruno@clisp.org>
20214
20215         Avoid relocwrapper link errors due to gnulib replacement functions.
20216         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
20217         function.
20218         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20219
20220 2010-08-28  Bruno Haible  <bruno@clisp.org>
20221
20222         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
20223         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
20224         defined.
20225         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
20226         Suggested by Eric Blake.
20227
20228 2010-08-28  Bruno Haible  <bruno@clisp.org>
20229
20230         sys_socket, netdb: Ensure socklen_t gets defined.
20231         * modules/sys_socket (Depends-on): Add socklen.
20232         * modules/netdb (Depends-on): Likewise.
20233         * modules/getaddrinfo (Depends-on): Remove socklen.
20234         * modules/getsockopt (Depends-on): Likewise.
20235         * modules/setsockopt (Depends-on): Likewise.
20236         * tests/test-sys_socket.c: Check that socklen_t is defined.
20237         * tests/test-netdb.c: Likewise.
20238         * m4/socklen.m4: Update comments.
20239         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20240
20241 2010-08-27  Eric Blake  <eblake@redhat.com>
20242
20243         login_tty: add missing dependency
20244         * modules/login_tty (Depends-on): Add pty.
20245
20246 2010-08-26  Eric Blake  <eblake@redhat.com>
20247
20248         lib-symbol-versions: fix m4 quoting
20249         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
20250         format for AC_LINK_IFELSE.
20251
20252         glob: fix compile test
20253         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
20254
20255         btowc: fix missing file
20256         * modules/btowc (Files): Also ship locale-fr.m4.
20257
20258         lseek: fix link test
20259         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
20260         AC_LINK_IFELSE.
20261
20262         include_next: silence autoconf 2.68 warning
20263         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
20264         AC_COMPILE_IFELSE as special.
20265         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
20266         autoconf < 2.68.
20267
20268         acl: fix compilation test
20269         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
20270         AC_COMPILE_IFELSE.
20271
20272 2010-08-26  Bruno Haible  <bruno@clisp.org>
20273
20274         Modernize AC_TRY_RUN invocations.
20275         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
20276         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20277         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
20278         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
20279         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
20280         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20281         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20282         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20283         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20284         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20285         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20286         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20287         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20288         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20289         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20290         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20291         gl_MBRLEN_NUL_RETVAL): Likewise.
20292         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20293         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20294         Likewise.
20295         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20296         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20297         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20298         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20299         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
20300         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
20301         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
20302         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
20303         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
20304         Likewise.
20305         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20306         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
20307         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20308         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20309         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20310         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20311         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20312         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
20313         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20314         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20315
20316 2010-08-26  Bruno Haible  <bruno@clisp.org>
20317
20318         Modernize AC_TRY_LINK invocations.
20319         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
20320         AC_TRY_LINK.
20321         * m4/argp.m4 (gl_ARGP): Likewise.
20322         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
20323         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20324         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20325         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20326         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20327         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
20328         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
20329         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20330         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20331         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20332         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20333         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
20334         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
20335         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20336         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20337         * m4/hostent.m4 (gl_HOSTENT): Likewise.
20338         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20339         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
20340         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20341         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
20342         Likewise.
20343         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
20344         Likewise.
20345         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
20346         Likewise.
20347         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20348         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
20349         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
20350         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
20351         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
20352         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20353         * m4/servent.m4 (gl_SERVENT): Likewise.
20354         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20355         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
20356         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
20357         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
20358         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20359         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20360         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20361         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20362         * modules/tsearch-tests (configure.ac): Likewise.
20363
20364 2010-08-26  Bruno Haible  <bruno@clisp.org>
20365
20366         Modernize AC_TRY_COMPILE invocations.
20367         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
20368         AC_TRY_COMPILE.
20369         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
20370         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
20371         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20372         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
20373         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20374         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20375         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20376         * m4/lock.m4 (gl_LOCK): Likewise.
20377         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20378         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20379         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
20380         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20381         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20382         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20383         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20384         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20385         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20386         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20387         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20388         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20389         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20390         extraneous semicolon.
20391
20392 2010-08-26  Jim Meyering  <meyering@redhat.com>
20393
20394         stat-time: relax license LGPL
20395         * modules/stat-time (License): Change from GPL to LGPL,
20396         with consent from all contributors, for use in libguile.
20397         Requested by Ludovic Courtès.
20398
20399 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20400
20401         poll: return immediately on POLLHUP.
20402         * lib/poll.c (poll): Always set timeout before wait_timeout is
20403         computed.
20404
20405 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20406
20407         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20408         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20409         rmdir ("dir/.//"), unlinkat.
20410
20411 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20412
20413         stdbool: avoid spurious failure with modern xlc
20414         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20415
20416 2010-08-24  Bruno Haible  <bruno@clisp.org>
20417
20418         getloadavg: simplify code
20419         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20420         gl_have_func. Update comments.
20421
20422 2010-08-24  Eric Blake  <eblake@redhat.com>
20423
20424         getloadavg: don't define SVR4 on cygwin
20425         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20426         only define SVR4 when -lkvm is required.
20427         Reported by Yaakov Selkowitz.
20428
20429 2010-08-24  Bruno Haible  <bruno@clisp.org>
20430
20431         priv-set: fix comment
20432         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20433
20434 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20435
20436         priv-set: fix comments
20437         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20438         to match code, as suggested by David Bartley in:
20439         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20440
20441 2010-08-23  Eric Blake  <eblake@redhat.com>
20442
20443         stdbool: avoid rejecting clang
20444         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20445         * tests/test-stdbool.c: Enable more tests if using the system
20446         <stdbool.h> instead of the gnulib replacement.
20447         (main): Move xlc bug test to a runtime test for all compilers.
20448         Reported by Anders Kaseorg.
20449
20450         argz: fix shell quoting issue
20451         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20452         Reported by Charles Wilson.
20453
20454 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20455             Erik Faye-Lund <kusmabite@gmail.com>
20456
20457         poll, select: handle ERROR_BROKEN_PIPE.
20458         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20459         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20460         * lib/select.c (win32_compute_revents): Do not mark a pipe
20461         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20462
20463 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20464
20465         fts: allow compilation with C++
20466         * lib/fts_.h: Specify extern "C" linkage with C++.
20467
20468 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20469
20470         Fix gnulib-tool sed script de-commentation for AIX sed.
20471         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20472         sed.
20473
20474 2010-08-17  Eric Blake  <eblake@redhat.com>
20475
20476         test-stddef: test for (some) offsetof bugs
20477         * tests/test-stddef.c: Enhance test to ensure correct type of
20478         offsetof.
20479         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20480         that we are not fixing at this time.
20481
20482 2010-08-15  Bruno Haible  <bruno@clisp.org>
20483
20484         stpncpy: Allow stpncpy to be defined as a macro.
20485         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20486         if it's already correctly declared.
20487         * lib/string.in.h (stpncpy): Undefine before redefining.
20488         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20489
20490 2010-08-14  Bruno Haible  <bruno@clisp.org>
20491
20492         Rename module 'memxfrm' to 'amemxfrm'.
20493         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20494         (amemxfrm): Renamed from memxfrm.
20495         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20496         (amemxfrm): Renamed from memxfrm.
20497         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20498         * NEWS: Mention the change.
20499         * MODULES.html.sh (String handling <string.h>): Update.
20500         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20501         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20502         * lib/unicase/u16-casexfrm.c: Likewise.
20503         * lib/unicase/u32-casexfrm.c: Likewise.
20504         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20505         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20506         * lib/uninorm/u16-normxfrm.c: Likewise.
20507         * lib/uninorm/u32-normxfrm.c: Likewise.
20508         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20509         memxfrm.
20510         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20511         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20512         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20513         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20514         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20515         Suggested by Paul Eggert.
20516
20517 2010-08-14  Bruno Haible  <bruno@clisp.org>
20518
20519         Tests for module 'astrxfrm'.
20520         * modules/astrxfrm-tests: New file.
20521         * tests/test-astrxfrm.c: New file.
20522
20523         New module 'astrxfrm'.
20524         * lib/astrxfrm.h: New file.
20525         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20526         * modules/astrxfrm: New file.
20527
20528 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20529
20530         regex: Tweak doc.
20531         * doc/regex.texi (Overview): Don't mention regex.c.
20532         (GNU Regular Expression Compiling): Likewise.
20533         (Match-end-of-line Operator): Mention 'not_eol'.
20534
20535 2010-08-14  Brian Gough  <bjg@gnu.org>
20536             Bruno Haible  <bruno@clisp.org>
20537
20538         git-merge-changelog: add doc relating to use with bzr and hg.
20539         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20540
20541 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20542
20543         pthread: fix pthread.h creation for srcdir != builddir
20544         * modules/pthread (Makefile.am): Fix the rule to work also in a
20545         non-srcdir build.
20546
20547 2010-08-13  Karl Berry  <karl@gnu.org>
20548
20549         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20550         * doc/posix-*/*: force line break before @url of POSIX
20551         specifications.
20552         Suggested by Werner Lemberg.
20553
20554 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20555
20556         strtod: fix const diagnostic
20557         * lib/strtod.c (strtod): Don't assign const char * to char *,
20558         as this elicits a warning from GCC when warnings are enabled.
20559
20560 2010-08-10  Pádraig Brady <P@draigbrady.com>
20561         and Eric Blake  <eblake@redhat.com>
20562
20563         copy-acl: ignore ENOTSUP on HP-UX
20564         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20565         so that it is available for HP-UX.
20566         * lib/copy-acl.c (qcopy_acl): Use it.
20567         Reported by Patrick M. Callahan.
20568
20569 2010-08-10  Eric Blake  <eblake@redhat.com>
20570
20571         open, chown: relax license
20572         * modules/open (License): Change to LGPLv2+, with consent by all
20573         authors, for use in augeas.
20574         * modules/chown (License): Likewise.
20575         * modules/lchown (Likewise): Likewise.
20576         Requested by Adam Stokes.
20577
20578 2010-08-09  Karl Berry  <karl@gnu.org>
20579
20580         * build-aux/ar-lib: new file, import from Automake.
20581         * config/srclist.txt: autocheck for updates.
20582
20583 2010-08-09  Eric Blake  <eblake@redhat.com>
20584
20585         readlinkat: adjust client modules
20586         * modules/areadlinkat (Depends-on): Use readlinkat, not
20587         symlinkat.
20588         * modules/areadlinkat-with-size (Depends-on): Likewise.
20589
20590         mknod: be more vocal about danger of running tests as root
20591         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20592         root, since that is just asking for problems.
20593         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20594
20595         readlinkat: split into its own module
20596         * modules/symlinkat: Split readlinkat...
20597         * modules/readlinkat: ...into separate module.
20598         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20599         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20600         * lib/symlinkat.c (readlinkat): Move...
20601         * lib/readlinkat.c: ...into new file.
20602         * modules/symlinkat-tests: Split readlinkat test...
20603         * modules/readlinkat-tests: ...into separate module.
20604         * tests/test-symlinkat.c: Split...
20605         * tests/test-readlinkat.c: ...into new file.
20606         * NEWS: Document the split.
20607         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20608         * lib/unistd.in.h (readlinkat): Likewise.
20609         Suggested by Bruno Haible.
20610
20611 2010-08-08  Bruno Haible  <bruno@clisp.org>
20612
20613         memxfrm: Speed up.
20614         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20615         that usually only one call to strxfrm is necessary for each string
20616         part.
20617         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20618
20619 2010-08-07  Karl Berry  <karl@gnu.org>
20620
20621         * doc/posix-headers/limits.texi,
20622         * doc/posix-functions/malloc.texi,
20623         * doc/posix-functions/strsignal.texi: missing @item.
20624         * doc/ld-version-script.texi: spurious leading i.
20625         * doc/regex.texi (Interval Operators): no commas inside @var.
20626
20627 2010-08-01  Bruno Haible  <bruno@clisp.org>
20628
20629         Integrate the regex documentation.
20630         * doc/gnulib.texi: Define 'cn' index.
20631         (Regular expressions): New a chapter that includes regex.texi and
20632         regexprops-generic.texi.
20633         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20634         syntax.
20635
20636         Whitespace cleanup.
20637         * doc/regex.texi: Remove trailing spaces.
20638
20639         Add regex documentation.
20640         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20641         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20642         Written by Kathy A. Hargreaves and Karl Berry.
20643
20644 2010-08-01  Bruno Haible  <bruno@clisp.org>
20645
20646         link: Update documentation.
20647         * doc/posix-functions/link.texi: Update regarding Solaris.
20648
20649 2010-07-31  Bruno Haible  <bruno@clisp.org>
20650
20651         Update modules list.
20652         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20653         (String handling <string.h>): Add memcmp2, memxfrm.
20654         (Container data structures): Add xlist, xsublist, xoset.
20655         (Core language properties): Add alignof, unused-parameter.
20656         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20657         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20658         (Unibyte characters <ctype.h>): New section.
20659         (String handling <string.h>): New section.
20660         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20661         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20662         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20663         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20664         tan, tanh, tanl, y0, y1, yn.
20665         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20666         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20667         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20668         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20669         unlockpt, vdprintf, vdprintf-posix.
20670         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20671         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20672         xconcat-filename.
20673         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20674         getdtablesize, pipe2, pipe2-safer.
20675         (Security): New section.
20676         (Networking functions): Add accept4.
20677         (Signal handling): Add sigpipe.
20678         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20679         mbmemcasecoll.
20680         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20681         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20682         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20683         pipe-filter-ii.
20684         (Misc): Add argp-version-etc, login_tty, parse-duration.
20685
20686 2010-07-31  Bruno Haible  <bruno@clisp.org>
20687
20688         Improve doc in MODULES.html.
20689         * modules/linkat (Description): Add the word "function".
20690         * modules/mkfifo (Description): Likewise.
20691         * modules/mknod (Description): Likewise.
20692         * modules/remove (Description): Likewise.
20693         * modules/renameat (Description): Likewise.
20694         * modules/stat (Description): Likewise.
20695         * modules/symlink (Description): Likewise.
20696         * modules/unlink (Description): Likewise.
20697
20698 2010-07-31  Bruno Haible  <bruno@clisp.org>
20699
20700         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20701         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20702         option --enable/disable-c++ instead of --enable/disable-cxx.
20703         * NEWS: Mention the change.
20704
20705 2010-07-31  Bruno Haible  <bruno@clisp.org>
20706
20707         readlink, areadlink: Relax test a bit.
20708         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20709         alternative to ENOTDIR.
20710         * tests/test-areadlink.h (test_areadlink): Likewise.
20711         Reported by Rainer Tammer.
20712
20713 2010-07-31  Bruno Haible  <bruno@clisp.org>
20714
20715         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20716         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20717         character, perform the search using U_STRCHR.
20718         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20719         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20720         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20721         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20722         Suggested by Paolo Bonzini.
20723
20724 2010-07-31  Bruno Haible  <bruno@clisp.org>
20725
20726         unistr/u*-strstr: Fix dependencies.
20727         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20728         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20729         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20730
20731 2010-07-31  Bruno Haible  <bruno@clisp.org>
20732
20733         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20734         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20735         the beginning of the loop.
20736         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20737         cases in 'switch' statement.
20738
20739         unistr/u8-strchr: Fix several bugs.
20740         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20741         the string. When not found, return NULL, not a pointer near the end.
20742
20743         More tests for unistr/u8-strchr.
20744         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20745         that the function does not read past the first occurrence of the byte
20746         being searched.
20747         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20748         * tests/unistr/test-u16-strchr.c (main): New function.
20749         * tests/unistr/test-u32-strchr.c (main): New function.
20750
20751 2010-07-31  Bruno Haible  <bruno@clisp.org>
20752
20753         posix-modules: Ignore backup files of documentation files.
20754         * posix-modules: grep only through files named *.texi.
20755
20756 2010-07-31  Bruno Haible  <bruno@clisp.org>
20757
20758         symlinkat: Fix documentation.
20759         * doc/posix-functions/readlinkat.texi: Fix module name.
20760
20761 2010-07-31  Bruno Haible  <bruno@clisp.org>
20762
20763         fchownat: Replace also when chown has the trailing slash bug.
20764         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20765         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20766         introduced on 2010-04-10.
20767         Reported by Rainer Tammer.
20768
20769 2010-07-31  Bruno Haible  <bruno@clisp.org>
20770
20771         linkat: Work around AIX 7.1 bug.
20772         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20773         whether linkat handles trailing slash correctly. If not, replace linkat
20774         and define LINKAT_TRAILING_SLASH_BUG.
20775         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20776         check whether (fd1,file1) points to a directory if file1 or file2 ends
20777         in a slash. Code taken from lib/link.c.
20778         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20779         Reported by Rainer Tammer.
20780
20781 2010-07-31  Bruno Haible  <bruno@clisp.org>
20782
20783         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20784         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20785         This disables an xlc optimization that was causing wrong test results.
20786         Reported by Rainer Tammer.
20787
20788 2010-07-31  Bruno Haible  <bruno@clisp.org>
20789
20790         iconv: Work around AIX 6.1..7.1 bug.
20791         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20792         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
20793         cross-compiling, guess no on all versions of AIX.
20794         Reported by Rainer Tammer.
20795
20796 2010-07-31  Bruno Haible  <bruno@clisp.org>
20797
20798         readlink: Relax test a bit.
20799         * tests/test-readlink.h (test_readlink): Allow different errno value
20800         when readlink is called with a file name that ends in / and refers to
20801         a file.
20802         Suggested by Eric Blake.
20803         Reported by Rainer Tammer.
20804
20805 2010-07-31  Bruno Haible  <bruno@clisp.org>
20806
20807         copysign: Does not require -lm on glibc systems.
20808         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
20809         gl_COMMON_DOUBLE_MATHFUNC.
20810         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
20811
20812 2010-07-31  Bruno Haible  <bruno@clisp.org>
20813
20814         duplocale: Work around AIX 7.1 bug.
20815         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
20816         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
20817         * lib/duplocale.c (rpl_duplocale): Update comment.
20818         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
20819         Reported by Rainer Tammer.
20820
20821 2010-07-30  Bruno Haible  <bruno@clisp.org>
20822
20823         dirfd: Avoid link error on AIX 7.1.
20824         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
20825         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
20826         exist, set REPLACE_DIRFD.
20827         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
20828         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
20829         * doc/posix-functions/dirfd.texi: Update.
20830         Reported by Rainer Tammer.
20831
20832 2010-07-30  Eric Blake  <eblake@redhat.com>
20833
20834         strtod: next round of AIX fixes
20835         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
20836         exponent.
20837         * tests/test-strtod.c (main): Enhance tests.
20838         * doc/posix-functions/strtod.texi (strtod): Document next bug.
20839         Reported by Rainer Tammer.
20840
20841         futimens: fix configure check
20842         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
20843         Reported by Bruno Haible.
20844
20845 2010-07-30  Bruno Haible  <bruno@clisp.org>
20846
20847         getline: Update regarding AIX.
20848         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
20849         Reported by Rainer Tammer.
20850
20851 2010-07-30  Bruno Haible  <bruno@clisp.org>
20852
20853         wcwidth: Drop replacement on AIX 7.
20854         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
20855         AIX 7.
20856         Reported by Rainer Tammer.
20857
20858 2010-07-30  Bruno Haible  <bruno@clisp.org>
20859
20860         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
20861         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
20862         a 'char *'.
20863         Reported by Rainer Tammer.
20864
20865 2010-07-30  Bruno Haible  <bruno@clisp.org>
20866
20867         unlink: Update regarding AIX.
20868         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
20869         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
20870         Reported by Rainer Tammer.
20871
20872 2010-07-30  Bruno Haible  <bruno@clisp.org>
20873
20874         symlink: Update regarding AIX.
20875         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
20876         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
20877         Reported by Rainer Tammer.
20878
20879 2010-07-30  Bruno Haible  <bruno@clisp.org>
20880
20881         strndup: Update regarding AIX.
20882         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
20883         AIX 7.
20884         Reported by Rainer Tammer.
20885
20886 2010-07-30  Bruno Haible  <bruno@clisp.org>
20887
20888         stat: Update regarding AIX.
20889         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
20890         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
20891         Reported by Rainer Tammer.
20892
20893 2010-07-30  Bruno Haible  <bruno@clisp.org>
20894
20895         truncl: Fix autoconf test.
20896         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
20897         whether truncl works.
20898         Reported by Rainer Tammer.
20899
20900 2010-07-30  Bruno Haible  <bruno@clisp.org>
20901
20902         round: Update regarding AIX.
20903         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
20904         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
20905         Reported by Rainer Tammer.
20906
20907 2010-07-30  Bruno Haible  <bruno@clisp.org>
20908
20909         rename: Update regarding AIX.
20910         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
20911         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
20912         Reported by Rainer Tammer.
20913
20914 2010-07-30  Bruno Haible  <bruno@clisp.org>
20915
20916         printf.m4: Update regarding AIX.
20917         * m4/printf.m4: Update comments regarding AIX.
20918         Reported by Rainer Tammer.
20919
20920 2010-07-30  Bruno Haible  <bruno@clisp.org>
20921
20922         iconv: Update regarding AIX.
20923         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
20924         AIX 7.
20925         Reported by Rainer Tammer.
20926
20927 2010-07-30  Bruno Haible  <bruno@clisp.org>
20928
20929         getopt: Update regarding AIX.
20930         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
20931         no on AIX.
20932         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
20933         Reported by Rainer Tammer.
20934
20935 2010-07-30  Bruno Haible  <bruno@clisp.org>
20936
20937         ldexpl; Update regarding AIX.
20938         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
20939         on AIX 7.
20940         Reported by Rainer Tammer.
20941
20942 2010-07-30  Bruno Haible  <bruno@clisp.org>
20943
20944         frexpl: Update regarding AIX.
20945         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
20946         on AIX 7.
20947         Reported by Rainer Tammer.
20948
20949 2010-07-30  Bruno Haible  <bruno@clisp.org>
20950
20951         open, fopen: Update regarding AIX.
20952         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
20953         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20954         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
20955         * doc/posix-functions/fopen.texi: Likewise.
20956         Reported by Rainer Tammer.
20957
20958 2010-07-30  Bruno Haible  <bruno@clisp.org>
20959
20960         chown: Update doc regarding AIX.
20961         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
20962         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
20963         Reported by Rainer Tammer.
20964
20965 2010-07-30  Eric Blake  <eblake@redhat.com>
20966
20967         strtod: fix bug in replacement function on AIX
20968         * lib/strtod.c (strtod): Special case broken "0x" parse in
20969         underlying strtod.
20970         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
20971         * doc/posix-functions/strtod.texi (strtod): Likewise.
20972         Reported by Rainer Tammer.
20973
20974 2010-07-30  Bruno Haible  <bruno@clisp.org>
20975
20976         mbrlen: Fix cross-compilation guess for AIX.
20977         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
20978         guess. Leftover from 2008-12-22.
20979
20980 2010-07-30  Bruno Haible  <bruno@clisp.org>
20981
20982         mbrtowc: Fix cross-compilation guess for AIX.
20983         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
20984         guess. Leftover from 2008-12-21.
20985
20986 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
20987
20988         init.sh: work around trap limitation of some shells
20989         * tests/init.sh (setup_): Move exit trap outside of shell function.
20990
20991 2010-07-29  Eric Blake  <eblake@redhat.com>
20992
20993         strtod: aid debugging
20994         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
20995         understanding why strtod is rejected.
20996
20997 2010-07-28  Bruno Haible  <bruno@clisp.org>
20998
20999         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
21000         * lib/unistr/u8-chr.c: Include <string.h>.
21001         * tests/unistr/test-u8-chr.c: Likewise.
21002         * tests/unistr/test-u16-chr.c: Likewise.
21003         * tests/unistr/test-u32-chr.c: Likewise.
21004         * tests/unistr/test-u8-strchr.c: Likewise.
21005         * tests/unistr/test-u16-strchr.c: Likewise.
21006         * tests/unistr/test-u32-strchr.c: Likewise.
21007         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
21008         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
21009         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
21010         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
21011
21012 2010-07-28  Bruno Haible  <bruno@clisp.org>
21013
21014         Use spaces for indentation, not tabs.
21015         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21016
21017 2010-07-27  Bruno Haible  <bruno@clisp.org>
21018
21019         mbspcasecmp: Fix function specification.
21020         * lib/string.in.h (mbspcasecmp): Fix specification comment.
21021         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
21022         Reported by Eric Blake <eblake@redhat.com>.
21023
21024 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
21025
21026         timespec: use cast and not conditional, as truncation isn't possible
21027         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
21028         instead of a conditional.  Comment about the situation in more detail.
21029         This undoes most of the 2009-10-29 patch.
21030
21031 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
21032
21033         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
21034         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
21035         * lib/unistr/u8-strchr.c: Likewise.
21036         * modules/unistr/u8-chr: Depend on memchr.
21037
21038         unistr/u*-strchr: add tests
21039         * modules/unistr/u8-strchr-tests: New file.
21040         * modules/unistr/u16-strchr-tests: New file.
21041         * modules/unistr/u32-strchr-tests: New file.
21042         * tests/unistr/test-strchr.h: New file.
21043         * tests/unistr/test-u8-strchr.c: New file.
21044         * tests/unistr/test-u16-strchr.c: New file.
21045         * tests/unistr/test-u32-strchr.c: New file.
21046
21047         unistr/u*-chr: test multibyte sequences more
21048         * tests/unistr/test-chr.h: Do complete testing of the characters in the
21049         test vector.
21050         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
21051         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
21052         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
21053
21054         unistr/u*-chr: test multibyte sequences
21055         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
21056
21057         unistr/u*-chr: prepare for multibyte tests
21058         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
21059         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
21060         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
21061         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
21062         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
21063         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
21064
21065 2010-07-18  Bruno Haible  <bruno@clisp.org>
21066
21067         unistr/u8-strchr: Optimize non-ASCII argument case.
21068         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
21069         because the first byte often matches anyway.
21070         Reported by Pádraig Brady <P@draigbrady.com>.
21071
21072 2010-07-15  Karl Berry  <karl@gnu.org>
21073
21074         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
21075
21076 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
21077
21078         getcwd: on Solaris, work better if ancestors are inaccessible
21079         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
21080         buffer and size, try again with a large buffer.  This works better
21081         on Solaris, since its getcwd succeeds even if the path to the root
21082         is inaccessible, and this is helpful in common cases such as .zfs
21083         hidden directories.  Problem reported by J Chapman Flack in
21084         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
21085         Use system getcwd if it's declared, not merely if it's partly
21086         working; use the partly-working test only to avoid needless effort
21087         if the system getcwd fails.
21088         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
21089         comment that was already obsolete and is now even more obsolete.
21090         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
21091         now might call strdup.
21092
21093 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
21094
21095         pthread: Add enough so that coreutils/src/sort.c compiles.
21096         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
21097         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
21098         gnulib. Include <sched.h> and <time.h>, as per POSIX.
21099         Include <sys/types.h>, in case it defines pthread_t.
21100         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
21101         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
21102         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
21103         (pthread_rwlockattr_t, pthread_spinlock_t):
21104         New typedefs, if HAVE_PTHREAD_T is not defined.
21105         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
21106         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
21107         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
21108         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
21109         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
21110         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
21111         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
21112         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
21113         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
21114         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
21115         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
21116         New macros.
21117         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
21118         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
21119         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
21120         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
21121         (pthread_spin_unlock): New dummy functions.
21122         (pthread_create): Return EAGAIN; don't set errno.
21123         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
21124         require AC_C_INLINE.
21125         * modules/pthread (Depends-on): Add sched, time.
21126         (pthread.h): Use AM_V_GEN.
21127
21128 2010-07-13  Bruno Haible  <bruno@clisp.org>
21129
21130         striconveh: Don't malloc memory if the result buffer is sufficient.
21131         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
21132         buffer if its size is sufficient.
21133         Reported by Ludovic Courtès <ludo@gnu.org>.
21134
21135 2010-07-13  Bruno Haible  <bruno@clisp.org>
21136
21137         strtod: Add safety check.
21138         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
21139
21140 2010-07-12  Bruno Haible  <bruno@clisp.org>
21141
21142         Unify tests that set gl_cv_func_ldexpl_no_libm.
21143         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
21144         gl_FUNC_LDEXPL.
21145         (gl_FUNC_LDEXPL): Invoke it.
21146         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21147
21148 2010-07-12  Bruno Haible  <bruno@clisp.org>
21149
21150         Unify tests that set gl_cv_func_ldexp_no_libm.
21151         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
21152         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
21153         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
21154         (configure.ac): Simply invoke gl_FUNC_LDEXP.
21155         * modules/strtod (Files): Add m4/ldexp.m4.
21156
21157 2010-07-12  Bruno Haible  <bruno@clisp.org>
21158
21159         Unify tests that set gl_cv_func_frexpl_no_libm.
21160         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
21161         gl_FUNC_FREXPL_NO_LIBM.
21162         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
21163         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21164
21165 2010-07-12  Bruno Haible  <bruno@clisp.org>
21166
21167         Unify tests that set gl_cv_func_frexp_no_libm.
21168         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
21169         gl_FUNC_FREXP_NO_LIBM.
21170         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
21171         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21172
21173 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21174
21175         memcoll: clarify sizes versus lengths, document better, and tweak perf
21176         * lib/memcoll.c (strcoll_loop, memcoll0):
21177         Improve quality of descriptive comments.  Name variables
21178         consistently as to whether they are lengths (which do not include
21179         terminating null) versus sizes (which do).
21180         * lib/xmemcoll.c (xmemcoll0): Likewise.
21181         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
21182         returned when s1size == 0; this is easier to compile and saves
21183         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
21184
21185 2010-07-12  Bruno Haible  <bruno@clisp.org>
21186
21187         Tests for module '_Exit'.
21188         * modules/_Exit-tests: New file.
21189         * tests/test-_Exit.sh: New file.
21190         * tests/test-_Exit.c: New file.
21191
21192         New module '_Exit'.
21193         * lib/stdlib.in.h (__attribute__): New macro.
21194         (_Exit): New declaration.
21195         * lib/_Exit.c: New file.
21196         * m4/_Exit.m4: New file.
21197         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
21198         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
21199         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
21200         * modules/_Exit: New file.
21201         * tests/test-stdlib-c++.cc (_Exit): Check signature.
21202         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
21203
21204 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21205
21206         strtod: make it more-accurate typically, and don't require libm
21207         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
21208         Include limits.h.  Don't include string.h.
21209         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
21210         (locale_isspace): New function, so that no casts are needed to
21211         check whether *s is a space.
21212         (ldexp): Provide an unused dummy if not available.
21213         (scale_radix_exp, parse_number, underlying_strtod): New functions.
21214         (strtod): Use them.  This implementation prefers to use the
21215         underlying strtod if available, falling back on our own code
21216         only to fix known bugs.  This is more likely to produce an
21217         accurate result.  Also, it avoids the use of libm functions.
21218         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
21219         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
21220         was absent, but it caused a test failure with coreutils.
21221         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
21222         with libm.
21223         * modules/strtod (Makefile.am, Link): libm is no longer needed.
21224         * modules/strtod-tests (Makefile.am): Likewise.
21225
21226 2010-07-11  Pádraig Brady  <P@draigBrady.com>
21227             Bruno Haible  <bruno@clisp.org>
21228
21229         unistr/u8-strchr: Optimize ASCII argument case.
21230         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
21231
21232 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21233
21234         (x)memcoll: minor tweaks
21235         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
21236         is after the type that it qualifies.
21237         (memcoll0): Likewise.
21238         * lib/memcoll.h (memcoll0): Likewise.
21239         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
21240         * lib/xmemcoll.h (xmemcoll0): Likewise.
21241         * lib/memcoll.c (memcoll0): Correct the comment.  This function
21242         differs from memcoll in that the NUL byte is part of the argument.
21243         Omit the abort-checks, as performance is a real issue here.  Plus,
21244         the checks were wrong anyway (an off-by-one error).  Omit local
21245         variable 'diff', as it's a bit clearer that way.
21246         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
21247         no longer needed.
21248
21249 2010-07-08  Chen Guo <chenguo4@yahoo.com>
21250
21251         (x)memcoll: speedup when input is known to be NUL delimited
21252         * lib/memcoll.c: Include stdlib.
21253         (memcoll0): New function.
21254         (strcoll_loop): New function, refactored for use in both memcoll
21255         and memcoll0.
21256         * lib/memcoll.h (memcoll0): Add prototype.
21257         * lib/xmemcoll.c (xmemcoll0): New function.
21258         (collate_error): New function, refactored for use in both xmemcoll
21259         and xmemcoll0.
21260         * lib/xmemcoll.h (xmemcoll0): Add prototype.
21261         * m4/memcoll.m4: add inline invocation.
21262
21263 2010-07-06  Pádraig Brady  <P@draigBrady.com>
21264
21265         * build-aux/bootstrap: Remove any local translations
21266         from the translation project synchronization directory,
21267         so that local only translations are not distributed.
21268
21269 2010-07-04  Bruno Haible  <bruno@clisp.org>
21270
21271         fsusage: Clarify which code applies to which platforms.
21272         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
21273         platform.
21274         * lib/fsusage.c (get_fs_usage): Likewise.
21275
21276 2010-07-04  Bruno Haible  <bruno@clisp.org>
21277
21278         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
21279         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
21280         Reported by Martin Lambers <marlam@marlam.de>.
21281
21282 2010-07-04  Jim Meyering  <meyering@redhat.com>
21283
21284         hash: once again explicitly disallow insertion of NULL
21285         * lib/hash.c (hash_insert0): Reinstate just-removed test:
21286         inserting a NULL pointer cannot work with these functions.
21287         Add a comment with details.
21288         This reverts part of the 2010-07-01 commit, 5bef1a35
21289         "hash: extend module to deal with non-pointer keys".
21290
21291 2010-07-01  Bruno Haible  <bruno@clisp.org>
21292
21293         stdbool: Update doc.
21294         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
21295         Info from Christian Weisgerber <naddy@mips.inka.de>.
21296
21297 2010-07-01  Jim Meyering  <meyering@redhat.com>
21298
21299         hash: extend module to deal with non-pointer keys
21300         * lib/hash.c (hash_insert0): New interface, much like hash_insert
21301         but that allows insertion of non-pointer entries.
21302         Do not disallow an ENTRY value of NULL.
21303         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
21304         * lib/hash.h (hash_insert0): Declare.
21305
21306 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21307
21308         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
21309         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
21310         not present (i.e. with autoconf 2.59 and when using gettextize, not
21311         gnulib), require AC_GNU_SOURCE instead.
21312
21313 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
21314
21315         idpriv-drop: Fix tests.
21316         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
21317         not to the test-idpriv-droptemp program.
21318
21319 2010-06-29  Bruno Haible  <bruno@clisp.org>
21320
21321         string: Fix syntax error with g++ 2.96.
21322         * lib/string.in.h (__pure__): Remove definition.
21323         (_GL_ATTRIBUTE_PURE): New macro.
21324         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
21325         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
21326         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21327
21328 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
21329
21330         unitypes: Fix bug introduced on 2010-05-18.
21331         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
21332
21333 2010-06-22  Eric Blake  <eblake@redhat.com>
21334
21335         memmem: slight optimization
21336         * lib/str-two-way.h (critical_factorization): Update comments.
21337         Reduce work during factorization phase.
21338         Reported by Carlos Bueno <carlos@bueno.org>.
21339
21340 2010-06-21  Bruno Haible  <bruno@clisp.org>
21341
21342         Fix HAVE_CALLOC_POSIX misnomer.
21343         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
21344         !HAVE_CALLOC_POSIX.
21345         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
21346         HAVE_CALLOC_POSIX.
21347         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
21348         instead of HAVE_CALLOC_POSIX.
21349         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
21350         HAVE_CALLOC_POSIX.
21351
21352         Use modern idiom for calloc() replacement.
21353         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
21354         AC_FUNC_CALLOC.
21355         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
21356         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
21357         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21358         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
21359         (gl_REPLACE_CALLOC): New macro.
21360
21361 2010-06-21  Bruno Haible  <bruno@clisp.org>
21362
21363         Fix HAVE_REALLOC_POSIX misnomer.
21364         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
21365         !HAVE_REALLOC_POSIX.
21366         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
21367         HAVE_REALLOC_POSIX.
21368         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
21369         instead of HAVE_REALLOC_POSIX.
21370         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
21371         HAVE_REALLOC_POSIX.
21372
21373         Use modern idiom for realloc() replacement.
21374         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
21375         AC_FUNC_REALLOC.
21376         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
21377         Autoconf's AC_FUNC_REALLOC.
21378         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21379         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
21380         (gl_REPLACE_REALLOC): New macro.
21381         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21382
21383 2010-06-21  Bruno Haible  <bruno@clisp.org>
21384
21385         Fix HAVE_MALLOC_POSIX misnomer.
21386         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21387         !HAVE_MALLOC_POSIX.
21388         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21389         HAVE_MALLOC_POSIX.
21390         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21391         instead of HAVE_MALLOC_POSIX.
21392         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21393         HAVE_MALLOC_POSIX.
21394
21395         Use modern idiom for malloc() replacement.
21396         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21397         AC_FUNC_MALLOC.
21398         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21399         Autoconf's AC_FUNC_MALLOC.
21400         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21401         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21402         (gl_REPLACE_MALLOC): New macro.
21403         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21404
21405 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21406
21407         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21408         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21409         This macro takes 3 arguments, not 4.
21410
21411 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21412
21413         ipv6: fix detection under mingw
21414         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21415         in6_addr.
21416
21417 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21418
21419         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21420         that strtod() works when cross-compiling to a glibc version known
21421         to work.
21422
21423 2010-06-15  Bruno Haible  <bruno@clisp.org>
21424
21425         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21426
21427 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21428
21429         select: Correct timeout.
21430         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21431
21432 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21433
21434         git-version-gen: init shell var to avoid env var influence
21435         * build-aux/git-version-gen (v): Init shell var to empty.
21436
21437 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21438
21439         priv-set: Don't assume that priv.h exists merely because getppriv does.
21440         See Jan Andersen's bug report about AIX 5L in
21441         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21442         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21443         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21444         * lib/priv-set.h: Likewise.
21445         * tests/test-priv-set.c: Likewise.
21446
21447 2010-06-13  Bruno Haible  <bruno@clisp.org>
21448
21449         relocatable: Make it easier to test whether to install wrappers.
21450         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21451         RELOCATABLE_VIA_WRAPPER.
21452
21453 2010-06-13  Bruno Haible  <bruno@clisp.org>
21454
21455         gnulib-tool: Display specified modules and dependencies differently.
21456         * gnulib-tool (func_show_module_list): New function.
21457         (func_import, func_create_testdir): Invoke it.
21458         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21459
21460 2010-06-13  Bruno Haible  <bruno@clisp.org>
21461
21462         gnulib-tool: Align code of func_import and func_create_testdir.
21463         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21464         specified_modules.
21465
21466 2010-06-12  Jim Meyering  <meyering@redhat.com>
21467
21468         test-inttostr: avoid spurious failure on Solaris 9
21469         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21470         to accept "%ju".  Reported by Bruno Haible.
21471
21472 2010-06-11  Jim Meyering  <meyering@redhat.com>
21473
21474         test-sys_socket: mark variables as used more readably
21475         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21476         as "used" explicitly via (void) statement casts.  This is more
21477         readable than using them in an artificial return expression.
21478         Suggestion from Bruno Haible.
21479
21480 2010-06-11  Bruno Haible  <bruno@clisp.org>
21481
21482         Avoid some more warnings from "gcc -Wwrite-strings".
21483         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21484         to 'const char *'.
21485         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21486         * tests/test-c-strcasestr.c (main): Likewise.
21487         * tests/test-mbscasestr1.c (main): Likewise.
21488         * tests/test-mbscasestr2.c (main): Likewise.
21489         * tests/test-memmem.c (main): Likewise.
21490         * tests/test-strstr.c (main): Likewise.
21491         * tests/test-strcasestr.c (main): Likewise.
21492
21493 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21494
21495         init.sh: change framework_failure_ to fail with status 99, not 1
21496         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21497         automake's parallel-tests rule that this is an unexpected failure,
21498         even if the test is listed in XFAIL_TESTS.
21499
21500 2010-06-11  Jim Meyering  <meyering@redhat.com>
21501
21502         test-inttostr: avoid warnings about 4-6KB literal strings
21503         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21504         Include "macros.h", for its definition of ASSERT.
21505         (CK): s/assert/ASSERT/
21506         * modules/inttostr-tests (Files): Add macros.h.
21507
21508         init.sh: don't use $ME_ or skip_ before they are defined
21509         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21510         their first uses.  Also hoist their companions: warn_, fail_,
21511         framework_failure_, $stderr_fileno.  Prompted by a patch from
21512         Stefano Lattarini.
21513
21514         test-sys_socket: avoid set-but-not-used warnings from gcc
21515         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21516         avoid warning about set-but-not-used variables.
21517
21518         test-xvasprintf: avoid 'const' discard warnings
21519         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21520         "const" when assigning from literal strings.
21521         (test_xasprintf): Add "void" in function argument list to placate
21522         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21523
21524         tests: avoid compilation warnings in argmatch and exclude tests...
21525         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21526         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21527         Since it always exits, declare with the "noreturn" attribute.
21528         * tests/test-argmatch.c: Likewise.
21529
21530         tests: avoid 'const' discard warnings in mbsstr tests
21531         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21532         * tests/test-mbsstr2.c (main): Likewise.
21533
21534         test-verify: avoid warning from gcc's -Wmissing-declarations
21535         * tests/test-verify.c (function): Declare to be static.
21536
21537         test-inttostr.c: include <string.h> for use of strcmp
21538         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21539
21540         test-linkat: avoid failed assertion on "other" architectures
21541         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21542         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21543         sparc: https://bugs.launchpad.net/bugs/591968
21544
21545 2010-06-11  Jim Meyering  <meyering@redhat.com>
21546
21547         printf.m4: avoid autoconf's "Expanded Before Required" warning
21548         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21549         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21550         autoconf warning.
21551
21552 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21553
21554         Replacement header templates are now named with ".in", not "_".
21555         * doc/gnulib-intro.texi: Correct.
21556
21557 2010-06-10  Jim Meyering  <meyering@redhat.com>
21558
21559         inttostr-tests: depend on snprintf, not snprintf-posix
21560         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21561         snprintf-posix, to avoid this aclocal failure:
21562           missing file gnulib-tests/vasnprintf.c
21563           configure.ac:45: error: expected source file, required through \
21564           AC_LIBSOURCES, not found
21565
21566 2010-06-10  Jim Meyering  <meyering@redhat.com>
21567
21568         inttostr: add a new function, inttostr, and tests
21569         The namesake function was not available.  The existence of the
21570         template file, inttostr.c makes its addition nontrivial.
21571         * lib/anytostr.c: Rename from inttostr.c.
21572         (anytostr): Rename from inttostr.
21573         * lib/inttostr.c: New file.
21574         * modules/inttostr (Files): Add anytostr.c.
21575         (Makefile.am): Set lib_SOURCES instead of ...
21576         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21577         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21578         * lib/offtostr.c: Likewise.
21579         * lib/uinttostr.c: Likewise.
21580         * lib/umaxtostr.c: Likewise.
21581         * modules/inttostr-tests: New file.
21582         * tests/test-inttostr.c: New file.  Test these functions.
21583
21584 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21585             Bruno Haible  <bruno@clisp.org>
21586
21587         Add "Extending Gnulib" chapter to manual.
21588         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21589         chapter.
21590         (Extending Gnulib): New chapter.
21591         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21592         chapter.
21593
21594 2010-06-09  Bruno Haible  <bruno@clisp.org>
21595
21596         Avoid relocwrapper link errors due to gnulib replacement functions.
21597         * lib/areadlink.c: Use the system's malloc, realloc functions.
21598         (areadlink): Set errno to ENOMEM explicitly.
21599         * modules/areadlink (Depends-on): Remove malloc-posix.
21600         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21601
21602 2010-06-09  Bruno Haible  <bruno@clisp.org>
21603
21604         Avoid relocwrapper link errors due to gnulib replacement functions.
21605         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21606         * lib/malloca.c: Likewise.
21607         * lib/relocatable.c: Likewise.
21608         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21609         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21610         * lib/setenv.c: Use the system's malloc, realloc functions.
21611         * lib/strerror.c: Use the system's sprintf function.
21612         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21613
21614 2010-06-04  Bruno Haible  <bruno@clisp.org>
21615
21616         Prefer documented low-level autoconf macro names.
21617         * m4/lib-link.m4: Use m4_translit instead of translit.
21618         * m4/environ.m4: Likewise.
21619         * m4/mathfunc.m4: Likewise.
21620         * m4/onceonly.m4: Likewise.
21621         * m4/stdint.m4: Likewise.
21622         Suggested by Eric Blake.
21623
21624 2010-06-04  Martin Lambers  <marlam@marlam.de>
21625             Bruno Haible  <bruno@clisp.org>
21626
21627         havelib: Allow library names with '+' characters.
21628         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21629         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21630
21631 2010-06-09  Bruno Haible  <bruno@clisp.org>
21632
21633         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21634         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21635         realloc failed.
21636
21637 2010-06-08  Peter Simons  <simons@cryp.to>
21638
21639         maint.mk: make the news-check rule more configurable
21640         * top/maint.mk (news-check-lines-spec): New variable.
21641         (news-check): Use "sed -n 1,10p" in place of "head".
21642
21643 2010-06-07  Jim Meyering  <meyering@redhat.com>
21644
21645         do-release-commit-and-tag: fix typo in --help
21646         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21647
21648         regex: avoid new dead-code warning with gcc-4.6.0
21649         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21650         if-block containing a while-loop.  It's been unused for at least
21651         5 years.
21652
21653 2010-06-05  Bruno Haible  <bruno@clisp.org>
21654
21655         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21656         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21657
21658 2010-06-04  Bruno Haible  <bruno@clisp.org>
21659
21660         Update to GNU gettext 0.18.1.
21661         * modules/gettext (configure.ac): Require gettext infrastructure from
21662         version 0.18.1.
21663
21664 2010-06-03  Bruno Haible  <bruno@clisp.org>
21665
21666         Don't use AC_LIBOBJ with file names in subdirectories.
21667         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21668         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21669         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21670         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21671         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21672         gl_LIBUNISTRING_LIBSOURCE.
21673         (Makefile.am): Augment lib_SOURCES here, conditionally.
21674         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21675
21676 2010-06-03  Bruno Haible  <bruno@clisp.org>
21677
21678         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21679         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21680         expansion does not end with a newline.
21681         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21682         unnecessary newline.
21683
21684 2010-06-03  Bruno Haible  <bruno@clisp.org>
21685
21686         Reduce dependencies.
21687         * tests/test-quotearg.h: New file, extracted from
21688         tests/test-quotearg.c.
21689         * tests/test-quotearg-simple.c: New file, extracted from
21690         tests/test-quotearg.c.
21691         * tests/test-quotearg.c: Don't include <ctype.h>.
21692         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21693         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21694         use_quote_double_quotes, use_quotearg_colon): Moved to
21695         tests/test-quotearg.h.
21696         (results_g, flag_results, custom_quotes, custom_results): Moved
21697         to tests/test-quotearg-simple.c.
21698         (main): Moved the part that does not depend on gettext to
21699         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21700         performed.
21701         * modules/quotearg-simple: New file.
21702         * modules/quotearg-simple-tests: New file.
21703         * modules/quotearg (Depends-on): Add quotearg-simple.
21704         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21705         (Files): Add tests/test-quotearg.h.
21706         Reported by Paolo Bonzini.
21707
21708 2010-06-03  Bruno Haible  <bruno@clisp.org>
21709
21710         Reduce dependencies.
21711         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21712
21713 2010-06-03  Bruno Haible  <bruno@clisp.org>
21714
21715         time: Undefine more broken macros.
21716         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21717         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21718         Reported by Eric Blake.
21719
21720 2010-06-03  Bruno Haible  <bruno@clisp.org>
21721
21722         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21723         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21724         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21725         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21726         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21727         Reported by Ludovic Courtès <ludo@gnu.org>.
21728
21729 2010-06-02  Eric Blake  <eblake@redhat.com>
21730
21731         time: work with mingw + pthreads-win32 library
21732         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21733         if timespec is defined only in pthread.h.
21734         * modules/time (Makefile.am): Substitute it.
21735         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21736         <pthread.h>, when needed.
21737         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21738         from the library.
21739
21740 2010-05-31  Bruno Haible  <bruno@clisp.org>
21741
21742         Avoid expanding two macros in the wrong order.
21743         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21744         gl_LIBUNISTRING if it is defined.
21745         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21746         autoconf >= 2.64.
21747         Reported by Ludovic Courtès <ludo@gnu.org>.
21748
21749 2010-05-27  Jim Meyering  <meyering@redhat.com>
21750
21751         maint.mk: also prohibit "#undef" of always-defined symbols
21752         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21753         Allow more than one space before the symbol name.
21754         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21755         the regexp uses alternation.
21756
21757 2010-05-26  Eric Blake  <eblake@redhat.com>
21758
21759         maint.mk: avoid echo -e
21760         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21761         Convert all uses of echo -* to printf.
21762         Reported by Matthias Bolte.
21763
21764 2010-05-25  Bruno Haible  <bruno@clisp.org>
21765
21766         Update to GNU gettext 0.18, part 2.
21767         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21768         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21769
21770 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21771
21772         Add missing include in test-pwrite.c.
21773         * tests/test-pwrite.c: Include string.h, for strcmp.
21774
21775 2010-05-24  Bruno Haible  <bruno@clisp.org>
21776
21777         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21778
21779 2010-05-24  Bruno Haible  <bruno@clisp.org>
21780
21781         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21782         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21783         iconveh_error argument.
21784         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21785         U_STRCONV_TO_LOCALE.
21786         * lib/unistr/u16-strcoll.c: Likewise.
21787         * lib/unistr/u32-strcoll.c: Likewise.
21788         * modules/unistr/u8-strcoll (Depends-on): Add
21789         uniconv/u8-strconv-to-enc, localcharset. Remove
21790         uniconv/u8-strconv-to-locale.
21791         (configure.ac): Bump version number.
21792         * modules/unistr/u16-strcoll (Depends-on): Add
21793         uniconv/u16-strconv-to-enc, localcharset. Remove
21794         uniconv/u16-strconv-to-locale.
21795         (configure.ac): Bump version number.
21796         * modules/unistr/u32-strcoll (Depends-on): Add
21797         uniconv/u32-strconv-to-enc, localcharset. Remove
21798         uniconv/u32-strconv-to-locale.
21799         (configure.ac): Bump version number.
21800
21801 2010-05-24  Bruno Haible  <bruno@clisp.org>
21802
21803         Avoid a test failure on NetBSD 5.0.
21804         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
21805         an iconv() bug.
21806
21807 2010-05-24  Bruno Haible  <bruno@clisp.org>
21808
21809         Adjust #include directive style.
21810         * modules/regex (Includes): Recommend to write <regex.h>.
21811
21812 2010-05-24  Bruno Haible  <bruno@clisp.org>
21813
21814         regex: Don't require alloca.
21815         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
21816         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
21817         only inside if (0).
21818
21819 2010-05-23  Jim Meyering  <meyering@redhat.com>
21820
21821         test-renameat.c: include <sys/stat.h>
21822         * tests/test-renameat.c: Include <sys/stat.h>; required for
21823         definition of S_IS* macros.
21824
21825 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
21826
21827         Update maintainer documentation for 'relocatable-prog' module.
21828         * doc/relocatable-maint.texi: Update.
21829         Comments by Bruno Haible.
21830
21831 2010-05-23  Bruno Haible  <bruno@clisp.org>
21832
21833         git-merge-changelog: Enable --split-merged-entry by default.
21834         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
21835         (usage): Don't mention this option any more.
21836         Reported by Ralf Wildenhues.
21837
21838 2010-05-23  Jim Meyering  <meyering@redhat.com>
21839
21840         test-pwrite: do not leave behind a test file named "out"
21841         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
21842         The trivial-looking use of init.sh is really necessary.
21843         It ensures that the temporary file, "out", is created in
21844         a temporary directory, and removed upon termination.
21845         * tests/test-pwrite.sh: Re-add file.
21846         * modules/pwrite-tests: Reference it.
21847
21848 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21849
21850         Fix output redirection buglet in init.sh.
21851         * tests/init.sh: Fix redirection of stderr.
21852
21853 2010-05-20  Simon Josefsson  <simon@josefsson.org>
21854
21855         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
21856
21857 2010-05-17  Simon Josefsson  <simon@josefsson.org>
21858
21859         * modules/valgrind-tests: New file.
21860         * m4/valgrind-tests.m4: New file.
21861         * doc/valgrind-tests.texi: New file.
21862         * doc/gnulib.texi (Running self-tests under valgrind): New
21863         section.
21864
21865 2010-05-19  Bruno Haible  <bruno@clisp.org>
21866
21867         Clean up dead code in recent commit.
21868         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
21869         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
21870         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
21871         Suggested by Paolo Bonzini.
21872
21873 2010-05-19  Bruno Haible  <bruno@clisp.org>
21874
21875         Avoid valgrind error reports from libunistring.
21876         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
21877         * modules/libunistring (Files): Add it.
21878         * modules/libunistring-optional (Files): Likewise.
21879
21880 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
21881             Bruno Haible  <bruno@clisp.org>
21882
21883         New module 'libunistring-optional'.
21884         * modules/libunistring-optional: New file.
21885         * m4/libunistring-base.m4: New file.
21886         * m4/libunistring-optional.m4: New file.
21887         * lib/unicase.in.h: Renamed from lib/unicase.h.
21888         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
21889         * lib/unictype.in.h: Renamed from lib/unictype.h.
21890         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
21891         * lib/uniname.in.h: Renamed from lib/uniname.h.
21892         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
21893         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
21894         * lib/unistr.in.h: Renamed from lib/unistr.h.
21895         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
21896         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
21897         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
21898         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
21899         gl_LIBUNISTRING. If the library was found, determine the installed
21900         version and set LIBUNISTRING_VERSION.
21901         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
21902         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
21903         handle a configuration option --with-included-libunistring.
21904         * modules/libunistring (Files): Add m4/absolute-header.m4.
21905         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
21906         Add m4/libunistring-base.m4.
21907         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21908         (Makefile.am): Build unicase.h from unicase.in.h.
21909         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
21910         Add m4/libunistring-base.m4.
21911         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21912         (Makefile.am): Build uniconv.h from uniconv.in.h.
21913         * modules/unictype/base (Files): Use unictype.in.h instead of
21914         unictype.h. Add m4/libunistring-base.m4.
21915         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21916         (Makefile.am): Build unictype.h from unictype.in.h.
21917         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
21918         Add m4/libunistring-base.m4.
21919         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21920         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
21921         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
21922         Add m4/libunistring-base.m4.
21923         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21924         (Makefile.am): Build uniname.h from uniname.in.h.
21925         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
21926         Add m4/libunistring-base.m4.
21927         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21928         (Makefile.am): Build uninorm.h from uninorm.in.h.
21929         * modules/unistdio/base (Files): Use unistdio.in.h instead of
21930         unistdio.h. Add m4/libunistring-base.m4.
21931         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21932         (Makefile.am): Build unistdio.h from unistdio.in.h.
21933         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
21934         Add m4/libunistring-base.m4.
21935         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21936         (Makefile.am): Build unistr.h from unistr.in.h.
21937         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
21938         Add m4/libunistring-base.m4.
21939         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21940         (Makefile.am): Build unitypes.h from unitypes.in.h.
21941         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
21942         Add m4/libunistring-base.m4.
21943         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21944         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
21945         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
21946         uniwidth.h. Add m4/libunistring-base.m4.
21947         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21948         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
21949         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
21950         instead of augmenting lib_SOURCES.
21951         * modules/unicase/empty-suffix-context: Likewise.
21952         * modules/unicase/locale-language: Likewise.
21953         * modules/unicase/tolower: Likewise.
21954         * modules/unicase/totitle: Likewise.
21955         * modules/unicase/toupper: Likewise.
21956         * modules/unicase/u8-casecmp: Likewise.
21957         * modules/unicase/u8-casecoll: Likewise.
21958         * modules/unicase/u8-casefold: Likewise.
21959         * modules/unicase/u8-casexfrm: Likewise.
21960         * modules/unicase/u8-ct-casefold: Likewise.
21961         * modules/unicase/u8-ct-tolower: Likewise.
21962         * modules/unicase/u8-ct-totitle: Likewise.
21963         * modules/unicase/u8-ct-toupper: Likewise.
21964         * modules/unicase/u8-is-cased: Likewise.
21965         * modules/unicase/u8-is-casefolded: Likewise.
21966         * modules/unicase/u8-is-lowercase: Likewise.
21967         * modules/unicase/u8-is-titlecase: Likewise.
21968         * modules/unicase/u8-is-uppercase: Likewise.
21969         * modules/unicase/u8-prefix-context: Likewise.
21970         * modules/unicase/u8-suffix-context: Likewise.
21971         * modules/unicase/u8-tolower: Likewise.
21972         * modules/unicase/u8-totitle: Likewise.
21973         * modules/unicase/u8-toupper: Likewise.
21974         * modules/unicase/u16-casecmp: Likewise.
21975         * modules/unicase/u16-casecoll: Likewise.
21976         * modules/unicase/u16-casefold: Likewise.
21977         * modules/unicase/u16-casexfrm: Likewise.
21978         * modules/unicase/u16-ct-casefold: Likewise.
21979         * modules/unicase/u16-ct-tolower: Likewise.
21980         * modules/unicase/u16-ct-totitle: Likewise.
21981         * modules/unicase/u16-ct-toupper: Likewise.
21982         * modules/unicase/u16-is-cased: Likewise.
21983         * modules/unicase/u16-is-casefolded: Likewise.
21984         * modules/unicase/u16-is-lowercase: Likewise.
21985         * modules/unicase/u16-is-titlecase: Likewise.
21986         * modules/unicase/u16-is-uppercase: Likewise.
21987         * modules/unicase/u16-prefix-context: Likewise.
21988         * modules/unicase/u16-suffix-context: Likewise.
21989         * modules/unicase/u16-tolower: Likewise.
21990         * modules/unicase/u16-totitle: Likewise.
21991         * modules/unicase/u16-toupper: Likewise.
21992         * modules/unicase/u32-casecmp: Likewise.
21993         * modules/unicase/u32-casecoll: Likewise.
21994         * modules/unicase/u32-casefold: Likewise.
21995         * modules/unicase/u32-casexfrm: Likewise.
21996         * modules/unicase/u32-ct-casefold: Likewise.
21997         * modules/unicase/u32-ct-tolower: Likewise.
21998         * modules/unicase/u32-ct-totitle: Likewise.
21999         * modules/unicase/u32-ct-toupper: Likewise.
22000         * modules/unicase/u32-is-cased: Likewise.
22001         * modules/unicase/u32-is-casefolded: Likewise.
22002         * modules/unicase/u32-is-lowercase: Likewise.
22003         * modules/unicase/u32-is-titlecase: Likewise.
22004         * modules/unicase/u32-is-uppercase: Likewise.
22005         * modules/unicase/u32-prefix-context: Likewise.
22006         * modules/unicase/u32-suffix-context: Likewise.
22007         * modules/unicase/u32-tolower: Likewise.
22008         * modules/unicase/u32-totitle: Likewise.
22009         * modules/unicase/u32-toupper: Likewise.
22010         * modules/unicase/ulc-casecmp: Likewise.
22011         * modules/unicase/ulc-casecoll: Likewise.
22012         * modules/unicase/ulc-casexfrm: Likewise.
22013         * modules/uniconv/u8-conv-from-enc: Likewise.
22014         * modules/uniconv/u8-conv-to-enc: Likewise.
22015         * modules/uniconv/u8-strconv-from-enc: Likewise.
22016         * modules/uniconv/u8-strconv-from-locale: Likewise.
22017         * modules/uniconv/u8-strconv-to-enc: Likewise.
22018         * modules/uniconv/u8-strconv-to-locale: Likewise.
22019         * modules/uniconv/u16-conv-from-enc: Likewise.
22020         * modules/uniconv/u16-conv-to-enc: Likewise.
22021         * modules/uniconv/u16-strconv-from-enc: Likewise.
22022         * modules/uniconv/u16-strconv-from-locale: Likewise.
22023         * modules/uniconv/u16-strconv-to-enc: Likewise.
22024         * modules/uniconv/u16-strconv-to-locale: Likewise.
22025         * modules/uniconv/u32-conv-from-enc: Likewise.
22026         * modules/uniconv/u32-conv-to-enc: Likewise.
22027         * modules/uniconv/u32-strconv-from-enc: Likewise.
22028         * modules/uniconv/u32-strconv-from-locale: Likewise.
22029         * modules/uniconv/u32-strconv-to-enc: Likewise.
22030         * modules/uniconv/u32-strconv-to-locale: Likewise.
22031         * modules/unictype/bidicategory-byname: Likewise.
22032         * modules/unictype/bidicategory-name: Likewise.
22033         * modules/unictype/bidicategory-of: Likewise.
22034         * modules/unictype/bidicategory-test: Likewise.
22035         * modules/unictype/block-list: Likewise.
22036         * modules/unictype/block-test: Likewise.
22037         * modules/unictype/category-C: Likewise.
22038         * modules/unictype/category-Cc: Likewise.
22039         * modules/unictype/category-Cf: Likewise.
22040         * modules/unictype/category-Cn: Likewise.
22041         * modules/unictype/category-Co: Likewise.
22042         * modules/unictype/category-Cs: Likewise.
22043         * modules/unictype/category-L: Likewise.
22044         * modules/unictype/category-Ll: Likewise.
22045         * modules/unictype/category-Lm: Likewise.
22046         * modules/unictype/category-Lo: Likewise.
22047         * modules/unictype/category-Lt: Likewise.
22048         * modules/unictype/category-Lu: Likewise.
22049         * modules/unictype/category-M: Likewise.
22050         * modules/unictype/category-Mc: Likewise.
22051         * modules/unictype/category-Me: Likewise.
22052         * modules/unictype/category-Mn: Likewise.
22053         * modules/unictype/category-N: Likewise.
22054         * modules/unictype/category-Nd: Likewise.
22055         * modules/unictype/category-Nl: Likewise.
22056         * modules/unictype/category-No: Likewise.
22057         * modules/unictype/category-P: Likewise.
22058         * modules/unictype/category-Pc: Likewise.
22059         * modules/unictype/category-Pd: Likewise.
22060         * modules/unictype/category-Pe: Likewise.
22061         * modules/unictype/category-Pf: Likewise.
22062         * modules/unictype/category-Pi: Likewise.
22063         * modules/unictype/category-Po: Likewise.
22064         * modules/unictype/category-Ps: Likewise.
22065         * modules/unictype/category-S: Likewise.
22066         * modules/unictype/category-Sc: Likewise.
22067         * modules/unictype/category-Sk: Likewise.
22068         * modules/unictype/category-Sm: Likewise.
22069         * modules/unictype/category-So: Likewise.
22070         * modules/unictype/category-Z: Likewise.
22071         * modules/unictype/category-Zl: Likewise.
22072         * modules/unictype/category-Zp: Likewise.
22073         * modules/unictype/category-Zs: Likewise.
22074         * modules/unictype/category-and: Likewise.
22075         * modules/unictype/category-and-not: Likewise.
22076         * modules/unictype/category-byname: Likewise.
22077         * modules/unictype/category-name: Likewise.
22078         * modules/unictype/category-none: Likewise.
22079         * modules/unictype/category-of: Likewise.
22080         * modules/unictype/category-or: Likewise.
22081         * modules/unictype/category-test: Likewise.
22082         * modules/unictype/combining-class: Likewise.
22083         * modules/unictype/ctype-alnum: Likewise.
22084         * modules/unictype/ctype-alpha: Likewise.
22085         * modules/unictype/ctype-blank: Likewise.
22086         * modules/unictype/ctype-cntrl: Likewise.
22087         * modules/unictype/ctype-digit: Likewise.
22088         * modules/unictype/ctype-graph: Likewise.
22089         * modules/unictype/ctype-lower: Likewise.
22090         * modules/unictype/ctype-print: Likewise.
22091         * modules/unictype/ctype-punct: Likewise.
22092         * modules/unictype/ctype-space: Likewise.
22093         * modules/unictype/ctype-upper: Likewise.
22094         * modules/unictype/ctype-xdigit: Likewise.
22095         * modules/unictype/decimal-digit: Likewise.
22096         * modules/unictype/digit: Likewise.
22097         * modules/unictype/mirror: Likewise.
22098         * modules/unictype/numeric: Likewise.
22099         * modules/unictype/property-alphabetic: Likewise.
22100         * modules/unictype/property-ascii-hex-digit: Likewise.
22101         * modules/unictype/property-bidi-arabic-digit: Likewise.
22102         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
22103         * modules/unictype/property-bidi-block-separator: Likewise.
22104         * modules/unictype/property-bidi-boundary-neutral: Likewise.
22105         * modules/unictype/property-bidi-common-separator: Likewise.
22106         * modules/unictype/property-bidi-control: Likewise.
22107         * modules/unictype/property-bidi-embedding-or-override: Likewise.
22108         * modules/unictype/property-bidi-eur-num-separator: Likewise.
22109         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
22110         * modules/unictype/property-bidi-european-digit: Likewise.
22111         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
22112         * modules/unictype/property-bidi-left-to-right: Likewise.
22113         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
22114         * modules/unictype/property-bidi-other-neutral: Likewise.
22115         * modules/unictype/property-bidi-pdf: Likewise.
22116         * modules/unictype/property-bidi-segment-separator: Likewise.
22117         * modules/unictype/property-bidi-whitespace: Likewise.
22118         * modules/unictype/property-byname: Likewise.
22119         * modules/unictype/property-combining: Likewise.
22120         * modules/unictype/property-composite: Likewise.
22121         * modules/unictype/property-currency-symbol: Likewise.
22122         * modules/unictype/property-dash: Likewise.
22123         * modules/unictype/property-decimal-digit: Likewise.
22124         * modules/unictype/property-default-ignorable-code-point: Likewise.
22125         * modules/unictype/property-deprecated: Likewise.
22126         * modules/unictype/property-diacritic: Likewise.
22127         * modules/unictype/property-extender: Likewise.
22128         * modules/unictype/property-format-control: Likewise.
22129         * modules/unictype/property-grapheme-base: Likewise.
22130         * modules/unictype/property-grapheme-extend: Likewise.
22131         * modules/unictype/property-grapheme-link: Likewise.
22132         * modules/unictype/property-hex-digit: Likewise.
22133         * modules/unictype/property-hyphen: Likewise.
22134         * modules/unictype/property-id-continue: Likewise.
22135         * modules/unictype/property-id-start: Likewise.
22136         * modules/unictype/property-ideographic: Likewise.
22137         * modules/unictype/property-ids-binary-operator: Likewise.
22138         * modules/unictype/property-ids-trinary-operator: Likewise.
22139         * modules/unictype/property-ignorable-control: Likewise.
22140         * modules/unictype/property-iso-control: Likewise.
22141         * modules/unictype/property-join-control: Likewise.
22142         * modules/unictype/property-left-of-pair: Likewise.
22143         * modules/unictype/property-line-separator: Likewise.
22144         * modules/unictype/property-logical-order-exception: Likewise.
22145         * modules/unictype/property-lowercase: Likewise.
22146         * modules/unictype/property-math: Likewise.
22147         * modules/unictype/property-non-break: Likewise.
22148         * modules/unictype/property-not-a-character: Likewise.
22149         * modules/unictype/property-numeric: Likewise.
22150         * modules/unictype/property-other-alphabetic: Likewise.
22151         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
22152         * modules/unictype/property-other-grapheme-extend: Likewise.
22153         * modules/unictype/property-other-id-continue: Likewise.
22154         * modules/unictype/property-other-id-start: Likewise.
22155         * modules/unictype/property-other-lowercase: Likewise.
22156         * modules/unictype/property-other-math: Likewise.
22157         * modules/unictype/property-other-uppercase: Likewise.
22158         * modules/unictype/property-paired-punctuation: Likewise.
22159         * modules/unictype/property-paragraph-separator: Likewise.
22160         * modules/unictype/property-pattern-syntax: Likewise.
22161         * modules/unictype/property-pattern-white-space: Likewise.
22162         * modules/unictype/property-private-use: Likewise.
22163         * modules/unictype/property-punctuation: Likewise.
22164         * modules/unictype/property-quotation-mark: Likewise.
22165         * modules/unictype/property-radical: Likewise.
22166         * modules/unictype/property-sentence-terminal: Likewise.
22167         * modules/unictype/property-soft-dotted: Likewise.
22168         * modules/unictype/property-space: Likewise.
22169         * modules/unictype/property-terminal-punctuation: Likewise.
22170         * modules/unictype/property-test: Likewise.
22171         * modules/unictype/property-titlecase: Likewise.
22172         * modules/unictype/property-unassigned-code-value: Likewise.
22173         * modules/unictype/property-unified-ideograph: Likewise.
22174         * modules/unictype/property-uppercase: Likewise.
22175         * modules/unictype/property-variation-selector: Likewise.
22176         * modules/unictype/property-white-space: Likewise.
22177         * modules/unictype/property-xid-continue: Likewise.
22178         * modules/unictype/property-xid-start: Likewise.
22179         * modules/unictype/property-zero-width: Likewise.
22180         * modules/unictype/scripts: Likewise.
22181         * modules/unictype/syntax-c-ident: Likewise.
22182         * modules/unictype/syntax-c-whitespace: Likewise.
22183         * modules/unictype/syntax-java-ident: Likewise.
22184         * modules/unictype/syntax-java-whitespace: Likewise.
22185         * modules/unilbrk/u8-possible-linebreaks: Likewise.
22186         * modules/unilbrk/u8-width-linebreaks: Likewise.
22187         * modules/unilbrk/u16-possible-linebreaks: Likewise.
22188         * modules/unilbrk/u16-width-linebreaks: Likewise.
22189         * modules/unilbrk/u32-possible-linebreaks: Likewise.
22190         * modules/unilbrk/u32-width-linebreaks: Likewise.
22191         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
22192         * modules/unilbrk/ulc-width-linebreaks: Likewise.
22193         * modules/uniname/uniname: Likewise.
22194         * modules/uninorm/canonical-decomposition: Likewise.
22195         * modules/uninorm/composition: Likewise.
22196         * modules/uninorm/decomposing-form: Likewise.
22197         * modules/uninorm/decomposition: Likewise.
22198         * modules/uninorm/filter: Likewise.
22199         * modules/uninorm/nfc: Likewise.
22200         * modules/uninorm/nfd: Likewise.
22201         * modules/uninorm/nfkc: Likewise.
22202         * modules/uninorm/nfkd: Likewise.
22203         * modules/uninorm/u8-normalize: Likewise.
22204         * modules/uninorm/u8-normcmp: Likewise.
22205         * modules/uninorm/u8-normcoll: Likewise.
22206         * modules/uninorm/u8-normxfrm: Likewise.
22207         * modules/uninorm/u16-normalize: Likewise.
22208         * modules/uninorm/u16-normcmp: Likewise.
22209         * modules/uninorm/u16-normcoll: Likewise.
22210         * modules/uninorm/u16-normxfrm: Likewise.
22211         * modules/uninorm/u32-normalize: Likewise.
22212         * modules/uninorm/u32-normcmp: Likewise.
22213         * modules/uninorm/u32-normcoll: Likewise.
22214         * modules/uninorm/u32-normxfrm: Likewise.
22215         * modules/unistdio/u8-asnprintf: Likewise.
22216         * modules/unistdio/u8-asprintf: Likewise.
22217         * modules/unistdio/u8-snprintf: Likewise.
22218         * modules/unistdio/u8-sprintf: Likewise.
22219         * modules/unistdio/u8-u8-asnprintf: Likewise.
22220         * modules/unistdio/u8-u8-asprintf: Likewise.
22221         * modules/unistdio/u8-u8-snprintf: Likewise.
22222         * modules/unistdio/u8-u8-sprintf: Likewise.
22223         * modules/unistdio/u8-u8-vasnprintf: Likewise.
22224         * modules/unistdio/u8-u8-vasprintf: Likewise.
22225         * modules/unistdio/u8-u8-vsnprintf: Likewise.
22226         * modules/unistdio/u8-u8-vsprintf: Likewise.
22227         * modules/unistdio/u8-vasnprintf: Likewise.
22228         * modules/unistdio/u8-vasprintf: Likewise.
22229         * modules/unistdio/u8-vsnprintf: Likewise.
22230         * modules/unistdio/u8-vsprintf: Likewise.
22231         * modules/unistdio/u16-asnprintf: Likewise.
22232         * modules/unistdio/u16-asprintf: Likewise.
22233         * modules/unistdio/u16-snprintf: Likewise.
22234         * modules/unistdio/u16-sprintf: Likewise.
22235         * modules/unistdio/u16-u16-asnprintf: Likewise.
22236         * modules/unistdio/u16-u16-asprintf: Likewise.
22237         * modules/unistdio/u16-u16-snprintf: Likewise.
22238         * modules/unistdio/u16-u16-sprintf: Likewise.
22239         * modules/unistdio/u16-u16-vasnprintf: Likewise.
22240         * modules/unistdio/u16-u16-vasprintf: Likewise.
22241         * modules/unistdio/u16-u16-vsnprintf: Likewise.
22242         * modules/unistdio/u16-u16-vsprintf: Likewise.
22243         * modules/unistdio/u16-vasnprintf: Likewise.
22244         * modules/unistdio/u16-vasprintf: Likewise.
22245         * modules/unistdio/u16-vsnprintf: Likewise.
22246         * modules/unistdio/u16-vsprintf: Likewise.
22247         * modules/unistdio/u32-asnprintf: Likewise.
22248         * modules/unistdio/u32-asprintf: Likewise.
22249         * modules/unistdio/u32-snprintf: Likewise.
22250         * modules/unistdio/u32-sprintf: Likewise.
22251         * modules/unistdio/u32-u32-asnprintf: Likewise.
22252         * modules/unistdio/u32-u32-asprintf: Likewise.
22253         * modules/unistdio/u32-u32-snprintf: Likewise.
22254         * modules/unistdio/u32-u32-sprintf: Likewise.
22255         * modules/unistdio/u32-u32-vasnprintf: Likewise.
22256         * modules/unistdio/u32-u32-vasprintf: Likewise.
22257         * modules/unistdio/u32-u32-vsnprintf: Likewise.
22258         * modules/unistdio/u32-u32-vsprintf: Likewise.
22259         * modules/unistdio/u32-vasnprintf: Likewise.
22260         * modules/unistdio/u32-vasprintf: Likewise.
22261         * modules/unistdio/u32-vsnprintf: Likewise.
22262         * modules/unistdio/u32-vsprintf: Likewise.
22263         * modules/unistdio/ulc-asnprintf: Likewise.
22264         * modules/unistdio/ulc-asprintf: Likewise.
22265         * modules/unistdio/ulc-fprintf: Likewise.
22266         * modules/unistdio/ulc-snprintf: Likewise.
22267         * modules/unistdio/ulc-sprintf: Likewise.
22268         * modules/unistdio/ulc-vasnprintf: Likewise.
22269         * modules/unistdio/ulc-vasprintf: Likewise.
22270         * modules/unistdio/ulc-vfprintf: Likewise.
22271         * modules/unistdio/ulc-vsnprintf: Likewise.
22272         * modules/unistdio/ulc-vsprintf: Likewise.
22273         * modules/unistr/u8-check: Likewise.
22274         * modules/unistr/u8-chr: Likewise.
22275         * modules/unistr/u8-cmp: Likewise.
22276         * modules/unistr/u8-cmp2: Likewise.
22277         * modules/unistr/u8-cpy: Likewise.
22278         * modules/unistr/u8-cpy-alloc: Likewise.
22279         * modules/unistr/u8-endswith: Likewise.
22280         * modules/unistr/u8-mblen: Likewise.
22281         * modules/unistr/u8-mbsnlen: Likewise.
22282         * modules/unistr/u8-mbtouc: Likewise.
22283         * modules/unistr/u8-mbtouc-unsafe: Likewise.
22284         * modules/unistr/u8-mbtoucr: Likewise.
22285         * modules/unistr/u8-move: Likewise.
22286         * modules/unistr/u8-next: Likewise.
22287         * modules/unistr/u8-prev: Likewise.
22288         * modules/unistr/u8-set: Likewise.
22289         * modules/unistr/u8-startswith: Likewise.
22290         * modules/unistr/u8-stpcpy: Likewise.
22291         * modules/unistr/u8-stpncpy: Likewise.
22292         * modules/unistr/u8-strcat: Likewise.
22293         * modules/unistr/u8-strchr: Likewise.
22294         * modules/unistr/u8-strcmp: Likewise.
22295         * modules/unistr/u8-strcoll: Likewise.
22296         * modules/unistr/u8-strcpy: Likewise.
22297         * modules/unistr/u8-strcspn: Likewise.
22298         * modules/unistr/u8-strdup: Likewise.
22299         * modules/unistr/u8-strlen: Likewise.
22300         * modules/unistr/u8-strmblen: Likewise.
22301         * modules/unistr/u8-strmbtouc: Likewise.
22302         * modules/unistr/u8-strncat: Likewise.
22303         * modules/unistr/u8-strncmp: Likewise.
22304         * modules/unistr/u8-strncpy: Likewise.
22305         * modules/unistr/u8-strnlen: Likewise.
22306         * modules/unistr/u8-strpbrk: Likewise.
22307         * modules/unistr/u8-strrchr: Likewise.
22308         * modules/unistr/u8-strspn: Likewise.
22309         * modules/unistr/u8-strstr: Likewise.
22310         * modules/unistr/u8-strtok: Likewise.
22311         * modules/unistr/u8-to-u16: Likewise.
22312         * modules/unistr/u8-to-u32: Likewise.
22313         * modules/unistr/u8-uctomb: Likewise.
22314         * modules/unistr/u16-check: Likewise.
22315         * modules/unistr/u16-chr: Likewise.
22316         * modules/unistr/u16-cmp: Likewise.
22317         * modules/unistr/u16-cmp2: Likewise.
22318         * modules/unistr/u16-cpy: Likewise.
22319         * modules/unistr/u16-cpy-alloc: Likewise.
22320         * modules/unistr/u16-endswith: Likewise.
22321         * modules/unistr/u16-mblen: Likewise.
22322         * modules/unistr/u16-mbsnlen: Likewise.
22323         * modules/unistr/u16-mbtouc: Likewise.
22324         * modules/unistr/u16-mbtouc-unsafe: Likewise.
22325         * modules/unistr/u16-mbtoucr: Likewise.
22326         * modules/unistr/u16-move: Likewise.
22327         * modules/unistr/u16-next: Likewise.
22328         * modules/unistr/u16-prev: Likewise.
22329         * modules/unistr/u16-set: Likewise.
22330         * modules/unistr/u16-startswith: Likewise.
22331         * modules/unistr/u16-stpcpy: Likewise.
22332         * modules/unistr/u16-stpncpy: Likewise.
22333         * modules/unistr/u16-strcat: Likewise.
22334         * modules/unistr/u16-strchr: Likewise.
22335         * modules/unistr/u16-strcmp: Likewise.
22336         * modules/unistr/u16-strcoll: Likewise.
22337         * modules/unistr/u16-strcpy: Likewise.
22338         * modules/unistr/u16-strcspn: Likewise.
22339         * modules/unistr/u16-strdup: Likewise.
22340         * modules/unistr/u16-strlen: Likewise.
22341         * modules/unistr/u16-strmblen: Likewise.
22342         * modules/unistr/u16-strmbtouc: Likewise.
22343         * modules/unistr/u16-strncat: Likewise.
22344         * modules/unistr/u16-strncmp: Likewise.
22345         * modules/unistr/u16-strncpy: Likewise.
22346         * modules/unistr/u16-strnlen: Likewise.
22347         * modules/unistr/u16-strpbrk: Likewise.
22348         * modules/unistr/u16-strrchr: Likewise.
22349         * modules/unistr/u16-strspn: Likewise.
22350         * modules/unistr/u16-strstr: Likewise.
22351         * modules/unistr/u16-strtok: Likewise.
22352         * modules/unistr/u16-to-u32: Likewise.
22353         * modules/unistr/u16-to-u8: Likewise.
22354         * modules/unistr/u16-uctomb: Likewise.
22355         * modules/unistr/u32-check: Likewise.
22356         * modules/unistr/u32-chr: Likewise.
22357         * modules/unistr/u32-cmp: Likewise.
22358         * modules/unistr/u32-cmp2: Likewise.
22359         * modules/unistr/u32-cpy: Likewise.
22360         * modules/unistr/u32-cpy-alloc: Likewise.
22361         * modules/unistr/u32-endswith: Likewise.
22362         * modules/unistr/u32-mblen: Likewise.
22363         * modules/unistr/u32-mbsnlen: Likewise.
22364         * modules/unistr/u32-mbtouc: Likewise.
22365         * modules/unistr/u32-mbtouc-unsafe: Likewise.
22366         * modules/unistr/u32-mbtoucr: Likewise.
22367         * modules/unistr/u32-move: Likewise.
22368         * modules/unistr/u32-next: Likewise.
22369         * modules/unistr/u32-prev: Likewise.
22370         * modules/unistr/u32-set: Likewise.
22371         * modules/unistr/u32-startswith: Likewise.
22372         * modules/unistr/u32-stpcpy: Likewise.
22373         * modules/unistr/u32-stpncpy: Likewise.
22374         * modules/unistr/u32-strcat: Likewise.
22375         * modules/unistr/u32-strchr: Likewise.
22376         * modules/unistr/u32-strcmp: Likewise.
22377         * modules/unistr/u32-strcoll: Likewise.
22378         * modules/unistr/u32-strcpy: Likewise.
22379         * modules/unistr/u32-strcspn: Likewise.
22380         * modules/unistr/u32-strdup: Likewise.
22381         * modules/unistr/u32-strlen: Likewise.
22382         * modules/unistr/u32-strmblen: Likewise.
22383         * modules/unistr/u32-strmbtouc: Likewise.
22384         * modules/unistr/u32-strncat: Likewise.
22385         * modules/unistr/u32-strncmp: Likewise.
22386         * modules/unistr/u32-strncpy: Likewise.
22387         * modules/unistr/u32-strnlen: Likewise.
22388         * modules/unistr/u32-strpbrk: Likewise.
22389         * modules/unistr/u32-strrchr: Likewise.
22390         * modules/unistr/u32-strspn: Likewise.
22391         * modules/unistr/u32-strstr: Likewise.
22392         * modules/unistr/u32-strtok: Likewise.
22393         * modules/unistr/u32-to-u16: Likewise.
22394         * modules/unistr/u32-to-u8: Likewise.
22395         * modules/unistr/u32-uctomb: Likewise.
22396         * modules/uniwbrk/u8-wordbreaks: Likewise.
22397         * modules/uniwbrk/u16-wordbreaks: Likewise.
22398         * modules/uniwbrk/u32-wordbreaks: Likewise.
22399         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22400         * modules/uniwbrk/wordbreak-property: Likewise.
22401         * modules/uniwidth/u8-strwidth: Likewise.
22402         * modules/uniwidth/u8-width: Likewise.
22403         * modules/uniwidth/u16-strwidth: Likewise.
22404         * modules/uniwidth/u16-width: Likewise.
22405         * modules/uniwidth/u32-strwidth: Likewise.
22406         * modules/uniwidth/u32-width: Likewise.
22407         * modules/uniwidth/width: Likewise.
22408         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22409         with $(LIBUNISTRING).
22410         * modules/unicase/ignorable-tests: Likewise.
22411         * modules/unicase/locale-language-tests: Likewise.
22412         * modules/unicase/tolower-tests: Likewise.
22413         * modules/unicase/totitle-tests: Likewise.
22414         * modules/unicase/toupper-tests: Likewise.
22415         * modules/unicase/u8-casecmp-tests: Likewise.
22416         * modules/unicase/u8-casecoll-tests: Likewise.
22417         * modules/unicase/u8-casefold-tests: Likewise.
22418         * modules/unicase/u8-is-cased-tests: Likewise.
22419         * modules/unicase/u8-is-casefolded-tests: Likewise.
22420         * modules/unicase/u8-is-lowercase-tests: Likewise.
22421         * modules/unicase/u8-is-titlecase-tests: Likewise.
22422         * modules/unicase/u8-is-uppercase-tests: Likewise.
22423         * modules/unicase/u8-tolower-tests: Likewise.
22424         * modules/unicase/u8-totitle-tests: Likewise.
22425         * modules/unicase/u8-toupper-tests: Likewise.
22426         * modules/unicase/u16-casecmp-tests: Likewise.
22427         * modules/unicase/u16-casecoll-tests: Likewise.
22428         * modules/unicase/u16-casefold-tests: Likewise.
22429         * modules/unicase/u16-is-cased-tests: Likewise.
22430         * modules/unicase/u16-is-casefolded-tests: Likewise.
22431         * modules/unicase/u16-is-lowercase-tests: Likewise.
22432         * modules/unicase/u16-is-titlecase-tests: Likewise.
22433         * modules/unicase/u16-is-uppercase-tests: Likewise.
22434         * modules/unicase/u16-tolower-tests: Likewise.
22435         * modules/unicase/u16-totitle-tests: Likewise.
22436         * modules/unicase/u16-toupper-tests: Likewise.
22437         * modules/unicase/u32-casecmp-tests: Likewise.
22438         * modules/unicase/u32-casecoll-tests: Likewise.
22439         * modules/unicase/u32-casefold-tests: Likewise.
22440         * modules/unicase/u32-is-cased-tests: Likewise.
22441         * modules/unicase/u32-is-casefolded-tests: Likewise.
22442         * modules/unicase/u32-is-lowercase-tests: Likewise.
22443         * modules/unicase/u32-is-titlecase-tests: Likewise.
22444         * modules/unicase/u32-is-uppercase-tests: Likewise.
22445         * modules/unicase/u32-tolower-tests: Likewise.
22446         * modules/unicase/u32-totitle-tests: Likewise.
22447         * modules/unicase/u32-toupper-tests: Likewise.
22448         * modules/unicase/ulc-casecmp-tests: Likewise.
22449         * modules/unicase/ulc-casecoll-tests: Likewise.
22450         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22451         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22452         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22453         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22454         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22455         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22456         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22457         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22458         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22459         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22460         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22461         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22462         * modules/unictype/bidicategory-byname-tests: Likewise.
22463         * modules/unictype/bidicategory-name-tests: Likewise.
22464         * modules/unictype/bidicategory-of-tests: Likewise.
22465         * modules/unictype/bidicategory-test-tests: Likewise.
22466         * modules/unictype/block-list-tests: Likewise.
22467         * modules/unictype/block-of-tests: Likewise.
22468         * modules/unictype/block-test-tests: Likewise.
22469         * modules/unictype/category-C-tests: Likewise.
22470         * modules/unictype/category-Cc-tests: Likewise.
22471         * modules/unictype/category-Cf-tests: Likewise.
22472         * modules/unictype/category-Cn-tests: Likewise.
22473         * modules/unictype/category-Co-tests: Likewise.
22474         * modules/unictype/category-Cs-tests: Likewise.
22475         * modules/unictype/category-L-tests: Likewise.
22476         * modules/unictype/category-Ll-tests: Likewise.
22477         * modules/unictype/category-Lm-tests: Likewise.
22478         * modules/unictype/category-Lo-tests: Likewise.
22479         * modules/unictype/category-Lt-tests: Likewise.
22480         * modules/unictype/category-Lu-tests: Likewise.
22481         * modules/unictype/category-M-tests: Likewise.
22482         * modules/unictype/category-Mc-tests: Likewise.
22483         * modules/unictype/category-Me-tests: Likewise.
22484         * modules/unictype/category-Mn-tests: Likewise.
22485         * modules/unictype/category-N-tests: Likewise.
22486         * modules/unictype/category-Nd-tests: Likewise.
22487         * modules/unictype/category-Nl-tests: Likewise.
22488         * modules/unictype/category-No-tests: Likewise.
22489         * modules/unictype/category-P-tests: Likewise.
22490         * modules/unictype/category-Pc-tests: Likewise.
22491         * modules/unictype/category-Pd-tests: Likewise.
22492         * modules/unictype/category-Pe-tests: Likewise.
22493         * modules/unictype/category-Pf-tests: Likewise.
22494         * modules/unictype/category-Pi-tests: Likewise.
22495         * modules/unictype/category-Po-tests: Likewise.
22496         * modules/unictype/category-Ps-tests: Likewise.
22497         * modules/unictype/category-S-tests: Likewise.
22498         * modules/unictype/category-Sc-tests: Likewise.
22499         * modules/unictype/category-Sk-tests: Likewise.
22500         * modules/unictype/category-Sm-tests: Likewise.
22501         * modules/unictype/category-So-tests: Likewise.
22502         * modules/unictype/category-Z-tests: Likewise.
22503         * modules/unictype/category-Zl-tests: Likewise.
22504         * modules/unictype/category-Zp-tests: Likewise.
22505         * modules/unictype/category-Zs-tests: Likewise.
22506         * modules/unictype/category-and-not-tests: Likewise.
22507         * modules/unictype/category-and-tests: Likewise.
22508         * modules/unictype/category-byname-tests: Likewise.
22509         * modules/unictype/category-name-tests: Likewise.
22510         * modules/unictype/category-none-tests: Likewise.
22511         * modules/unictype/category-of-tests: Likewise.
22512         * modules/unictype/category-or-tests: Likewise.
22513         * modules/unictype/category-test-withtable-tests: Likewise.
22514         * modules/unictype/combining-class-tests: Likewise.
22515         * modules/unictype/ctype-alnum-tests: Likewise.
22516         * modules/unictype/ctype-alpha-tests: Likewise.
22517         * modules/unictype/ctype-blank-tests: Likewise.
22518         * modules/unictype/ctype-cntrl-tests: Likewise.
22519         * modules/unictype/ctype-digit-tests: Likewise.
22520         * modules/unictype/ctype-graph-tests: Likewise.
22521         * modules/unictype/ctype-lower-tests: Likewise.
22522         * modules/unictype/ctype-print-tests: Likewise.
22523         * modules/unictype/ctype-punct-tests: Likewise.
22524         * modules/unictype/ctype-space-tests: Likewise.
22525         * modules/unictype/ctype-upper-tests: Likewise.
22526         * modules/unictype/ctype-xdigit-tests: Likewise.
22527         * modules/unictype/decimal-digit-tests: Likewise.
22528         * modules/unictype/digit-tests: Likewise.
22529         * modules/unictype/mirror-tests: Likewise.
22530         * modules/unictype/numeric-tests: Likewise.
22531         * modules/unictype/property-alphabetic-tests: Likewise.
22532         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22533         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22534         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22535         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22536         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22537         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22538         * modules/unictype/property-bidi-control-tests: Likewise.
22539         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22540         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22541         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22542         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22543         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22544         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22545         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22546         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22547         * modules/unictype/property-bidi-pdf-tests: Likewise.
22548         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22549         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22550         * modules/unictype/property-byname-tests: Likewise.
22551         * modules/unictype/property-combining-tests: Likewise.
22552         * modules/unictype/property-composite-tests: Likewise.
22553         * modules/unictype/property-currency-symbol-tests: Likewise.
22554         * modules/unictype/property-dash-tests: Likewise.
22555         * modules/unictype/property-decimal-digit-tests: Likewise.
22556         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22557         * modules/unictype/property-deprecated-tests: Likewise.
22558         * modules/unictype/property-diacritic-tests: Likewise.
22559         * modules/unictype/property-extender-tests: Likewise.
22560         * modules/unictype/property-format-control-tests: Likewise.
22561         * modules/unictype/property-grapheme-base-tests: Likewise.
22562         * modules/unictype/property-grapheme-extend-tests: Likewise.
22563         * modules/unictype/property-grapheme-link-tests: Likewise.
22564         * modules/unictype/property-hex-digit-tests: Likewise.
22565         * modules/unictype/property-hyphen-tests: Likewise.
22566         * modules/unictype/property-id-continue-tests: Likewise.
22567         * modules/unictype/property-id-start-tests: Likewise.
22568         * modules/unictype/property-ideographic-tests: Likewise.
22569         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22570         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22571         * modules/unictype/property-ignorable-control-tests: Likewise.
22572         * modules/unictype/property-iso-control-tests: Likewise.
22573         * modules/unictype/property-join-control-tests: Likewise.
22574         * modules/unictype/property-left-of-pair-tests: Likewise.
22575         * modules/unictype/property-line-separator-tests: Likewise.
22576         * modules/unictype/property-logical-order-exception-tests: Likewise.
22577         * modules/unictype/property-lowercase-tests: Likewise.
22578         * modules/unictype/property-math-tests: Likewise.
22579         * modules/unictype/property-non-break-tests: Likewise.
22580         * modules/unictype/property-not-a-character-tests: Likewise.
22581         * modules/unictype/property-numeric-tests: Likewise.
22582         * modules/unictype/property-other-alphabetic-tests: Likewise.
22583         * modules/unictype/property-other-default-ignorable-code-point-tests:
22584         Likewise.
22585         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22586         * modules/unictype/property-other-id-continue-tests: Likewise.
22587         * modules/unictype/property-other-id-start-tests: Likewise.
22588         * modules/unictype/property-other-lowercase-tests: Likewise.
22589         * modules/unictype/property-other-math-tests: Likewise.
22590         * modules/unictype/property-other-uppercase-tests: Likewise.
22591         * modules/unictype/property-paired-punctuation-tests: Likewise.
22592         * modules/unictype/property-paragraph-separator-tests: Likewise.
22593         * modules/unictype/property-pattern-syntax-tests: Likewise.
22594         * modules/unictype/property-pattern-white-space-tests: Likewise.
22595         * modules/unictype/property-private-use-tests: Likewise.
22596         * modules/unictype/property-punctuation-tests: Likewise.
22597         * modules/unictype/property-quotation-mark-tests: Likewise.
22598         * modules/unictype/property-radical-tests: Likewise.
22599         * modules/unictype/property-sentence-terminal-tests: Likewise.
22600         * modules/unictype/property-soft-dotted-tests: Likewise.
22601         * modules/unictype/property-space-tests: Likewise.
22602         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22603         * modules/unictype/property-test-tests: Likewise.
22604         * modules/unictype/property-titlecase-tests: Likewise.
22605         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22606         * modules/unictype/property-unified-ideograph-tests: Likewise.
22607         * modules/unictype/property-uppercase-tests: Likewise.
22608         * modules/unictype/property-variation-selector-tests: Likewise.
22609         * modules/unictype/property-white-space-tests: Likewise.
22610         * modules/unictype/property-xid-continue-tests: Likewise.
22611         * modules/unictype/property-xid-start-tests: Likewise.
22612         * modules/unictype/property-zero-width-tests: Likewise.
22613         * modules/unictype/scripts-tests: Likewise.
22614         * modules/unictype/syntax-c-ident-tests: Likewise.
22615         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22616         * modules/unictype/syntax-java-ident-tests: Likewise.
22617         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22618         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22619         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22620         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22621         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22622         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22623         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22624         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22625         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22626         * modules/uniname/uniname-tests: Likewise.
22627         * modules/uninorm/canonical-decomposition-tests: Likewise.
22628         * modules/uninorm/compat-decomposition-tests: Likewise.
22629         * modules/uninorm/composition-tests: Likewise.
22630         * modules/uninorm/decomposing-form-tests: Likewise.
22631         * modules/uninorm/decomposition-tests: Likewise.
22632         * modules/uninorm/filter-tests: Likewise.
22633         * modules/uninorm/nfc-tests: Likewise.
22634         * modules/uninorm/nfd-tests: Likewise.
22635         * modules/uninorm/nfkc-tests: Likewise.
22636         * modules/uninorm/nfkd-tests: Likewise.
22637         * modules/uninorm/u8-normcmp-tests: Likewise.
22638         * modules/uninorm/u8-normcoll-tests: Likewise.
22639         * modules/uninorm/u16-normcmp-tests: Likewise.
22640         * modules/uninorm/u16-normcoll-tests: Likewise.
22641         * modules/uninorm/u32-normcmp-tests: Likewise.
22642         * modules/uninorm/u32-normcoll-tests: Likewise.
22643         * modules/unistdio/u8-asnprintf-tests: Likewise.
22644         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22645         * modules/unistdio/u8-vasprintf-tests: Likewise.
22646         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22647         * modules/unistdio/u8-vsprintf-tests: Likewise.
22648         * modules/unistdio/u16-asnprintf-tests: Likewise.
22649         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22650         * modules/unistdio/u16-vasprintf-tests: Likewise.
22651         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22652         * modules/unistdio/u16-vsprintf-tests: Likewise.
22653         * modules/unistdio/u32-asnprintf-tests: Likewise.
22654         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22655         * modules/unistdio/u32-vasprintf-tests: Likewise.
22656         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22657         * modules/unistdio/u32-vsprintf-tests: Likewise.
22658         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22659         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22660         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22661         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22662         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22663         * modules/unistr/u8-check-tests: Likewise.
22664         * modules/unistr/u8-chr-tests: Likewise.
22665         * modules/unistr/u8-cmp-tests: Likewise.
22666         * modules/unistr/u8-cmp2-tests: Likewise.
22667         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22668         * modules/unistr/u8-cpy-tests: Likewise.
22669         * modules/unistr/u8-mblen-tests: Likewise.
22670         * modules/unistr/u8-mbsnlen-tests: Likewise.
22671         * modules/unistr/u8-mbtouc-tests: Likewise.
22672         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22673         * modules/unistr/u8-mbtoucr-tests: Likewise.
22674         * modules/unistr/u8-move-tests: Likewise.
22675         * modules/unistr/u8-next-tests: Likewise.
22676         * modules/unistr/u8-prev-tests: Likewise.
22677         * modules/unistr/u8-set-tests: Likewise.
22678         * modules/unistr/u8-stpcpy-tests: Likewise.
22679         * modules/unistr/u8-stpncpy-tests: Likewise.
22680         * modules/unistr/u8-strcat-tests: Likewise.
22681         * modules/unistr/u8-strcmp-tests: Likewise.
22682         * modules/unistr/u8-strcoll-tests: Likewise.
22683         * modules/unistr/u8-strcpy-tests: Likewise.
22684         * modules/unistr/u8-strdup-tests: Likewise.
22685         * modules/unistr/u8-strlen-tests: Likewise.
22686         * modules/unistr/u8-strmblen-tests: Likewise.
22687         * modules/unistr/u8-strmbtouc-tests: Likewise.
22688         * modules/unistr/u8-strncat-tests: Likewise.
22689         * modules/unistr/u8-strncmp-tests: Likewise.
22690         * modules/unistr/u8-strncpy-tests: Likewise.
22691         * modules/unistr/u8-strnlen-tests: Likewise.
22692         * modules/unistr/u8-to-u16-tests: Likewise.
22693         * modules/unistr/u8-to-u32-tests: Likewise.
22694         * modules/unistr/u8-uctomb-tests: Likewise.
22695         * modules/unistr/u16-check-tests: Likewise.
22696         * modules/unistr/u16-chr-tests: Likewise.
22697         * modules/unistr/u16-cmp-tests: Likewise.
22698         * modules/unistr/u16-cmp2-tests: Likewise.
22699         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22700         * modules/unistr/u16-cpy-tests: Likewise.
22701         * modules/unistr/u16-mblen-tests: Likewise.
22702         * modules/unistr/u16-mbsnlen-tests: Likewise.
22703         * modules/unistr/u16-mbtouc-tests: Likewise.
22704         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22705         * modules/unistr/u16-mbtoucr-tests: Likewise.
22706         * modules/unistr/u16-move-tests: Likewise.
22707         * modules/unistr/u16-next-tests: Likewise.
22708         * modules/unistr/u16-prev-tests: Likewise.
22709         * modules/unistr/u16-set-tests: Likewise.
22710         * modules/unistr/u16-stpcpy-tests: Likewise.
22711         * modules/unistr/u16-stpncpy-tests: Likewise.
22712         * modules/unistr/u16-strcat-tests: Likewise.
22713         * modules/unistr/u16-strcmp-tests: Likewise.
22714         * modules/unistr/u16-strcoll-tests: Likewise.
22715         * modules/unistr/u16-strcpy-tests: Likewise.
22716         * modules/unistr/u16-strdup-tests: Likewise.
22717         * modules/unistr/u16-strlen-tests: Likewise.
22718         * modules/unistr/u16-strmblen-tests: Likewise.
22719         * modules/unistr/u16-strmbtouc-tests: Likewise.
22720         * modules/unistr/u16-strncat-tests: Likewise.
22721         * modules/unistr/u16-strncmp-tests: Likewise.
22722         * modules/unistr/u16-strncpy-tests: Likewise.
22723         * modules/unistr/u16-strnlen-tests: Likewise.
22724         * modules/unistr/u16-to-u32-tests: Likewise.
22725         * modules/unistr/u16-to-u8-tests: Likewise.
22726         * modules/unistr/u16-uctomb-tests: Likewise.
22727         * modules/unistr/u32-check-tests: Likewise.
22728         * modules/unistr/u32-chr-tests: Likewise.
22729         * modules/unistr/u32-cmp-tests: Likewise.
22730         * modules/unistr/u32-cmp2-tests: Likewise.
22731         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22732         * modules/unistr/u32-cpy-tests: Likewise.
22733         * modules/unistr/u32-mblen-tests: Likewise.
22734         * modules/unistr/u32-mbsnlen-tests: Likewise.
22735         * modules/unistr/u32-mbtouc-tests: Likewise.
22736         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22737         * modules/unistr/u32-mbtoucr-tests: Likewise.
22738         * modules/unistr/u32-move-tests: Likewise.
22739         * modules/unistr/u32-next-tests: Likewise.
22740         * modules/unistr/u32-prev-tests: Likewise.
22741         * modules/unistr/u32-set-tests: Likewise.
22742         * modules/unistr/u32-stpcpy-tests: Likewise.
22743         * modules/unistr/u32-stpncpy-tests: Likewise.
22744         * modules/unistr/u32-strcat-tests: Likewise.
22745         * modules/unistr/u32-strcmp-tests: Likewise.
22746         * modules/unistr/u32-strcoll-tests: Likewise.
22747         * modules/unistr/u32-strcpy-tests: Likewise.
22748         * modules/unistr/u32-strdup-tests: Likewise.
22749         * modules/unistr/u32-strlen-tests: Likewise.
22750         * modules/unistr/u32-strmblen-tests: Likewise.
22751         * modules/unistr/u32-strmbtouc-tests: Likewise.
22752         * modules/unistr/u32-strncat-tests: Likewise.
22753         * modules/unistr/u32-strncmp-tests: Likewise.
22754         * modules/unistr/u32-strncpy-tests: Likewise.
22755         * modules/unistr/u32-strnlen-tests: Likewise.
22756         * modules/unistr/u32-to-u16-tests: Likewise.
22757         * modules/unistr/u32-to-u8-tests: Likewise.
22758         * modules/unistr/u32-uctomb-tests: Likewise.
22759         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22760         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22761         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22762         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22763         * modules/uniwidth/u8-strwidth-tests: Likewise.
22764         * modules/uniwidth/u8-width-tests: Likewise.
22765         * modules/uniwidth/u16-strwidth-tests: Likewise.
22766         * modules/uniwidth/u16-width-tests: Likewise.
22767         * modules/uniwidth/u32-strwidth-tests: Likewise.
22768         * modules/uniwidth/u32-width-tests: Likewise.
22769         * modules/uniwidth/width-tests: Likewise.
22770
22771 2010-05-18  Richard Jones  <rjones@redhat.com>
22772
22773         doc: users.txt: list hivex
22774         * users.txt: Add hivex.
22775
22776 2010-05-18  Richard Jones  <rjones@redhat.com>
22777
22778         doc: users.txt: list febootstrap
22779         * users.txt: Add febootstrap.
22780
22781 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22782
22783         bootstrap: fix an error when gnulib is not used as a git submodule
22784         * build-aux/bootstrap (gnulib_path): If its length is zero then
22785         assign "gnulib" to it.
22786         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22787
22788 2010-05-16  Bruno Haible  <bruno@clisp.org>
22789
22790         Avoid autoconf warnings about AM_ICONV.
22791         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22792         2.64.
22793
22794 2010-05-16  Bruno Haible  <bruno@clisp.org>
22795
22796         absolute-header: Make the macro usable in more situations.
22797         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
22798         from gl_ABSOLUTE_HEADER.
22799         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
22800
22801 2010-05-16  James Youngman  <jay@gnu.org>
22802
22803         doc: update users.txt
22804         * users.txt: Add CSSC.
22805
22806 2010-05-16  Jim Meyering  <meyering@redhat.com>
22807
22808         init.sh: fix an error in the previous change; add more comments
22809         * tests/init.sh: Compare exit code in loop against 9, not 2.
22810         Patch by Bruno Haible.
22811         Make the two tests more similar by adding an empty "then" clause.
22812         Add comments.
22813
22814         init.sh: avoid unnecessary shell re-exec
22815         * tests/init.sh: Improve the re-exec-required check to first test the
22816         current shell.  If it passes the test, do not search for a shell that
22817         does pass, and do not re-exec.  This test is particularly contorted to
22818         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
22819         of $(...) evokes a syntax error and causes immediate shell exit with
22820         status 2.  Bruno Haible reported that the re-exec made it impossible
22821         to single-step through any init.sh-using script.
22822
22823 2010-05-16  Bruno Haible  <bruno@clisp.org>
22824
22825         Fix collision between gnulib's and libintl's printf replacements.
22826         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22827         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
22828         (printf): When using GNU C, map the __printf__ function to rpl_printf
22829         via __asm__. When not using GNU C, define rpl_printf instead of
22830         __printf__.
22831         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
22832         commit.
22833         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
22834         commit.
22835         * m4/asm-underscore.m4: New file.
22836         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
22837         * modules/stdio (Files): Add m4/asm-underscore.m4.
22838         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
22839         Reported by Ben Pfaff.
22840
22841 2010-05-16  Bruno Haible  <bruno@clisp.org>
22842
22843         verify: Avoid skipping the test on openSUSE 11.0.
22844         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
22845
22846 2010-05-13  Bruno Haible  <bruno@clisp.org>
22847
22848         Avoid useless warnings from G++.
22849         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
22850         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
22851         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22852
22853 2010-05-11  Jim Meyering  <meyering@redhat.com>
22854
22855         maint.mk: tweak preceding change
22856         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
22857         regexps tighter by anchoring at EOL, and make the new group "shy"
22858         for slightly decreased overhead.
22859
22860 2010-05-11  Eric Blake  <eblake@redhat.com>
22861
22862         maint.mk: gnulib doesn't guarantee NSIG
22863         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
22864
22865 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22866
22867         test-pwrite.c: Remove unused variable declaration.
22868         * tests/test-pwrite.c (main): Remove read_buf declaration.
22869
22870         Remove useless test-pwrite.sh file.
22871         * tests/test-pwrite.sh: Delete file.
22872         * modules/pwrite-tests: Remove references.
22873         Reported by Bruno Haible.
22874
22875 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22876
22877         init.sh: fix a typo
22878         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
22879
22880 2010-05-10  Jim Meyering  <meyering@redhat.com>
22881
22882         maint.mk: avoid using a temporary file in the always-defined-macros check
22883         * top/maint.mk (.re-defmac): Remove rule.
22884         (gl_trap_): Remove definition.
22885         (sc_prohibit_always-defined_macros): Rewrite not to create and
22886         depend on a temporary file.  Instead, depend on GNU grep's ability
22887         to read a list of regular expressions from stdin when given "-f -".
22888
22889 2010-05-09  Bruno Haible  <bruno@clisp.org>
22890
22891         Update to GNU gettext 0.18, part 1.
22892         * m4/gettext.m4: Update to GNU gettext 0.18.
22893         * m4/intl.m4: Likewise.
22894         * m4/po.m4: Likewise.
22895         * modules/gettext (Files): Add m4/fcntl-o.m4.
22896         (configure.ac): Require gettext infrastructure from version 0.18.
22897
22898 2010-05-09  Jim Meyering  <meyering@redhat.com>
22899
22900         init.sh: enable MALLOC_PERTURB_
22901         * tests/init.sh: Enable glibc's malloc-perturbing option.
22902
22903         maint.mk: improve sc_cross_check_PATH_usage_in_tests
22904         With my recent change in init.sh from the two-line form:
22905             -#   : ${srcdir=.}
22906             -#   . "$srcdir/init.sh"; path_prepend_ .
22907             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
22908         I noticed that using the one-line form would cause this test
22909         to fail with a false-positive, or to stop working altogether,
22910         depending on whether help-version changed or all the tests did.
22911         * top/maint.mk (_hv_regex): Remove this definition.
22912         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
22913         (_hv_regex_strong): Use a stronger regex to check for conformance.
22914         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
22915         Give a separate diagnostic for lack of conforming use.
22916
22917         maint.mk: prohibit definition of symbols defined by gnulib
22918         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
22919         definition of symbols defined by gnulib.
22920
22921 2010-05-09  Bruno Haible  <bruno@clisp.org>
22922
22923         acl: Avoid test failure on Cygwin-hosted mingw.
22924         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
22925
22926 2010-05-09  Bruno Haible  <bruno@clisp.org>
22927
22928         error: Use system's fcntl function.
22929         * lib/error.c (fcntl): Undefine.
22930
22931 2010-05-09  Jim Meyering  <meyering@redhat.com>
22932
22933         verify: adjust formatting to be more consistent
22934         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
22935         argument-list '('s, and after one comma.
22936
22937 2010-05-09  Bruno Haible  <bruno@clisp.org>
22938
22939         error: More reliable output on mingw.
22940         * lib/error.c: Include <windows.h>.
22941         (is_open): New function.
22942         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
22943         defined.
22944
22945 2010-05-09  Bruno Haible  <bruno@clisp.org>
22946
22947         vasnprintf: Fix syntax errors in libintl build on mingw.
22948         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
22949         pad_ourselves and prec_ourselves after use.
22950
22951 2010-05-08  Bruno Haible  <bruno@clisp.org>
22952
22953         * lib/config.charset: Update comments for Cygwin 1.7.
22954         * lib/localcharset.c: Likewise.
22955
22956 2010-05-07  Jim Meyering  <meyering@redhat.com>
22957
22958         init.sh: improve comments
22959         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
22960         . "${srcdir=.}/init.sh"; path_prepend_ .
22961         Add a note about path_prepend_ and the alternative of using
22962         TESTS_ENVIRONMENT.
22963
22964 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
22965
22966         exclude: Unescape hashed patterns in wildcard mode.
22967         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
22968         to the hash list.
22969         * tests/test-exclude8.sh: New test case.
22970         * modules/exclude-tests: Add new test.
22971
22972 2010-05-05  Eric Blake  <eblake@redhat.com>
22973
22974         verify: automate tests
22975         * modules/verify-tests: New module.
22976         * tests/test-verify.sh: New file.
22977         * tests/test-verify.c: Guard each negative test with a unique id.
22978         Also avoid warning about unused left hand of comma expressions.
22979
22980 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
22981
22982         Further improvements to verify.h, suggested by Eric Blake.
22983         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
22984         the GL_* versions, to avoid collision with OpenGL.
22985         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
22986         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
22987         than testing merely whether it's defined.
22988
22989         Modify verify.h to pacify gcc -Wredundant_decls.
22990         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
22991         These use the prefix "GL_" since they're likely to be useful elsewhere.
22992         We may need to break them out into a different .h file.
22993         (__COUNTER__): Define to 0 if the compiler doesn't support it.
22994         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
22995         of verify_function__.
22996
22997 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22998
22999         Tests for module pwrite.
23000         * modules/pwrite-tests: New file.
23001         * tests/test-pwrite.sh: New file.
23002         * tests/test-pwrite.c: New file.
23003
23004         New module pwrite.
23005         * lib/unistd.in.h (pwrite): New declaration.
23006         * lib/pwrite.c: New file, from glibc with modifications.
23007         * m4/pwrite.m4: New file.
23008         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
23009         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
23010         REPLACE_PWRITE.
23011         * modules/pwrite: New file.
23012         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
23013         REPLACE_PWRITE.
23014         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
23015         * doc/posix-functions/pwrite.texi: Mention the new module.
23016
23017 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23018
23019         pread: Update documentation.
23020         * doc/posix-functions/pread.texi: Mention the 'pread' module.
23021
23022 2010-05-04  Eric Blake  <eblake@redhat.com>
23023
23024         docs: update cygwin progress
23025         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
23026         this bug.
23027         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
23028         Added in cygwin 1.7.2.
23029         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
23030         Likewise.
23031         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
23032         Likewise.
23033         * doc/glibc-functions/dup3.texi (dup3): Likewise.
23034         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
23035         * doc/glibc-functions/accept4.texi (accept4): Likewise.
23036         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
23037         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
23038         Mention nproc module.
23039         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
23040         bug in cygwin 1.7.5 addition.
23041         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
23042         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
23043         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
23044         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
23045         1.7.5.
23046         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
23047         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
23048         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
23049         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
23050         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
23051         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
23052         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
23053         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
23054         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
23055         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
23056         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
23057         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
23058         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
23059         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
23060         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
23061         Likewise.
23062         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
23063         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
23064         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
23065         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
23066         Likewise.
23067         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
23068         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
23069         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
23070         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
23071         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
23072         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
23073         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
23074         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
23075         Likewise.
23076         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
23077         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
23078         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
23079         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
23080         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
23081         Likewise.
23082         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
23083         Likewise.
23084         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
23085         Likewise.
23086         * doc/glibc-functions/xdrrec_endofrecord.texi
23087         (xdrrec_endofrecord): Likewise.
23088         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
23089         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
23090         Likewise.
23091         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
23092         Likewise.
23093
23094 2010-05-04  Jim Meyering  <meyering@redhat.com>
23095
23096         gendocs.sh: make its "-s FILE" option more useful
23097         * build-aux/gendocs.sh: When honoring the -s FILE option, update
23098         $PACKAGE to reflect the probably-different basename of "FILE".
23099
23100 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23101
23102         bootstrap: don't ignore download_po_files failure
23103         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
23104         failure.
23105
23106 2010-05-03  Jim Meyering  <meyering@redhat.com>
23107
23108         maint.mk: allow to pass options to gendocs.sh
23109         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
23110         (gendocs_options_): New overridable variable.
23111
23112         gnu-web-doc-update: don't ignore configure or build failure
23113         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
23114
23115         announce-gen: backslash-escape '@'s in --help output
23116         * build-aux/announce-gen: Fix syntax errors.
23117
23118         maint.mk, announce-gen: allow project-specific announcement mail headers
23119         * top/maint.mk (translation_project_): Define default.
23120         (announcement_Cc_, announcement_mail_headers_): Likewise.
23121         (announcement): Invoke announce-gen with new --mail-headers option.
23122         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
23123
23124         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
23125         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
23126         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
23127         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
23128         line in the "err2" output file when running "make check" in verbose
23129         mode (i.e., with set -x enabled).
23130
23131 2010-05-03  Bruno Haible  <bruno@clisp.org>
23132
23133         wctob: Fix for weird platforms.
23134         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
23135         argument value.
23136
23137 2010-05-03  Jim Meyering  <meyering@redhat.com>
23138
23139         maint.mk: prohibit unwarranted use of <strings.h>
23140         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
23141         strings.h in a file that does not also use strcasecmp, strncasecmp,
23142         ffs or ffsll.
23143
23144         maint.mk: remove obsolete comments
23145         * top/maint.mk: Remove stale, commented-out rules.
23146
23147 2010-05-02  Bruno Haible  <bruno@clisp.org>
23148
23149         wcwidth: Declare also when it's aliased.
23150         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
23151         macro.
23152
23153 2010-05-02  Bruno Haible  <bruno@clisp.org>
23154
23155         Fix regression from 2010-04-25.
23156         * gnulib-tool (func_modules_transitive_closure): Check the status of
23157         all modules, not only of the tests that are of the form foo-tests where
23158         foo is a module.
23159
23160 2010-05-02  Bruno Haible  <bruno@clisp.org>
23161
23162         wctob: Work around nasty Cygwin 1.7.2 bug.
23163         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
23164         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
23165
23166 2010-05-01  Bruno Haible  <bruno@clisp.org>
23167
23168         fpurge: Sharper test.
23169         * tests/test-fpurge.c (main): Add one more ftell check.
23170         * modules/fpurge-tests (Depends-on): Add ftell.
23171         Suggested by Eric Blake.
23172
23173 2010-05-01  Bruno Haible  <bruno@clisp.org>
23174
23175         ftello: Another test.
23176         * tests/test-ftello3.c: New file.
23177         * modules/ftello-tests (Files): Add it.
23178         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23179         MOSTLYCLEANFILES.
23180
23181         ftell: Another test.
23182         * tests/test-ftell3.c: New file.
23183         * modules/ftell-tests (Files): Add it.
23184         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23185         MOSTLYCLEANFILES.
23186
23187 2010-05-01  Bruno Haible  <bruno@clisp.org>
23188
23189         ftell, ftello: Work around Solaris bug.
23190         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
23191         * lib/ftello.c: Include stdio-impl.h.
23192         (ftello): On Solaris, when _IOWRT is set, compute the result without
23193         looking at _IOREAD.
23194         * modules/ftello (Files): Add lib/stdio-impl.h.
23195         * doc/posix-functions/ftell.texi: Mention Solaris bug.
23196         * doc/posix-functions/ftello.texi: Likewise.
23197         Reported by Eric Blake.
23198
23199 2010-05-01  Bruno Haible  <bruno@clisp.org>
23200
23201         freading: Adapt to special meaning of _IOREAD flag on Solaris.
23202         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
23203         the _IOWRT flag is also set.
23204
23205 2010-05-01  Bruno Haible  <bruno@clisp.org>
23206
23207         Fix doc about a HP-UX stdio bug.
23208         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
23209         * doc/posix-functions/ftello.texi: Likewise.
23210
23211 2010-05-01  Bruno Haible  <bruno@clisp.org>
23212
23213         lseek test: Fix failure on Solaris.
23214         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
23215         output.
23216
23217 2010-04-30  Jim Meyering  <meyering@redhat.com>
23218
23219         bootstrap: don't ignore failure to generate po*/Makevars
23220         * build-aux/bootstrap (with_gettext): Don't ignore failure
23221         to create po/Makevars or runtime-po/Makevars.
23222
23223 2010-04-29  Eric Blake  <eblake@redhat.com>
23224
23225         headers: relax license to LGPLv2+
23226         * modules/fcntl-h (License): Relax license.
23227         * modules/getopt-posix (License): Likewise.
23228         * modules/locale (License): Likewise.
23229         * modules/math (License): Likewise.
23230         * modules/pty (License): Likewise.
23231         * modules/sched (License): Likewise.
23232         * modules/search (License): Likewise.
23233         * modules/spawn (License): Likewise.
23234         * modules/stdarg (License): Likewise.
23235         * modules/sysexits (License): Likewise.
23236
23237 2010-04-29  Jim Meyering  <meyering@redhat.com>
23238
23239         inttypes: relax license to LGPLv2+
23240         * modules/inttypes (License): Relax license.
23241
23242 2010-04-29  Simon Josefsson  <simon@josefsson.org>
23243
23244         * top/maint.mk (indent): Run twice to produce idempotent results.
23245
23246 2010-04-28  Bruno Haible  <bruno@clisp.org>
23247
23248         getdate: Generate getdate.c in the source directory.
23249         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
23250         MOSTLYCLEANFILES.
23251         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
23252
23253 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
23254
23255         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
23256         is not declared as a const *; avoid warnings in that case.
23257
23258 2010-04-28  Eric Blake  <eblake@redhat.com>
23259
23260         canonicalize-lgpl: avoid compiler warning
23261         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
23262         declaration' / 'extraneous semicolon' warning with some compilers.
23263         Reported by Andreas Gruenbacher.
23264
23265 2010-04-28  Jim Meyering  <meyering@redhat.com>
23266
23267         init.sh: ensure a more reliable exit status when exiting via trap
23268         * tests/init.sh (setup_): Don't rely on $? in signal handler.
23269         Inspired by patches from Dmitry V. Levin.
23270         Also trap on signal 3 (SIGQUIT).
23271
23272 2010-04-27  Bruno Haible  <bruno@clisp.org>
23273
23274         Update doc about utimes().
23275         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
23276         'utimens' module.
23277         Reported by Andreas Gruenbacher <agruen@suse.de>.
23278
23279 2010-04-27  Eric Blake  <eblake@redhat.com>
23280
23281         full-read, full-write: relax license
23282         * modules/full-read (License): Drop to LGPLv2+.
23283         * modules/full-write (License): Likewise.
23284         * modules/safe-read (License): Likewise.
23285         * modules/safe-write (License): Likewise.
23286
23287         pthread: mention library for linking
23288         * modules/pthread (Link): Mention $(LIB_PTHREAD).
23289
23290 2010-04-27  Jim Meyering  <meyering@redhat.com>
23291
23292         maint.mk: fix a bug introduced in last change
23293         * top/maint.mk (gl_assured_headers_): Now that all names are on
23294         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
23295         is not anchored to end of word, it should be adequate.
23296
23297         maint.mk: avoid side-effect in latest syntax-check
23298         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
23299         to run commands via $(shell...), and hence to incur cost only when
23300         the new rule is actually run.
23301
23302         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
23303         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
23304         and use that to create a regexp used to detect all #if HAVE_..._H uses.
23305         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
23306         (gl_assured_headers_, az_, AZ_): Define.
23307         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
23308
23309 2010-04-26  Jim Meyering  <jim@meyering.net>
23310             Bruno Haible  <bruno@clisp.org>
23311
23312         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
23313         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
23314         Prompted by an exchange with Gilles Espinasse.
23315
23316 2010-04-26  Jim Meyering  <meyering@redhat.com>
23317
23318         git-version-gen: aesthetic tweak
23319         * build-aux/git-version-gen: Use "$nl" rather than a literal,
23320         so that the command remains on a single line.
23321
23322 2010-04-26  Eric Blake  <eblake@redhat.com>
23323
23324         git-version-gen: allow use on EBCDIC hosts
23325         * build-aux/git-version-gen (dirty): Use literal rather than tying
23326         ourselves to ascii.
23327         Reported by Steve Goetze.
23328
23329 2010-04-25  Bruno Haible  <bruno@clisp.org>
23330
23331         netdb: Add support for GNULIB_POSIXCHECK.
23332         * lib/netdb.in.h: Include warn-on-use.h.
23333         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
23334         functions are used when GNULIB_POSIXCHECK is defined and the
23335         getaddrinfo module is not in use.
23336         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
23337         freeaddrinfo, gai_strerror, getnameinfo are declared.
23338         * modules/netdb (Depends-on): Add warn-on-use.
23339         (Makefile.am): Include warn-on-use.h in netdb.h.
23340
23341 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
23342
23343         build: avoid "make check" failure without .git/ directory
23344         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
23345         there is no .git/ directory.
23346
23347 2010-04-25  Bruno Haible  <bruno@clisp.org>
23348
23349         ptsname: Fix misuse of ttyname_r.
23350         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
23351         of errno.
23352
23353 2010-04-25  Bruno Haible  <bruno@clisp.org>
23354
23355         ttyname_r: Make it work on Solaris 10.
23356         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
23357         if the system function has the POSIX declaration. Test whether the
23358         function fails if the buffer is less than 128 bytes large.
23359         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
23360         system's ttyname_r function. Provide a reasonably large buffer.
23361         * modules/ttyname_r (Depends-on): Add extensions.
23362         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
23363
23364 2010-04-25  Bruno Haible  <bruno@clisp.org>
23365
23366         Use the 'extensions' module for some more functions on Solaris.
23367         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
23368         module.
23369         * doc/posix-functions/ctime_r.texi: Likewise.
23370         * doc/posix-functions/getgrgid_r.texi: Likewise.
23371         * doc/posix-functions/getgrnam_r.texi: Likewise.
23372         * doc/posix-functions/getpwnam_r.texi: Likewise.
23373         * doc/posix-functions/getpwuid_r.texi: Likewise.
23374         * doc/posix-functions/readdir_r.texi: Likewise.
23375         * doc/posix-functions/sigwait.texi: Likewise.
23376         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
23377         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
23378
23379 2010-04-25  Bruno Haible  <bruno@clisp.org>
23380
23381         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23382         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23383         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23384         * lib/ttyname_r.c: Include <limits.h>.
23385         (ttyname_r): Define using the system's ttyname_r function, if it exists
23386         and not on Solaris.
23387         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23388         set.
23389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23390         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23391         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23392         Reported by Simon Josefsson.
23393
23394 2010-04-25  Bruno Haible  <bruno@clisp.org>
23395
23396         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23397         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23398         * doc/posix-functions/ctime_r.texi: Likewise.
23399         * doc/posix-functions/getgrgid_r.texi: Likewise.
23400         * doc/posix-functions/getgrnam_r.texi: Likewise.
23401         * doc/posix-functions/getlogin_r.texi: Likewise.
23402         * doc/posix-functions/getpwnam_r.texi: Likewise.
23403         * doc/posix-functions/getpwuid_r.texi: Likewise.
23404         * doc/posix-functions/readdir_r.texi: Likewise.
23405         * doc/posix-functions/sigwait.texi: Likewise.
23406         * doc/posix-functions/ttyname_r.texi: Likewise.
23407         Reported by Simon Josefsson.
23408
23409 2010-04-25  Bruno Haible  <bruno@clisp.org>
23410
23411         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23412         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23413         also to --create-testdir.
23414         (func_acceptable): Don't consider the status of *-tests modules here.
23415         (func_modules_transitive_closure): Consider it here, before including a
23416         test module.
23417         (func_import, func_create_testdir): Set inc_all_direct_tests,
23418         inc_all_indirect_tests.
23419         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23420         --create-testdir and --create-megatestdir.
23421
23422 2010-04-25  Bruno Haible  <bruno@clisp.org>
23423
23424         gnulib-tool: Add --without-*-tests options.
23425         * gnulib-tool (func_usage): Document the --without-*-tests options.
23426         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23427         excl_unportable_tests): New variables.
23428         Fail if they are specified with --import or --update.
23429         (func_acceptable): Respect the excl_*_tests variables.
23430         (func_import): Set the excl_*_tests variables to empty.
23431
23432 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23433             Bruno Haible  <bruno@clisp.org>
23434
23435         Work around a MacOS X 10.4 bug with openpty.
23436         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23437         * tests/test-openpty.c (main): Close the master side explicitly.
23438
23439 2010-04-25  Bruno Haible  <bruno@clisp.org>
23440
23441         strnlen: Fix a C++ test error on MacOS X and Solaris.
23442         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23443         the function is not declared.
23444         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23445         Simon Josefsson.
23446
23447 2010-04-24  Bruno Haible  <bruno@clisp.org>
23448
23449         Avoid a gcc warning.
23450         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23451         of correct type for %08lx directive.
23452         Reported by Eric Blake.
23453
23454 2010-04-24  Bruno Haible  <bruno@clisp.org>
23455
23456         vasnprintf: Correct errno value in case of out-of-memory.
23457         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23458         or sprintf. Use the errno value from SNPRINTF or sprintf.
23459         Reported by Ian Beckwith <ianb@erislabs.net>.
23460
23461 2010-04-24  Bruno Haible  <bruno@clisp.org>
23462
23463         ansi-c++-opt: Find correct compiler when cross-compiling.
23464         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23465         AC_CHECK_PROGS.
23466         Reported by Simon Josefsson.
23467
23468 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23469
23470         vc-list-files: Add support for subversion
23471         * build-aux/vc-list-files: Use "svn list" to generate the list of
23472         files controlled by subversion.
23473
23474 2010-04-23  Jim Meyering  <meyering@redhat.com>
23475
23476         vc-list-files tests: convert to use init.sh
23477         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23478         path_prepend_.
23479         Use Exit, not exit.
23480         Use skip_ rather than open coding it.
23481         Remove trap set-up and compare definitions.
23482         * tests/test-vc-list-files-git.sh: Likewise.
23483         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23484
23485 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23486
23487         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23488         backup files.
23489
23490 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23491
23492         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23493
23494 2010-04-20  Eric Blake  <eblake@redhat.com>
23495
23496         tests: be robust to ignored SIGPIPE
23497         * tests/test-select-in.sh: Consume all output.
23498         * tests/test-lseek.sh: Check correct exit status, while avoiding
23499         EPIPE.
23500
23501 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23502             Bruno Haible  <bruno@clisp.org>
23503
23504         visibility: Don't use -fvisibility if it leads to a warning.
23505         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23506         yes, don't pretend that visibility works if it leads to a warning.
23507         Reported by Mike Gran <spk121@yahoo.com>.
23508
23509 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23510
23511         * build-aux/bootstrap: Use "git -h" for testing for supported options
23512         instead of "git --help".  The short-form option only shows a summary,
23513         and doesn't layout the full man page.  Grep for the full option name
23514         in the summary, too.
23515
23516 2010-04-19  Bruno Haible  <bruno@clisp.org>
23517
23518         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23519         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23520         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23521         mention of RELOCATABLE_STRIP.
23522         Reported by Sylvain Beucler <beuc@beuc.net>.
23523
23524 2010-04-19  Bruno Haible  <bruno@clisp.org>
23525
23526         * lib/diffseq.h: Fix typo in comment.
23527         Reported by Eric Blake.
23528
23529 2010-04-19  Bruno Haible  <bruno@clisp.org>
23530
23531         ioctl: Move autoconf macro to a .m4 file.
23532         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23533         * modules/ioctl (Files): Add it.
23534         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23535         Reported by Ian Beckwith <ianb@erislabs.net>.
23536
23537 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23538             Bruno Haible  <bruno@clisp.org>
23539
23540         diffseq: Accommodate use-case with abstract arrays.
23541         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23542         is not defined.
23543         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23544         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23545
23546 2010-04-18  Bruno Haible  <bruno@clisp.org>
23547
23548         * doc/posix-headers/stdbool.texi: More precise wording.
23549
23550 2010-04-17  Jim Meyering  <meyering@redhat.com>
23551
23552         maint.mk: use gnu-style indentation in an embedded perl script
23553         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23554         Rename variable: s/two/last_two_bytes/
23555
23556 2010-04-16  Eric Blake  <eblake@redhat.com>
23557
23558         test-stdbool: skip test that fails with Solaris CC
23559         * tests/test-stdbool.c (f): Skip test that causes compilation
23560         error under buggy C++ compiler.
23561         * lib/stdbool.in.h: Document the limitation.
23562         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23563
23564         setenv: allow compilation with C++
23565         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23566         register keyword.
23567
23568         stdint: allow test to pass with C++
23569         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23570
23571         getopt: allow compilation with C++
23572         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23573         struct.
23574         * lib/getopt.c (_getopt_internal_r): Use correct type.
23575         Reported by Dagobert Michelson, via Joel E. Denny.
23576
23577 2010-04-16  Bruno Haible  <bruno@clisp.org>
23578
23579         Override netdb.h always.
23580         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23581         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23582         Reported by Ludovic Courtès <ludo@gnu.org>.
23583
23584 2010-04-15  Bruno Haible  <bruno@clisp.org>
23585
23586         openpty: Fix mistake from 2010-03-21.
23587         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23588         Reported by Simon Josefsson.
23589
23590 2010-04-15  Eric Blake  <eblake@redhat.com>
23591
23592         test-forkpty: fix expected signature
23593         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23594         Reported by Simon Josefsson.
23595
23596 2010-04-15  Jim Meyering  <meyering@redhat.com>
23597
23598         maint.mk: texinfo_suffix_re_: correct the default regexp
23599         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23600
23601         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23602         make it configurable via texinfo_suffix_re_.
23603
23604 2010-04-14  Eric Blake  <eblake@redhat.com>
23605
23606         strtok_r: relax license to LGPLv2+
23607         * modules/strtok_r (License): Relax license.
23608         Reported by Matthias Bolte.
23609
23610 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23611
23612         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23613         version 1.4.4 by default instead of requiring the libgcrypt
23614         version used during build.  This makes it possible to use the
23615         application with older but still binary compatible libgcrypt
23616         versions.
23617
23618 2010-04-13  Eric Blake  <eblake@redhat.com>
23619
23620         getopt-gnu: match recent glibc fixes and posix ruling
23621         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23622         '+' handling, when requesting extensions.
23623         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23624         'W;' handling.
23625         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23626         * doc/posix-functions/getopt.texi (getopt): Document this.
23627         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23628         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23629         Likewise.
23630
23631         getopt: merge bug fixes from glibc
23632         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23633         diagnostics.  Honor '+:' correctly.  Reject ';'.
23634
23635         getopt-posix: detect MacOS bug
23636         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23637         optind when missing a required argument.
23638         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23639         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23640         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23641         Likewise.
23642
23643         getopt-posix: avoid spurious failure on Solaris
23644         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23645         an indicator that setting optind=1 is sufficient for reset.
23646
23647         getopt-posix: avoid spurious failure on FreeBSD
23648         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23649         in POSIX mode, since the m4 test uses it.
23650
23651         gnulib-tool: silence warning on BSD sh
23652         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23653
23654 2010-04-13  Jim Meyering  <meyering@redhat.com>
23655
23656         doc: users.txt: GNU patch now uses gnulib
23657         * users.txt: Add patch.
23658
23659 2010-04-12  Jim Meyering  <meyering@redhat.com>
23660
23661         maint.mk: generate more concise timing data for syntax-check rules
23662         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23663         " done" from each line that reports a syntax-check test duration.
23664
23665 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23666
23667         git-version-gen: use "git update-index..." rather than "git status"
23668         * build-aux/git-version-gen: Use git update-index --refresh, not
23669         "git status".  With some versions of git, "git status" would fail
23670         to update the index and result in an unwarranted "-dirty" suffix.
23671
23672 2010-04-11  Jim Meyering  <meyering@redhat.com>
23673
23674         openat: correct formatting (no semantic change)
23675         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23676         Suggested by Bruno Haible.
23677
23678 2010-04-11  Bruno Haible  <bruno@clisp.org>
23679
23680         Stricter declaration checking in testdirs.
23681         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23682         If for_tests is true, augment AM_CPPFLAGS to define
23683         GNULIB_STRICT_CHECKING.
23684         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23685         GNULIB_STRICT_CHECKING is defined, verify that the function is
23686         declared.
23687
23688 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23689             Bruno Haible  <bruno@clisp.org>
23690
23691         libunistring: Improve configure output.
23692         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23693         Don't say "consider installing GNU libunistring" when checking again
23694         with libiconv.
23695
23696 2010-04-11  Bruno Haible  <bruno@clisp.org>
23697
23698         libunistring: Correct value of $LTLIBUNISTRING.
23699         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23700         correct the value of $LTLIBUNISTRING.
23701
23702 2010-04-11  Bruno Haible  <bruno@clisp.org>
23703
23704         havelib: Add static libraries to LIBS in the right order.
23705         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23706         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23707
23708 2010-04-11  Bruno Haible  <bruno@clisp.org>
23709
23710         libunistring: Detect libunistring also when it depends on libiconv.
23711         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23712         the second AC_LIB_HAVE_LINKFLAGS invocation.
23713
23714 2010-04-11  James Youngman  <jay@gnu.org>
23715
23716         close-stream: declare local scalars to be "const"
23717         * lib/close-stream.c (close_stream): Make boolean variables const
23718         to document the fact that we set but do not change them.
23719
23720 2010-04-11  Bruno Haible  <bruno@clisp.org>
23721
23722         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23723
23724 2010-04-11  Jim Meyering  <meyering@redhat.com>
23725
23726         maint.mk: don't include dist-check.mk
23727         * top/maint.mk: Remove bogus include directive.
23728
23729         maint.mk: improve empty-line-at-EOF check
23730         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23731         solution, rather than tail+Perl-based one.  The latter would read
23732         a few kilobytes from the end of each file, and did not handle empty
23733         files properly.
23734
23735         maint.mk: print the elapsed time for each syntax-check rule
23736         * top/maint.mk (sc_m_rules_): Save start time in a file.
23737         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23738         (local-check): Interpose the .z rules
23739
23740 2010-04-11  Jim Meyering  <meyering@redhat.com>
23741
23742         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23743         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23744         empty file with one that ends in an empty line.
23745
23746 2010-04-10  Bruno Haible  <bruno@clisp.org>
23747
23748         mkdir: Make it work on mingw64.
23749         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23750         * lib/mkdir.c: Update comment.
23751         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
23752
23753 2010-04-10  Bruno Haible  <bruno@clisp.org>
23754
23755         Don't override improved macro from newer autoconf.
23756         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23757         autoconf >= 2.62.
23758         Reported by Joel E. Denny <jdenny@clemson.edu>.
23759
23760 2010-04-10  Jim Meyering  <meyering@redhat.com>
23761
23762         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23763         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23764
23765         maint.mk: correct a diagnostic
23766         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23767         in diagnostic; now use $prohibit.
23768
23769 2010-04-10  Bruno Haible  <address@hidden>
23770
23771         fchownat: Fix a C++ test error on Solaris 8.
23772         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23773         the function does not exist.
23774
23775 2010-04-10  Bruno Haible  <bruno@clisp.org>
23776
23777         vasnprintf: Add more tests.
23778         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23779         (test_function): Test converting an invalid wide string.
23780
23781         vasnprintf: Correct handling of unconvertible wide string arguments.
23782         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23783         VASNPRINTF.
23784         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23785         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23786         smaller than the expected maximum need for the directive. Set errno to
23787         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23788         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23789         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23790         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23791         * modules/vasnprintf (Files): Add m4/printf.m4.
23792         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23793
23794 2010-04-10  Bruno Haible  <bruno@clisp.org>
23795
23796         vasnprintf: Fix crash in %ls directive.
23797         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
23798         string is passed as argument to %ls, with no precision and no width.
23799         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23800
23801 2010-04-10  Bruno Haible  <bruno@clisp.org>
23802
23803         vasnprintf: Fix multiple test failures on mingw.
23804         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
23805         _snprintf, or snwprintf, not _snwprintf.
23806
23807 2010-04-10  Bruno Haible  <bruno@clisp.org>
23808
23809         write: Fix a C++ test error on mingw.
23810         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
23811
23812 2010-04-10  Bruno Haible  <bruno@clisp.org>
23813
23814         vasnprintf test: Reduce code duplication.
23815         * tests/test-vasnprintf.c (test_function): New function, extracted from
23816         test_vasnprintf.
23817         (test_vasnprintf, test_asnprintf): Invoke it.
23818
23819 2010-04-10  Bruno Haible  <bruno@clisp.org>
23820
23821         strnlen: Fix warning in C++ mode on MacOS X.
23822         * lib/string.in.h (strnlen): Use the modern idiom.
23823         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
23824         defining strnlen as a macro already in <config.h>.
23825         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23826         REPLACE_STRNLEN.
23827         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
23828         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23829
23830 2010-04-08  James Youngman  <jay@gnu.org>
23831
23832         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
23833         the example.
23834
23835 2010-04-09  Jim Meyering  <meyering@redhat.com>
23836
23837         maint.mk: print better diagnostic when there is no $(_hv_file)
23838         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
23839         announce that when $(_hv_file) (aka help-version) does not exist.
23840
23841         init.sh: run tr in the "C" locale to avoid multibyte interpretation
23842         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
23843         not try to interpret its random input bytes.  Jarno Rajahalme reported
23844         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
23845         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
23846         (mktempd_): Likewise, just in case.
23847
23848         ftruncate: add two years to projected module removal date: 2012
23849         * m4/ftruncate.m4: Adjust comments.
23850
23851         ftruncate: mark module as obsolete; even MinGW provides it, now
23852         * modules/ftruncate (Status): Obsolete.
23853         (Notice): Say that.
23854         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
23855         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
23856
23857 2010-04-08  Bruno Haible  <bruno@clisp.org>
23858
23859         Fix side effects from tests-related modules.
23860         * modules/dprintf-posix (Comment): New section.
23861         * modules/fprintf-posix (Comment): Likewise.
23862         * modules/obstack-printf-posix (Comment): Likewise.
23863         * modules/printf-posix (Comment): Likewise.
23864         * modules/snprintf-posix (Comment): Likewise.
23865         * modules/sprintf-posix (Comment): Likewise.
23866         * modules/vasnprintf-posix (Comment): Likewise.
23867         * modules/vasprintf-posix (Comment): Likewise.
23868         * modules/vdprintf-posix (Comment): Likewise.
23869         * modules/vfprintf-posix (Comment): Likewise.
23870         * modules/vprintf-posix (Comment): Likewise.
23871         * modules/vsnprintf-posix (Comment): Likewise.
23872         * modules/vsprintf-posix (Comment): Likewise.
23873         * modules/xprintf-posix (Comment): Likewise.
23874         * modules/xvasprintf-posix (Comment): Likewise.
23875         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
23876         * modules/floorf-tests (Depends-on): Likewise.
23877         * modules/round-tests (Depends-on): Likewise.
23878         * modules/roundf-tests (Depends-on): Likewise.
23879         * modules/trunc-tests (Depends-on): Likewise.
23880         * modules/truncf-tests (Depends-on): Likewise.
23881         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
23882         'fprintf-posix' module is not present.
23883         * tests/test-floorf2.c (check): Likewise.
23884         * tests/test-trunc2.c (check): Likewise.
23885         * tests/test-truncf2.c (check): Likewise.
23886         * tests/test-round2.c (equal): Likewise.
23887         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23888
23889 2010-04-07  Karl Berry  <karl@gnu.org>
23890
23891         * config/srclist.txt,
23892         * config/srclistvars.sh,
23893         * config/srclist-update: doc fixes.
23894
23895 2010-04-07  Jim Meyering  <meyering@redhat.com>
23896
23897         maint.mk: add a PATH crosschecking syntax-check rule
23898         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
23899         Useful if you use a test like the one in help-version (coreutils,
23900         diffutils, grep, gzip) that ensures $(VERSION) matches what is
23901         printed by prog --version.
23902
23903 2010-04-06  Bruno Haible  <bruno@clisp.org>
23904
23905         Fix link error on mingw.
23906         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
23907         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
23908
23909 2010-04-06  Bruno Haible  <bruno@clisp.org>
23910
23911         Assume rmdir exists.
23912         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
23913
23914 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
23915
23916         doc: update users.txt
23917         * users.txt: Add gcal.
23918
23919 2010-04-06  Jim Meyering  <meyering@redhat.com>
23920
23921         init.sh: simply unset TMPDIR rather than risking env -i
23922         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
23923         although it probably works fine on all Unix-based systems, some
23924         systems (Cygwin?) cannot tolerate a totally cleared environment.
23925         Suggestion from Eric Blake.
23926
23927 2010-04-06  Jim Meyering  <meyering@redhat.com>
23928
23929         init.sh: portability fix: use env's POSIX-specified -i option not -u
23930         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
23931         than unportable env -u.  Solaris 5.11's env lacks support for -u.
23932
23933 2010-04-05  Bruno Haible  <bruno@clisp.org>
23934
23935         btowc: Work around Cygwin 1.7.2 bug.
23936         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
23937         does not map NUL to 0.
23938         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
23939
23940 2010-04-05  Bruno Haible  <bruno@clisp.org>
23941
23942         Make the multithread modules work on Cygwin 1.7.2.
23943         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
23944         imported symbols can be declared weak, so that it returns "no" on
23945         Cygwin 1.7.2.
23946
23947 2010-04-05  Bruno Haible  <bruno@clisp.org>
23948
23949         Use the module 'strncat'.
23950         * modules/unistr/u8-strncat (Depends-on): Add strncat.
23951
23952         Tests for module 'strncat'.
23953         * modules/strncat-tests: New file.
23954         * tests/test-strncat.c: New file.
23955
23956         New module 'strncat'.
23957         * lib/string.in.h (strncat): New declaration.
23958         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
23959         * m4/strncat.m4: New file, based on m4/memchr.m4.
23960         * modules/strncat: New file.
23961         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
23962         is declared.
23963         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
23964         REPLACE_STRNCAT.
23965         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
23966         REPLACE_STRNCAT.
23967         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
23968         module.
23969         * tests/test-string-c++.cc: Check signature of strncat.
23970
23971 2010-04-05  Jim Meyering  <meyering@redhat.com>
23972
23973         xstrtoumax-tests: convert to use init.sh
23974         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
23975         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23976         Use Exit, not exit.
23977         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23978
23979         xstrtoimax-tests: convert to use init.sh
23980         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
23981         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23982         Use Exit, not exit.
23983         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23984
23985 2010-04-05  Bruno Haible  <bruno@clisp.org>
23986
23987         sys_socket: Avoid #define replacements in C++ mode.
23988         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
23989         warning to the function if possible, rather than #defining the symbol
23990         to a dysfunctional alias.
23991
23992 2010-04-05  Bruno Haible  <bruno@clisp.org>
23993
23994         fseeko: Fix C++ test error on mingw.
23995         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
23996         gl_FUNC_FSEEKO.
23997         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
23998         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
23999         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
24000         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
24001
24002 2010-04-05  Bruno Haible  <bruno@clisp.org>
24003
24004         duplocale: Improve test output.
24005         * tests/test-duplocale.c (main): Print reason for skipped test.
24006
24007 2010-04-05  Bruno Haible  <bruno@clisp.org>
24008
24009         Assume rmdir exists.
24010         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
24011         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
24012
24013 2010-04-05  Bruno Haible  <bruno@clisp.org>
24014
24015         Fix link error on Solaris 8 with cc.
24016         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
24017
24018 2010-04-05  Bruno Haible  <bruno@clisp.org>
24019
24020         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24021         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
24022
24023 2010-04-05  Bruno Haible  <bruno@clisp.org>
24024
24025         vasprintf: Update documentation.
24026         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
24027
24028 2010-04-05  Bruno Haible  <bruno@clisp.org>
24029
24030         ptsname: Improve test.
24031         * tests/test-ptsname.c (main): Also try the various master names of BSD
24032         systems.
24033
24034 2010-04-05  Bruno Haible  <bruno@clisp.org>
24035
24036         memchr: Avoid a possible C++ test error.
24037         * lib/string.in.h (memchr): Provide declaration if function is missing.
24038         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
24039         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
24040         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
24041         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
24042
24043 2010-04-05  Bruno Haible  <bruno@clisp.org>
24044
24045         strtok_r: Improve idiom.
24046         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
24047         AC_LIBOBJ is used.
24048
24049 2010-04-05  Bruno Haible  <bruno@clisp.org>
24050
24051         strdup: Improve idiom.
24052         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
24053         AC_LIBOBJ is used.
24054         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
24055         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
24056         when AC_LIBOBJ is used.
24057
24058 2010-04-05  Bruno Haible  <bruno@clisp.org>
24059
24060         mbsinit, mbrtowc, wcrtomb: Improve idioms.
24061         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
24062         don't set REPLACE_MBSINIT to 1.
24063         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
24064         don't set REPLACE_MBRTOWC to 1.
24065         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
24066         exist, don't set REPLACE_MBSRTOWCS to 1.
24067         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
24068         exist, don't set REPLACE_MBSNRTOWCS to 1.
24069         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
24070         don't set REPLACE_WCRTOMB to 1.
24071         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
24072         exist, don't set REPLACE_WCSRTOMBS to 1.
24073         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
24074         exist, don't set REPLACE_WCSNRTOMBS to 1.
24075
24076 2010-04-05  Bruno Haible  <bruno@clisp.org>
24077
24078         ldexpl: Improve idiom.
24079         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
24080         make sure to set HAVE_DECL_LDEXPL to 0.
24081
24082 2010-04-05  Jim Meyering  <meyering@redhat.com>
24083
24084         xstrtol-tests: convert to use init.sh
24085         * modules/xstrtol-tests (Files): Add tests/init.sh.
24086         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24087         Use Exit, not exit.
24088         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24089
24090         atexit-tests: convert to use init.sh
24091         * modules/atexit-tests (Files): Add tests/init.sh.
24092         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24093         Use Exit, not exit.
24094         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24095
24096         init.sh: fix typo
24097         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
24098
24099         init.sh: make it easier for a test script to write to the tty, ...
24100         when using automake's parallel-tests mode.
24101         * tests/init.sh (stderr_fileno_): Define overridable variable.
24102         (warn_): New function, to use it.
24103         (fail_, skip_, framework_failure_): Use warn_.
24104
24105 2010-04-04  Bruno Haible  <bruno@clisp.org>
24106
24107         btowc: Avoid warning.
24108         * lib/btowc.c: Include <stdlib.h>.
24109         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
24110
24111 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24112             Bruno Haible  <bruno@clisp.org>
24113
24114         wchar: Port to NetBSD 1.5.
24115         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
24116         * lib/wctype.in.h (WEOF): Likewise.
24117
24118 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24119             Bruno Haible  <bruno@clisp.org>
24120
24121         Port extended stdio to NetBSD 1.5.
24122         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
24123         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
24124         older.
24125
24126 2010-04-04  Bruno Haible  <bruno@clisp.org>
24127
24128         string: Remove unused substitution.
24129         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24130         HAVE_DECL_STRERROR.
24131         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
24132
24133 2010-04-04  Bruno Haible  <bruno@clisp.org>
24134
24135         strtod: Avoid a possible C++ test error.
24136         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
24137         set REPLACE_STRTOD.
24138
24139 2010-04-04  Bruno Haible  <bruno@clisp.org>
24140
24141         strerror: Update documentation.
24142         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
24143
24144 2010-04-04  Bruno Haible  <bruno@clisp.org>
24145
24146         stdio: Fix some C++ test errors on Solaris 8 with GCC.
24147         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
24148         _GL_CXXALIAS_SYS_CAST.
24149
24150 2010-04-04  Bruno Haible  <bruno@clisp.org>
24151
24152         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24153         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
24154         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
24155         REPLACE_FREXPL to 1.
24156         * doc/posix-functions/frexpl.texi: Update documentation.
24157
24158 2010-04-04  Bruno Haible  <bruno@clisp.org>
24159
24160         math: Fix some C++ test errors on Solaris 8 and Cygwin.
24161         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
24162
24163 2010-04-04  Bruno Haible  <bruno@clisp.org>
24164
24165         Implement nanosleep for native Windows.
24166         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
24167
24168 2010-04-04  Bruno Haible  <bruno@clisp.org>
24169
24170         math: Fix some C++ test errors on Solaris 8.
24171         * lib/math.in.h (truncf, trunc): Use simpler idiom.
24172
24173 2010-04-04  Bruno Haible  <bruno@clisp.org>
24174
24175         math: Fix some C++ test errors on Cygwin.
24176         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
24177         truncl): Provide declaration if the system does not have it.
24178         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
24179         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
24180         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
24181         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
24182         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
24183         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
24184         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
24185         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
24186         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
24187         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
24188         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
24189         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
24190         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
24191         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
24192         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
24193         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
24194         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
24195         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24196         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24197         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
24198         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24199         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24200
24201 2010-04-04  Bruno Haible  <bruno@clisp.org>
24202
24203         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
24204         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24205         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
24206         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24207         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24208         * m4/isinf.m4 (gl_ISINF): Likewise.
24209         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24210
24211 2010-04-04  Bruno Haible  <bruno@clisp.org>
24212
24213         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
24214         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24215
24216 2010-04-04  Bruno Haible  <bruno@clisp.org>
24217
24218         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
24219         * modules/tmpfile (configure.ac): Update.
24220
24221         tmpfile: Fix C++ test error on mingw.
24222         * lib/stdio.in.h (tmpfile): New declaration.
24223         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
24224         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
24225         * modules/tmpfile (Depends-on): Add stdio.
24226         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
24227         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
24228         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
24229         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
24230         REPLACE_TMPFILE.
24231         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
24232
24233 2010-04-04  Bruno Haible  <bruno@clisp.org>
24234
24235         ioctl: Fix C++ test error on mingw.
24236         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
24237         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
24238         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
24239
24240 2010-04-03  Bruno Haible  <bruno@clisp.org>
24241
24242         wcwidth: Fix C++ test error on mingw.
24243         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
24244         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
24245         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
24246
24247 2010-04-03  Bruno Haible  <bruno@clisp.org>
24248
24249         nanosleep: Fix C++ test error on mingw.
24250         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
24251         * lib/time.in.h (nanosleep): Use modern idiom.
24252         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
24253         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
24254         REPLACE_NANOSLEEP to 1.
24255         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
24256         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
24257
24258 2010-04-03  Bruno Haible  <bruno@clisp.org>
24259
24260         strptime: Fix C++ test error on mingw.
24261         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
24262         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
24263         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
24264         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
24265         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
24266         not REPLACE_STRPTIME.
24267         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
24268         REPLACE_STRPTIME.
24269
24270 2010-04-03  Bruno Haible  <bruno@clisp.org>
24271
24272         timegm: Fix C++ test error on mingw.
24273         * lib/time.in.h (timegm): Use modern idiom.
24274         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
24275         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
24276         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
24277         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
24278
24279 2010-04-03  Bruno Haible  <bruno@clisp.org>
24280
24281         timegm: Assume declaration if function exists.
24282         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
24283         if it exists. Don't clobber ac_cv_func_timegm.
24284
24285 2010-04-03  Bruno Haible  <bruno@clisp.org>
24286
24287         time_r: Fix C++ test error on mingw.
24288         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
24289         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
24290         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
24291         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
24292         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
24293
24294 2010-04-03  Bruno Haible  <bruno@clisp.org>
24295
24296         time_r: Minor updates.
24297         * modules/time_r (Description): Mention the provided functions.
24298         * lib/time_r.c: Don't include <string.h>.
24299         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
24300         * doc/posix-functions/localtime_r.texi: Likewise.
24301
24302 2010-04-03  Bruno Haible  <bruno@clisp.org>
24303
24304         time: Fix regression introduced on 2010-03-08.
24305         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
24306         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
24307
24308 2010-04-03  Jim Meyering  <meyering@redhat.com>
24309
24310         maint.mk: don't silently disable project-specific syntax-check rules
24311         * top/maint.mk (_prohibit_regexp): Define, to help people realize
24312         that they need to convert their project-specific syntax-check rules
24313         to use the new _sc_search_regexp.
24314
24315 2010-04-03  Bruno Haible  <bruno@clisp.org>
24316
24317         fchdir: Fix regression introduced on 2010-03-08.
24318         * lib/unistd.in.h (fchdir): Fix declaration.
24319         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
24320         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
24321         REPLACE_FCHDIR.
24322         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
24323         REPLACE_FCHDIR.
24324
24325 2010-04-03  Bruno Haible  <bruno@clisp.org>
24326
24327         getpagesize: Fix C++ test error on mingw.
24328         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
24329         system does not declare the function.
24330         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
24331         declared.
24332         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24333         HAVE_DECL_GETPAGESIZE.
24334         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
24335
24336 2010-04-03  Bruno Haible  <bruno@clisp.org>
24337
24338         stdio: Make C++ tests work on mingw.
24339         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
24340         does not declare the function.
24341
24342 2010-04-03  Bruno Haible  <bruno@clisp.org>
24343
24344         ftello: Fix C++ test error on mingw.
24345         * lib/stdio.in.h (ftello): Use modern idiom.
24346         * lib/ftello.c (ftello): Renamed from rpl_ftello.
24347         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
24348         is missing and that it needs to be replaced.
24349         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
24350         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
24351         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
24352
24353 2010-04-03  Bruno Haible  <bruno@clisp.org>
24354
24355         fseeko: Fix C++ test error on mingw.
24356         * lib/stdio.in.h (fseeko): Use modern idiom.
24357         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
24358         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
24359         is missing and that it needs to be replaced.
24360         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
24361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
24362         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
24363
24364 2010-04-03  Bruno Haible  <bruno@clisp.org>
24365
24366         mkstemp: Fix C++ test error on mingw.
24367         * lib/stdlib.in.h (mkstemp): Use modern idiom.
24368         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
24369         function is missing and that it needs to be replaced.
24370         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
24371         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
24372
24373 2010-04-03  Bruno Haible  <bruno@clisp.org>
24374
24375         stpncpy: Fix C++ test error on mingw.
24376         * lib/string.in.h (stpncpy): Use modern idiom.
24377         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
24378         function is missing and that it needs to be replaced.
24379         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24380         REPLACE_STPNCPY.
24381         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24382
24383 2010-04-03  Bruno Haible  <bruno@clisp.org>
24384
24385         sys_stat: Fix C++ test error on mingw.
24386         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24387         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24388
24389 2010-04-03  Bruno Haible  <bruno@clisp.org>
24390
24391         pty: Update doc.
24392         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24393
24394 2010-04-03  Bruno Haible  <bruno@clisp.org>
24395
24396         unistd: Fix C++ test error on mingw.
24397         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24398
24399 2010-04-03  Bruno Haible  <bruno@clisp.org>
24400
24401         Update doc regarding mingw.
24402         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24403         * doc/glibc-functions/login_tty.texi: Likewise.
24404         * doc/glibc-functions/forkpty.texi: Likewise.
24405
24406 2010-04-03  Bruno Haible  <bruno@clisp.org>
24407
24408         stdlib: Avoid compilation failure of c-strtold on mingw.
24409         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24410
24411 2010-04-03  Bruno Haible  <bruno@clisp.org>
24412
24413         locale: Make C++ tests work on Cygwin and mingw.
24414         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24415         cannot provide the function.
24416         Reported by Simon Josefsson.
24417
24418 2010-04-03  Bruno Haible  <bruno@clisp.org>
24419
24420         localename: Port to MacOS X 10.6.
24421         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24422         memory layout of the locales in MacOS X 10.6 as well.
24423         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24424
24425 2010-04-02  Bruno Haible  <bruno@clisp.org>
24426
24427         gnulib-tool: Ensure that long-running tests are executed last.
24428         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24429         running tests after the one for the other tests.
24430
24431 2010-04-02  Bruno Haible  <bruno@clisp.org>
24432
24433         gnulib-tool: Ensure the tests in the main directory are executed first.
24434         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24435         start with the current directory.
24436
24437 2010-04-02  Bruno Haible  <bruno@clisp.org>
24438
24439         Tests for module 'havelib', moved here from GNU gettext.
24440         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24441         modifications.
24442         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24443         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24444         with modifications.
24445         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24446         modifications.
24447         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24448         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24449         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24450         with modifications.
24451         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24452         with modifications.
24453         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24454         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24455         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24456         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24457         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24458         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24459         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24460         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24461         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24462         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24463         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24464         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24465         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24466         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24467         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24468         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24469         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24470         with modifications.
24471         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24472         with modifications.
24473         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24474         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24475         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24476         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24477         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24478         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24479         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24480         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24481         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24482         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24483         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24484         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24485         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24486         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24487         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24488         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24489         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24490         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24491         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24492         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24493         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24494         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24495         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24496         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24497         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24498         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24499         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24500         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24501         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24502         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24503         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24504         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24505         * tests/havelib/rpathx/rpathx.c: New file, from
24506         gettext/autoconf-lib-link.
24507         * tests/havelib/rpathx/Makefile.am: New file, from
24508         gettext/autoconf-lib-link.
24509         * tests/havelib/rpathx/configure.ac: New file, from
24510         gettext/autoconf-lib-link with modifications.
24511         * tests/havelib/rpathy/rpathy.c: New file, from
24512         gettext/autoconf-lib-link.
24513         * tests/havelib/rpathy/Makefile.am: New file, from
24514         gettext/autoconf-lib-link.
24515         * tests/havelib/rpathy/configure.ac: New file, from
24516         gettext/autoconf-lib-link with modifications.
24517         * tests/havelib/rpathz/rpathz.c: New file, from
24518         gettext/autoconf-lib-link.
24519         * tests/havelib/rpathz/Makefile.am: New file, from
24520         gettext/autoconf-lib-link.
24521         * tests/havelib/rpathz/configure.ac: New file, from
24522         gettext/autoconf-lib-link with modifications.
24523         * tests/havelib/rpathlx/usex.c: New file, from
24524         gettext/autoconf-lib-link.
24525         * tests/havelib/rpathlx/Makefile.am: New file, from
24526         gettext/autoconf-lib-link.
24527         * tests/havelib/rpathlx/configure.ac: New file, from
24528         gettext/autoconf-lib-link with modifications.
24529         * tests/havelib/rpathly/usey.c: New file, from
24530         gettext/autoconf-lib-link.
24531         * tests/havelib/rpathly/Makefile.am: New file, from
24532         gettext/autoconf-lib-link.
24533         * tests/havelib/rpathly/configure.ac: New file, from
24534         gettext/autoconf-lib-link with modifications.
24535         * tests/havelib/rpathlz/usez.c: New file, from
24536         gettext/autoconf-lib-link.
24537         * tests/havelib/rpathlz/Makefile.am: New file, from
24538         gettext/autoconf-lib-link.
24539         * tests/havelib/rpathlz/configure.ac: New file, from
24540         gettext/autoconf-lib-link with modifications.
24541         * tests/havelib/rpathlyx/usey.c: New file, from
24542         gettext/autoconf-lib-link.
24543         * tests/havelib/rpathlyx/Makefile.am: New file, from
24544         gettext/autoconf-lib-link.
24545         * tests/havelib/rpathlyx/configure.ac: New file, from
24546         gettext/autoconf-lib-link with modifications.
24547         * tests/havelib/rpathlzyx/usez.c: New file, from
24548         gettext/autoconf-lib-link.
24549         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24550         gettext/autoconf-lib-link.
24551         * tests/havelib/rpathlzyx/configure.ac: New file, from
24552         gettext/autoconf-lib-link with modifications.
24553         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24554         with modifications.
24555
24556 2010-04-02  Bruno Haible  <bruno@clisp.org>
24557
24558         gnulib-tool: Create distributed built sources also for the tests.
24559         * gnulib-tool (func_create_testdir): Also generate distributed built
24560         sources in the tests directory.
24561
24562 2010-04-02  Bruno Haible  <bruno@clisp.org>
24563
24564         gnulib-tool: Obey user's environment variables.
24565         * gnulib-tool (func_create_testdir): When creating built sources,
24566         respect the environment variables for autoconf, automake, etc. given by
24567         the user.
24568
24569 2010-04-02  Bruno Haible  <bruno@clisp.org>
24570
24571         gnulib-tool: Provide the value of --m4-base to modules.
24572         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24573         of gl_m4_base.
24574
24575 2010-04-02  Eric Blake  <eblake@redhat.com>
24576
24577         maint.mk: fix some fallout
24578         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24579         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24580
24581 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24582
24583         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24584         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24585         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24586         (sc_cast_of_x_alloc_return_value): Likewise.
24587         (sc_cast_of_alloca_return_value): Likewise.
24588         (sc_space_tab): Likewise.
24589         (sc_prohibit_atoi_atof): Likewise.
24590         (sc_prohibit_magic_number_exit): Likewise.
24591         (sc_error_exit_success): Likewise.
24592         (sc_file_system): Likewise.
24593         (sc_prohibit_have_config_h): Likewise.
24594         (sc_require_config_h): Likewise.
24595         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24596         (sc_obsolete_symbols): Likewise.
24597         (sc_changelog): Likewise.
24598         (sc_program_name): Likewise.
24599         (sc_the_the): Likewise.
24600         (sc_trailing_blank): Likewise.
24601         (sc_two_space_separator_in_usage): Likewise.
24602         (sc_useless_cpp_parens): Likewise.
24603         (sc_GPL_version): Likewise.
24604         (sc_GFDL_version): Likewise.
24605         (sc_texinfo_acronym): Likewise.
24606         (sc_prohibit_cvs_keyword): Likewise.
24607         (sc_prohibit_stat_st_blocks): Likewise.
24608         (sc_prohibit_S_IS_definition): Likewise.
24609         (sc_redundant_const): Likewise.
24610         (sc_makefile_TAB_only_indentation): Likewise.
24611         (sc_m4_quote_check): Likewise.
24612         (sc_makefile_path_separator_check): Likewise.
24613         (sc_copyright_check): Likewise.
24614         (sc_Wundef_boolean): Likewise.
24615         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24616
24617         maint.mk: match 0 or more whitespace-before-function-call '('
24618         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24619         that have zero or two-and-more spaces between the function name
24620         and the open parenthesis.
24621         (sc_error_message_warn_fatal): Likewise.
24622         (sc_error_message_uppercase): Likewise.
24623         (sc_error_message_period): Likewise.
24624
24625 2010-03-31  Eric Blake  <eblake@redhat.com>
24626
24627         maint.mk: check for [ as well as test
24628         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24629         Based on a libvirt report by Matthias Bolte.
24630
24631         gnumakefile: don't squelch _version output
24632         * top/GNUmakefile (_version): Create one-shot dependency rather
24633         than using $(shell) when version must be regenerated.
24634         (_autoreconf): Run verbosely, by default.
24635
24636         sys_time: avoid compiler warnings
24637         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24638         unconditional, fixing regression from 2010-03-29.
24639         Reported by Simon Josefsson.
24640
24641 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24642
24643         maint.mk: s/_header_without_use/_sc_header_without_use/
24644         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24645         (sc_prohibit_assert_without_use): Use the new name.
24646         (sc_prohibit_close_stream_without_use): Likewise.
24647         (sc_prohibit_getopt_without_use): Likewise.
24648         (sc_prohibit_quotearg_without_use): Likewise.
24649         (sc_prohibit_quote_without_use): Likewise.
24650         (sc_prohibit_long_options_without_use): Likewise.
24651         (sc_prohibit_inttostr_without_use): Likewise.
24652         (sc_prohibit_ignore_value_without_use): Likewise.
24653         (sc_prohibit_error_without_use): Likewise.
24654         (sc_prohibit_xalloc_without_use): Likewise.
24655         (sc_prohibit_hash_without_use): Likewise.
24656         (sc_prohibit_hash_pjw_without_use): Likewise.
24657         (sc_prohibit_safe_read_without_use): Likewise.
24658         (sc_prohibit_argmatch_without_use): Likewise.
24659         (sc_prohibit_canonicalize_without_use): Likewise.
24660         (sc_prohibit_root_dev_ino_without_use): Likewise.
24661         (sc_prohibit_openat_without_use): Likewise.
24662         (sc_prohibit_c_ctype_without_use): Likewise.
24663         (sc_prohibit_signal_without_use): Likewise.
24664         (sc_prohibit_intprops_without_use): Likewise.
24665
24666 2010-03-30  Eric Blake  <eblake@redhat.com>
24667
24668         maint: improve module indicators
24669         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24670         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24671         columns, and avoid extra macro expansion.
24672
24673         fdopendir: work around FreeBSD bug
24674         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24675         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24676         * modules/dirent (Makefile.am): Substitute it.
24677         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24678         declaration.
24679         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24680         fix.
24681         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24682
24683 2010-03-29  Bruno Haible  <bruno@clisp.org>
24684
24685         Emit #pragma system_header after the inclusion guard, not before.
24686         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24687         guard that spans the entire file, not before. This enables an
24688         optimization in GCC's preprocessor.
24689         * lib/ctype.in.h: Likewise.
24690         * lib/dirent.in.h: Likewise.
24691         * lib/errno.in.h: Likewise.
24692         * lib/float.in.h: Likewise.
24693         * lib/getopt.in.h: Likewise.
24694         * lib/iconv.in.h: Likewise.
24695         * lib/langinfo.in.h: Likewise.
24696         * lib/locale.in.h: Likewise.
24697         * lib/math.in.h: Likewise.
24698         * lib/netdb.in.h: Likewise.
24699         * lib/netinet_in.in.h: Likewise.
24700         * lib/pty.in.h: Likewise.
24701         * lib/sched.in.h: Likewise.
24702         * lib/se-selinux.in.h: Likewise.
24703         * lib/search.in.h: Likewise.
24704         * lib/spawn.in.h: Likewise.
24705         * lib/stdarg.in.h: Likewise.
24706         * lib/stdint.in.h: Likewise.
24707         * lib/string.in.h: Likewise.
24708         * lib/strings.in.h: Likewise.
24709         * lib/sys_file.in.h: Likewise.
24710         * lib/sys_ioctl.in.h: Likewise.
24711         * lib/sys_time.in.h: Likewise.
24712         * lib/sys_times.in.h: Likewise.
24713         * lib/sys_utsname.in.h: Likewise.
24714         * lib/sys_wait.in.h: Likewise.
24715         * lib/sysexits.in.h: Likewise.
24716         * lib/wctype.in.h: Likewise.
24717
24718 2010-03-28  James Youngman  <jay@gnu.org>
24719
24720         save-cwd: don't leak a file descriptor when the caller execs.
24721         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24722         saved file descriptor.
24723         * modules/save-cwd (Depends-on): Depend on cloexec.
24724
24725 2010-03-29  Bruno Haible  <bruno@clisp.org>
24726
24727         Remove vestiges of fts-lgpl module.
24728         * lib/fts_.h: Assume GNULIB_FTS is 1.
24729         * lib/fts.c: Likewise.
24730         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24731
24732 2010-03-28  Bruno Haible  <bruno@clisp.org>
24733
24734         Fix definition of tests witness macro.
24735         * gnulib-tool (func_import): Fix definition of witness macro.
24736
24737 2010-03-28  Bruno Haible  <bruno@clisp.org>
24738
24739         Fix ioctl's protoype on glibc systems.
24740         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24741         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24742         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24743         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24744         signature. If not, arrange to replace the ioctl function.
24745         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24746         REPLACE_IOCTL.
24747         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24748         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24749         Reported by Ludovic Courtès <ludo@gnu.org>.
24750
24751 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24752
24753         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24754         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24755         made it so grep -r --include=GLOB* ... did not work.
24756
24757 2010-03-26  Jim Meyering  <meyering@redhat.com>
24758             Eric Blake  <eblake@redhat.com>
24759
24760         maint.mk: prohibit use of test's -o and -a operators
24761         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24762
24763 2010-03-28  Bruno Haible  <bruno@clisp.org>
24764
24765         Remove unused GNULIB_XYZ macro definitions.
24766         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24767         invocation.
24768
24769 2010-03-28  Bruno Haible  <bruno@clisp.org>
24770
24771         Mark privileged tests modules.
24772         * modules/idpriv-drop-tests (Status): New section.
24773         * modules/idpriv-droptemp-tests (Status): New section.
24774
24775 2010-03-28  Bruno Haible  <bruno@clisp.org>
24776
24777         Split C++ tests into separate tests modules.
24778         * modules/dirent-c++-tests: New file, extracted from
24779         modules/dirent-tests.
24780         * modules/dirent-tests: Depend on it.
24781         * modules/fcntl-h-c++-tests: New file, extracted from
24782         modules/fcntl-h-tests.
24783         * modules/fcntl-h-tests: Depend on it.
24784         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24785         * modules/glob-tests: Depend on it.
24786         * modules/iconv-h-c++-tests: New file, extracted from
24787         modules/iconv-h-tests.
24788         * modules/iconv-h-tests: Depend on it.
24789         * modules/langinfo-c++-tests: New file, extracted from
24790         modules/langinfo-tests.
24791         * modules/langinfo-tests: Depend on it.
24792         * modules/locale-c++-tests: New file, extracted from
24793         modules/locale-tests.
24794         * modules/locale-tests: Depend on it.
24795         * modules/math-c++-tests: New file, extracted from modules/math-tests.
24796         * modules/math-tests: Depend on it.
24797         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
24798         * modules/pty-tests: Depend on it.
24799         * modules/search-c++-tests: New file, extracted from
24800         modules/search-tests.
24801         * modules/search-tests: Depend on it.
24802         * modules/signal-c++-tests: New file, extracted from
24803         modules/signal-tests.
24804         * modules/signal-tests: Depend on it.
24805         * modules/spawn-c++-tests: New file, extracted from
24806         modules/spawn-tests.
24807         * modules/spawn-tests: Depend on it.
24808         * modules/stdio-c++-tests: New file, extracted from
24809         modules/stdio-tests.
24810         * modules/stdio-tests: Depend on it.
24811         * modules/stdlib-c++-tests: New file, extracted from
24812         modules/stdlib-tests.
24813         * modules/stdlib-tests: Depend on it.
24814         * modules/string-c++-tests: New file, extracted from
24815         modules/string-tests.
24816         * modules/string-tests: Depend on it.
24817         * modules/sys_ioctl-c++-tests: New file, extracted from
24818         modules/sys_ioctl-tests.
24819         * modules/sys_ioctl-tests: Depend on it.
24820         * modules/sys_select-c++-tests: New file, extracted from
24821         modules/sys_select-tests.
24822         * modules/sys_select-tests: Depend on it.
24823         * modules/sys_socket-c++-tests: New file, extracted from
24824         modules/sys_socket-tests.
24825         * modules/sys_socket-tests: Depend on it.
24826         * modules/sys_stat-c++-tests: New file, extracted from
24827         modules/sys_stat-tests.
24828         * modules/sys_stat-tests: Depend on it.
24829         * modules/sys_time-c++-tests: New file, extracted from
24830         modules/sys_time-tests.
24831         * modules/sys_time-tests: Depend on it.
24832         * modules/time-c++-tests: New file, extracted from modules/time-tests.
24833         * modules/time-tests: Depend on it.
24834         * modules/unistd-c++-tests: New file, extracted from
24835         modules/unistd-tests.
24836         * modules/unistd-tests: Depend on it.
24837         * modules/wchar-c++-tests: New file, extracted from
24838         modules/wchar-tests.
24839         * modules/wchar-tests: Depend on it.
24840         * modules/wctype-c++-tests: New file, extracted from
24841         modules/wctype-tests.
24842         * modules/wctype-tests: Depend on it.
24843         Reported by Simon Josefsson.
24844
24845 2010-03-28  Bruno Haible  <bruno@clisp.org>
24846
24847         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
24848         * gnulib-tool (func_exists_module): New function, extracted from
24849         func_verify_module.
24850         (func_verify_module): Use it.
24851         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
24852         'foo' only if 'foo' exists.
24853         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
24854         module.
24855
24856 2010-03-28  Bruno Haible  <bruno@clisp.org>
24857
24858         gnulib-tool: Add support for special categories of tests.
24859         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
24860         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
24861         (func_usage): Document them.
24862         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
24863         inc_unportable_tests, inc_all_tests): New variables.
24864         (func_acceptable): Consider these variables.
24865         (func_modules_transitive_closure): Make it work when the 'Status' field
24866         consists of multiple words.
24867         (func_import): Store and restore the values of inc_cxx_tests,
24868         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
24869         inc_all_tests in gnulib-comp.m4.
24870         (func_create_testdir): Set inc_all_tests to true.
24871         * doc/gnulib.texi (Extra tests modules): New section.
24872         Suggested by Jim Meyering.
24873
24874 2010-03-28  Bruno Haible  <bruno@clisp.org>
24875
24876         ansi-c++-opt: Allow turning off the C++ build by default.
24877         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
24878         gl_CXX_CHOICE_DEFAULT_NO is defined.
24879         Requested by Eric Blake.
24880
24881 2010-03-28  Bruno Haible  <bruno@clisp.org>
24882
24883         unistd: Avoid #define replacements in C++ mode.
24884         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
24885         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
24886         setsockopt, shutdown, select): In C++, attach a warning to the function
24887         if possible, rather than #defining the symbol to a dysfunctional alias.
24888         Reported by John W. Eaton <jwe@gnu.org>.
24889
24890 2010-03-28  Bruno Haible  <bruno@clisp.org>
24891
24892         Fix link errors on mingw.
24893         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
24894         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
24895         $(LIBSOCKET).
24896         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
24897         $(LIBSOCKET).
24898
24899 2010-03-28  Bruno Haible  <bruno@clisp.org>
24900             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24901
24902         lib-ignore: Determine different options for different compilers.
24903         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
24904         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
24905         Add comments.
24906         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
24907         * NEWS: Mention the change.
24908
24909 2010-03-27  Bruno Haible  <bruno@clisp.org>
24910
24911         Remove unused GNULIB_XYZ macro definitions.
24912         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24913         * modules/fseek (configure.ac): Likewise.
24914         * modules/ioctl (configure.ac): Likewise.
24915         * modules/open (configure.ac): Likewise.
24916         * modules/stdlib-safer (configure.ac): Likewise.
24917
24918 2010-03-27  Bruno Haible  <bruno@clisp.org>
24919
24920         Add a remark about certain modules.
24921         * modules/malloc (Comment): New section.
24922         * modules/realloc (Comment): Likewise.
24923         * modules/sigpipe (Comment): Likewise.
24924
24925 2010-03-27  Bruno Haible  <bruno@clisp.org>
24926
24927         Resolve conflict between the two kinds of module indicators.
24928         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
24929         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
24930         * modules/canonicalize (configure.ac): Invoke
24931         gl_MODULE_INDICATOR_FOR_TESTS.
24932         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
24933         GNULIB_XYZ.
24934         * tests/test-dirent-c++.cc: Likewise.
24935         * tests/test-dirent-safer.c: Likewise.
24936         * tests/test-dup2.c: Likewise.
24937         * tests/test-fchdir.c: Likewise.
24938         * tests/test-fcntl-h-c++.cc: Likewise.
24939         * tests/test-getopt.c: Likewise.
24940         * tests/test-getopt.h: Likewise.
24941         * tests/test-langinfo-c++.cc: Likewise.
24942         * tests/test-locale-c++.cc: Likewise.
24943         * tests/test-math-c++.cc: Likewise.
24944         * tests/test-pty-c++.cc: Likewise.
24945         * tests/test-search-c++.cc: Likewise.
24946         * tests/test-signal-c++.cc: Likewise.
24947         * tests/test-spawn-c++.cc: Likewise.
24948         * tests/test-stdio-c++.cc: Likewise.
24949         * tests/test-stdlib-c++.cc: Likewise.
24950         * tests/test-string-c++.cc: Likewise.
24951         * tests/test-sys_ioctl-c++.cc: Likewise.
24952         * tests/test-sys_select-c++.cc: Likewise.
24953         * tests/test-sys_socket-c++.cc: Likewise.
24954         * tests/test-sys_stat-c++.cc: Likewise.
24955         * tests/test-sys_time-c++.cc: Likewise.
24956         * tests/test-time-c++.cc: Likewise.
24957         * tests/test-unistd-c++.cc: Likewise.
24958         * tests/test-wchar-c++.cc: Likewise.
24959         * tests/uninorm/test-u8-nfc.c: Likewise.
24960         * tests/uninorm/test-u8-nfd.c: Likewise.
24961         * tests/uninorm/test-u8-nfkc.c: Likewise.
24962         * tests/uninorm/test-u8-nfkd.c: Likewise.
24963         * tests/uninorm/test-u16-nfc.c: Likewise.
24964         * tests/uninorm/test-u16-nfd.c: Likewise.
24965         * tests/uninorm/test-u16-nfkc.c: Likewise.
24966         * tests/uninorm/test-u16-nfkd.c: Likewise.
24967         * tests/uninorm/test-u32-nfc.c: Likewise.
24968         * tests/uninorm/test-u32-nfc-big.c: Likewise.
24969         * tests/uninorm/test-u32-nfd.c: Likewise.
24970         * tests/uninorm/test-u32-nfd-big.c: Likewise.
24971         * tests/uninorm/test-u32-nfkc.c: Likewise.
24972         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
24973         * tests/uninorm/test-u32-nfkd.c: Likewise.
24974         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
24975         * tests/uninorm/test-u32-normalize-big.c: Likewise.
24976
24977 2010-03-27  Bruno Haible  <bruno@clisp.org>
24978
24979         Distinguish two kinds of module indicators.
24980         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
24981         gl_MODULE_INDICATOR.
24982         (gl_MODULE_INDICATOR): New macro.
24983         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
24984         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
24985         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24986         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24987         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24988         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24989         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24990         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24991         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24992         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24993         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24994         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24995         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24996         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24997         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24998         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24999         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25000         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25001         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25002         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25003         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25004         * modules/cloexec (configure.ac): Likewise.
25005         * modules/getopt-gnu (configure.ac): Likewise.
25006         * modules/uninorm/u8-normalize (configure.ac): Likewise.
25007         * modules/uninorm/u16-normalize (configure.ac): Likewise.
25008         * modules/uninorm/u32-normalize (configure.ac): Likewise.
25009         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
25010
25011 2010-03-27  Bruno Haible  <bruno@clisp.org>
25012
25013         New module description field 'Comment'.
25014         * gnulib-tool: New option --extract-comment.
25015         (func_usage): Document it.
25016         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
25017         (func_get_comment): New function.
25018         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
25019
25020 2010-03-27  Bruno Haible  <bruno@clisp.org>
25021
25022         Addendum to 2010-02-07 commit.
25023         * gnulib-tool (func_usage): Document --extract-applicability option.
25024
25025 2010-03-27  Bruno Haible  <bruno@clisp.org>
25026
25027         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
25028         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
25029         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
25030         rather than link errors.
25031
25032 2010-03-27  Bruno Haible  <bruno@clisp.org>
25033
25034         Avoid side effects from tests-related modules on the compilation of lib.
25035         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
25036         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
25037         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
25038         parameter. Emit into AM_CPPFLAGS a definition of the designated C
25039         macro.
25040         (func_import): Define a witness macro. Assign it a value that depends
25041         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
25042         tests-related modules.
25043         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
25044         Reported by Jim Meyering.
25045
25046 2010-03-27  Bruno Haible  <bruno@clisp.org>
25047
25048         Factorize common .m4 code.
25049         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
25050         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
25051         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
25052         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
25053         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25054         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
25055         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
25056         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25057         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25058         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25059         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
25060         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25061         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25062         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25063         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25064         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
25065         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25066         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25067         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25068         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
25069         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
25070         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25071         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25072         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25073         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25074         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25075         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
25076         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
25077         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
25078         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25079         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25080         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25081
25082 2010-03-27  Bruno Haible  <bruno@clisp.org>
25083
25084         Fix a compilation error on Cygwin with g++ >= 4.3.
25085         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
25086         if it is undefined or if we alias it to chmod.
25087         (lstat): Don't warn about the use of this function if it is undefined
25088         or if we alias it to stat.
25089         Reported by Simon Josefsson.
25090
25091 2010-03-27  Bruno Haible  <bruno@clisp.org>
25092
25093         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
25094         * modules/getlogin (configure.ac): Update.
25095
25096         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
25097         * modules/getlogin_r (configure.ac): Update.
25098
25099         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
25100         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
25101         * modules/inet_ntop (configure.ac): Update.
25102
25103         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
25104         * modules/inet_pton (configure.ac): Update.
25105
25106         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
25107         * modules/mbslen (configure.ac): Update.
25108
25109         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
25110         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
25111         * modules/forkpty (configure.ac): Update.
25112         * modules/openpty (configure.ac): Update.
25113
25114 2010-03-26  Simon Josefsson  <simon@josefsson.org>
25115
25116         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
25117         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
25118
25119 2010-03-25  Eric Blake  <eblake@redhat.com>
25120
25121         maint: use pragma consistently across replacement headers
25122         * lib/ctype.in.h (system_header): Hoist for consistent placement.
25123         * lib/dirent.in.h (system_header): Likewise.
25124         * lib/errno.in.h (system_header): Likewise.
25125         * lib/float.in.h (system_header): Likewise.
25126         * lib/getopt.in.h (system_header): Likewise.
25127         * lib/iconv.in.h (system_header): Likewise.
25128         * lib/inttypes.in.h (system_header): Likewise.
25129         * lib/langinfo.in.h (system_header): Likewise.
25130         * lib/locale.in.h (system_header): Likewise.
25131         * lib/math.in.h (system_header): Likewise.
25132         * lib/netdb.in.h (system_header): Likewise.
25133         * lib/netinet_in.in.h (system_header): Likewise.
25134         * lib/pty.in.h (system_header): Likewise.
25135         * lib/sched.in.h (system_header): Likewise.
25136         * lib/se-selinux.in.h (system_header): Likewise.
25137         * lib/search.in.h (system_header): Likewise.
25138         * lib/spawn.in.h (system_header): Likewise.
25139         * lib/stdarg.in.h (system_header): Likewise.
25140         * lib/stdint.in.h (system_header): Likewise.
25141         * lib/string.in.h (system_header): Likewise.
25142         * lib/strings.in.h (system_header): Likewise.
25143         * lib/sys_file.in.h (system_header): Likewise.
25144         * lib/sys_ioctl.in.h (system_header): Likewise.
25145         * lib/sys_socket.in.h (system_header): Likewise.
25146         * lib/sys_times.in.h (system_header): Likewise.
25147         * lib/sys_utsname.in.h (system_header): Likewise.
25148         * lib/sys_wait.in.h (system_header): Likewise.
25149         * lib/sysexits.in.h (system_header): Likewise.
25150         * lib/unistd.in.h (system_header): Likewise.
25151         * lib/wctype.in.h (system_header): Likewise.
25152
25153         arpa/inet: fix mingw compilation warning
25154         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
25155         Reported by Matthew Bolte.
25156
25157 2010-03-25  Bruno Haible  <bruno@clisp.org>
25158
25159         Avoid collision between gnulib wrapper and libintl wrapper.
25160         * lib/printf.c (printf): Don't define if a printf wrapper is already
25161         defined in intl/printf.c.
25162         Reported by Michel Boaventura <michel@michelboaventura.com>.
25163
25164 2010-03-25  Bruno Haible  <bruno@clisp.org>
25165
25166         Use ANSI C.
25167         * lib/readutmp.h (getutent): Provide ANSI C prototype.
25168
25169 2010-03-25  Bruno Haible  <bruno@clisp.org>
25170
25171         Minor formatting changes.
25172         * lib/acosl.c: Insert space before function argument list.
25173         * lib/argz.c: Likewise.
25174         * lib/asinl.c: Likewise.
25175         * lib/expl.c: Likewise.
25176         * lib/gen-uni-tables.c: Likewise.
25177         * lib/gettext.h: Likewise.
25178         * lib/glthread/lock.h: Likewise.
25179         * lib/tanl.c: Likewise.
25180         * lib/uniname/uniname.c: Likewise.
25181         * tests/test-idpriv-drop.c: Likewise.
25182         * tests/test-idpriv-droptemp.c: Likewise.
25183         * tests/test-lock.c: Likewise.
25184         * tests/test-tls.c: Likewise.
25185         * lib/argp-help.c: Insert space before function-like macro argument
25186         list.
25187         * lib/memcmp.c: Likewise.
25188         * tests/test-base64.c: Likewise.
25189         * lib/localename.c: Insert space before sizeof's argument list.
25190         * lib/safe-alloc.h: Likewise.
25191         * lib/file-set.h: Insert space before macro argument list.
25192         * tests/test-argp.c: Likewise.
25193         * lib/argp-namefrob.h: Insert space before function parameter list.
25194         * lib/getaddrinfo.c: Likewise.
25195         * lib/netdb.in.h: Likewise.
25196         * lib/parse-duration.h: Likewise.
25197         * lib/parse-duration.c: Likewise.
25198         * lib/poll.c: Likewise.
25199         * lib/select.c: Likewise.
25200         * lib/trim.h: Likewise.
25201         * tests/test-usleep.c: Likewise.
25202         * lib/ldexpl.c: Insert space before function parameter list and before
25203         function argument list.
25204         * lib/logl.c: Likewise.
25205         * lib/sqrtl.c: Likewise.
25206         * lib/trim.c: Likewise.
25207         * lib/cosl.c: Use GNU style indentation. Insert space before function
25208         argument list.
25209         * lib/sinl.c: Likewise.
25210         * lib/tsearch.c: Insert space after 'for'.
25211         Reported by Jim Meyering.
25212
25213 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
25214
25215         * maint.mk (sc_Wundef_boolean): Check for the presence of the
25216         config header before grepping, as it's not present before
25217         autoreconf/configure are run.  Reported by Simon Josefsson.
25218
25219 2010-03-23  Bruno Haible  <bruno@clisp.org>
25220
25221         pt_chown: Make it work with automake < 1.11.
25222         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
25223         Reported by Simon Josefsson.
25224
25225 2010-03-23  Bruno Haible  <bruno@clisp.org>
25226
25227         pt_chown: Don't depend on GPLed modules.
25228         * lib/pt_chown.c: Don't include idpriv.h.
25229         (main): Don't drop privileges.
25230         * modules/pt_chown (Depends-on): Remove idpriv-drop.
25231         Reported by Simon Josefsson.
25232
25233 2010-03-24  Simon Josefsson  <simon@josefsson.org>
25234
25235         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
25236         suggestions from karl@freefriends.org (Karl Berry).
25237
25238 2010-03-22  Eric Blake  <eblake@redhat.com>
25239
25240         gethostname: further tweaks
25241         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
25242         are overriding gethostname.
25243         Suggested by Bruno Haible.
25244
25245 2010-03-21  Bruno Haible  <bruno@clisp.org>
25246
25247         Fix comments.
25248         * lib/forkpty.c (rpl_forkpty): Fix comment.
25249         * lib/openpty.c (rpl_openpty): Likewise.
25250         Reported by Eric Blake.
25251
25252 2010-03-22  Eric Blake  <eblake@redhat.com>
25253
25254         gethostname: fix build on mingw
25255         * lib/unistd.in.h (includes): Work around fact that mingw
25256         <winsock2.h> re-includes <unistd.h>, by avoiding any
25257         redeclarations if we are being included by <winsock2.h>.
25258         Reported by Matthias Bolte.
25259
25260 2010-03-21  Bruno Haible  <bruno@clisp.org>
25261
25262         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25263         * lib/forkpty.c (forkpty): New replacement function, from glibc with
25264         modifications.
25265         * lib/pty.in.h (forkpty): Update declaration. Add comments.
25266         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
25267         provide the replacement.
25268         * modules/forkpty (Depends-on): Add openpty, login_tty.
25269         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
25270         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
25271         * doc/glibc-functions/forkpty.texi: More supported platforms.
25272         * config/srclist.txt: Add forkpty.c (commented).
25273
25274 2010-03-21  Bruno Haible  <bruno@clisp.org>
25275
25276         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
25277         (Makefile.am): Verify that PTY_LIB is defined.
25278
25279         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
25280
25281 2010-03-21  Bruno Haible  <bruno@clisp.org>
25282
25283         Tests for module 'login_tty'.
25284         * modules/login_tty-tests: New file.
25285         * tests/test-login_tty.c: New file.
25286
25287         New module 'login_tty'.
25288         * lib/login_tty.c: New file.
25289         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
25290         * modules/login_tty: New file.
25291         * doc/glibc-functions/login_tty.texi: Mention the new module.
25292
25293 2010-03-21  Bruno Haible  <bruno@clisp.org>
25294
25295         login_tty: Documentation.
25296         * doc/glibc-functions/login_tty.texi: New file.
25297         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
25298
25299 2010-03-21  Bruno Haible  <bruno@clisp.org>
25300
25301         pty: Consistent macro naming.
25302         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
25303         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
25304         * modules/pty (configure.ac): Update.
25305
25306 2010-03-21  Bruno Haible  <bruno@clisp.org>
25307
25308         Tests for openpty: Make stricter.
25309         * tests/test-openpty.c (main): Add test of canonical processing and
25310         erase.
25311         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
25312
25313         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25314         * lib/openpty.c (openpty): New replacement function.
25315         * lib/pty.in.h: Include <termios.h>.
25316         (openpty): Update declaration. Add comments.
25317         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
25318         is not declared, arrange to provide the replacement. Check for _getpty
25319         and posix_openpt.
25320         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
25321         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
25322         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
25323         * modules/pty-tests (test_pty_c___LDADD): New variable.
25324         * doc/glibc-functions/openpty.texi: More supported platforms.
25325
25326 2010-03-21  Bruno Haible  <bruno@clisp.org>
25327
25328         setenv: Tweaks.
25329         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
25330         the test program.
25331         * doc/posix-functions/setenv.texi: Update platforms list.
25332
25333 2010-03-21  Bruno Haible  <bruno@clisp.org>
25334
25335         New module 'unlockpt'.
25336         * lib/unlockpt.c: New file, from glibc with modifications.
25337         * m4/unlockpt.m4: New file.
25338         * modules/unlockpt: New file.
25339         * lib/stdlib.in.h (unlockpt): New declaration.
25340         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
25341         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
25342         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
25343         HAVE_UNLOCKPT.
25344         * doc/posix-functions/unlockpt.texi: Mention the new module.
25345         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
25346         * config/srclist.txt: Add unlockpt.c (commented).
25347
25348 2010-03-21  Jim Meyering  <meyering@redhat.com>
25349
25350         maint.mk: prohibit inclusion of "intprops.h" without use
25351         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
25352
25353 2010-03-21  Bruno Haible  <bruno@clisp.org>
25354
25355         New module 'grantpt'.
25356         * lib/grantpt.c: New file, from glibc with modifications.
25357         * m4/grantpt.m4: New file.
25358         * modules/grantpt: New file.
25359         * lib/stdlib.in.h (grantpt): New declaration.
25360         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
25361         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
25362         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
25363         HAVE_GRANTPT.
25364         * doc/posix-functions/grantpt.texi: Mention the new module.
25365         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
25366         * config/srclist.txt: Add grantpt.c (commented).
25367
25368 2010-03-21  Bruno Haible  <bruno@clisp.org>
25369
25370         New module 'pt_chown'.
25371         * lib/pt_chown.c: New file, from glibc with modifications.
25372         * lib/pty-private.h: New file, from glibc with modifications.
25373         * modules/pt_chown: New file.
25374         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
25375
25376 2010-03-21  Bruno Haible  <bruno@clisp.org>
25377
25378         Tests for module 'ptsname'.
25379         * modules/ptsname-tests: New file.
25380         * tests/test-ptsname.c: New file.
25381
25382         New module 'ptsname'.
25383         * lib/ptsname.c: New file, from glibc with modifications.
25384         * m4/ptsname.m4: New file.
25385         * modules/ptsname: New file.
25386         * lib/stdlib.in.h (ptsname): New declaration.
25387         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25388         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25389         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25390         HAVE_PTSNAME.
25391         * doc/posix-functions/ptsname.texi: Mention the new module.
25392         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25393         * config/srclist.txt: Add ptsname.c (commented).
25394
25395 2010-03-21  Bruno Haible  <bruno@clisp.org>
25396
25397         Tests for module 'ttyname_r'.
25398         * modules/ttyname_r-tests: New file.
25399         * tests/test-ttyname_r.c: New file.
25400
25401         New module 'ttyname_r'.
25402         * lib/ttyname_r.c: New file.
25403         * m4/ttyname_r.m4: New file.
25404         * modules/ttyname_r: New file.
25405         * lib/unistd.in.h (ttyname_r): New declaration.
25406         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25407         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25408         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25409         HAVE_TTYNAME_R.
25410         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25411         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25412
25413 2010-03-20  Bruno Haible  <bruno@clisp.org>
25414
25415         signal: Undefine macro definitions in C++ mode.
25416         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25417         sigfillset): Undefine macro definitions from the system header in C++
25418         mode.
25419         Reported by John W. Eaton <jwe@gnu.org>.
25420
25421 2010-03-20  Bruno Haible  <bruno@clisp.org>
25422
25423         Ensure no #include statements inside extern "C" { ... }.
25424         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25425         contain #include statements.
25426         * lib/time.in.h: Likewise.
25427
25428 2010-03-20  Bruno Haible  <bruno@clisp.org>
25429
25430         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25431         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25432         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25433         Reported by John W. Eaton <jwe@gnu.org>.
25434
25435 2010-03-20  Bruno Haible  <bruno@clisp.org>
25436
25437         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25438         Reported by Jim Meyering.
25439
25440 2010-03-20  Bruno Haible  <bruno@clisp.org>
25441
25442         pipe: Set errno upon failure.
25443         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25444         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25445         errno value in error message.
25446
25447 2010-03-20  Bruno Haible  <bruno@clisp.org>
25448             Jim Meyering  <meyering@redhat.com>
25449
25450         lchown: Avoid "unused variable" warning.
25451         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25452
25453 2010-03-20  Bruno Haible  <bruno@clisp.org>
25454
25455         Work around unlink() bug on MacOS X 10.5.6.
25456         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25457         attempting to unlink a parent directory.
25458         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25459         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25460         activate for the replacement function.
25461         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25462
25463 2010-03-20  Bruno Haible  <bruno@clisp.org>
25464
25465         Fix link errors on Solaris 8.
25466         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25467         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25468
25469 2010-03-19  Jim Meyering  <meyering@redhat.com>
25470
25471         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25472         The _LIBC implementation of build_range_exp correctly honors the
25473         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25474         However, the non-_LIBC implementation would ignore that syntax-bit
25475         flag and return REG_ERANGE unconditionally.
25476         This change makes it honor that flag.
25477         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25478         Make two pointer parameters "const".
25479         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25480         (parse_bracket_exp): Update caller.
25481
25482         regex.m4: correct the reversed range endpoint ([b-a]) test
25483         * m4/regex.m4: When requiring that [b-a] evoke failure,
25484         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25485         test pass once again for x86-based systems.
25486
25487 2010-03-19  Bruno Haible  <bruno@clisp.org>
25488
25489         scandir: Fix link error on Solaris 8.
25490         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25491         macros.
25492
25493 2010-03-19  Bruno Haible  <bruno@clisp.org>
25494
25495         getusershell: Fix documentation.
25496         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25497         module.
25498         * doc/glibc-functions/setusershell.texi: Likewise.
25499
25500         getusershell: Provide declaration, missing on Solaris 9.
25501         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25502         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25503         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25504         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25506         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25507         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25508         HAVE_GETUSERSHELL.
25509         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25510
25511 2010-03-19  Bruno Haible  <bruno@clisp.org>
25512
25513         wctype: Provide iswblank function.
25514         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25515         exists and is fine.
25516         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25517         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25518         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25519         * doc/posix-functions/iswblank.texi: Update.
25520
25521 2010-03-19  Bruno Haible  <bruno@clisp.org>
25522
25523         Tests of module 'pty' in C++ mode.
25524         * modules/pty-tests: New file.
25525         * tests/test-pty-c++.cc: New file.
25526         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25527
25528 2010-03-19  Eric Blake  <eblake@redhat.com>
25529
25530         logb: fix documentation
25531         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25532         1.5 declaration bug.
25533
25534         forkpty, openpty: prefer glibc's const-safe prototype
25535         * lib/forkpty.c (rpl_forkpty): New file.
25536         * lib/openpty.c (rpl_openpty): Likewise.
25537         * modules/forkpty (Files): Distribute it.
25538         * modules/openpty (Files): Likewise.
25539         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25540         check...
25541         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25542         replacement for for non-const BSD signature.
25543         * modules/pty (Makefile.am): Substitute witnesses.
25544         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25545         * tests/test-forkpty.c: Update signature check.
25546         * tests/test-openpty.c: Likewise.
25547         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25548         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25549
25550         forkpty, openpty: split functions into new modules
25551         * modules/pty (Makefile.am): Substitute new witnesses.
25552         (Libraries): Move library detection...
25553         * modules/forkpty: ...into new module.
25554         * modules/openpty: Another new module.
25555         * modules/pty-tests: Rename and split...
25556         * modules/forkpty-tests: ...to this...
25557         * modules/openpty-tests: ...and this.
25558         * tests/test-pty.c: Rename and split...
25559         * tests/test-forkpty.c: ...to this...
25560         * tests/test-openpty.c: ...and this.
25561         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25562         (gl_PTY): Split library searching...
25563         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25564         (gl_FORKPTY, gl_OPENPTY): New macros.
25565         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25566         * NEWS: Mention the split.
25567         * MODULES.html.sh (Misc): Document the modules.
25568         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25569         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25570
25571         pty: improve replacement header
25572         * lib/pty.in.h: New file.
25573         * modules/pty (Files): Ship it.
25574         (Makefile.am): Always build replacement.
25575         * m4/pty.m4: Rename...
25576         * m4/pty_h.m4: ...to this.
25577         (gl_PTY): Modernize setting of witness macros; update check of
25578         forkpty to take proper advantage of cache.
25579         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25580
25581         getopt: avoid compiler warning
25582         * lib/getopt.c (attribute_hidden): Remove unused macro.
25583
25584 2010-03-18  Bruno Haible  <bruno@clisp.org>
25585
25586         Fix link errors on Solaris 8.
25587         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25588         * modules/search-tests (test_search_c___LDADD): Likewise.
25589         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25590         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25591         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25592         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25593         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25594         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25595         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25596
25597 2010-03-18  Bruno Haible  <bruno@clisp.org>
25598
25599         Fix bug introduced on 2010-03-14.
25600         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25601         (gl_SPAWN_H): Require it.
25602         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25603         Reported by Simon Josefsson.
25604
25605 2010-03-18  Bruno Haible  <bruno@clisp.org>
25606
25607         Fix typo introduced on 2009-12-31.
25608         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25609         posix_spawn_file_actions_adddup2.
25610
25611 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25612         and Eric Blake  <eblake@redhat.com>
25613
25614         test-vc-list-files-git: make more robust
25615         * tests/test-vc-list-files-git.sh: Unset problematic environment
25616         variables.  Chain commands together.
25617
25618 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25619
25620         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25621         `AC_CHECK_DECL' invocation.
25622
25623 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25624
25625         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25626         appears before executable statements. Suggested by Petr Sumbera
25627         <Petr.Sumbera@Sun.COM>.
25628
25629 2010-03-14  Bruno Haible  <bruno@clisp.org>
25630
25631         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25632         portability problems. Instead use a simpler test.
25633         (main): Check that invalid arguments are rejected only on Linux.
25634
25635 2010-03-14  Bruno Haible  <bruno@clisp.org>
25636
25637         Fix bug introduced on 2009-12-31.
25638         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25639         gl_PREREQ_SYS_H_WINSOCK2 always.
25640         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25641         SYS_SOCKET_H variable.
25642         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25643         Update comments.
25644         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25645         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25646         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25647         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25648         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25649
25650 2010-03-14  Bruno Haible  <bruno@clisp.org>
25651
25652         Fix values returned by sinl, cosl.
25653         * lib/trigl.h: Add specification comments.
25654         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25655         that combines the values from the precomputed table with the values of
25656         the Chebyshev polynomials.
25657
25658 2010-03-14  Bruno Haible  <bruno@clisp.org>
25659
25660         Fix compilation error when modules 'posix_spawn[p]' are not used.
25661         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25662         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25663
25664 2010-03-14  Bruno Haible  <bruno@clisp.org>
25665
25666         Fix compilation error on mingw when module 'time_r' is not used.
25667         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25668         is 1.
25669         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25670         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25671         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25672         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25673
25674 2010-03-14  Bruno Haible  <bruno@clisp.org>
25675
25676         Fix compilation error with Sun C.
25677         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25678         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25679         instead of GCC specific ULONG_LONG_MAX.
25680         * lib/xstrtoll.c: Likewise.
25681         * lib/xstrtoull.c: Likewise.
25682
25683 2010-03-13  Bruno Haible  <bruno@clisp.org>
25684
25685         Allow the user to disable C++ code and tests.
25686         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25687         (gl_PROG_ANSI_CXX): Require it.
25688
25689 2010-03-13  Bruno Haible  <bruno@clisp.org>
25690
25691         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25692         cases.
25693
25694 2010-03-13  Bruno Haible  <bruno@clisp.org>
25695
25696         Test that gnulib does not break the standard C++ headers.
25697         * tests/test-locale-c++2.cc: New file.
25698         * modules/locale-tests (Files): Add it.
25699         (Makefile.am): Compile it for test-locale-c++.
25700         * tests/test-math-c++2.cc: New file.
25701         * modules/math-tests (Files): Add it.
25702         (Makefile.am): Compile it for test-math-c++.
25703         * tests/test-signal-c++2.cc: New file.
25704         * modules/signal-tests (Files): Add it.
25705         (Makefile.am): Compile it for test-signal-c++.
25706         * tests/test-stdio-c++2.cc: New file.
25707         * modules/stdio-tests (Files): Add it.
25708         (Makefile.am): Compile it for test-stdio-c++.
25709         * tests/test-stdlib-c++2.cc: New file.
25710         * modules/stdlib-tests (Files): Add it.
25711         (Makefile.am): Compile it for test-stdlib-c++.
25712         * tests/test-string-c++2.cc: New file.
25713         * modules/string-tests (Files): Add it.
25714         (Makefile.am): Compile it for test-string-c++.
25715         * tests/test-time-c++2.cc: New file.
25716         * modules/time-tests (Files): Add it.
25717         (Makefile.am): Compile it for test-time-c++.
25718         Reported by John W. Eaton <jwe@gnu.org>.
25719
25720 2010-03-13  Bruno Haible  <bruno@clisp.org>
25721
25722         * gnulib-tool (func_usage): Clarify which options are available for
25723         --create-testdir and --create-megatestdir.
25724
25725 2010-03-13  Bruno Haible  <bruno@clisp.org>
25726
25727         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25728         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25729         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25730         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25731         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25732         when appropriate.
25733         Reported by Jim Meyering.
25734
25735 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25736
25737         * gnulib-tool (func_import): Explain origin of code.
25738
25739 2010-03-12  Bruno Haible  <bruno@clisp.org>
25740
25741         Fix problem with automake's definition of CXXLINK.
25742         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25743         Reported by Simon Josefsson and Ludovic Courtès.
25744
25745 2010-03-12  Bruno Haible  <bruno@clisp.org>
25746
25747         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25748         stable releases.
25749
25750 2010-03-11  Bruno Haible  <bruno@clisp.org>
25751
25752         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25753         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25754         whether the system provides one variant or multiple variants of the
25755         function.
25756         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25757         C++ compilers.
25758         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25759         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25760         Reported by Jim Meyering.
25761
25762 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25763
25764         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25765
25766 2010-03-08  Bruno Haible  <bruno@clisp.org>
25767
25768         gnulib-tool: Add support for --libtool in --create-testdir.
25769         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25770         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25771
25772 2010-03-08  Eric Blake  <eblake@redhat.com>
25773
25774         gnulib-tool.texi: mention possibility of git submodule
25775         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25776         submodules.
25777         * doc/.gitignore: Ignore another generated file.
25778
25779 2010-03-08  Karl Berry  <karl@gnu.org>
25780
25781         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25782         of committing gnulib files while skipping others.
25783
25784 2010-03-07  Bruno Haible  <bruno@clisp.org>
25785
25786         Tests of module 'wctype' in C++ mode.
25787         * tests/test-wctype-c++.cc: New file.
25788         * modules/wctype-tests (Files): Add it and tests/signature.h.
25789         (Depends-on): Add ansi-c++-opt.
25790         (Makefile.am): Arrange to compile and run test-wctype-c++.
25791
25792         Tests of module 'wchar' in C++ mode.
25793         * tests/test-wchar-c++.cc: New file.
25794         * modules/wchar-tests (Files): Add it and tests/signature.h.
25795         (Depends-on): Add ansi-c++-opt.
25796         (Makefile.am): Arrange to compile and run test-wchar-c++.
25797         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
25798         gl_MODULE_INDICATOR.
25799
25800         Tests of module 'unistd' in C++ mode.
25801         * tests/test-unistd-c++.cc: New file.
25802         * modules/unistd-tests (Files): Add it and tests/signature.h.
25803         (Depends-on): Add ansi-c++-opt.
25804         (Makefile.am): Arrange to compile and run test-unistd-c++.
25805         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
25806         gl_MODULE_INDICATOR.
25807
25808         Tests of module 'time' in C++ mode.
25809         * tests/test-time-c++.cc: New file.
25810         * modules/time-tests (Files): Add it and tests/signature.h.
25811         (Depends-on): Add ansi-c++-opt.
25812         (Makefile.am): Arrange to compile and run test-time-c++.
25813         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25814
25815         Tests of module 'sys_time' in C++ mode.
25816         * tests/test-sys_time-c++.cc: New file.
25817         * modules/sys_time-tests (Files): Add it and tests/signature.h.
25818         (Depends-on): Add ansi-c++-opt.
25819         (Makefile.am): Arrange to compile and run test-sys_time-c++.
25820         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
25821         gl_MODULE_INDICATOR.
25822
25823         Tests of module 'sys_stat' in C++ mode.
25824         * tests/test-sys_stat-c++.cc: New file.
25825         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
25826         (Depends-on): Add ansi-c++-opt.
25827         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
25828         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
25829         gl_MODULE_INDICATOR.
25830
25831         Tests of module 'sys_socket' in C++ mode.
25832         * tests/test-sys_socket-c++.cc: New file.
25833         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
25834         (Depends-on): Add ansi-c++-opt.
25835         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
25836         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
25837         gl_MODULE_INDICATOR.
25838
25839         Tests of module 'sys_select' in C++ mode.
25840         * tests/test-sys_select-c++.cc: New file.
25841         * modules/sys_select-tests (Files): Add it and tests/signature.h.
25842         (Depends-on): Add ansi-c++-opt.
25843         (Makefile.am): Arrange to compile and run test-sys_select-c++.
25844         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
25845         gl_MODULE_INDICATOR.
25846
25847         Tests of module 'sys_ioctl' in C++ mode.
25848         * tests/test-sys_ioctl-c++.cc: New file.
25849         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
25850         (Depends-on): Add ansi-c++-opt.
25851         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
25852         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
25853         gl_MODULE_INDICATOR.
25854
25855         Tests of module 'string' in C++ mode.
25856         * tests/test-string-c++.cc: New file.
25857         * modules/string-tests (Files): Add it and tests/signature.h.
25858         (Depends-on): Add ansi-c++-opt.
25859         (Makefile.am): Arrange to compile and run test-string-c++.
25860         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
25861         gl_MODULE_INDICATOR.
25862
25863         Tests of module 'stdlib' in C++ mode.
25864         * tests/test-stdlib-c++.cc: New file.
25865         * modules/stdlib-tests (Files): Add it and tests/signature.h.
25866         (Depends-on): Add ansi-c++-opt.
25867         (Makefile.am): Arrange to compile and run test-stdlib-c++.
25868         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
25869         gl_MODULE_INDICATOR.
25870
25871         Tests of module 'stdio' in C++ mode.
25872         * tests/test-stdio-c++.cc: New file.
25873         * modules/stdio-tests (Files): Add it and tests/signature.h.
25874         (Depends-on): Add ansi-c++-opt.
25875         (Makefile.am): Arrange to compile and run test-stdio-c++.
25876         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
25877         gl_MODULE_INDICATOR.
25878
25879         Tests of module 'spawn' in C++ mode.
25880         * tests/test-spawn-c++.cc: New file.
25881         * modules/spawn-tests (Files): Add it and tests/signature.h.
25882         (Depends-on): Add ansi-c++-opt.
25883         (Makefile.am): Arrange to compile and run test-spawn-c++.
25884         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
25885         gl_MODULE_INDICATOR.
25886
25887         Tests of module 'signal' in C++ mode.
25888         * tests/test-signal-c++.cc: New file.
25889         * modules/signal-tests (Files): Add it and tests/signature.h.
25890         (Depends-on): Add ansi-c++-opt.
25891         (Makefile.am): Arrange to compile and run test-signal-c++.
25892         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
25893         gl_MODULE_INDICATOR.
25894
25895         Tests of module 'search' in C++ mode.
25896         * tests/test-search-c++.cc: New file.
25897         * modules/search-tests (Files): Add it and tests/signature.h.
25898         (Depends-on): Add ansi-c++-opt.
25899         (Makefile.am): Arrange to compile and run test-search-c++.
25900         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
25901         gl_MODULE_INDICATOR.
25902
25903         Tests of module 'math' in C++ mode.
25904         * tests/test-math-c++.cc: New file.
25905         * modules/math-tests (Files): Add it and tests/signature.h.
25906         (Depends-on): Add ansi-c++-opt.
25907         (Makefile.am): Arrange to compile and run test-math-c++.
25908         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25909
25910         Tests of module 'locale' in C++ mode.
25911         * tests/test-locale-c++.cc: New file.
25912         * modules/locale-tests (Files): Add it and tests/signature.h.
25913         (Depends-on): Add ansi-c++-opt.
25914         (Makefile.am): Arrange to compile and run test-locale-c++.
25915         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
25916         gl_MODULE_INDICATOR.
25917
25918         Tests of module 'langinfo' in C++ mode.
25919         * tests/test-langinfo-c++.cc: New file.
25920         * modules/langinfo-tests (Files): Add it and tests/signature.h.
25921         (Depends-on): Add ansi-c++-opt.
25922         (Makefile.am): Arrange to compile and run test-langinfo-c++.
25923         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
25924         gl_MODULE_INDICATOR.
25925
25926         Tests of module 'iconv-h' in C++ mode.
25927         * tests/test-iconv-h-c++.cc: New file.
25928         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
25929         (Depends-on): Add ansi-c++-opt.
25930         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
25931
25932         Tests of module 'glob' in C++ mode.
25933         * tests/test-glob-c++.cc: New file.
25934         * modules/glob-tests (Files): Add it.
25935         (Depends-on): Add ansi-c++-opt.
25936         (Makefile.am): Arrange to compile and run test-glob-c++.
25937
25938         Tests of module 'fcntl-h' in C++ mode.
25939         * tests/test-fcntl-h-c++.cc: New file.
25940         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
25941         (Depends-on): Add ansi-c++-opt.
25942         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
25943         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
25944         gl_MODULE_INDICATOR.
25945
25946         Tests of module 'dirent' in C++ mode.
25947         * tests/test-dirent-c++.cc: New file.
25948         * modules/dirent-tests (Files): Add it and tests/signature.h.
25949         (Depends-on): Add ansi-c++-opt.
25950         (Makefile.am): Arrange to compile and run test-dirent-c++.
25951         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25952         gl_MODULE_INDICATOR.
25953
25954         New module 'ansi-c++-opt'.
25955         * modules/ansi-c++-opt: New file.
25956         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
25957
25958         Document C++ namespace mode.
25959         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
25960
25961         wctype: Avoid #define replacements in C++ mode.
25962         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
25963         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
25964         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
25965         In C++, define a namespaced alias symbol.
25966         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
25967         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
25968         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
25969         rule.
25970
25971         wchar: Avoid #define replacements in C++ mode.
25972         * lib/wchar.in.h: Include c++defs.h.
25973         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
25974         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
25975         symbol.
25976         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
25977         * modules/wchar (Depends-on): Add c++defs.
25978         (Makefile.am): Update wchar.h rule.
25979
25980         unistd: Avoid #define replacements in C++ mode.
25981         * lib/unistd.in.h: Include c++defs.h.
25982         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
25983         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
25984         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
25985         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
25986         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
25987         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
25988         symbol.
25989         (environ): Update.
25990         * modules/unistd (Depends-on): Add c++defs.
25991         (Makefile.am): Update unistd.h rule.
25992
25993         time: Avoid #define replacements in C++ mode.
25994         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
25995         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
25996         define a namespaced alias symbol.
25997         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
25998         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
25999         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
26000         * modules/time (Depends-on): Add c++defs, warn-on-use.
26001         (Makefile.am): Update time.h rule.
26002         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26003         * modules/nanosleep (configure.ac): Likewise.
26004         * modules/strptime (configure.ac): Likewise.
26005         * modules/timegm (configure.ac): Likewise.
26006
26007         sys_time: Avoid #define replacements in C++ mode.
26008         * lib/sys_time.in.h: Include c++defs.h.
26009         (gettimeofday): In C++, define a namespaced alias symbol.
26010         * modules/sys_time (Depends-on): Add c++defs.
26011         (Makefile.am): Update sys/time.h rule.
26012
26013         sys_stat: Avoid #define replacements in C++ mode.
26014         * lib/sys_stat.in.h: Include c++defs.h.
26015         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
26016         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
26017         namespaced alias symbol.
26018         In C++, define a namespaced alias symbol.
26019         * modules/sys_stat (Depends-on): Add c++defs.
26020         (Makefile.am): Update sys/stat.h rule.
26021
26022         sys_socket: Avoid #define replacements in C++ mode.
26023         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
26024         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
26025         definitions also when the system has a <sys/socket.h>.
26026         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26027         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
26028         In C++, define a namespaced alias symbol.
26029         * modules/sys_socket (Depends-on): Add c++defs.
26030         (Makefile.am): Update sys/socket.h rule.
26031
26032         sys_select: Avoid #define replacements in C++ mode.
26033         * lib/sys_select.in.h: Include c++defs.h. Enable the function
26034         definitions also when the system has a <sys/select.h>.
26035         (select): In C++, define a namespaced alias symbol.
26036         * modules/sys_select (Depends-on): Add c++defs.
26037         (Makefile.am): Update sys/select.h rule.
26038
26039         sys_ioctl: Avoid #define replacements in C++ mode.
26040         * lib/sys_ioctl.in.h: Include c++defs.h.
26041         (ioctl): In C++, define a namespaced alias symbol.
26042         * modules/sys_ioctl (Depends-on): Add c++defs.
26043         (Makefile.am): Update sys/ioctl.h rule.
26044
26045         string: Avoid #define replacements in C++ mode.
26046         * lib/string.in.h: Include c++defs.h.
26047         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
26048         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
26049         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
26050         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
26051         strsignal, strverscmp): In C++, define a namespaced alias symbol.
26052         * modules/string (Depends-on): Add c++defs.
26053         (Makefile.am): Update string.h rule.
26054
26055         stdlib: Avoid #define replacements in C++ mode.
26056         * lib/stdlib.in.h: Include c++defs.h.
26057         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
26058         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
26059         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
26060         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
26061         symbol.
26062         * modules/stdlib (Depends-on): Add c++defs.
26063         (Makefile.am): Update stdlib.h rule.
26064
26065         stdio: Avoid #define replacements in C++ mode.
26066         * lib/stdio.in.h: Include c++defs.h.
26067         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
26068         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
26069         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
26070         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
26071         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
26072         namespaced alias symbol.
26073         * modules/stdio (Depends-on): Add c++defs.
26074         (Makefile.am): Update stdio.h rule.
26075
26076         spawn: Avoid #define replacements in C++ mode.
26077         * lib/spawn.in.h: Include c++defs.h.
26078         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26079         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26080         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26081         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26082         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26083         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26084         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26085         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26086         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26087         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26088         In C++, define a namespaced alias symbol.
26089         * modules/spawn (Depends-on): Add c++defs.
26090         (Makefile.am): Update spawn.h rule.
26091
26092         signal: Avoid #define replacements in C++ mode.
26093         * lib/signal.in.h: Include c++defs.h.
26094         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26095         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
26096         namespaced alias symbol.
26097         * modules/signal (Depends-on): Add c++defs.
26098         (Makefile.am): Update signal.h rule.
26099
26100         search: Avoid #define replacements in C++ mode.
26101         * lib/search.in.h: Include c++defs.h.
26102         (_gl_search_compar_fn, _gl_search_action_fn): New types.
26103         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
26104         symbol.
26105         * modules/search (Depends-on): Add c++defs.
26106         (Makefile.am): Update search.h rule.
26107
26108         math: Avoid #define replacements in C++ mode.
26109         * lib/math.in.h: Include c++defs.h.
26110         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
26111         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
26112         trunc, truncl): In C++, define a namespaced alias symbol.
26113         * modules/math (Depends-on): Add c++defs.
26114         (Makefile.am): Update math.h rule.
26115
26116         locale: Avoid #define replacements in C++ mode.
26117         * lib/locale.in.h: Include c++defs.h.
26118         (duplocale): In C++, define a namespaced alias symbol.
26119         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
26120         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
26121         * modules/locale (Depends-on): Add c++defs.
26122         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
26123
26124         langinfo: Avoid #define replacements in C++ mode.
26125         * lib/langinfo.in.h: Include c++defs.h.
26126         (nl_langinfo): In C++, define a namespaced alias symbol.
26127         * modules/langinfo (Depends-on): Add c++defs.
26128         (Makefile.am): Update langinfo.h rule.
26129
26130         iconv-h: Avoid #define replacements in C++ mode.
26131         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
26132         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
26133         symbol.
26134         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26135         whenever iconv is present.
26136         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
26137         (Makefile.am): Update iconv.h rule.
26138
26139         glob: Avoid #define replacements in C++ mode.
26140         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
26141         (_gl_glob_errfunc_fn): New type.
26142         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
26143         symbol.
26144         * modules/glob (Depends-on): Add c++defs, warn-on-use.
26145         (Makefile.am): Update glob.h rule.
26146
26147         fcntl-h: Avoid #define replacements in C++ mode.
26148         * lib/fcntl.in.h: Include c++defs.h.
26149         (fcntl, open, openat): In C++, define a namespaced alias symbol.
26150         * modules/fcntl-h (Depends-on): Add c++defs.
26151         (Makefile.am): Update fcntl.h rule.
26152
26153         dirent: Avoid #define replacements in C++ mode.
26154         * lib/dirent.in.h: Include c++defs.h.
26155         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
26156         namespaced alias symbol.
26157         (dirfd): Update declaration.
26158         * modules/dirent (Depends-on): Add c++defs.
26159         (Makefile.am): Update dirent.h rule.
26160
26161         ctype: Make it usable in C++ code.
26162         * lib/ctype.in.h: Include c++defs.h.
26163         (isblank): Declare as extern "C".
26164         * modules/ctype (Depends-on): Add c++defs.
26165         (Makefile.am): Update ctype.h rule.
26166
26167         New module 'c++defs'.
26168         * modules/c++defs: New file.
26169         * build-aux/c++defs.h: New file.
26170         Reported by John W. Eaton <jwe@gnu.org>.
26171
26172 2010-03-07  Bruno Haible  <bruno@clisp.org>
26173
26174         logb: Provide missing declaration for Cygwin.
26175         * lib/math.in.h (logb): New declaration.
26176         * m4/logb.m4: New file.
26177         * modules/logb (Files): Add m4/logb.m4.
26178         (Depends-on): Add math.
26179         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
26180         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
26181         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
26182         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
26183         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
26184
26185 2010-03-07  Bruno Haible  <bruno@clisp.org>
26186
26187         Fix test-cond link error.
26188         * tests/test-cond.c: Include <stdio.h>.
26189
26190 2010-03-07  Bruno Haible  <bruno@clisp.org>
26191
26192         Fix test-dirent-safer link error.
26193         * modules/dirent-safer-tests (Makefile.am): Define
26194         test_dirent_safer_LDADD.
26195
26196 2010-03-07  Bruno Haible  <bruno@clisp.org>
26197
26198         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
26199         among default module list.
26200
26201 2010-03-07  Bruno Haible  <bruno@clisp.org>
26202
26203         Fix link error on platforms with GNU libiconv.
26204         * modules/unistr/u8-strcoll-tests (Makefile): Define
26205         test_u8_strcoll_LDADD.
26206         * modules/unistr/u16-strcoll-tests (Makefile): Define
26207         test_u16_strcoll_LDADD.
26208         * modules/unistr/u32-strcoll-tests (Makefile): Define
26209         test_u32_strcoll_LDADD.
26210
26211 2010-03-07  Bruno Haible  <bruno@clisp.org>
26212
26213         Use POSIX declarations for socket functions.
26214         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
26215         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
26216         rpl_sendto): Change declaration to match POSIX.
26217         * lib/connect.c (rpl_connect): Likewise.
26218         * lib/accept.c (rpl_accept): Likewise.
26219         * lib/bind.c (rpl_bind): Likewise.
26220         * lib/getpeername.c (rpl_getpeername): Likewise.
26221         * lib/getsockname.c (rpl_getsockname): Likewise.
26222         * lib/recv.c (rpl_recv): Likewise.
26223         * lib/send.c (rpl_send): Likewise.
26224         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26225         * lib/sendto.c (rpl_sendto): Likewise.
26226
26227 2010-03-06  Bruno Haible  <bruno@clisp.org>
26228
26229         Clarify access, euidaccess, faccessat.
26230         * doc/posix-functions/faccessat.texi: Mention security problem under
26231         "Other problems", not "Portability problems".
26232         * doc/posix-functions/access.texi: Likewise. Mention a related security
26233         problem.
26234         * doc/glibc-functions/euidaccess.texi: Mention security problems.
26235         * lib/euidaccess.c: Add comments about platforms.
26236         * lib/unistd.in.h (access, euidaccess): Add warnings.
26237
26238 2010-03-07  Bruno Haible  <bruno@clisp.org>
26239
26240         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
26241         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
26242         (POSIX_SPAWN_SETSCHEDULER): Likewise.
26243         (POSIX_SPAWN_USEVFORK): Define in a way that works when
26244         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26245         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
26246         declare when POSIX_SPAWN_SETSCHEDULER is zero.
26247         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
26248         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
26249         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
26250         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
26251         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
26252         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
26253         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
26254         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
26255         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
26256         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
26257         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
26258         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
26259         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
26260         Likewise.
26261         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
26262         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
26263         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
26264         Likewise.
26265         * tests/test-spawn.c (main): Make it work when
26266         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26267
26268 2010-03-07  Bruno Haible  <bruno@clisp.org>
26269
26270         Fix incorrect Makefile.am generation in German locale.
26271         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26272         Execute sed command with character range in C locale.
26273
26274 2010-03-06  Bruno Haible  <bruno@clisp.org>
26275
26276         Tests for module 'iconv-h'.
26277         * modules/iconv-h-tests: New file.
26278         * tests/test-iconv-h.c: New file.
26279
26280         New module 'iconv-h'.
26281         * modules/iconv-h: New file.
26282         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
26283         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
26284         (configure.ac): Remove gl_ICONV_H.
26285         (Makefile.am): Remove rule for iconv.h.
26286
26287 2010-03-06  Bruno Haible  <bruno@clisp.org>
26288
26289         More consistent naming of *.m4 files.
26290         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
26291         * modules/wctype (Files): Update.
26292
26293         More consistent naming of *.m4 files.
26294         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
26295         * modules/wchar (Files): Update.
26296
26297 2010-03-06  Jim Meyering  <meyering@redhat.com>
26298
26299         euidaccess: relax license to LGPLv2+
26300         * modules/euidaccess (License): Relax to LGPLv2+.
26301
26302 2010-03-06  Bruno Haible  <bruno@clisp.org>
26303
26304         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
26305         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
26306         (Makefile.am): Augment lib_SOURCES instead.
26307
26308 2010-03-04  Jim Meyering  <meyering@redhat.com>
26309
26310         utime: remove obsolete module
26311         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
26312         unnecessary for years, and has been marked as obsolete for 10 months.
26313         * modules/utime: Remove file.
26314         * lib/utime.c: Remove file.
26315         * m4/utime.m4: Remove file.
26316         * m4/utimes-null.m4: Remove file.
26317         * doc/posix-functions/utime.texi (utime): Remove reference to
26318         the module.  Move the sole "fixed by gnulib" item into the
26319         "problems not fixed by Gnulib" list.
26320         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
26321
26322 2010-03-05  Simon Josefsson  <simon@josefsson.org>
26323
26324         * modules/exit (License): Relax license to LGPLv2+.
26325         (Status): Mark as obsolete.
26326         * NEWS: Mention deprecated 'exit' module.
26327         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
26328         of now obsolete 'exit'.
26329
26330 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26331
26332         fts-lgpl: remove unused module
26333         * modules/fts-lgpl: Remove.
26334         * MODULES.html.sh (func_all_modules): Adjust.
26335         * check-module (find_included_lib_files): Adjust.
26336         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
26337
26338 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26339
26340         copy-acl: enhance Solaris ACL error handling
26341         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
26342         * lib/set-mode-acl.c (qset_acl): Likewise.
26343
26344 2010-03-02  Bruno Haible  <bruno@clisp.org>
26345
26346         spawn: Don't override the system defined values on FreeBSD 8.
26347         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
26348         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
26349         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
26350         if HAVE_POSIX_SPAWN is 1.
26351         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
26352
26353 2010-03-01  Bruno Haible  <bruno@clisp.org>
26354
26355         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
26356         regarding Automake.
26357
26358 2010-02-25  Bruno Haible  <bruno@clisp.org>
26359
26360         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
26361         * gnulib-tool: Define 'echo' as a function only before the ksh alias
26362         setting, not afterwards.
26363         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26364
26365 2010-02-24  Eric Blake  <eblake@redhat.com>
26366
26367         bootstrap, git-version-gen: use timestamp
26368         * build-aux/git-version-gen (scriptversion): Force UTC.
26369         * build-aux/bootstrap (scriptversion): New variable.
26370
26371         bootstrap: allow older git
26372         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
26373         older than 1.6.4.  Requested by the libvirt project.
26374
26375 2010-02-23  Eric Blake  <eblake@redhat.com>
26376
26377         warn-on-use: work with old autoconf
26378         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
26379         AS_VAR semantics of autoconf 2.60.
26380         Reported by Bruno Haible.
26381
26382         bootstrap: improve some comments
26383         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26384         clarification comments.
26385
26386         gettimeofday: provide correct function
26387         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26388         when replacement is declared, otherwise provide gettimeofday.
26389         Reported by Michael Goffioul.
26390
26391 2010-02-23  Jim Meyering  <meyering@redhat.com>
26392
26393         lib-ignore: relax license to "unlimited", not LGPLv2+
26394         * modules/lib-ignore (License): Relax to "unlimited".
26395
26396 2010-02-23  Jim Meyering  <meyering@redhat.com>
26397
26398         lib-ignore: relax license to LGPLv2+
26399         * modules/lib-ignore (License): Relax to LGPLv2+.
26400
26401 2010-02-22  Eric Blake  <eblake@redhat.com>
26402
26403         lseek: avoid bash 3.2 broken pipe bug
26404         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26405         warning from bash 3.2.
26406         Reported by Ben Pfaff, with analysis from Bruno Haible.
26407
26408         bootstrap: support non-FSF copyright holder
26409         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26410         bootstrap.conf override of COPYRIGHT_HOLDER.
26411         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26412
26413         bootstrap: interoperate with gettext 0.14.1
26414         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26415
26416         bootstrap: allow for alternate submodule location
26417         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26418         hardcoding submodule location.
26419         (gnulib_mk): Allow direct use of Makefile.am.
26420
26421         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26422         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26423         rather than reconfiguring where the submodule points.
26424
26425         gettimeofday: restore support for platforms that lack function
26426         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26427         replacement if function is missing.
26428         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26429         * modules/sys_time (Makefile.am): Substitute it.
26430         * lib/sys_time.in.h (gettimeofday): Check it.
26431         Reported by Michael Goffioul.
26432
26433 2010-02-21  Bruno Haible  <bruno@clisp.org>
26434
26435         * lib/stdio.in.h (obstack_printf): Fix typo.
26436
26437 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26438
26439         vc-list-files: use bzr ls's -R option
26440         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26441         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26442
26443 2010-02-21  Jim Meyering  <meyering@redhat.com>
26444
26445         init.sh: fix EXEEXT shims to work also for names like test-prog
26446         * tests/init.sh: Re-exec a better shell, when needed.
26447         If the current shell lacks support for posix $(...), an init.sh-using
26448         test will now try to find a shell that supports that.  If EXEEXT is
26449         nonempty, we also require support for hyphen-in-alias-name and shell
26450         substitutions like ${var#glob}.  Failure to find such a shell results
26451         in a skipped test.
26452
26453 2010-02-21  Bruno Haible  <bruno@clisp.org>
26454
26455         Really work around around "broken pipe" error message from bash 3.2.
26456         * gnulib-tool (func_reset_sigpipe): Remove function.
26457         (echo): In bash 3.2, define to a function that uses printf.
26458         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26459
26460 2010-02-20  Bruno Haible  <bruno@clisp.org>
26461
26462         Restore support for automake 1.9.6 with autoconf 2.61.
26463         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26464         Reported by James Youngman <jay@gnu.org>.
26465
26466 2010-02-20  Bruno Haible  <bruno@clisp.org>
26467
26468         Improve *printf warning condition.
26469         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26470         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26471         and the function is overridden due to SIGPIPE emulation.
26472
26473 2010-02-20  Bruno Haible  <bruno@clisp.org>
26474
26475         * lib/stdio.in.h: Tweak comments.
26476
26477 2010-02-19  Bruno Haible  <bruno@clisp.org>
26478
26479         Make it easier to find modules. New gnulib-tool option '--find'.
26480         * gnulib-tool: New option --find.
26481         (func_usage): Document it.
26482         (func_sanitize_modulelist): New function, extracted from
26483         func_all_modules.
26484         (func_all_modules): Invoke it.
26485         * doc/gnulib-tool.texi (Which modules?): New node.
26486
26487 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26488
26489         * lib/sys_select.in.h: Provide select replacement even if
26490         sys/select.h exists on a system, for Interix.
26491
26492 2010-02-18  Jim Meyering  <meyering@redhat.com>
26493
26494         init.sh: don't use $(...) just yet
26495         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26496         to accommodate e.g., Solaris' /bin/sh.
26497
26498 2010-02-17  Bruno Haible  <bruno@clisp.org>
26499
26500         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26501         Reported by Ludovic Courtès <ludo@gnu.org>.
26502
26503 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26504
26505         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26506         linking with -lintl.
26507
26508 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26509
26510         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26511         if not provided by the system's netdb.h.  Reported by
26512         ludo@gnu.org (Ludovic Courtès).
26513
26514 2010-02-15  Jim Meyering  <meyering@redhat.com>
26515
26516         init.sh: improve portability and efficiency
26517         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26518         "dummy" in a for loop.
26519         Use '!', not '^' to select the complement of a character set used
26520         in a "case" statement.
26521         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26522         Suggestions from Eric Blake.
26523
26524         init.sh: automatically accommodate programs with the .exe suffix
26525         Automatically arrange for an invocation of "prog" to execute the
26526         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26527         may use the simpler "prog", yet still work when built on a system
26528         that requires specifying the added suffix.
26529         Do this by constructing a function named "prog" that invokes
26530         "prog.exe" for each .exe file in selected directories.
26531         * tests/init.sh (find_exe_basenames_): New function.
26532         (create_exe_shim_functions_): New function.
26533         (path_prepend_): Use it.
26534
26535         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26536         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26537         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26538
26539 2010-02-14  Jim Meyering  <meyering@redhat.com>
26540
26541         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26542         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26543         (sc_prohibit_hash_pjw_without_use): New rule.
26544
26545         maint.mk: allow the default upload destination dir to be overridden
26546         * top/maint.mk (upload_dest_dir_): Define with a default that
26547         preserves the status quo.
26548         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26549         Reported by Peter Simons.
26550
26551         maint.mk: prohibit inclusion of "hash.h" without_use
26552         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26553
26554 2010-02-10  Jim Meyering  <meyering@redhat.com>
26555
26556         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26557         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26558
26559 2010-02-09  Eric Blake  <ebb9@byu.net>
26560         and Bruno Haible  <bruno@clisp.org>
26561
26562         obstack-printf-posix: ensure declaration
26563         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26564         extracted from gl_FUNC_OBSTACK_PRINTF.
26565         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26566         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26567         Likewise.
26568         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26569         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26570         0.
26571
26572 2010-02-08  Bruno Haible  <bruno@clisp.org>
26573
26574         gnulib-tool: Fix typo in 2010-02-07 commit.
26575         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26576         Reported by Eric Blake.
26577
26578 2010-02-07  Bruno Haible  <bruno@clisp.org>
26579
26580         gnulib-tool: Fix up caching patches.
26581         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26582         option --no-cache. Use associative arrays when supported by the shell.
26583         (sed_comments): New variable.
26584         (modcache): Renamed from do_cache.
26585         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26586         abbreviate unnecessarily.
26587         (have_associative): New variable.
26588         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26589         way also for ksh and zsh.
26590         (func_init_sed_convert_to_cache_statements): New function, extracted
26591         from func_cache_lookup_module. Add support for associative arrays.
26592         Don't set the c_MODULE_cached variable here. Ignore all lines before
26593         the first field header. Remove only the final newline, not all trailing
26594         newlines. Support empty fields correctly. Limit the use of 'eval' to
26595         assignments.
26596         (func_get_description, func_get_status, func_get_notice,
26597         func_get_applicability, func_get_filelist, func_get_dependencies,
26598         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26599         func_get_automake_snippet, func_get_include_directive,
26600         func_get_link_directive, func_get_license, func_get_maintainer):
26601         Update documentation. List the unoptimized code first. Add support for
26602         associative arrays. Limit the use of 'eval' to assignments.
26603         (func_get_applicability): Undo stylistic pessimisations.
26604         (func_get_automake_snippet, func_get_include_directive): Reduce code
26605         duplication.
26606         (func_modules_transitive_closure, func_modules_add_dummy,
26607         func_modules_notice, func_modules_to_filelist, func_add_file,
26608         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26609         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26610         func_create_testdir, func_create_megatestdir): Update documentation.
26611
26612 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26613
26614         * gnulib-tool (func_cache_lookup_module): Store the module name
26615         belonging to the cache variable; error out if two different
26616         module names map to the same cache variable name.
26617
26618 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26619
26620         gnulib-tool: Make caching optional.
26621         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26622         Update matching short versions of --no-changelog.
26623         (func_usage): Update.
26624         (sed_extract_cache_prog): Renamed from ...
26625         (sed_extract_prog): ... this; revert to old extraction script.
26626         (func_get_description, func_get_status)
26627         (func_get_notice, func_get_applicability, func_get_filelist)
26628         (func_get_dependencies, func_get_autoconf_early_snippet)
26629         (func_get_autoconf_snippet, func_get_automake_snippet)
26630         (func_get_include_directive, func_get_link_directive)
26631         (func_get_license, func_get_maintainer): If $do_cache is false,
26632         use old, non-caching extraction scripts.
26633         Suggestion by Bruno Haible.
26634
26635 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26636
26637         gnulib-tool: cache module metainformation.
26638         * gnulib-tool (sed_extract_prog): Match newline before each
26639         header, and rewrite header to a shell variable suffix.
26640         (func_cache_var, func_cache_lookup_module): New functions,
26641         to turn a module name into a cache variable prefix, and to
26642         look up and cache module metainformation.
26643         (func_get_description, func_get_status)
26644         (func_get_notice, func_get_applicability, func_get_filelist)
26645         (func_get_dependencies, func_get_autoconf_early_snippet)
26646         (func_get_autoconf_snippet, func_get_automake_snippet)
26647         (func_get_include_directive, func_get_link_directive)
26648         (func_get_license, func_get_maintainer): Use
26649         func_cache_lookup_module.
26650
26651 2010-02-07  Bruno Haible  <bruno@clisp.org>
26652
26653         fnctl: Fix missing dependency.
26654         * modules/fcntl (Depends-on): Add getdtablesize.
26655         Reported by John W. Eaton <jwe@gnu.org>.
26656
26657 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26658
26659         Argp: fix recognition of short alias options.
26660
26661         * lib/argp-parse.c (convert_options): Fix improper use of
26662         `|' between character values.
26663         * tests/test-argp.c (group1_option): New alias option
26664         --read (-r).
26665         (group1_parser): Special handling for 'r'.
26666         (test15): New test case.
26667         (test_fun): Add test15.
26668         * tests/test-argp-2.sh: Update expected --help and --usage
26669         outputs.
26670
26671 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26672
26673         * tests/test-argp.c: Fix indentation.
26674
26675 2010-02-04  Eric Blake  <ebb9@byu.net>
26676
26677         gettimeofday: expose type of second argument
26678         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26679         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26680         * tests/test-gettimeofday.c: Use it to silence warning.
26681         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26682         the issue.
26683
26684 2010-02-03  Jim Meyering  <meyering@redhat.com>
26685
26686         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26687         * lib/regcomp.c (TYPE_SIGNED): Define.
26688         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26689
26690         regcomp.c: avoid a new -Wshadow warning
26691         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26692
26693 2010-02-01  Jim Meyering  <meyering@redhat.com>
26694
26695         removing useless parentheses in cpp #define directives
26696         For motivation, see commit c0221df4, "define STREQ(a,b)
26697         consistently, removing useless parentheses"
26698         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26699         * lib/mountlist.c (MNT_IGNORE): Likewise.
26700         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26701
26702 2010-02-01  Eric Blake  <ebb9@byu.net>
26703
26704         sys_time: use link-warning
26705         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26706         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26707         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26708         * modules/sys_time (Depends-on): Add warn-on-use.
26709         (Makefile.am): Always build replacement.
26710         (configure.ac): Update substitutions.
26711         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26712         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26713         bother with SYS_TIME_H.
26714         * modules/gettimeofday (configure.ac): Declare indicator.
26715         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26716         in use.
26717
26718         closein-tests: silence compiler warning
26719         * tests/test-closein.c (main): Ignore fread result.
26720         * modules/closein-tests (Depends-on): Add ignore-value.
26721
26722         tests: silence warning about system return
26723         * tests/test-areadlink-with-size.c (main): Ignore system result.
26724         * tests/test-areadlink.c (main): Likewise.
26725         * tests/test-areadlinkat-with-size.c (main): Likewise.
26726         * tests/test-areadlinkat.c (main): Likewise.
26727         * tests/test-canonicalize-lgpl.c (main): Likewise.
26728         * tests/test-canonicalize.c (main): Likewise.
26729         * tests/test-chown.c (main): Likewise.
26730         * tests/test-fchownat.c (main): Likewise.
26731         * tests/test-fdutimensat.c (main): Likewise.
26732         * tests/test-fstatat.c (main): Likewise.
26733         * tests/test-futimens.c (main): Likewise.
26734         * tests/test-lchown.c (main): Likewise.
26735         * tests/test-link.c (main): Likewise.
26736         * tests/test-linkat.c (main): Likewise.
26737         * tests/test-lstat.c (main): Likewise.
26738         * tests/test-mkdir.c (main): Likewise.
26739         * tests/test-mkdirat.c (main): Likewise.
26740         * tests/test-mkfifo.c (main): Likewise.
26741         * tests/test-mkfifoat.c (main): Likewise.
26742         * tests/test-mknod.c (main): Likewise.
26743         * tests/test-readlink.c (main): Likewise.
26744         * tests/test-remove.c (main): Likewise.
26745         * tests/test-rename.c (main): Likewise.
26746         * tests/test-renameat.c (main): Likewise.
26747         * tests/test-rmdir.c (main): Likewise.
26748         * tests/test-symlink.c (main): Likewise.
26749         * tests/test-symlinkat.c (main): Likewise.
26750         * tests/test-unlink.c (main): Likewise.
26751         * tests/test-unlinkat.c (main): Likewise.
26752         * tests/test-utimens.c (main): Likewise.
26753         * tests/test-utimensat.c (main): Likewise.
26754         * modules/areadlink-tests (Depends-on): Add ignore-value.
26755         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26756         * modules/areadlinkat-tests (Depends-on): Likewise.
26757         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26758         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26759         * modules/canonicalize-tests (Depends-on): Likewise.
26760         * modules/chown-tests (Depends-on): Likewise.
26761         * modules/fdutimensat-tests (Depends-on): Likewise.
26762         * modules/futimens-tests (Depends-on): Likewise.
26763         * modules/lchown-tests (Depends-on): Likewise.
26764         * modules/link-tests (Depends-on): Likewise.
26765         * modules/linkat-tests (Depends-on): Likewise.
26766         * modules/lstat-tests (Depends-on): Likewise.
26767         * modules/mkdir-tests (Depends-on): Likewise.
26768         * modules/mkfifo-tests (Depends-on): Likewise.
26769         * modules/mkfifoat-tests (Depends-on): Likewise.
26770         * modules/mknod-tests (Depends-on): Likewise.
26771         * modules/openat-tests (Depends-on): Likewise.
26772         * modules/readlink-tests (Depends-on): Likewise.
26773         * modules/remove-tests (Depends-on): Likewise.
26774         * modules/rename-tests (Depends-on): Likewise.
26775         * modules/renameat-tests (Depends-on): Likewise.
26776         * modules/rmdir-tests (Depends-on): Likewise.
26777         * modules/symlink-tests (Depends-on): Likewise.
26778         * modules/symlinkat-tests (Depends-on): Likewise.
26779         * modules/unlink-tests (Depends-on): Likewise.
26780         * modules/utimens-tests (Depends-on): Likewise.
26781         * modules/utimensat-tests (Depends-on): Likewise.
26782
26783 2010-01-31  Bruno Haible  <bruno@clisp.org>
26784
26785         Perform the same test for many <math.h> functions.
26786         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26787         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26788         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26789         of gl_MATHFUNC.
26790         * modules/acos (configure.ac): Likewise.
26791         * modules/asin (configure.ac): Likewise.
26792         * modules/atan (configure.ac): Likewise.
26793         * modules/atan2 (configure.ac): Likewise.
26794         * modules/cbrt (configure.ac): Likewise.
26795         * modules/copysign (configure.ac): Likewise.
26796         * modules/cos (configure.ac): Likewise.
26797         * modules/cosh (configure.ac): Likewise.
26798         * modules/erf (configure.ac): Likewise.
26799         * modules/erfc (configure.ac): Likewise.
26800         * modules/exp (configure.ac): Likewise.
26801         * modules/fmod (configure.ac): Likewise.
26802         * modules/hypot (configure.ac): Likewise.
26803         * modules/j0 (configure.ac): Likewise.
26804         * modules/j1 (configure.ac): Likewise.
26805         * modules/jn (configure.ac): Likewise.
26806         * modules/lgamma (configure.ac): Likewise.
26807         * modules/log (configure.ac): Likewise.
26808         * modules/log10 (configure.ac): Likewise.
26809         * modules/log1p (configure.ac): Likewise.
26810         * modules/pow (configure.ac): Likewise.
26811         * modules/remainder (configure.ac): Likewise.
26812         * modules/sin (configure.ac): Likewise.
26813         * modules/sinh (configure.ac): Likewise.
26814         * modules/tan (configure.ac): Likewise.
26815         * modules/tanh (configure.ac): Likewise.
26816         * modules/y0 (configure.ac): Likewise.
26817         * modules/y1 (configure.ac): Likewise.
26818         * modules/yn (configure.ac): Likewise.
26819         Suggested by Paolo Bonzini.
26820
26821 2010-01-31  Bruno Haible  <bruno@clisp.org>
26822
26823         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
26824
26825 2010-01-31  Bruno Haible  <bruno@clisp.org>
26826
26827         Work around getdelim() bug on FreeBSD 8.0.
26828         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
26829         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
26830         not work.
26831         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
26832         is 1.
26833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
26834         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
26835         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
26836         a non-zero size.
26837         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
26838
26839 2010-01-31  Bruno Haible  <bruno@clisp.org>
26840
26841         Work around getline() bug on FreeBSD 8.0.
26842         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
26843         and a non-zero size.
26844         * tests/test-getline.c (main): Likewise.
26845         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26846         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
26847
26848 2010-01-28  Eric Blake  <ebb9@byu.net>
26849
26850         regex: fix build failure
26851         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
26852         platforms.
26853
26854 2010-01-28  Jim Meyering  <meyering@redhat.com>
26855
26856         regex: do not ignore memory allocation failure
26857         * lib/regex_internal.c (create_cd_newstate): Detect
26858         re_node_set_init_copy failure.   Extracted from glibc commit
26859         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26860
26861         regex: sync more white-space changes from libc
26862         * lib/regex_internal.c: White-space only changes.
26863         * lib/regexec.c: Likewise.
26864
26865         regex: add many uses of __attribute_warn_unused_result__
26866         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
26867         * lib/regexec.c: Likewise.
26868         Extracted from a messy glibc commit.
26869
26870         regcomp.c: spelling and merge-artifact from glibc
26871         * lib/regcomp.c: Merge remainder of glibc's
26872         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26873
26874         regcomp.c: sync white-space changes from glibc
26875         * lib/regcomp.c: Merge to accommodate white space
26876         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26877
26878         regcomp.c: do not ignore internal return values
26879         * lib/regcomp.c: Do not ignore internal return values.
26880         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
26881         but without its white-space changes and spelling fixes.
26882
26883         regex_internal.h: define __attribute_warn_unused_result__
26884         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
26885
26886         maint: add a syntax-check rule to check for vulnerable Makefile.in
26887         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
26888
26889 2010-01-27  Jim Meyering  <meyering@redhat.com>
26890
26891         ncftpput-ftp: clean up spaces
26892         * build-aux/ncftpput-ftp: Make Copyright line consistent.
26893         Remove trailing blanks.
26894
26895 2010-01-27  Simon Josefsson  <simon@josefsson.org>
26896
26897         * build-aux/git-version-gen: Fix copyright statement.
26898         * build-aux/gnupload: Likewise.
26899         * tests/test-arcfour.c: Likewise.
26900         * tests/test-arctwo.c: Likewise.
26901         * tests/test-count-one-bits.c: Likewise.
26902         * tests/test-crc.c: Likewise.
26903         * tests/test-des.c: Likewise.
26904         * tests/test-gc-arcfour.c: Likewise.
26905         * tests/test-gc-arctwo.c: Likewise.
26906         * tests/test-gc-des.c: Likewise.
26907         * tests/test-gc-hmac-md5.c: Likewise.
26908         * tests/test-gc-hmac-sha1.c: Likewise.
26909         * tests/test-gc-md2.c: Likewise.
26910         * tests/test-gc-md4.c: Likewise.
26911         * tests/test-gc-md5.c: Likewise.
26912         * tests/test-gc-pbkdf2-sha1.c: Likewise.
26913         * tests/test-gc-rijndael.c: Likewise.
26914         * tests/test-gc-sha1.c: Likewise.
26915         * tests/test-gc.c: Likewise.
26916         * tests/test-gethostname.c: Likewise.
26917         * tests/test-gettimeofday.c: Likewise.
26918         * tests/test-hash.c: Likewise.
26919         * tests/test-hmac-md5.c: Likewise.
26920         * tests/test-hmac-sha1.c: Likewise.
26921         * tests/test-md2.c: Likewise.
26922         * tests/test-md4.c: Likewise.
26923         * tests/test-md5.c: Likewise.
26924         * tests/test-memchr.c: Likewise.
26925         * tests/test-memchr2.c: Likewise.
26926         * tests/test-memcmp.c: Likewise.
26927         * tests/test-memmem.c: Likewise.
26928         * tests/test-memrchr.c: Likewise.
26929         * tests/test-rawmemchr.c: Likewise.
26930         * tests/test-read-file.c: Likewise.
26931         * tests/test-rijndael.c: Likewise.
26932         * tests/test-sockets.c: Likewise.
26933         * tests/test-strchrnul.c: Likewise.
26934         * tests/test-strstr.c: Likewise.
26935         * tests/test-strtod.c: Likewise.
26936         * build-aux/ncftpput-ftp: Likewise.
26937
26938 2010-01-26  Eric Blake  <ebb9@byu.net>
26939
26940         ignore-value: update recommended header name
26941         * modules/ignore-value (Include): Only use <> for headers that
26942         exist in glibc.
26943
26944 2010-01-26  Jim Meyering  <meyering@redhat.com>
26945
26946         test-userspec.c: avoid compiler warnings
26947         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
26948         and "initialization discards qualifiers..." warnings.
26949         Put the first "uid" in its own scope, and make char* members "const".
26950
26951 2010-01-25  Bruno Haible  <bruno@clisp.org>
26952
26953         gnulib-tool: Make warning diagnostics consistent.
26954         * gnulib-tool (func_warning): New function.
26955         Use it everywhere where gnulib-tool produces output to stderr and it is
26956         not a fatal error.
26957
26958 2010-01-25  Bruno Haible  <bruno@clisp.org>
26959
26960         Fix test dependencies.
26961         * modules/xstrtol-tests (Depends-on): Add inttypes.
26962         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
26963
26964 2010-01-25 Pádraig Brady <P@draigBrady.com>
26965
26966         syntax-check: detect incorrect boolean macro values in config.h
26967         * modules/maintainer-makefile (configure.ac): Parameterize the location
26968         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
26969         The logic is from Eric Blake and the location indicated by Jim Meyering.
26970         Note the more natural CONFIG_HEADER name is prohibited by automake
26971         for backwards compatibility reasons.
26972         * top/maint.mk (sc_Wundef_boolean): New rule.
26973
26974 2010-01-25  Jim Meyering  <meyering@redhat.com>
26975
26976         bootstrap: detect MacOS 10.6's shasum, too
26977         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
26978         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
26979
26980 2010-01-23  Jim Meyering  <meyering@redhat.com>
26981
26982         xstrtoll: new module
26983         * modules/xstrtoll: New file.
26984         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
26985         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
26986         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
26987         ./configure fails if you use this module and lack "long long".
26988         * modules/xstrtoll-tests: New module.
26989         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
26990         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
26991         new init.sh-based test framework.
26992
26993 2010-01-24  Bruno Haible  <bruno@clisp.org>
26994
26995         Tests for module 'yn'.
26996         * modules/yn-tests: New file.
26997         * tests/test-yn.c: New file.
26998
26999         Tests for module 'y1'.
27000         * modules/y1-tests: New file.
27001         * tests/test-y1.c: New file.
27002
27003         Tests for module 'y0'.
27004         * modules/y0-tests: New file.
27005         * tests/test-y0.c: New file.
27006
27007         Tests for module 'tanh'.
27008         * modules/tanh-tests: New file.
27009         * tests/test-tanh.c: New file.
27010
27011         Tests for module 'tan'.
27012         * modules/tan-tests: New file.
27013         * tests/test-tan.c: New file.
27014
27015         Tests for module 'sqrt'.
27016         * modules/sqrt-tests: New file.
27017         * tests/test-sqrt.c: New file.
27018
27019         Tests for module 'sinh'.
27020         * modules/sinh-tests: New file.
27021         * tests/test-sinh.c: New file.
27022
27023         Tests for module 'sin'.
27024         * modules/sin-tests: New file.
27025         * tests/test-sin.c: New file.
27026
27027         Tests for module 'rint'.
27028         * modules/rint-tests: New file.
27029         * tests/test-rint.c: New file.
27030
27031         Tests for module 'remainder'.
27032         * modules/remainder-tests: New file.
27033         * tests/test-remainder.c: New file.
27034
27035         Tests for module 'pow'.
27036         * modules/pow-tests: New file.
27037         * tests/test-pow.c: New file.
27038
27039         Tests for module 'nextafter'.
27040         * modules/nextafter-tests: New file.
27041         * tests/test-nextafter.c: New file.
27042
27043         Tests for module 'modf'.
27044         * modules/modf-tests: New file.
27045         * tests/test-modf.c: New file.
27046
27047         Tests for module 'logb'.
27048         * modules/logb-tests: New file.
27049         * tests/test-logb.c: New file.
27050
27051         Tests for module 'log1p'.
27052         * modules/log1p-tests: New file.
27053         * tests/test-log1p.c: New file.
27054
27055         Tests for module 'log10'.
27056         * modules/log10-tests: New file.
27057         * tests/test-log10.c: New file.
27058
27059         Tests for module 'log'.
27060         * modules/log-tests: New file.
27061         * tests/test-log.c: New file.
27062
27063         Tests for module 'lgamma'.
27064         * modules/lgamma-tests: New file.
27065         * tests/test-lgamma.c: New file.
27066
27067         Tests for module 'ldexp'.
27068         * modules/ldexp-tests: New file.
27069         * tests/test-ldexp.c: New file.
27070
27071         Tests for module 'jn'.
27072         * modules/jn-tests: New file.
27073         * tests/test-jn.c: New file.
27074
27075         Tests for module 'j1'.
27076         * modules/j1-tests: New file.
27077         * tests/test-j1.c: New file.
27078
27079         Tests for module 'j0'.
27080         * modules/j0-tests: New file.
27081         * tests/test-j0.c: New file.
27082
27083         Tests for module 'hypot'.
27084         * modules/hypot-tests: New file.
27085         * tests/test-hypot.c: New file.
27086
27087         Tests for module 'fmod'.
27088         * modules/fmod-tests: New file.
27089         * tests/test-fmod.c: New file.
27090
27091         Tests for module 'fabs'.
27092         * modules/fabs-tests: New file.
27093         * tests/test-fabs.c: New file.
27094
27095         Tests for module 'exp'.
27096         * modules/exp-tests: New file.
27097         * tests/test-exp.c: New file.
27098
27099         Tests for module 'erfc'.
27100         * modules/erfc-tests: New file.
27101         * tests/test-erfc.c: New file.
27102
27103         Tests for module 'erf'.
27104         * modules/erf-tests: New file.
27105         * tests/test-erf.c: New file.
27106
27107         Tests for module 'cosh'.
27108         * modules/cosh-tests: New file.
27109         * tests/test-cosh.c: New file.
27110
27111         Tests for module 'cos'.
27112         * modules/cos-tests: New file.
27113         * tests/test-cos.c: New file.
27114
27115         Tests for module 'copysign'.
27116         * modules/copysign-tests: New file.
27117         * tests/test-copysign.c: New file.
27118
27119         Tests for module 'cbrt'.
27120         * modules/cbrt-tests: New file.
27121         * tests/test-cbrt.c: New file.
27122
27123         Tests for module 'atan2'.
27124         * modules/atan2-tests: New file.
27125         * tests/test-atan2.c: New file.
27126
27127         Tests for module 'atan'.
27128         * modules/atan-tests: New file.
27129         * tests/test-atan.c: New file.
27130
27131         Tests for module 'asin'.
27132         * modules/asin-tests: New file.
27133         * tests/test-asin.c: New file.
27134
27135         Tests for module 'acos'.
27136         * modules/acos-tests: New file.
27137         * tests/test-acos.c: New file.
27138
27139 2010-01-24  Bruno Haible  <bruno@clisp.org>
27140
27141         Fix tests for common <math.h> functions.
27142         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
27143         code snippet that references the function pointer, rather than merely
27144         calling the function. Substitute the FUNC_LIBM variable.
27145         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
27146         * modules/acos (configure.ac): Likewise.
27147         * modules/asin (configure.ac): Likewise.
27148         * modules/atan (configure.ac): Likewise.
27149         * modules/atan2 (configure.ac): Likewise.
27150         * modules/cbrt (configure.ac): Likewise.
27151         * modules/copysign (configure.ac): Likewise.
27152         * modules/cos (configure.ac): Likewise.
27153         * modules/cosh (configure.ac): Likewise.
27154         * modules/erf (configure.ac): Likewise.
27155         * modules/erfc (configure.ac): Likewise.
27156         * modules/exp (configure.ac): Likewise.
27157         * modules/fabs (configure.ac): Likewise.
27158         * modules/fmod (configure.ac): Likewise.
27159         * modules/hypot (configure.ac): Likewise.
27160         * modules/j0 (configure.ac): Likewise.
27161         * modules/j1 (configure.ac): Likewise.
27162         * modules/jn (configure.ac): Likewise.
27163         * modules/ldexp (configure.ac): Likewise.
27164         * modules/lgamma (configure.ac): Likewise.
27165         * modules/log (configure.ac): Likewise.
27166         * modules/log10 (configure.ac): Likewise.
27167         * modules/log1p (configure.ac): Likewise.
27168         * modules/logb (configure.ac): Likewise.
27169         * modules/modf (configure.ac): Likewise.
27170         * modules/nextafter (configure.ac): Likewise.
27171         * modules/pow (configure.ac): Likewise.
27172         * modules/remainder (configure.ac): Likewise.
27173         * modules/rint (configure.ac): Likewise.
27174         * modules/sin (configure.ac): Likewise.
27175         * modules/sinh (configure.ac): Likewise.
27176         * modules/tan (configure.ac): Likewise.
27177         * modules/tanh (configure.ac): Likewise.
27178         * modules/y0 (configure.ac): Likewise.
27179         * modules/y1 (configure.ac): Likewise.
27180         * modules/yn (configure.ac): Likewise.
27181
27182 2010-01-24  Bruno Haible  <bruno@clisp.org>
27183
27184         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
27185         * tests/test-acosl.c (x): New variable.
27186         (main): Store argument in x and fetch it from x.
27187         * tests/test-asinl.c (x): New variable.
27188         (main): Store argument in x and fetch it from x.
27189         * tests/test-atanl.c (x): New variable.
27190         (main): Store argument in x and fetch it from x.
27191         * tests/test-cosl.c (x): New variable.
27192         (main): Store argument in x and fetch it from x.
27193         * tests/test-expl.c (x): New variable.
27194         (main): Store argument in x and fetch it from x.
27195         * tests/test-logl.c (x): New variable.
27196         (main): Store argument in x and fetch it from x.
27197         * tests/test-sinl.c (x): New variable.
27198         (main): Store argument in x and fetch it from x.
27199         * tests/test-sqrtl.c (x): New variable.
27200         (main): Store argument in x and fetch it from x.
27201         * tests/test-tanl.c (x): New variable.
27202         (main): Store argument in x and fetch it from x.
27203
27204 2010-01-24  Bruno Haible  <bruno@clisp.org>
27205
27206         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
27207         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
27208         assignments to the initial TESTS_ENVIRONMENT.
27209         * doc/gnulib.texi (Unit test modules): Document it.
27210         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
27211         TESTS_ENVIRONMENT.
27212         * modules/btowc-tests (Makefile.am): Likewise.
27213         * modules/c-stack-tests (Makefile.am): Likewise.
27214         * modules/c-strcase-tests (Makefile.am): Likewise.
27215         * modules/copy-file-tests (Makefile.am): Likewise.
27216         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
27217         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
27218         * modules/mbrtowc-tests (Makefile.am): Likewise.
27219         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27220         * modules/mbscasestr-tests (Makefile.am): Likewise.
27221         * modules/mbschr-tests (Makefile.am): Likewise.
27222         * modules/mbscspn-tests (Makefile.am): Likewise.
27223         * modules/mbsinit-tests (Makefile.am): Likewise.
27224         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27225         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
27226         * modules/mbspbrk-tests (Makefile.am): Likewise.
27227         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27228         * modules/mbsrchr-tests (Makefile.am): Likewise.
27229         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
27230         * modules/mbsspn-tests (Makefile.am): Likewise.
27231         * modules/mbsstr-tests (Makefile.am): Likewise.
27232         * modules/nl_langinfo-tests (Makefile.am): Likewise.
27233         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
27234         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
27235         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
27236         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
27237         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
27238         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
27239         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
27240         * modules/wcrtomb-tests (Makefile.am): Likewise.
27241         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
27242         * modules/wcsrtombs-tests (Makefile.am): Likewise.
27243         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
27244         assignments from TESTS_ENVIRONMENT.
27245         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
27246         augmentation.
27247         * modules/argp-version-etc-tests (Makefile.am): Likewise.
27248         * modules/atexit-tests (Makefile.am): Likewise.
27249         * modules/binary-io-tests (Makefile.am): Likewise.
27250         * modules/closein-tests (Makefile.am): Likewise.
27251         * modules/dprintf-posix-tests (Makefile.am): Likewise.
27252         * modules/exclude-tests (Makefile.am): Likewise.
27253         * modules/fflush-tests (Makefile.am): Likewise.
27254         * modules/fpending-tests (Makefile.am): Likewise.
27255         * modules/fprintf-posix-tests (Makefile.am): Likewise.
27256         * modules/freadahead-tests (Makefile.am): Likewise.
27257         * modules/freadptr-tests (Makefile.am): Likewise.
27258         * modules/freadseek-tests (Makefile.am): Likewise.
27259         * modules/fseek-tests (Makefile.am): Likewise.
27260         * modules/fseeko-tests (Makefile.am): Likewise.
27261         * modules/ftell-tests (Makefile.am): Likewise.
27262         * modules/ftello-tests (Makefile.am): Likewise.
27263         * modules/idpriv-drop-tests (Makefile.am): Likewise.
27264         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
27265         * modules/lseek-tests (Makefile.am): Likewise.
27266         * modules/parse-duration-tests (Makefile.am): Likewise.
27267         * modules/perror-tests (Makefile.am): Likewise.
27268         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
27269         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
27270         * modules/pipe-tests (Makefile.am): Likewise.
27271         * modules/pread-tests (Makefile.am): Likewise.
27272         * modules/printf-posix-tests (Makefile.am): Likewise.
27273         * modules/select-tests (Makefile.am): Likewise.
27274         * modules/sigpipe-tests (Makefile.am): Likewise.
27275         * modules/tsearch-tests (Makefile.am): Likewise.
27276         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
27277         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
27278         * modules/uniname/uniname-tests (Makefile.am): Likewise.
27279         * modules/uniwidth/width-tests (Makefile.am): Likewise.
27280         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
27281         * modules/version-etc-tests (Makefile.am): Likewise.
27282         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
27283         * modules/vprintf-posix-tests (Makefile.am): Likewise.
27284         * modules/xalloc-die-tests (Makefile.am): Likewise.
27285         * modules/xprintf-posix-tests (Makefile.am): Likewise.
27286         * modules/xstrtoimax-tests (Makefile.am): Likewise.
27287         * modules/xstrtol-tests (Makefile.am): Likewise.
27288         * modules/xstrtoumax-tests (Makefile.am): Likewise.
27289         * modules/yesno-tests (Makefile.am): Likewise.
27290         Suggested by Jim Meyering.
27291
27292 2010-01-24  Bruno Haible  <bruno@clisp.org>
27293
27294         More documentation.
27295         * doc/gnulib.texi (Writing modules): New chapter.
27296         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
27297         the new chapter.
27298
27299 2010-01-24  Jim Meyering  <meyering@redhat.com>
27300
27301         maint.mk: do not prepend "./" after filtering
27302         * top/maint.mk (_prepend_srcdir_prefix): New variable
27303         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
27304         "./" when $(srcdir) is ".".
27305
27306         define STREQ(a,b) consistently, removing useless parentheses
27307         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
27308         since the only risk is that "a" or "b" contains an unparenthesized
27309         comma, but if either did that, STREQ would have 3 or more arguments.
27310         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
27311         * lib/fts.c (STREQ): Remove unnecessary parentheses.
27312         * lib/hash-triple.c (STREQ): Likewise.
27313         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
27314         * lib/getugroups.c (STREQ): Likewise.
27315
27316 2010-01-23  Jim Meyering  <meyering@redhat.com>
27317
27318         maint.mk: fix syntax-check in a non-srcdir build directory
27319         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
27320         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
27321
27322 2010-01-22  Jim Meyering  <meyering@redhat.com>
27323
27324         userspec: add unit tests
27325         * tests/test-userspec.c: New file.
27326         * modules/userspec-tests: Likewise.
27327
27328 2010-01-21  Jim Meyering  <meyering@redhat.com>
27329
27330         maint.mk: handle source file names containing "." robustly
27331         * top/maint.mk (_dot_escaped_srcdir): Define.
27332         (VC_LIST): Use it in LHS of sed substitution.
27333
27334 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
27335
27336         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
27337         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
27338         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
27339         from a non-srcdir build.
27340
27341 2010-01-20  Eric Blake  <ebb9@byu.net>
27342
27343         warn-on-use: use instead of link-warning
27344         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
27345         * modules/unistd (Depends-on, Makefile.am): Likewise.
27346         * modules/arpa_inet (Depends-on): Replace link-warning with
27347         warn-on-use.
27348         (Makefile.am): Update rules accordingly.
27349         * modules/ctype (Depends-on, Makefile.am): Likewise.
27350         * modules/dirent (Depends-on, Makefile.am): Likewise.
27351         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
27352         * modules/inttypes (Depends-on, Makefile.am): Likewise.
27353         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27354         * modules/locale (Depends-on, Makefile.am): Likewise.
27355         * modules/math (Depends-on, Makefile.am): Likewise.
27356         * modules/search (Depends-on, Makefile.am): Likewise.
27357         * modules/signal (Depends-on, Makefile.am): Likewise.
27358         * modules/spawn (Depends-on, Makefile.am): Likewise.
27359         * modules/stdlib (Depends-on, Makefile.am): Likewise.
27360         * modules/string (Depends-on, Makefile.am): Likewise.
27361         * modules/strings (Depends-on, Makefile.am): Likewise.
27362         * modules/sys_file (Depends-on, Makefile.am): Likewise.
27363         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
27364         * modules/sys_select (Depends-on, Makefile.am): Likewise.
27365         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
27366         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
27367         * modules/sys_times (Depends-on, Makefile.am): Likewise.
27368         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27369         * modules/wchar (Depends-on, Makefile.am): Likewise.
27370         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
27371         should be poisoned.
27372         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
27373         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
27374         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
27375         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27376         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27377         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27378         * m4/math_h.m4 (gl_MATH_H): Likewise.
27379         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
27380         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27381         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27382         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27383         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27384         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27385         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27386         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27387         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27388         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27389         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27390         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27391         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27392         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27393         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27394         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27395         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27396         GL_LINK_WARNING.
27397         * lib/ctype.in.h: Likewise.
27398         * lib/dirent.in.h: Likewise.
27399         * lib/fcntl.in.h: Likewise.
27400         * lib/inttypes.in.h: Likewise.
27401         * lib/langinfo.in.h: Likewise.
27402         * lib/locale.in.h: Likewise.
27403         * lib/math.in.h: Likewise.
27404         * lib/search.in.h: Likewise.
27405         * lib/signal.in.h: Likewise.
27406         * lib/spawn.in.h: Likewise.
27407         * lib/stdio.in.h: Likewise.
27408         * lib/stdlib.in.h: Likewise.
27409         * lib/string.in.h: Likewise.
27410         * lib/strings.in.h: Likewise.
27411         * lib/sys_file.in.h: Likewise.
27412         * lib/sys_ioctl.in.h: Likewise.
27413         * lib/sys_select.in.h: Likewise.
27414         * lib/sys_socket.in.h: Likewise.
27415         * lib/sys_stat.in.h: Likewise.
27416         * lib/sys_times.in.h: Likewise.
27417         * lib/sys_utsname.in.h: Likewise.
27418         * lib/unistd.in.h: Likewise.
27419         * lib/wchar.in.h: Likewise.
27420
27421 2010-01-20  Bruno Haible  <bruno@clisp.org>
27422
27423         Avoid duplicate -lm.
27424         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27425         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27426         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27427         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27428         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27429         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27430         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27431         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27432         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27433         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27434         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27435         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27436         Reported by Paolo Bonzini.
27437
27438 2010-01-19  Bruno Haible  <bruno@clisp.org>
27439
27440         langinfo, nl_langinfo: Relicense under LGPLv2+.
27441         * modules/langinfo (License): Change to LGPLv2+.
27442         * modules/nl_langinfo (License): Likewise.
27443         Patch by David Lutterkort <lutter@redhat.com>.
27444
27445 2010-01-19  Bruno Haible  <bruno@clisp.org>
27446
27447         Avoid compilation error with cc on OSF/1 5.1.
27448         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27449         statement, not before.
27450         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27451
27452 2010-01-18  Bruno Haible  <bruno@clisp.org>
27453
27454         Avoid a link error due to the __printf__ symbol.
27455         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27456         and 2.6.x.
27457         (__format__, __printf__): Remove definitions.
27458         * lib/argp-fmtstream.h: Likewise.
27459         * lib/argp.h: Likewise.
27460         * lib/error.h: Likewise.
27461         * lib/vasnprintf.h: Likewise.
27462         * lib/xprintf.h: Likewise.
27463         * lib/xvasprintf.h: Likewise.
27464         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27465
27466 2010-01-18  Bruno Haible  <bruno@clisp.org>
27467
27468         Tests for module 'tanl'.
27469         * modules/tanl-tests: New file.
27470         * tests/test-tanl.c: New file.
27471
27472         Tests for module 'sqrtl'.
27473         * modules/sqrtl-tests: New file.
27474         * tests/test-sqrtl.c: New file.
27475
27476         Tests for module 'sinl'.
27477         * modules/sinl-tests: New file.
27478         * tests/test-sinl.c: New file.
27479
27480         Tests for module 'logl'.
27481         * modules/logl-tests: New file.
27482         * tests/test-logl.c: New file.
27483
27484         Tests for module 'expl'.
27485         * modules/expl-tests: New file.
27486         * tests/test-expl.c: New file.
27487
27488         Tests for module 'cosl'.
27489         * modules/cosl-tests: New file.
27490         * tests/test-cosl.c: New file.
27491
27492         Tests for module 'atanl'.
27493         * modules/atanl-tests: New file.
27494         * tests/test-atanl.c: New file.
27495
27496         Tests for module 'asinl'.
27497         * modules/asinl-tests: New file.
27498         * tests/test-asinl.c: New file.
27499
27500         Tests for module 'acosl'.
27501         * modules/acosl-tests: New file.
27502         * tests/test-acosl.c: New file.
27503
27504         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27505         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27506         tanl): Use the standard gnulib idiom.
27507         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27508         * lib/sinl.c: Likewise.
27509         * lib/tanl.c: Don't include trigl.c.
27510         (kernel_tanl): Make static.
27511         * lib/sincosl.c: Include trigl.h first.
27512         * lib/trigl.c: Likewise.
27513         * m4/acosl.m4: New file.
27514         * m4/asinl.m4: New file.
27515         * m4/atanl.m4: New file.
27516         * m4/cosl.m4: New file.
27517         * m4/expl.m4: New file.
27518         * m4/logl.m4: New file.
27519         * m4/sinl.m4: New file.
27520         * m4/sqrtl.m4: New file.
27521         * m4/tanl.m4: New file.
27522         * m4/mathl.m4: Remove file.
27523         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27524         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27525         Don't initialize GNULIB_MATHL.
27526         * modules/acosl: New file.
27527         * modules/asinl: New file.
27528         * modules/atanl: New file.
27529         * modules/cosl: New file.
27530         * modules/expl: New file.
27531         * modules/logl: New file.
27532         * modules/sinl: New file.
27533         * modules/sqrtl: New file.
27534         * modules/tanl: New file.
27535         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27536         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27537         substitute GNULIB_MATHL.
27538         * modules/mathl: Rewritten.
27539         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27540         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27541         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27542         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27543         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27544         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27545         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27546         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27547         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27548
27549 2010-01-18  Bruno Haible  <bruno@clisp.org>
27550
27551         sqrt: Make gl_FUNC_SQRT requirable.
27552         * m4/sqrt.m4: New file.
27553         * modules/sqrt (Files): Add it.
27554         (configure.ac): Invoke gl_FUNC_SQRT.
27555
27556 2010-01-18  Bruno Haible  <bruno@clisp.org>
27557
27558         New modules for common <math.h> functions.
27559         * m4/mathfunc.m4: New file.
27560         * modules/acos: New file.
27561         * modules/asin: New file.
27562         * modules/atan: New file.
27563         * modules/atan2: New file.
27564         * modules/cbrt: New file.
27565         * modules/copysign: New file.
27566         * modules/cos: New file.
27567         * modules/cosh: New file.
27568         * modules/erf: New file.
27569         * modules/erfc: New file.
27570         * modules/exp: New file.
27571         * modules/fabs: New file.
27572         * modules/fmod: New file.
27573         * modules/hypot: New file.
27574         * modules/j0: New file.
27575         * modules/j1: New file.
27576         * modules/jn: New file.
27577         * modules/ldexp: New file.
27578         * modules/lgamma: New file.
27579         * modules/log: New file.
27580         * modules/log10: New file.
27581         * modules/log1p: New file.
27582         * modules/logb: New file.
27583         * modules/modf: New file.
27584         * modules/nextafter: New file.
27585         * modules/pow: New file.
27586         * modules/remainder: New file.
27587         * modules/rint: New file.
27588         * modules/sin: New file.
27589         * modules/sinh: New file.
27590         * modules/sqrt: New file.
27591         * modules/tan: New file.
27592         * modules/tanh: New file.
27593         * modules/y0: New file.
27594         * modules/y1: New file.
27595         * modules/yn: New file.
27596         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27597         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27598         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27599         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27600         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27601         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27602         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27603         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27604         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27605         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27606         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27607         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27608         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27609         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27610         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27611         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27612         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27613         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27614         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27615         * doc/posix-functions/log.texi: Mention the 'log' module.
27616         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27617         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27618         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27619         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27620         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27621         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27622         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27623         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27624         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27625         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27626         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27627         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27628         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27629         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27630         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27631         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27632
27633 2010-01-18  Jim Meyering  <meyering@redhat.com>
27634
27635         ignore-value: relax license to LGPLv2+
27636         * modules/ignore-value (License): Relax to LGPLv2+.
27637
27638         getdate: don't leak when TZ contains two or more '"'s
27639         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27640         double quote in TZ after the first one.
27641
27642         readtokens: do not leak internal token_lengths buffer
27643         * lib/readtokens.c (readtokens): Free the local, lengths,
27644         when the supplied "token_lengths" parameter is NULL.
27645
27646 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27647
27648         Fix a couple of missing LIBTHREAD link failures on AIX.
27649         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27650         $(LIBTHREAD).
27651         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27652
27653         Link test-poll against INET_PTON_LIB.
27654         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27655         for inet_pton on Solaris 10.
27656
27657 2010-01-17  Bruno Haible  <bruno@clisp.org>
27658
27659         unistdio/*-sprintf: Fix typo in module description.
27660         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27661         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27662         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27663         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27664         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27665         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27666         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27667         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27668
27669 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27670
27671         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27672         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27673         variables in shell case patterns, for AIX and HP-UX ksh.
27674
27675         Split large sed scripts, for HP-UX sed.
27676         * modules/stdio: Split sed scripts around 50 sed commands,
27677         to avoid HP-UX limit of 99 commands, in the near future.
27678         * modules/string: Likewise.
27679         * modules/unistd: Likewise.
27680
27681         gnulib-tool: avoid writing in the current directory.
27682         * gnulib-tool (func_emit_lib_Makefile_am)
27683         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27684         not in the current directory, so concurrent gnulib-tool
27685         instances do not interfere.
27686
27687 2010-01-16  Jim Meyering  <meyering@redhat.com>
27688
27689         doc: update users.txt
27690         * users.txt: Add grep.
27691         (diffutils, gzip): Update URLs.
27692
27693 2010-01-12  Bruno Haible  <bruno@clisp.org>
27694
27695         posix_spawn: Avoid test failure on Cygwin.
27696         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27697         characters.
27698         Reported by Simon Josefsson.
27699
27700 2010-01-12  Bruno Haible  <bruno@clisp.org>
27701
27702         * tests/test-cond.c (main): When skipping the test, show the reason.
27703
27704 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27705
27706         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27707
27708 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27709
27710         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27711         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27712
27713 2010-01-12  Eric Blake  <ebb9@byu.net>
27714
27715         build: guarantee AS_VAR_IF
27716         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27717         (gl_AS_VAR_IF): Move...
27718         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27719         Reported by Simon Josefsson.
27720
27721 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27722
27723         * lib/stdio.in.h: Fix typo.
27724
27725 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27726
27727         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27728         libgpg-error.
27729
27730 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27731
27732         * tests/test-xalloc-die.sh: Use $EXEEXT.
27733
27734 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27735             Bruno Haible  <bruno@clisp.org>
27736
27737         getlogin, getlogin_r: Avoid test failure.
27738         * tests/test-getlogin.c: Include <stdio.h>.
27739         (main): Skip the test when the function fails because stdin is not a
27740         tty.
27741         * tests/test-getlogin_r.c: Include <stdio.h>.
27742         (main): Skip the test when the function fails because stdin is not a
27743         tty.
27744
27745 2010-01-11  Eric Blake  <ebb9@byu.net>
27746
27747         tests: avoid more large file warnings
27748         * tests/test-fflush.c: Avoid warning about ftell use.
27749         * tests/test-fseek.c: Avoid warning about fseek use.
27750
27751 2010-01-10  Bruno Haible  <bruno@clisp.org>
27752
27753         nproc: Work better on Linux when /proc and /sys are not mounted.
27754         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27755         as lower bound when, on glibc/Linux systems,
27756         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27757         Suggested by Pádraig Brady <P@draigbrady.com>.
27758         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27759
27760         nproc: Refactor.
27761         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27762         extracted from num_processors.
27763         (num_processors): Call it.
27764
27765 2010-01-11  Jim Meyering  <meyering@redhat.com>
27766
27767         utimecmp: avoid new warning from upcoming gcc-4.5.0
27768         * lib/utimecmp.c (BILLION): Define using #define rather than an
27769         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27770
27771 2010-01-11  Eric Blake  <ebb9@byu.net>
27772
27773         math: add portability warnings for classification macros
27774         * modules/math (Depends-on): Add warn-on-use.
27775         (Makefile.am): Provide new substitutions.
27776         * m4/math_h.m4 (gl_MATH_H): Require inline.
27777         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27778         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27779         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27780         implement warnings.
27781
27782         unistd: warn on use of environ without module
27783         * modules/unistd (Depends-on): Add warn-on-use.
27784         (Makefile.am): Provide new substitutions.
27785         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27786         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27787
27788         stdio: warn on suspicious uses
27789         * modules/stdio (Depends-on): Add warn-on-use.
27790         (Makefile.am): Provide new substitutions.
27791         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27792         fseeko.
27793         * lib/stdio.in.h (gets): Always warn on use.
27794         (fseek, ftell): Adjust when warnings are issued, and honor
27795         _GL_NO_LARGE_FILES as a way to silence the warning.
27796         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
27797         any warning about large file offsets.
27798         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
27799         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
27800         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
27801         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
27802         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
27803         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
27804         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
27805         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
27806
27807         warn-on-use: new module
27808         * modules/warn-on-use: New file.
27809         * build-aux/warn-on-use.h: Likewise.
27810         * m4/warn-on-use.m4: Likewise.
27811         * MODULES.html.sh (Support for building): Mention it.
27812
27813 2010-01-10  Bruno Haible  <bruno@clisp.org>
27814
27815         Tests for module 'unistr/u32-strdup'.
27816         * modules/unistr/u32-strdup-tests: New file.
27817         * tests/unistr/test-u32-strdup.c: New file.
27818
27819         Tests for module 'unistr/u16-strdup'.
27820         * modules/unistr/u16-strdup-tests: New file.
27821         * tests/unistr/test-u16-strdup.c: New file.
27822
27823         Tests for module 'unistr/u8-strdup'.
27824         * modules/unistr/u8-strdup-tests: New file.
27825         * tests/unistr/test-u8-strdup.c: New file.
27826         * tests/unistr/test-strdup.h: New file.
27827
27828         Tests for module 'unistr/u32-strncmp'.
27829         * modules/unistr/u32-strncmp-tests: New file.
27830         * tests/unistr/test-u32-strncmp.c: New file.
27831
27832         Tests for module 'unistr/u16-strncmp'.
27833         * modules/unistr/u16-strncmp-tests: New file.
27834         * tests/unistr/test-u16-strncmp.c: New file.
27835
27836         Tests for module 'unistr/u8-strncmp'.
27837         * modules/unistr/u8-strncmp-tests: New file.
27838         * tests/unistr/test-u8-strncmp.c: New file.
27839         * tests/unistr/test-strncmp.h: New file.
27840
27841         Tests for module 'unistr/u32-strcoll'.
27842         * modules/unistr/u32-strcoll-tests: New file.
27843         * tests/unistr/test-u32-strcoll.c: New file.
27844
27845         Tests for module 'unistr/u16-strcoll'.
27846         * modules/unistr/u16-strcoll-tests: New file.
27847         * tests/unistr/test-u16-strcoll.c: New file.
27848
27849         Tests for module 'unistr/u8-strcoll'.
27850         * modules/unistr/u8-strcoll-tests: New file.
27851         * tests/unistr/test-u8-strcoll.c: New file.
27852
27853         Tests for module 'unistr/u32-strcmp'.
27854         * modules/unistr/u32-strcmp-tests: New file.
27855         * tests/unistr/test-u32-strcmp.c: New file.
27856         * tests/unistr/test-u32-strcmp.h: New file.
27857
27858         Tests for module 'unistr/u16-strcmp'.
27859         * modules/unistr/u16-strcmp-tests: New file.
27860         * tests/unistr/test-u16-strcmp.c: New file.
27861         * tests/unistr/test-u16-strcmp.h: New file.
27862
27863         Tests for module 'unistr/u8-strcmp'.
27864         * modules/unistr/u8-strcmp-tests: New file.
27865         * tests/unistr/test-u8-strcmp.c: New file.
27866         * tests/unistr/test-u8-strcmp.h: New file.
27867         * tests/unistr/test-strcmp.h: New file.
27868
27869         Tests for module 'unistr/u32-strncat'.
27870         * modules/unistr/u32-strncat-tests: New file.
27871         * tests/unistr/test-u32-strncat.c: New file.
27872
27873         Tests for module 'unistr/u16-strncat'.
27874         * modules/unistr/u16-strncat-tests: New file.
27875         * tests/unistr/test-u16-strncat.c: New file.
27876
27877         Tests for module 'unistr/u8-strncat'.
27878         * modules/unistr/u8-strncat-tests: New file.
27879         * tests/unistr/test-u8-strncat.c: New file.
27880         * tests/unistr/test-strncat.h: New file.
27881
27882         Tests for module 'unistr/u32-strcat'.
27883         * modules/unistr/u32-strcat-tests: New file.
27884         * tests/unistr/test-u32-strcat.c: New file.
27885
27886         Tests for module 'unistr/u16-strcat'.
27887         * modules/unistr/u16-strcat-tests: New file.
27888         * tests/unistr/test-u16-strcat.c: New file.
27889
27890         Tests for module 'unistr/u8-strcat'.
27891         * modules/unistr/u8-strcat-tests: New file.
27892         * tests/unistr/test-u8-strcat.c: New file.
27893         * tests/unistr/test-strcat.h: New file.
27894
27895         Tests for module 'unistr/u32-stpncpy'.
27896         * modules/unistr/u32-stpncpy-tests: New file.
27897         * tests/unistr/test-u32-stpncpy.c: New file.
27898
27899         Tests for module 'unistr/u16-stpncpy'.
27900         * modules/unistr/u16-stpncpy-tests: New file.
27901         * tests/unistr/test-u16-stpncpy.c: New file.
27902
27903         Tests for module 'unistr/u8-stpncpy'.
27904         * modules/unistr/u8-stpncpy-tests: New file.
27905         * tests/unistr/test-u8-stpncpy.c: New file.
27906         * tests/unistr/test-stpncpy.h: New file.
27907
27908         Tests for module 'unistr/u32-strncpy'.
27909         * modules/unistr/u32-strncpy-tests: New file.
27910         * tests/unistr/test-u32-strncpy.c: New file.
27911
27912         Tests for module 'unistr/u16-strncpy'.
27913         * modules/unistr/u16-strncpy-tests: New file.
27914         * tests/unistr/test-u16-strncpy.c: New file.
27915
27916         Tests for module 'unistr/u8-strncpy'.
27917         * modules/unistr/u8-strncpy-tests: New file.
27918         * tests/unistr/test-u8-strncpy.c: New file.
27919         * tests/unistr/test-strncpy.h: New file.
27920
27921         Tests for module 'unistr/u32-stpcpy'.
27922         * modules/unistr/u32-stpcpy-tests: New file.
27923         * tests/unistr/test-u32-stpcpy.c: New file.
27924
27925         Tests for module 'unistr/u16-stpcpy'.
27926         * modules/unistr/u16-stpcpy-tests: New file.
27927         * tests/unistr/test-u16-stpcpy.c: New file.
27928
27929         Tests for module 'unistr/u8-stpcpy'.
27930         * modules/unistr/u8-stpcpy-tests: New file.
27931         * tests/unistr/test-u8-stpcpy.c: New file.
27932         * tests/unistr/test-stpcpy.h: New file.
27933
27934         Tests for module 'unistr/u32-strcpy'.
27935         * modules/unistr/u32-strcpy-tests: New file.
27936         * tests/unistr/test-u32-strcpy.c: New file.
27937
27938         Tests for module 'unistr/u16-strcpy'.
27939         * modules/unistr/u16-strcpy-tests: New file.
27940         * tests/unistr/test-u16-strcpy.c: New file.
27941
27942         Tests for module 'unistr/u8-strcpy'.
27943         * modules/unistr/u8-strcpy-tests: New file.
27944         * tests/unistr/test-u8-strcpy.c: New file.
27945         * tests/unistr/test-strcpy.h: New file.
27946
27947         Tests for module 'unistr/u32-strnlen'.
27948         * modules/unistr/u32-strnlen-tests: New file.
27949         * tests/unistr/test-u32-strnlen.c: New file.
27950
27951         Tests for module 'unistr/u16-strnlen'.
27952         * modules/unistr/u16-strnlen-tests: New file.
27953         * tests/unistr/test-u16-strnlen.c: New file.
27954
27955         Tests for module 'unistr/u8-strnlen'.
27956         * modules/unistr/u8-strnlen-tests: New file.
27957         * tests/unistr/test-u8-strnlen.c: New file.
27958         * tests/unistr/test-strnlen.h: New file.
27959
27960         Tests for module 'unistr/u32-strlen'.
27961         * modules/unistr/u32-strlen-tests: New file.
27962         * tests/unistr/test-u32-strlen.c: New file.
27963
27964         Tests for module 'unistr/u16-strlen'.
27965         * modules/unistr/u16-strlen-tests: New file.
27966         * tests/unistr/test-u16-strlen.c: New file.
27967
27968         Tests for module 'unistr/u8-strlen'.
27969         * modules/unistr/u8-strlen-tests: New file.
27970         * tests/unistr/test-u8-strlen.c: New file.
27971
27972         Tests for module 'unistr/u32-prev'.
27973         * modules/unistr/u32-prev-tests: New file.
27974         * tests/unistr/test-u32-prev.c: New file.
27975
27976         Tests for module 'unistr/u16-prev'.
27977         * modules/unistr/u16-prev-tests: New file.
27978         * tests/unistr/test-u16-prev.c: New file.
27979
27980         Tests for module 'unistr/u8-prev'.
27981         * modules/unistr/u8-prev-tests: New file.
27982         * tests/unistr/test-u8-prev.c: New file.
27983
27984         Tests for module 'unistr/u32-next'.
27985         * modules/unistr/u32-next-tests: New file.
27986         * tests/unistr/test-u32-next.c: New file.
27987
27988         Tests for module 'unistr/u16-next'.
27989         * modules/unistr/u16-next-tests: New file.
27990         * tests/unistr/test-u16-next.c: New file.
27991
27992         Tests for module 'unistr/u8-next'.
27993         * modules/unistr/u8-next-tests: New file.
27994         * tests/unistr/test-u8-next.c: New file.
27995
27996         Tests for module 'unistr/u32-strmbtouc'.
27997         * modules/unistr/u32-strmbtouc-tests: New file.
27998         * tests/unistr/test-u32-strmbtouc.c: New file.
27999
28000         Tests for module 'unistr/u16-strmbtouc'.
28001         * modules/unistr/u16-strmbtouc-tests: New file.
28002         * tests/unistr/test-u16-strmbtouc.c: New file.
28003
28004         Tests for module 'unistr/u8-strmbtouc'.
28005         * modules/unistr/u8-strmbtouc-tests: New file.
28006         * tests/unistr/test-u8-strmbtouc.c: New file.
28007
28008         Tests for module 'unistr/u32-strmblen'.
28009         * modules/unistr/u32-strmblen-tests: New file.
28010         * tests/unistr/test-u32-strmblen.c: New file.
28011
28012         Tests for module 'unistr/u16-strmblen'.
28013         * modules/unistr/u16-strmblen-tests: New file.
28014         * tests/unistr/test-u16-strmblen.c: New file.
28015
28016         Tests for module 'unistr/u8-strmblen'.
28017         * modules/unistr/u8-strmblen-tests: New file.
28018         * tests/unistr/test-u8-strmblen.c: New file.
28019
28020         Tests for module 'unistr/u32-cpy-alloc'.
28021         * modules/unistr/u32-cpy-alloc-tests: New file.
28022         * tests/unistr/test-u32-cpy-alloc.c: New file.
28023
28024         Tests for module 'unistr/u16-cpy-alloc'.
28025         * modules/unistr/u16-cpy-alloc-tests: New file.
28026         * tests/unistr/test-u16-cpy-alloc.c: New file.
28027
28028         Tests for module 'unistr/u8-cpy-alloc'.
28029         * modules/unistr/u8-cpy-alloc-tests: New file.
28030         * tests/unistr/test-u8-cpy-alloc.c: New file.
28031         * tests/unistr/test-cpy-alloc.h: New file.
28032
28033         Tests for module 'unistr/u32-mbsnlen'.
28034         * modules/unistr/u32-mbsnlen-tests: New file.
28035         * tests/unistr/test-u32-mbsnlen.c: New file.
28036
28037         Tests for module 'unistr/u16-mbsnlen'.
28038         * modules/unistr/u16-mbsnlen-tests: New file.
28039         * tests/unistr/test-u16-mbsnlen.c: New file.
28040
28041         Tests for module 'unistr/u8-mbsnlen'.
28042         * modules/unistr/u8-mbsnlen-tests: New file.
28043         * tests/unistr/test-u8-mbsnlen.c: New file.
28044
28045         Tests for module 'unistr/u32-chr'.
28046         * modules/unistr/u32-chr-tests: New file.
28047         * tests/unistr/test-u32-chr.c: New file.
28048
28049         Tests for module 'unistr/u16-chr'.
28050         * modules/unistr/u16-chr-tests: New file.
28051         * tests/unistr/test-u16-chr.c: New file.
28052
28053         Tests for module 'unistr/u8-chr'.
28054         * modules/unistr/u8-chr-tests: New file.
28055         * tests/unistr/test-u8-chr.c: New file.
28056         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
28057
28058         Tests for module 'unistr/u32-cmp2'.
28059         * modules/unistr/u32-cmp2-tests: New file.
28060         * tests/unistr/test-u32-cmp2.c: New file.
28061
28062         Tests for module 'unistr/u16-cmp2'.
28063         * modules/unistr/u16-cmp2-tests: New file.
28064         * tests/unistr/test-u16-cmp2.c: New file.
28065
28066         Tests for module 'unistr/u8-cmp2'.
28067         * modules/unistr/u8-cmp2-tests: New file.
28068         * tests/unistr/test-u8-cmp2.c: New file.
28069         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
28070
28071         Tests for module 'unistr/u32-cmp'.
28072         * modules/unistr/u32-cmp-tests: New file.
28073         * tests/unistr/test-u32-cmp.c: New file.
28074
28075         Tests for module 'unistr/u16-cmp'.
28076         * modules/unistr/u16-cmp-tests: New file.
28077         * tests/unistr/test-u16-cmp.c: New file.
28078
28079         Tests for module 'unistr/u8-cmp'.
28080         * modules/unistr/u8-cmp-tests: New file.
28081         * tests/unistr/test-u8-cmp.c: New file.
28082         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
28083
28084         Tests for module 'unistr/u32-set'.
28085         * modules/unistr/u32-set-tests: New file.
28086         * tests/unistr/test-u32-set.c: New file.
28087
28088         Tests for module 'unistr/u16-set'.
28089         * modules/unistr/u16-set-tests: New file.
28090         * tests/unistr/test-u16-set.c: New file.
28091
28092         Tests for module 'unistr/u8-set'.
28093         * modules/unistr/u8-set-tests: New file.
28094         * tests/unistr/test-u8-set.c: New file.
28095         * tests/unistr/test-set.h: New file.
28096
28097         Tests for module 'unistr/u32-move'.
28098         * modules/unistr/u32-move-tests: New file.
28099         * tests/unistr/test-u32-move.c: New file.
28100
28101         Tests for module 'unistr/u16-move'.
28102         * modules/unistr/u16-move-tests: New file.
28103         * tests/unistr/test-u16-move.c: New file.
28104
28105         Tests for module 'unistr/u8-move'.
28106         * modules/unistr/u8-move-tests: New file.
28107         * tests/unistr/test-u8-move.c: New file.
28108         * tests/unistr/test-move.h: New file.
28109
28110         Tests for module 'unistr/u32-cpy'.
28111         * modules/unistr/u32-cpy-tests: New file.
28112         * tests/unistr/test-u32-cpy.c: New file.
28113
28114         Tests for module 'unistr/u16-cpy'.
28115         * modules/unistr/u16-cpy-tests: New file.
28116         * tests/unistr/test-u16-cpy.c: New file.
28117
28118         Tests for module 'unistr/u8-cpy'.
28119         * modules/unistr/u8-cpy-tests: New file.
28120         * tests/unistr/test-u8-cpy.c: New file.
28121         * tests/unistr/test-cpy.h: New file.
28122
28123 2010-01-09  Bruno Haible  <bruno@clisp.org>
28124
28125         Tests for module 'unistr/u32-uctomb'.
28126         * modules/unistr/u32-uctomb-tests: New file.
28127         * tests/unistr/test-u32-uctomb.c: New file.
28128
28129         Tests for module 'unistr/u16-uctomb'.
28130         * modules/unistr/u16-uctomb-tests: New file.
28131         * tests/unistr/test-u16-uctomb.c: New file.
28132
28133         Tests for module 'unistr/u8-uctomb'.
28134         * modules/unistr/u8-uctomb-tests: New file.
28135         * tests/unistr/test-u8-uctomb.c: New file.
28136
28137         Tests for module 'unistr/u32-mbtoucr'.
28138         * modules/unistr/u32-mbtoucr-tests: New file.
28139         * tests/unistr/test-u32-mbtoucr.c: New file.
28140
28141         Tests for module 'unistr/u16-mbtoucr'.
28142         * modules/unistr/u16-mbtoucr-tests: New file.
28143         * tests/unistr/test-u16-mbtoucr.c: New file.
28144
28145         Tests for module 'unistr/u8-mbtoucr'.
28146         * modules/unistr/u8-mbtoucr-tests: New file.
28147         * tests/unistr/test-u8-mbtoucr.c: New file.
28148
28149         Tests for module 'unistr/u32-mbtouc'.
28150         * modules/unistr/u32-mbtouc-tests: New file.
28151         * tests/unistr/test-u32-mbtouc.c: New file.
28152
28153         Tests for module 'unistr/u16-mbtouc'.
28154         * modules/unistr/u16-mbtouc-tests: New file.
28155         * tests/unistr/test-u16-mbtouc.c: New file.
28156
28157         Tests for module 'unistr/u8-mbtouc'.
28158         * modules/unistr/u8-mbtouc-tests: New file.
28159         * tests/unistr/test-u8-mbtouc.c: New file.
28160
28161         Tests for module 'unistr/u32-mbtouc-unsafe'.
28162         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
28163         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
28164         * tests/unistr/test-u32-mbtouc.h: New file.
28165
28166         Tests for module 'unistr/u16-mbtouc-unsafe'.
28167         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
28168         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
28169         * tests/unistr/test-u16-mbtouc.h: New file.
28170
28171         Tests for module 'unistr/u8-mbtouc-unsafe'.
28172         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
28173         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
28174         * tests/unistr/test-u8-mbtouc.h: New file.
28175
28176         Tests for module 'unistr/u32-mblen'.
28177         * modules/unistr/u32-mblen-tests: New file.
28178         * tests/unistr/test-u32-mblen.c: New file.
28179
28180         Tests for module 'unistr/u16-mblen'.
28181         * modules/unistr/u16-mblen-tests: New file.
28182         * tests/unistr/test-u16-mblen.c: New file.
28183
28184         Tests for module 'unistr/u8-mblen'.
28185         * modules/unistr/u8-mblen-tests: New file.
28186         * tests/unistr/test-u8-mblen.c: New file.
28187
28188         Tests for module 'unistr/u32-to-u16'.
28189         * modules/unistr/u32-to-u16-tests: New file.
28190         * tests/unistr/test-u32-to-u16.c: New file.
28191
28192         Tests for module 'unistr/u32-to-u8'.
28193         * modules/unistr/u32-to-u8-tests: New file.
28194         * tests/unistr/test-u32-to-u8.c: New file.
28195
28196         Tests for module 'unistr/u16-to-u32'.
28197         * modules/unistr/u16-to-u32-tests: New file.
28198         * tests/unistr/test-u16-to-u32.c: New file.
28199
28200         Tests for module 'unistr/u16-to-u8'.
28201         * modules/unistr/u16-to-u8-tests: New file.
28202         * tests/unistr/test-u16-to-u8.c: New file.
28203
28204         Tests for module 'unistr/u8-to-u32'.
28205         * modules/unistr/u8-to-u32-tests: New file.
28206         * tests/unistr/test-u8-to-u32.c: New file.
28207
28208         Tests for module 'unistr/u8-to-u16'.
28209         * modules/unistr/u8-to-u16-tests: New file.
28210         * tests/unistr/test-u8-to-u16.c: New file.
28211
28212         Tests for module 'unistr/u32-check'.
28213         * modules/unistr/u32-check-tests: New file.
28214         * tests/unistr/test-u32-check.c: New file.
28215
28216         Tests for module 'unistr/u16-check'.
28217         * modules/unistr/u16-check-tests: New file.
28218         * tests/unistr/test-u16-check.c: New file.
28219
28220         Tests for module 'unistr/u8-check'.
28221         * modules/unistr/u8-check-tests: New file.
28222         * tests/unistr/test-u8-check.c: New file.
28223
28224         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
28225         (category_equals): New function.
28226         (main): Add more tests.
28227         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
28228
28229         * tests/unictype/test-bidi_byname.c (main): Add more tests.
28230
28231 2010-01-10  Bruno Haible  <bruno@clisp.org>
28232
28233         unistr/u*-strcoll: Try harder to distinguish different strings.
28234         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
28235         compare s1 and s2 to see if they are different.
28236
28237 2010-01-10  Bruno Haible  <bruno@clisp.org>
28238
28239         unistr/u*-stpncpy: Fix the return value.
28240         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
28241         description of the return value consistent with stpncpy in glibc.
28242         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
28243         written non-NUL unit.
28244
28245 2010-01-10  Bruno Haible  <bruno@clisp.org>
28246
28247         unistr/u*-next: Add missing dependencies.
28248         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
28249         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
28250         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
28251
28252 2010-01-10  Bruno Haible  <bruno@clisp.org>
28253
28254         unistr/u8-mbsnlen: Fix return value for incomplete character.
28255         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
28256         u8_mblen.
28257         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
28258         Remove unistr/u8-mblen.
28259         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
28260         u16_mblen.
28261         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
28262         Remove unistr/u16-mblen.
28263
28264 2010-01-10  Bruno Haible  <bruno@clisp.org>
28265
28266         wchar: Fix compilation error when <wchar.h> is used from coreutils.
28267         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
28268         Reported by Brian Gough <bjg@gnu.org> and
28269         Chris Clayton <chris2553@googlemail.com> via
28270         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
28271
28272 2010-01-09  Bruno Haible  <bruno@clisp.org>
28273
28274         unistr/u16-to-u32: Reject invalid input.
28275         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
28276         u16_mbtouc.
28277         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
28278         Remove unistr/u16-mbtouc.
28279
28280         unistr/u16-to-u8: Reject invalid input.
28281         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
28282         u16_mbtouc.
28283         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
28284         Remove unistr/u16-mbtouc.
28285
28286         unistr/u8-to-u32: Reject invalid input.
28287         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
28288         u8_mbtouc.
28289         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
28290         Remove unistr/u8-mbtouc.
28291
28292         unistr/u8-to-u16: Reject invalid input.
28293         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
28294         u8_mbtouc.
28295         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
28296         Remove unistr/u8-mbtouc.
28297
28298 2010-01-09  Bruno Haible  <bruno@clisp.org>
28299
28300         Tests for module 'getlogin'.
28301         * modules/getlogin-tests: New file.
28302         * tests/test-getlogin.c: New file.
28303
28304         New module 'getlogin'.
28305         * lib/unistd.in.h (getlogin): New declaration.
28306         * lib/getlogin.c: New file.
28307         * m4/getlogin.m4: New file.
28308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
28309         HAVE_GETLOGIN.
28310         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
28311         HAVE_GETLOGIN.
28312         * modules/getlogin: New file.
28313         * doc/posix-functions/getlogin.texi: Mention the new module.
28314         Reported by John W. Eaton <jwe@gnu.org>.
28315
28316 2010-01-09  Bruno Haible  <bruno@clisp.org>
28317
28318         getlogin_r: Support for native Windows.
28319         * lib/getlogin_r.c: Include <windows.h>
28320         (getlogin_r): Implement for native Windows.
28321         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
28322         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
28323         via John W. Eaton <jwe@gnu.org>.
28324
28325 2010-01-09  Bruno Haible  <bruno@clisp.org>
28326
28327         getlogin_r: Small fixes.
28328         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
28329         succeeds.
28330         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
28331         before testing whether getlogin_r is declared. No need to set
28332         HAVE_DECL_GETLOGIN_R to 1.
28333         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
28334
28335 2010-01-09  Bruno Haible  <bruno@clisp.org>
28336
28337         * lib/unistd.in.h (getlogin_r): Add comment.
28338
28339 2010-01-09  Bruno Haible  <bruno@clisp.org>
28340
28341         Tests for module 'getlogin_r'.
28342         * modules/getlogin_r-tests: New file.
28343         * tests/test-getlogin_r.c: New file.
28344
28345 2010-01-09  Jim Meyering  <meyering@redhat.com>
28346
28347         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
28348         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
28349         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
28350
28351 2010-01-08  Simon Josefsson  <simon@josefsson.org>
28352
28353         * lib/dup2.c (rpl_dup2): Improve comment.
28354
28355 2010-01-08  Eric Blake  <ebb9@byu.net>
28356
28357         maint.mk: allow packages to add makefile @@ exceptions
28358         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
28359         (sc_makefile_check): Rename...
28360         (sc_makefile_at_at_check): ...to this, and use hook.
28361
28362         dup2: work around mingw bug
28363         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
28364         Reported by Simon Josefsson.
28365
28366 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
28367
28368         glob: Fix C++ compilation.
28369         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
28370         C++.
28371
28372 2010-01-07  Bruno Haible  <bruno@clisp.org>
28373
28374         Fix indentation of wctype.in.h, broken since 2007-01-06.
28375         * lib/wctype.in.h: Fix indentation of preprocessor directives.
28376
28377 2010-01-07  Bruno Haible  <bruno@clisp.org>
28378
28379         mbslen: Avoid collision with system function.
28380         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28381         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28382         * m4/mbslen.m4: New file.
28383         * modules/mbslen (Files): Add it.
28384         (configure.ac): Invoke gl_MBSLEN.
28385         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28386         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28387         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28388         via Ian Beckwith <ianb@erislabs.net>.
28389
28390 2010-01-07  Bruno Haible  <bruno@clisp.org>
28391
28392         dirent: Document the last fix.
28393         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28394
28395 2010-01-07  Bruno Haible  <bruno@clisp.org>
28396
28397         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28398         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28399         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28400         va_list are defined.
28401         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28402         Reported by Eric Blake.
28403
28404 2010-01-07  Bruno Haible  <bruno@clisp.org>
28405
28406         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28407         * modules/xlist (Depends-on): Add 'list',
28408         * modules/xoset (Depends-on): Add 'oset'.
28409         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28410
28411 2010-01-07  Bruno Haible  <bruno@clisp.org>
28412
28413         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28414         * doc/posix-functions/strncasecmp.texi: Likewise.
28415
28416 2010-01-07  Bruno Haible  <bruno@clisp.org>
28417
28418         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28419
28420 2010-01-07  John W. Eaton  <jwe@octave.org>
28421
28422         wctype: allow C++ use
28423         * lib/wctype.in.h: Add extern "C" block for C++.
28424
28425 2010-01-06  Eric Blake  <ebb9@byu.net>
28426
28427         maint.mk: detect incorrect GFDL usage
28428         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28429
28430 2010-01-06  Jim Meyering  <meyering@redhat.com>
28431         and Eric Blake  <ebb9@byu.net>
28432
28433         maint.mk: ignore multi-line copyright in NEWS
28434         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28435
28436 2010-01-06  Eric Blake  <ebb9@byu.net>
28437
28438         select: add missing dependency
28439         * modules/select-tests (Depends-on): Move sockets dependency...
28440         * modules/select (Depends-on): ...here.
28441         Reported by Ian Beckwith.
28442
28443         doc: regenerate INSTALL
28444         * doc/INSTALL: Reflect recent autoconf update.
28445         * doc/INSTALL.ISO: Likewise.
28446         * doc/INSTALL.UTF-8: Likewise.
28447
28448         pread: fix compilation on glibc
28449         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28450         Reported by Ralf Wildenhues.
28451
28452         dirent: fix test failure
28453         * lib/dirent.in.h (includes): Guarantee ino_t.
28454         Reported by Ralf Wildenhues.
28455
28456 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28457
28458         linkat, renameat: avoid bad free
28459         * lib/at-func2.c (at_func2): Fix typo.
28460         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28461
28462 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28463
28464         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28465         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28466         to avoid failure of symlink test later.
28467
28468 2010-01-06  Eric Blake  <ebb9@byu.net>
28469
28470         stdio, unistd: guarantee ssize_t
28471         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28472         2008 are exposed when needed.
28473         * lib/stdio.in.h (includes): Likewise.
28474         Reported by Ralf Wildenhues.
28475
28476 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28477
28478         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28479         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28480         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28481
28482 2010-01-06  Jim Meyering  <meyering@redhat.com>
28483
28484         readtokens: this module *does* require xalloc.h
28485         It uses only functions that were omitted by the old syntax-check rule.
28486         * lib/readtokens.c: Include "xalloc.h" once again.
28487         * modules/readtokens (Depends-on): Add xalloc.
28488         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28489
28490 2010-01-05  Eric Blake  <ebb9@byu.net>
28491
28492         maint: support 'make announcement' from a VPATH build
28493         * top/maint.mk (announcement): Look for correct NEWS file.
28494
28495 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28496
28497         utimens (fdutimens): ignore a negative FD, per contract
28498         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28499         when we have a valid file descriptor.  Otherwise, using a brand
28500         new glibc (with just-patched futimens that now fails with EBADF)
28501         would cause this function to fail with ENOSYS.
28502         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28503         See also http://bugzilla.redhat.com/552320.
28504
28505 2010-01-05  Eric Blake  <ebb9@byu.net>
28506
28507         strcase: document what it provides
28508         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28509         gnulib module.
28510         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28511         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28512
28513 2010-01-05  Jim Meyering  <meyering@redhat.com>
28514
28515         maint: remove useless inclusions of "xalloc.h"
28516         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28517         * lib/readtokens.c: Likewise.
28518         * lib/same.c: Likewise.
28519         * modules/getloadavg (Depends-on): Remove xalloc.
28520         * modules/readtokens: Likewise.
28521         * modules/same: Likewise.
28522
28523         maint.mk: include 4 more function names in alloca.h-checking regexp
28524         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28525         regexp.  Before, we would give a false-positive (saying alloca.h
28526         is included unnecessarily) when the only uses involved omitted symbols.
28527
28528         xalloc.h: use consistent formatting
28529         * lib/xalloc.h: Move declarations to start in the first column.
28530
28531 2010-01-05  Eric Blake  <ebb9@byu.net>
28532
28533         mkdir: avoid xalloc
28534         * lib/mkdir.c (includes): Drop unused header.
28535         Reported by John W. Eaton.
28536
28537 2010-01-04  Jim Meyering  <meyering@redhat.com>
28538
28539         nl_langinfo: avoid configure-time syntax error
28540         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28541         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28542         the empty string.  Don't let that provoke a shell syntax error.
28543
28544         regcomp, regexec, fnmatch: avoid array bounds read error
28545         * lib/regcomp.c (build_equiv_class): From glibc:
28546         Use only the low 24 bits of a findidx return value as an index
28547         into the weights array.  Patch by Ulrich Drepper:
28548         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28549         * lib/regexec.c (check_node_accept_bytes): Likewise.
28550         * lib/fnmatch_loop.c (FCT): Likewise.
28551
28552         regcomp: skip collseq lookup when there are no rules
28553         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28554         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28555
28556         regcomp: recognize ill-formed { } expressions
28557         * lib/regcomp.c (parse_dup_op): From glibc:
28558         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28559
28560         regcomp: fix typo in comment
28561         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28562         s/satisfy/satisfies/.
28563
28564         regcomp: sync from glibc: remove dead store
28565         * lib/regcomp.c (duplicate_node_closure): Remove useless
28566         search_duplicated_node call and dead store.
28567
28568         regcomp: sync from glibc; always use nl_langinfo
28569         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28570         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28571         * modules/regex (Depends-on): Add nl_langinfo.
28572
28573 2010-01-04  Eric Blake  <ebb9@byu.net>
28574
28575         fdopendir: fix configure test
28576         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28577
28578 2010-01-01  Bruno Haible  <bruno@clisp.org>
28579
28580         wchar: Remove unused configure check.
28581         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28582
28583 2010-01-01  Eric Blake  <ebb9@byu.net>
28584
28585         headers: make check of system header explicit
28586         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28587         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28588         ourselves.
28589         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28590         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28591         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28592         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28593         internals.
28594         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28595         missing.
28596         Suggested by Bruno Haible.
28597
28598 2010-01-01  Jim Meyering  <meyering@redhat.com>
28599
28600         ChangeLog: tweak to eliminate unnecessary copyright line
28601         * ChangeLog: Remove a copyright line that was mistakenly updated
28602         by today's update-copyright run.  Reported by Eric Blake.
28603
28604         test-update-copyright: don't let envvar setting cause test failure
28605         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28606
28607 2010-01-01  Bruno Haible  <bruno@clisp.org>
28608
28609         localename: Avoid gcc warning.
28610         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28611         function if it is not used.
28612
28613 2010-01-01  Jim Meyering  <meyering@redhat.com>
28614
28615         update nearly all FSF copyright year lists to include 2010
28616         Use the same procedure as for 2009, outlined in
28617         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28618
28619         version-etc: set COPYRIGHT_YEAR to 2010
28620         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28621
28622 2009-12-31  Eric Blake  <ebb9@byu.net>
28623
28624         doc: correct availability of cygwin 1.5.x getopt
28625         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28626         variables.
28627         * doc/posix-functions/opterr.texi (opterr): Likewise.
28628         * doc/posix-functions/optind.texi (optind): Likewise.
28629         * doc/posix-functions/optopt.texi (optopt): Likewise.
28630         * doc/posix-functions/tzname.texi (tzname): Likewise.
28631
28632         openat: update maintainer
28633         * modules/openat (Maintainer): Add myself.
28634
28635         utimens: avoid shadowing warning
28636         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28637         buffers into one, to avoid shadowing, as well as avoiding a
28638         redundant stat.
28639         Reported by Jim Meyering.
28640
28641         test-dup2: avoid compiler warning
28642         * tests/test-dup2.c (is_inheritable): Only define if used.
28643
28644 2010-01-01  Bruno Haible  <bruno@clisp.org>
28645
28646         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28647         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28648         defined, use wctomb instead of wcrtomb.
28649
28650 2010-01-01  Bruno Haible  <bruno@clisp.org>
28651
28652         iconv: Reject native Solaris iconv.
28653         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28654         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28655
28656 2009-12-31  Bruno Haible  <bruno@clisp.org>
28657
28658         * tests/test-signal.c (main): Remove test of 'SIG'.
28659
28660 2009-12-31  Bruno Haible  <bruno@clisp.org>
28661
28662         spawn: Fix incomplete fix.
28663         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28664         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28665         warnings for GNULIB_POSIXCHECK again.
28666         Reported by Eric Blake.
28667
28668 2009-12-31  Bruno Haible  <bruno@clisp.org>
28669
28670         Avoid namespace pollution on glibc systems.
28671         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28672         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28673         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28674         glibc systems.
28675
28676 2009-12-31  Bruno Haible  <bruno@clisp.org>
28677
28678         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28679         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28680         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28681         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28682         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28683         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28684         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28685
28686 2009-12-31  Bruno Haible  <bruno@clisp.org>
28687
28688         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28689         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28690         afterwards.
28691
28692 2009-12-31  Bruno Haible  <bruno@clisp.org>
28693
28694         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28695         SYS_UTSNAME_H.
28696
28697 2009-12-31  Bruno Haible  <bruno@clisp.org>
28698
28699         spawn: Fix misapplied patch.
28700         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28701         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28702         warnings for GNULIB_POSIXCHECK.
28703
28704 2009-12-31  Bruno Haible  <bruno@clisp.org>
28705
28706         times: Update after sys_times changed.
28707         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28708         * modules/times (Files): Add it.
28709         (configure.ac): Invoke gl_FUNC_TIMES.
28710
28711 2009-12-31  Bruno Haible  <bruno@clisp.org>
28712
28713         Use AC_C_INLINE where necessary.
28714         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28715         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28716         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28717         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28718         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28719         * m4/mbiter.m4 (gl_MBITER): Likewise.
28720         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28721         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28722         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28723         * modules/u64 (configure.ac): Likewise.
28724
28725 2009-12-31  Bruno Haible  <bruno@clisp.org>
28726
28727         Use AC_C_INLINE instead of module 'inline' where possible.
28728         * modules/inline (Description): Clarify purpose.
28729         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28730         * modules/count-one-bits (Depends-on): Remove inline.
28731         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28732         * modules/openat (Depends-on): Remove inline.
28733         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28734         instead of depending on module 'inline'.
28735         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28736         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28737         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28738         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28739         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28740         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28741         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28742         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28743         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28744         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28745         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28746         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28747         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28748         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28749         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28750         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28751         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28752         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28753         Likewise.
28754         * modules/unictype/property-ascii-hex-digit (Depends-on,
28755         configure.ac): Likewise.
28756         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28757         configure.ac): Likewise.
28758         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28759         configure.ac): Likewise.
28760         * modules/unictype/property-bidi-block-separator (Depends-on,
28761         configure.ac): Likewise.
28762         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28763         configure.ac): Likewise.
28764         * modules/unictype/property-bidi-common-separator (Depends-on,
28765         configure.ac): Likewise.
28766         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28767         Likewise.
28768         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28769         configure.ac): Likewise.
28770         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28771         configure.ac): Likewise.
28772         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28773         configure.ac): Likewise.
28774         * modules/unictype/property-bidi-european-digit (Depends-on,
28775         configure.ac): Likewise.
28776         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28777         configure.ac): Likewise.
28778         * modules/unictype/property-bidi-left-to-right (Depends-on,
28779         configure.ac): Likewise.
28780         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28781         configure.ac): Likewise.
28782         * modules/unictype/property-bidi-other-neutral (Depends-on,
28783         configure.ac): Likewise.
28784         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28785         Likewise.
28786         * modules/unictype/property-bidi-segment-separator (Depends-on,
28787         configure.ac): Likewise.
28788         * modules/unictype/property-bidi-whitespace (Depends-on,
28789         configure.ac): Likewise.
28790         * modules/unictype/property-combining (Depends-on, configure.ac):
28791         Likewise.
28792         * modules/unictype/property-composite (Depends-on, configure.ac):
28793         Likewise.
28794         * modules/unictype/property-currency-symbol (Depends-on,
28795         configure.ac): Likewise.
28796         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
28797         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
28798         Likewise.
28799         * modules/unictype/property-default-ignorable-code-point (Depends-on,
28800         configure.ac): Likewise.
28801         * modules/unictype/property-deprecated (Depends-on, configure.ac):
28802         Likewise.
28803         * modules/unictype/property-diacritic (Depends-on, configure.ac):
28804         Likewise.
28805         * modules/unictype/property-extender (Depends-on, configure.ac):
28806         Likewise.
28807         * modules/unictype/property-format-control (Depends-on, configure.ac):
28808         Likewise.
28809         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
28810         Likewise.
28811         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
28812         Likewise.
28813         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
28814         Likewise.
28815         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
28816         Likewise.
28817         * modules/unictype/property-hyphen (Depends-on, configure.ac):
28818         Likewise.
28819         * modules/unictype/property-id-continue (Depends-on, configure.ac):
28820         Likewise.
28821         * modules/unictype/property-id-start (Depends-on, configure.ac):
28822         Likewise.
28823         * modules/unictype/property-ideographic (Depends-on, configure.ac):
28824         Likewise.
28825         * modules/unictype/property-ids-binary-operator (Depends-on,
28826         configure.ac): Likewise.
28827         * modules/unictype/property-ids-trinary-operator (Depends-on,
28828         configure.ac): Likewise.
28829         * modules/unictype/property-ignorable-control (Depends-on,
28830         configure.ac): Likewise.
28831         * modules/unictype/property-iso-control (Depends-on, configure.ac):
28832         Likewise.
28833         * modules/unictype/property-join-control (Depends-on, configure.ac):
28834         Likewise.
28835         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
28836         Likewise.
28837         * modules/unictype/property-line-separator (Depends-on, configure.ac):
28838         Likewise.
28839         * modules/unictype/property-logical-order-exception (Depends-on,
28840         configure.ac): Likewise.
28841         * modules/unictype/property-lowercase (Depends-on, configure.ac):
28842         Likewise.
28843         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
28844         * modules/unictype/property-non-break (Depends-on, configure.ac):
28845         Likewise.
28846         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
28847         Likewise.
28848         * modules/unictype/property-numeric (Depends-on, configure.ac):
28849         Likewise.
28850         * modules/unictype/property-other-alphabetic (Depends-on,
28851         configure.ac): Likewise.
28852         * modules/unictype/property-other-default-ignorable-code-point
28853         (Depends-on, configure.ac): Likewise.
28854         * modules/unictype/property-other-grapheme-extend (Depends-on,
28855         configure.ac): Likewise.
28856         * modules/unictype/property-other-id-continue (Depends-on,
28857         configure.ac): Likewise.
28858         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
28859         Likewise.
28860         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
28861         Likewise.
28862         * modules/unictype/property-other-math (Depends-on, configure.ac):
28863         Likewise.
28864         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
28865         Likewise.
28866         * modules/unictype/property-paired-punctuation (Depends-on,
28867         configure.ac): Likewise.
28868         * modules/unictype/property-paragraph-separator (Depends-on,
28869         configure.ac): Likewise.
28870         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
28871         Likewise.
28872         * modules/unictype/property-pattern-white-space (Depends-on,
28873         configure.ac): Likewise.
28874         * modules/unictype/property-private-use (Depends-on, configure.ac):
28875         Likewise.
28876         * modules/unictype/property-punctuation (Depends-on, configure.ac):
28877         Likewise.
28878         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
28879         Likewise.
28880         * modules/unictype/property-radical (Depends-on, configure.ac):
28881         Likewise.
28882         * modules/unictype/property-sentence-terminal (Depends-on,
28883         configure.ac): Likewise.
28884         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
28885         Likewise.
28886         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
28887         * modules/unictype/property-terminal-punctuation (Depends-on,
28888         configure.ac): Likewise.
28889         * modules/unictype/property-titlecase (Depends-on, configure.ac):
28890         Likewise.
28891         * modules/unictype/property-unassigned-code-value (Depends-on,
28892         configure.ac): Likewise.
28893         * modules/unictype/property-unified-ideograph (Depends-on,
28894         configure.ac): Likewise.
28895         * modules/unictype/property-uppercase (Depends-on, configure.ac):
28896         Likewise.
28897         * modules/unictype/property-variation-selector (Depends-on,
28898         configure.ac): Likewise.
28899         * modules/unictype/property-white-space (Depends-on, configure.ac):
28900         Likewise.
28901         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
28902         Likewise.
28903         * modules/unictype/property-xid-start (Depends-on, configure.ac):
28904         Likewise.
28905         * modules/unictype/property-zero-width (Depends-on, configure.ac):
28906         Likewise.
28907         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
28908         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
28909         Likewise.
28910
28911 2009-12-31  Bruno Haible  <bruno@clisp.org>
28912
28913         Remove unnecessary AC_C_INLINE invocation.
28914         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
28915         since 2009-08-21.
28916
28917 2009-12-31  Jim Meyering  <meyering@redhat.com>
28918
28919         maint.mk: don't require explicit gpg_key_ID in cfg.mk
28920         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
28921         With this change, we can all remove the gpg_key_ID = ... definition
28922         from our respective cfg.mk files.
28923
28924         maint.mk: create announcement template in ~/, not in /tmp
28925         * top/maint.mk (emit_upload_commands): Adjust.
28926         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
28927         Remove temporary file, .ci-msg.
28928
28929 2009-12-31  Eric Blake  <ebb9@byu.net>
28930
28931         link-warning: always build headers with link warnings
28932         * modules/arpa_inet (Makefile.am): Always build replacement
28933         header.
28934         * modules/ctype (Makefile.am): Likewise.
28935         * modules/dirent (Makefile.am): Likewise.
28936         * modules/inttypes (Makefile.am): Likewise.
28937         * modules/langinfo (Makefile.am): Likewise.
28938         * modules/locale (Makefile.am): Likewise.
28939         * modules/spawn (Makefile.am): Likewise.
28940         * modules/sys_file (Makefile.am): Likewise.
28941         * modules/sys_ioctl (Makefile.am): Likewise.
28942         * modules/sys_select (Makefile.am): Likewise.
28943         * modules/sys_socket (Makefile.am): Likewise.
28944         * modules/sys_times (Makefile.am): Likewise.
28945         * modules/sys_utsname (Makefile.am): Likewise.
28946         * modules/sys_wait (Makefile.am): Likewise.
28947         * modules/wchar (Makefile.am): Likewise.
28948         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
28949         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
28950         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
28951         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
28952         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
28953         Likewise.
28954         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28955         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28956         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
28957         Likewise.
28958         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
28959         Likewise.
28960         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
28961         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
28962         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
28963         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28964         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28965         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28966         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28967         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
28968         (gl_WCHAR_H_DEFAULTS): Likewise.
28969
28970 2009-12-31  Eric Blake  <ebb9@byu.net>
28971
28972         signal, spawn: use link warnings
28973         * lib/signal.in.h (sigset_t): Make unconditional.
28974         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
28975         (sigpending, sigprocmask, sigaction): Add link warnings.
28976         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
28977         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
28978         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
28979         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
28980         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
28981         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
28982         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
28983         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
28984         (posix_spawn_file_actions_destroy)
28985         (posix_spawn_file_actions_addopen)
28986         (posix_spawn_file_actions_addclose)
28987         (posix_spawn_file_actions_adddup2): Likewise.
28988         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
28989         * tests/test-signal.c (main): Enhance test.
28990
28991         spawn: improve wrapper support
28992         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
28993         (gl_SPAWN_H_DEFAULTS): New defaults.
28994         * modules/spawn (Makefile.am): Substitute them.
28995         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
28996         Only declare if missing or broken.
28997
28998         sys_times, sys_utsname: use include_next
28999         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
29000         header.
29001         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
29002         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29003         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29004         * modules/sys_times (Depends-on): Add include_next.
29005         (Makefile.am): Substitute additional values.
29006         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29007         * lib/sys_times.in.h (includes): Include native header, if
29008         available.
29009         * lib/sys_utsname.in.h (includes): Likewise.
29010         * tests/test-sys_times.c (main): Enhance test.
29011
29012         fdutimensat: revert prior patch
29013         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
29014         utimens.h.
29015         Reported by Bruno Haible.
29016
29017 2009-12-30  Eric Blake  <ebb9@byu.net>
29018
29019         sys_wait: drop link-warning dependency
29020         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
29021         link-warning efforts.
29022         * lib/sys_wait.in.h: Likewise.
29023
29024         fdutimensat: remove bogus dependency
29025         * modules/fdutimensat (Depends-on): Drop inline.
29026
29027         unistd: fix typo
29028         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
29029
29030 2009-12-30  Bruno Haible  <bruno@clisp.org>
29031
29032         Fix compilation error with Solaris cc.
29033         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
29034         * lib/unicase/u16-is-invariant.c: Likewise.
29035         * lib/unicase/u32-is-invariant.c: Likewise.
29036         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29037
29038 2009-12-30  Bruno Haible  <bruno@clisp.org>
29039
29040         Fix test crash.
29041         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
29042         locales.
29043         Reported by Simon Josefsson <simon@josefsson.org>.
29044
29045 2009-12-30  Bruno Haible  <bruno@clisp.org>
29046
29047         Fix compilation error on most platforms.
29048         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
29049         Reported by Simon Josefsson <simon@josefsson.org>
29050         and Nelson H. F. Beebe <beebe@math.utah.edu>.
29051
29052 2009-12-30  Eric Blake  <ebb9@byu.net>
29053
29054         futimens, utimensat: work around ntfs-3g bug
29055         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
29056         a ctime bug is present, and expand workaround to cover ntfs-3g.
29057         * lib/utimens.c (fdutimens, lutimens): Likewise.
29058         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
29059         (validate_timespec): Adjust return value.
29060         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
29061         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29062         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
29063
29064 2009-12-29  Eric Blake  <ebb9@byu.net>
29065
29066         link-warning: make usage consistent
29067         * modules/ctype (Depends-on): Add link-warning.
29068         (Makefile.am): Update rules accordingly.
29069         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29070         * modules/locale (Depends-on, Makefile.am): Likewise.
29071         * modules/sys_file (Makefile.am): Likewise.
29072         * modules/getopt-posix (Makefile.am): Delete unused link warning
29073         efforts.
29074         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
29075         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
29076         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
29077         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
29078
29079         stdio: remove unused variables
29080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
29081         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
29082         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29083
29084         tests: test more substitute headers
29085         * modules/ctype-tests: New file.
29086         * modules/dirent-tests: Likewise.
29087         * modules/spawn-tests: Likewise.
29088         * modules/sys_file-tests: Likewise.
29089         * modules/sys_ioctl-tests: Likewise.
29090         * modules/sys_wait-tests: Likewise.
29091         * tests/test-ctype.c: Likewise.
29092         * tests/test-dirent.c: Likewise.
29093         * tests/test-spawn.c: Likewise.
29094         * tests/test-sys_file.c: Likewise.
29095         * tests/test-sys_ioctl.c: Likewise.
29096         * tests/test-sys_wait.c: Likewise.
29097         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
29098         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
29099         whether or not flock is in use.
29100
29101         tests: remove License section from module
29102         * modules/arpa_inet-tests: Remove unneeded section.
29103         * modules/byteswap-tests: Likewise.
29104         * modules/ceilf-tests: Likewise.
29105         * modules/ceill-tests: Likewise.
29106         * modules/crypto/des-tests: Likewise.
29107         * modules/crypto/gc-arcfour-tests: Likewise.
29108         * modules/crypto/gc-arctwo-tests: Likewise.
29109         * modules/crypto/gc-des-tests: Likewise.
29110         * modules/crypto/gc-hmac-md5-tests: Likewise.
29111         * modules/crypto/gc-hmac-sha1-tests: Likewise.
29112         * modules/crypto/gc-md2-tests: Likewise.
29113         * modules/crypto/gc-md4-tests: Likewise.
29114         * modules/crypto/gc-md5-tests: Likewise.
29115         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
29116         * modules/crypto/gc-rijndael-tests: Likewise.
29117         * modules/crypto/gc-sha1-tests: Likewise.
29118         * modules/crypto/gc-tests: Likewise.
29119         * modules/crypto/md2-tests: Likewise.
29120         * modules/crypto/md4-tests: Likewise.
29121         * modules/fcntl-h-tests: Likewise.
29122         * modules/floorf-tests: Likewise.
29123         * modules/floorl-tests: Likewise.
29124         * modules/frexp-nolibm-tests: Likewise.
29125         * modules/frexp-tests: Likewise.
29126         * modules/frexpl-nolibm-tests: Likewise.
29127         * modules/frexpl-tests: Likewise.
29128         * modules/getaddrinfo-tests: Likewise.
29129         * modules/inttypes-tests: Likewise.
29130         * modules/isfinite-tests: Likewise.
29131         * modules/isinf-tests: Likewise.
29132         * modules/ldexpl-tests: Likewise.
29133         * modules/locale-tests: Likewise.
29134         * modules/math-tests: Likewise.
29135         * modules/netdb-tests: Likewise.
29136         * modules/netinet_in-tests: Likewise.
29137         * modules/printf-frexp-tests: Likewise.
29138         * modules/printf-frexpl-tests: Likewise.
29139         * modules/priv-set-tests: Likewise.
29140         * modules/random_r-tests: Likewise.
29141         * modules/round-tests: Likewise.
29142         * modules/roundf-tests: Likewise.
29143         * modules/roundl-tests: Likewise.
29144         * modules/search-tests: Likewise.
29145         * modules/select-tests: Likewise.
29146         * modules/signal-tests: Likewise.
29147         * modules/stdbool-tests: Likewise.
29148         * modules/stddef-tests: Likewise.
29149         * modules/stdint-tests: Likewise.
29150         * modules/stdio-tests: Likewise.
29151         * modules/stdlib-tests: Likewise.
29152         * modules/string-tests: Likewise.
29153         * modules/strings-tests: Likewise.
29154         * modules/sys_select-tests: Likewise.
29155         * modules/sys_socket-tests: Likewise.
29156         * modules/sys_stat-tests: Likewise.
29157         * modules/sys_time-tests: Likewise.
29158         * modules/sys_utsname-tests: Likewise.
29159         * modules/sysexits-tests: Likewise.
29160         * modules/time-tests: Likewise.
29161         * modules/trunc-tests: Likewise.
29162         * modules/truncf-tests: Likewise.
29163         * modules/truncl-tests: Likewise.
29164         * modules/tsearch-tests: Likewise.
29165         * modules/unistd-tests: Likewise.
29166         * modules/wchar-tests: Likewise.
29167         * modules/wctype-tests: Likewise.
29168
29169         tests: fix license on several tests
29170         * tests/test-des.c: Update to GPLv3+.
29171         * tests/test-flock.c: Likewise.
29172         * tests/test-fsync.c: Likewise.
29173         * tests/test-futimens.h: Likewise.
29174         * tests/test-gc-arcfour.c: Likewise.
29175         * tests/test-gc-arctwo.c: Likewise.
29176         * tests/test-gc-des.c: Likewise.
29177         * tests/test-gc-hmac-md5.c: Likewise.
29178         * tests/test-gc-hmac-sha1.c: Likewise.
29179         * tests/test-gc-md2.c: Likewise.
29180         * tests/test-gc-md4.c: Likewise.
29181         * tests/test-gc-md5.c: Likewise.
29182         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29183         * tests/test-gc-rijndael.c: Likewise.
29184         * tests/test-gc-sha1.c: Likewise.
29185         * tests/test-gc.c: Likewise.
29186         * tests/test-getcwd.c: Likewise.
29187         * tests/test-link.c: Likewise.
29188         * tests/test-link.h: Likewise.
29189         * tests/test-lutimens.h: Likewise.
29190         * tests/test-md2.c: Likewise.
29191         * tests/test-md4.c: Likewise.
29192         * tests/test-mkdir.h: Likewise.
29193         * tests/test-rename.c: Likewise.
29194         * tests/test-rename.h: Likewise.
29195         * tests/test-safe-alloc.c: Likewise.
29196         * tests/test-utimens-common.h: Likewise.
29197         * tests/test-utimens.h: Likewise.
29198
29199         maint: sync license texts
29200         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
29201         * doc/gpl-3.0.texi: Revert copyright year update.
29202         * doc/lgpl-3.0.texi: Likewise.
29203
29204 2009-12-29  Jim Meyering  <meyering@redhat.com>
29205
29206         update nearly all FSF copyright year lists to include 2009
29207         The files named by the following are exempted:
29208             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
29209               test -f "$dst" && { echo "$dst"; continue; }
29210               test -d "$dst" || continue
29211               echo "$dst"/$(basename "$src")
29212             done > exempt
29213             git ls-files tests/unictype >> exempt
29214         In the remaining files, convert to all-interval notation if
29215         - there is already at least one year interval like 2000-2003
29216         - the file is maintained by me
29217         - the file is in lib/uni*/, where that style already prevails
29218         Otherwise, use update-copyright's default.
29219
29220 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29221         and Eric Blake  <ebb9@byu.net>
29222
29223         tests: don't require debug system() to pass
29224         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
29225         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29226         * tests/test-unlink.h (test_unlink_func): Likewise.
29227         * tests/test-fstatat.c (main): ...into callers.
29228         * tests/test-lstat.c (main): Likewise.
29229         * tests/test-rmdir.c (main): Likewise.
29230         * tests/test-unlink.c (main): Likewise.
29231         * tests/test-unlinkat.c (main): Likewise.
29232         * tests/test-areadlink-with-size.c (main): Don't require a
29233         debug-only system call to pass, aiding cross-testing to mingw.
29234         * tests/test-areadlink.c (main): Likewise.
29235         * tests/test-areadlinkat-with-size.c (main): Likewise.
29236         * tests/test-areadlinkat.c (main): Likewise.
29237         * tests/test-canonicalize-lgpl.c (main): Likewise.
29238         * tests/test-canonicalize.c (main): Likewise.
29239         * tests/test-chown.c (main): Likewise.
29240         * tests/test-fchownat.c (main): Likewise.
29241         * tests/test-lchown.c (main): Likewise.
29242         * tests/test-fdutimensat.c (main): Likewise.
29243         * tests/test-futimens.c (main): Likewise.
29244         * tests/test-link.c (main): Likewise.
29245         * tests/test-linkat.c (main): Likewise.
29246         * tests/test-mkdir.c (main): Likewise.
29247         * tests/test-mkdirat.c (main): Likewise.
29248         * tests/test-mkfifo.c (main): Likewise.
29249         * tests/test-mkfifoat.c (main): Likewise.
29250         * tests/test-mknod.c (main): Likewise.
29251         * tests/test-readlink.c (main): Likewise.
29252         * tests/test-remove.c (main): Likewise.
29253         * tests/test-rename.c (main): Likewise.
29254         * tests/test-renameat.c (main): Likewise.
29255         * tests/test-symlink.c (main): Likewise.
29256         * tests/test-symlinkat.c (main): Likewise.
29257         * tests/test-utimens.c (main): Likewise.
29258         * tests/test-utimensat.c (main): Likewise.
29259
29260 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29261
29262         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
29263         on $(UNUSED_PARAMETER_H) to avoid build failure.
29264
29265 2009-12-28  Jim Meyering  <meyering@redhat.com>
29266
29267         update-copyright: you may specify a max. line length other than 72
29268         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29269
29270         maint: use consistent FSF copyright line syntax
29271         * lib/posixtm.c: Add missing comma in FSF copyright line.
29272         * lib/posixtm.h: Likewise.
29273         * lib/getugroups.c: Add missing ", Inc.".
29274
29275         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
29276         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
29277         FSF copyright line.  Remove trailing blanks.
29278
29279 2009-12-28  Eric Blake  <ebb9@byu.net>
29280
29281         test-dup2: reduce dependencies
29282         * modules/cloexec (Configure.ac): Set witness.
29283         * modules/dup2-tests (Depends-on): Drop cloexec.
29284         * tests/test-dup2.c (main): Skip portion of test if cloexec module
29285         not present.
29286         Suggested by Bruno Haible.
29287
29288 2009-12-26  Bruno Haible  <bruno@clisp.org>
29289
29290         Remove an unneeded dependency.
29291         * modules/fseterr (Depends-on): Remove dup2.
29292
29293 2009-12-26  Eric Blake  <ebb9@byu.net>
29294
29295         tests: use macros.h in more places
29296         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
29297         (ASSERT_STREAM): Provide default of stderr.
29298         * tests/test-dirent-safer.c: Include macros.h, using alternate
29299         stream for assertions.
29300         * tests/test-dup-safer.c: Likewise.
29301         * tests/test-freopen-safer.c: Likewise.
29302         * tests/test-getopt.c: Likewise.
29303         * tests/test-openat-safer.c: Likewise.
29304         * tests/test-pipe.c: Likewise.
29305         * tests/test-popen-safer.c: Likewise.
29306         * modules/dirent-safer-tests (Files): Include macros.h.
29307         * modules/unistd-safer-tests (Files): Likewise.
29308         * modules/freopen-safer-tests (Files): Likewise.
29309         * modules/getopt-posix-tests (Files): Likewise.
29310         * modules/openat-safer-tests (Files): Likewise.
29311         * modules/pipe-tests (Files): Likewise.
29312
29313 2009-12-26  Bruno Haible  <bruno@clisp.org>
29314
29315         javacomp: Portability fix.
29316         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
29317         that it also works on Solaris.
29318
29319 2009-12-26  Bruno Haible  <bruno@clisp.org>
29320
29321         localename: Fix storage allocation of gl_locale_name_thread's result.
29322         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
29323         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
29324         all platforms that have 'uselocale'.
29325         (gl_locale_name_thread_unsafe): New function, extracted from
29326         gl_locale_name_thread.
29327         (gl_locale_name_thread): Call struniq on all platforms that have
29328         'uselocale'.
29329         * tests/test-localename.c (test_locale_name_thread): Check that the
29330         resulting strings are permanently allocated.
29331         * modules/localename-tests (Depends-on): Add strdup.
29332
29333 2009-12-26  Bruno Haible  <bruno@clisp.org>
29334
29335         * tests/test-localename.c (categories): Fill in the strings.
29336
29337 2009-12-26  Jim Meyering  <meyering@redhat.com>
29338
29339         isdir: complete the removal of m4/isdir.m4
29340         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29341
29342         isdir: clean up, since at least grep still uses it
29343         * lib/isdir.c: Include "isdir.h".
29344         (S_ISDIR): Remove now-unneeded definition.
29345         * modules/isdir (Files): Add lib/isdir.h.
29346         * lib/isdir.h: New file, with declaration.
29347         * m4/isdir.m4: Remove file -- unneeded.
29348
29349 2009-12-25  Bruno Haible  <bruno@clisp.org>
29350
29351         selinux-h: Make generated .h files standalone.
29352         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
29353         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
29354         * lib/se-selinux.in.h: Likewise.
29355         * modules/selinux-h (Depends-on): Add unused-parameter.
29356         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
29357         selinux/selinux.h and selinux/context.h.
29358         Suggested by Eric Blake.
29359
29360 2009-12-25  Bruno Haible  <bruno@clisp.org>
29361
29362         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
29363         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
29364         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
29365         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
29366         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
29367
29368 2009-12-24  Bruno Haible  <bruno@clisp.org>
29369
29370         openat: Fix warning.
29371         * lib/openat-proc.c: Include <unistd.h>.
29372
29373 2009-12-24  Bruno Haible  <bruno@clisp.org>
29374
29375         New module 'unused-parameter'.
29376         * build-aux/unused-parameter.h: New file, extracted from earlier
29377         gnulib-common.m4.
29378         * modules/unused-parameter: New file.
29379         * lib/unistr.h: Include unused-parameter.h.
29380         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29381         _GL_UNUSED.
29382         * modules/unistr/base (Depends-on): Add unused-parameter.
29383
29384 2009-12-24  Bruno Haible  <bruno@clisp.org>
29385
29386         Add missing dependencies to 'extensions' module.
29387         * m4/extensions.m4: Add comment.
29388         * modules/accept4 (Depends-on): Add extensions.
29389         * modules/dup3 (Depends-on): Likewise.
29390         * modules/fcntl (Depends-on): Likewise.
29391         * modules/futimens (Depends-on): Likewise.
29392         * modules/mknod (Depends-on): Likewise.
29393         * modules/pipe2 (Depends-on): Likewise.
29394         * modules/stat-time (Depends-on): Likewise.
29395         * modules/strcasestr-simple (Depends-on): Likewise.
29396         * modules/strsignal (Depends-on): Likewise.
29397         * modules/utimensat (Depends-on): Likewise.
29398         * modules/localcharset (Depends-on): Likewise. Needed because of
29399         gl_FCNTL_O_FLAGS.
29400         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29401         AC_TYPE_MBSTATE_T.
29402         * modules/wcsnrtombs (Depends-on): Likewise.
29403         * modules/wcsrtombs (Depends-on): Likewise.
29404
29405 2009-12-24  Bruno Haible  <bruno@clisp.org>
29406
29407         binary-io: Avoid gcc warning due to SET_BINARY.
29408         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29409         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29410
29411 2009-12-24  Bruno Haible  <bruno@clisp.org>
29412
29413         Avoid future namespace pollution on glibc systems.
29414         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29415         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29416         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29417         glibc systems.
29418
29419 2009-12-24  Bruno Haible  <bruno@clisp.org>
29420
29421         Refactor common macros used in tests.
29422         * tests/macros.h: New file.
29423         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29424         and/or <stdlib.h>, if appropriate.
29425         (ASSERT, SIZEOF): Remove macros.
29426         * tests/test-areadlink-with-size.c: Likewise.
29427         * tests/test-areadlinkat.c: Likewise.
29428         * tests/test-areadlinkat-with-size.c: Likewise.
29429         * tests/test-argmatch.c: Likewise.
29430         * tests/test-argv-iter.c: Likewise.
29431         * tests/test-array-mergesort.c: Likewise.
29432         * tests/test-array_list.c: Likewise.
29433         * tests/test-array_oset.c: Likewise.
29434         * tests/test-avltree_list.c: Likewise.
29435         * tests/test-avltree_oset.c: Likewise.
29436         * tests/test-avltreehash_list.c: Likewise.
29437         * tests/test-base64.c: Likewise.
29438         * tests/test-binary-io.c: Likewise.
29439         * tests/test-bitrotate.c: Likewise.
29440         * tests/test-btowc.c: Likewise.
29441         * tests/test-byteswap.c: Likewise.
29442         * tests/test-c-ctype.c: Likewise.
29443         * tests/test-c-stack.c: Likewise.
29444         * tests/test-c-strcasecmp.c: Likewise.
29445         * tests/test-c-strcasestr.c: Likewise.
29446         * tests/test-c-strncasecmp.c: Likewise.
29447         * tests/test-c-strstr.c: Likewise.
29448         * tests/test-canonicalize-lgpl.c: Likewise.
29449         * tests/test-canonicalize.c: Likewise.
29450         * tests/test-carray_list.c: Likewise.
29451         * tests/test-ceilf1.c: Likewise.
29452         * tests/test-ceilf2.c: Likewise.
29453         * tests/test-ceill.c: Likewise.
29454         * tests/test-chown.c: Likewise.
29455         * tests/test-cloexec.c: Likewise.
29456         * tests/test-copy-acl.c: Likewise.
29457         * tests/test-copy-file.c: Likewise.
29458         * tests/test-count-one-bits.c: Likewise.
29459         * tests/test-dprintf-posix.c: Likewise.
29460         * tests/test-dup2.c: Likewise.
29461         * tests/test-dup3.c: Likewise.
29462         * tests/test-duplocale.c: Likewise.
29463         * tests/test-fbufmode.c: Likewise.
29464         * tests/test-fchdir.c: Likewise.
29465         * tests/test-fchownat.c: Likewise.
29466         * tests/test-fcntl-safer.c: Likewise.
29467         * tests/test-fcntl.c: Likewise.
29468         * tests/test-fdopendir.c: Likewise.
29469         * tests/test-fdutimensat.c: Likewise.
29470         * tests/test-fflush2.c: Likewise.
29471         * tests/test-file-has-acl.c: Likewise.
29472         * tests/test-filevercmp.c: Likewise.
29473         * tests/test-flock.c: Likewise.
29474         * tests/test-floorf1.c: Likewise.
29475         * tests/test-floorf2.c: Likewise.
29476         * tests/test-floorl.c: Likewise.
29477         * tests/test-fnmatch.c: Likewise.
29478         * tests/test-fopen.h: Likewise.
29479         * tests/test-fpending.c: Likewise.
29480         * tests/test-fprintf-posix.c: Likewise.
29481         * tests/test-fpurge.c: Likewise.
29482         * tests/test-freadable.c: Likewise.
29483         * tests/test-freadahead.c: Likewise.
29484         * tests/test-freading.c: Likewise.
29485         * tests/test-freadptr.c: Likewise.
29486         * tests/test-freadptr2.c: Likewise.
29487         * tests/test-freadseek.c: Likewise.
29488         * tests/test-freopen.c: Likewise.
29489         * tests/test-frexp.c: Likewise.
29490         * tests/test-frexpl.c: Likewise.
29491         * tests/test-fseek.c: Likewise.
29492         * tests/test-fseeko.c: Likewise.
29493         * tests/test-fstatat.c: Likewise.
29494         * tests/test-fstrcmp.c: Likewise.
29495         * tests/test-fsync.c: Likewise.
29496         * tests/test-ftell.c: Likewise.
29497         * tests/test-ftello.c: Likewise.
29498         * tests/test-func.c: Likewise.
29499         * tests/test-futimens.c: Likewise.
29500         * tests/test-fwritable.c: Likewise.
29501         * tests/test-fwriting.c: Likewise.
29502         * tests/test-getcwd.c: Likewise.
29503         * tests/test-getdate.c: Likewise.
29504         * tests/test-getdelim.c: Likewise.
29505         * tests/test-getdtablesize.c: Likewise.
29506         * tests/test-getgroups.c: Likewise.
29507         * tests/test-getline.c: Likewise.
29508         * tests/test-getndelim2.c: Likewise.
29509         * tests/test-glob.c: Likewise.
29510         * tests/test-hash.c: Likewise.
29511         * tests/test-i-ring.c: Likewise.
29512         * tests/test-iconv-utf.c: Likewise.
29513         * tests/test-iconv.c: Likewise.
29514         * tests/test-idpriv-drop.c: Likewise.
29515         * tests/test-idpriv-droptemp.c: Likewise.
29516         * tests/test-inet_ntop.c: Likewise.
29517         * tests/test-inet_pton.c: Likewise.
29518         * tests/test-isblank.c: Likewise.
29519         * tests/test-isfinite.c: Likewise.
29520         * tests/test-isinf.c: Likewise.
29521         * tests/test-isnan.c: Likewise.
29522         * tests/test-isnand.h: Likewise.
29523         * tests/test-isnanf.h: Likewise.
29524         * tests/test-isnanl.h: Likewise.
29525         * tests/test-lchown.c: Likewise.
29526         * tests/test-ldexpl.c: Likewise.
29527         * tests/test-link.c: Likewise.
29528         * tests/test-linkat.c: Likewise.
29529         * tests/test-linked_list.c: Likewise.
29530         * tests/test-linkedhash_list.c: Likewise.
29531         * tests/test-localename.c: Likewise.
29532         * tests/test-lseek.c: Likewise.
29533         * tests/test-lstat.c: Likewise.
29534         * tests/test-mbmemcasecmp.c: Likewise.
29535         * tests/test-mbmemcasecoll.c: Likewise.
29536         * tests/test-mbrtowc.c: Likewise.
29537         * tests/test-mbscasecmp.c: Likewise.
29538         * tests/test-mbscasestr1.c: Likewise.
29539         * tests/test-mbscasestr2.c: Likewise.
29540         * tests/test-mbscasestr3.c: Likewise.
29541         * tests/test-mbscasestr4.c: Likewise.
29542         * tests/test-mbschr.c: Likewise.
29543         * tests/test-mbscspn.c: Likewise.
29544         * tests/test-mbsinit.c: Likewise.
29545         * tests/test-mbsncasecmp.c: Likewise.
29546         * tests/test-mbsnrtowcs.c: Likewise.
29547         * tests/test-mbspbrk.c: Likewise.
29548         * tests/test-mbspcasecmp.c: Likewise.
29549         * tests/test-mbsrchr.c: Likewise.
29550         * tests/test-mbsrtowcs.c: Likewise.
29551         * tests/test-mbsspn.c: Likewise.
29552         * tests/test-mbsstr1.c: Likewise.
29553         * tests/test-mbsstr2.c: Likewise.
29554         * tests/test-mbsstr3.c: Likewise.
29555         * tests/test-memchr.c: Likewise.
29556         * tests/test-memchr2.c: Likewise.
29557         * tests/test-memcmp.c: Likewise.
29558         * tests/test-memmem.c: Likewise.
29559         * tests/test-memrchr.c: Likewise.
29560         * tests/test-mkdir.c: Likewise.
29561         * tests/test-mkdirat.c: Likewise.
29562         * tests/test-mkfifo.c: Likewise.
29563         * tests/test-mkfifoat.c: Likewise.
29564         * tests/test-mknod.c: Likewise.
29565         * tests/test-nanosleep.c: Likewise.
29566         * tests/test-nl_langinfo.c: Likewise.
29567         * tests/test-obstack-printf.c: Likewise.
29568         * tests/test-open.c: Likewise.
29569         * tests/test-openat.c: Likewise.
29570         * tests/test-pipe-filter-gi1.c: Likewise.
29571         * tests/test-pipe-filter-gi2-main.c: Likewise.
29572         * tests/test-pipe-filter-ii1.c: Likewise.
29573         * tests/test-pipe-filter-ii2-main.c: Likewise.
29574         * tests/test-pipe2.c: Likewise.
29575         * tests/test-popen.h: Likewise.
29576         * tests/test-posixtm.c: Likewise.
29577         * tests/test-pread.c: Likewise.
29578         * tests/test-printf-frexp.c: Likewise.
29579         * tests/test-printf-frexpl.c: Likewise.
29580         * tests/test-printf-posix.c: Likewise.
29581         * tests/test-priv-set.c: Likewise.
29582         * tests/test-quotearg.c: Likewise.
29583         * tests/test-random_r.c: Likewise.
29584         * tests/test-rawmemchr.c: Likewise.
29585         * tests/test-rbtree_list.c: Likewise.
29586         * tests/test-rbtree_oset.c: Likewise.
29587         * tests/test-rbtreehash_list.c: Likewise.
29588         * tests/test-readlink.c: Likewise.
29589         * tests/test-remove.c: Likewise.
29590         * tests/test-rename.c: Likewise.
29591         * tests/test-renameat.c: Likewise.
29592         * tests/test-rmdir.c: Likewise.
29593         * tests/test-round1.c: Likewise.
29594         * tests/test-roundf1.c: Likewise.
29595         * tests/test-roundl.c: Likewise.
29596         * tests/test-safe-alloc.c: Likewise.
29597         * tests/test-sameacls.c: Likewise.
29598         * tests/test-set-mode-acl.c: Likewise.
29599         * tests/test-setenv.c: Likewise.
29600         * tests/test-sigaction.c: Likewise.
29601         * tests/test-signbit.c: Likewise.
29602         * tests/test-sleep.c: Likewise.
29603         * tests/test-snprintf-posix.c: Likewise.
29604         * tests/test-snprintf.c: Likewise.
29605         * tests/test-sprintf-posix.c: Likewise.
29606         * tests/test-stat-time.c: Likewise.
29607         * tests/test-stat.c: Likewise.
29608         * tests/test-strcasestr.c: Likewise.
29609         * tests/test-strchrnul.c: Likewise.
29610         * tests/test-strerror.c: Likewise.
29611         * tests/test-striconv.c: Likewise.
29612         * tests/test-striconveh.c: Likewise.
29613         * tests/test-striconveha.c: Likewise.
29614         * tests/test-strsignal.c: Likewise.
29615         * tests/test-strstr.c: Likewise.
29616         * tests/test-strtod.c: Likewise.
29617         * tests/test-strverscmp.c: Likewise.
29618         * tests/test-symlink.c: Likewise.
29619         * tests/test-symlinkat.c: Likewise.
29620         * tests/test-trunc1.c: Likewise.
29621         * tests/test-trunc2.c: Likewise.
29622         * tests/test-truncf1.c: Likewise.
29623         * tests/test-truncf2.c: Likewise.
29624         * tests/test-truncl.c: Likewise.
29625         * tests/test-uname.c: Likewise.
29626         * tests/test-unlink.c: Likewise.
29627         * tests/test-unlinkat.c: Likewise.
29628         * tests/test-unsetenv.c: Likewise.
29629         * tests/test-usleep.c: Likewise.
29630         * tests/test-utimens.c: Likewise.
29631         * tests/test-utimensat.c: Likewise.
29632         * tests/test-vasnprintf-posix.c: Likewise.
29633         * tests/test-vasnprintf-posix2.c: Likewise.
29634         * tests/test-vasnprintf.c: Likewise.
29635         * tests/test-vasprintf-posix.c: Likewise.
29636         * tests/test-vasprintf.c: Likewise.
29637         * tests/test-vdprintf-posix.c: Likewise.
29638         * tests/test-vfprintf-posix.c: Likewise.
29639         * tests/test-vprintf-posix.c: Likewise.
29640         * tests/test-vsnprintf-posix.c: Likewise.
29641         * tests/test-vsnprintf.c: Likewise.
29642         * tests/test-vsprintf-posix.c: Likewise.
29643         * tests/test-wcrtomb.c: Likewise.
29644         * tests/test-wcsnrtombs.c: Likewise.
29645         * tests/test-wcsrtombs.c: Likewise.
29646         * tests/test-wctype.c: Likewise.
29647         * tests/test-wcwidth.c: Likewise.
29648         * tests/test-xfprintf-posix.c: Likewise.
29649         * tests/test-xmemdup0.c: Likewise.
29650         * tests/test-xprintf-posix.c: Likewise.
29651         * tests/test-xvasprintf.c: Likewise.
29652         * tests/unicase/test-locale-language.c: Likewise.
29653         * tests/unicase/test-mapping-part1.h: Likewise.
29654         * tests/unicase/test-predicate-part1.h: Likewise.
29655         * tests/unicase/test-u8-casecmp.c: Likewise.
29656         * tests/unicase/test-u8-casecoll.c: Likewise.
29657         * tests/unicase/test-u8-casefold.c: Likewise.
29658         * tests/unicase/test-u8-is-cased.c: Likewise.
29659         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29660         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29661         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29662         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29663         * tests/unicase/test-u8-tolower.c: Likewise.
29664         * tests/unicase/test-u8-totitle.c: Likewise.
29665         * tests/unicase/test-u8-toupper.c: Likewise.
29666         * tests/unicase/test-u16-casecmp.c: Likewise.
29667         * tests/unicase/test-u16-casecoll.c: Likewise.
29668         * tests/unicase/test-u16-casefold.c: Likewise.
29669         * tests/unicase/test-u16-is-cased.c: Likewise.
29670         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29671         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29672         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29673         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29674         * tests/unicase/test-u16-tolower.c: Likewise.
29675         * tests/unicase/test-u16-totitle.c: Likewise.
29676         * tests/unicase/test-u16-toupper.c: Likewise.
29677         * tests/unicase/test-u32-casecmp.c: Likewise.
29678         * tests/unicase/test-u32-casecoll.c: Likewise.
29679         * tests/unicase/test-u32-casefold.c: Likewise.
29680         * tests/unicase/test-u32-is-cased.c: Likewise.
29681         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29682         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29683         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29684         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29685         * tests/unicase/test-u32-tolower.c: Likewise.
29686         * tests/unicase/test-u32-totitle.c: Likewise.
29687         * tests/unicase/test-u32-toupper.c: Likewise.
29688         * tests/unicase/test-ulc-casecmp.c: Likewise.
29689         * tests/unicase/test-ulc-casecoll.c: Likewise.
29690         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29691         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29692         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29693         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29694         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29695         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29696         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29697         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29698         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29699         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29700         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29701         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29702         * tests/unictype/test-bidi_byname.c: Likewise.
29703         * tests/unictype/test-bidi_name.c: Likewise.
29704         * tests/unictype/test-bidi_of.c: Likewise.
29705         * tests/unictype/test-bidi_test.c: Likewise.
29706         * tests/unictype/test-block_list.c: Likewise.
29707         * tests/unictype/test-block_of.c: Likewise.
29708         * tests/unictype/test-block_test.c: Likewise.
29709         * tests/unictype/test-categ_and.c: Likewise.
29710         * tests/unictype/test-categ_and_not.c: Likewise.
29711         * tests/unictype/test-categ_byname.c: Likewise.
29712         * tests/unictype/test-categ_name.c: Likewise.
29713         * tests/unictype/test-categ_none.c: Likewise.
29714         * tests/unictype/test-categ_of.c: Likewise.
29715         * tests/unictype/test-categ_or.c: Likewise.
29716         * tests/unictype/test-categ_test_withtable.c: Likewise.
29717         * tests/unictype/test-combining.c: Likewise.
29718         * tests/unictype/test-decdigit.c: Likewise.
29719         * tests/unictype/test-digit.c: Likewise.
29720         * tests/unictype/test-mirror.c: Likewise.
29721         * tests/unictype/test-numeric.c: Likewise.
29722         * tests/unictype/test-pr_byname.c: Likewise.
29723         * tests/unictype/test-pr_test.c: Likewise.
29724         * tests/unictype/test-predicate-part1.h: Likewise.
29725         * tests/unictype/test-scripts.c: Likewise.
29726         * tests/unictype/test-sy_c_ident.c: Likewise.
29727         * tests/unictype/test-sy_java_ident.c: Likewise.
29728         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29729         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29730         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29731         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29732         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29733         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29734         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29735         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29736         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29737         * tests/uninorm/test-compat-decomposition.c: Likewise.
29738         * tests/uninorm/test-composition.c: Likewise.
29739         * tests/uninorm/test-decomposing-form.c: Likewise.
29740         * tests/uninorm/test-decomposition.c: Likewise.
29741         * tests/uninorm/test-u8-nfc.c: Likewise.
29742         * tests/uninorm/test-u8-nfd.c: Likewise.
29743         * tests/uninorm/test-u8-nfkc.c: Likewise.
29744         * tests/uninorm/test-u8-nfkd.c: Likewise.
29745         * tests/uninorm/test-u8-normcmp.c: Likewise.
29746         * tests/uninorm/test-u8-normcoll.c: Likewise.
29747         * tests/uninorm/test-u16-nfc.c: Likewise.
29748         * tests/uninorm/test-u16-nfd.c: Likewise.
29749         * tests/uninorm/test-u16-nfkc.c: Likewise.
29750         * tests/uninorm/test-u16-nfkd.c: Likewise.
29751         * tests/uninorm/test-u16-normcmp.c: Likewise.
29752         * tests/uninorm/test-u16-normcoll.c: Likewise.
29753         * tests/uninorm/test-u32-nfc.c: Likewise.
29754         * tests/uninorm/test-u32-nfd.c: Likewise.
29755         * tests/uninorm/test-u32-nfkc.c: Likewise.
29756         * tests/uninorm/test-u32-nfkd.c: Likewise.
29757         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29758         * tests/uninorm/test-u32-normcmp.c: Likewise.
29759         * tests/uninorm/test-u32-normcoll.c: Likewise.
29760         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29761         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29762         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29763         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29764         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29765         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29766         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29767         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29768         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29769         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29770         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29771         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29772         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29773         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29774         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29775         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29776         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29777         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29778         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29779         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29780         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29781         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29782         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29783         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29784         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29785         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29786         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29787         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29788         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29789         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29790         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29791         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29792         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
29793         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29794         * tests/uniwidth/test-u8-width.c: Likewise.
29795         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29796         * tests/uniwidth/test-u16-width.c: Likewise.
29797         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29798         * tests/uniwidth/test-u32-width.c: Likewise.
29799         * tests/uniwidth/test-uc_width.c: Likewise.
29800         * tests/uniwidth/test-uc_width2.c: Likewise.
29801         * modules/acl-tests (Files): Add tests/macros.h.
29802         * modules/areadlink-tests (Files): Likewise.
29803         * modules/areadlink-with-size-tests (Files): Likewise.
29804         * modules/areadlinkat-tests (Files): Likewise.
29805         * modules/areadlinkat-with-size-tests (Files): Likewise.
29806         * modules/argmatch-tests (Files): Likewise.
29807         * modules/argv-iter-tests (Files): Likewise.
29808         * modules/array-list-tests (Files): Likewise.
29809         * modules/array-mergesort-tests (Files): Likewise.
29810         * modules/array-oset-tests (Files): Likewise.
29811         * modules/avltree-list-tests (Files): Likewise.
29812         * modules/avltree-oset-tests (Files): Likewise.
29813         * modules/avltreehash-list-tests (Files): Likewise.
29814         * modules/base64-tests (Files): Likewise.
29815         * modules/binary-io-tests (Files): Likewise.
29816         * modules/bitrotate-tests (Files): Likewise.
29817         * modules/btowc-tests (Files): Likewise.
29818         * modules/byteswap-tests (Files): Likewise.
29819         * modules/c-ctype-tests (Files): Likewise.
29820         * modules/c-stack-tests (Files): Likewise.
29821         * modules/c-strcase-tests (Files): Likewise.
29822         * modules/c-strcasestr-tests (Files): Likewise.
29823         * modules/c-strstr-tests (Files): Likewise.
29824         * modules/canonicalize-lgpl-tests (Files): Likewise.
29825         * modules/canonicalize-tests (Files): Likewise.
29826         * modules/carray-list-tests (Files): Likewise.
29827         * modules/ceilf-tests (Files): Likewise.
29828         * modules/ceill-tests (Files): Likewise.
29829         * modules/chown-tests (Files): Likewise.
29830         * modules/cloexec-tests (Files): Likewise.
29831         * modules/copy-file-tests (Files): Likewise.
29832         * modules/count-one-bits-tests (Files): Likewise.
29833         * modules/dprintf-posix-tests (Files): Likewise.
29834         * modules/dup2-tests (Files): Likewise.
29835         * modules/dup3-tests (Files): Likewise.
29836         * modules/duplocale-tests (Files): Likewise.
29837         * modules/fbufmode-tests (Files): Likewise.
29838         * modules/fchdir-tests (Files): Likewise.
29839         * modules/fcntl-safer-tests (Files): Likewise.
29840         * modules/fcntl-tests (Files): Likewise.
29841         * modules/fdopendir-tests (Files): Likewise.
29842         * modules/fdutimensat-tests (Files): Likewise.
29843         * modules/fflush-tests (Files): Likewise.
29844         * modules/filevercmp-tests (Files): Likewise.
29845         * modules/flock-tests (Files): Likewise.
29846         * modules/floorf-tests (Files): Likewise.
29847         * modules/floorl-tests (Files): Likewise.
29848         * modules/fnmatch-tests (Files): Likewise.
29849         * modules/fopen-safer-tests (Files): Likewise.
29850         * modules/fopen-tests (Files): Likewise.
29851         * modules/fpending-tests (Files): Likewise.
29852         * modules/fprintf-posix-tests (Files): Likewise.
29853         * modules/fpurge-tests (Files): Likewise.
29854         * modules/freadable-tests (Files): Likewise.
29855         * modules/freadahead-tests (Files): Likewise.
29856         * modules/freading-tests (Files): Likewise.
29857         * modules/freadptr-tests (Files): Likewise.
29858         * modules/freadseek-tests (Files): Likewise.
29859         * modules/freopen-tests (Files): Likewise.
29860         * modules/frexp-nolibm-tests (Files): Likewise.
29861         * modules/frexp-tests (Files): Likewise.
29862         * modules/frexpl-nolibm-tests (Files): Likewise.
29863         * modules/frexpl-tests (Files): Likewise.
29864         * modules/fseek-tests (Files): Likewise.
29865         * modules/fseeko-tests (Files): Likewise.
29866         * modules/fstrcmp-tests (Files): Likewise.
29867         * modules/fsync-tests (Files): Likewise.
29868         * modules/ftell-tests (Files): Likewise.
29869         * modules/ftello-tests (Files): Likewise.
29870         * modules/func-tests (Files): Likewise.
29871         * modules/futimens-tests (Files): Likewise.
29872         * modules/fwritable-tests (Files): Likewise.
29873         * modules/fwriting-tests (Files): Likewise.
29874         * modules/getcwd-tests (Files): Likewise.
29875         * modules/getdate-tests (Files): Likewise.
29876         * modules/getdelim-tests (Files): Likewise.
29877         * modules/getdtablesize-tests (Files): Likewise.
29878         * modules/getgroups-tests (Files): Likewise.
29879         * modules/getline-tests (Files): Likewise.
29880         * modules/getndelim2-tests (Files): Likewise.
29881         * modules/glob-tests (Files): Likewise.
29882         * modules/hash-tests (Files): Likewise.
29883         * modules/i-ring-tests (Files): Likewise.
29884         * modules/iconv-tests (Files): Likewise.
29885         * modules/iconv_open-utf-tests (Files): Likewise.
29886         * modules/idpriv-drop-tests (Files): Likewise.
29887         * modules/idpriv-droptemp-tests (Files): Likewise.
29888         * modules/inet_ntop-tests (Files): Likewise.
29889         * modules/inet_pton-tests (Files): Likewise.
29890         * modules/isblank-tests (Files): Likewise.
29891         * modules/isfinite-tests (Files): Likewise.
29892         * modules/isinf-tests (Files): Likewise.
29893         * modules/isnan-tests (Files): Likewise.
29894         * modules/isnand-nolibm-tests (Files): Likewise.
29895         * modules/isnand-tests (Files): Likewise.
29896         * modules/isnanf-nolibm-tests (Files): Likewise.
29897         * modules/isnanf-tests (Files): Likewise.
29898         * modules/isnanl-nolibm-tests (Files): Likewise.
29899         * modules/isnanl-tests (Files): Likewise.
29900         * modules/lchown-tests (Files): Likewise.
29901         * modules/ldexpl-tests (Files): Likewise.
29902         * modules/link-tests (Files): Likewise.
29903         * modules/linkat-tests (Files): Likewise.
29904         * modules/linked-list-tests (Files): Likewise.
29905         * modules/linkedhash-list-tests (Files): Likewise.
29906         * modules/localename-tests (Files): Likewise.
29907         * modules/lseek-tests (Files): Likewise.
29908         * modules/lstat-tests (Files): Likewise.
29909         * modules/mbmemcasecmp-tests (Files): Likewise.
29910         * modules/mbmemcasecoll-tests (Files): Likewise.
29911         * modules/mbrtowc-tests (Files): Likewise.
29912         * modules/mbscasecmp-tests (Files): Likewise.
29913         * modules/mbscasestr-tests (Files): Likewise.
29914         * modules/mbschr-tests (Files): Likewise.
29915         * modules/mbscspn-tests (Files): Likewise.
29916         * modules/mbsinit-tests (Files): Likewise.
29917         * modules/mbsncasecmp-tests (Files): Likewise.
29918         * modules/mbsnrtowcs-tests (Files): Likewise.
29919         * modules/mbspbrk-tests (Files): Likewise.
29920         * modules/mbspcasecmp-tests (Files): Likewise.
29921         * modules/mbsrchr-tests (Files): Likewise.
29922         * modules/mbsrtowcs-tests (Files): Likewise.
29923         * modules/mbsspn-tests (Files): Likewise.
29924         * modules/mbsstr-tests (Files): Likewise.
29925         * modules/memchr-tests (Files): Likewise.
29926         * modules/memchr2-tests (Files): Likewise.
29927         * modules/memcmp-tests (Files): Likewise.
29928         * modules/memmem-tests (Files): Likewise.
29929         * modules/memrchr-tests (Files): Likewise.
29930         * modules/mkdir-tests (Files): Likewise.
29931         * modules/mkfifo-tests (Files): Likewise.
29932         * modules/mkfifoat-tests (Files): Likewise.
29933         * modules/mknod-tests (Files): Likewise.
29934         * modules/nanosleep-tests (Files): Likewise.
29935         * modules/nl_langinfo-tests (Files): Likewise.
29936         * modules/obstack-printf-tests (Files): Likewise.
29937         * modules/open-tests (Files): Likewise.
29938         * modules/openat-tests (Files): Likewise.
29939         * modules/pipe-filter-gi-tests (Files): Likewise.
29940         * modules/pipe-filter-ii-tests (Files): Likewise.
29941         * modules/pipe2-tests (Files): Likewise.
29942         * modules/popen-safer-tests (Files): Likewise.
29943         * modules/popen-tests (Files): Likewise.
29944         * modules/posixtm-tests (Files): Likewise.
29945         * modules/pread-tests (Files): Likewise.
29946         * modules/printf-frexp-tests (Files): Likewise.
29947         * modules/printf-frexpl-tests (Files): Likewise.
29948         * modules/printf-posix-tests (Files): Likewise.
29949         * modules/priv-set-tests (Files): Likewise.
29950         * modules/quotearg-tests (Files): Likewise.
29951         * modules/random_r-tests (Files): Likewise.
29952         * modules/rawmemchr-tests (Files): Likewise.
29953         * modules/rbtree-list-tests (Files): Likewise.
29954         * modules/rbtree-oset-tests (Files): Likewise.
29955         * modules/rbtreehash-list-tests (Files): Likewise.
29956         * modules/readlink-tests (Files): Likewise.
29957         * modules/remove-tests (Files): Likewise.
29958         * modules/rename-tests (Files): Likewise.
29959         * modules/renameat-tests (Files): Likewise.
29960         * modules/rmdir-tests (Files): Likewise.
29961         * modules/round-tests (Files): Likewise.
29962         * modules/roundf-tests (Files): Likewise.
29963         * modules/roundl-tests (Files): Likewise.
29964         * modules/safe-alloc-tests (Files): Likewise.
29965         * modules/setenv-tests (Files): Likewise.
29966         * modules/sigaction-tests (Files): Likewise.
29967         * modules/signbit-tests (Files): Likewise.
29968         * modules/sleep-tests (Files): Likewise.
29969         * modules/snprintf-posix-tests (Files): Likewise.
29970         * modules/snprintf-tests (Files): Likewise.
29971         * modules/sprintf-posix-tests (Files): Likewise.
29972         * modules/stat-tests (Files): Likewise.
29973         * modules/stat-time-tests (Files): Likewise.
29974         * modules/strcasestr-tests (Files): Likewise.
29975         * modules/strchrnul-tests (Files): Likewise.
29976         * modules/strerror-tests (Files): Likewise.
29977         * modules/striconv-tests (Files): Likewise.
29978         * modules/striconveh-tests (Files): Likewise.
29979         * modules/striconveha-tests (Files): Likewise.
29980         * modules/strsignal-tests (Files): Likewise.
29981         * modules/strstr-tests (Files): Likewise.
29982         * modules/strtod-tests (Files): Likewise.
29983         * modules/strverscmp-tests (Files): Likewise.
29984         * modules/symlink-tests (Files): Likewise.
29985         * modules/symlinkat-tests (Files): Likewise.
29986         * modules/trunc-tests (Files): Likewise.
29987         * modules/truncf-tests (Files): Likewise.
29988         * modules/truncl-tests (Files): Likewise.
29989         * modules/uname-tests (Files): Likewise.
29990         * modules/unicase/cased-tests (Files): Likewise.
29991         * modules/unicase/ignorable-tests (Files): Likewise.
29992         * modules/unicase/locale-language-tests (Files): Likewise.
29993         * modules/unicase/tolower-tests (Files): Likewise.
29994         * modules/unicase/totitle-tests (Files): Likewise.
29995         * modules/unicase/toupper-tests (Files): Likewise.
29996         * modules/unicase/u8-casecmp-tests (Files): Likewise.
29997         * modules/unicase/u8-casecoll-tests (Files): Likewise.
29998         * modules/unicase/u8-casefold-tests (Files): Likewise.
29999         * modules/unicase/u8-is-cased-tests (Files): Likewise.
30000         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
30001         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
30002         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
30003         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
30004         * modules/unicase/u8-tolower-tests (Files): Likewise.
30005         * modules/unicase/u8-totitle-tests (Files): Likewise.
30006         * modules/unicase/u8-toupper-tests (Files): Likewise.
30007         * modules/unicase/u16-casecmp-tests (Files): Likewise.
30008         * modules/unicase/u16-casecoll-tests (Files): Likewise.
30009         * modules/unicase/u16-casefold-tests (Files): Likewise.
30010         * modules/unicase/u16-is-cased-tests (Files): Likewise.
30011         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
30012         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
30013         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
30014         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
30015         * modules/unicase/u16-tolower-tests (Files): Likewise.
30016         * modules/unicase/u16-totitle-tests (Files): Likewise.
30017         * modules/unicase/u16-toupper-tests (Files): Likewise.
30018         * modules/unicase/u32-casecmp-tests (Files): Likewise.
30019         * modules/unicase/u32-casecoll-tests (Files): Likewise.
30020         * modules/unicase/u32-casefold-tests (Files): Likewise.
30021         * modules/unicase/u32-is-cased-tests (Files): Likewise.
30022         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
30023         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
30024         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
30025         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
30026         * modules/unicase/u32-tolower-tests (Files): Likewise.
30027         * modules/unicase/u32-totitle-tests (Files): Likewise.
30028         * modules/unicase/u32-toupper-tests (Files): Likewise.
30029         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
30030         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
30031         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
30032         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
30033         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
30034         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
30035         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
30036         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
30037         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
30038         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
30039         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
30040         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
30041         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
30042         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
30043         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
30044         * modules/unictype/bidicategory-name-tests (Files): Likewise.
30045         * modules/unictype/bidicategory-of-tests (Files): Likewise.
30046         * modules/unictype/bidicategory-test-tests (Files): Likewise.
30047         * modules/unictype/block-list-tests (Files): Likewise.
30048         * modules/unictype/block-of-tests (Files): Likewise.
30049         * modules/unictype/block-test-tests (Files): Likewise.
30050         * modules/unictype/category-C-tests (Files): Likewise.
30051         * modules/unictype/category-Cc-tests (Files): Likewise.
30052         * modules/unictype/category-Cf-tests (Files): Likewise.
30053         * modules/unictype/category-Cn-tests (Files): Likewise.
30054         * modules/unictype/category-Co-tests (Files): Likewise.
30055         * modules/unictype/category-Cs-tests (Files): Likewise.
30056         * modules/unictype/category-L-tests (Files): Likewise.
30057         * modules/unictype/category-Ll-tests (Files): Likewise.
30058         * modules/unictype/category-Lm-tests (Files): Likewise.
30059         * modules/unictype/category-Lo-tests (Files): Likewise.
30060         * modules/unictype/category-Lt-tests (Files): Likewise.
30061         * modules/unictype/category-Lu-tests (Files): Likewise.
30062         * modules/unictype/category-M-tests (Files): Likewise.
30063         * modules/unictype/category-Mc-tests (Files): Likewise.
30064         * modules/unictype/category-Me-tests (Files): Likewise.
30065         * modules/unictype/category-Mn-tests (Files): Likewise.
30066         * modules/unictype/category-N-tests (Files): Likewise.
30067         * modules/unictype/category-Nd-tests (Files): Likewise.
30068         * modules/unictype/category-Nl-tests (Files): Likewise.
30069         * modules/unictype/category-No-tests (Files): Likewise.
30070         * modules/unictype/category-P-tests (Files): Likewise.
30071         * modules/unictype/category-Pc-tests (Files): Likewise.
30072         * modules/unictype/category-Pd-tests (Files): Likewise.
30073         * modules/unictype/category-Pe-tests (Files): Likewise.
30074         * modules/unictype/category-Pf-tests (Files): Likewise.
30075         * modules/unictype/category-Pi-tests (Files): Likewise.
30076         * modules/unictype/category-Po-tests (Files): Likewise.
30077         * modules/unictype/category-Ps-tests (Files): Likewise.
30078         * modules/unictype/category-S-tests (Files): Likewise.
30079         * modules/unictype/category-Sc-tests (Files): Likewise.
30080         * modules/unictype/category-Sk-tests (Files): Likewise.
30081         * modules/unictype/category-Sm-tests (Files): Likewise.
30082         * modules/unictype/category-So-tests (Files): Likewise.
30083         * modules/unictype/category-Z-tests (Files): Likewise.
30084         * modules/unictype/category-Zl-tests (Files): Likewise.
30085         * modules/unictype/category-Zp-tests (Files): Likewise.
30086         * modules/unictype/category-Zs-tests (Files): Likewise.
30087         * modules/unictype/category-and-not-tests (Files): Likewise.
30088         * modules/unictype/category-and-tests (Files): Likewise.
30089         * modules/unictype/category-byname-tests (Files): Likewise.
30090         * modules/unictype/category-name-tests (Files): Likewise.
30091         * modules/unictype/category-none-tests (Files): Likewise.
30092         * modules/unictype/category-of-tests (Files): Likewise.
30093         * modules/unictype/category-or-tests (Files): Likewise.
30094         * modules/unictype/category-test-withtable-tests (Files): Likewise.
30095         * modules/unictype/combining-class-tests (Files): Likewise.
30096         * modules/unictype/ctype-alnum-tests (Files): Likewise.
30097         * modules/unictype/ctype-alpha-tests (Files): Likewise.
30098         * modules/unictype/ctype-blank-tests (Files): Likewise.
30099         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
30100         * modules/unictype/ctype-digit-tests (Files): Likewise.
30101         * modules/unictype/ctype-graph-tests (Files): Likewise.
30102         * modules/unictype/ctype-lower-tests (Files): Likewise.
30103         * modules/unictype/ctype-print-tests (Files): Likewise.
30104         * modules/unictype/ctype-punct-tests (Files): Likewise.
30105         * modules/unictype/ctype-space-tests (Files): Likewise.
30106         * modules/unictype/ctype-upper-tests (Files): Likewise.
30107         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
30108         * modules/unictype/decimal-digit-tests (Files): Likewise.
30109         * modules/unictype/digit-tests (Files): Likewise.
30110         * modules/unictype/mirror-tests (Files): Likewise.
30111         * modules/unictype/numeric-tests (Files): Likewise.
30112         * modules/unictype/property-alphabetic-tests (Files): Likewise.
30113         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
30114         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
30115         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
30116         Likewise.
30117         * modules/unictype/property-bidi-block-separator-tests (Files):
30118         Likewise.
30119         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
30120         Likewise.
30121         * modules/unictype/property-bidi-common-separator-tests (Files):
30122         Likewise.
30123         * modules/unictype/property-bidi-control-tests (Files): Likewise.
30124         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
30125         Likewise.
30126         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
30127         Likewise.
30128         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
30129         Likewise.
30130         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
30131         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
30132         Likewise.
30133         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
30134         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
30135         Likewise.
30136         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
30137         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
30138         * modules/unictype/property-bidi-segment-separator-tests (Files):
30139         Likewise.
30140         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
30141         * modules/unictype/property-byname-tests (Files): Likewise.
30142         * modules/unictype/property-combining-tests (Files): Likewise.
30143         * modules/unictype/property-composite-tests (Files): Likewise.
30144         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
30145         * modules/unictype/property-dash-tests (Files): Likewise.
30146         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
30147         * modules/unictype/property-default-ignorable-code-point-tests (Files):
30148         Likewise.
30149         * modules/unictype/property-deprecated-tests (Files): Likewise.
30150         * modules/unictype/property-diacritic-tests (Files): Likewise.
30151         * modules/unictype/property-extender-tests (Files): Likewise.
30152         * modules/unictype/property-format-control-tests (Files): Likewise.
30153         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
30154         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
30155         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
30156         * modules/unictype/property-hex-digit-tests (Files): Likewise.
30157         * modules/unictype/property-hyphen-tests (Files): Likewise.
30158         * modules/unictype/property-id-continue-tests (Files): Likewise.
30159         * modules/unictype/property-id-start-tests (Files): Likewise.
30160         * modules/unictype/property-ideographic-tests (Files): Likewise.
30161         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
30162         * modules/unictype/property-ids-trinary-operator-tests (Files):
30163         Likewise.
30164         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
30165         * modules/unictype/property-iso-control-tests (Files): Likewise.
30166         * modules/unictype/property-join-control-tests (Files): Likewise.
30167         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
30168         * modules/unictype/property-line-separator-tests (Files): Likewise.
30169         * modules/unictype/property-logical-order-exception-tests (Files):
30170         Likewise.
30171         * modules/unictype/property-lowercase-tests (Files): Likewise.
30172         * modules/unictype/property-math-tests (Files): Likewise.
30173         * modules/unictype/property-non-break-tests (Files): Likewise.
30174         * modules/unictype/property-not-a-character-tests (Files): Likewise.
30175         * modules/unictype/property-numeric-tests (Files): Likewise.
30176         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
30177         * modules/unictype/property-other-default-ignorable-code-point-tests
30178         (Files): Likewise.
30179         * modules/unictype/property-other-grapheme-extend-tests (Files):
30180         Likewise.
30181         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
30182         * modules/unictype/property-other-id-start-tests (Files): Likewise.
30183         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
30184         * modules/unictype/property-other-math-tests (Files): Likewise.
30185         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
30186         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
30187         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
30188         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
30189         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
30190         * modules/unictype/property-private-use-tests (Files): Likewise.
30191         * modules/unictype/property-punctuation-tests (Files): Likewise.
30192         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
30193         * modules/unictype/property-radical-tests (Files): Likewise.
30194         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
30195         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
30196         * modules/unictype/property-space-tests (Files): Likewise.
30197         * modules/unictype/property-terminal-punctuation-tests (Files):
30198         Likewise.
30199         * modules/unictype/property-test-tests (Files): Likewise.
30200         * modules/unictype/property-titlecase-tests (Files): Likewise.
30201         * modules/unictype/property-unassigned-code-value-tests (Files):
30202         Likewise.
30203         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
30204         * modules/unictype/property-uppercase-tests (Files): Likewise.
30205         * modules/unictype/property-variation-selector-tests (Files): Likewise.
30206         * modules/unictype/property-white-space-tests (Files): Likewise.
30207         * modules/unictype/property-xid-continue-tests (Files): Likewise.
30208         * modules/unictype/property-xid-start-tests (Files): Likewise.
30209         * modules/unictype/property-zero-width-tests (Files): Likewise.
30210         * modules/unictype/scripts-tests (Files): Likewise.
30211         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
30212         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
30213         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
30214         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
30215         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
30216         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
30217         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
30218         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
30219         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
30220         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
30221         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
30222         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
30223         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
30224         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
30225         * modules/uninorm/composition-tests (Files): Likewise.
30226         * modules/uninorm/decomposing-form-tests (Files): Likewise.
30227         * modules/uninorm/decomposition-tests (Files): Likewise.
30228         * modules/uninorm/filter-tests (Files): Likewise.
30229         * modules/uninorm/nfc-tests (Files): Likewise.
30230         * modules/uninorm/nfd-tests (Files): Likewise.
30231         * modules/uninorm/nfkc-tests (Files): Likewise.
30232         * modules/uninorm/nfkd-tests (Files): Likewise.
30233         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
30234         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
30235         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
30236         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
30237         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
30238         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
30239         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
30240         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30241         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
30242         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
30243         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
30244         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
30245         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30246         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
30247         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
30248         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
30249         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
30250         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30251         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
30252         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
30253         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
30254         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
30255         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30256         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
30257         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
30258         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
30259         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
30260         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
30261         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
30262         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
30263         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
30264         * modules/uniwidth/u8-width-tests (Files): Likewise.
30265         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
30266         * modules/uniwidth/u16-width-tests (Files): Likewise.
30267         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
30268         * modules/uniwidth/u32-width-tests (Files): Likewise.
30269         * modules/uniwidth/width-tests (Files): Likewise.
30270         * modules/unlink-tests (Files): Likewise.
30271         * modules/unsetenv-tests (Files): Likewise.
30272         * modules/usleep-tests (Files): Likewise.
30273         * modules/utimens-tests (Files): Likewise.
30274         * modules/utimensat-tests (Files): Likewise.
30275         * modules/vasnprintf-posix-tests (Files): Likewise.
30276         * modules/vasnprintf-tests (Files): Likewise.
30277         * modules/vasprintf-posix-tests (Files): Likewise.
30278         * modules/vasprintf-tests (Files): Likewise.
30279         * modules/vdprintf-posix-tests (Files): Likewise.
30280         * modules/vfprintf-posix-tests (Files): Likewise.
30281         * modules/vprintf-posix-tests (Files): Likewise.
30282         * modules/vsnprintf-posix-tests (Files): Likewise.
30283         * modules/vsnprintf-tests (Files): Likewise.
30284         * modules/vsprintf-posix-tests (Files): Likewise.
30285         * modules/wcrtomb-tests (Files): Likewise.
30286         * modules/wcsnrtombs-tests (Files): Likewise.
30287         * modules/wcsrtombs-tests (Files): Likewise.
30288         * modules/wctype-tests (Files): Likewise.
30289         * modules/wcwidth-tests (Files): Likewise.
30290         * modules/xmemdup0-tests (Files): Likewise.
30291         * modules/xprintf-posix-tests (Files): Likewise.
30292         * modules/xvasprintf-tests (Files): Likewise.
30293
30294 2009-12-24  Eric Blake  <ebb9@byu.net>
30295
30296         test-nanosleep: fix typo
30297         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
30298         patch.
30299         Reported by Bruno Haible.
30300
30301 2009-12-24  Bruno Haible  <bruno@clisp.org>
30302
30303         Reduce namespace pollution on glibc systems.
30304         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
30305         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
30306         systems.
30307         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
30308         <getopt.h> on glibc systems.
30309         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
30310         systems.
30311         * lib/fcntl.c: Include <unistd.h> here instead.
30312
30313 2009-12-24  Bruno Haible  <bruno@clisp.org>
30314
30315         * lib/stdlib.in.h (includes): Fix typo in today's commit.
30316
30317 2009-12-24  Eric Blake  <ebb9@byu.net>
30318
30319         tests: add signature checks
30320         * tests/signature.h (SIGNATURE_CHECK): New file.
30321         * modules/atexit-tests (Files): Use it.
30322         * modules/btowc-tests (Files): Likewise.
30323         * modules/canonicalize-lgpl-tests (Files): Likewise.
30324         * modules/ceilf-tests (Files): Likewise.
30325         * modules/ceill-tests (Files): Likewise.
30326         * modules/chown-tests (Files): Likewise.
30327         * modules/dprintf-posix-tests (Files): Likewise.
30328         * modules/dup2-tests (Files): Likewise.
30329         * modules/dup3-tests (Files): Likewise.
30330         * modules/duplocale-tests (Files): Likewise.
30331         * modules/fchdir-tests (Files): Likewise.
30332         * modules/fcntl-tests (Files): Likewise.
30333         * modules/fdopendir-tests (Files): Likewise.
30334         * modules/fflush-tests (Files): Likewise.
30335         * modules/flock-tests (Files): Likewise.
30336         * modules/floorf-tests (Files): Likewise.
30337         * modules/floorl-tests (Files): Likewise.
30338         * modules/fnmatch-tests (Files): Likewise.
30339         * modules/fopen-tests (Files): Likewise.
30340         * modules/fprintf-posix-tests (Files): Likewise.
30341         * modules/freopen-tests (Files): Likewise.
30342         * modules/frexp-nolibm-tests (Files): Likewise.
30343         * modules/frexp-tests (Files): Likewise.
30344         * modules/frexpl-nolibm-tests (Files): Likewise.
30345         * modules/frexpl-tests (Files): Likewise.
30346         * modules/fseek-tests (Files): Likewise.
30347         * modules/fseeko-tests (Files): Likewise.
30348         * modules/fsync-tests (Files): Likewise.
30349         * modules/ftell-tests (Files): Likewise.
30350         * modules/ftello-tests (Files): Likewise.
30351         * modules/futimens-tests (Files): Likewise.
30352         * modules/getaddrinfo-tests (Files): Likewise.
30353         * modules/getcwd-tests (Files): Likewise.
30354         * modules/getdelim-tests (Files): Likewise.
30355         * modules/getdtablesize-tests (Files): Likewise.
30356         * modules/getgroups-tests (Files): Likewise.
30357         * modules/gethostname-tests (Files): Likewise.
30358         * modules/getline-tests (Files): Likewise.
30359         * modules/getopt-posix-tests (Files): Likewise.
30360         * modules/gettimeofday-tests (Files): Likewise.
30361         * modules/glob-tests (Files): Likewise.
30362         * modules/iconv-tests (Files): Likewise.
30363         * modules/inet_ntop-tests (Files): Likewise.
30364         * modules/inet_pton-tests (Files): Likewise.
30365         * modules/isblank-tests (Files): Likewise.
30366         * modules/lchown-tests (Files): Likewise.
30367         * modules/ldexpl-tests (Files): Likewise.
30368         * modules/link-tests (Files): Likewise.
30369         * modules/linkat-tests (Files): Likewise.
30370         * modules/lseek-tests (Files): Likewise.
30371         * modules/lstat-tests (Files): Likewise.
30372         * modules/mbrtowc-tests (Files): Likewise.
30373         * modules/mbsinit-tests (Files): Likewise.
30374         * modules/mbsnrtowcs-tests (Files): Likewise.
30375         * modules/mbsrtowcs-tests (Files): Likewise.
30376         * modules/memchr-tests (Files): Likewise.
30377         * modules/memcmp-tests (Files): Likewise.
30378         * modules/memmem-tests (Files): Likewise.
30379         * modules/memrchr-tests (Files): Likewise.
30380         * modules/mkdir-tests (Files): Likewise.
30381         * modules/mkfifo-tests (Files): Likewise.
30382         * modules/mkfifoat-tests (Files): Likewise.
30383         * modules/mknod-tests (Files): Likewise.
30384         * modules/nanosleep-tests (Files): Likewise.
30385         * modules/nl_langinfo-tests (Files): Likewise.
30386         * modules/obstack-printf-tests (Files): Likewise.
30387         * modules/open-tests (Files): Likewise.
30388         * modules/openat-tests (Files): Likewise.
30389         * modules/perror-tests (Files): Likewise.
30390         * modules/pipe2-tests (Files): Likewise.
30391         * modules/poll-tests (Files): Likewise.
30392         * modules/popen-tests (Files): Likewise.
30393         * modules/posix_spawn-tests (Files): Likewise.
30394         * modules/posix_spawnp-tests (Files): Likewise.
30395         * modules/pread-tests (Files): Likewise.
30396         * modules/printf-posix-tests (Files): Likewise.
30397         * modules/pty-tests (Files): Likewise.
30398         * modules/random_r-tests (Files): Likewise.
30399         * modules/rawmemchr-tests (Files): Likewise.
30400         * modules/readlink-tests (Files): Likewise.
30401         * modules/remove-tests (Files): Likewise.
30402         * modules/rename-tests (Files): Likewise.
30403         * modules/renameat-tests (Files): Likewise.
30404         * modules/rmdir-tests (Files): Likewise.
30405         * modules/round-tests (Files): Likewise.
30406         * modules/roundf-tests (Files): Likewise.
30407         * modules/roundl-tests (Files): Likewise.
30408         * modules/select-tests (Files): Likewise.
30409         * modules/setenv-tests (Files): Likewise.
30410         * modules/sigaction-tests (Files): Likewise.
30411         * modules/sleep-tests (Files): Likewise.
30412         * modules/snprintf-posix-tests (Files): Likewise.
30413         * modules/snprintf-tests (Files): Likewise.
30414         * modules/sprintf-posix-tests (Files): Likewise.
30415         * modules/stat-tests (Files): Likewise.
30416         * modules/strcasestr-tests (Files): Likewise.
30417         * modules/strchrnul-tests (Files): Likewise.
30418         * modules/strerror-tests (Files): Likewise.
30419         * modules/strsignal-tests (Files): Likewise.
30420         * modules/strstr-tests (Files): Likewise.
30421         * modules/strtod-tests (Files): Likewise.
30422         * modules/strverscmp-tests (Files): Likewise.
30423         * modules/symlink-tests (Files): Likewise.
30424         * modules/symlinkat-tests (Files): Likewise.
30425         * modules/times-tests (Files): Likewise.
30426         * modules/trunc-tests (Files): Likewise.
30427         * modules/truncf-tests (Files): Likewise.
30428         * modules/truncl-tests (Files): Likewise.
30429         * modules/tsearch-tests (Files): Likewise.
30430         * modules/uname-tests (Files): Likewise.
30431         * modules/unlink-tests (Files): Likewise.
30432         * modules/unsetenv-tests (Files): Likewise.
30433         * modules/usleep-tests (Files): Likewise.
30434         * modules/utimensat-tests (Files): Likewise.
30435         * modules/vasprintf-tests (Files): Likewise.
30436         * modules/vdprintf-posix-tests (Files): Likewise.
30437         * modules/vfprintf-posix-tests (Files): Likewise.
30438         * modules/vprintf-posix-tests (Files): Likewise.
30439         * modules/vsnprintf-posix-tests (Files): Likewise.
30440         * modules/vsnprintf-tests (Files): Likewise.
30441         * modules/vsprintf-posix-tests (Files): Likewise.
30442         * modules/wcrtomb-tests (Files): Likewise.
30443         * modules/wcsnrtombs-tests (Files): Likewise.
30444         * modules/wcsrtombs-tests (Files): Likewise.
30445         * modules/wcwidth-tests (Files): Likewise.
30446         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30447         * tests/test-isinf.c (isinf): Likewise.
30448         * tests/test-isnan.c (isnan): Likewise.
30449         * tests/test-signbit.c (signbit): Likewise.
30450         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30451         declaration, either as macro or with correct signature.
30452         (select): Ensure function under test is declared with correct
30453         signature in correct header.
30454         * tests/test-atexit.c (atexit): Likewise.
30455         * tests/test-btowc.c (btowc): Likewise.
30456         * tests/test-canonicalize-lgpl.c (realpath)
30457         (canonicalize_file_name): Likewise.
30458         * tests/test-ceilf1.c (ceilf): Likewise.
30459         * tests/test-ceill.c (ceill): Likewise.
30460         * tests/test-chown.c (chown): Likewise.
30461         * tests/test-dprintf-posix.c (dprintf): Likewise.
30462         * tests/test-dup2.c (dup2): Likewise.
30463         * tests/test-dup3.c (dup3): Likewise.
30464         * tests/test-duplocale.c (duplocale): Likewise.
30465         * tests/test-fchdir.c (fchdir): Likewise.
30466         * tests/test-fchownat.c (fchownat): Likewise.
30467         * tests/test-fcntl.c (fcntl): Likewise.
30468         * tests/test-fdopendir.c (fdopendir): Likewise.
30469         * tests/test-fflush.c (fflush): Likewise.
30470         * tests/test-flock.c (flock): Likewise.
30471         * tests/test-floorf1.c (floorf): Likewise.
30472         * tests/test-floorl.c (floorl): Likewise.
30473         * tests/test-fnmatch.c (fnmatch): Likewise.
30474         * tests/test-fopen.c (fopen): Likewise.
30475         * tests/test-fprintf-posix.c (fprintf): Likewise.
30476         * tests/test-freopen.c (freopen): Likewise.
30477         * tests/test-frexp.c (frexp): Likewise.
30478         * tests/test-frexpl.c (frexpl): Likewise.
30479         * tests/test-fseek.c (fseek): Likewise.
30480         * tests/test-fseeko.c (fseeko): Likewise.
30481         * tests/test-fstatat.c (fstatat): Likewise.
30482         * tests/test-fsync.c (fsync): Likewise.
30483         * tests/test-ftell.c (ftell): Likewise.
30484         * tests/test-ftello.c (ftello): Likewise.
30485         * tests/test-futimens.c (futimens): Likewise.
30486         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30487         (gai_strerror): Likewise.
30488         * tests/test-getcwd.c (getcwd): Likewise.
30489         * tests/test-getdelim.c (getdelim): Likewise.
30490         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30491         * tests/test-getgroups.c (getgroups): Likewise.
30492         * tests/test-gethostname.c (gethostname): Likewise.
30493         * tests/test-getline.c (getline): Likewise.
30494         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30495         Likewise.
30496         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30497         * tests/test-glob.c (glob, globfree): Likewise.
30498         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30499         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30500         * tests/test-inet_pton.c (inet_pton): Likewise.
30501         * tests/test-isblank.c (isblank): Likewise.
30502         * tests/test-lchown.c (lchown): Likewise.
30503         * tests/test-ldexpl.c (ldexpl): Likewise.
30504         * tests/test-link.c (link): Likewise.
30505         * tests/test-linkat.c (linkat): Likewise.
30506         * tests/test-lseek.c (lseek): Likewise.
30507         * tests/test-lstat.c (lstat): Likewise.
30508         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30509         * tests/test-mbsinit.c (mbsinit): Likewise.
30510         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30511         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30512         * tests/test-memchr.c (memchr): Likewise.
30513         * tests/test-memcmp.c (memcmp): Likewise.
30514         * tests/test-memmem.c (memmem): Likewise.
30515         * tests/test-memrchr.c (memrchr): Likewise.
30516         * tests/test-mkdir.c (mkdir): Likewise.
30517         * tests/test-mkdirat.c (mkdirat): Likewise.
30518         * tests/test-mkfifo.c (mkfifo): Likewise.
30519         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30520         * tests/test-mknod.c (mknod): Likewise.
30521         * tests/test-nanosleep.c (nanosleep): Likewise.
30522         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30523         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30524         Likewise.
30525         * tests/test-open.c (open): Likewise.
30526         * tests/test-openat.c (openat): Likewise.
30527         * tests/test-perror.c (perror): Likewise.
30528         * tests/test-pipe2.c (pipe2): Likewise.
30529         * tests/test-poll.c (poll): Likewise.
30530         * tests/test-popen.c (popen, pclose): Likewise.
30531         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30532         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30533         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30534         (posix_spawn_file_actions_destroy)
30535         (posix_spawn_file_actions_addclose)
30536         (posix_spawn_file_actions_addopen)
30537         (posix_spawn_file_actions_adddup2): Likewise.
30538         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30539         * tests/test-pread.c (pread): Likewise.
30540         * tests/test-printf-posix.c (printf): Likewise.
30541         * tests/test-pty.c (openpty, forkpty): Likewise.
30542         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30543         (random_r): Likewise.
30544         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30545         * tests/test-readlink.c (readlink): Likewise.
30546         * tests/test-remove.c (remove): Likewise.
30547         * tests/test-rename.c (rename): Likewise.
30548         * tests/test-renameat.c (renameat): Likewise.
30549         * tests/test-rmdir.c (rmdir): Likewise.
30550         * tests/test-round1.c (round): Likewise.
30551         * tests/test-roundf1.c (roundf): Likewise.
30552         * tests/test-roundl.c (roundl): Likewise.
30553         * tests/test-setenv.c (setenv): Likewise.
30554         * tests/test-sigaction.c (sigaction): Likewise.
30555         * tests/test-sleep.c (sleep): Likewise.
30556         * tests/test-snprintf.c (snprintf): Likewise.
30557         * tests/test-sprintf-posix.c (sprintf): Likewise.
30558         * tests/test-stat.c (stat): Likewise.
30559         * tests/test-stpncpy.c (stpncpy): Likewise.
30560         * tests/test-strcasestr.c (strcasestr): Likewise.
30561         * tests/test-strchrnul.c (strchrnul): Likewise.
30562         * tests/test-strerror.c (strerror): Likewise.
30563         * tests/test-strsignal.c (strsignal): Likewise.
30564         * tests/test-strstr.c (strstr): Likewise.
30565         * tests/test-strtod.c (strtod): Likewise.
30566         * tests/test-strverscmp.c (strverscmp): Likewise.
30567         * tests/test-symlink.c (symlink): Likewise.
30568         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30569         * tests/test-times.c (times): Likewise.
30570         * tests/test-trunc1.c (trunc): Likewise.
30571         * tests/test-truncf1.c (truncf): Likewise.
30572         * tests/test-truncl.c (truncl): Likewise.
30573         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30574         Likewise.
30575         * tests/test-uname.c (uname): Likewise.
30576         * tests/test-unlink.c (unlink): Likewise.
30577         * tests/test-unlinkat.c (unlinkat): Likewise.
30578         * tests/test-unsetenv.c (unsetenv): Likewise.
30579         * tests/test-usleep.c (usleep): Likewise.
30580         * tests/test-utimensat.c (utimensat): Likewise.
30581         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30582         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30583         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30584         * tests/test-vprintf-posix.c (vprintf): Likewise.
30585         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30586         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30587         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30588         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30589         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30590         * tests/test-wcwidth.c (wcwidth): Likewise.
30591
30592         build: pull in conditional headers during GNULIB_POSIXCHECK
30593         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30594         definitions from any conditionally-included headers.
30595         * lib/stdlib.in.h (includes): Likewise.
30596         * lib/unistd.in.h (includes): Likewise.
30597
30598 2009-12-24  Bruno Haible  <bruno@clisp.org>
30599
30600         * tests/test-argv-iter.c: Include header file being tested immediately
30601         after config.h.
30602         * tests/test-base64.c: Likewise.
30603         * tests/test-flock.c: Likewise.
30604         * tests/test-fsync.c: Likewise.
30605         * tests/test-getdate.c: Likewise.
30606         * tests/test-getndelim2.c: Likewise.
30607         * tests/test-isfinite.c: Likewise.
30608         * tests/test-isinf.c: Likewise.
30609         * tests/test-strerror.c: Likewise.
30610         * tests/test-strsignal.c: Likewise.
30611
30612 2009-12-23  Eric Blake  <ebb9@byu.net>
30613
30614         unistd: work around cygwin bug
30615         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30616         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30617         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30618
30619 2009-12-23  Bruno Haible  <bruno@clisp.org>
30620
30621         localename: More tests.
30622         * tests/test-localename.c (SIZEOF): New macro.
30623         (categories): New variable.
30624         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30625         test_locale_name_default): Add test w.r.t. thread locale.
30626         (test_locale_name_thread): New function.
30627         (main): Invoke it.
30628
30629         localename: Make aware of thread locale.
30630         * lib/localename.h (gl_locale_name_thread): New declaration.
30631         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30632         behaviour with respect to thread locale.
30633         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30634         <langinfo.h>, glthread/lock.h.
30635         (SIZE_BITS): New macro.
30636         (string_hash): New function.
30637         (struct hash_node): New type.
30638         (HASH_TABLE_SIZE): New macro.
30639         (struniq_hash_table, struniq_lock): New variables.
30640         (struniq): New function.
30641         (gl_locale_name_thread): New function.
30642         (gl_locale_name): Invoke it.
30643         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30644         * modules/localename (Depends-on): Add lock.
30645         Reported by Mike Gran <spk121@yahoo.com>.
30646
30647 2009-12-23  Eric Blake  <ebb9@byu.net>
30648
30649         va-args: new module
30650         * modules/va-args: New file.
30651         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30652         * MODULES.html.sh (Core language properties): Mention it.
30653
30654         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30655         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30656         named alias for __attribute__((__unused__)).
30657         * lib/chown.c: Update client.
30658         * lib/fchmodat.c: Likewise.
30659         * lib/fts.c: Likewise.
30660         * lib/getdate.y: Likewise.
30661         * lib/getgroups.c: Likewise.
30662         * lib/getopt.c: Likewise.
30663         * lib/getugroups.c: Likewise.
30664         * lib/mkdir.c: Likewise.
30665         * lib/mkfifo.c: Likewise.
30666         * lib/mkfifoat.c: Likewise.
30667         * lib/mknod.c: Likewise.
30668         * lib/mknodat.c: Likewise.
30669         * lib/readlink.c: Likewise.
30670         * lib/se-context.in.h: Likewise.
30671         * lib/se-selinux.in.h: Likewise.
30672         * lib/sockets.c: Likewise.
30673         * lib/symlink.c: Likewise.
30674         * lib/symlinkat.c: Likewise.
30675         * lib/unicodeio.c: Likewise.
30676         * lib/unistr.h: Likewise.
30677         * tests/test-areadlink.c: Likewise.
30678         * tests/test-areadlinkat.c: Likewise.
30679         * tests/test-filenamecat.c: Likewise.
30680         * tests/test-fseeko.c: Likewise.
30681         * tests/test-ftello.c: Likewise.
30682         * tests/test-getdate.c: Likewise.
30683         * tests/test-getgroups.c: Likewise.
30684         * tests/test-gethostname.c: Likewise.
30685         * tests/test-quotearg.c: Likewise.
30686         * tests/test-version-etc.c: Likewise.
30687         * tests/test-xalloc-die.c: Likewise.
30688         * tests/test-xfprintf-posix.c: Likewise.
30689         * tests/test-xprintf-posix.c: Likewise.
30690         * tests/test-xvasprintf.c: Likewise.
30691
30692         tests: avoid compiler warnings
30693         * tests/test-fcntl.c (main): Delete unused parameters.
30694         * tests/test-freopen-safer.c (main): Likewise.
30695         * tests/test-xalloc-die.c (main): Mark unused parameters.
30696         * tests/test-fseeko.c (main): Likewise.
30697         * tests/test-ftello.c (main): Likewise.
30698         * tests/test-nanosleep.c (main): Avoid declaration warning.
30699         * tests/test-sleep.c (main): Likewise.
30700         * tests/test-unsetenv.c (main): Silence warning about string
30701         literal.
30702         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30703
30704 2009-12-23  Bruno Haible  <bruno@clisp.org>
30705
30706         * tests/test-localename.c (test_locale_name): New function, extracted
30707         from main. Also test mixed situations.
30708         (test_locale_name_posix, test_locale_name_environ,
30709         test_locale_name_default): New functions.
30710         (main): Invoke them all.
30711         * modules/localename-tests (configure.ac): Test for newlocale.
30712
30713 2009-12-23  Bruno Haible  <bruno@clisp.org>
30714
30715         unistd: Ensure getcwd gets declared before being overridden.
30716         * lib/unistd.in.h: Conditionally include <io.h>.
30717
30718 2009-12-22  Bruno Haible  <bruno@clisp.org>
30719
30720         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30721         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30722         (gl_WCHAR_H): Invoke it.
30723         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30724         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30725         Reported by Karl Berry <karl@freefriends.org>.
30726
30727 2009-12-22  Eric Blake  <ebb9@byu.net>
30728
30729         math, unistd: avoid redundant includes
30730         * lib/math.in.h (isnan): No need to re-include <math.h>.
30731         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30732
30733         getsubopt: work around cygwin bug
30734         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30735         avoid conflicting with system getsubopt.
30736         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30737         bug.
30738
30739         getopt: synchronize from glibc
30740         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30741         parameter order.  Adjust all callers.
30742         (_getopt_internal_r, main): Adjust quoting in error messages.
30743         Drop considerations for outdated POSIX 1003.2 error message.
30744         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30745         callers.
30746         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30747
30748         test-getopt: test stderr behavior
30749         * modules/getopt-posix-tests (Depends-on): Add dup2.
30750         * tests/test-getopt.c (ASSERT): Avoid stderr.
30751         (main): Move stderr to a temporary file.
30752         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30753         Instead, add parameter to inform caller if output occurred.
30754         (test_getopt): Adjust all existing tests to expect silence, and
30755         add new tests of leading ":".
30756         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30757         glibc shortcomings with leading "-:" or "+:" in optstring.
30758         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30759         Likewise.
30760         * doc/posix-functions/getopt.texi (getopt): Likewise.
30761
30762         test-getopt: enhance test
30763         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30764         supports optind=0.
30765         * tests/test-getopt.c (OPTIND_MIN): Move...
30766         * tests/test-getopt.h (OPTIND_MIN): ...here.
30767         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30768         Require that optind=0 works, since modern BSD supports it in
30769         addition to optreset, and since coreutils expects it.
30770         (test_getopt_long_only): New test.
30771         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30772         glibc shortcomings with 'W;', and enforcement of optind=0.
30773         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30774         Likewise.
30775
30776 2009-12-21  Bruno Haible  <bruno@clisp.org>
30777
30778         localename: Improvements for MacOS X and Cygwin.
30779         * lib/localename.h (gl_locale_name_environ): New declaration.
30780         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30781         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30782         (gl_locale_name_posix): Invoke it.
30783         (gl_locale_name_default): Add comments. Use Windows native API also on
30784         Cygwin.
30785
30786 2009-12-21  Bruno Haible  <bruno@clisp.org>
30787
30788         Update list of Win32 locale ids.
30789         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30790         (LANG_SAMI): Renamed from LANG_SAAMI.
30791         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30792         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
30793         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
30794         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
30795         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
30796         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
30797         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
30798         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
30799         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
30800         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
30801         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
30802         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
30803         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
30804         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
30805         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
30806         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
30807         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
30808         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
30809         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
30810         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
30811         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
30812         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
30813         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
30814         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
30815         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
30816         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
30817         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
30818         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
30819         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
30820         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
30821         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
30822         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
30823         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
30824         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
30825         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
30826         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
30827         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
30828         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
30829         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
30830         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
30831         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
30832         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
30833         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
30834         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
30835         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
30836         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
30837         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
30838         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
30839         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
30840         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
30841         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
30842         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
30843         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
30844         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
30845         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
30846         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
30847         Add more languages and countries for Sami, Sorbian. Add more countries
30848         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
30849         for Pashto. Change country for Syriac, Tswana.
30850
30851 2009-12-21  Eric Blake  <ebb9@byu.net>
30852
30853         test-utimens: avoid spurious failure
30854         * tests/test-chown.h (nap): Factor...
30855         * tests/nap.h: ...into new file.
30856         * tests/test-lchown.h (nap): Avoid duplication.
30857         * tests/test-utimens-common.h (nap): Use shared implementation,
30858         necessary on file systems with 1-second resolution.
30859         * modules/chown-tests (Files): Include new file.
30860         * modules/fdutimensat-tests (Files): Likewise.
30861         * modules/futimens-tests (Files): Likewise.
30862         * modules/lchown-tests (Files): Likewise.
30863         * modules/openat-tests (Files): Likewise.
30864         * modules/utimens-tests (Files): Likewise.
30865         * modules/utimensat-tests (Files): Likewise.
30866
30867 2009-12-19  Eric Blake  <ebb9@byu.net>
30868
30869         futimens, utimensat: work around Linux bug
30870         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
30871         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30872         * lib/utimensat.c (rpl_utimensat): Work around it.
30873         * lib/futimens.c (rpl_futimens): Adjust comment.
30874
30875         utimens: work around Linux ctime bug
30876         * lib/utimens.c (detect_ctime_bug): New helper function.
30877         (update_timespec): Differentiate between workaround needed for
30878         this bug vs. what is needed for systems that lack utimensat.
30879         (fdutimens, lutimens): Work around bug.
30880
30881         utimens: check for ctime update
30882         * tests/test-utimens-common.h (check_ctime): Define.
30883         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
30884         * tests/test-futimens.h (test_futimens): Likewise.
30885         * tests/test-lutimens.h (test_lutimens): Likewise.
30886         * doc/posix-functions/futimens.texi (futimens): Document the bug.
30887         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30888
30889 2009-12-19  Bruno Haible  <bruno@clisp.org>
30890
30891         dprintf-posix: Check against memory leak fixed on 2009-12-15.
30892         * tests/test-dprintf-posix2.sh: New file.
30893         * tests/test-dprintf-posix2.c: New file.
30894         * modules/dprintf-posix-tests (Files): Add them.
30895         (configure.ac): Check for getrlimit and setrlimit.
30896         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30897
30898 2009-12-19  Bruno Haible  <bruno@clisp.org>
30899
30900         fprintf-posix: Check against memory leak fixed on 2009-12-15.
30901         * tests/test-fprintf-posix3.sh: New file.
30902         * tests/test-fprintf-posix3.c: New file.
30903         * modules/fprintf-posix-tests (Files): Add them.
30904         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30905
30906 2009-12-19  Eric Blake  <ebb9@byu.net>
30907
30908         dirfd: fix prototype
30909         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
30910         * lib/dirfd.c (dirfd): Likewise.
30911
30912         canonicalize: reduce memory usage
30913         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
30914         allocation to size.
30915         Reported by Solar Designer <solar@openwall.com>.
30916
30917 2009-12-19  Bruno Haible  <bruno@clisp.org>
30918
30919         New module attribute 'Applicability'.
30920         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
30921         * gnulib-tool: New option --extract-applicability.
30922         (func_usage): Document it.
30923         (sed_extract_prog): Recognize it.
30924         (func_get_applicability): New function.
30925         (func_import): Generalize handling of 'link-warning' module.
30926         * modules/link-warning (Applicability): New section.
30927         * modules/arg-nonnull (Applicability): New section.
30928         Repoted by Simon Josefsson <simon@josefsson.org>.
30929
30930 2009-12-19  Bruno Haible  <bruno@clisp.org>
30931
30932         fflush: tweak
30933         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
30934         * lib/fseeko.c (rpl_fseeko): Likewise.
30935
30936 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
30937
30938         * lib/gl_list.h: Fix typo in comment.
30939
30940 2009-12-16  Eric Blake  <ebb9@byu.net>
30941
30942         fcntl: use to simplify other modules
30943         * modules/cloexec (Depends-on): Add fcntl.
30944         * modules/fchdir (Depends-on): Likewise.
30945         * modules/fd-safer-flag (Depends-on): Likewise.
30946         * modules/unistd-safer (Depends-on): Likewise.
30947         * modules/dup3 (configure.ac): Set module indicator.
30948         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
30949         missing.
30950         * lib/fchdir.c (_gl_register_dup): Fix comment.
30951         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
30952         * lib/dup-safer.c (dup_safer): Likewise.
30953         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
30954         * lib/dup3.c (dup3): Likewise.
30955         * tests/test-fchdir.c (main): Enhance test.
30956         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
30957
30958         fcntl: port portions of fcntl to mingw
30959         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
30960         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
30961         replacement for mingw.
30962         * modules/fcntl (Description): Update.
30963         (Depends-on): Add dup2.
30964         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
30965         * modules/fcntl-h (Makefile.am): Substitute it.
30966         * lib/fcntl.in.h (fcntl): Update declaration.
30967         (F_DUPFD, F_GETFD): New macros, when needed.
30968         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30969         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
30970         * tests/test-fcntl.c (check_flags, main): Enhance test for items
30971         we now guarantee.
30972
30973         fcntl: work around cygwin bug in F_DUPFD
30974         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
30975         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
30976         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
30977         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
30978         * doc/posix-functions/fcntl.texi (fcntl): Document it.
30979
30980         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
30981         * modules/fcntl (Files): List new files.
30982         (configure.ac): Run a test.
30983         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
30984         * lib/fcntl.c (rpl_fcntl): Likewise.
30985         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
30986         (gl_FCNTL_H): Always replace fcntl.h.
30987         * modules/fcntl-h (Makefile.am): Substitute witnesses.
30988         * lib/fcntl.in.h (fcntl): Declare replacement.
30989         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
30990         needed, plus a witness.
30991         * doc/posix-functions/fcntl.texi (fcntl): Document this.
30992         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
30993         * tests/test-fcntl.c: New file.
30994         * modules/fcntl-tests: Likewise.
30995
30996         binary-io: avoid potential compilation warning
30997         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
30998         directives.
30999
31000         fflush: avoid compilation error on NetBSD
31001         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
31002         between off_t and fpos_t, since the latter is sometimes a struct.
31003         * lib/fseeko.c (rpl_fseeko): Likewise.
31004         Reported by Alexander Nasonov <alnsn@yandex.ru>.
31005
31006 2009-12-15  Eric Blake  <ebb9@byu.net>
31007
31008         fcntl-h, stdio, sys_ioctl: fix declarations
31009         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
31010         function must not take arguments.
31011         * lib/sys_ioctl.in.h (ioctl): Likewise.
31012         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
31013         (open): Add a link warning.
31014
31015 2009-12-15  Jim Meyering  <meyering@redhat.com>
31016
31017         areadlink, areadlink-with-size: relax license to LGPLv2+
31018         * modules/areadlink (License): Relax to LGPLv2+.
31019         * modules/areadlink-with-size (License): Likewise.
31020
31021 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
31022             Bruno Haible  <bruno@clisp.org>
31023
31024         *printf: Fix memory leak.
31025         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
31026         * lib/vfprintf.c (vfprintf): Likewise.
31027         * lib/dprintf.c (dprintf): Likewise.
31028         * lib/vdprintf.c (vdprintf): Likewise.
31029
31030 2009-12-14  Eric Blake  <ebb9@byu.net>
31031
31032         accept4: adjust module dependencies
31033         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
31034
31035         utimens: one more try at avoiding compiler warning
31036         * lib/utimens.c (lutimens): Lower scope of result.
31037
31038 2009-12-13  Bruno Haible  <bruno@clisp.org>
31039
31040         Move the malloc checking from module 'list' to new module 'xlist'.
31041         * modules/xlist: New file.
31042         * lib/gl_xlist.h: New file.
31043         * lib/gl_xlist.c: New file.
31044         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
31045         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
31046         gl_list_add_last, gl_list_add_before, gl_list_add_after,
31047         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
31048         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
31049         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
31050         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
31051         gl_sortedlist_nx_add): New declarations.
31052         (struct gl_list_implementation): Rename and change methods accordingly.
31053         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
31054         (gl_list_nx_create): Renamed from gl_list_create.
31055         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31056         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31057         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31058         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31059         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31060         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31061         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31062         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31063         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
31064         gl_list_create_empty.
31065         (gl_list_nx_create): Renamed from gl_list_create.
31066         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31067         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31068         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31069         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31070         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31071         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31072         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31073         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31074         * lib/gl_array_list.c: Don't include xalloc.h.
31075         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
31076         NULL upon out-of-memory.
31077         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
31078         out-of-memory.
31079         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
31080         Change return type to 'int'.
31081         (gl_array_nx_set_at): Renamed from gl_array_set_at.
31082         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31083         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
31084         upon out-of-memory.
31085         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
31086         upon out-of-memory.
31087         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
31088         upon out-of-memory.
31089         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
31090         upon out-of-memory.
31091         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
31092         out-of-memory.
31093         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
31094         Update.
31095         (gl_array_list_implementation): Update.
31096         * lib/gl_carray_list.c: Don't include xalloc.h.
31097         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
31098         Return NULL upon out-of-memory.
31099         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
31100         out-of-memory.
31101         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
31102         Change return type to 'int'.
31103         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
31104         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31105         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
31106         upon out-of-memory.
31107         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
31108         upon out-of-memory.
31109         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
31110         out-of-memory.
31111         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
31112         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
31113         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
31114         Update.
31115         (gl_carray_list_implementation): Update.
31116         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
31117         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
31118         gl_linked_create_empty. Return NULL upon out-of-memory.
31119         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
31120         out-of-memory.
31121         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
31122         Change return type to 'int'. Return -1 upon out-of-memory.
31123         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
31124         out-of-memory.
31125         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
31126         upon out-of-memory.
31127         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
31128         upon out-of-memory.
31129         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
31130         NULL upon out-of-memory.
31131         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
31132         upon out-of-memory.
31133         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
31134         out-of-memory.
31135         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
31136         Update.
31137         * lib/gl_linked_list.c: Don't include xalloc.h.
31138         (gl_linked_list_implementation): Update.
31139         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
31140         (add_to_bucket): Change return type to 'int'.
31141         (gl_linkedhash_list_implementation): Update.
31142         * lib/gl_anytree_list1.h (free_subtree): New function.
31143         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
31144         gl_tree_create_empty. Return NULL upon out-of-memory.
31145         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
31146         Change return type to 'int'. Return -1 upon out-of-memory.
31147         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
31148         out-of-memory.
31149         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
31150         (gl_tree_remove_node): New function, moved here from
31151         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
31152         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
31153         Update.
31154         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
31155         malloc, not xmalloc. Return NULL upon out-of-memory.
31156         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31157         out-of-memory.
31158         (gl_tree_remove_node_from_tree): New function, extracted from
31159         gl_tree_remove_node.
31160         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31161         upon out-of-memory.
31162         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31163         out-of-memory.
31164         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31165         upon out-of-memory.
31166         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31167         upon out-of-memory.
31168         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31169         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
31170         not xmalloc. Return NULL upon out-of-memory.
31171         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31172         out-of-memory.
31173         (gl_tree_remove_node_from_tree): New function, extracted from
31174         gl_tree_remove_node.
31175         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31176         upon out-of-memory.
31177         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31178         out-of-memory.
31179         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31180         upon out-of-memory.
31181         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31182         upon out-of-memory.
31183         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31184         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
31185         gl_anytree_list1.h before gl_anyavltree_list2.h.
31186         (gl_avltree_list_implementation): Update.
31187         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
31188         gl_anytree_list1.h before gl_anyavltree_list2.h.
31189         (gl_rbtree_list_implementation): Update.
31190         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
31191         Change return type to 'int'. Return -1 upon out-of-memory. Use
31192         __builtin_expect.
31193         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
31194         (gl_avltreehash_list_implementation): Update.
31195         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
31196         (gl_rbtreehash_list_implementation): Update.
31197         * modules/array-list (Depends-on): Remove xalloc.
31198         * modules/carray-list (Depends-on): Likewise.
31199         * modules/linked-list (Depends-on): Likewise.
31200         * modules/linkedhash-list (Depends-on): Likewise.
31201         * modules/avltree-list (Depends-on): Likewise.
31202         * modules/rbtree-list (Depends-on): Likewise.
31203         * modules/avltreehash-list (Depends-on): Likewise.
31204         * modules/rbtreehash-list (Depends-on): Likewise.
31205
31206         * modules/xsublist: New file.
31207         * lib/gl_xsublist.h: New file.
31208         * lib/gl_xsublist.c: New file.
31209         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
31210         (gl_sublist_nx_create): New declaration.
31211         * lib/gl_sublist.c: Don't include xalloc.h.
31212         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
31213         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
31214         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
31215         Change return type to 'int'. Return -1 upon out-of-memory.
31216         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
31217         upon out-of-memory.
31218         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
31219         NULL upon out-of-memory.
31220         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
31221         upon out-of-memory.
31222         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
31223         NULL upon out-of-memory.
31224         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
31225         NULL upon out-of-memory.
31226         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
31227         upon out-of-memory.
31228         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
31229         (gl_sublist_list_implementation): Update.
31230         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
31231         upon out-of-memory.
31232         * modules/sublist (Depends-on): Remove xalloc.
31233
31234         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
31235         * tests/test-carray_list.c: Likewise.
31236         * tests/test-linked_list.c: Likewise.
31237         * tests/test-linkedhash_list.c: Likewise.
31238         * tests/test-avltree_list.c: Likewise.
31239         * tests/test-rbtree_list.c: Likewise.
31240         * tests/test-avltreehash_list.c: Likewise.
31241         * tests/test-rbtreehash_list.c: Likewise.
31242         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
31243         * modules/carray-list-tests (Makefile.am): Likewise.
31244         * modules/linked-list-tests (Makefile.am): Likewise.
31245         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31246         * modules/avltree-list-tests (Makefile.am): Likewise.
31247         * modules/rbtree-list-tests (Makefile.am): Likewise.
31248         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31249         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31250
31251         * NEWS: Mention the changes.
31252
31253         * lib/clean-temp.c: Include gl_xlist.h.
31254         * modules/clean-temp (Depends-on): Add xlist.
31255
31256         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
31257         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
31258
31259         * tests/test-array_oset.c: Include gl_xlist.h.
31260         * modules/array-oset-tests (Depends-on): Add xlist.
31261
31262         Reported by José E. Marchesi <jemarch@gnu.org>.
31263
31264 2009-12-13  Bruno Haible  <bruno@clisp.org>
31265
31266         Move the malloc checking from module 'oset' to new module 'xoset'.
31267         * modules/xoset: New file.
31268         * lib/gl_xoset.h: New file.
31269         * lib/gl_xoset.c: New file.
31270         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
31271         declarations.
31272         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
31273         (struct gl_oset_implementation): Rename and change methods accordingly.
31274         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
31275         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31276         'int'. Mark as __warn_unused_result__.
31277         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
31278         gl_oset_create_empty.
31279         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31280         'int'.
31281         * lib/gl_array_oset.c: Don't include xalloc.h.
31282         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
31283         malloc, not xmalloc.
31284         (grow): Change return type to 'int'. Don't call xalloc_die.
31285         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
31286         to 'int'.
31287         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
31288         'int'.
31289         (gl_array_oset_implementation): Update.
31290         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
31291         gl_tree_create_empty.
31292         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
31293         'int'.
31294         * lib/gl_avltree_oset.c: Don't include xalloc.h.
31295         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31296         xmalloc.
31297         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31298         not xmalloc.
31299         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31300         xmalloc.
31301         (gl_avltree_oset_implementation): Update.
31302         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
31303         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31304         xmalloc.
31305         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31306         not xmalloc.
31307         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31308         xmalloc.
31309         (gl_rbtree_oset_implementation): Update.
31310         * modules/array-oset (Depends-on): Remove xalloc.
31311         * modules/avltree-oset (Depends-on): Likewise.
31312         * modules/rbtree-oset (Depends-on): Likewise.
31313         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
31314         * tests/test-avltree_oset.c: Likewise.
31315         * tests/test-rbtree_oset.c: Likewise.
31316         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31317         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
31318         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31319         * NEWS: Mention the change.
31320
31321 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
31322
31323         maint.mk: allow a project to override release-prep commands
31324         * top/maint.mk (alpha, beta, stable): Move release-preparatory
31325         commands into a new rule.
31326         (release-prep): New rule.
31327         (release-prep-hook): New overridable variable.
31328
31329 2009-12-13  Bruno Haible  <bruno@clisp.org>
31330
31331         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
31332
31333 2009-12-13  Jim Meyering  <meyering@redhat.com>
31334
31335         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
31336         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
31337
31338 2009-12-12  Bruno Haible  <bruno@clisp.org>
31339
31340         duplocale: Tweak.
31341         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
31342
31343 2009-12-12  Karl Berry  <karl@gnu.org>
31344
31345         * config/srclist.txt (strtoll.c): tab changes, no more sync.
31346
31347 2009-12-12  Bruno Haible  <bruno@clisp.org>
31348
31349         * m4/po.m4: Undo incorrect untabification.
31350
31351 2009-12-12  Bruno Haible  <bruno@clisp.org>
31352
31353         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
31354         * modules/c-strtod (Depends-on): Add locale.
31355         * modules/c-strtold (Depends-on): Likewise.
31356
31357 2009-12-12  Bruno Haible  <bruno@clisp.org>
31358
31359         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
31360
31361 2009-12-11  Eric Blake  <ebb9@byu.net>
31362
31363         setenv: relax requirement in light of POSIX ruling
31364         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
31365         not NULL.
31366         * tests/test-setenv.c (main): Relax test.
31367         * tests/test-unsetenv.c (main): Likewise.
31368         * doc/posix-functions/setenv.texi (setenv): Document this.
31369         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31370
31371 2009-12-11  Bruno Haible  <bruno@clisp.org>
31372
31373         New module 'fd-safer-flag'.
31374         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
31375         * lib/dup-safer.c (dup_safer_flag): Remove function.
31376         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
31377         * lib/fd-safer.c (fd_safer_flag): Remove function.
31378         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
31379         * modules/cloexec (configure.ac): Drop indicator macro.
31380         * modules/fd-safer-flag: New file.
31381         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31382         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31383         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31384
31385 2009-12-11  Bruno Haible  <bruno@clisp.org>
31386
31387         Tests for module 'nl_langinfo'.
31388         * modules/nl_langinfo-tests: New file.
31389         * tests/test-nl_langinfo.sh: New file.
31390         * tests/test-nl_langinfo.c: New file.
31391
31392         New module 'nl_langinfo'.
31393         * lib/nl_langinfo.c: New file.
31394         * m4/nl_langinfo.m4: New file.
31395         * modules/nl_langinfo: New file.
31396         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31397
31398 2009-12-11  Bruno Haible  <bruno@clisp.org>
31399
31400         Tests for module 'langinfo'.
31401         * modules/langinfo-tests: New file.
31402         * tests/test-langinfo.c: New file.
31403
31404         New module 'langinfo'.
31405         * lib/langinfo.in.h: New file.
31406         * m4/langinfo_h.m4: New file.
31407         * modules/langinfo: New file.
31408         * doc/posix-headers/langinfo.texi: Mention the new module.
31409
31410 2009-12-11  Bruno Haible  <bruno@clisp.org>
31411
31412         * lib/config.charset: Untabify.
31413
31414 2009-12-11  Bruno Haible  <bruno@clisp.org>
31415
31416         * modules/unistd-safer (configure.ac): Drop indicator macro.
31417
31418 2009-12-11  Bruno Haible  <bruno@clisp.org>
31419
31420         Move pipe2-safer code to its own file.
31421         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31422         * lib/pipe-safer.c (pipe2_safer): Remove function.
31423         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31424         (Makefile.am): Add it to lib_SOURCES.
31425
31426 2009-12-10  Bruno Haible  <bruno@clisp.org>
31427
31428         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31429
31430 2009-12-10  Bruno Haible  <bruno@clisp.org>
31431
31432         Declare which arguments expect non-NULL values, for GCC and clang.
31433         * build-aux/arg-nonnull.h: New file.
31434         * modules/arg-nonnull: New file.
31435         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31436         (inet_ntop, inet_pton): Use it.
31437         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31438         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31439         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31440         (open, openat): Use it.
31441         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31442         (fnmatch): Use it.
31443         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31444         (getopt, getopt_long, getopt_long_only): Use it.
31445         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31446         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31447         Use it.
31448         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31449         (iconv_open): Use it.
31450         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31451         (strtoimax, strtoumax): Use it.
31452         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31453         (duplocale): Use it.
31454         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31455         (frexp, frexpl): Use it.
31456         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31457         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31458         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31459         (tsearch, tfind, tdelete, twalk): Use it.
31460         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31461         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31462         sigpending): Use it.
31463         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31464         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31465         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31466         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31467         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31468         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31469         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31470         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31471         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31472         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31473         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31474         Use it.
31475         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31476         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31477         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31478         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31479         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31480         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31481         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31482         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31483         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31484         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31485         strtoull, unsetenv): Use it.
31486         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31487         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31488         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31489         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31490         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31491         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31492         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31493         (strcasecmp, strncasecmp): Use it.
31494         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31495         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31496         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31497         rpl_setsockopt): Use it.
31498         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31499         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31500         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31501         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31502         (gettimeofday): Use it.
31503         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31504         (times): Use it.
31505         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31506         (uname): Use it.
31507         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31508         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31509         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31510         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31511         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31512         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31513         unlinkat, write): Use it.
31514         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31515         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31516         * lib/argv-iter.h: Include arg-nonnull.h.
31517         (_ATTRIBUTE_NONNULL_): Remove macro.
31518         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31519         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31520         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31521         optimization.
31522         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31523         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31524         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31525         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31526         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31527         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31528         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31529         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31530         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31531         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31532         * modules/dirent (Depends-on): Add arg-nonnull.
31533         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31534         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31535         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31536         * modules/fnmatch (Depends-on): Add arg-nonnull.
31537         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31538         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31539         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31540         * modules/glob (Depends-on): Add arg-nonnull.
31541         (Makefile.am): Insert arg-nonnull.h into glob.h.
31542         * modules/iconv_open (Depends-on): Add arg-nonnull.
31543         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31544         * modules/inttypes (Depends-on): Add arg-nonnull.
31545         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31546         * modules/locale (Depends-on): Add arg-nonnull.
31547         (Makefile.am): Insert arg-nonnull.h into locale.h.
31548         * modules/math (Depends-on): Add arg-nonnull.
31549         (Makefile.am): Insert arg-nonnull.h into math.h.
31550         * modules/netdb (Depends-on): Add arg-nonnull.
31551         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31552         * modules/search (Depends-on): Add arg-nonnull.
31553         (Makefile.am): Insert arg-nonnull.h into search.h.
31554         * modules/signal (Depends-on): Add arg-nonnull.
31555         (Makefile.am): Insert arg-nonnull.h into signal.h.
31556         * modules/spawn (Depends-on): Add arg-nonnull.
31557         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31558         * modules/stdio (Depends-on): Add arg-nonnull.
31559         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31560         * modules/stdlib (Depends-on): Add arg-nonnull.
31561         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31562         * modules/string (Depends-on): Add arg-nonnull.
31563         (Makefile.am): Insert arg-nonnull.h into string.h.
31564         * modules/strings (Depends-on): Add arg-nonnull.
31565         (Makefile.am): Insert arg-nonnull.h into strings.h.
31566         * modules/sys_socket (Depends-on): Add arg-nonnull.
31567         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31568         * modules/sys_stat (Depends-on): Add arg-nonnull.
31569         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31570         * modules/sys_time (Depends-on): Add arg-nonnull.
31571         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31572         * modules/sys_times (Depends-on): Add arg-nonnull.
31573         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31574         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31575         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31576         * modules/time (Depends-on): Add arg-nonnull.
31577         (Makefile.am): Insert arg-nonnull.h into time.h.
31578         * modules/unistd (Depends-on): Add arg-nonnull.
31579         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31580         * modules/wchar (Depends-on): Add arg-nonnull.
31581         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31582         * modules/argv-iter (Depends-on): Add arg-nonnull.
31583         * tests/test-canonicalize.c (null_ptr): New function.
31584         (main): Use it.
31585         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31586         (main): Use it.
31587         * tests/test-memmem.c (null_ptr): New function.
31588         (main): Use it.
31589         Reported by Jim Meyering.
31590
31591 2009-12-10  Bruno Haible  <bruno@clisp.org>
31592
31593         Use spaces for indentation, not tabs.
31594         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31595         * m4/*.m4: Untabify.
31596         * build-aux/*.h: Untabify.
31597         * tests/**/*.[hc]: Untabify.
31598         * README: New section "Indent with spaces, not TABs", based on
31599         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31600         * NEWS: Mention the change.
31601
31602 2009-12-10  Bruno Haible  <bruno@clisp.org>
31603
31604         pty test: Fix link error.
31605         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31606         test_pty_LDADD.
31607
31608 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31609
31610         * modules/pty: New file.
31611         * modules/pty-tests: New file.
31612         * m4/pty.m4: New file.
31613         * tests/test-pty.c: New file.
31614         * doc/glibc-headers/pty.texi: Modified.
31615         * doc/glibc-functions/forkpty.texi: Modified.
31616         * doc/glibc-functions/openpty.texi: Modified.
31617
31618 2009-12-10  Bruno Haible  <bruno@clisp.org>
31619
31620         Avoid syntax error in C++ mode.
31621         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31622
31623 2009-12-10  Bruno Haible  <bruno@clisp.org>
31624
31625         Use sed with option -e.
31626         * gnulib-tool (func_version, func_emit_copyright_notice,
31627         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31628         option -e to sed.
31629         * modules/link-warning (Makefile.am): Likewise.
31630
31631 2009-12-10  Jim Meyering  <meyering@redhat.com>
31632
31633         mgetgroups: do not write bytes beyond end of malloc'd buffer
31634         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31635         username, we call getgroups with a one-element-shorter buffer,
31636         but still told it the length was original, max_n_groups.
31637
31638 2009-12-09  Eric Blake  <ebb9@byu.net>
31639
31640         cloexec: relax license
31641         * modules/cloexec (Maintainer): Add myself.
31642         (License): Use LGPL, not GPL.
31643
31644         link-warning: optimize generation
31645         * modules/link-warning (Makefile.am): Reduce process usage.
31646
31647 2009-12-09  Bruno Haible  <bruno@clisp.org>
31648
31649         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31650         workaround was added on 2009-11-17.
31651
31652 2009-12-09  Jim Meyering  <meyering@redhat.com>
31653             Bruno Haible  <bruno@clisp.org>
31654
31655         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31656         * modules/link-warning (Makefile.am): Make the comment-removing sed
31657         command more robust in the face of bootstrap-prepended comment lines.
31658
31659 2009-12-09  Bruno Haible  <bruno@clisp.org>
31660
31661         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31662         most one group.
31663
31664 2009-12-09  Simon Josefsson <simon@josefsson.org>
31665             Bruno Haible  <bruno@clisp.org>
31666
31667         * build-aux/link-warning.h: Add copyright notice.
31668         * modules/link-warning (Makefile.am): Generate link-warning.h from
31669         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31670         * NEWS: Mention change in link-warning module.
31671         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31672         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31673         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31674         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31675         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31676         * modules/math (Makefile.am): Add dependency to math.h.
31677         * modules/search (Makefile.am): Add dependency to search.h.
31678         * modules/signal (Makefile.am): Add dependency to signal.h.
31679         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31680         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31681         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31682         * modules/string (Makefile.am): Add dependency to string.h.
31683         * modules/strings (Makefile.am): Add dependency to strings.h.
31684         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31685         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31686         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31687         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31688         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31689         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31690         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31691         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31692         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31693
31694 2009-12-09  Bruno Haible  <bruno@clisp.org>
31695
31696         fchdir: Optimize away rpl_fstat when possible.
31697         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31698         REPLACE_OPEN_DIRECTORY.
31699         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31700
31701 2009-12-09  Bruno Haible  <bruno@clisp.org>
31702
31703         * lib/fchdir.c: Update comment.
31704
31705 2009-12-09  Bruno Haible  <bruno@clisp.org>
31706
31707         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31708
31709 2009-12-08  Eric Blake  <ebb9@byu.net>
31710
31711         fchdir: avoid memory leak on re-registration.
31712         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31713
31714 2009-12-08  Jim Meyering  <meyering@redhat.com>
31715
31716         init.sh: avoid Solaris 10 /bin/sh portability problem
31717         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31718         sourced script:
31719           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31720           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31721           bar
31722         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31723         and two tests used that idiom.
31724         * tests/init.sh: Update suggested usage comments.
31725         (path_prepend_): New function, to be used in place
31726         of the --src-path=DIR option.
31727         (setup_): Move PATH-prepending code into path_prepend_.
31728         * tests/test-pread.sh: Adapt to new usage.
31729         * tests/test-xalloc-die.sh: Likewise.
31730
31731 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31732
31733         * doc/gnulib.texi (Glibc pty.h): Add.
31734         * doc/glibc-functions/forkpty.texi: Add.
31735         * doc/glibc-functions/openpty.texi: Add.
31736         Suggested by Bruno Haible.
31737
31738 2009-12-08  Eric Blake  <ebb9@byu.net>
31739
31740         fchdir: fix logic bugs
31741         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31742         * tests/test-fchdir.c (main): Enhance test.
31743         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31744         is in use.
31745
31746         dup2: fix logic bugs
31747         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31748         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31749         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31750         exists.
31751         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31752
31753 2009-12-07  Eric Blake  <ebb9@byu.net>
31754
31755         unlink: fix m4 detection
31756         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31757
31758         unistd-safer: add unit test
31759         * modules/unistd-safer-tests: New file.
31760         * tests/test-dup-safer.c: Likewise.
31761         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31762         * tests/test-dup2.c (setmode): Likewise.
31763         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31764
31765         cloexec: preserve text vs. binary across dup_cloexec
31766         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31767         mode.
31768         * modules/dup2-tests (Depends-on): Add binary-io.
31769         * modules/cloexec-tests (Depends-on): Likewise.
31770         * tests/test-dup2.c (setmode, is_mode): New helpers.
31771         (main): Add tests that translation mode is preserved.
31772         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31773         Reported by Bruno Haible.
31774
31775         mgetgroups: reduce duplicate listings
31776         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31777         resulting array.
31778         * tests/test-chown.h (test_chown): Simplify client.
31779         * tests/test-lchown.h (test_lchown): Likewise.
31780
31781 2009-12-06  Bruno Haible  <bruno@clisp.org>
31782
31783         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31784         value.
31785
31786 2009-12-06  Bruno Haible  <bruno@clisp.org>
31787
31788         * lib/progname.c: Include stdio.h, stdlib.h.
31789         (set_program_name): Reject a NULL argument.
31790
31791 2009-12-05  Eric Blake  <ebb9@byu.net>
31792
31793         pipe2-safer: new module
31794         * modules/pipe2-safer: New file.
31795         * lib/unistd-safer.h (pipe2_safer): New prototype.
31796         * lib/unistd--.h (pipe2): New wrapper.
31797         * lib/pipe-safer.c (pipe2_safer): New function.
31798         * modules/pipe (Depends-on): Add pipe2-safer.
31799         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
31800
31801         stdlib-safer: preserve cloexec flag for mkostemp[s]
31802         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
31803         fd_safer_flag.
31804
31805         unistd-safer: allow preservation of cloexec status via flag
31806         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
31807         prototypes.
31808         * lib/dup-safer.c (dup_safer_flag): New function.
31809         * lib/fd-safer.c (fd_safer_flag): Likewise.
31810         * modules/cloexec (configure.ac): Set witness.
31811
31812         test-dup2: enhance test
31813         * modules/dup2-tests (Depends-on): Add cloexec.
31814         * tests/test-dup2.c (main): Enhance test.
31815
31816         cloexec: add dup_cloexec
31817         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
31818         header and comments.
31819         * lib/cloexec.c (set_cloexec_flag): Add comments.
31820         (dup_cloexec): New function, with mingw implementation borrowed
31821         from...
31822         * lib/w32spawn.h (dup_noinherit): ...here.
31823         * modules/execute (Depends-on): Add cloexec.
31824         * modules/pipe (Depends-on): Likewise.
31825         * modules/cloexec (Depends-on): Add dup2.
31826         * modules/cloexec-tests (Files): New file.
31827         * tests/test-cloexec.c: Likewise.
31828
31829         test-xalloc-die: fix test for mingw
31830         * modules/xalloc-die-tests (Files): Add tests/init.sh.
31831         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
31832         directory and .exe suffix off argv[0] output.
31833
31834         test-fseeko: fix test for mingw
31835         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
31836         than undefining fseek, so test will pass on mingw.
31837
31838 2009-12-05  Bruno Haible  <bruno@clisp.org>
31839
31840         * lib/progname.h (set_program_name): Clarify specification.
31841         * lib/progname.c (set_program_name): Likewise.
31842         Reported by Jim Meyering.
31843
31844 2009-12-05  Jim Meyering  <meyering@redhat.com>
31845
31846         maint.mk: backslash-escape parens in default regexp
31847         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
31848         backslash-escape the literal parentheses.
31849
31850         maint.mk: news-date-check: use grep -E
31851         * top/maint.mk (today): Define a Make variable, not a...
31852         (news-date-check): ...shell variable.
31853         (news-date-regexp): Use the Make variable.
31854         Use grep's -E option.  Change the failing diagnostic to mention
31855         the variable, $(news-date-regexp).
31856
31857 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
31858
31859         maintainer-makefile: allow customization of NEWS entry format
31860         * top/maint.mk (news-date-regexp): New overridable variable.
31861         (news-date-check): Use it.
31862
31863 2009-12-04  Eric Blake  <ebb9@byu.net>
31864
31865         mgetgroups: add xgetgroups, and avoid ENOSYS failures
31866         * lib/mgetgroups.h (xgetgroups): New prototype.
31867         * lib/mgetgroups.c (xgetgroups): New wrapper.
31868         (mgetgroups): Handle ENOSYS.
31869         * modules/mgetgroups (Depends-on): Add realloc.
31870         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
31871
31872         mgetgroups: avoid argument promotion issues with -1
31873         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
31874         for invalid gid_t.
31875         * tests/test-chown.h (getegid, test_chown): Likewise.
31876         * tests/test-lchown.h (getegid, test_lchown): Likewise.
31877
31878 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
31879
31880         exclude: Fix header file problems.
31881         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
31882
31883 2009-12-01  Jim Meyering  <meyering@redhat.com>
31884
31885         fts: fts_open: do not let an empty string cause immediate failure
31886         This is required in support of GNU rm, for which the command
31887         "rm A '' B" must process and remove both A and B, in spite of
31888         the empty string argument.
31889         * lib/fts.c (fts_open): Do not let the presence of an empty string
31890         cause fts_open to fail immediately.  Most fts-using tools must be
31891         able to process all arguments, in order, and can be expected to
31892         diagnose such arguments themselves.
31893
31894 2009-11-30  Eric Blake  <ebb9@byu.net>
31895
31896         utimens: fix compilation error
31897         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
31898         Declare variable at right scope.
31899
31900 2009-11-29  Jim Meyering  <meyering@redhat.com>
31901
31902         bootstrap: handle perl-5.11's changed --version output
31903         * build-aux/bootstrap (get_version): Handle perl separately,
31904         since perl-5.11's --version output is different.
31905
31906 2009-11-28  Jim Meyering  <meyering@redhat.com>
31907
31908         userspec: depend on the inttostr module, too
31909         * modules/userspec (Depends-on): Add inttostr.
31910
31911         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
31912         * lib/userspec.c (parse_with_separator): Do not accept a user ID
31913         number of MAXUID when it evaluates to (uid_t) -1.
31914         Likewise for group ID.  Reported by Matt McCutchen in
31915         <http://savannah.gnu.org/bugs/?28113>
31916
31917         userspec: reformat to use spaces, not TABs
31918         * lib/userspec.c: Expand TABs to spaces.
31919         Add Emacs' "indent-tabs-mode: nil" hint.
31920
31921 2009-11-27  Eric Blake  <ebb9@byu.net>
31922
31923         getopt-gnu: flush out another BSD bug
31924         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
31925         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
31926         flush out BSD bug.
31927         * tests/test-getopt.h (test_getopt): End lists with NULL.
31928         * tests/test-getopt_long.h (test_getopt_long): Likewise.
31929         (test_getopt_long_posix): Enhance test.
31930         * modules/getopt-posix-tests (Depends-on): Add stdbool.
31931         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
31932         getopt-gnu.
31933         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31934         Likewise.
31935
31936 2009-11-27  Simon Josefsson  <simon@josefsson.org>
31937
31938         * modules/idpriv-droptemp-tests (Notice): Fix text.
31939
31940 2009-11-27  Jim Meyering  <meyering@redhat.com>
31941
31942         test-xalloc-die: avoid spurious failure due to libtool argv difference
31943         In a libtool-enabled project, this test would fail due to a difference
31944         in the emitted program name, e.g.,
31945         -test-xalloc-die: memory exhausted
31946         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
31947         Use program to avoid that.
31948         * modules/xalloc-die-tests (Depends-on): Add progname.
31949         * tests/test-xalloc-die.c: Include progname.h".
31950         (program_name): Remove decl.
31951         (main): Call set_program_name.
31952         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
31953
31954 2009-11-26  Richard Jones  <rjones@redhat.com>
31955
31956         w32sock: leave win32 error in place.
31957         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
31958
31959 2009-11-26  Eric Blake  <ebb9@byu.net>
31960
31961         init.sh: suggest to use skip_ and fail_ functions in comments
31962         * tests/init.sh: Add a sentence.
31963
31964 2009-11-25  Bruno Haible  <bruno@clisp.org>
31965
31966         init.sh: add documentation in comments
31967         * tests/init.sh: Add some developer and user documentation.
31968
31969 2009-11-26  Jim Meyering  <meyering@redhat.com>
31970
31971         init.sh: accommodate even those who specify bogus srcdir manually
31972         * tests/init.sh: Normally, srcdir is guaranteed by automake and
31973         configure-time tests to be sanitized, so that there is no need to
31974         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
31975         (with no double quotes) suffices.  However, since tests may be
31976         invoked manually, and since you may explicitly set srcdir to the
31977         name of a directory containing spaces, do quote its uses here.
31978         * tests/test-pread.sh: Likewise.
31979         Suggested by Bruno Haible.
31980
31981         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
31982         * tests/test-pread.sh: Write no data into the pipe, because
31983         test-pread actually reads none.  This avoids a diagnostic,
31984         "bash: echo: write error: Broken pipe", that arises in the unusual
31985         event something is ignoring SIGPIPE, and might be interpreted
31986         as some sort of failure.  Reported by Bruno Haible.
31987
31988 2009-11-25  Jim Meyering  <meyering@redhat.com>
31989
31990         test-pread: cover failure with ESPIPE and EINVAL
31991         * tests/test-pread.c (main): Test for failure, too.
31992         * tests/test-pread.sh: Invoke with stdin on a pipe.
31993         Suggested by Eric Blake.
31994
31995         pread: improvement and fix
31996         * modules/pread (Depends-on): Depend on lseek, for portability to
31997         e.g., mingw.  Suggested by Eric Blake.
31998         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
31999
32000         unistd.in.h: correct declaration of pread
32001         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
32002         Reported by Richard W.M. Jones.
32003
32004         test-pread.sh: distribute the test script
32005         * modules/pread-tests (Files): Include test-pread.sh.
32006
32007         test-pread.sh: clean up
32008         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
32009         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
32010         That is unnecessary, since it's always ".".
32011         Suggestion from Eric Blake.
32012
32013         test-pread.sh: make executable
32014         * tests/test-pread.sh: Set executable bit.
32015         Reported by Eric Blake.
32016
32017         correct typo in test-pread.sh
32018         * tests/test-pread.sh: Add #! line.
32019
32020         test pread
32021         * tests/test-pread.c: New file.
32022         * tests/test-pread.sh: Likewise.
32023         * modules/pread-tests: Likewise.
32024
32025         pread: new module
32026         * modules/pread: New file.
32027         * lib/unistd.in.h (pread): Define/declare.
32028         * lib/pread.c (pread): New file.
32029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
32030         * modules/unistd (Makefile.am): Substitute witnesses.
32031         * doc/posix-functions/pread.texi (pread): Update.
32032         * MODULES.html.sh: Add pread.
32033
32034 2009-11-25  Jim Meyering  <meyering@redhat.com>
32035
32036         tests/init.sh: new file to be used via most *.sh tests
32037         * tests/init.sh: New file.
32038
32039 2009-11-25  Eric Blake  <ebb9@byu.net>
32040
32041         utimens: work around older Linux failure with symlinks
32042         * lib/utimens.c (lutimensat_works_really): New variable.
32043         (fdutimens, lutimens): Use it to manage kernels that support
32044         nanosecond times on files, but not on symlinks.
32045         Reported by OndÅ™ej Vašík.
32046
32047         utimes: fix configure grammar
32048         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
32049
32050 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
32051
32052         regex: Fix fastmap for multibyte character ranges.
32053         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
32054         characters when a multibyte character range is included.
32055
32056 2009-11-22  Andy Wingo  <wingo@pobox.com>
32057
32058         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
32059         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
32060
32061 2009-11-24  Bruno Haible  <bruno@clisp.org>
32062
32063         doc: Most *_l functions exist in MacOS X 10.5.
32064         * doc/posix-functions/duplocale.texi: Update platforms list.
32065         * doc/posix-functions/freelocale.texi: Likewise.
32066         * doc/posix-functions/newlocale.texi: Likewise.
32067         * doc/posix-functions/uselocale.texi: Likewise.
32068         * doc/posix-functions/isalnum_l.texi: Likewise.
32069         * doc/posix-functions/isalpha_l.texi: Likewise.
32070         * doc/posix-functions/isblank_l.texi: Likewise.
32071         * doc/posix-functions/iscntrl_l.texi: Likewise.
32072         * doc/posix-functions/isdigit_l.texi: Likewise.
32073         * doc/posix-functions/isgraph_l.texi: Likewise.
32074         * doc/posix-functions/islower_l.texi: Likewise.
32075         * doc/posix-functions/isprint_l.texi: Likewise.
32076         * doc/posix-functions/ispunct_l.texi: Likewise.
32077         * doc/posix-functions/isspace_l.texi: Likewise.
32078         * doc/posix-functions/isupper_l.texi: Likewise.
32079         * doc/posix-functions/iswalnum_l.texi: Likewise.
32080         * doc/posix-functions/iswalpha_l.texi: Likewise.
32081         * doc/posix-functions/iswblank_l.texi: Likewise.
32082         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32083         * doc/posix-functions/iswctype_l.texi: Likewise.
32084         * doc/posix-functions/iswdigit_l.texi: Likewise.
32085         * doc/posix-functions/iswgraph_l.texi: Likewise.
32086         * doc/posix-functions/iswlower_l.texi: Likewise.
32087         * doc/posix-functions/iswprint_l.texi: Likewise.
32088         * doc/posix-functions/iswpunct_l.texi: Likewise.
32089         * doc/posix-functions/iswspace_l.texi: Likewise.
32090         * doc/posix-functions/iswupper_l.texi: Likewise.
32091         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32092         * doc/posix-functions/isxdigit_l.texi: Likewise.
32093         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
32094         * doc/posix-functions/strcasecmp_l.texi: Likewise.
32095         * doc/posix-functions/strcoll_l.texi: Likewise.
32096         * doc/posix-functions/strfmon_l.texi: Likewise.
32097         * doc/posix-functions/strftime_l.texi: Likewise.
32098         * doc/posix-functions/strncasecmp_l.texi: Likewise.
32099         * doc/posix-functions/strxfrm_l.texi: Likewise.
32100         * doc/posix-functions/tolower_l.texi: Likewise.
32101         * doc/posix-functions/toupper_l.texi: Likewise.
32102         * doc/posix-functions/towctrans_l.texi: Likewise.
32103         * doc/posix-functions/towlower_l.texi: Likewise.
32104         * doc/posix-functions/towupper_l.texi: Likewise.
32105         * doc/posix-functions/wcscoll_l.texi: Likewise.
32106         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32107         * doc/posix-functions/wctrans_l.texi: Likewise.
32108         * doc/posix-functions/wctype_l.texi: Likewise.
32109         * doc/glibc-functions/strptime_l.texi: Likewise.
32110         * doc/glibc-functions/strtod_l.texi: Likewise.
32111         * doc/glibc-functions/strtof_l.texi: Likewise.
32112         * doc/glibc-functions/strtol_l.texi: Likewise.
32113         * doc/glibc-functions/strtold_l.texi: Likewise.
32114         * doc/glibc-functions/strtoll_l.texi: Likewise.
32115         * doc/glibc-functions/strtoul_l.texi: Likewise.
32116         * doc/glibc-functions/strtoull_l.texi: Likewise.
32117         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32118         * doc/glibc-functions/wcstod_l.texi: Likewise.
32119         * doc/glibc-functions/wcstof_l.texi: Likewise.
32120         * doc/glibc-functions/wcstol_l.texi: Likewise.
32121         * doc/glibc-functions/wcstold_l.texi: Likewise.
32122         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32123         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32124         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32125
32126 2009-11-24  Bruno Haible  <bruno@clisp.org>
32127
32128         duplocale: Fix logic bug.
32129         * lib/duplocale.c: Don't include <langinfo.h>.
32130         (_NL_LOCALE_NAME): Remove macro.
32131         (rpl_duplocale): Use setlocale instead of nl_langinfo.
32132         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
32133
32134 2009-11-23  Jim Meyering  <meyering@redhat.com>
32135
32136         test-update-copyright: don't hard-code /usr/bin/perl
32137         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
32138         perl to print the current year.  Gilles Espinasse reported that
32139         the replaced use of perl was hard-coded as /usr/bin/perl.
32140
32141 2009-11-23  Bruno Haible  <bruno@clisp.org>
32142
32143         duplocale: Add support for glibc 2.3.x.
32144         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
32145
32146 2009-11-22  Bruno Haible  <bruno@clisp.org>
32147
32148         vasnprintf: Tiny optimization.
32149         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
32150         MacOS X.
32151
32152 2009-11-22  Bruno Haible  <bruno@clisp.org>
32153
32154         Tests for module 'duplocale'.
32155         * modules/duplocale-tests: New file.
32156         * tests/test-duplocale.c: New file.
32157
32158         New module 'duplocale'.
32159         * m4/duplocale.m4: New file.
32160         * lib/locale.in.h (duplocale): New declaration.
32161         * lib/duplocale.c: New file.
32162         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
32163         gl_LOCALE_H_DEFAULTS): New macros.
32164         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
32165         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
32166         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
32167         REPLACE_DUPLOCALE.
32168         * modules/duplocale: New file.
32169         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
32170
32171 2009-11-22  Bruno Haible  <bruno@clisp.org>
32172
32173         * modules/locale-tests (configure.ac): Test for newlocale function.
32174         * tests/test-locale.c: When the system has extended locale functions,
32175         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
32176
32177         locale: Make locale_t available when possible.
32178         * lib/locale.in.h: Include <xlocale.h> when it exists.
32179         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
32180         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
32181         * modules/locale (Depends-on): Add extensions.
32182         (Makefile.am): Also substitute HAVE_XLOCALE_H.
32183         * doc/posix-headers/locale.texi: Document the problem with locale_t.
32184
32185 2009-11-22  Bruno Haible  <bruno@clisp.org>
32186
32187         Add comments.
32188         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
32189         invocation.
32190         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
32191         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32192         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32193
32194 2009-11-22  Bruno Haible  <bruno@clisp.org>
32195
32196         error: account for the possibility of freopen (stdout).
32197         * lib/error.c: Include <unistd.h>.
32198         (flush_stdout): New function, extracted from error and error_at_line.
32199         Determine stdout's fd dynamically.
32200         (error, error_at_line): Invoke flush_stdout.
32201         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
32202         * modules/error (Depends-on): Add unistd.
32203
32204 2009-11-22  Bruno Haible  <bruno@clisp.org>
32205
32206         diffseq: Add comment.
32207         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
32208
32209 2009-11-22  Jim Meyering  <meyering@redhat.com>
32210
32211         c-stack: avoid defining an unused static function
32212         * lib/c-stack.c (find_stack_direction): Do not define this function
32213         when it will not be used.
32214
32215         diffseq: avoid spurious gcc warnings
32216         * lib/diffseq.h (IF_LINT2): Define.
32217         (compareseq): Use it to initialize two members of "part".
32218         This avoids two used-uninitialized warnings.
32219
32220 2009-11-21  Jim Meyering  <meyering@redhat.com>
32221
32222         c-stack: avoid "ignoring return value of `write'" warning
32223         * lib/c-stack.c: Include "ignore-value.h".
32224         (die): Explicitly ignore each write return value.
32225         * modules/c-stack (Depends-on): Add ignore-value.
32226
32227 2009-11-21  Bruno Haible  <bruno@clisp.org>
32228
32229         diffseq: reduce scope of variable 'best'.
32230         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
32231         variable, earlier used for two different purposes.
32232
32233 2009-11-21  Jim Meyering  <meyering@redhat.com>
32234
32235         diffseq: remove useless assignment to "best"
32236         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
32237         assignment.  At that point "best" is already guaranteed to be zero.
32238
32239 2009-11-20  Eric Blake  <ebb9@byu.net>
32240
32241         build: mention ftp redirector in release announcements
32242         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
32243         values that used to come from cfg.mk; mention FTP redirect URL.
32244         * build-aux/announce-gen: Mention the mirror list.
32245         Suggested by Karl Berry.
32246
32247         nanosleep: improve port to mingw
32248         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
32249         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
32250         LIB_NANOSLEEP, but only when needed.
32251         * modules/select (Link): Document LIBSOCKET.
32252         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
32253         enough.
32254
32255         nanosleep: work around cygwin bug
32256         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
32257         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
32258         bug.
32259         (getnow): Delete, not needed.
32260         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
32261         LIB_CLOCK_GETTIME.
32262         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
32263         clock-time, gettime.
32264         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
32265         bug.
32266         * modules/nanosleep-tests: New test.
32267         * tests/test-nanosleep.c: New file.
32268
32269         sleep: work around cygwin bug
32270         * lib/sleep.c (rpl_sleep): Work around the bug.
32271         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
32272         (gl_PREREQ_SLEEP): Delete unused macro.
32273         * modules/sleep (Depends-on): Add verify.
32274         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32275         * modules/unistd (Makefile.am): Substitute witness.
32276         * lib/unistd.in.h (sleep): Update prototype.
32277         * doc/posix-functions/sleep.texi (sleep): Document the bug.
32278         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
32279         * modules/sleep-tests (Depends-on): Check for alarm.
32280
32281 2009-11-20  Jim Meyering  <meyering@redhat.com>
32282
32283         maint.mk: improve sc_prohibit_magic_number_exit
32284         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
32285         so it does not match uses like System.exit(1).
32286         Add comments showing how to correct all offenders.
32287
32288 2009-11-19  Eric Blake  <ebb9@byu.net>
32289
32290         xalloc-die-tests: add missing library
32291         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
32292
32293         test-xvasprintf: silence compiler warnings
32294         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
32295         empty string from gcc.
32296
32297 2009-11-19  Jim Meyering  <meyering@redhat.com>
32298
32299         xfreopen: new module, from coreutils
32300         * modules/xfreopen: New module.
32301         * lib/xfreopen.c: New file.
32302         * lib/xfreopen.h: New file.
32303         * MODULES.html.sh (File stream based Input/Output"): Add it.
32304
32305 2009-11-19  Eric Blake  <ebb9@byu.net>
32306
32307         manywarnings: depend on warnings
32308         * modules/manywarnings (Depends-on): Add warnings.
32309
32310         build: avoid compiler warnings
32311         * lib/select.c (rpl_select): Delete unused variable.
32312         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
32313
32314 2009-11-18  Eric Blake  <ebb9@byu.net>
32315
32316         tests: avoid false negative with --with-packager
32317         * tests/test-version-etc.sh: Discard packager information.
32318         * tests/test-argp-version-etc-1.sh: Likewise.
32319         Reported by Mike Frysinger.
32320
32321         utimens: fix regression on Solaris
32322         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
32323         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
32324         can only change fd timestamps via futimesat.  Instead, use an
32325         additional witness macro to avoid BSD bug.
32326         Reported by Jim Meyering.
32327
32328 2009-11-17  Eric Blake  <ebb9@byu.net>
32329
32330         usleep: use it to simplify tests
32331         * modules/stat-time-tests (Depends-on): Add usleep.
32332         (configure.ac): Drop usleep check.
32333         * modules/chown-tests (Depends-on, configure.ac): Likewise.
32334         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
32335         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
32336         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
32337         * modules/openat-tests (Depends-on, configure.ac): Likewise.
32338         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
32339         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
32340         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
32341         Likewise.
32342         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
32343         * tests/test-lchown.h (nap): Likewise.
32344         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
32345         * tests/test-stat-time.c (nap): Likewise.
32346         * tests/test-utimens-common.h (nap): Update comments.
32347
32348         usleep: new module
32349         * modules/usleep: New file.
32350         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
32351         * lib/usleep.c (usleep): Likewise.
32352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32353         * modules/unistd (Makefile.am): Substitute witnesses.
32354         * lib/unistd.in.h (usleep): Add declaration.
32355         * doc/pastposix-functions/usleep.texi (usleep): Document this.
32356         * MODULES.html.sh (Date and time): Likewise.
32357         * modules/usleep-tests (Depends-on): New test.
32358         * tests/test-usleep.c: New file.
32359
32360         chown: work around OpenBSD bug
32361         * lib/chown.c (rpl_chown): Work around the bug.
32362         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
32363         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
32364         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
32365         * modules/chown (Depends-on): Add stdbool.
32366         * modules/lchown (Depends-on): Likewise.
32367         * doc/posix-functions/chown.texi (chown): Document the bug.
32368         * doc/posix-functions/lchown.texi (lchown): Likewise.
32369         * tests/test-lchown.h (test_chown): Relax test.
32370
32371         mkstemp: avoid conflict with C++ keyword template
32372         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
32373         * lib/mkostemp.c (mkostemp): Likewise.
32374         * lib/mkostemps.c (mkostemps): Likewise.
32375         * lib/mkstemp.c (mkstemp): Likewise.
32376         * lib/mkstemps.c (mkstemps): Likewise.
32377
32378         xalloc-die-tests: optimize
32379         * tests/test-xalloc-die.sh: Reduce number of processes.
32380
32381 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32382
32383         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32384         patch from ludo@gnu.org (Ludovic Courtès).
32385
32386 2009-11-17  Jim Meyering  <meyering@redhat.com>
32387
32388         version-etc: use proper license string
32389         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32390         * modules/version-etc-fsf: Likewise.
32391
32392 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32393
32394         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32395         printed to stdout.  Deal with EOL differences.
32396
32397 2009-11-17  Eric Blake  <ebb9@byu.net>
32398
32399         unsetenv: work around Solaris bug
32400         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32401         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32402         Reported by Jim Meyering.
32403
32404         vasnprintf: avoid compiler warnings
32405         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32406         variables.
32407         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32408
32409 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32410
32411         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32412         settings since xalloc-die is no longer the self test,
32413         xalloc-die.sh is.
32414
32415 2009-11-17  Jim Meyering  <meyering@redhat.com>
32416
32417         test-xalloc-die.sh: make the code agree with the commit log
32418         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32419         at the end, just in case you happen to have a test-xalloc-die
32420         program in some other PATH directory.
32421
32422         test-xalloc-die.sh: fix a portability bug
32423         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32424         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32425         Otherwise, argv[0] (as often seen in diagnostics) would be too
32426         system-dependent, sometimes with, and sometimes without the leading "./".
32427
32428         version-etc-fsf: relax license to LGPLv3+
32429         * modules/version-etc-fsf (License): Relax license.
32430
32431 2009-11-16  Eric Blake  <ebb9@byu.net>
32432
32433         xalloc-die-tests: avoid printing null pointer
32434         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32435         shell script.
32436         * tests/test-xalloc-die.c (program_name): Declare.
32437         * tests/test-xalloc-die.sh (tmpfiles): New file.
32438
32439         setenv, unsetenv: work around various bugs
32440         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32441         (setenv) [HAVE_SETENV]: Work around bugs.
32442         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32443         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32444         for bugs.
32445         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32446         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32448         * modules/stdlib (Makefile.am): Update substitutions.
32449         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32450         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32451         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32452         * modules/setenv-tests: New test.
32453         * modules/unsetenv-tests: Likewise.
32454         * tests/test-setenv.c: New file.
32455         * tests/test-unsetenv.c: Likewise.
32456
32457 2009-11-16  Jim Meyering  <meyering@redhat.com>
32458
32459         version-etc: relax license to LGPLv3+
32460         * modules/version-etc (License): Relax license.
32461
32462         better AC_REQUIRE expanded-before-required-warning avoidance
32463         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32464         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32465         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32466         which is no longer needed.
32467
32468 2009-11-16  Eric Blake  <ebb9@byu.net>
32469
32470         test-freading: clean up temporary file
32471         * tests/test-freading.c (main): Remove file on success, and use
32472         ASSERT more liberally.
32473         Reported by Jim Meyering.
32474
32475 2009-11-16  Jim Meyering  <meyering@redhat.com>
32476
32477         avoid new AC_REQUIRE expanded-before-required warnings
32478         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32479         merely using it.
32480         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32481         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32482
32483 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32484
32485         * tests/test-xalloc-die.c: New file.
32486         * modules/xalloc-die-tests: New file.
32487         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32488         XFAIL_TESTS so it can be appended by modules.
32489
32490 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32491
32492         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32493         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32494
32495 2009-11-14  Eric Blake  <ebb9@byu.net>
32496
32497         fnmatch: avoid compiler warning
32498         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32499         to silence compiler warning about mismatch signedness in ?:.
32500         Reported by Robert Millan.
32501
32502         intprops: add double-inclusion guard
32503         * lib/intprops.h: Allow idempotent includes.
32504         Suggested by Bruce Korb.
32505
32506         openat: detect Solaris fchownat bug
32507         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32508         penalizing glibc chownat when only lchownat is broken.
32509         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32510         trailing slash bugs.
32511         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32512         * modules/openat-tests (Files): Include more files.
32513         (Depends-on): Add mgetgroups, sleep, stat-time.
32514         (configure.ac): Add additional checks.
32515         (Makefile.am): Build new test.
32516         * tests/test-fchownat.c: New file.
32517
32518         lchown: detect Solaris and FreeBSD bug
32519         * lib/lchown.c (rpl_lchown): Work around bug.
32520         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32521         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32522         * modules/unistd (Makefile.am): Populate it.
32523         * lib/unistd.in.h (lchown): Update declaration.
32524         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32525         * modules/lchown-tests: New file.
32526         * tests/test-lchown.h (test_lchown): Likewise.
32527         * tests/test-lchown.c (main): Likewise.
32528
32529         chown: detect Solaris and FreeBSD bug
32530         * lib/chown.c (rpl_chown): Work around bug.
32531         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32532         (gl_PREREQ_CHOWN): Delete.
32533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32534         * modules/unistd (Makefile.am): Populate it.
32535         * lib/unistd.in.h (chown): Update declaration.
32536         * lib/lchown.c (chown): Update client.
32537         * modules/lchown (Depends-on): Add lstat.
32538         * doc/posix-functions/chown.texi (chown): Document the bug.
32539         * doc/posix-functions/getgroups.texi (getgroups): Document
32540         getgroups pitfall.
32541         * modules/chown-tests: New file.
32542         * tests/test-chown.h (test_chown): Likewise.
32543         * tests/test-chown.c (main): Likewise.
32544
32545 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32546
32547         gnulib-tool: correctly detect absence of m4 directories
32548         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32549
32550 2009-11-14  Jim Meyering  <meyering@redhat.com>
32551
32552         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32553         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32554
32555 2009-11-14  John W. Eaton  <jwe@gnu.org>
32556
32557         strftime.h: wrap funtion declaration in extern "C" block
32558         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32559
32560 2009-11-13  Eric Blake  <ebb9@byu.net>
32561
32562         getgroups: avoid compiler warning
32563         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32564
32565         getgroups: work around FreeBSD bug
32566         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32567         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32568         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32569         * tests/test-getgroups.c (main): Fix buffer overrun.
32570
32571         getgroups: avoid compilation failure
32572         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32573         * modules/getgroups (Depends-on): Add stdint.
32574
32575 2009-11-13  Jim Meyering  <meyering@redhat.com>
32576
32577         test-getgroups: avoid compilation failure
32578         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32579
32580 2009-11-13  Eric Blake  <ebb9@byu.net>
32581
32582         mgetgroups: new module, taken from coreutils
32583         * modules/mgetgroups: New file.
32584         * lib/mgetgroups.h: Likewise.
32585         * lib/mgetgroups.c (mgetgroups): Likewise.
32586         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32587         * MODULES.html.sh (Users and groups): Mention it.
32588
32589         getgroups: don't expose GETGROUPS_T to user
32590         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32591         an element at a time if GETGROUPS_T is wrong size.
32592         * lib/getugroups.h (getugroups): Change signature.
32593         * lib/unistd.in.h (getgroups): Likewise.
32594         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32595         signature needs fixing.
32596         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32597         AC_TYPE_GETGROUPS.
32598         * modules/group-member (Depends-on): Add getgroups.
32599         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32600         (group_member): Rely on getgroups replacement.
32601         * lib/getugroups.c (getugroups): Use gid_t.
32602         * tests/test-getgroups.c (main): Likewise.
32603         * NEWS: Mention the signature change.
32604         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32605         problem with signature.
32606         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32607         GETGROUPS_T is still useful for setgroups.
32608
32609         getgroups, getugroups: provide stubs for mingw
32610         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32611         * lib/getugroups.c (getugroups): Likewise.
32612         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32613         function.  Modernize replacement scheme.
32614         (gl_PREREQ_GETGROUPS): Delete.
32615         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32616         * modules/getgroups (configure.ac): Declare witness.
32617         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32618         * modules/unistd (Depends-on): Substitute witness.
32619         * lib/unistd.in.h (getgroups): Declare replacement.
32620
32621         getgroups: avoid calling exit
32622         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32623         drop xalloc.
32624         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32625         dependencies.
32626         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32627         exiting, in the rare case of malloc failure.
32628
32629         getgroups: fix logic error
32630         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32631         has more than 20 groups.
32632         * modules/getgroups-tests: New test.
32633         * tests/test-getgroups.c: New file.
32634
32635 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32636
32637         * tests/test-base64.c: Improve.
32638
32639 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32640
32641         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32642         Blake <ebb9@byu.net>.
32643
32644 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32645
32646         * tests/test-xvasprintf.c: Add %s%s related checks.
32647
32648 2009-11-12  Eric Blake  <ebb9@byu.net>
32649
32650         version-etc: match standards.texi style
32651         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32652         and use <> only for URLs.
32653
32654 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32655
32656         fts: do not fail on a submount during traversal
32657         * lib/fts.c (fts_build): Read the stat info again after opening
32658         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32659         Original report at http://bugzilla.redhat.com/501848.
32660
32661 2009-11-12  Jim Meyering  <meyering@redhat.com>
32662
32663         bootstrap: sync from coreutils
32664         * build-aux/bootstrap (bootstrap_epilogue): New function.
32665         Use git_modules_config in one more place.  This make bootstrap's
32666         --gnulib-srcdir option more useful for testing.
32667
32668         bootstrap: generalize autoheader check
32669         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32670         AC_CONFIG_HEADERS.
32671
32672 2009-11-11  Eric Blake  <ebb9@byu.net>
32673
32674         mkfifoat: use new modules for Solaris and BSD bugs
32675         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32676         * lib/mkfifoat.c (mknodat): Split...
32677         * lib/mknodat.c (mknodat): ...into new file.
32678         * modules/mkfifoat (Files): Ship new file.
32679         (Depends-on): Add mkfifo, mknod.
32680         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32681         (Depends-on): Add symlink.
32682         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32683         redundant with test_mkfifo.h.
32684         (do_mkfifoat, do_mknodat): New helpers.
32685
32686         mknod: new module
32687         * modules/mknod: New file.
32688         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32689         * lib/mknod.c (mknod): Likewise.
32690         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32691         defaults.
32692         * modules/sys_stat (Makefile.am): Substitute them.
32693         * lib/sys_stat.in.h (mknod): Declare replacement.
32694         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32695         Document it.
32696         * doc/posix-functions/mknod.texi (mknod): Likewise.
32697         * modules/mknod-tests: New test.
32698         * tests/test-mknod.c: Likewise.
32699
32700         mkfifo: new module
32701         * modules/mkfifo: New file.
32702         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32703         * lib/mkfifo.c (mkfifo): Likewise.
32704         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32705         defaults.
32706         * modules/sys_stat (Makefile.am): Substitute them.
32707         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32708         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32709         Document it.
32710         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32711         * modules/mkfifo-tests: New test.
32712         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32713         from test-mkfifoat.c.
32714         * tests/test-mkfifo.c: New file.
32715
32716         readlink: detect FreeBSD bug
32717         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32718         slash on symlink.
32719         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32720         * tests/test-readlink.h (test_readlink): Enhance test.
32721
32722         symlink: detect FreeBSD bug
32723         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32724         slash on symlink.
32725         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32726         * tests/test-symlink.h (test_symlink): Enhance test.
32727
32728 2009-11-10  Eric Blake  <ebb9@byu.net>
32729
32730         link: detect FreeBSD bug
32731         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32732         symlink.
32733         * doc/posix-functions/link.texi (link): Document the bug.
32734         * tests/test-link.h (test_link): Enhance test.
32735         * tests/test-linkat.c (main): Update caller.
32736
32737         unlink, remove: detect FreeBSD bug
32738         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32739         slash on symlink.
32740         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32741         * doc/posix-functions/remove.texi (remove): Likewise.
32742         * tests/test-unlink.h (test_unlink): Enhance test.
32743         * tests/test-remove.c (main): Likewise.
32744
32745 2009-11-09  Eric Blake  <ebb9@byu.net>
32746
32747         rename: detect FreeBSD bug
32748         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32749         slash on symlink.
32750         * modules/renameat-tests (Depends-on): Add filenamecat.
32751         * tests/test-rename.h (test_rename): Allow one more errno.
32752         * tests/test-renameat.c (main): Likewise.
32753         * doc/posix-functions/rename.texi (rename): Document the bug.
32754
32755         open: detect FreeBSD bug
32756         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32757         symlink.
32758         * doc/posix-functions/open.texi (open): Document the bug.
32759         * doc/posix-functions/utimes.texi (utimes): Likewise.
32760         * tests/test-open.h (test_open): Add parameters, and test symlink
32761         handling.
32762         * tests/test-open.c (main): Adjust caller.
32763         * tests/test-fcntl-safer.c (main): Likewise.
32764         * modules/open-tests (Depends-on): Add stdbool, symlink.
32765         * modules/fcntl-safer-tests (Depends-on): Likewise.
32766         * tests/test-openat.c (main): Add test-open tests.
32767
32768         stat: detect FreeBSD bug
32769         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32770         symlink.
32771         * doc/posix-functions/stat.texi (stat): Document the bug.
32772         * tests/test-stat.h (test_stat_func): Add argument.
32773         * tests/test-stat.c (main): Adjust caller.
32774         * tests/test-fstatat.c (main): Likewise.
32775         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32776         Reported by Jim Meyering.
32777
32778 2009-11-09  James Youngman  <jay@gnu.org>
32779
32780         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32781         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32782
32783 2009-11-08  Jim Meyering  <meyering@redhat.com>
32784
32785         utimens: remove invalid futimesat call
32786         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32787         It used the file descriptor of the target file as the DIR_FD
32788         parameter and NULL as the file name.  That caused failure with
32789         errno == EFAULT on FreeBSD-8.0-rc2
32790
32791 2009-11-07  Eric Blake  <ebb9@byu.net>
32792
32793         fflush, freadseek: use fseeko, not fseek
32794         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
32795         (clear_ungetc_buffer): Avoid potential problems on large files.
32796         * lib/freadseek.c (freadseek): Likewise.
32797         * modules/freadseek (Depends-on): Add fseeko.
32798         * modules/fseek (configure.ac): Set a witness.
32799         * tests/test-fflush.c (main): Use fseeko.
32800         * tests/test-fpurge.c (fseek): Disable link warning.
32801         * tests/test-freadable.c (fseek): Likewise.
32802         * tests/test-freading.c (fseek): Likewise.
32803         * tests/test-fseeko.c (fseek): Likewise.
32804         * tests/test-ftell.c (fseek): Likewise.
32805         * tests/test-ftello.c (fseek): Likewise.
32806         * tests/test-fwritable.c (fseek): Likewise.
32807         * tests/test-fwriting.c (fseek): Likewise.
32808
32809 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32810
32811         * modules/memchr (Depends-on): Drop getpagesize dependency.
32812
32813 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32814
32815         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
32816         Reported by Ludovic Courtès.
32817         * build-aux/pmccabe2html: Improve example usage.
32818         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
32819
32820 2009-11-06  Jim Meyering  <meyering@redhat.com>
32821
32822         do-release-commit-and-tag: New module.
32823         Automate the release-commit and tag process.
32824         * build-aux/do-release-commit-and-tag: New script, from coreutils.
32825         * modules/do-release-commit-and-tag: New file.
32826         * MODULES.html.sh (Support for maintaining and releasing): Add it.
32827
32828 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32829
32830         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
32831         because test-select.c uses inet_pton.
32832
32833 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32834
32835         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
32836         GETADDRINFO_LIB.  Bump serial number.
32837         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
32838         Suggested by Eric Blake <ebb9@byu.net>.
32839
32840 2009-11-05  Eric Blake  <ebb9@byu.net>
32841
32842         strtod: detect darwin bug
32843         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
32844         Reported by Leo Davis.
32845
32846         freopen-safer: new module
32847         * modules/freopen-safer: New module.
32848         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
32849         * lib/freopen-safer.c (freopen_safer): New file.
32850         * lib/stdio-safer.h (freopen_safer): New declaration.
32851         * lib/stdio--.h (freopen): New override.
32852         * MODULES.html.sh (File stream based Input/Output): Mention it.
32853         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
32854         freopen-safer module.
32855         * doc/posix-functions/stderr.texi (stderr): Likewise.
32856         * doc/posix-functions/stdin.texi (stdin): Likewise.
32857         * doc/posix-functions/stdout.texi (stdout): Likewise.
32858         * modules/freopen-safer-tests: New test.
32859         * tests/test-reopen-safer.c: New file.
32860
32861 2009-11-05  Jim Meyering  <meyering@redhat.com>
32862
32863         maint.mk: Prohibit inclusion of "close-stream.h" without use.
32864         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32865
32866 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32867
32868         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
32869
32870 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32871
32872         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
32873
32874 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32875
32876         Fix link error.
32877         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32878         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32879
32880 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32881
32882         * tests/test-func.c: Also test value of __func__.
32883
32884 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32885
32886         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
32887         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
32888
32889 2009-11-05  Bruno Haible  <bruno@clisp.org>
32890
32891         Fix link error.
32892         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32893         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32894         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
32895
32896 2009-11-05  Bruno Haible  <bruno@clisp.org>
32897
32898         Tests for module 'inet_pton'.
32899         * modules/inet_pton-tests: New file.
32900         * tests/test-inet_pton.c: New file.
32901
32902 2009-11-05  Bruno Haible  <bruno@clisp.org>
32903
32904         Tests for module 'inet_ntop'.
32905         * modules/inet_ntop-tests: New file.
32906         * tests/test-inet_ntop.c: New file.
32907
32908 2009-11-04  Eric Blake  <ebb9@byu.net>
32909
32910         stdlib-safer: wrap all mkstemp variants
32911         * modules/mkostemp (configure.ac): Set witness.
32912         * modules/mkostemps (configure.ac): Likewise.
32913         * modules/mkstemps (configure.ac): Likewise.
32914         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
32915         (mkstemps_safer): Wrap more functions.
32916         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
32917         wrapping.
32918         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
32919         (mkstemps_safer): Implement the wrappers.
32920
32921         mkstemps, mkostemps: new modules
32922         * modules/mkostemps: New module.
32923         * modules/mkstemps: Likewise.
32924         * lib/mkostemps.c (mkostemps): New file.
32925         * lib/mkstemps.c (mkstemps): Likewise.
32926         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
32927         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
32928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
32929         * modules/stdlib (Makefile.am): Substitute them.
32930         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
32931         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
32932         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
32933         * doc/gnulib.texi (Glibc stdlib.h): Include them.
32934         * MODULES.html.sh (File system functions): Mention them.
32935
32936         tempname: resync from glibc
32937         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
32938         same values for __GT_FILE as glibc.  Abort even when assertions
32939         are disabled.
32940         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
32941         match its value otherwise.  Allow idempotent inclusion.
32942         * lib/mkdtemp.c (mkdtemp): Adjust caller.
32943         * lib/mkostemp.c (mkostemp): Likewise.
32944         * lib/mkstemp.c (mkstemp): Likewise.
32945         * lib/tmpfile.c (tmpfile): Likewise.
32946         * NEWS: Document this.
32947
32948         utimens: fix use of futimens on older Linux
32949         * lib/utimens.c (fdutimens): Use updated, rather than original,
32950         timespec to avoid bug in older Linux kernel.
32951         Reported by Simon Josefsson.
32952
32953 2009-11-04  Bruno Haible  <bruno@clisp.org>
32954
32955         Make num_processors more flexible and consistent.
32956         * lib/nproc.h (enum nproc_query): New type.
32957         (num_processors): Add a 'query' argument.
32958         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
32959         (num_processors): Add a 'query' argument. Test the value of the
32960         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
32961         mingw, count the number of CPUs available for the current process.
32962         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
32963         Check for sched_getaffinity and sched_getaffinity_np.
32964         * modules/nproc (Depends-on): Add c-ctype, extensions.
32965         * NEWS: Mention the change.
32966
32967 2009-11-03  Bruno Haible  <bruno@clisp.org>
32968
32969         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
32970
32971 2009-11-03  Jim Meyering  <meyering@redhat.com>
32972
32973         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
32974         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
32975         if it is defined.
32976
32977 2009-11-02  Eric Blake  <ebb9@byu.net>
32978
32979         mktime, timegm: share common declaration
32980         * lib/mktime-internal.h: New file.
32981         * lib/mktime.c: Use it rather than open-coding a declaration.
32982         * lib/timegm.c: Likewise.
32983         * modules/mktime (Files): Ship it.
32984         * modules/timegm (Files): Likewise.
32985         Suggested by Bruno Haible.
32986
32987         test-update-copyright: update test to match script changes
32988         * tests/test-update-copyright.sh: Avoid hard-coding perl
32989         location.  Don't update *.bak created by earlier runs.
32990
32991 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32992             Simon Josefsson  <simon@josefsson.org>
32993             Bruno Haible  <bruno@clisp.org>
32994
32995         Fix link error on Solaris 8.
32996         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
32997         also in libnsl. Define also INET_PTON_LIB.
32998         * modules/inet_pton (Link): New section.
32999
33000 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33001             Bruno Haible  <bruno@clisp.org>
33002
33003         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
33004         * modules/inet_ntop (Link): New section.
33005         Reported by Boyan Kasarov <bkasarov@gmail.com>.
33006
33007 2009-11-02  Eric Blake  <ebb9@byu.net>
33008
33009         maint: avoid compiler warnings in m4 macros
33010         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
33011         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
33012
33013 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33014
33015         * m4/pmccabe2html.m4: Remove file.
33016         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
33017         function.  Change maintainer.
33018         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
33019         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
33020         Courtès).
33021
33022 2009-10-31  Eric Blake  <ebb9@byu.net>
33023
33024         fseeko: fix m4 regression
33025         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
33026         regression from 2009-10-27.
33027         Reported by Ralf Wildenhues.
33028
33029 2009-10-31  Jim Meyering  <meyering@redhat.com>
33030
33031         inttostr: aesthetics and improved (compile-time) safety
33032         Define inttype_is_signed rather than inttype_is_unsigned,
33033         since the sole use is via "#if inttype_is_signed".
33034         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
33035         inttype_is_unsigned.
33036         * lib/offtostr.c (inttype_is_signed): Likewise.
33037         * lib/uinttostr.c (inttype_is_signed): Likewise.
33038         * lib/umaxtostr.c (inttype_is_signed): Likewise.
33039         * lib/inttostr.c (inttostr): Use verify to cross-check the
33040         inttype_is_signed value and the signedness of the actual type.
33041         * modules/inttostr (Depends-on): Add verify.
33042
33043 2009-10-30  Eric Blake  <ebb9@byu.net>
33044
33045         build: avoid compiler warnings
33046         * lib/fchmodat.c (lchmod): Mark unused variables.
33047         * lib/getopt.c (_getopt_initialize): Likewise.
33048         * lib/mktime.c (__mktime_internal): Provide prototype.
33049         * lib/inttostr.c (inttostr): Avoid compiler warning even with
33050         older gcc that do not understand #pragma GCC diagnostic.
33051         * lib/uinttostr.c (inttype_is_unsigned): Define.
33052         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
33053
33054 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33055
33056         stat: fix compilation on AIX
33057         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
33058         only see struct stat64.
33059
33060 2009-10-30  Eric Blake  <ebb9@byu.net>
33061
33062         exclude: make more robust
33063         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
33064         rather than masking a coding bug.
33065         Suggested by Bruno Haible.
33066
33067 2009-10-30  Jim Meyering  <meyering@redhat.com>
33068
33069         perl scripts: remove #!/usr/bin/perl in favor of more portable...
33070         Rather than putting #!/usr/bin/perl on the first line,
33071         start with a variant of what's recommended by "man perlrun" that
33072         invokes the first "perl" program from your shell's search path.
33073         * build-aux/gitlog-to-changelog: Replace #!... as above.
33074         Add a "Local Variables" perl mode setting.
33075         Prompted by a patch from Ludovic Courtès.
33076         Improved by Eric Blake.
33077         * build-aux/useless-if-before-free: Likewise.
33078         * build-aux/announce-gen: Likewise.
33079         * build-aux/update-copyright: Likewise.
33080
33081 2009-10-29  Eric Blake  <ebb9@byu.net>
33082
33083         filenamecat-lgpl: adjust clients
33084         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
33085         filenamecat.
33086         * modules/renameat (Depends-on): Likewise.
33087
33088         filenamecat: split into filenamecat-lgpl
33089         * modules/filenamecat-lgpl: New module.
33090         * modules/filenamecat (Files): Move library-safe files into
33091         filenamecat-lgpl.
33092         (Depends-on): Add filenamecat-lgpl.
33093         (configure.ac): Declare witness.
33094         * lib/filenamecat.h (file_name_concat): Only declare when using
33095         GPL module.
33096         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
33097         Move...
33098         * lib/filenamecat-lgpl.c: ...into new file.
33099         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
33100         (gl_FILE_NAME_CONCAT): Use it.
33101         * MODULES.html.sh (File system functions): Mention new module.
33102
33103         argp: avoid memory leak
33104         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
33105         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
33106         base_name, since the latter malloc()s and can call exit().
33107         Leak introduced 2006-07-03.
33108
33109         dirname-lgpl: adjust clients that don't need full dirname
33110         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
33111         * modules/filenamecat (Depends-on): Likewise.
33112         * modules/linkat (Depends-on): Likewise.
33113         * modules/mkancesdirs (Depends-on): Likewise.
33114         * modules/mkdir (Depends-on): Likewise.
33115         * modules/openat (Depends-on): Likewise.
33116         * modules/savewd (Depends-on): Likewise.
33117         * modules/rename (Depends-on): Likewise.
33118         (License): Relax license.
33119         * modules/mkdir-tests (Depends-on): Drop progname.
33120         (Makefile.am): Delete unneeded LDADD.
33121         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
33122
33123         dirname: split into dirname-lgpl
33124         * modules/dirname-lgpl: New module.
33125         * modules/dirname (Files): Move library-safe files into
33126         dirname-lgpl.
33127         (Depends-on): Add dirname-lgpl.
33128         (configure.ac): Declare witness.
33129         * modules/double-slash-root (License): Relax license.
33130         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
33131         module.
33132         * lib/dirname.c (dir_len, mdir_name): Move...
33133         * lib/dirname-lgpl.c: ...into new file.
33134         * lib/basename.c (last_component, base_len): Move...
33135         * lib/basename-lgpl.c: ...into new file.
33136         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
33137         (gl_DIRNAME): Use it.
33138         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
33139         Mention new module.
33140         * modules/dirname-tests (Depends-on): Add progname.
33141         * tests/test-dirname.c (program_name): Delete.
33142
33143         mkdir: make safe for libraries
33144         * modules/mkdir (Depends-on): Drop xalloc.
33145         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
33146         exit.
33147
33148         tests: avoid some compiler warnings
33149         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
33150         literals.
33151         * tests/test-memchr.c (main): Avoid type mismatch.
33152         * tests/test-arpa_inet.c (main): Avoid unused parameters.
33153         * tests/test-base64.c (main): Likewise.
33154         * tests/test-getdelim.c (main): Likewise.
33155         * tests/test-gethostname.c (main): Likewise.
33156         * tests/test-getline.c (main): Likewise.
33157         * tests/test-netinet_in.c (main): Likewise.
33158         * tests/test-select.c (open_server_socket, main): Likewise.
33159         * tests/test-select-stdin.c (main): Likewise.
33160         * tests/test-sockets.c (main): Likewise.
33161         * tests/test-strsignal.c (main): Likewise.
33162         * tests/test-sys_select.c (main): Likewise.
33163         * tests/test-sys_socket.c (main): Likewise.
33164         * tests/test-u64.c (main): Likewise.
33165         * tests/test-xfprintf-posix.c (main): Likewise.
33166         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
33167
33168         sockets: avoid compiler warning
33169         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
33170
33171         maint: detect usage(1) and other suspicious exits
33172         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
33173
33174 2009-10-29  Jim Meyering  <meyering@redhat.com>
33175
33176         timespec: long-to-int truncation could make timespec_cmp malfunction
33177         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
33178         a multiple of 2^32 nanoseconds as no difference.
33179
33180 2009-10-28  Jim Meyering  <meyering@redhat.com>
33181
33182         fprintftime: wrap macro code argument in "do {...} while(0)"
33183         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
33184         cpy macro must be a statement that can be followed by a semicolon.
33185         Now that the else clause contains a comment and is hence longer
33186         than one line, I require curly braces.  That in turn requires
33187         that we wrap this code block in the standard do...while(0).
33188
33189         fprintftime: remove stray semicolon from previous change
33190         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
33191
33192         fprintftime: avoid a warning about ignored fwrite return value
33193         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
33194         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
33195         that is unsafe.
33196         * modules/fprintftime (Depends-on): Add ignore-value.
33197
33198         exclude: avoid an unwarranted warning
33199         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
33200
33201 2009-10-27  Eric Blake  <ebb9@byu.net>
33202
33203         fseek: avoid compilation failure when fflush is replaced
33204         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
33205         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
33206         module is in use.
33207         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
33208         module is not in use; since REPLACE_FSEEK worked otherwise.
33209         (GNULIB_FTELLO): Likewise for ftell.
33210         Reported by Ian Beckwith and others.
33211
33212 2009-10-27  Bruno Haible  <bruno@clisp.org>
33213
33214         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
33215         Reported by Jim Meyering.
33216
33217 2009-10-27  Jim Meyering  <jim@meyering.net>
33218             Bruno Haible  <bruno@clisp.org>
33219
33220         Avoid warning despite dropping the return value of fwrite.
33221         * lib/unicodeio.c: Include ignore-value.h.
33222         (fwrite_success_callback): Explicitly ignore fwrite's return value.
33223         * modules/unicodeio (Depends-on): Add ignore-value.
33224
33225 2009-10-26  Eric Blake  <ebb9@byu.net>
33226
33227         areadlinkat: fix fallback path
33228         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
33229         pointer and zero.
33230
33231 2009-10-22  Pádraig Brady  <P@draigBrady.com>
33232
33233         Use a better IO block size for modern systems
33234         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
33235         * lib/md2.c: Likewise.
33236         * lib/md4.c: Likewise.
33237         * lib/md5.c: Likewise.
33238         * lib/sha1.c: Likewise.
33239         * lib/sha256.c: Likewise.
33240         * lib/sha512.c: Likewise.
33241
33242 2009-10-22  Eric Blake  <ebb9@byu.net>
33243
33244         tests: avoid several compiler warnings
33245         * tests/test-getcwd.c (main): Avoid buffer underflow.
33246         * tests/test-getdate.c (main): String literals are not safe with
33247         putenv, so use setenv.  Declare unused argument.
33248         * modules/getdate-tests (Depends-on): Add setenv.
33249         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
33250         problems with string literals in char *.
33251         * tests/test-hash.c (main): Avoid shadowing declaration.
33252         (insert_new): Treat string literals as char const *.
33253         * tests/test-getopt.h (test_getopt): Likewise.
33254         (getopt_loop): Alter types to minimize casting elsewhere.
33255         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
33256         (test_getopt_long_posix): Likewise.
33257         (do_getopt_long): Add wrapper to minimize casting.
33258         * tests/test-atexit.c (clear_temp_file): Use void.
33259         * tests/test-areadlink-with-size.c (main): Declare unused
33260         arguments.
33261         * tests/test-areadlink.c (main): Likewise.
33262         * tests/test-areadlinkat-with-size.c (main): Likewise.
33263         * tests/test-areadlinkat.c (main): Likewise.
33264         * tests/test-canonicalize-lgpl.c (main): Likewise.
33265         * tests/test-canonicalize.c (main): Likewise.
33266         * tests/test-dirent-safer.c (main): Likewise.
33267         * tests/test-dirname.c (main): Likewise.
33268         * tests/test-dup2.c (main): Likewise.
33269         * tests/test-fchdir.c (main): Likewise.
33270         * tests/test-fcntl-h.c (main): Likewise.
33271         * tests/test-fcntl-safer.c (main): Likewise.
33272         * tests/test-fdopendir.c (main): Likewise.
33273         * tests/test-fdutimensat.c (main): Likewise.
33274         * tests/test-fflush.c (main): Likewise.
33275         * tests/test-filenamecat.c (main): Likewise.
33276         * tests/test-filevercmp.c (main): Likewise.
33277         * tests/test-fopen-safer.c (main): Likewise.
33278         * tests/test-fopen.c (main): Likewise.
33279         * tests/test-fpending.c (main): Likewise.
33280         * tests/test-fpurge.c (main): Likewise.
33281         * tests/test-freading.c (main): Likewise.
33282         * tests/test-fstatat.c (main): Likewise.
33283         * tests/test-fsync.c (main): Likewise.
33284         * tests/test-futimens.c (main): Likewise.
33285         * tests/test-getndelim2.c (main): Likewise.
33286         * tests/test-gettimeofday.c (main): Likewise.
33287         * tests/test-getopt.c (main): Likewise.
33288         * tests/test-i-ring.c (main): Likewise.
33289         * tests/test-inttypes.c (main): Likewise.
33290         * tests/test-link.c (main): Likewise.
33291         * tests/test-lstat.c (main): Likewise.
33292         * tests/test-math.c (main): Likewise.
33293         * tests/test-md5.c (main): Likewise.
33294         * tests/test-memchr2.c (main): Likewise.
33295         * tests/test-memrchr.c (main): Likewise.
33296         * tests/test-mkdir.c (main): Likewise.
33297         * tests/test-mkdirat.c (main): Likewise.
33298         * tests/test-mkfifoat.c (main): Likewise.
33299         * tests/test-open.c (main): Likewise.
33300         * tests/test-openat-safer.c (main): Likewise.
33301         * tests/test-openat.c (main): Likewise.
33302         * tests/test-quotearg.c (main): Likewise.
33303         * tests/test-rawmemchr.c (main): Likewise.
33304         * tests/test-readlink.c (main): Likewise.
33305         * tests/test-remove.c (main): Likewise.
33306         * tests/test-rename.c (main): Likewise.
33307         * tests/test-renameat.c (main): Likewise.
33308         * tests/test-rmdir.c (main): Likewise.
33309         * tests/test-sha1.c (main): Likewise.
33310         * tests/test-signal.c (main): Likewise.
33311         * tests/test-sigaction.c (main): Likewise.
33312         * tests/test-stat.c (main): Likewise.
33313         * tests/test-stat-time.c (main): Likewise.
33314         * tests/test-stddef.c (main): Likewise.
33315         * tests/test-stdint.c (main): Likewise.
33316         * tests/test-stdio.c (main): Likewise.
33317         * tests/test-stdlib.c (main): Likewise.
33318         * tests/test-strchrnul.c (main): Likewise.
33319         * tests/test-strerror.c (main): Likewise.
33320         * tests/test-string.c (main): Likewise.
33321         * tests/test-strtod.c (main): Likewise.
33322         * tests/test-strverscmp.c (main): Likewise.
33323         * tests/test-symlink.c (main): Likewise.
33324         * tests/test-symlinkat.c (main): Likewise.
33325         * tests/test-sys_stat.c (main): Likewise.
33326         * tests/test-sys_time.c (main): Likewise.
33327         * tests/test-time.c (main): Likewise.
33328         * tests/test-unistd.c (main): Likewise.
33329         * tests/test-unlink.c (main): Likewise.
33330         * tests/test-unlinkat.c (main): Likewise.
33331         * tests/test-utimens.c (main): Likewise.
33332         * tests/test-utimensat.c (main): Likewise.
33333         * tests/test-version-etc.c (main): Likewise.
33334         * tests/test-wchar.c (main): Likewise.
33335         * tests/test-wctype.c (main): Likewise.
33336         * tests/test-xprintf-posix.c (main): Likewise.
33337         * tests/test-posixtm.c (main): Likewise.
33338         (STREQ): Delete unused macro.
33339         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
33340         shadowed variables.
33341         * tests/test-memchr.c (main): Likewise.
33342
33343 2009-10-21  Eric Blake  <ebb9@byu.net>
33344
33345         areadlinkat: avoid failure on older glibc
33346         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
33347         rather than mis-comparing 0 against FUNC_RESULT of char*.
33348
33349 2009-10-21  Bruno Haible  <bruno@clisp.org>
33350
33351         * modules/stpncpy (License): Relicense under LGPLv2+.
33352         Reported by David Lutterkort <lutter@redhat.com>.
33353
33354 2009-10-20  Eric Blake  <ebb9@byu.net>
33355
33356         utimensat: work around Solaris 9 bug
33357         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
33358         has trailing slash bugs.
33359         * tests/test-lutimens.h (test_lutimens): Enhance test.
33360         * tests/test-utimens.h (test_utimens): Likewise.
33361         * doc/posix-functions/utime.texi (utime): Enhance documentation.
33362         * doc/posix-functions/utimes.texi (utimes): Likewise.
33363         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33364         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
33365         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
33366         * doc/posix-functions/futimens.texi (futimens): Likewise.
33367
33368         fdutimensat: new module
33369         * modules/fdutimensat: New file.
33370         * lib/fdutimensat.c (fdutimensat): Likewise.
33371         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
33372         * MODULES.html.sh (File system functions): Mention module.
33373         * modules/fdutimensat-tests: New test.
33374         * tests/test-fdutimensat.c: Likewise.
33375
33376         doc: regenerate INSTALL
33377         * doc/INSTALL: Reflect recent autoconf update.
33378         * doc/INSTALL.ISO: Likewise.
33379         * doc/INSTALL.UTF-8: Likewise.
33380
33381 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33382
33383         acl: warn if ACL support is not detected
33384         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33385
33386 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33387
33388         * lib/nproc.h: Add extern "C" block for C++.
33389
33390 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33391             Bruno Haible  <bruno@clisp.org>
33392
33393         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33394         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33395         * doc/posix-functions/isalpha.texi: Likewise.
33396         * doc/posix-functions/isblank.texi: Likewise.
33397         * doc/posix-functions/iscntrl.texi: Likewise.
33398         * doc/posix-functions/isdigit.texi: Likewise.
33399         * doc/posix-functions/isgraph.texi: Likewise.
33400         * doc/posix-functions/islower.texi: Likewise.
33401         * doc/posix-functions/isprint.texi: Likewise.
33402         * doc/posix-functions/ispunct.texi: Likewise.
33403         * doc/posix-functions/isspace.texi: Likewise.
33404         * doc/posix-functions/isupper.texi: Likewise.
33405         * doc/posix-functions/isxdigit.texi: Likewise.
33406
33407 2009-10-18  Bruno Haible  <bruno@clisp.org>
33408
33409         Tests for module 'isblank'.
33410         * modules/isblank-tests: New file.
33411         * tests/test-isblank.c: New file.
33412
33413         New module 'isblank'.
33414         * lib/isblank.c: New file.
33415         * m4/isblank.m4: New file.
33416         * modules/isblank: New file.
33417         * doc/posix-functions/isblank.texi: Mention the new module.
33418
33419 2009-10-18  Bruno Haible  <bruno@clisp.org>
33420
33421         New module 'ctype'.
33422         * lib/ctype.in.h: New file.
33423         * m4/ctype.m4: New file.
33424         * modules/ctype: New file.
33425         * doc/posix-headers/ctype.texi: Mention the new module.
33426
33427 2009-10-18  Jim Meyering  <meyering@redhat.com>
33428
33429         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33430         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33431         right after its initialization, rather than farther down.
33432         Keeping these in close proximity makes it easier to ensure
33433         that each such variable is initialized.  E.g.,
33434
33435             LIB_CLOCK_GETTIME=
33436             AC_SUBST([LIB_CLOCK_GETTIME])
33437
33438         This change also increments these serial numbers.
33439         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33440         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33441         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33442
33443 2009-10-18  Bruno Haible  <bruno@clisp.org>
33444
33445         Don't let environment variables perturb build.
33446         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33447         (gl_PREREQ_GETHRXTIME): ... not here.
33448
33449 2009-10-18  Bruno Haible  <bruno@clisp.org>
33450
33451         Avoid symlink attack in localcharset module.
33452         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33453         (O_NOFOLLOW): Define fallback.
33454         (get_charset_aliases): Don't open the file if it is a symbolic link.
33455         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33456         gl_FCNTL_H.
33457         (gl_FCNTL_H): Require it.
33458         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33459         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33460         Reported by Fergal Glynn <fglynn@veracode.com>.
33461
33462 2009-10-18  Bruno Haible  <bruno@clisp.org>
33463
33464         Implement nproc for mingw.
33465         * lib/nproc.c: Include <windows.h>
33466         (num_processors): On native Windows platforms, try GetSystemInfo.
33467
33468 2009-10-18  Bruno Haible  <bruno@clisp.org>
33469
33470         Implement nproc for IRIX.
33471         * lib/nproc.c: Include <sys/sysmp.h>.
33472         (num_processors): On IRIX systems, try sysmp.
33473         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33474
33475 2009-10-18  Bruno Haible  <bruno@clisp.org>
33476
33477         Implement nproc for HP-UX.
33478         * lib/nproc.c: Include <sys/pstat.h>
33479         (num_processors): On HP-UX systems, try pstat_getdynamic.
33480         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33481         pstat_getdynamic.
33482
33483 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33484             Bruno Haible  <bruno@clisp.org>
33485
33486         Implement nproc for NetBSD, OpenBSD.
33487         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33488         (ARRAY_SIZE): New macro.
33489         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33490         * m4/nproc.m4: New file.
33491         * modules/nproc (Files): Add m4/nproc.m4.
33492         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33493         (Makefile.am): Instead, augment lib_SOURCES.
33494
33495 2009-10-18  Bruno Haible  <bruno@clisp.org>
33496
33497         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33498         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33499         sys/param.h.
33500
33501 2009-10-16  Eric Blake  <ebb9@byu.net>
33502
33503         utimensat: new module
33504         * modules/utimensat: New file.
33505         * lib/utimensat.c (utimensat): Likewise.
33506         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33507         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33508         so we can work around Linux bugs.
33509         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33510         * modules/sys_stat (Makefile.am): Substitute them.
33511         * lib/sys_stat.in.h (utimensat): Declare it.
33512         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33513         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33514         * modules/utimensat-tests: New test.
33515         * tests/test-utimensat.c: Likewise.
33516
33517         utimens: let lutimens work on non-symlinks
33518         * lib/utimens.c (lutimens): Fall back to utimens rather than
33519         failing with ENOSYS, when file is not a symlink.
33520         (utimens): Reduce redirection.
33521         * tests/test-lutimens.h (test_lutimens): Update test to cover
33522         non-symlinks.
33523         * tests/test-utimens.h (test_utimens): Update test to cover
33524         symlinks.
33525         * tests/test-utimens.c (main): Update caller.
33526
33527         utimens: cache whether utimensat syscall works
33528         * lib/utimens.c (utimensat_works_really): New cache variable.
33529         (fdutimens, lutimens): Use it to avoid failing syscall.
33530
33531         test-stat-time, test-utimens: improve portability
33532         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33533         ext4 on alpha, and for cygwin.
33534         * tests/test-utimens-common.h: New file.
33535         (nap): Factor delays into single function.
33536         * tests/test-lutimens.h (test_lutimens): Use new header.
33537         * tests/test-futimens.h (test_futimens): Likewise.
33538         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33539         timestamps to occur from same machine, as was done previously for
33540         test_utimens.
33541         * modules/utimens-tests (Files): Ship new file.
33542         * modules/futimens-tests (Files): Likewise.
33543         Reported in part by Jim Meyering.
33544
33545         sys_stat: sort replacement declarations
33546         * lib/sys_stat.in.h: Sort declarations.
33547         * lib/futimens.c (futimens): Fix typo.
33548
33549 2009-10-15  Jim Meyering  <meyering@redhat.com>
33550
33551         don't let environment settings perturb build
33552         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33553         could cause a configure-time and/or build-time malfunction.
33554         Typically, a configure-time function-in-library test is performed
33555         via code like this:
33556
33557           LIB_VAR=
33558           AC_SUBST([LIB_VAR])
33559           prefix_saved_LIBS=$LIBS
33560             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33561                        [test "$ac_cv_search_FUNC" = "none required" ||
33562                         LIB_VAR=$ac_cv_search_FUNC])
33563           LIBS=$prefix_saved_LIBS
33564
33565         However, in each of the files affected by this change, the LIB_VAR=
33566         initialization was omitted.  Thus, when set in the environment, its
33567         value would propagate into generated Makefiles when FUNC is not found
33568         in LIB_NAME.
33569         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33570         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33571         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33572
33573 2009-10-14  Eric Blake  <ebb9@byu.net>
33574
33575         fchdir: avoid infinite recursion in mingw
33576         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33577         recursing.
33578
33579         test-stat-time: port to mingw
33580         * tests/test-stat-time.c (force_unlink): Return a value.
33581         (test_ctime) [W32]: Fix compilation error.
33582         (nap): Don't call usleep with too large an argument.  Use
33583         force_unlink.
33584         * doc/pastposix-functions/usleep.texi (usleep): Document the
33585         portability issue.
33586
33587 2009-10-13  Jim Meyering  <meyering@redhat.com>
33588
33589         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33590         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33591         * modules/pipe-filter-ii: Likewise.
33592         * modules/sys_socket-tests: Likewise.
33593         * modules/tsearch-tests: Likewise.
33594         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33595         (check): Depend on it.
33596
33597 2009-10-12  Eric Blake  <ebb9@byu.net>
33598
33599         utimens-tests: port to NFS file systems
33600         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33601         comparisons to avoid spurious failures from timestamp drift
33602         between NFS machines.
33603
33604 2009-10-12  Eric Blake  <ebb9@byu.net>
33605
33606         stat-time-tests: minor cleanups
33607         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33608         * tests/test-stat-time.c (nap): Separate assignment from call.
33609         Suggested by Paolo Bonzini and Bruno Haible.
33610
33611         sys_stat: guarantee struct timespec
33612         * lib/sys_stat.in.h (includes): Always include <time.h>
33613         * modules/sys_stat (Depends-on): Add time.
33614         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33615         mode_t permission values.
33616         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33617         get at subsecond timestamps.
33618
33619 2009-10-10  Eric Blake  <ebb9@byu.net>
33620
33621         futimens: new module
33622         * modules/futimens: New file.
33623         * lib/futimens.c (futimens): Likewise.
33624         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33625         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33626         we can work around Linux bugs.
33627         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33628         * modules/sys_stat (Makefile.am): Substitute them.
33629         * lib/sys_stat.in.h (futimens): Declare it.
33630         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33631         * doc/posix-functions/futimens.texi (futimens): Likewise.
33632         * modules/futimens-tests: New test.
33633         * tests/test-futimens.c: Likewise.
33634
33635         utimens: introduce fdutimens
33636         * lib/utimens.h (fdutimens): New prototype.
33637         * lib/utimens.c (gl_futimens): Move guts...
33638         (fdutimens): ...to new interface.
33639         * tests/test-utimens.c (do_fdutimens): Use it.
33640
33641         utimens: add UTIME_NOW and UTIME_OMIT support
33642         * lib/utimens.c (validate_timespec, update_timespec): New helper
33643         functions.
33644         (gl_futimens, lutimens): Use them.
33645         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33646         stdbool, sys_stat.
33647         (Link): Mention resulting library dependency.
33648         * modules/utimecmp (Link): Likewise.
33649         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33650         (Makefile.am): Pick up library dependency.
33651         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33652         definition.
33653         * tests/test-sys_stat.c: Test the definitions.
33654         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33655         * NEWS: Document library dependency.
33656
33657         utimecmp: support symlink timestamps
33658         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33659         hashing when possible.  Use pathconf when available.
33660         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33661         * modules/utimecmp (Depends-on): Add lstat.
33662
33663         utimens: add lutimens interface
33664         * lib/utimens.c (lutimens): New function.
33665         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33666         * lib/utimens.h (lutimens): Declare new interface.
33667         * tests/test-utimens.c (main): Enhance test.
33668         * tests/test-lutimens.h (test_lutimens): New file.
33669         * modules/utimens-tests (Files): Distribute it.
33670         (Depends-on): Add symlink.
33671         (configure.ac): Check for usleep.
33672
33673         utimens: validate futimens usage
33674         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33675         fewer syscalls on failure later on.  Avoid compiler warning on
33676         mingw.
33677         * modules/utimens (Depends-on): Add dup2.
33678
33679         utimens: add test
33680         * modules/utimens-tests: New test.
33681         * tests/test-utimens.h: New file.
33682         * tests/test-futimens.h: Likewise.
33683         * tests/test-utimens.c: Likewise.
33684
33685         doc: mention timestamp portability issues
33686         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33687         instead.
33688         * doc/posix-functions/utime.texi (utime): Likewise.
33689         * doc/posix-functions/utimes.texi (utimes): Likewise.
33690         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33691         instead.
33692         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33693         module.
33694         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33695         Mention weakness with symlink timestamps.
33696         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33697         to utimensat/futimens instead.
33698         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33699
33700         test-dup2: enhance test
33701         * tests/test-dup2.c (main): Also check AT_FDCWD.
33702
33703         test-stat-time: avoid more spurious failures
33704         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33705         xfs; and avoid race if the two timestamps cross quantization edge.
33706
33707         relocatable: prefer 'file system' over 'filesystem'
33708         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33709         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33710         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33711         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33712         * lib/relocatable.c (compute_curr_prefix): Likewise.
33713
33714 2009-10-10  Jim Meyering  <meyering@redhat.com>
33715
33716         stat-time-tests: check for the usleep function
33717         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33718
33719 2009-10-10  Bruno Haible  <bruno@clisp.org>
33720
33721         * modules/xnanosleep: Put the Link section after the Include section.
33722
33723 2009-10-09  Eric Blake  <ebb9@byu.net>
33724
33725         dup2: work around FreeBSD 6.1 bug
33726         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33727         * doc/posix-functions/dup2.texi (dup2): Document it.
33728         Reported by Nelson H. F. Beebe and Jim Meyering.
33729
33730         test-stat-time: port to buggy NFS clients
33731         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33732         (test_ctime): Also skip test if mtime and ctime are skewed.
33733
33734         maint: prefer 'file system' over 'filesystem'
33735         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33736         * doc/posix-functions/lstat.texi (lstat): Likewise.
33737         * lib/file-has-acl.c (file_has_acl): Likewise.
33738         * lib/fwriteerror.c [TEST]: Likewise.
33739         * tests/test-areadlink.h (test_areadlink): Likewise.
33740         * tests/test-areadlinkat-with-size.c (main): Likewise.
33741         * tests/test-areadlinkat.c (main): Likewise.
33742         * tests/test-canonicalize-lgpl.c (main): Likewise.
33743         * tests/test-canonicalize.c (main): Likewise.
33744         * tests/test-fstatat.c (main): Likewise.
33745         * tests/test-linkat.c (main): Likewise.
33746         * tests/test-lstat.h (test_lstat_func): Likewise.
33747         * tests/test-mkdir.h (test_mkdir): Likewise.
33748         * tests/test-readlink.h (test_readlink): Likewise.
33749         * tests/test-remove.c (main): Likewise.
33750         * tests/test-rename.h (test_rename): Likewise.
33751         * tests/test-renameat.c (main): Likewise.
33752         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33753         * tests/test-symlink.h (test_symlink): Likewise.
33754         * tests/test-symlinkat.c (main): Likewise.
33755         * tests/test-unlink.h (test_unlink_func): Likewise.
33756         * tests/test-unlinkat.c (main): Likewise.
33757
33758         maint: make realtime library usage explicit
33759         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33760         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33761         * modules/settime (Link): Likewise.
33762         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33763
33764         test-stat-time: speed up execution
33765         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33766         warning on mingw.
33767         (nap): New helper function.
33768         (prepare_test): Use it to reduce sleep time.
33769         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33770         execution.
33771         * modules/stat-time-tests (configure.ac): Check for usleep.
33772
33773 2009-10-09  Jim Meyering  <meyering@redhat.com>
33774
33775         selinux-h: always use getfilecon wrappers
33776         * lib/getfilecon.c: New file.
33777         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33778         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33779         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33780         (fgetfilecon): Provide a stub.
33781         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33782         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33783         file unconditionally.
33784         When <selinux/selinux.h> is found, arrange to use wrappers.
33785         * modules/selinux-h (Files): Add getfilecon.c.
33786         (Makefile.am): Substitute include-next-related bits
33787         into the now-always-generated selinux/selinux.h file.
33788         * doc/glibc-functions/lgetfilecon.texi: New file.
33789         * doc/glibc-functions/fgetfilecon.texi: New file.
33790         * doc/glibc-functions/getfilecon.texi: New file.
33791         * doc/glibc-functions/getfilecon-desc.texi: New file.
33792         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
33793         which to pull in the new files.
33794         * MODULES.html.sh (Misc): Add selinux-h.
33795
33796 2009-10-08  Jim Meyering  <meyering@redhat.com>
33797
33798         unistd: fix comment typo
33799         * lib/unistd.in.h (euidaccess): Fix a comment typo.
33800
33801 2009-10-08  Eric Blake  <ebb9@byu.net>
33802
33803         areadlink: use SIZE_MAX consistently
33804         * modules/areadlink (Depends-on): Add stdint.
33805         * modules/areadlink-with-size (Depends-on): Likewise.
33806         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
33807         gives NULL; drop sys/types, since unistd gives size_t; and add
33808         stdint for SIZE_MAX.
33809         (SIZE_MAX): Rely on headers.
33810         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
33811         and add stdint.
33812         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
33813         (SIZE_MAX): Likewise.
33814         (INITIAL_BUF_SIZE): Turn into enum.
33815         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
33816
33817 2009-10-08  Jim Meyering  <meyering@redhat.com>
33818
33819         areadlinkat: avoid compilation failure
33820         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
33821         Fix typo in comment.
33822
33823 2009-10-07  Eric Blake  <ebb9@byu.net>
33824
33825         areadlinkat-with-size: new module
33826         * modules/areadlinkat-with-size: New module.
33827         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
33828         * lib/areadlink.h (areadlinkat): Declare it.
33829         * MODULES.html.sh (File system functions): Mention it.
33830         * modules/areadlinkat-with-size-tests: New test.
33831         * tests/test-areadlinkat-with-size.c: New file.
33832
33833         xreadlinkat: new module
33834         * modules/xreadlinkat: New module.
33835         * lib/xreadlinkat.c (xreadlinkat): New file.
33836         * lib/xreadlink.h (xreadlinkat): Declare it.
33837         * MODULES.html.sh (File system functions): Mention it.
33838
33839         areadlinkat: new module
33840         * lib/at-func.c (FUNC_FAIL): New define.
33841         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
33842         * modules/areadlinkat: New module.
33843         * lib/linkat.c (areadlinkat): Move...
33844         * lib/areadlinkat.c (areadlinkat): ...to new file.
33845         * lib/areadlink.h (areadlinkat): Declare it.
33846         * modules/linkat (Depends-on): Add areadlinkat.
33847         * MODULES.html.sh (File system functions): Mention it.
33848         * modules/areadlinkat-tests: New test.
33849         * tests/test-areadlinkat.c: New file.
33850
33851         areadlink, areadlink-with-size: add tests
33852         * modules/areadlink-tests: New test.
33853         * modules/areadlink-with-size-tests: Likewise.
33854         * tests/test-areadlink.h: New file.
33855         * tests/test-areadlink.c: Likewise.
33856         * tests/test-areadlink-with-size.c: Likewise.
33857
33858         maint: minor cleanups
33859         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
33860         _UNUSED_PARAMETER_ instead.
33861         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
33862         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
33863         * modules/linkat-tests (Files): Distribute test-link.h.
33864
33865         openat, utimens: whitespace cleanup
33866         * lib/openat.c: Prefer space throughout, rather than mix of 8
33867         spaces vs. tabs.
33868         * lib/at-func.c: Likewise.
33869         * lib/utimens.c: Likewise.
33870
33871         openat: avoid using wrong fd
33872         * lib/openat.c (openat_permissive): Reject user's fd if saving the
33873         working directory chooses same fd.
33874         * lib/at-func.c (AT_FUNC_NAME): Likewise.
33875
33876         mkdir, mkdirat: fix cygwin 1.5.x bug
33877         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
33878         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
33879         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
33880         bug.
33881         (gl_PREREQ_MKDIR): Delete unused macro.
33882         * modules/mkdir (Files): Track file rename.
33883         (configure.ac): Update macro name.
33884         * modules/openat (Depends-on): Add mkdir.
33885         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
33886
33887         mkdir, mkdirat: add tests
33888         * modules/mkdir-tests: New test.
33889         * tests/test-mkdir.h: New file.
33890         * tests/test-mkdir.c: Likewise.
33891         * tests/test-mkdirat.c: Likewise.
33892         * modules/openat-tests (Files): Add new files.
33893         (Makefile.am): Run new test.
33894
33895 2009-10-06  Eric Blake  <ebb9@byu.net>
33896
33897         doc: tweak *at function documentation
33898         * doc/posix-functions/faccessat.texi (faccessat): Mention
33899         known issue with replacement.
33900         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
33901         * doc/posix-functions/linkat.texi (linkat): Likewise.
33902         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33903         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33904         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33905         * doc/posix-functions/renameat.texi (renameat): Likewise.
33906         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33907
33908         openat: fix GNU/Hurd bug in unlinkat
33909         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
33910         broken.
33911         * doc/posix-functions/unlink.texi (unlink): Document this.
33912         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
33913
33914         fdopendir: fix GNU/Hurd bug
33915         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
33916         allowing non-directory fds.
33917         * lib/fdopendir.c (rpl_fdopendir): Work around it.
33918         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33919         * modules/dirent (Makefile.am): Substitute it.
33920         * lib/dirent.in.h (fdopendir): Declare replacement.
33921         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
33922         * tests/test-fdopendir.c (main): Test something other than
33923         /dev/null, since on Hurd that behaves like a directory.
33924
33925         test-symlink: port to GNU/Hurd
33926         * tests/test-symlink.h (test_symlink): Relax expected errno.
33927
33928         doc: tweak more cygwin information
33929         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
33930         now compatible with glibc.
33931         * doc/posix-functions/getopt.texi (getopt): Likewise.
33932
33933         getopt-gnu: add another test
33934         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
33935         guarantee behavior relied on by m4.
33936         * tests/test-getopt.c (main): Use it.
33937         * modules/getopt-posix-tests (Depends-on): Add setenv.
33938         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
33939
33940         getopt: fix compilation on darwin
33941         * lib/getopt.in.h (includes): Leave breadcrumbs during system
33942         include.
33943         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
33944         Reported by Ludovic Courtès.
33945
33946 2009-10-06  Bruno Haible  <bruno@clisp.org>
33947
33948         * modules/size_max (Description): Discourage its use.
33949         Reported by Simon Josefsson.
33950
33951 2009-10-06  Jim Meyering  <meyering@redhat.com>
33952
33953         linkat: avoid compilation failure
33954         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
33955
33956 2009-10-05  Eric Blake  <ebb9@byu.net>
33957
33958         linkat: support Linux 2.6.17
33959         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
33960         linkat on Linux, but allow cache variable override.
33961         * lib/linkat.c (rpl_linkat): Define override.
33962         * modules/linkat (Depends-on): Add symlinkat.
33963         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
33964         * modules/unistd (Makefile.am): Substitute it.
33965         * lib/unistd.in.h (linkat): Declare replacement.
33966         Reported by Pádraig Brady.
33967
33968         quotearg: port test to systems with C.UTF-8 locale
33969         * tests/test-quotearg.c (struct result_strings): Add another
33970         member, differentiating between C.ASCII and C.UTF-8 handling.
33971         (compare_strings): Add parameter.
33972         (main): Adjust all callers.
33973
33974         getopt: avoid clash with FreeBSD _getopt_internal
33975         * lib/getopt.in.h (_getopt_internal): Override the name.
33976         * lib/getopt_int.h (includes): Pick up any overrides.
33977         Reported by Reuben Thomas.
33978
33979         hash: allow C89 compilation
33980         * lib/hash.c (check_tuning): Move declaration before statement.
33981         Reported by Reuben Thomas.
33982
33983 2009-10-05  Karl Berry  <karl@gnu.org>
33984
33985         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
33986
33987 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
33988             Bruno Haible  <bruno@clisp.org>
33989
33990         * lib/uname.c (uname): Use a table-driven algorithm to compute
33991         Windows NT versions.
33992
33993 2009-10-04  Bruno Haible  <bruno@clisp.org>
33994
33995         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
33996         program_invocation_short_name.
33997         * modules/progname (configure.ac): Test for presence of
33998         program_invocation_short_name.
33999         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34000
34001 2009-10-04  Bruno Haible  <bruno@clisp.org>
34002
34003         * lib/progname.c (set_program_name): Fix comment.
34004         Reported by Jim Meyering.
34005
34006 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34007             Bruno Haible  <bruno@clisp.org>
34008
34009         * lib/uname.c: Include <string.h>.
34010         (uname): Do only one call to GetVersionEx in the common case.
34011
34012 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34013             Bruno Haible  <bruno@clisp.org>
34014
34015         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
34016         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
34017         (uname): Add support for Windows CE and various non-x86 CPU types.
34018
34019 2009-10-03  Bruno Haible  <bruno@clisp.org>
34020
34021         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
34022         invocation to tests/configure.ac.
34023         Reported by Ian Beckwith <ianb@erislabs.net>.
34024
34025 2009-10-02  Eric Blake  <ebb9@byu.net>
34026
34027         fchdir: avoid compiler warning
34028         * lib/fchdir.c (canonicalize_file_name)
34029         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
34030
34031         test-open: support mingw errno values
34032         * tests/test-open.h (test_open): Relax test.
34033         * tests/test-fopen.h (test_fopen): Likewise.
34034         * tests/test-openat-safer.c (main): Likewise.
34035
34036         open: fix opening directory on mingw
34037         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
34038
34039         test-open: on GNU/Hurd, /dev/null is a directory
34040         * tests/test-fopen.h (main): Rename...
34041         (test_fopen): ...to this.  Use a guaranteed non-directory when
34042         confirming open behavior on trailing slash.
34043         * tests/test-openat-safer.c (main): Likewise.
34044         * tests/test-open.h (main): Likewise....
34045         (test_open): ...to this.
34046         * tests/test-fopen.c (main): Adjust caller.
34047         * tests/test-fopen-safer.c (main): Likewise.
34048         * tests/test-open.c (main): Likewise.
34049         * tests/test-fcntl-safer.c (main): Likewise.
34050         Reported by Samuel Thibault.
34051
34052         rename, fchdir: don't ignore chdir failure
34053         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
34054         * lib/rename.c (rpl_rename) [W32]: Likewise.
34055         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
34056         an empty destination directory if source cannot be renamed,
34057         although there is still possibility for failure.
34058         * doc/posix-functions/rename.texi (rename): Document the race.
34059         Reported by Jim Meyering.
34060
34061         maint: cleanup whitespace in recent commits
34062         * lib/rename.c (rpl_rename): Remove tabs.
34063         * tests/test-link.h (test_link): Likewise.
34064         * lib/fchdir.c (get_name): Likewise.
34065         Reported by Jim Meyering.
34066
34067 2009-10-02  Ben Pfaff  <blp@gnu.org>
34068
34069         relocatable-prog-wrapper: Add missing dependency on
34070         double-slash-root.
34071         * modules/relocatable-prog-wrapper: Add dependency.
34072         Reported by Ian Beckwith <ianb@erislabs.net>.
34073
34074 2009-10-02  Eric Blake  <ebb9@byu.net>
34075
34076         renameat: fix Solaris bugs
34077         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
34078         needed fixing.
34079         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
34080         * modules/stdio (Makefile.am): Substitute it.
34081         * lib/stdio.in.h (renameat): Declare replacement.
34082         * lib/renameat.c (rpl_renameat): Implement fix.
34083
34084         renameat: new module
34085         * modules/renameat: New file.
34086         * lib/renameat.c (renameat): Likewise.
34087         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
34088         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34089         * modules/stdio (Makefile.am): Substitute them.
34090         * lib/stdio.in.h (renameat): Declare it.
34091         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34092         * doc/posix-functions/renameat.texi (renameat): Likewise.
34093         * modules/renameat-tests: New test.
34094         * tests/test-renameat.c: Likewise.
34095
34096         rename: fix mingw bugs
34097         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
34098         directory overwrite bugs.
34099
34100         rename: fix another cygwin 1.5 bug
34101         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
34102         checks.
34103         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
34104         unnecessary cygwin workarounds.  Also work around bug with moving
34105         full directory onto an empty one.
34106         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
34107
34108         rename-dest-slash: merge into rename module
34109         * modules/rename-dest-slash (Status): Mark obsolete.
34110         (Depends-on): Add rename.
34111         (Files): Let rename do it all.
34112         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
34113         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
34114         * m4/rename-dest-slash.m4: ...so this file can be deleted.
34115         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
34116         * lib/rename.c (rpl_rename): Update comments.
34117
34118         rename: fix cygwin 1.5.x bugs
34119         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
34120         * lib/rename.c (rpl_rename): Work around them.
34121         * modules/rename (Depends-on): Add same-inode.
34122
34123         rename: fix Solaris 10 bug
34124         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34125         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
34126         was the only bug.
34127
34128         rename: fix Solaris 9 bug
34129         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
34130         on non-directory.  Avoid calling exit.
34131         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
34132         strdup.
34133         * modules/rename-tests (Depends-on): Drop lstat.
34134         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34135         (gl_PREREQ_RENAME): Delete unused macro.
34136
34137         rename-dest-slash: fix NetBSD bug
34138         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
34139         links.
34140         * modules/rename-dest-slash (Depends-on): Add same-inode.
34141
34142         rename-tests: new test, exposes several platform bugs
34143         * modules/rename-tests: New file.
34144         * tests/test-rename.h: Likewise.
34145         * tests/test-rename.c: Likewise.
34146         * doc/posix-functions/rename.texi (rename): Improve documentation,
34147         including bugs that will eventually be fixed in gnulib.
34148
34149 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
34150
34151         * lib/uname.c: Include <stdlib.h>
34152         (uname): Assume version info is available.
34153
34154 2009-10-02  Jim Meyering  <meyering@redhat.com>
34155
34156         gnu-web-doc-update: correct --help output
34157         * build-aux/gnu-web-doc-update: Make --help output relevant.
34158
34159         gnu-web-doc-update: add standard options
34160         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
34161
34162         gnu-web-doc-update: New module.
34163         Use this script to automatically update the on-line web documentation
34164         for your GNU project at http://www.gnu.org/software/$pkg/manual/
34165         * modules/gnu-web-doc-update: New file, from coreutils.
34166         * build-aux/gnu-web-doc-update: New script.
34167
34168 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
34169
34170         link: LoadLibrary is not needed.
34171         * lib/link.c: Use GetModuleHandle.
34172
34173 2009-10-01  Eric Blake  <ebb9@byu.net>
34174
34175         getopt: bump serial number
34176         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
34177         change.
34178
34179         tests: tighten link, rmdir, and remove tests
34180         * tests/test-link.h (includes): No need to use <config.h> here.
34181         Clean up if directory hard link was created, otherwise test for
34182         trailing '.'.
34183         * tests/test-linkat.c (main): Simplify.
34184         * tests/test-remove.c (main): Enhance test for trailing '.'.
34185         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34186
34187 2009-10-01  Jim Meyering  <meyering@redhat.com>
34188
34189         maint.mk: requiring "make major" was annoying, for a "minor" release.
34190         What is intended is "stable", to contrast with alpha and beta,
34191         so require "make stable", not "make major".
34192         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
34193         (get_tool_versions): Likewise.
34194         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
34195
34196 2009-09-30  Ben Pfaff  <blp@gnu.org>
34197
34198         Fix broken build of replacement for Windows tmpfile().
34199         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
34200         flags argument added along with the 'mkostemp' module.
34201
34202 2009-09-28  Bruno Haible  <bruno@clisp.org>
34203
34204         Avoid identifier clash with POSIX function 'remove' defined as a macro.
34205         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
34206         to 'remove_elt'.
34207         (gl_list_remove): Update.
34208         * lib/gl_list.c (gl_list_remove): Update.
34209         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
34210         to 'remove_elt'.
34211         (gl_oset_remove): Update.
34212         * lib/gl_list.c (gl_oset_remove): Update.
34213         Reported by Eric Blake.
34214
34215 2009-09-28  Eric Blake  <ebb9@byu.net>
34216
34217         doc: mention yet more cygwin 1.7 status
34218         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
34219         cygwin.
34220         * doc/glibc-functions/execvpe.texi (execvpe): New file.
34221         * doc/gnulib.texi (Glibc unistd.h): Mention it.
34222
34223         argp: fix test failure
34224         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
34225         that are not upper-case.  Pass correct range to tolower.
34226
34227 2009-09-27  Jim Meyering  <meyering@redhat.com>
34228
34229         test-yesno: work around sparc-dash here-document infelicity
34230         Without this change, the literal \177 byte in a here document
34231         would make dash 0.5.5.1-3 access uninitialized memory.
34232         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
34233         Instead, use a marker, "@", and filter through tr to create the desired
34234         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
34235
34236 2009-09-27  Bruno Haible  <bruno@clisp.org>
34237
34238         Disable untested support for new flavours of ACLs on AIX.
34239         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
34240         progress.
34241         * lib/set-mode-acl.c (qset_acl): Likewise.
34242
34243 2008-12-07  Bruno Haible  <bruno@clisp.org>
34244
34245         Add support for new flavours of ACLs on AIX. (Untested.)
34246         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
34247         (file_has_acl): Add support for newer AIX.
34248         * lib/set-mode-acl.c (qset_acl): Likewise.
34249         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
34250         Rainer Tammer <tammer@tammer.net>.
34251
34252 2009-09-26  Eric Blake  <ebb9@byu.net>
34253
34254         argp: fix compilation of getopt
34255         * lib/getopt.in.h (includes): Use different guard than glibc.
34256         Reported by Sergey Poznyakoff.
34257
34258         doc: mention more cygwin 1.7 status
34259         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
34260         bug.
34261         * doc/posix-functions/execl.texi (execl): Likewise.
34262         * doc/posix-functions/execle.texi (execle): Likewise.
34263         * doc/posix-functions/execlp.texi (execlp): Likewise.
34264         * doc/posix-functions/execv.texi (execv): Likewise.
34265         * doc/posix-functions/execve.texi (execve): Likewise.
34266         * doc/posix-functions/execvp.texi (execvp): Likewise.
34267         * doc/glibc-functions/canonicalize_file_name.texi
34268         (canonicalize_file_name): Cygwin 1.7 now provides this.
34269         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
34270         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
34271         on AT_SYMLINK_NOFOLLOW.
34272
34273 2009-09-24  Eric Blake  <ebb9@byu.net>
34274
34275         test-linkat: make test more robust
34276         * tests/test-linkat.c (main): Avoid collision with EEXIST.
34277
34278         getopt: fix inclusion guards for cygwin
34279         * modules/getopt-posix (Depends-on): Add include-next.
34280         (Makefile.am): Substitute more items in replacement header.
34281         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
34282         <getopt.h>.
34283         * lib/getopt.in.h (includes): Use split inclusion guard, and
34284         prefer <getopt.h> over include <unistd.h> when one is present.
34285         (option): Also override name of 'struct option'.
34286
34287         same-inode: revert prior change; it is not yet ready
34288         * NEWS: Undo mention of this change.
34289         * lib/same-inode.h (same-inode.h): Undo tri-state change.
34290         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34291         * lib/cycle-check.c (cycle_check): Likewise.
34292         * lib/same.c (same_name): Likewise.
34293         * lib/at-func2.c (at_func2): Likewise.
34294
34295 2009-09-23  Eric Blake  <ebb9@byu.net>
34296
34297         linkat: new module
34298         * modules/linkat: New file.
34299         * lib/at-func2.c (at_func2): Likewise.
34300         * lib/linkat.c (linkat): Likewise.
34301         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
34302         * lib/openat-priv.h (at_func2): Add declaration.
34303         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34304         * modules/unistd (Makefile.am): Substitute them.
34305         * lib/unistd.in.h (linkat): Declare it.
34306         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34307         * doc/posix-functions/linkat.texi (linkat): Likewise.
34308         * doc/posix-functions/link.texi (link): Tweak wording.
34309         * tests/test-link.c (main): Move guts...
34310         * tests/test-link.h (test_link): ...into new file.
34311         * modules/linkat-tests: New test.
34312         * tests/test-linkat.c: Likewise.
34313         * modules/link-tests (Files): Ship new file.
34314         (Depends-on): Add stdbool.
34315
34316         dirname: add library-safe mdir_name
34317         * lib/dirname.h (mdir_name): New prototype.
34318         * lib/dirname.c (dir_name): Move guts...
34319         (mdir_name): ...to new function that avoids xalloc_die.
34320
34321         fchdir: another mingw fix
34322         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
34323         * lib/fchdir.c (get_name): New helper method; skips canonicalize
34324         on mingw (where it has not yet been ported), and make it optional
34325         elsewhere.
34326         (_gl_register_fd): Use it.
34327
34328         same-inode: make SAME_INODE tri-state, to port to mingw
34329         * NEWS: Mention this change.
34330         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
34331         st_ino always being 0.
34332         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34333         * lib/cycle-check.c (cycle_check): Likewise.
34334         * lib/same.c (same_name): Likewise.
34335
34336         lstat: avoid mingw compilation error
34337         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
34338         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
34339         lstat ourselves.
34340         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
34341         was adequate.
34342         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
34343         the checks for lstat.
34344         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
34345
34346         link: fix test failure on Solaris 9
34347         * lib/link.c (rpl_link): Don't assume link will catch bogus
34348         trailing slash on source.
34349
34350         test-symlinkat: enhance test
34351         * tests/test-readlink.c (main): Move guts...
34352         * tests/test-readlink.h (test_readlink): ...into new file.
34353         * tests/test-symlink.c (main): Move guts...
34354         * tests/test-symlink.h (test_symlink): ...into new file.
34355         * tests/test-symlinkat.c (main): Use new files for further
34356         coverage.
34357         (do_symlink, do_readlink): New helper functions.
34358         * modules/symlink-tests (Files): Ship new file.
34359         (Depends-on): Add stdbool.
34360         * modules/readlink-tests (Files): Ship new file.
34361         (Depends-on): Add stdbool.
34362         * modules/symlinkat-tests (Files): Use new files.
34363
34364 2009-09-23  Eric Blake  <ebb9@byu.net>
34365
34366         readlink: document portability issue with symlink length
34367         * doc/posix-functions/lstat.texi (lstat): Mention that some file
34368         systems have bogus st_size on symlinks, and mention the
34369         areadlink-with-size module.
34370         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34371         * doc/posix-functions/readlink.texi (readlink): Mention the
34372         areadlink module, and ERANGE failure.
34373         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34374         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
34375
34376         readlink: fix Solaris 9 bug with trailing slash
34377         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
34378         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
34379         * doc/posix-functions/readlink.texi (readlink): Document this.
34380         * modules/readlink-tests: New test.
34381         * tests/test-readlink.c: Likewise.
34382
34383         readlink: fix cygwin 1.5.x bug with return type
34384         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34385         * lib/unistd.in.h (readlink): Use ssize_t.
34386         * lib/readlink.c (readlink): Likewise.
34387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34388         * modules/unistd (Makefile.am): Substitute it.
34389         * lib/unistd.in.h (readlink): Declare replacement.
34390         * doc/posix-functions/readlink.texi (readlink): Document this.
34391
34392         symlink: use throughout gnulib
34393         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34394         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34395         symlink is not used.
34396         * modules/symlinkat (Depends-on): Add symlink.
34397         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34398         * modules/canonicalize-tests (Depends-on): Likewise.
34399         * modules/lstat-tests (Depends-on): Likewise.
34400         * modules/openat-tests (Depends-on): Likewise.
34401         * modules/remove-tests (Depends-on): Likewise.
34402         * modules/rmdir-tests (Depends-on): Likewise.
34403         * modules/unlink-tests (Depends-on): Likewise.
34404         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34405         * tests/test-canonicalize.c (symlink): Likewise.
34406         * tests/test-fstatat.c (symlink): Likewise.
34407         * tests/test-lstat.c (symlink): Likewise.
34408         * tests/test-remove.c (symlink): Likewise.
34409         * tests/test-rmdir.c (symlink): Likewise.
34410         * tests/test-unlink.c (symlink): Likewise.
34411         * tests/test-unlinkat.c (symlink): Likewise.
34412
34413         symlink: new module, for Solaris 9 bug
34414         * modules/symlink: New file.
34415         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34416         * lib/symlink.c: Likewise.
34417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34418         * modules/unistd (Makefile.am): Substitute them.
34419         * lib/unistd.in.h (symlink): Declare replacement.
34420         * MODULES.html.sh (File system functions): Mention it.
34421         * doc/posix-functions/symlink.texi (symlink): Likewise.
34422         * modules/symlink-tests: New test.
34423         * tests/test-symlink.c: Likewise.
34424
34425 2009-09-23  Bruno Haible  <bruno@clisp.org>
34426
34427         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34428         when needed.
34429         Test case: gnulib-tool --import --with-tests atexit inttypes.
34430         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34431
34432 2009-09-23  Bruno Haible  <bruno@clisp.org>
34433
34434         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34435         subcommand, not in a subshell.
34436
34437 2009-09-22  Eric Blake  <ebb9@byu.net>
34438
34439         unistd: sort replacement declarations
34440         * lib/unistd.in.h: Sort declarations.
34441
34442         open, openat: minor optimization
34443         * lib/open.c (open): If open succeeded, len is non-zero.
34444         * lib/openat.c (rpl_openat): Likewise.
34445
34446         link-follow: ensure correct result
34447         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34448         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34449         distinguish between possible failures.
34450
34451 2009-09-21  Eric Blake  <ebb9@byu.net>
34452
34453         fts: avoid compiler warning
34454         * lib/fts.c (dirent_inode_sort_may_be_useful)
34455         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34456
34457 2009-09-19  Bruno Haible  <bruno@clisp.org>
34458
34459         * lib/progreloc.c (canonicalize_file_name): New declaration.
34460
34461 2009-09-19  Eric Blake  <ebb9@byu.net>
34462
34463         link: fix quoting
34464         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34465
34466         openat: fix openat bugs on Solaris 9
34467         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34468         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34469         * modules/openat (Depends-on): Add open.
34470         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34471         * modules/fcntl-h (Makefile.am): Substitute it.
34472         * lib/fcntl.in.h (openat): Declare replacement.
34473         * doc/posix-functions/openat.texi (openat): Document this.
34474
34475         openat: move fstatat and unlinkat into correct files
34476         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34477         compiled.
34478         * lib/openat.c (fstatat, unlinkat): Move...
34479         * lib/fstatat.c (fstatat): ...into correct files.
34480         * lib/unlinkat.c (unlinkat): Likewise.
34481
34482         openat: fix unlinkat bugs on Solaris 9
34483         * lib/unlinkat.c (unlinkat): New file.
34484         * modules/openat (Depends-on): Add unlink.
34485         (Files): Distribute it.
34486         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34487         trailing slash behavior is broken.
34488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34489         * modules/unistd (Makefile.am): Substitute it.
34490         * lib/unistd.in.h (unlinkat): Declare replacement.
34491         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34492
34493         openat: fix fstatat bugs on Solaris 9
34494         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34495         stat.
34496         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34497
34498         test-unlinkat: enhance test, to expose Solaris 9 bug
34499         * tests/test-unlink.c (main): Factor guts...
34500         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34501         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34502         * tests/test-rmdir.c (main): Adjust caller.
34503         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34504         (unlinker): New helper function.
34505         (rmdirat): Enhance check.
34506         * modules/rmdir-tests (Depends-on): Add stdbool.
34507         * modules/unlink-tests (Depends-on): Likewise.
34508         (Files): Add test-unlink.h.
34509         * modules/openat-tests (Files): Likewise.
34510         (Depends-on): Add unlinkdir.
34511
34512         test-fstatat: new test, to expose Solaris 9 bugs
34513         * tests/test-stat.c (main): Factor guts...
34514         * tests/test-stat.h (test_stat_func): ...into new file.
34515         * tests/test-lstat.c (main): Factor guts...
34516         * tests/test-lstat.h (test_lstat_func): ...into new file.
34517         * tests/test-fstatat.c: New file.
34518         * modules/stat-tests (Files): Add test-stat.h.
34519         * modules/lstat-tests (Files): Add test-lstat.h.
34520         (Depends-on): Add stdbool.
34521         * modules/openat-tests (Depends-on): Add pathmax.
34522         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34523         (Makefile.am): Run new test.
34524
34525         remove: new module, for mingw and Solaris 9 bugs
34526         * modules/remove: New file.
34527         * lib/remove.c: Likewise.
34528         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34529         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34530         * modules/stdio (Makefile.am): Use them.
34531         * lib/stdio.in.h (remove): Declare replacement.
34532         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34533         * doc/posix-functions/remove.texi (remove): Likewise.
34534         * modules/remove-tests: New test.
34535         * tests/test-remove.c: Likewise.
34536
34537         unlink: new module, for Solaris 9 bug
34538         * modules/unlink: New file.
34539         * lib/unlink.c: Likewise.
34540         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34542         * modules/unistd (Makefile.am): Use them.
34543         * lib/unistd.in.h (stat): Declare replacement.
34544         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34545         * doc/posix-functions/unlink.texi (unlink): Likewise.
34546         * modules/unlink-tests: New test.
34547         * tests/test-unlink.c: Likewise.
34548
34549         lstat: fix Solaris 9 bug
34550         * lib/lstat.c (lstat): Also check for trailing slash on
34551         non-symlink, non-directories.  Use stat module to simplify logic.
34552         * doc/posix-functions/lstat.texi (lstat): Document it.
34553         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34554         (configure.ac): Check for symlink.
34555         * tests/test-lstat.c (main): Add more tests.
34556
34557         stat: add as dependency to other modules
34558         * modules/chown (Depends-on): Add stat.
34559         * modules/euidaccess (Depends-on): Likewise.
34560         * modules/fchdir (Depends-on): Likewise.
34561         * modules/isdir (Depends-on): Likewise.
34562         * modules/link (Depends-on): Likewise.
34563         * modules/lstat (Depends-on): Likewise.
34564         * modules/mkdir-p (Depends-on): Likewise.
34565         * modules/modechange (Depends-on): Likewise.
34566         * modules/open (Depends-on): Likewise.
34567         * modules/readlink (Depends-on): Likewise.
34568         * modules/same (Depends-on): Likewise.
34569
34570         stat: fix Solaris 9 bug
34571         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34572         slash.
34573         * lib/stat.c (rpl_stat): Work around it.
34574         * doc/posix-functions/stat.texi (stat): Update documentation.
34575
34576         stat: new module, for mingw bug
34577         * modules/stat: New file.
34578         * lib/stat.c: Likewise.
34579         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34580         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34581         * modules/sys_stat (Makefile.am): Use them.
34582         * lib/sys_stat.in.h (stat): Declare replacement.
34583         * lib/openat.c (fstatat): Deal with lstat and stat being function
34584         macros.
34585         * modules/openat (Depends-on): Add inline.
34586         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34587         * doc/posix-functions/stat.texi (stat): Likewise.
34588         * modules/stat-tests: New test.
34589         * tests/test-stat.c: Likewise.
34590
34591 2009-09-19  Jim Meyering  <meyering@redhat.com>
34592
34593         syntax-check: detect unnecessary inclusion of canonicalize.h
34594         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34595
34596 2009-09-19  Eric Blake  <ebb9@byu.net>
34597
34598         canonicalize-lgpl: adjust clients to use correct header
34599         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34600         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34601         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34602         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34603         * lib/progreloc.c (includes): Likewise.
34604
34605 2009-09-19  Jim Meyering  <meyering@redhat.com>
34606
34607         test-posixtm.c: correct a comment
34608         * tests/test-posixtm.c: Correct first-line comment.
34609         Spotted by Eric Blake.
34610
34611 2009-09-16  Jim Meyering  <meyering@redhat.com>
34612
34613         posixtm-tests: make T const-correct; add a test case
34614         * tests/test-posixtm.c (T): Declare const.
34615         Add a test for -(2^31+1).
34616         Remove useless can-succeed-only-in-2002 test.
34617
34618         posixtm-tests: adjust the sole failing test
34619         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34620         expected output matches what mktime now produces.  Cross-checked via
34621         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34622
34623         posixtm: move #ifdef'd tests into a new module
34624         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34625         * tests/test-posixtm.c: ... this new file.
34626         * modules/posixtm-tests: New module.
34627
34628 2009-09-19  Eric Blake  <ebb9@byu.net>
34629
34630         openat: simplify use of at-func.c
34631         * lib/at-func.c (includes): Include prerequisites here, to
34632         simplify requirements on client files.
34633         * lib/openat-priv.h: Add double-inclusion guard.
34634         * lib/faccessat.c (includes): Simplify.
34635         * lib/fchmodat.c (includes): Likewise.
34636         * lib/fchownat.c (includes): Likewise.
34637         * lib/mkdirat.c (includes): Likewise.
34638         * lib/mkfifoat.c (includes): Likewise.
34639         * lib/symlinkat.c (includes): Likewise.
34640
34641         openat: allow return of fd 0
34642         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34643         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34644         unistd-safer.
34645         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34646         <fcntl.h>; this module does not leak fds.
34647         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34648         must be allowed to return 0, leaving openat_safer to add the
34649         safety.
34650         (openat_permissive): Avoid writing to just-opened fd 2 if
34651         restoring the current directory fails.
34652         * lib/openat-die.c (openat_restore_fail): Add comment.
34653         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34654         (save_cwd): Guarantee safe fd, but without use of open_safer.
34655         * tests/test-openat.c: New test.
34656         * modules/openat-tests (Files, Makefile.am): Distribute and build
34657         new file.
34658
34659         relocatable-prog-wrapper: fix build
34660         * modules/relocatable-prog-wrapper (Files): Update name of
34661         canonicalize m4 file, broken on 2009-09-17.
34662         Reported by emad hajjar <aleppos@hotmail.com>.
34663
34664 2009-09-19  Bruno Haible  <bruno@clisp.org>
34665
34666         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34667         * lib/safe-alloc.c: Likewise.
34668         Reported by Ian Beckwith <ianb@erislabs.net>.
34669
34670 2009-09-18  Bruno Haible  <bruno@clisp.org>
34671
34672         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34673         Reported by <erobles@sensacd.com.mx>.
34674
34675 2009-09-17  Eric Blake  <ebb9@byu.net>
34676
34677         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34678         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34679         slashes when checking if last component is missing.
34680         * tests/test-canonicalize.c (main): Test this.
34681
34682         canonicalize, canonicalize-lgpl: honor // if distinct from /
34683         * modules/canonicalize (Files): Add double-slash-root.m4.
34684         * modules/canonicalize-lgpl (Files): Likewise.
34685         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34686         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34687         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34688         fallback definition.
34689         (canonicalize_filename_mode): Use it to protect //.
34690         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34691         (__realpath): Likewise.
34692         * tests/test-canonicalize.c (main): Test this.
34693         * tests/test-canonicalize-lgpl.c (main): Likewise.
34694         * modules/canonicalize-tests (Depends-on): Add same-inode.
34695         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34696
34697         canonicalize-lgpl: fix glibc bug with trailing slash
34698         * m4/canonicalize-lgpl.m4: Move contents...
34699         * m4/canonicalize.m4: ...here.
34700         (gl_CANONICALIZE_LGPL): Factor realpath check...
34701         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34702         glibc 2.3.5 bug, fixed 2005-04-27.
34703         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34704         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34705         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34706         * modules/canonicalize-lgpl (Files): Manage file rename.
34707         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34708         * modules/stdlib (Makefile.am): Substitute witness.
34709         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34710         is needed.
34711         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34712         replacement is required.
34713         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34714         * doc/glibc-functions/canonicalize_file_name.texi
34715         (canonicalize_file_name): Document this.
34716         * doc/posix-functions/realpath.texi (realpath): Likewise.
34717
34718         canonicalize-lgpl: reject non-directory with trailing slash
34719         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34720         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34721         catches failures in glibc 2.3.5.
34722         * tests/test-canonicalize.c (main): Likewise.
34723
34724         canonicalize-lgpl: use native realpath if it works
34725         * lib/canonicalize-lgpl.c (realpath): Guard with
34726         FUNC_REALPATH_WORKS.
34727         * lib/stdlib.in.h (realpath): Make declaration optional based on
34728         HAVE_REALPATH.
34729         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34730         native realpath works.
34731         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34732         * modules/stdlib (Makefile.am): Substitute witness.
34733
34734         canonicalize, canonicalize-lgpl: use <stdlib.h>
34735         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34736         (Include): Mention <stdlib.h>.
34737         (configure.ac): Mention functions we provide.
34738         * modules/canonicalize (configure.ac): Likewise.
34739         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34740         realpath if canonicalize_file_name is missing.
34741         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34742         * modules/stdlib (Makefile.am): Substitute witnesses.
34743         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34744         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34745         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34746         * NEWS: Document this.
34747         * doc/glibc-functions/canonicalize_file_name.texi
34748         (canonicalize_file_name): Likewise.
34749         * doc/posix-functions/realpath.texi (realpath): Likewise.
34750         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34751
34752         test-canonicalize: consolidate into single C program
34753         * tests/test-canonicalize.sh: Delete; move setup into...
34754         * tests/test-canonicalize.c (main): ...the program, making it
34755         easier to run in debugger.  Add some tests.
34756         * modules/canonicalize-tests (Files): Remove unused file.
34757         (Depends-on): Add progname.
34758         (configure.ac, Makefile.am): Simplify.
34759
34760         test-canonicalize-lgpl: consolidate into single C program
34761         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34762         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34763         easier to run in debugger.  Add some tests.
34764         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34765         (configure.ac, Makefile.am): Simplify.
34766
34767         canonicalize: avoid resolvepath
34768         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34769         unnecessary checks.
34770         * lib/canonicalize.c (includes): Simplify.
34771         (canonicalize_file_name): Drop resolvepath implementation.
34772         * modules/canonicalize (Depends-on): Drop filenamecat.
34773
34774         canonicalize: don't lose errno
34775         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34776         over calls to free.
34777
34778         canonicalize: simplify errno handling
34779         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34780         assignment.
34781
34782         canonicalize, canonicalize-lgpl: update module dependencies
34783         * modules/canonicalize (Depends-on): Add extensions, lstat,
34784         pathmax, stdlib.
34785         (Files): Drop pathmax.h.
34786         (configure.ac): Adjust macro name.
34787         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34788         lstat, stdlib, sys_stat.
34789         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34790         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34791         extensions.
34792         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
34793         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
34794         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
34795         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
34796         declaration, if available.
34797         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
34798         we can rely on the readlink module.
34799         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
34800         (includes): Use <unistd.h> unconditionally.
34801
34802 2009-09-17  Eric Blake  <ebb9@byu.net>
34803
34804         maint: make Include sections of modules consistent
34805         * modules/alloca: Use only header name; no need to list #include.
34806         * modules/alloca-opt: Likewise.
34807         * modules/arpa_inet: Likewise.
34808         * modules/canon-host: Likewise.
34809         * modules/configmake: Likewise.
34810         * modules/dirent: Likewise.
34811         * modules/eealloc: Likewise.
34812         * modules/environ: Likewise.
34813         * modules/fchdir: Likewise.
34814         * modules/fcntl: Likewise.
34815         * modules/fcntl-h: Likewise.
34816         * modules/gethrxtime: Likewise.
34817         * modules/gettime: Likewise.
34818         * modules/ignore-value: Likewise.
34819         * modules/inet_ntop: Likewise.
34820         * modules/inet_pton: Likewise.
34821         * modules/inttypes: Likewise.
34822         * modules/isnand-nolibm: Likewise.
34823         * modules/isnanf-nolibm: Likewise.
34824         * modules/mbchar: Likewise.
34825         * modules/mbfile: Likewise.
34826         * modules/mbiter: Likewise.
34827         * modules/mbuiter: Likewise.
34828         * modules/netdb: Likewise.
34829         * modules/netinet_in: Likewise.
34830         * modules/nproc: Likewise.
34831         * modules/pagealign_alloc: Likewise.
34832         * modules/poll: Likewise.
34833         * modules/printf-frexp: Likewise.
34834         * modules/pthread: Likewise.
34835         * modules/putenv: Likewise.
34836         * modules/random_r: Likewise.
34837         * modules/relocatable-prog: Likewise.
34838         * modules/search: Likewise.
34839         * modules/select: Likewise.
34840         * modules/selinux-h: Likewise.
34841         * modules/settime: Likewise.
34842         * modules/signal: Likewise.
34843         * modules/size_max: Likewise.
34844         * modules/socklen: Likewise.
34845         * modules/ssize_t: Likewise.
34846         * modules/stdarg: Likewise.
34847         * modules/stdbool: Likewise.
34848         * modules/stddef: Likewise.
34849         * modules/stdint: Likewise.
34850         * modules/stdio: Likewise.
34851         * modules/stdlib: Likewise.
34852         * modules/string: Likewise.
34853         * modules/strings: Likewise.
34854         * modules/sys_file: Likewise.
34855         * modules/sys_ioctl: Likewise.
34856         * modules/sys_select: Likewise.
34857         * modules/sys_socket: Likewise.
34858         * modules/sys_stat: Likewise.
34859         * modules/sys_time: Likewise.
34860         * modules/sys_times: Likewise.
34861         * modules/sys_utsname: Likewise.
34862         * modules/sys_wait: Likewise.
34863         * modules/sysexits: Likewise.
34864         * modules/time: Likewise.
34865         * modules/times: Likewise.
34866         * modules/tmpfile: Likewise.
34867         * modules/trim: Likewise.
34868         * modules/unistd: Likewise.
34869         * modules/wchar: Likewise.
34870         * modules/wctype: Likewise.
34871
34872 2009-09-17  Bruno Haible  <bruno@clisp.org>
34873
34874         Make getdate.y compile on QNX and NetBSD 5 / i386.
34875         * m4/getdate.m4 (gl_GETDATE): Conditionally define
34876         TIME_T_FITS_IN_LONG_INT.
34877         * lib/getdate.y (long_time_t): New type.
34878         (relative_time): Change type of 'seconds' field to long_time_t.
34879         (get_date): Update types of local variables. Check against overflow
34880         during conversion from long_time_t to time_t.
34881         Reported by Matt Kraai <kraai@ftbfs.org>
34882         and Hasso Tepper <hasso@netbsd.org>.
34883
34884 2009-09-17  Bruno Haible  <bruno@clisp.org>
34885
34886         * modules/COPYING: Update copyright years.
34887         * modules/README: Likeiwse.
34888         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
34889         Reported by Ian Beckwith <ianb@erislabs.net>.
34890
34891 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34892
34893         * users.txt: Update references for gnuit package.
34894
34895 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34896
34897         * m4/getdelim.m4: Fix typo in copyright line.
34898
34899 2009-09-17  Bruno Haible  <bruno@clisp.org>
34900
34901         * lib/atoll.c: Use the standard header with GPL copyright.
34902         * lib/argz.in.h: Likewise.
34903         * lib/glob.c: Likewise.
34904         * lib/glob-libc.h: Likewise.
34905         * lib/random_r.c: Likewise.
34906         * lib/siglist.h: Likewise.
34907         * lib/strsignal.c: Likewise.
34908         Reported by Ian Beckwith <ianb@erislabs.net>.
34909
34910 2009-09-17  Eric Blake  <ebb9@byu.net>
34911
34912         rmdir: ensure correct dependency order
34913         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
34914
34915 2009-09-17  Bruno Haible  <bruno@clisp.org>
34916
34917         Disable assertion that fails on NetBSD 5 / i386.
34918         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
34919         Reported by Sam Steingold <sds@gnu.org>
34920         and Hasso Tepper <hasso@netbsd.org>.
34921
34922 2009-09-16  Eric Blake  <ebb9@byu.net>
34923
34924         unlinkdir: port to mingw
34925         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
34926         on which no one can unlink a directory.
34927
34928         stdlib: sort witness names
34929         * modules/stdlib (Makefile.am): Sort replacements.
34930         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34931         * lib/stdlib.in.h: Likewise.
34932
34933         parse-duration-tests: avoid link failure
34934         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
34935         LIBINTL.
34936         Reported by Tom G. Christensen.
34937
34938         openat-tests: ensure unlinkat behaves like rmdir
34939         * tests/test-rmdir.c (main): Factor guts...
34940         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
34941         * modules/rmdir-tests (Files): Ship new file.
34942         * modules/openat-tests: New test.
34943         * tests/test-unlinkat.c: Likewise.
34944
34945         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
34946         * modules/rmdir-errno (Status, Notice): Now obsolete.
34947
34948         rmdir: work around cygwin 1.5.x and mingw bugs
34949         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
34950         * lib/rmdir.c (rmdir): Work around it.
34951         * modules/rmdir (Status, Notice): No longer obsolete.
34952         (Files): Add dos.m4.
34953         (Depends-on): Add unistd.
34954         (configure.ac): Set witnesses.
34955         (License): Relax to LGPLv2+.
34956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
34957         * modules/unistd (Makefile.am): Substitute witnesses.
34958         * lib/unistd.in.h (rmdir): Declare replacement.
34959         * doc/posix-functions/rmdir.texi (rmdir): Document this.
34960         * modules/rmdir-tests: New tests.
34961         * tests/test-rmdir.c: Likewise.
34962
34963 2009-09-15  Eric Blake  <ebb9@byu.net>
34964
34965         fchdir: improve use of replacement functions
34966         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
34967         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
34968         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
34969         REPLACE_CLOSEDIR.
34970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
34971         * modules/sys_stat (Makefile.am): Substitute correct witness.
34972         * modules/dirent (Makefile.am): Likewise.
34973         * modules/unistd (Makefile.am): Likewise.
34974         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
34975         * lib/unistd.in.h (dup): Likewise.
34976         * lib/sys_stat.in.h (fstat): Likewise.
34977
34978         maint: ignore gnulib-tool temp files
34979         * .gitignore: Ignore files created during gnulib-tool --test.
34980
34981 2009-09-13  Jim Meyering  <meyering@redhat.com>
34982
34983         posixtm: don't reject a time that specify "60" as the number of seconds
34984         * lib/posixtm.c (posixtime): The code to reject invalid dates
34985         would also reject a time specified with the .60 suffix.
34986         But POSIX allows that, in order to accommodate leap seconds.
34987         So don't reject it.
34988         (main): Adjust tests accordingly.
34989         * modules/posixtm (Depends-on): Add stpcpy.
34990
34991 2009-09-11  Jim Meyering  <meyering@redhat.com>
34992
34993         announce-gen: include [$release_type] in emitted Subject:
34994         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
34995         e.g., [stable] in the emitted Subject: line.
34996
34997 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34998
34999         Remove obsolete macros from several modules.
35000         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
35001         obsolete Autoconf macros with their modern counterparts.
35002         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
35003         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
35004         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
35005         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35006         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
35007         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35008         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
35009         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35010         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
35011         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
35012         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
35013         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
35014         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
35015         * m4/sockets.m4 (gl_SOCKETS): Likewise.
35016         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
35017         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
35018         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35019         * m4/time_r.m4 (gl_TIME_R): Likewise.
35020         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
35021         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
35022         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35023
35024         Fix copyright header in build-aux scripts.
35025         * build-aux/git-version-gen: Fix copyright header to match GPLv3
35026         recommendation.
35027         * build-aux/ncftpput-ftp: Likewise.
35028         * build-aux/update-copyright: Likewise.
35029
35030 2009-09-09  Eric Blake  <ebb9@byu.net>
35031
35032         test-link: allow Linux choice of errno
35033         * tests/test-link.c (main): Relax test for alternate error.
35034
35035         strndup: fix improper m4 caching
35036         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
35037         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
35038         (gl_PREREQ_STRNDUP): Delete.
35039         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
35040         * modules/string (Makefile.am): Substitute it.
35041         * lib/string.in.h (strndup): Modernize prototype.
35042
35043         getcwd: port to mingw
35044         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
35045         different from the POSIX assumptions made throughout the getcwd
35046         module; fortunately, the mingw getcwd does not need replacement.
35047         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
35048         * modules/getcwd-tests: New test.
35049         * tests/test-getcwd.c: Likewise.
35050
35051         link: fix platform bugs
35052         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
35053         * lib/link.c (link): Work around them.  Fix related mingw bug.
35054         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
35055         * modules/unistd (Makefile.am): Substitute it.
35056         * lib/unistd.in.h (link): Declare replacement.
35057         * doc/posix-functions/link.texi (link): Document this.
35058         * modules/link (Depends-on): Add strdup-posix, sys_stat.
35059
35060         test-link: consolidate into single C program, test more cases
35061         * tests/test-link.sh: Delete.
35062         * tests/test-link.c: Test more error conditions.  Exposes bugs on
35063         at least Cygwin and Solaris.
35064         * modules/link-tests (Files): Remove unused file.
35065         (Depends-on): Add errno, sys_stat.
35066         (Makefile.am): Simplify.
35067
35068 2009-09-08  Bruno Haible  <bruno@clisp.org>
35069
35070         Work around towlower, towupper bug on mingw.
35071         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
35072         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
35073         * doc/posix-functions/towlower.texi: Mention the mingw bug.
35074         * doc/posix-functions/towupper.texi: Likewise.
35075         Reported by Eric Blake.
35076
35077 2009-09-08  Jim Meyering  <meyering@redhat.com>
35078
35079         build: don't try to run autoheader if we don't use it
35080         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
35081         is not used in configure.ac.
35082
35083 2009-09-08  Eric Blake  <ebb9@byu.net>
35084
35085         euidaccess: fix compilation error
35086         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
35087
35088         rawmemchr: relax license
35089         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
35090         okay.
35091         Reported by Jim Meyering.
35092
35093         mkfifoat: new module
35094         * modules/mkfifoat: New file.
35095         * lib/mkfifoat.c: Likewise.
35096         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
35097         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35098         * modules/sys_stat (Makefile.am): Use them.
35099         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
35100         * MODULES.html.sh (File system functions): Mention module.
35101         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35102         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35103         * modules/mkfifoat-tests: New test.
35104         * tests/test-mkfifoat.c: Likewise.
35105
35106         strchrnul: relax license
35107         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
35108         okay.
35109         Reported by Jim Meyering.
35110
35111 2009-09-08  Eric Blake  <ebb9@byu.net>
35112
35113         fstatat: fix compilation on Solaris
35114         * lib/fstatat.c (includes): Add fcntl.h.
35115         Reported by Pádraig Brady.
35116
35117 2009-09-07  Eric Blake  <ebb9@byu.net>
35118
35119         rename: modernize replacement
35120         * modules/rename (Depends-on): Add stdio.
35121         (configure.ac): Declare witness.
35122         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
35123         stdio take care of replacement.
35124         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35125         * modules/stdio (Makefile.am): Substitute them.
35126         * lib/stdio.in.h (rename): Declare replacement.
35127         * lib/rename.c (includes): Allow cross-compilation to non-windows
35128         machines.
35129         * doc/posix-functions/rename.texi (rename): Improve
35130         documentation.
35131
35132         stdio: sort witness names
35133         * modules/stdio (Makefile.am): Sort replacements.
35134         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35135         * lib/stdio.in.h: Likewise.
35136
35137         getcwd: minor cleanups
35138         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
35139         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
35140
35141         openat: provide more convenience names
35142         * modules/faccessat (configure.ac): Add C witness.
35143         * lib/unistd.in.h (readlinkat): Fix typo.
35144         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
35145         convenience wrappers.
35146         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
35147         wrappers in syntax checks.
35148
35149 2009-09-06  Eric Blake  <ebb9@byu.net>
35150
35151         doc: fix comments in recent patches
35152         * lib/faccessat.c: Mention correct function.
35153         * lib/fchmodat.c: Likewise.
35154         * lib/fchownat.c: Likewise.
35155         * lib/symlinkat.c: Likewise.
35156         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
35157         constants.
35158
35159         faccessat, symlinkat: continue cleanup of previous patch
35160         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
35161         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35162         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
35163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
35164         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
35165         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
35166         set.
35167
35168 2009-09-06  Bruno Haible  <bruno@clisp.org>
35169
35170         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
35171         (fstatat): Declare if GNULIB_FSTATAT is set.
35172         (mkdirat): Declare if GNULIB_MKDIRAT is set.
35173         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
35174         (unlinkat): Declare if GNULIB_UNLINKAT is set.
35175         * modules/fcntl-h (Files): Remove m4/openat.m4.
35176         * modules/sys_stat (Files): Remove m4/openat.m4.
35177         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
35178         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
35179         * modules/unistd (Files): Remove m4/openat.m4.
35180         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
35181         GNULIB_OPENAT.
35182         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
35183         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
35184         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
35185         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
35186         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
35187         gl_OPENAT_DEFAULTS.
35188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
35189         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
35190         Don't require gl_OPENAT_DEFAULTS.
35191         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
35192         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
35193         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
35194         (gl_OPENAT_DEFAULTS): Remove macro.
35195
35196 2009-09-06  Bruno Haible  <bruno@clisp.org>
35197
35198         * modules/openat (configure.ac): Remove unneeded witness.
35199
35200 2009-09-06  Bruno Haible  <bruno@clisp.org>
35201
35202         Set errno to ENOSYS when a function is entirely unsupported.
35203         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
35204         EOPNOTSUPP.
35205         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35206         * modules/chown (Depends-on): Remove errno.
35207
35208 2009-09-06  Bruno Haible  <bruno@clisp.org>
35209
35210         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
35211
35212 2009-09-06  Bruno Haible  <bruno@clisp.org>
35213
35214         * lib/sys_stat.in.h: Fix preprocessor command indentation.
35215
35216 2009-09-06  Ben Pfaff  <blp@gnu.org>
35217             Bruno Haible  <bruno@clisp.org>
35218
35219         Work around a glibc bug in strtok_r.
35220         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
35221         Undefine if UNDEFINE_STRTOK_R is set.
35222         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
35223         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35224         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
35225         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
35226         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
35227         UNDEFINE_STRTOK_R.
35228         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
35229
35230 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
35231
35232         exclude: minor fix
35233         * lib/exclude.c: Include wctype.h
35234
35235 2009-09-06  Akim Demaille  <demaille@gostai.com>
35236
35237         bootstrap: improve error message
35238         * build-aux/bootstrap (find_tool): Upon failure, report the list
35239         of candidates.
35240         Honor the initial value of the envvar.
35241
35242 2009-09-05  Eric Blake  <ebb9@byu.net>
35243
35244         symlinkat: new module
35245         * modules/symlinkat: New file.
35246         * lib/symlinkat.c: Likewise.
35247         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
35248         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35249         * modules/unistd (Makefile.am): Use them.
35250         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
35251         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
35252         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
35253         * MODULES.html.sh (File system functions): Mention module.
35254         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35255         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35256         * modules/symlinkat-tests: New test.
35257         * tests/test-symlinkat.c: Likewise.
35258
35259         test-openat-safer: add more checks
35260         * tests/test-openat-safer.c (main): Check more code paths.
35261
35262 2009-09-05  Jim Meyering  <meyering@redhat.com>
35263
35264         syntax-check: detect unnecessary inclusion of openat.h
35265         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
35266
35267 2009-09-05  Bruno Haible  <bruno@clisp.org>
35268
35269         Support towlower, towupper.
35270         * doc/posix-functions/towlower.texi: Mention module wctype.
35271         * doc/posix-functions/towupper.texi: Likewise.
35272         * lib/wctype.in.h (towlower, towupper): New functions.
35273         * tests/test-wctype.c: Include stdio.h, stdlib.h.
35274         (ASSERT): New macro.
35275         (e): New variable.
35276         (main): Test also towlower, towupper. Test WEOF argument.
35277         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35278
35279 2009-09-05  Bruno Haible  <bruno@clisp.org>
35280
35281         Fix conversion behaviour when the input is invalid.
35282         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
35283         mark occurring in first pass of indirect conversion.
35284         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
35285         input.
35286         Found by clang's static analyzer.
35287
35288 2009-09-05  Bruno Haible  <bruno@clisp.org>
35289
35290         * tests/test-striconveh.c (main): Test indirect conversion on platforms
35291         where direct conversion is possible.
35292
35293 2009-09-04  Eric Blake  <ebb9@byu.net>
35294
35295         openat: fail with ENOENT on empty name
35296         * lib/openat-proc.c (openat_proc_name): Special-case the empty
35297         buffer.
35298
35299         link-follow: fix logic bug in prior patch
35300         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
35301         reversed sense of yes and no in prior patch.  Avoid confusing
35302         compilation failure with desired semantics.
35303
35304         link-follow: accomodate mingw and cross-compilation
35305         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
35306         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
35307         cross-compilation results to -1, to make linkat easier to
35308         implement when cross-compiling.  Trivially support mingw.
35309         * modules/link-follow (configure.ac): Call new name.
35310         * NEWS: Mention this.
35311
35312 2009-09-03  Eric Blake  <ebb9@byu.net>
35313
35314         faccessat: compile replacement
35315         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
35316         needed.
35317
35318         fts: fix compilation error
35319         * lib/fts.c (includes): Re-add "openat.h", for
35320         openat_needs_fchdir.
35321
35322         faccessat: new module
35323         * modules/faccessat: New file.
35324         * lib/faccessat.c: Likewise.
35325         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35327         * modules/unistd (Makefile.am): Use it.
35328         * lib/unistd.in.h (faccessat): Declare it.
35329         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
35330         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
35331         * MODULES.html.sh (File system functions): Mention it.
35332         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
35333         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35334
35335         euidaccess: prefer POSIX over non-standard implementation
35336         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
35337         * lib/euidaccess.c (euidaccess): Use it if available.
35338
35339         openat: make template easier to use
35340         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
35341         AT_FUNC_F2 to be undefined.
35342         (VALIDATE_FLAG): New macro; use it to reject bad flags.
35343         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
35344         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
35345         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
35346         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
35347         Likewise.
35348         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
35349         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
35350         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
35351         Likewise.
35352
35353         openat: declare in POSIX headers
35354         * NEWS: Mention this.
35355         * modules/openat (configure.ac): Declare witnesses.
35356         (Depends-on): Add fcntl-h, sys_stat, unistd.
35357         (Include): Mention correct headers.
35358         * modules/fcntl-h (Depends-on): Add link-warning.
35359         (Files): Add openat.m4.
35360         (Makefile.am): Substitute witnesses.
35361         * modules/sys_stat (Files, Makefile.am): Likewise.
35362         * modules/unistd (Files, Makefile.am): Likewise.
35363         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
35364         (gl_OPENAT_DEFAULTS): New macro.
35365         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
35366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
35367         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
35368         (SYS_STAT_H): Remove unused variable.
35369         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
35370         * lib/fcntl--.h (includes): Remove unneeded header.
35371         * lib/openat-safer.c (includes): Likewise.
35372         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
35373         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
35374         appropriate headers.
35375         (__OPENAT_PREFIX): Delete.
35376         * lib/fcntl.in.h (openat): Provide declaration.
35377         (AT_FDCWD): Fix Solaris bug.
35378         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
35379         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
35380         * lib/fchmodat.c (includes):  Adjust to find declaration.
35381         * lib/fchownat.c (includes): Likewise.
35382         * lib/mkdirat.c (includes): Likewise.
35383         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35384         still visible.
35385
35386 2009-09-02  Eric Blake  <ebb9@byu.net>
35387
35388         errno: use consistently
35389         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35390         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35391         * lib/canonicalize.c (ELOOP): Likewise.
35392         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35393         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35394         * lib/lchown.c (EOPNOTSUPP): Likewise.
35395         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35396         * lib/savewd.c (ESTALE): Likewise.
35397         * lib/settime.c (ENOSYS): Likewise.
35398         * lib/utimens.c (ENOSYS): Likewise.
35399         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35400         * lib/chdir-safer.c (ELOOP): Likewise.
35401         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35402         * modules/c-stack (Depends-on): Add errno.
35403         * modules/canonicalize (Depends-on): Likewise.
35404         * modules/chdir-safer (Depends-on): Likewise.
35405         * modules/fdopendir (Depends-on): Likewise.
35406         * modules/inet_ntop (Depends-on): Likewise.
35407         * modules/inet_pton (Depends-on): Likewise.
35408         * modules/lchown (Depends-on): Likewise.
35409         * modules/openat (Depends-on): Likewise.
35410         * modules/savewd (Depends-on): Likewise.
35411         * modules/settime (Depends-on): Likewise.
35412         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35413
35414         fts: avoid leaking fds
35415         * modules/fts (Depends-on): Add cloexec.
35416         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35417         flag.
35418
35419         fts: make directory fds more robust
35420         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35421         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35422
35423         backupfile, chdir-long, fts, savedir: make safer
35424         * lib/backupfile.c (includes): Use "dirent--.h", since
35425         numbered_backup can write to stderr during readdir.
35426         * lib/savedir.c (includes): Likewise.
35427         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35428         emulation can write to stderr on failure.
35429         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35430         * lib/getcwd.c: Document why opendir_safer is unused.
35431         * lib/glob.c: Likewise.
35432         * lib/scandir.c: Likewise.
35433         * lib/openat-proc.c: Likewise, for open_safer.
35434         * modules/backupfile (Depends-on): Add dirent-safer.
35435         * modules/savedir (Depends-on): Likewise.
35436         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35437         * modules/chdir-long (Depends-on): Add openat-safer.
35438
35439         openat-safer: new module
35440         * modules/openat-safer: New file.
35441         * lib/openat-safer.c: Likewise.
35442         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35443         * lib/fcntl-safer.h (openat_safer): Declare.
35444         * lib/fcntl--.h (openat): Override.
35445         * MODULES.html.sh (File descriptor based I/O): Mention it.
35446         * lib/openat.h: Add double-inclusion guards.
35447         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35448         "fcntl--.h", so we can implement openat.
35449         * modules/openat-safer-tests: New test.
35450         * tests/test-openat-safer.c: New file.
35451
35452         dirent-safer: new module
35453         * modules/dirent-safer: New file.
35454         * lib/dirent--.h: Likewise.
35455         * lib/dirent-safer.h: Likewise.
35456         * lib/opendir-safer.c: Likewise.
35457         * m4/dirent-safer.m4: Likewise.
35458         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35459         * modules/dirent-safer-tests: New test.
35460         * tests/test-dirent-safer.c: New file.
35461         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35462
35463         fdopendir: optimize on mingw
35464         * lib/unistd.in.h (_gl_directory_name): New prototype.
35465         * lib/fchdir.c (_gl_directory_name): Implement it.
35466         (fchdir): Use it to simplify implementation.
35467         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35468         fchdir, when available, to avoid calling [f]chdir().
35469
35470         fdopendir: split into its own module
35471         * lib/openat.c (fdopendir): Move...
35472         * lib/fdopendir.c: ...into new file.
35473         * modules/fdopendir: New module.
35474         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35475         * modules/openat (Depends-on): Add fdopendir.
35476         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35477         fdopendir here.
35478         * modules/savedir (Depends-on): Only need fdopendir, not full
35479         openat.
35480         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35481         * lib/openat.h (fdopendir): Drop prototype.
35482         * lib/dirent.in.h (fdopendir): Provide prototype.
35483         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35484         * modules/dirent (Makefile.am): Substitute them.
35485         * MODULES.html.sh (File system functions): Mention it.
35486         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35487         * modules/fdopendir-tests: New file.
35488         * tests/test-fdopendir.c: Likewise.
35489
35490         fchdir: use more consistent macro convention
35491         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35492         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35493         REPLACE_FCHDIR, rather than relying on config.h macros.
35494         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35495         inside a single make-time REPLACE_FCHDIR block, rather than using
35496         the config.h FCHDIR_REPLACEMENT.
35497         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35498         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35499         Manage fstat replacement.
35500         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35501         REPLACE_FCHDIR.
35502         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35503         (Makefile.am): Substitute REPLACE_FCHDIR.
35504         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35505         FCHDIR_REPLACEMENT.
35506         * lib/dup-safer.c (dup_safer): Likewise.
35507         * lib/dup2.c (rpl_dup2): Likewise.
35508         * lib/dup3.c (rpl_dup3): Likewise.
35509         * lib/open.c (rpl_open): Likewise.
35510
35511         fchdir: simplify error handling, and support dup3
35512         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35513         stdbool, malloc-posix, realloc-posix.
35514         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35515         (ensure_dirs_slot): Return false on allocation failure.
35516         (rpl_dup2): Delete.
35517         (_gl_register_dup): New function.
35518         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35519         (_gl_register_fd): Close fd on allocation failure.
35520         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35521         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35522         prototype.
35523         (rpl_dup2_fchdir): Delete prototype.
35524         * lib/open.c (open): Update caller.
35525         * lib/dup2.c (dup2): Track fchdir metadata.
35526         * lib/dup3.c (dup3): Likewise.
35527         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35528         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35529
35530 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35531
35532         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35533         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35534         don't pass arguments to AC_OUTPUT.
35535
35536 2009-09-02  Bruno Haible  <bruno@clisp.org>
35537
35538         * modules/mkdtemp (License): Relicense under LGPLv2+.
35539         Reported by Paolo Bonzini.
35540
35541 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35542
35543         Replace uses of obsolete autoconf macros in Jim's modules.
35544         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35545         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35546         can evoke a warning from autoconf when run with -Wobsolete
35547         enabled.  They were declared obsolete for good reasons (see
35548         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35549         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35550         should not continue using the deprecated macros.
35551         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35552         obsolete Autoconf macros with modern counterparts.
35553         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35554         * m4/dos.m4 (gl_AC_DOS): Likewise.
35555         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35556         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35557         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35558         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35559         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35560         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35561         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35562         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35563         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35564         Likewise.
35565         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35566         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35567         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35568         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35569         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35570         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35571
35572 2009-09-01  Eric Blake  <ebb9@byu.net>
35573
35574         fchdir: fix off-by-one bug in previous patch
35575         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35576         (_gl_unregister_fd): Delete useless if.
35577
35578 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35579
35580         maint.mk: sort the list of syntax-check rules
35581         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35582         easier to get a sense of progress when the rules are run sequentially
35583         and take a long time.
35584
35585 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35586
35587         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35588         * modules/netinet_in: Likewise.
35589         * modules/sys_file: Likewise.
35590         * modules/sys_ioctl: Likewise.
35591         * modules/sys_select: Likewise.
35592         * modules/sys_socket: Likewise.
35593         * modules/sys_stat: Likewise.
35594         * modules/sys_time: Likewise.
35595         * modules/sys_times: Likewise.
35596         * modules/sys_utsname: Likewise.
35597         * modules/sys_wait: Likewise.
35598
35599 2009-09-01  Jim Meyering  <meyering@redhat.com>
35600
35601         fts: help ensure that return values are not ignored
35602         * lib/fts_.h (__GNUC_PREREQ): Define.
35603         (__attribute_warn_unused_result__): Define.
35604         (fts_children, fts_close, fts_open, fts_read): Declare with
35605         __attribute_warn_unused_result__.
35606
35607         fts: fts_close now fails also when closing a dir file descriptor fails
35608         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35609         and propagate to caller, along with errno.
35610
35611         announce-gen: correct formatting in --help output
35612         * build-aux/announce-gen (usage): Move the one-line description in
35613         --help output "up", to where it belongs, just after Usage:.
35614
35615 2009-08-31  Eric Blake  <ebb9@byu.net>
35616
35617         fchdir: port to mingw
35618         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35619         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35620         opened, then use a substitute.
35621         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35622         replacement.
35623         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35624         (_gl_register_fd): No need to check stat if open already filters
35625         all directories.
35626         (fchdir): Fix error condition to match POSIX.
35627         * modules/fchdir (Depends-on): Add sys_stat.
35628         * doc/posix-functions/open.texi (open): Document the limitation.
35629         * modules/fchdir-tests: New file.
35630         * tests/test-fchdir.c: Likewise.
35631
35632         canonicalize: allow cross-testing from cygwin to mingw
35633         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35634         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35635         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35636         Likewise.
35637         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35638         target does not support symlinks.
35639         * tests/test-canonicalize-lgpl.sh: Likewise.
35640
35641         chown: avoid compilation warning on mingw
35642         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35643         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35644         mingw.
35645         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35646         * modules/chown (Depends-on): Add errno.
35647
35648 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35649
35650         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35651         command.
35652
35653 2009-08-31  Jim Meyering  <meyering@redhat.com>
35654
35655         canonicalize: remove useless initialization
35656         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35657         initialization of local, "end".
35658
35659 2009-08-30  Bruno Haible  <bruno@clisp.org>
35660
35661         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35662         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35663         ENOSYS.
35664
35665 2009-08-30  Bruno Haible  <bruno@clisp.org>
35666
35667         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35668         /usr/xpg4/bin/tr when it exists.
35669         * tests/test-pipe-filter-gi1.sh: Likewise.
35670
35671 2009-08-30  Bruno Haible  <bruno@clisp.org>
35672
35673         Work around deficient /usr/bin/id program on Solaris.
35674         * tests/test-file-has-acl.sh (ID): New variable.
35675         * tests/test-set-mode-acl.sh (ID): Likewise.
35676         * tests/test-copy-acl.sh (ID): Likewise.
35677         * tests/test-copy-file.sh (ID): Likewise.
35678
35679 2009-08-30  Bruno Haible  <bruno@clisp.org>
35680
35681         New module 'xstriconveh'.
35682         * lib/xstriconveh.h: New file.
35683         * lib/xstriconveh.c: New file.
35684         * modules/xstriconveh: New file.
35685
35686 2009-08-30  Bruno Haible  <bruno@clisp.org>
35687
35688         Make it easier to use mem_cd_iconveh.
35689         * lib/striconveh.h (iconveh_t): New type.
35690         (iconveh_open, iconveh_close): New declarations.
35691         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35692         with a single 'const iconveh_t *' argument.
35693         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35694         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35695         with a single 'const iconveh_t *' argument.
35696         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35697         * tests/test-striconveh.c (main): Update.
35698         * NEWS: Mention the change.
35699
35700 2009-08-30  Bruno Haible  <bruno@clisp.org>
35701
35702         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35703         problem.
35704
35705 2009-08-30  Bruno Haible  <bruno@clisp.org>
35706
35707         Work around iconv_open problem on Solaris.
35708         * lib/iconv_open-solaris.gperf: New file.
35709         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35710         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35711         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35712         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35713         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35714         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35715
35716 2009-08-29  Jim Meyering  <meyering@redhat.com>
35717
35718         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35719         * top/maint.mk (cvs-check): Remove target; it was just an alias
35720         to the better-named vc-diff-check.
35721         (maintainer-distcheck): Remove rule.  It was used only from
35722         the (alpha/beta/major) target, and all of its commands but one
35723         were coreutils-specific.
35724         (vc-dist): Remove rule.
35725         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35726         Run vc-diff-check, not vc-dist.
35727         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35728
35729 2009-08-27  Bruno Haible  <bruno@clisp.org>
35730
35731         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35732         of 0.
35733
35734 2009-08-27  Bruno Haible  <bruno@clisp.org>
35735
35736         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35737         compilers.
35738         * doc/func.texi: Document the SunPRO C bug.
35739
35740 2009-08-27  Bruno Haible  <bruno@clisp.org>
35741
35742         Fix link error on Solaris.
35743         * tests/test-parse-duration.c (xstrdup): Remove function.
35744
35745 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35746
35747         ignore-value: handle pointer types, too
35748         * lib/ignore-value.h (__attribute__): Remove definition.
35749         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35750         of a more concise and more-often effective "(void) i" statement.
35751         (ignore_ptr): New function to suppress warnings from functions that
35752         return pointers, and to make it explicit that one function doesn't
35753         handle all cases.
35754
35755 2009-08-25  Bruno Haible  <bruno@clisp.org>
35756
35757         dup2: work around a Linux bug.
35758         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35759         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35760         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35761         Reported by Simon Josefsson.
35762
35763 2009-08-25  Jim Meyering  <meyering@redhat.com>
35764
35765         libguestfs uses gnulib
35766         * users.txt: Add libguestfs.
35767
35768 2009-08-24  Eric Blake  <ebb9@byu.net>
35769
35770         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35771         * lib/pipe2.c (includes): Add binary-io.h.
35772         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35773
35774 2009-08-24  Bruno Haible  <bruno@clisp.org>
35775
35776         Tolerate declared but missing accept4 syscall.
35777         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35778         available.
35779         * lib/sys_socket.in.h (accept4): If the function is already present,
35780         override it.
35781         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35782         * modules/accept4 (Makefile.am): Compile accept4.c always.
35783         Reported by Paolo Bonzini and Eric Blake.
35784
35785 2009-08-23  Bruno Haible  <bruno@clisp.org>
35786
35787         New module 'accept4'.
35788         * lib/sys_socket.in.h (accept4): New declaration.
35789         * lib/accept4.c: New file.
35790         * m4/accept4.m4: New file.
35791         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35792         GNULIB_ACCEPT4, HAVE_ACCEPT4.
35793         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
35794         HAVE_ACCEPT4.
35795         * modules/accept4: New file.
35796         * doc/glibc-functions/accept4.texi: Mention the new module.
35797
35798 2009-08-24  Jim Meyering  <meyering@redhat.com>
35799
35800         progname: also set global program_invocation_name, when possible
35801         Before this change, a libtool-enabled program that calls glibc's
35802         error function would report the program name as
35803         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
35804         * modules/progname (configure.ac): Check for a declaration of
35805         program_invocation_name.
35806         * lib/progname.c:  Include <errno.h>.
35807         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
35808         Set program_invocation_name.
35809
35810 2009-08-23  Bruno Haible  <bruno@clisp.org>
35811
35812         * lib/dup3.c: Include <string.h>.
35813
35814 2009-08-23  Bruno Haible  <bruno@clisp.org>
35815
35816         * lib/dup3.c (dup3): Test only once whether the system actually exists.
35817         * lib/pipe2.c (pipe2): Likewise.
35818         Suggested by Eric Blake.
35819
35820 2009-08-23  Bruno Haible  <bruno@clisp.org>
35821
35822         Tolerate declared but missing dup3 syscall.
35823         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
35824         * lib/unistd.in.h (dup3): If the function is already present,
35825         override it.
35826         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
35827         * modules/dup3 (Makefile.am): Compile dup3.c always.
35828         Reported by Paolo Bonzini.
35829
35830 2009-08-23  Bruno Haible  <bruno@clisp.org>
35831
35832         Tolerate declared but missing pipe2 syscall.
35833         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
35834         available.
35835         * lib/unistd.in.h (pipe2): If the function is already present,
35836         override it.
35837         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
35838         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
35839         Reported by Paolo Bonzini.
35840
35841 2009-08-23  Bruno Haible  <bruno@clisp.org>
35842
35843         * lib/pipe2.c (pipe2): Move #ifs inside function.
35844
35845 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35846
35847         quotearg: document limitations of quote_these_too
35848         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
35849         those limitations are created.
35850         * lib/quotearg.h (set_char_quoting): Document that digits and
35851         letters that are special after backslash are not permitted.
35852         (quotearg_char): Cross-reference set_char_quoting documentation.
35853
35854 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
35855
35856         quotearg: implement custom_quoting_style
35857         * lib/quotearg.c: (struct quoting_options): Add left_quote and
35858         right_quote fields.
35859         (set_custom_quoting): New public function.
35860         (quotearg_buffer_restyled): Add left_quote and right_quote
35861         arguments, handle them very much like locale quoting, and update
35862         all uses.
35863         (quotearg_n_custom): New public function.
35864         (quotearg_n_custom_mem): New public function.
35865         (quotearg_custom): New public function.
35866         (quotearg_custom_mem): New public function.
35867         * lib/quotearg.h: Prototype and document new public functions.
35868         (enum quoting_style): For escape_quoting_style and
35869         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
35870         ignored even though they're otherwise like c_quoting_style.
35871         Add custom_quoting_style member and document with comparison to
35872         clocale_quoting_style.
35873         * tests/test-quotearg.c (custom_quotes): New array.
35874         (custom_results): New array.
35875         (main): Extend to test custom quoting.
35876
35877 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35878
35879         quotearg: fix right quote escaping when it's in quote_these_too
35880         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
35881         quote, be sure to prepend only one backslash.
35882         * tests/test-quotearg.c (use_quote_double_quotes): New function.
35883         (main): Test it.
35884
35885 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35886
35887         quotearg-tests: test escaping of embedded locale quotes
35888         * tests/test-quotearg.c (struct result_strings): Add member for
35889         new input.
35890         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
35891         (inputs): Add new input.
35892         (results_g): Add expected results.
35893         (flag_results): Likewise.
35894         (locale_results): Likewise.
35895         (compare_strings): Check those.
35896
35897 2009-08-23  Bruno Haible  <bruno@clisp.org>
35898
35899         Tests for module 'dup3'.
35900         * modules/dup3-tests: New file.
35901         * tests/test-dup3.c: New file.
35902
35903         New module 'dup3'.
35904         * lib/unistd.in.h (dup3): New declaration.
35905         * lib/dup3.c: New file.
35906         * m4/dup3.m4: New file.
35907         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
35908         HAVE_DUP3.
35909         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
35910         * modules/dup3: New file.
35911         * doc/glibc-functions/dup3.texi: Mention the new module.
35912
35913 2009-08-23  Bruno Haible  <bruno@clisp.org>
35914
35915         Tweak the dup2 test.
35916         * tests/test-dup2.c (main): Create the test file empty. Verify that an
35917         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
35918         the test file is still empty. Fix argument order of lseek.
35919
35920 2009-08-23  Bruno Haible  <bruno@clisp.org>
35921
35922         Avoid test link errors when the modules getopt-gnu, gettext are used.
35923         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
35924         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35925
35926 2009-08-23  Bruno Haible  <bruno@clisp.org>
35927
35928         Fix getdtablesize() on mingw.
35929         * lib/getdtablesize.c (getdtablesize): Implement differently.
35930         * lib/unistd.in.h (getdtablesize): Improve comment.
35931
35932 2009-08-23  Bruno Haible  <bruno@clisp.org>
35933
35934         New module 'mkostemp'.
35935         Based on Ulrich Drepper's 2007-08-10 change in glibc.
35936         * lib/stdlib.in.h (mksotemp): New declaration.
35937         * lib/mkostemp.c: New file, from glibc with modifications.
35938         * lib/tempname.h (GT_FILE): Remove outdated comment.
35939         (gen_tempname): Add flags argument.
35940         * lib/tempname.c (__GT_BIGFILE): Remove macro.
35941         (__GT_FILE): Map to 1.
35942         (small_open, large_open): Remove macros.
35943         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
35944         * lib/mkstemp.c (mkstemp): Update.
35945         * lib/mkdtemp.c (mkdtemp): Likewise.
35946         * m4/mkostemp.m4: New file.
35947         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
35948         HAVE_MKOSTEMP.
35949         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
35950         HAVE_MKOSTEMP.
35951         * modules/mkostemp: New file, based on modules/mkstemp.
35952         * doc/glibc-functions/mkostemp.texi: Mention the new module.
35953         * NEWS: Mention the change.
35954
35955 2009-08-23  Bruno Haible  <bruno@clisp.org>
35956
35957         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
35958         Reported by Eric Blake.
35959
35960 2009-08-23  Bruno Haible  <bruno@clisp.org>
35961
35962         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
35963         Reported by Eric Blake.
35964
35965 2009-08-23  Bruno Haible  <bruno@clisp.org>
35966
35967         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
35968         * modules/pipe2 (Depends-on): Likewise.
35969
35970 2009-08-23  Eric Blake  <ebb9@byu.net>
35971
35972         fcntl-h: add O_TTY_INIT support
35973         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
35974         * tests/test-fcntl-h.c (o): Test it.
35975         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35976
35977         fcntl-h: rename from fcntl, in preparation for fcntl(2)
35978         * modules/fcntl: Move <fcntl.h> header replacement...
35979         * modules/fcntl-h: ...to new name, so as not to collide with
35980         like-named function.
35981         * tests/test-fcntl.c: Rename...
35982         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
35983         * modules/fcntl-tests: Rename...
35984         * modules/fcntl-h-tests: ...to this.  Update test file name.
35985         * modules/chdir-long (Depends-on): Update clients.
35986         * modules/chdir-safer (Depends-on): Likewise.
35987         * modules/fcntl-safer (Depends-on): Likewise.
35988         * modules/fts (Depends-on): Likewise.
35989         * modules/mkancesdirs (Depends-on): Likewise.
35990         * modules/mkdir-p (Depends-on): Likewise.
35991         * modules/open (Depends-on): Likewise.
35992         * modules/savewd (Depends-on): Likewise.
35993         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
35994         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35995
35996 2009-08-22  Bruno Haible  <bruno@clisp.org>
35997
35998         * modules/binary-io (License): Relicense under LGPL.
35999         * modules/pipe2 (License): Likewise.
36000
36001 2009-08-22  Bruno Haible  <bruno@clisp.org>
36002
36003         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
36004         return value.
36005         * lib/pipe-filter-gi.c (filter_init): Likewise.
36006         Reported by Eric Blake.
36007
36008 2009-08-22  Bruno Haible  <bruno@clisp.org>
36009
36010         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
36011         * modules/pipe (Depends-on): Add pipe2.
36012
36013 2009-08-22  Bruno Haible  <bruno@clisp.org>
36014
36015         Tests for module 'pipe2'.
36016         * modules/pipe2-tests: New file.
36017         * tests/test-pipe2.c: New file.
36018
36019         New module 'pipe2'.
36020         * lib/unistd.in.h (pipe2): New declaration.
36021         * lib/pipe2.c: New file.
36022         * m4/pipe2.m4: New file.
36023         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
36024         HAVE_PIPE2.
36025         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
36026         * modules/pipe2: New file.
36027         * doc/glibc-functions/pipe2.texi: Mention the new module.
36028
36029 2009-08-22  Bruno Haible  <bruno@clisp.org>
36030
36031         Reference some new glibc functions.
36032         * doc/glibc-functions/accept4.texi: New file.
36033         * doc/glibc-functions/dup3.texi: New file.
36034         * doc/glibc-functions/mkostemp.texi: New file.
36035         * doc/glibc-functions/pipe2.texi: New file.
36036         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
36037         (Glibc sys/socket.h): Refer to accept4.
36038         (Glibc unistd.h): Refer to dup3, pipe2.
36039         Reported by Eric Blake.
36040
36041 2009-08-22  Jim Meyering  <meyering@redhat.com>
36042             Bruno Haible  <bruno@clisp.org>
36043
36044         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
36045         This makes it so packages using automake-1.11's silent-rules option
36046         can print e.g., a single "GEN    configmake.h" line, rather than
36047         the 30+ statements that perform the job.  If you want to see the
36048         actual commands, you can still run "make V=1".
36049         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
36050         so that make output is abbreviated when those variables are defined
36051         appropriately.
36052         * modules/argz: Likewise.
36053         * modules/arpa_inet: Likewise.
36054         * modules/byteswap: Likewise.
36055         * modules/configmake: Likewise.
36056         * modules/dirent: Likewise.
36057         * modules/errno: Likewise.
36058         * modules/fcntl: Likewise.
36059         * modules/float: Likewise.
36060         * modules/fnmatch: Likewise.
36061         * modules/getopt-posix: Likewise.
36062         * modules/glob: Likewise.
36063         * modules/iconv_open: Likewise.
36064         * modules/inttypes: Likewise.
36065         * modules/localcharset: Likewise.
36066         * modules/locale: Likewise.
36067         * modules/math: Likewise.
36068         * modules/netdb: Likewise.
36069         * modules/netinet_in: Likewise.
36070         * modules/poll: Likewise.
36071         * modules/posix_spawnp-tests: Likewise.
36072         * modules/sched: Likewise.
36073         * modules/search: Likewise.
36074         * modules/selinux-h: Likewise.
36075         * modules/signal: Likewise.
36076         * modules/spawn: Likewise.
36077         * modules/stdarg: Likewise.
36078         * modules/stdbool: Likewise.
36079         * modules/stddef: Likewise.
36080         * modules/stdint: Likewise.
36081         * modules/stdio: Likewise.
36082         * modules/stdlib: Likewise.
36083         * modules/string: Likewise.
36084         * modules/strings: Likewise.
36085         * modules/sys_file: Likewise.
36086         * modules/sys_ioctl: Likewise.
36087         * modules/sys_select: Likewise.
36088         * modules/sys_socket: Likewise.
36089         * modules/sys_stat: Likewise.
36090         * modules/sys_time: Likewise.
36091         * modules/sys_times: Likewise.
36092         * modules/sys_utsname: Likewise.
36093         * modules/sys_wait: Likewise.
36094         * modules/sysexits: Likewise.
36095         * modules/time: Likewise.
36096         * modules/unistd: Likewise.
36097         * modules/wchar: Likewise.
36098         * modules/wctype: Likewise.
36099
36100 2009-08-22  Jim Meyering  <meyering@redhat.com>
36101
36102         announce-gen: detect write failure
36103         * build-aux/announce-gen: Add Coda at end.
36104         Remove equivalent-but-more-verbose block at top.
36105
36106 2009-08-19  Akim Demaille  <demaille@gostai.com>
36107
36108         bootstrap: --help to stdout.
36109         * bootstrap (usage): Don't send --help to stderr.
36110         Use a here doc instead of a long string.
36111
36112 2009-08-21  Eric Blake  <ebb9@byu.net>
36113
36114         test-popen-safer: split from test-popen
36115         * tests/test-popen.c (main): Move...
36116         * tests/test-popen.h: ...into new file.
36117         * tests/test-popen-safer2.c: New file.
36118         * modules/popen-tests (Files): Add test-popen.h.
36119         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
36120         Suggested by Bruno Haible.
36121
36122         test-fcntl-safer: split from test-open
36123         * tests/test-open.c (main): Move...
36124         * tests/test-open.h: ...into new file.
36125         * tests/test-fcntl-safer.c: New file.
36126         * modules/open-tests (Files): Add test-open.h.
36127         * modules/fcntl-safer-tests: New file.
36128         Suggested by Bruno Haible.
36129
36130         test-fopen-safer: split from test-fopen
36131         * tests/test-fopen.c (main): Move...
36132         * tests/test-fopen.h: ...into new file.
36133         * tests/test-fopen-safer.c: New file.
36134         * modules/fopen-tests (Files): Add test-fopen.h.
36135         * modules/fopen-safer-tests: New file.
36136         Suggested by Bruno Haible.
36137
36138 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36139
36140         popen-safer: test O_CLOEXEC at run-time.
36141         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
36142
36143 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36144
36145         fcntl: move more flags to the header
36146         * lib/cloexec.c: Do not define FD_CLOEXEC here.
36147         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
36148         * lib/fcntl.in.h: Do both things here.
36149
36150 2009-08-21  Jim Meyering  <meyering@redhat.com>
36151
36152         consistently remove $@-t before redirecting to it
36153         * modules/argz: Remove $@-t and $@ before redirecting to the former.
36154         * modules/alloca-opt: Likewise.
36155         * modules/byteswap: Likewise.
36156         * modules/fnmatch: Likewise.
36157         * modules/getopt-posix: Likewise.
36158         * modules/glob: Likewise.
36159         * modules/poll: Likewise.
36160         * modules/posix_spawnp-tests: Likewise.
36161         * modules/sys_socket: Likewise.
36162         * modules/sysexits: Likewise.
36163
36164 2009-08-21  Eric Blake  <ebb9@byu.net>
36165
36166         popen: simplify access to original popen
36167         * lib/popen.c (rpl_popen): No need to worry about popen being a
36168         macro.
36169         Reported by Bruno Haible.
36170
36171 2009-08-20  Eric Blake  <ebb9@byu.net>
36172
36173         build: avoid some compiler warnings
36174         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
36175         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
36176         type.
36177         (new_exclude_segment, excluded_file_pattern_p)
36178         (excluded_file_name_p): Reduce scope.
36179         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
36180         old-style declaration.
36181
36182 2009-08-20  Simon Josefsson  <simon@josefsson.org>
36183
36184         * tests/test-exclude1.sh: Handle Windows EOL.
36185         * tests/test-exclude2.sh: Likewise.
36186         * tests/test-exclude3.sh: Likewise.
36187         * tests/test-exclude4.sh: Likewise.
36188         * tests/test-exclude5.sh: Likewise.
36189         * tests/test-exclude6.sh: Likewise.
36190         * tests/test-exclude7.sh: Likewise.
36191
36192 2009-08-19  Akim Demaille  <demaille@gostai.com>
36193
36194         bootstrap: find sha1sum when named gsha1sum.
36195         * bootstrap (find_tool): New.
36196         ($SHA1SUM): New.
36197         Use it.
36198
36199 2009-08-20  Jim Meyering  <meyering@redhat.com>
36200
36201         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
36202         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
36203         expression that converts "." in a file name to "\." in the resulting
36204         regexp.  Start with a dummy statement, so that prior shell variable
36205         definitions are expanded portably.  Reported by Simon Josefsson.
36206
36207 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
36208
36209         Fix polling for writeability of a screen buffer.
36210         * lib/poll.c: Distinguish input and screen buffers for the
36211         Win32 implementation.
36212         * lib/select.c: Likewise.
36213
36214 2009-08-19  Eric Blake  <ebb9@byu.net>
36215
36216         popen-safer: prevent popen from clobbering std descriptors
36217         * modules/popen-safer: New file.
36218         * lib/popen-safer.c: Likewise.
36219         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
36220         * lib/stdio--.h (popen): Provide override.
36221         * lib/stdio-safer.h (popen_safer): Provide declaration.
36222         * tests/test-popen.c (includes): Partially test this.
36223         * modules/popen-safer-tests: New file, for more tests.
36224         * tests/test-popen-safer.c: Likewise.
36225         * MODULES.html.sh (file stream based Input/Output): Mention it.
36226
36227         tests: test some of the *-safer modules
36228         * modules/fopen-safer (Depends-on): Add fopen.
36229         * modules/fcntl-safer (Depends-on): Add fcntl.
36230         * modules/stdlib-safer (Depends-on): Add stdlib.
36231         (configure.ac): Set indicator.
36232         * modules/unistd-safer (configure.ac): Likewise.
36233         * modules/tmpfile-safer (configure.ac): Likewise.
36234         (Depends-on): Add tmpfile.
36235         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
36236         active.
36237         * tests/test-fopen.c (includes): Test safer versions when they are
36238         in use.
36239         * tests/test-open.c (includes): Likewise.
36240
36241         popen: fix cygwin 1.5 bug when stdin closed
36242         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
36243         * modules/popen: New file.
36244         * modules/popen-tests: Likewise.
36245         * tests/test-popen.c: Likewise.
36246         * m4/popen.m4: Likewise.
36247         * lib/popen.c: Likewise.
36248         * lib/stdio.in.h (popen): New declaration.
36249         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
36250         * modules/stdio (Makefile.am): Likewise.
36251         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
36252
36253 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
36254
36255         maint.mk: give full control over update-copyright exclusions
36256         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
36257         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
36258         (update-copyright): Don't force inclusion of top-level
36259         ChangeLog.  Don't force exclusion of all COPYING files, but make
36260         them the default exclusion instead.
36261
36262 2009-08-16  Bruno Haible  <bruno@clisp.org>
36263
36264         Fix test failures on Solaris 10.
36265         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
36266         tests when Solaris iconv() is used.
36267         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36268         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36269         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36270         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36271         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36272
36273 2009-08-16  Bruno Haible  <bruno@clisp.org>
36274
36275         Fix test failures on Solaris 10.
36276         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
36277         'tr' program and pass it as first argument.
36278         * tests/test-pipe-filter-gi1.sh: Likewise.
36279         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
36280         program as first argument.
36281         * tests/test-pipe-filter-gi1.c (main): Likewise.
36282
36283 2009-08-16  Eric Blake  <ebb9@byu.net>
36284
36285         fpurge: fix previous commits
36286         * modules/fpurge (Makefile.am): Make replacement conditional,
36287         partially reverting 2007-04-29 change; missed in previous
36288         attempt.
36289         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
36290         is missing.
36291
36292 2009-08-16  Bruno Haible  <bruno@clisp.org>
36293
36294         Clarify fpurge's effect on the file position.
36295         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
36296         * tests/test-fpurge.c (main): Make a second pass for checking the file
36297         position.
36298
36299 2009-08-16  Bruno Haible  <bruno@clisp.org>
36300
36301         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
36302         declaration of fpurge is missing.
36303         * tests/test-fpurge.c (main): Check that the file has not more contents
36304         than expected. Close the file before removing it.
36305
36306 2009-08-15  Eric Blake  <ebb9@byu.net>
36307
36308         fpurge: don't wrap working cygwin implementation
36309         * lib/fpurge.c (fpurge): Fix comment typo.
36310         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
36311         1.7 to avoid replacement.
36312         * tests/test-fpurge.c (main): Enhance test.
36313
36314 2009-08-15  Eric Blake  <ebb9@byu.net>
36315         and Jim Meyering  <meyering@redhat.com>
36316
36317         test-update-copyright: skip if perl is insufficient
36318         * tests/test-update-copyright.sh: Failure to run maintainer tool
36319         should not cause testsuite failure on cygwin 1.5.
36320
36321 2009-08-14  Eric Blake  <ebb9@byu.net>
36322
36323         doc: mention more functions added in cygwin 1.7.0
36324         * doc/posix-headers/limits.texi (limits.h): Update for recent
36325         cygwin additions.
36326         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
36327         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36328         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
36329         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
36330         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
36331
36332 2009-08-14  Eric Blake  <ebb9@byu.net>
36333
36334         maint.mk: simplify update-copyright rule
36335         * top/maint.mk (update-copyright-local): Delete, and document how
36336         to do it in cfg.mk instead.
36337         (update-copyright-exclude-regexp): Delete, and document how to do
36338         it in .x-update-copyright instead.
36339         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
36340         exclude ChangeLog.
36341
36342 2009-08-14  Bruno Haible  <bruno@clisp.org>
36343
36344         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
36345
36346 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36347
36348         maint.mk: support update-copyright-env
36349         * top/maint.mk (update-copyright-env): Define place-holder.
36350         (update-copyright): Expand $(update-copyright-env) before
36351         invoking update-copyright.
36352
36353 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36354
36355         update-copyright: implement forced reformatting
36356         * build-aux/update-copyright: Implement and document
36357         UPDATE_COPYRIGHT_FORCE.
36358         * tests/test-update-copyright.sh: Test it.
36359
36360 2009-08-14  Eric Blake  <ebb9@byu.net>
36361         and Bruno Haible  <bruno@clisp.org>
36362
36363         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
36364         * tests/test-locale.c: Revert previous patch related to NULL.
36365         * tests/test-stdio.c: Likewise.
36366         * tests/test-stdlib.c: Likewise.
36367         * tests/test-string.c: Likewise.
36368         * tests/test-unistd.c: Likewise.
36369         * modules/time-tests (Depends-on): Add verify.
36370         * modules/wchar-tests (Depends-on): Likewise.
36371         * tests/test-time.c: Test for NULL compliance.
36372         * tests/test-wchar.c: Likewise.
36373         * modules/locale (Depends-on): Add stddef.
36374         * modules/stdio (Depends-on): Likewise.
36375         * modules/stdlib (Depends-on): Likewise.
36376         * modules/string (Depends-on): Likewise.
36377         * modules/time (Depends-on): Likewise.
36378         * modules/unistd (Depends-on): Likewise.
36379         * modules/wchar (Depends-on): Likewise.
36380         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36381         * lib/stdlib.in.h (includes): Likewise.
36382         * lib/string.in.h (includes): Likewise.
36383         * lib/time.in.h (includes): Likewise.
36384         * lib/unistd.in.h (includes): Likewise.
36385         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36386         replaced.
36387         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36388         * m4/stddef_h.m4: New file.
36389         * modules/stddef: Likewise.
36390         * lib/stddef.in.h: Likewise.
36391         * modules/stddef-tests: Likewise.
36392         * tests/test-stddef.c: Likewise.
36393         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36394         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36395         * doc/posix-headers/locale.texi (locale.h): Likewise.
36396         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36397         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36398         * doc/posix-headers/string.texi (string.h): Likewise.
36399         * doc/posix-headers/time.texi (time.h): Likewise.
36400         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36401         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36402
36403 2009-08-14  Eric Blake  <ebb9@byu.net>
36404
36405         doc: improve git diff of texinfo files
36406         * .gitattributes: Add rule for *.texi files, with hint on how to
36407         use it.
36408         Copied from m4, and based on a report by Bruno Haible.
36409
36410 2009-08-14  Bruno Haible  <bruno@clisp.org>
36411
36412         Disable multithread support by default on Cygwin 1.5.x for real.
36413         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36414
36415 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36416
36417         update-copyright: much ado about intervals
36418         * build-aux/update-copyright: Implement and document
36419         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36420         of copyright year intervals.
36421         Also, document UPDATE_COPYRIGHT_YEAR.
36422         * tests/test-update-copyright.sh: Test it.
36423
36424         update-copyright: convert 2-digit to 4-digit years
36425         * build-aux/update-copyright: Implement and document.
36426         * tests/test-update-copyright.sh: Update.
36427
36428 2009-08-14  Jim Meyering  <meyering@redhat.com>
36429
36430         test-exclude: avoid coreutils "make check" failure
36431         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36432         just as in test-argmatch.c.
36433
36434 2009-08-13  Eric Blake  <ebb9@byu.net>
36435
36436         test-dup2: fix bad assumption
36437         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36438         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36439
36440         test-version-etc: fix CRLF portability issue
36441         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36442         recognize \r.
36443         * tests/test-argp-version-etc-1.sh: Likewise.
36444
36445         getopt: update client modules
36446         * modules/argp (Depends-on): Use getopt-gnu.
36447         * modules/git-merge-changelog (Depends-on): Likewise.
36448         * modules/long-options (Depends-on): Likewise.
36449         * modules/xstrtol (Depends-on): Likewise.
36450
36451 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36452
36453         * tests/test-version-etc.sh: Don't fail on different
36454         project/version.  Don't fail on CRLF differences.  Rewrite to use
36455         multiple -e instead of multiple sed forks, suggested by Eric Blake
36456         <ebb9@byu.net>.
36457         * tests/test-argp-version-etc-1.sh: Likewise.
36458
36459 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36460
36461         * tests/test-version-etc.sh: Don't fail on different
36462         project/version.
36463
36464 2009-08-12  Bruno Haible  <bruno@clisp.org>
36465
36466         Tests for modules 'getopt-posix', 'getopt-gnu'.
36467         * modules/getopt-posix-tests: New file.
36468         * tests/test-getopt.c: New file.
36469         * tests/test-getopt.h: New file.
36470         * tests/test-getopt_long.h: New file.
36471
36472         New modules 'getopt-posix', 'getopt-gnu'.
36473         * modules/getopt-gnu: New file, renamed from modules/getopt.
36474         * modules/getopt-posix: New file.
36475         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36476         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36477         (gl_GETOPT): Remove macro.
36478         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36479         Disable the test against BSD systems that declare optreset. Test
36480         against mingw bug. Test against lack of support of optional arguments
36481         on many platforms.
36482         * doc/glibc-headers/getopt.texi: Update module name and list of
36483         relevant platforms.
36484         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36485         'getopt-gnu' and more portability problems.
36486         * NEWS: Mention the changes.
36487
36488 2009-08-12  Bruno Haible  <bruno@clisp.org>
36489
36490         Ensure that optarg etc. get declared by <unistd.h>.
36491         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36492         AC_USE_SYSTEM_EXTENSIONS.
36493         * modules/getopt (Depends-on): Add 'extensions'.
36494
36495 2009-08-12  Bruno Haible  <bruno@clisp.org>
36496
36497         Avoid test link errors.
36498         * modules/pipe-filter-ii-tests (Makefile.am): Define
36499         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36500         * modules/pipe-filter-gi-tests (Makefile.am): Define
36501         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36502         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36503
36504 2009-08-12  Bruno Haible  <bruno@clisp.org>
36505
36506         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36507         gl_GETOPT_SUBSTITUTE before.
36508         (gl_GETOPT): Use it.
36509         * m4/argp.m4 (gl_ARGP): Update.
36510         Reported by Sergey Poznyakoff.
36511
36512         * m4/getopt.m4: Reorder macros.
36513         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36514         (gl_GETOPT_SUBSTITUTE): Remove macro.
36515
36516 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36517
36518         Minor improvement in gitlog-to-changelog
36519
36520         * build-aux/gitlog-to-changelog: New option `--format' makes
36521         output format string configurable.
36522
36523 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36524
36525         Optimize exclude: use hash tables for non-wildcard patterns.
36526
36527         * lib/exclude.c: Include hash.h and mbuiter.h
36528         (struct exclude_pattern, exclude_segment): New data types.
36529         (struct exclude): Rewrite.
36530         (fnmatch_pattern_has_wildcards): New function.
36531         (new_exclude_segment, free_exclude_segment): New functions.
36532         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36533         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36534         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36535         * modules/exclude: Depend on hash and mbuiter.
36536
36537         * modules/exclude-tests: New file.
36538         * tests/test-exclude.c: New file.
36539         * tests/test-exclude1.sh: New file.
36540         * tests/test-exclude2.sh: New file.
36541         * tests/test-exclude3.sh: New file.
36542         * tests/test-exclude4.sh: New file.
36543         * tests/test-exclude5.sh: New file.
36544         * tests/test-exclude6.sh: New file.
36545         * tests/test-exclude7.sh: New file.
36546
36547 2009-08-12  Bruno Haible  <bruno@clisp.org>
36548
36549         Ensure that getopt() gets declared by <unistd.h>.
36550         * lib/unistd.in.h: Conditionally include getopt.h.
36551         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36552         Set GNULIB_UNISTD_H_GETOPT.
36553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36554         GNULIB_UNISTD_H_GETOPT.
36555         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36556
36557 2009-08-12  Bruno Haible  <bruno@clisp.org>
36558
36559         Clarify logic.
36560         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36561         gl_replace_getopt instead of GETOPT_H.
36562
36563 2009-08-12  Bruno Haible  <bruno@clisp.org>
36564
36565         * m4/getopt.m4: Add comments.
36566
36567 2009-08-12  Bruno Haible  <bruno@clisp.org>
36568
36569         Disable multithread support by default on Cygwin 1.5.x.
36570         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36571         set gl_use_threads=no if not specified otherwise.
36572
36573 2009-08-11  Bruno Haible  <bruno@clisp.org>
36574
36575         Avoid compilation error on NetBSD 5.0.
36576         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36577         * tests/test-stdio.c: Likewise.
36578         * tests/test-stdlib.c: Likewise.
36579         * tests/test-string.c: Likewise.
36580         * tests/test-unistd.c: Likewise.
36581         Reported by Greg Troxel <gdt@ir.bbn.com>
36582         at <https://savannah.gnu.org/support/?106973>.
36583
36584 2009-08-11  Bruno Haible  <bruno@clisp.org>
36585
36586         * modules/dup2-tests (Depends-on): Remove close.
36587
36588         Undo 2009-07-19 commit.
36589         * modules/acl-tests (Depends-on): Remove close.
36590         * modules/binary-io-tests (Depends-on): Likewise.
36591         * modules/closein-tests (Depends-on): Likewise.
36592         * modules/flock-tests (Depends-on): Likewise.
36593         * modules/fsync-tests (Depends-on): Likewise.
36594         * modules/lseek-tests (Depends-on): Likewise.
36595         * modules/pipe-tests (Depends-on): Likewise.
36596         * modules/posix_spawn-tests (Depends-on): Likewise.
36597         * modules/posix_spawnp-tests (Depends-on): Likewise.
36598         * modules/stat-time-tests (Depends-on): Likewise.
36599         * modules/yesno-tests (Depends-on): Likewise.
36600
36601 2009-08-10  Bruno Haible  <bruno@clisp.org>
36602
36603         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36604
36605 2009-08-10  Bruno Haible  <bruno@clisp.org>
36606
36607         Fix a gcc warning.
36608         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36609
36610 2009-08-10  Bruno Haible  <bruno@clisp.org>
36611
36612         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36613         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36614         not only the first time.
36615         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36616         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36617         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36618         is 1, not only the the first time.
36619
36620 2009-08-10  Bruno Haible  <bruno@clisp.org>
36621
36622         Make it possible to use module 'gethostname' without module 'close'.
36623         * lib/unistd.in.h (close): Evoke a link error only if
36624         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36626         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36627         * modules/unistd (Makefile.am): Substitute
36628         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36629         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36630         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36631         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36632         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36633         * modules/sys_ioctl (Makefile.am): Substitute
36634         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36635         * modules/socket (configure.ac): On native Windows, set
36636         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36637         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36638         Reported by Sam Steingold <sds@gnu.org>.
36639
36640 2009-08-10  Bruno Haible  <bruno@clisp.org>
36641
36642         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36643         * modules/ioctl (configure.ac): Likewise.
36644
36645 2009-08-10  Bruno Haible  <bruno@clisp.org>
36646
36647         Avoid collision between gnulib wrapper and libintl wrapper.
36648         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36649         already defined in intl/printf.c.
36650         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36651         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36652
36653 2009-08-09  Bruno Haible  <bruno@clisp.org>
36654
36655         Make <sys/select.h> really self-contained, also on Solaris 10.
36656         * lib/sys_select.in.h: Include <string.h>.
36657         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36658         Solaris 10 problem.
36659         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36660         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36661         Reported by Jim Meyering.
36662
36663 2009-08-09  Bruno Haible  <bruno@clisp.org>
36664
36665         Avoid warnings from 'aclocal' that are due to a use of macro name
36666         AM_XGETTEXT_OPTION that is not defined in automake.
36667         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36668         automake.
36669         * modules/error (configure.ac): Likewise.
36670         * modules/propername (configure.ac): Likewise.
36671         * modules/vasprintf (configure.ac): Likewise.
36672         * modules/verror (configure.ac): Likewise.
36673         * modules/xprintf (configure.ac): Likewise.
36674         * modules/xvasprintf (configure.ac): Likewise.
36675
36676 2009-08-08  Bruno Haible  <bruno@clisp.org>
36677
36678         Avoid compilation error in C++ mode.
36679         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36680         Reported by Sam Steingold <sds@gnu.org>.
36681
36682 2009-08-08  Bruno Haible  <bruno@clisp.org>
36683
36684         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36685         for the various Unix platforms.
36686         * doc/posix-headers/limits.texi: Update platforms list regarding
36687         HOST_NAME_MAX.
36688         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36689
36690 2009-08-07  Jim Meyering  <meyering@redhat.com>
36691
36692         selinux-at: fix typo in a comment
36693         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36694         Spotted by Paolo Bonzini.
36695
36696         selinux-at: remove redundant m4 code, add documentation
36697         * modules/selinux-at (configure.ac): Remove redundant code.
36698         LIB_SELINUX is already set via the dependent module, selinux-h.
36699         (Include): Add quotes around selinux-at.h.
36700         * lib/selinux-at.h: Add documentation.
36701         Reported by Bruno Haible in
36702         http://marc.info/?l=gnulib-bug&m=124958988300749
36703
36704 2009-08-07  Bruno Haible  <bruno@clisp.org>
36705
36706         Avoid link error on MacOS X 10.3 and 10.4.
36707         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36708         on non-ELF systems.
36709         * lib/argp-pv.c (argp_program_version): Likewise.
36710         Reported by Simon Josefsson.
36711
36712 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36713
36714         * tests/test-version-etc.sh: Use $EXEEXT.
36715
36716 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36717
36718         update-copyright: update documentation to point to maint.mk
36719         * build-aux/update-copyright: Here.
36720
36721 2009-08-06  Jim Meyering  <meyering@redhat.com>
36722
36723         maint.mk: support update-copyright-local
36724         * top/maint.mk (update-copyright-local): Define place-holder.
36725         (update-copyright): Depend on $(update-copyright-local).
36726
36727 2009-08-06  Jim Meyering  <meyering@redhat.com>
36728
36729         selinux-at: new module
36730         Initially written for coreutils, this module will soon be
36731         used by findutils, too.
36732         * MODULES.html.sh [Misc]: Add selinux-at.
36733         * lib/selinux-at.h: New file, from coreutils.
36734         * lib/selinux-at.c: Likewise.
36735         * modules/selinux-at: Likewise.
36736         (License): Change from LGPL to GPL, since it depends
36737         on the GPL'd openat module.
36738
36739         doc: update README
36740         * README: Remove references to cogito.
36741         Remove cvs-repo-updating instructions from 2007.
36742         Don't imply that CVS is better if you have limited disk space.
36743
36744 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36745
36746         update-copyright: support C-style comments
36747         * build-aux/update-copyright: Implement and document.
36748         * tests/test-update-copyright.sh: Test.
36749
36750 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36751
36752         update-copyright: support omitted "(C)"
36753         * build-aux/update-copyright: Implement and document.  Also,
36754         allow variable whitespace before "(C)".
36755         * tests/test-update-copyright.sh: Test.
36756
36757 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36758
36759         update-copyright: don't trip on non-FSF copyright statements
36760         * build-aux/update-copyright: Fix so that the first correctly
36761         formatted FSF copyright statement is recognized no matter what
36762         appears before it.  Update documentation.
36763         * tests/test-update-copyright.sh: Test that.
36764
36765 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36766
36767         update-copyright: clean up code a little
36768         * build-aux/update-copyright: Append "_re" to the name of any
36769         variable holding a regular expression.
36770         Replace "old" and "new" with "stmt" in variable names.
36771         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36772         handled correctly.
36773         Format code more consistently.
36774
36775 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36776
36777         update-copyright-tests: improve portability
36778         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36779         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36780
36781 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36782
36783         update-copyright: support @copyright{} and &copy;
36784         * build-aux/update-copyright: Implement and document.
36785         * tests/test-update-copyright.sh: Test.
36786
36787 2009-08-04  Jim Meyering  <meyering@redhat.com>
36788
36789         update-copyright-tests: correctly test EOL=\r\n handling
36790         * tests/test-update-copyright.sh: Put \r at the end of some lines
36791         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36792
36793         maint.mk: make update-copyright exclusion list more configurable
36794         * top/maint.mk (update-copyright): Default to excluding COPYING,
36795         but allow an override, in case someone does want to update that file.
36796
36797         maint.mk: don't update copyright date in COPYING
36798         * top/maint.mk (update-copyright): Exclude COPYING.
36799
36800         maint.mk: add a copyright-updating rule
36801         * top/maint.mk (update-copyright): New rule.
36802         Derived from coreutils/Makefile.am.
36803
36804         update-copyright: rename some variables
36805         * build-aux/update-copyright: Rename a few variables for clarity.
36806         Tweak syntax.  List Joel E. Denny as coauthor.
36807
36808 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36809
36810         update-copyright: fix bug for 2-digit last year and add tests
36811         * build-aux/update-copyright: Fix bug.
36812         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
36813         specified.
36814         * modules/update-copyright-tests: New
36815         * tests/test-update-copyright.sh: New.
36816
36817 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36818
36819         update-copyright: handle leading tabs in line prefix
36820         * build-aux/update-copyright: Count leading tabs as 8 spaces
36821         when computing margin.  This helps with the formatting of
36822         ChangeLogs, for example.
36823         Fix documentation a little.
36824
36825 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36826
36827         update-copyright: support EOL=\r\n
36828         * build-aux/update-copyright: Implement that.
36829
36830 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36831
36832         update-copyright: automatically format copyright statements
36833         * build-aux/update-copyright: Implement that.
36834         Also, be a little more predictable and safer by always failing
36835         when the full copyright format is not perfectly recognized as an
36836         unbroken whole.  Discussed at
36837         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
36838         Rewrite documentation.
36839
36840 2009-08-03  Bruno Haible  <bruno@clisp.org>
36841
36842         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
36843
36844 2009-08-02  Bruno Haible  <bruno@clisp.org>
36845
36846         Tests for module 'uname'.
36847         * modules/uname-tests: New file.
36848         * tests/test-uname.c: New file.
36849
36850         New module 'uname'.
36851         * lib/uname.c: New file.
36852         * m4/uname.m4: New file.
36853         * modules/uname: New file.
36854         * doc/posix-functions/uname.texi: Mention the new module.
36855
36856 2009-08-02  Bruno Haible  <bruno@clisp.org>
36857
36858         Tests for module 'sys_utsname'.
36859         * modules/sys_utsname-tests: New file.
36860         * tests/test-sys_utsname.c: New file.
36861
36862         New module 'sys_utsname'.
36863         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
36864         * m4/sys_utsname_h.m4: New file.
36865         * modules/sys_utsname: New file.
36866         * doc/posix-headers/sys_utsname.texi: Mention the new module.
36867
36868 2009-08-02  Bruno Haible  <bruno@clisp.org>
36869
36870         Implicitly initialize the sockets library.
36871         * lib/gethostname.c: Include sockets.h.
36872         (rpl_gethostname): Invoke gl_sockets_startup.
36873         * lib/socket.c: Include sockets.h.
36874         (rpl_socket): Invoke gl_sockets_startup.
36875         * modules/gethostname (Depends-on): Add sockets.
36876         * modules/socket (Depends-on): Likewise.
36877         * tests/test-poll.c: Don't include sockets.h.
36878         (main): Don't invoke gl_sockets_startup.
36879         * tests/test-select.c: Don't include sockets.h.
36880         (main): Don't invoke gl_sockets_startup.
36881
36882 2009-08-02  Bruno Haible  <bruno@clisp.org>
36883
36884         Allow multiple calls to gl_sockets_startup.
36885         * lib/sockets.c (initialized_sockets_version): New variable.
36886         (gl_sockets_startup): Do nothing if already called for this or a higher
36887         version.
36888         (gl_sockets_cleanup): Reset initialized_sockets_version.
36889
36890 2009-08-03  Simon Josefsson  <simon@josefsson.org>
36891
36892         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
36893         different project/version.
36894
36895 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
36896             Bruno Haible  <bruno@clisp.org>
36897
36898         Tests for module 'pipe-filter-gi'.
36899         * modules/pipe-filter-gi-tests: New file.
36900         * tests/test-pipe-filter-gi1.sh: New file.
36901         * tests/test-pipe-filter-gi1.c: New file.
36902         * tests/test-pipe-filter-gi2.sh: New file.
36903         * tests/test-pipe-filter-gi2-main.c: New file.
36904         * tests/test-pipe-filter-gi2-child.c: New file.
36905
36906         New module 'pipe-filter-gi'.
36907         * lib/pipe-filter-gi.c: New file.
36908         * modules/pipe-filter-gi: New file.
36909
36910 2009-08-02  Bruno Haible  <bruno@clisp.org>
36911             Paolo Bonzini  <bonzini@gnu.org>
36912
36913         Tests for module 'pipe-filter-ii'.
36914         * modules/pipe-filter-ii-tests: New file.
36915         * tests/test-pipe-filter-ii1.sh: New file.
36916         * tests/test-pipe-filter-ii1.c: New file.
36917         * tests/test-pipe-filter-ii2.sh: New file.
36918         * tests/test-pipe-filter-ii2-main.c: New file.
36919         * tests/test-pipe-filter-ii2-child.c: New file.
36920
36921         New module 'pipe-filter-ii'.
36922         * lib/pipe-filter.h: New file.
36923         * lib/pipe-filter-ii.c: New file.
36924         * lib/pipe-filter-aux.h: New file.
36925         * modules/pipe-filter-ii: New file.
36926
36927 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36928
36929         * lib/gc-libgcrypt.c: Change copyright to FSF.
36930         * lib/gc-gnulib.c: Likewise.
36931
36932 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
36933
36934         * lib/gethostname.c: Include limits.h.
36935
36936 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36937             Bruno Haible  <bruno@clisp.org>
36938
36939         Ensure HOST_NAME_MAX as part of the gethostname module.
36940         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
36941         define also HOST_NAME_MAX.
36942         * tests/test-gethostname.c: Include <limits.h>.
36943         (main): Check also HOST_NAME_MAX.
36944         * doc/posix-headers/limits.texi: Document the mingw problem.
36945
36946 2009-08-02  Bruno Haible  <bruno@clisp.org>
36947
36948         * lib/gethostname.c (gethostname): Fix handling of large len argument.
36949         Add comments.
36950
36951 2009-03-31  Simon Josefsson  <simon@josefsson.org>
36952
36953         * lib/gethostname.c: Add Windows wrapper.
36954         * m4/gethostname.m4: Look for gethostname in -lws2_32.
36955         * modules/gethostname: Depend on sys_socket & errno, for also
36956         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
36957         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
36958
36959 2009-07-31  Jim Meyering  <meyering@redhat.com>
36960
36961         getloadavg: fix symbol name in comment
36962         * lib/getloadavg.c: Correct a typo I introduced when adding
36963         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
36964         Matt Kraai spotted the problem.
36965
36966 2009-07-29  Matt Kraai  <mkraai@beckman.com>
36967
36968         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
36969         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
36970         code also if ! defined N_NAME_POINTER.
36971         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
36972         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
36973         but the n_name member is a 12-byte array.
36974
36975 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
36976
36977         update-copyright: generalize comment handling
36978         * build-aux/update-copyright: Handle copyright statements
36979         within more comment styles.
36980         Document usage.
36981         Report any file with an external copyright holder or parse failure.
36982
36983 2009-07-29  Jim Meyering  <meyering@redhat.com>
36984
36985         mktime: correct setting of REPLACE_MKTIME
36986         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
36987
36988         update-copyright: new module
36989         * modules/update-copyright: New file.
36990         * build-aux/update-copyright: New file.
36991         * MODULES.html.sh (maint+release support): Add update-copyright.
36992
36993 2009-07-27  Bruno Haible  <bruno@clisp.org>
36994
36995         Fix compilation error when <ctime> is used and mktime is replaced.
36996         * lib/time.in.h (mktime): New declaration.
36997         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
36998         REPLACE_MKTIME instead of defining mktime in config.h.
36999         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
37000         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
37001         Reported by Ross McFarland <rwmcfa1@neces.com>.
37002
37003 2009-07-27  Bruno Haible  <bruno@clisp.org>
37004
37005         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
37006         Reported by Matt Kraai <mkraai@beckman.com>.
37007
37008 2009-07-25  Jim Meyering  <meyering@redhat.com>
37009
37010         maint.mk: avoid warnings about missing files
37011         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
37012         diagnostic when .prev-version does not exist.
37013         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
37014         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
37015         nonexistent cfg.mk.
37016         Suggestions from Simon Josefsson.
37017
37018 2009-07-25  Bruno Haible  <bruno@clisp.org>
37019
37020         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
37021         defined as macros. Needed on QNX 6.4.1.
37022         Reported by Matt Kraai <mkraai@beckman.com>.
37023
37024 2009-07-23  Jim Meyering  <meyering@redhat.com>
37025
37026         maint.mk: invoke "make dist" with a working value of XZ_OPT
37027         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
37028
37029 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
37030
37031         Make fseeko.c compile on QNX.
37032         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
37033
37034 2009-07-22  Peter Simons  <simons@cryp.to>
37035
37036         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
37037         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
37038         * lib/md4.h: Likewise.
37039         * lib/md5.h: Likewise.
37040         * lib/sha1.h: Likewise.
37041         * lib/sha256.h: Likewise.
37042         * lib/sha512.h: Likewise.
37043
37044         tests-sha1: don't assign literal string to 'char *' variable
37045         * tests/test-sha1.c (main): Declare locals with "const" to match
37046         attributes of the right hand side.
37047
37048 2009-07-21  Eric Blake  <ebb9@byu.net>
37049
37050         dup2: fix more mingw problems
37051         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
37052         fd to itself.
37053         * doc/posix-functions/dup2.texi (dup2): Document the bug.
37054         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
37055         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
37056         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
37057         care of mingw bugs.
37058
37059 2009-07-21  Jim Meyering  <meyering@redhat.com>
37060
37061         vc-list-files: avoid failure when /bin/sh is dash
37062         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
37063         On some Debian based systems, /bin/sh is a symlink to dash, and running
37064         this command would omit the "/" following each 'tests' prefix:
37065           dash -x build-aux/vc-list-files -C . tests
37066         That is because bash and dash work differently:
37067           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
37068           bash ok
37069           dash odd
37070
37071 2009-07-21  Eric Blake  <ebb9@byu.net>
37072
37073         dup2-tests: test previous patch
37074         * modules/dup2-tests: New file.
37075         * tests/test-dup2.c: Likewise.
37076         * tests/test-open.c (main): Avoid unspecified behavior.
37077         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
37078         test.
37079
37080         dup2: work around mingw and cygwin 1.5 bug
37081         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
37082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37083         * modules/unistd (Makefile.am): Substitute it.
37084         * lib/unistd.in.h (dup2): Declare the replacement.
37085         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
37086         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
37087         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
37088         * modules/execute (Depends-on): Add dup2.
37089         * modules/fseterr (Depends-on): Likewise.
37090         * modules/pipe (Depends-on): Likewise.
37091         * modules/posix_spawn-internal (Depends-on): Likewise.
37092
37093 2009-07-21  Bruno Haible  <bruno@clisp.org>
37094
37095         * modules/.gitattributes: New file.
37096
37097 2009-07-20  Bruno Haible  <bruno@clisp.org>
37098
37099         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
37100         (main): Use it.
37101
37102 2009-07-20  Eric Blake  <ebb9@byu.net>
37103
37104         test-pipe: make a bit more robust.
37105         * tests/test-pipe.c (myerr): Allow error messages regardless of
37106         what we do to stderr.
37107         (test_pipe): Rearrange to avoid deadlock.
37108         (child_main): Try a larger read, to ensure we avoided deadlock.
37109         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
37110         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
37111         if misused.
37112
37113 2009-07-19  Jim Meyering  <meyering@redhat.com>
37114
37115         fts: avoid false-positive cycle-detection
37116         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
37117         for each new command line argument.
37118
37119 2009-07-19  Bruno Haible  <bruno@clisp.org>
37120
37121         Fix build error on mingw with the modules sys_select and unistd.
37122         * modules/acl-tests (Depends-on): Add close.
37123         * modules/binary-io-tests (Depends-on): Likewise.
37124         * modules/closein-tests (Depends-on): Likewise.
37125         * modules/flock-tests (Depends-on): Likewise.
37126         * modules/fsync-tests (Depends-on): Likewise.
37127         * modules/lseek-tests (Depends-on): Likewise.
37128         * modules/pipe-tests (Depends-on): Likewise.
37129         * modules/posix_spawn-tests (Depends-on): Likewise.
37130         * modules/posix_spawnp-tests (Depends-on): Likewise.
37131         * modules/stat-time-tests (Depends-on): Likewise.
37132         * modules/yesno-tests (Depends-on): Likewise.
37133
37134 2009-07-19  Bruno Haible  <bruno@clisp.org>
37135
37136         Unify conditionals.
37137         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
37138         macros, not at the compiler macros.
37139         * lib/pipe.c: Likewise.
37140         * lib/execute.c: Likewise.
37141         * lib/spawni.c: Likewise.
37142
37143 2009-07-19  Bruno Haible  <bruno@clisp.org>
37144
37145         Fix handling of closed stdin/stdout/stderr on mingw.
37146         * lib/w32spawn.h: Include unistd.h.
37147         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
37148         file descriptor with O_NOINHERIT flag.
37149         (fd_safer_noinherit): New function, based on fd-safer.c.
37150         (dup_safer_noinherit): New function, based on dup-safer.c.
37151         (undup_safer_noinherit): New function.
37152         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
37153         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
37154         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
37155         instead of fd_safer.
37156         * tests/test-pipe.c: Include <windows.h>.
37157         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
37158         result.
37159
37160         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
37161         from main.
37162         (test_pipe): Pass an extra argument for disambiguation.
37163         (main): Invoke parent_main or child_main.
37164
37165         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
37166         consistently.
37167
37168 2009-07-18  Eric Blake  <ebb9@byu.net>
37169
37170         test-pipe: fix mingw build
37171         * tests/test-pipe.c (main): Avoid fcntl on mingw.
37172
37173 2009-07-18  Bruno Haible  <bruno@clisp.org>
37174
37175         * modules/pipe-tests (Makefile.am): Fix typo.
37176
37177 2009-07-18  Eric Blake  <ebb9@byu.net>
37178
37179         error: fix mingw build
37180         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
37181         Reported by Bruno Haible.
37182
37183         error: avoid undefined use of stdout
37184         * lib/error.c (error, error_at_line): Check that fd 1 is open
37185         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
37186         is handling faults and the close_stdout module wants to report the
37187         detection of closed stdout as an error.
37188
37189 2009-07-17  Eric Blake  <ebb9@byu.net>
37190
37191         pipe: be robust in face of closed fds
37192         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
37193         should cause child to misbehave.
37194         * modules/pipe-tests: New module.
37195         * tests/test-pipe.c: New file.
37196         * tests/test-pipe.sh: New file.
37197         Reported by Akim Demaille.
37198
37199 2009-07-14  Bruno Haible  <bruno@clisp.org>
37200
37201         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
37202         Reported by anonymous kc.
37203
37204 2009-07-07  Jim Meyering  <meyering@redhat.com>
37205
37206         maint.mk: don't look for translatable strings in *.m4 or *.mk
37207         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
37208         when searching for translatable strings.
37209
37210 2009-07-05  Jim Meyering  <meyering@redhat.com>
37211
37212         remove superfluous parentheses in STREQ definition
37213         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
37214         * lib/getugroups.c (STREQ): Likewise.
37215         * lib/fnmatch.c (STREQ): Likewise.
37216         Spotted by Bruno Haible.
37217
37218 2009-07-04  Jim Meyering  <meyering@redhat.com>
37219
37220         argv-iter: new module
37221         * MODULES.html.sh: Add argv-iter.
37222         * lib/argv-iter.c, lib/argv-iter.h: New files.
37223         * modules/argv-iter: New file.
37224         * modules/argv-iter-tests: New file.
37225         * tests/test-argv-iter.c: Test it.
37226
37227 2009-07-04  Bruno Haible  <bruno@clisp.org>
37228
37229         Fix assertion.
37230         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
37231         contains more exact copies of a given entry than file2, leave the extra
37232         copies unpaired rather than aborting.
37233         Reported by Eric Blake.
37234
37235 2009-07-02  Bruno Haible  <bruno@clisp.org>
37236
37237         Speedup git-merge-changelog for git cherry-pick.
37238         * lib/git-merge-changelog.c (struct entries_mapping): New type.
37239         (entries_mapping_get): New function, extracted from compute_mapping.
37240         (entries_mapping_reverse_get): New function.
37241         (compute_mapping): Add a 'full' argument. Return the result in a
37242         'struct entries_mapping'.
37243         (main): Update. Access the mappings through entries_mapping_get.
37244         Reported by Eric Blake.
37245
37246 2009-07-02  Bruno Haible  <bruno@clisp.org>
37247
37248         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
37249         best_i.
37250
37251 2009-07-02  Bruno Haible  <bruno@clisp.org>
37252
37253         Speed up approximate search for matching ChangeLog entries.
37254         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
37255         argument. Call fstrcmp_bounded instead of fstrcmp.
37256         (compute_mapping, try_split_merged_entry, main): Update callers.
37257
37258 2009-07-02  Bruno Haible  <bruno@clisp.org>
37259
37260         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
37261
37262 2009-06-30  Bruno Haible  <bruno@clisp.org>
37263
37264         Reduce the number of uc_is_cased calls.
37265         * lib/unicase.h (casing_suffix_context_t): Add
37266         'first_char_except_ignorable' field.
37267         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
37268         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
37269         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
37270         Update initializer.
37271         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
37272         case-ignorable characters.
37273         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
37274         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
37275         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
37276         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
37277         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
37278
37279 2009-06-30  Bruno Haible  <bruno@clisp.org>
37280
37281         Tests for module 'unicase/ignorable'.
37282         * modules/unicase/ignorable-tests: New file.
37283         * tests/unicase/test-ignorable.c: New file, generated by
37284         gen-uni-tables.
37285
37286         Tests for module 'unicase/cased'.
37287         * modules/unicase/cased-tests: New file.
37288         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
37289         * tests/unicase/test-predicate-part1.h: New file, derived from
37290         tests/unictype/test-predicate-part1.h.
37291         * tests/unicase/test-predicate-part2.h: New file, same as
37292         tests/unictype/test-predicate-part2.h.
37293
37294         Fix evaluation of "Before C" condition of FINAL_SIGMA.
37295         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
37296         (output_casing_properties): New function.
37297         (main): Call it.
37298         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
37299         * lib/unicase/cased.c: Include unictype/bitmap.h.
37300         (uc_is_cased): Define through a bitmap lookup.
37301         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
37302         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
37303         (uc_is_case_ignorable): Define through a bitmap lookup.
37304         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
37305         lib/unictype/bitmap.h.
37306         (Depends-on): Add inline. Clean up.
37307         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
37308         lib/unictype/bitmap.h.
37309         (Depends-on): Add inline. Clean up.
37310         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
37311         recognition.
37312         * tests/unicase/test-u16-tolower.c (main): Likewise.
37313         * tests/unicase/test-u32-tolower.c (main): Likewise.
37314
37315 2009-06-30  Bruno Haible  <bruno@clisp.org>
37316
37317         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
37318         * lib/unicase/u16-casemap.c: Likewise.
37319         * lib/unicase/u32-casemap.c: Likewise.
37320
37321 2009-06-29  Bruno Haible  <bruno@clisp.org>
37322
37323         Define u32_casefold as a wrapper around u32_ct_casefold.
37324         * lib/unicase/u32-casefold.c: Update.
37325         * modules/unicase/u32-casefold (Depends-on): Add
37326         unicase/u32-ct-casefold, unicase/empty-prefix-context,
37327         unicase/empty-suffix-context. Clean up.
37328
37329         Define u16_casefold as a wrapper around u16_ct_casefold.
37330         * lib/unicase/u16-casefold.c: Update.
37331         * modules/unicase/u16-casefold (Depends-on): Add
37332         unicase/u16-ct-casefold, unicase/empty-prefix-context,
37333         unicase/empty-suffix-context. Clean up.
37334
37335         Define u8_casefold as a wrapper around u8_ct_casefold.
37336         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
37337         * lib/unicase/u8-casefold.c: Update.
37338         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
37339         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37340
37341         Define u32_totitle as a wrapper around u32_ct_totitle.
37342         * lib/unicase/u32-totitle.c: Update.
37343         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
37344         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37345
37346         Define u16_totitle as a wrapper around u16_ct_totitle.
37347         * lib/unicase/u16-totitle.c: Update.
37348         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
37349         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37350
37351         Define u8_totitle as a wrapper around u8_ct_totitle.
37352         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
37353         functions.
37354         (FUNC): Delegate to U_CT_TOTITLE.
37355         * lib/unicase/u8-totitle.c: Update.
37356         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
37357         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37358
37359         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
37360         invocation.
37361         * modules/unicase/u32-tolower (Depends-on): Add
37362         unicase/empty-prefix-context, unicase/empty-suffix-context.
37363
37364         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
37365         invocation.
37366         * modules/unicase/u16-tolower (Depends-on): Add
37367         unicase/empty-prefix-context, unicase/empty-suffix-context.
37368
37369         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
37370         * modules/unicase/u8-tolower (Depends-on): Add
37371         unicase/empty-prefix-context, unicase/empty-suffix-context.
37372
37373         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
37374         invocation.
37375         * modules/unicase/u32-toupper (Depends-on): Add
37376         unicase/empty-prefix-context, unicase/empty-suffix-context.
37377
37378         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
37379         invocation.
37380         * modules/unicase/u16-toupper (Depends-on): Add
37381         unicase/empty-prefix-context, unicase/empty-suffix-context.
37382
37383         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37384         * modules/unicase/u8-toupper (Depends-on): Add
37385         unicase/empty-prefix-context, unicase/empty-suffix-context.
37386
37387         New module 'unicase/u32-ct-casefold'.
37388         * lib/unicase/u32-ct-casefold.c: New file.
37389         * modules/unicase/u32-ct-casefold: New file.
37390
37391         New module 'unicase/u16-ct-casefold'.
37392         * lib/unicase/u16-ct-casefold.c: New file.
37393         * modules/unicase/u16-ct-casefold: New file.
37394
37395         New module 'unicase/u8-ct-casefold'.
37396         * lib/unicase/u8-ct-casefold.c: New file.
37397         * lib/unicase/u-ct-casefold.h: New file, derived from
37398         lib/unicase/u-casefold.h.
37399         * modules/unicase/u8-ct-casefold: New file.
37400
37401         New module 'unicase/u32-ct-totitle'.
37402         * lib/unicase/u32-ct-totitle.c: New file.
37403         * modules/unicase/u32-ct-totitle: New file.
37404
37405         New module 'unicase/u16-ct-totitle'.
37406         * lib/unicase/u16-ct-totitle.c: New file.
37407         * modules/unicase/u16-ct-totitle: New file.
37408
37409         New module 'unicase/u8-ct-totitle'.
37410         * lib/unicase/u8-ct-totitle.c: New file.
37411         * lib/unicase/u-ct-totitle.h: New file, derived from
37412         lib/unicase/u-totitle.h.
37413         * modules/unicase/u8-ct-totitle: New file.
37414
37415         New module 'unicase/u32-ct-tolower'.
37416         * lib/unicase/u32-ct-tolower.c: New file.
37417         * modules/unicase/u32-ct-tolower: New file.
37418
37419         New module 'unicase/u16-ct-tolower'.
37420         * lib/unicase/u16-ct-tolower.c: New file.
37421         * modules/unicase/u16-ct-tolower: New file.
37422
37423         New module 'unicase/u8-ct-tolower'.
37424         * lib/unicase/u8-ct-tolower.c: New file.
37425         * modules/unicase/u8-ct-tolower: New file.
37426
37427         New module 'unicase/u32-ct-toupper'.
37428         * lib/unicase/u32-ct-toupper.c: New file.
37429         * modules/unicase/u32-ct-toupper: New file.
37430
37431         New module 'unicase/u16-ct-toupper'.
37432         * lib/unicase/u16-ct-toupper.c: New file.
37433         * modules/unicase/u16-ct-toupper: New file.
37434
37435         New module 'unicase/u8-ct-toupper'.
37436         * lib/unicase/u8-ct-toupper.c: New file.
37437         * modules/unicase/u8-ct-toupper: New file.
37438
37439         Add context arguments to u*_casemap functions.
37440         * lib/unicase/unicasemap.h: Include unicase.h.
37441         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37442         suffix_context arguments.
37443         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37444         functions.
37445         (FUNC): Add prefix_context and suffix_context arguments. Use
37446         uc_is_cased and uc_is_case_ignorable.
37447         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37448         * lib/unicase/u16-casemap.c: Likewise.
37449         * lib/unicase/u32-casemap.c: Likewise.
37450         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37451         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37452         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37453         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37454         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37455         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37456
37457         New module 'unicase/u32-suffix-context'.
37458         * lib/unicase/u32-suffix-context.c: New file.
37459         * modules/unicase/u32-suffix-context: New file.
37460
37461         New module 'unicase/u16-suffix-context'.
37462         * lib/unicase/u16-suffix-context.c: New file.
37463         * modules/unicase/u16-suffix-context: New file.
37464
37465         New module 'unicase/u8-suffix-context'.
37466         * lib/unicase/u8-suffix-context.c: New file.
37467         * lib/unicase/u-suffix-context.h: New file.
37468         * modules/unicase/u8-suffix-context: New file.
37469
37470         New module 'unicase/empty-suffix-context'.
37471         * lib/unicase/empty-suffix-context.c: New file.
37472         * modules/unicase/empty-suffix-context: New file.
37473
37474         New module 'unicase/u32-prefix-context'.
37475         * lib/unicase/u32-prefix-context.c: New file.
37476         * modules/unicase/u32-prefix-context: New file.
37477
37478         New module 'unicase/u16-prefix-context'.
37479         * lib/unicase/u16-prefix-context.c: New file.
37480         * modules/unicase/u16-prefix-context: New file.
37481
37482         New module 'unicase/u8-prefix-context'.
37483         * lib/unicase/u8-prefix-context.c: New file.
37484         * lib/unicase/u-prefix-context.h: New file.
37485         * lib/unicase/context.h: New file.
37486         * modules/unicase/u8-prefix-context: New file.
37487
37488         New module 'unicase/empty-prefix-context'.
37489         * lib/unicase/empty-prefix-context.c: New file.
37490         * modules/unicase/empty-prefix-context: New file.
37491
37492         New module 'unicase/ignorable'.
37493         * lib/unicase/ignorable.c: New file.
37494         * modules/unicase/ignorable: New file.
37495
37496         New module 'unicase/cased'.
37497         * lib/unicase/caseprop.h: New file.
37498         * lib/unicase/cased.c: New file.
37499         * modules/unicase/cased: New file.
37500
37501         New functions for case mapping of substrings.
37502         * lib/unicase.h (casing_prefix_context_t): New type.
37503         (unicase_empty_prefix_context): New variable.
37504         (u8_casing_prefix_context, u16_casing_prefix_context,
37505         u32_casing_prefix_context, u8_casing_prefixes_context,
37506         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37507         declarations.
37508         (casing_suffix_context_t): New type.
37509         (unicase_empty_suffix_context): New variable.
37510         (u8_casing_suffix_context, u16_casing_suffix_context,
37511         u32_casing_suffix_context, u8_casing_suffixes_context,
37512         u16_casing_suffixes_context, u32_casing_suffixes_context,
37513         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37514         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37515         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37516         declarations.
37517
37518 2009-06-28  Jim Meyering  <meyering@redhat.com>
37519
37520         boostrap: indent only with spaces
37521         * build-aux/bootstrap: Indent only with spaces, never TABs.
37522
37523         bootstrap: split long lines
37524         * build-aux/bootstrap: Keep line length < 80.
37525
37526         bootstrap: sync from coreutils
37527         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37528         just as autoreconf does.  Verify a list of prerequisite
37529         package-name,version-number pairs if defined in bootstrap.conf.
37530         Refer to README-prereq, if prerequisites are not satisfied.
37531
37532 2009-06-27  Eric Blake  <ebb9@byu.net>
37533
37534         tests: add test for bogus NULL definition
37535         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37536         * tests/test-stdlib.c: Likewise.
37537         * tests/test-string.c: Likewise.
37538         * tests/test-locale.c: Likewise.
37539         * tests/test-unistd.c: Likewise.
37540         * modules/stdio-tests (Depends-on): Add verify.
37541         * modules/stdlib-tests (Depends-on): Likewise.
37542         * modules/string-tests (Depends-on): Likewise.
37543         * modules/locale-tests (Depends-on): Likewise.
37544         * modules/unistd-tests (Depends-on): Likewise.
37545
37546 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37547
37548         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37549         self-explaining comment.
37550         * m4/selinux-selinux-h: Update serial.
37551         (gl_LIBSELINUX): New macro, adding a warning for missing development
37552         packages to code extracted from...
37553         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37554         Add warning for missing development packages here, too.
37555
37556 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37557
37558         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37559
37560 2009-06-25  Eric Blake  <ebb9@byu.net>
37561
37562         version-etc: fix regression
37563         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37564         gcc.
37565         (version_etc): Use it, to catch bugs with trailing NULL.
37566         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37567         (version_etc_va): Fix logic bug.
37568         * modules/version-etc-tests: Add test.
37569         * tests/test-version-etc.c: New file.
37570         * tests/test-version-etc.sh: Likewise.
37571
37572 2009-06-25  Sam Steingold  <sds@gnu.org>
37573
37574         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37575         mbtowc declaration.
37576
37577 2009-06-25  Eric Blake  <ebb9@byu.net>
37578
37579         fpurge: migrate into <stdio.h>
37580         * lib/fpurge.h: Delete...
37581         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37582         * lib/fpurge.c (fpurge): Change declaring header.
37583         * modules/fpurge (Files): Drop deleted file.
37584         (Depends-on): Add stdio.
37585         (configure.ac): Set witness.
37586         * modules/stdio (Makefile.am): Support fpurge macros.
37587         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37588         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37589         * lib/fflush.c: Update client.
37590         * tests/test-fpurge.c: Likewise.
37591         * NEWS: Mention the change.
37592
37593 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37594
37595         * lib/argp-version-etc.c (program_authors): Add const
37596         qualifier.
37597         * lib/version-etc.c: Fix typos in the comments.
37598         * modules/argp-version-etc: Depends on version-etc.
37599
37600 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37601
37602         argp-version-etc: new module.
37603
37604         * lib/argp-version-etc.c: New file.
37605         * lib/argp-version-etc.h: New file.
37606         * modules/argp-version-etc: New file.
37607         * modules/argp-version-etc-tests: New file.
37608         * tests/test-argp-version-etc.c: New test.
37609         * tests/test-argp-version-etc-1.sh: New test.
37610
37611 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37612
37613         Provide additional interfaces and documentation for version-etc
37614         module.
37615
37616         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37617         interfaces.
37618         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37619         prototypes.
37620
37621 2009-06-24  Bruno Haible  <bruno@clisp.org>
37622
37623         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37624         HAVE_LIB${NAME} macro.
37625         Reported by Sam Steingold <sds@gnu.org>.
37626
37627 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37628
37629         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37630         needed.
37631
37632 2009-06-21  Bruno Haible  <bruno@clisp.org>
37633
37634         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37635         work.
37636         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37637         together with LIB${NAME}, LTLIB${NAME}.
37638         Reported by Sam Steingold <sds@gnu.org>.
37639
37640 2009-06-20  Jim Meyering  <meyering@redhat.com>
37641
37642         tests: make sc_require_test_exit_idiom more generic
37643         * top/maint.mk (Exit_witness_file): New overridable variable.
37644         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37645         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37646
37647 2009-06-19  Jim Meyering  <meyering@redhat.com>
37648
37649         hash: reverse order of src/dst parameters in an internal interface
37650         * lib/hash.c (transfer_entries): Reverse order of parameters to
37651         put DST before SRC.  Adjust callers.
37652
37653         tests: test-hash: avoid wholesale duplication
37654         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37655         Instead, use a loop and add a single conditional.
37656
37657         tests: test-hash: allow seed selection via a command line argument
37658         * tests/test-hash.c (get_seed): New function.
37659         (main): Use it.
37660
37661 2009-06-19  Eric Blake  <ebb9@byu.net>
37662
37663         hash: avoid memory leak on allocation failure
37664         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37665         failure.  Factor repeated algorithm...
37666         (transfer_entries): ...into new helper routine.
37667         (hash_delete): React to hash_rehash return value.
37668
37669         hash: reduce memory pressure in hash_rehash no-op case
37670         * lib/hash.c (next_prime): Avoid overflow.
37671         (hash_initialize): Factor bucket size computation...
37672         (compute_bucket_size): ...into new helper function.
37673         (hash_rehash): Use new function and open coding to reduce memory
37674         pressure, and avoid a memory leak in USE_OBSTACK code.
37675         Reported by Jim Meyering.
37676
37677 2009-06-18  Eric Blake  <ebb9@byu.net>
37678
37679         hash: make rotation more obvious
37680         * modules/hash (Depends-on): Add bitrotate and stdint.
37681         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37682         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37683         (SIZE_MAX): Rely on headers for definition.
37684         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37685         (raw_hasher): Use rotr_sz.
37686         Suggested by Jim Meyering.
37687
37688         hash: fix memory leak in last patch
37689         * lib/hash.c (hash_rehash): Avoid memory leak.
37690
37691         hash: avoid no-op rehashing
37692         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37693
37694         hash: provide default callback functions
37695         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37696         (hash_initialize): Use them as defaults.
37697         * tests/test-hash.c (main): Test this.
37698
37699         hash: minor optimization
37700         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37701         when possible.
37702         (hash_initialize): Document this promise.
37703         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37704         * tests/test-hash.c (hash_compare_strings): Test this.
37705
37706 2009-06-18  Bruno Haible  <bruno@clisp.org>
37707
37708         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37709         going to be replaced anyway.
37710
37711 2009-06-18  Bruno Haible  <bruno@clisp.org>
37712
37713         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37714         in one place.
37715         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37716         be replaced anyway.
37717
37718 2009-06-18  Eric Blake  <ebb9@byu.net>
37719
37720         hash: check for resize before insertion
37721         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37722         threshold before insertion, so that a pathological hash_rehash
37723         that fills every bucket can still trigger another rehash.
37724
37725 2009-06-18  Jim Meyering  <meyering@redhat.com>
37726
37727         hash-tests: add a loop around the small tests
37728         * tests/test-hash.c (main): Repeat small tests with selected
37729         small initial table sizes.
37730
37731 2009-06-17  Eric Blake  <ebb9@byu.net>
37732
37733         hash: minor cleanups
37734         * lib/hash.h (hash_entry): Make opaque, by moving...
37735         * lib/hash.c (hash_entry): ...here.
37736         (hash_insert): Clarify restrictions on what can be inserted.
37737         (hash_get_next): Clarify when it is safe to remove an element
37738         during traversal.
37739         (check_tuning): Skip verification when tuning is known safe.
37740         (hash_initialize): Clarify restrictions on tuning.
37741
37742 2009-06-17  Jim Meyering  <jim@meyering.net>
37743         and Eric Blake  <ebb9@byu.net>
37744
37745         hash-tests: new module
37746         * modules/hash-tests: New file.
37747         * tests/test-hash.c: New file.
37748
37749 2009-06-17  Eric Blake  <ebb9@byu.net>
37750
37751         strstr-simple: document new module
37752         * MODULES.html.sh: Document new module.
37753
37754         strstr, strcasestr: replace on platforms with broken memchr
37755         * modules/strstr: Split into...
37756         * modules/strstr-simple: ...new module that does not care about
37757         performance, but does care about glibc bug.
37758         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37759         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37760         if platform memchr is broken, per Debian bug 521737.
37761         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37762         memchr.
37763         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37764         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37765         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37766         * modules/mountlist (Depends-on): Add strstr-simple.
37767         * modules/gen-uni-tables (Depends-on): Likewise.
37768         * modules/argz (Depends-on): Add strstr.
37769
37770 2009-06-17  Bruno Haible  <bruno@clisp.org>
37771
37772         * modules/posix_spawn-internal (Depends-on): Add errno.
37773
37774 2009-06-17  Bruno Haible  <bruno@clisp.org>
37775
37776         Define missing ESTALE on Interix 3.5.
37777         * lib/errno.in.h (ESTALE): Assign a value if missing.
37778         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37779         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37780         missing.
37781         * doc/posix-headers/errno.texi: Mention the Interix bug.
37782         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37783
37784 2009-06-15  Eric Blake  <ebb9@byu.net>
37785
37786         memchr, memchr2: add valgrind exception
37787         * lib/memchr.valgrind: New file.
37788         * lib/memchr2.valgrind: New file.
37789         * modules/memchr (Files): Distribute valgrind file.
37790         * modules/memchr2 (Files): Likewise.
37791
37792         docs: memchr is no longer obsolete
37793         * MODULES.html.sh: Move memchr from obsolete to string.h section.
37794         * lib/string.in.h (memchr): Simplify logic.
37795
37796 2009-06-14  Jim Meyering  <meyering@redhat.com>
37797
37798         link-follow: fix the "checking..." message to not mention trailing slash
37799         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
37800         never considered trailing slashes.
37801
37802 2009-06-14  Bruno Haible  <bruno@clisp.org>
37803
37804         * m4/memchr.m4: Mention also the bug on IA-64.
37805         * doc/posix-functions/memchr.texi: Likewise.
37806
37807 2009-06-12  Eric Blake  <ebb9@byu.net>
37808
37809         memchr: detect broken x86_64 and alpha implementations
37810         * modules/memchr-tests (Depends-on): Move mmap detection...
37811         * modules/memchr (Depends-on): ...here.
37812         (configure.ac): Set indicator.
37813         * lib/string.in.h (memchr): Declare replacement.
37814         * modules/string (Makefile.am): Trigger replacement.
37815         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37816         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
37817         bugs.
37818         * doc/posix-functions/memchr.texi (memchr): Document the bug.
37819         * modules/getpagesize (License): Relax license.
37820
37821 2009-06-11  Bruno Haible  <bruno@clisp.org>
37822
37823         * lib/idpriv.h: Add more references.
37824
37825 2009-06-08  Bruno Haible  <bruno@clisp.org>
37826
37827         Tests for module 'idpriv-droptemp'.
37828         * modules/idpriv-droptemp-tests: New file.
37829         * tests/test-idpriv-droptemp.sh: New file.
37830         * tests/test-idpriv-droptemp.su.sh: New file.
37831         * tests/test-idpriv-droptemp.c: New file.
37832
37833         New module 'idpriv-droptemp'.
37834         * lib/idpriv-droptemp.c: New file.
37835         * modules/idpriv-droptemp: New file.
37836
37837 2009-06-08  Bruno Haible  <bruno@clisp.org>
37838
37839         Tests for module 'idpriv-drop'.
37840         * modules/idpriv-drop-tests: New file.
37841         * tests/test-idpriv-drop.sh: New file.
37842         * tests/test-idpriv-drop.su.sh: New file.
37843         * tests/test-idpriv-drop.c: New file.
37844
37845         New module 'idpriv-drop'.
37846         * lib/idpriv.h: New file.
37847         * lib-idpriv-drop.c: New file.
37848         * m4/idpriv.m4: New file.
37849         * modules/idpriv-drop: New file.
37850
37851 2009-06-08  Bruno Haible  <bruno@clisp.org>
37852
37853         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
37854         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37855         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37856         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37857         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37858         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37859         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37860
37861 2009-06-08  Eric Blake  <ebb9@byu.net>
37862
37863         test-strstr: use memory fence, when possible
37864         * tests/test-strstr.c (main): Use memory fence, in order to be
37865         more likely to trigger Debian bug 521737.
37866         * modules/strstr-tests (Files): Pull in additional files.
37867
37868         memchr: no longer obsolete, for wider field testing
37869         * modules/memchr (Status, Notice): Delete, this module is no
37870         longer obsolete.
37871         * modules/vasnprintf (Depends-on): Add memchr.
37872
37873 2009-06-07  Jim Meyering  <meyering@redhat.com>
37874
37875         hash: declare some functions with the warn_unused_result attribute
37876         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
37877
37878 2009-06-07  Bruno Haible  <bruno@clisp.org>
37879
37880         * tests/test-alignof.c: Don't test int64_t if it does not exist.
37881         Reported by Eric Blake.
37882
37883 2009-06-06  Eric Blake  <ebb9@byu.net>
37884
37885         test-alignof: fix typo with long double
37886         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
37887         compiler error.
37888
37889 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
37890
37891         Escape non-texinfo { and }s.
37892         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
37893         markup error.
37894
37895 2009-06-04  Jim Meyering  <meyering@redhat.com>
37896
37897         gitlog-to-changelog: don't infloop on an empty commit log
37898         * build-aux/gitlog-to-changelog: Warn about an empty log message.
37899         Reported by Boris Petersen <transacid@centerim.org>.
37900
37901 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
37902
37903         version-etc: extend for packagers
37904         Add three new configure options, intended for packagers:
37905           --with-packager="packager name"
37906           --with-packager-version="packager-specific version"
37907           --with-packager-bug-reports="packager bug reporting"
37908         An example with coreutils:
37909           $ ./configure \
37910             --with-packager=Gentoo \
37911             --with-packager-bug-report=http://bugs.gentoo.org/ \
37912             --with-packager-version="patchset 1.6"
37913           $ ./src/ls --version | head -n2
37914           ls (GNU coreutils) 7.1-dirty
37915           Packaged by Gentoo (patchset 1.6)
37916         Note that the bug reporting info via --help doesn't show up because
37917         coreutils uses its own custom emit_bug_reporting_address() implementation
37918         in src/system.h.  If it didn't, it'd look like:
37919           $ ./src/ls --help | tail -n4
37920           Report bugs to <bug-coreutils@gnu.org>.
37921           Report Gentoo bugs to <http://bugs.gentoo.org/>.
37922           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
37923           General help using GNU software: <http://www.gnu.org/gethelp/>.
37924         * lib/version-etc.c: Print new information, if provided.
37925         * m4/version-etc.m4: New file.
37926         * modules/version-etc (Files): Add m4/version-etc.m4.
37927         (configure.ac): Add gl_VERSION_ETC.
37928
37929 2009-05-31  Bruno Haible  <bruno@clisp.org>
37930
37931         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
37932         and 'int64_t'.
37933         * modules/alignof-tests (Dependencies): Add stdint.
37934         Reported by Eric Blake.
37935
37936 2009-05-31  Bruno Haible  <bruno@clisp.org>
37937
37938         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
37939         restriction due to compiler bugs.
37940         Reported by Eric Blake.
37941
37942 2009-05-31  Simon Josefsson  <simon@josefsson.org>
37943             Bruno Haible  <bruno@clisp.org>
37944
37945         Fix test-alignof failure.
37946         * lib/alignof.h (alignof_slot): New macro.
37947         (alignof_type): New macro, with the same semantics as the previous
37948         'alignof'.
37949         (alignof): Alias to alignof_slot.
37950         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
37951         check that the results are usable as constant expressions.
37952
37953 2009-05-31  Bruno Haible  <bruno@clisp.org>
37954
37955         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
37956         * tests/test-memchr.c (main): Check that memchr does not read past the
37957         first occurrence of the byte.
37958         * tests/test-strstr.c (main): Update comment.
37959         Suggested by Eric Blake.
37960
37961 2009-05-30  Bruno Haible  <bruno@clisp.org>
37962
37963         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
37964         detail how to use dumpbin.
37965         Reported by David Byron <dbyron@dbyron.com>.
37966
37967 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37968
37969         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
37970
37971 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37972
37973         * m4/manywarnings.m4: Add GCC 4.4 warnings.
37974
37975 2009-05-28  Bruno Haible  <bruno@clisp.org>
37976
37977         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
37978         build-aux/ files.
37979
37980 2009-05-28  Simon Josefsson  <simon@josefsson.org>
37981
37982         * gnulib-tool (func_import): Transform license on build-aux/ files too.
37983
37984 2009-05-27  Simon Josefsson  <simon@josefsson.org>
37985
37986         * gnulib-tool (sed_transform_main_lib_file)
37987         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
37988         regexps.
37989
37990 2009-05-26  Simon Josefsson  <simon@josefsson.org>
37991
37992         * tests/test-strstr.c: Add another self-test.
37993         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
37994         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
37995
37996 2009-05-23  Bruno Haible  <bruno@clisp.org>
37997
37998         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
37999         change.
38000
38001 2009-05-21  Bruno Haible  <bruno@clisp.org>
38002
38003         Simplify use of mode_t varargs.
38004         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
38005         uses 'mode_t' or 'int'.
38006         * lib/openat.c (openat): Likewise.
38007         * lib/open-safer.c (open_safer): Likewise.
38008         * m4/mode_t.m4: New file.
38009         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
38010         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
38011         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
38012         * modules/open (Files): Add m4/mode_t.m4.
38013         * modules/openat (Files): Likewise.
38014         * modules/fcntl-safer (Files): Likewise.
38015         Suggested by Eric Blake.
38016
38017 2009-05-21  Pádraig Brady  <P@draigbrady.com>
38018
38019         * doc/glibc-functions/fallocate.texi: New file.
38020         * doc/gnulib.texi: Include it.
38021
38022 2009-05-21  Eric Blake  <ebb9@byu.net>
38023             Bruno Haible  <bruno@clisp.org>
38024
38025         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
38026         invocations.
38027         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38028
38029 2009-05-21  Eric Blake  <ebb9@byu.net>
38030             Bruno Haible  <bruno@clisp.org>
38031
38032         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
38033         include_next. Fix of 2008-11-20 commit.
38034         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
38035         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
38036         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
38037         NEXT_MATH_H.
38038         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
38039         instead of NEXT_MATH_H.
38040
38041 2009-05-21  Bruno Haible  <bruno@clisp.org>
38042
38043         Avoid redefinition warnings for SIZE_MAX.
38044         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
38045         Reported by Simon Josefsson.
38046
38047 2009-05-21  Bruno Haible  <bruno@clisp.org>
38048
38049         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
38050         AC_CACHE_VAL.
38051
38052 2009-05-20  Bruno Haible  <bruno@clisp.org>
38053
38054         Make zeroptr.h work on mingw.
38055         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
38056         mprotect.
38057         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
38058         * modules/memchr2-tests (configure.ac): Likewise.
38059         * modules/memcmp-tests (configure.ac): Likewise.
38060         * modules/memmem-tests (configure.ac): Likewise.
38061         * modules/memrchr-tests (configure.ac): Likewise.
38062         Reported by Simon Josefsson.
38063
38064 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38065
38066         * tests/test-glob.c: Include string.h for strcmp prototype.
38067
38068 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38069
38070         * modules/getdelim (Depends-on): Add explicit stdint, although it
38071         was implicitly already pulled in via realloc-posix.
38072         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
38073
38074 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38075
38076         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
38077         G. Christensen" <tgc@jupiterrise.com>.
38078         * m4/sys_socket_h.m4: Check for sa_family_t.
38079         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
38080         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
38081         * tests/test-sys_socket.c: Check that sa_family_t works.
38082
38083 2009-05-18  Eric Blake  <ebb9@byu.net>
38084
38085         maint.mk: allow gnulib_dir in VPATH build
38086         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
38087
38088 2009-05-15  Jim Meyering  <meyering@redhat.com>
38089
38090         maint.mk: Give gnulib_dir a default definition.
38091         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
38092         Thus, most packages no longer need to specify this variable in cfg.mk
38093
38094 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
38095
38096         rename.m4: fix typos that would make non-mingw cross-configure fail
38097         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
38098
38099 2009-05-13  Eric Blake  <ebb9@byu.net>
38100
38101         mmap-anon: avoid out-of-order autoconf expansion
38102         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
38103         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
38104         * modules/memchr-tests (Depends-on): Add extensions.
38105         * modules/memchr2-tests (Depends-on): Add extensions.
38106         * modules/memcmp-tests (Depends-on): Add extensions.
38107         * modules/memmem-tests (Depends-on): Add extensions.
38108         * modules/memrchr-tests (Depends-on): Add extensions.
38109
38110 2009-05-13  Bruno Haible  <bruno@clisp.org>
38111
38112         Make some tests ISO C 99 compliant.
38113         * tests/zerosize-ptr.h: New file.
38114         * tests/test-memchr.c: Include zerosize-ptr.h.
38115         (main): Use a zero-size object pointer instead of NULL.
38116         * tests/test-memchr2.c: Include zerosize-ptr.h.
38117         (main): Use a zero-size object pointer instead of NULL.
38118         * tests/test-memcmp.c: Include zerosize-ptr.h.
38119         (main): Use a zero-size object pointer instead of NULL.
38120         * tests/test-memmem.c: Include zerosize-ptr.h.
38121         (main): Use a zero-size object pointer instead of NULL.
38122         * tests/test-memrchr.c: Include zerosize-ptr.h.
38123         (main): Use a zero-size object pointer instead of NULL.
38124         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
38125         m4/mmap-anon.m4.
38126         (Depends-on): Add getpagesize.
38127         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38128         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
38129         m4/mmap-anon.m4.
38130         (Depends-on): Add getpagesize.
38131         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38132         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
38133         m4/mmap-anon.m4.
38134         (Depends-on): Add getpagesize.
38135         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38136         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
38137         m4/mmap-anon.m4.
38138         (Depends-on): Add getpagesize.
38139         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38140         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
38141         m4/mmap-anon.m4.
38142         (Depends-on): Add getpagesize.
38143         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38144
38145 2009-05-12  Bruno Haible  <bruno@clisp.org>
38146
38147         Tests for module 'alignof'.
38148         * modules/alignof-tests: New file.
38149         * tests/test-alignof.c: New file.
38150
38151 2009-05-12  Bruno Haible  <bruno@clisp.org>
38152
38153         Fix alignof macro.
38154         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
38155         vendor compilers that are always correct.
38156
38157 2009-05-12  Bruno Haible  <bruno@clisp.org>
38158
38159         Make the MAP_ANONYMOUS detection work on HP-UX 11.
38160         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
38161         not whether its fully works.
38162
38163 2009-05-12  Bruno Haible  <bruno@clisp.org>
38164
38165         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
38166
38167 2009-05-12  Jim Meyering  <meyering@redhat.com>
38168
38169         * top/maint.mk: Adjust backslash alignment.
38170
38171 2009-05-11  Simon Josefsson  <simon@josefsson.org>
38172
38173         * top/maint.mk: Make $(srcdir)/build-aux configurable.
38174
38175 2009-05-11  Eric Blake  <ebb9@byu.net>
38176
38177         argp: avoid undefined behavior
38178         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
38179         macros.
38180
38181 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38182
38183         * tests/test-vc-list-files-git.sh: Do git config of user.email and
38184         user.name to prevent git commit from complaining.
38185
38186 2009-05-10  Bruno Haible  <bruno@clisp.org>
38187
38188         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
38189         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
38190         it rewrites every file name only once.
38191         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
38192
38193 2009-05-08  Bruno Haible  <bruno@clisp.org>
38194
38195         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
38196         instead of 'max'.
38197
38198 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38199
38200         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
38201         sockaddr_storage test.
38202
38203 2009-05-07  Simon Josefsson  <simon@josefsson.org>
38204
38205         * modules/sys_socket (Makefile.am): Substitute
38206         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
38207         * m4/sys_socket_h.m4: Check for sockaddr_storage.
38208         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
38209         * tests/test-sys_socket.c: Check sockaddr_storage.
38210
38211 2009-05-08  Bruno Haible  <bruno@clisp.org>
38212
38213         New module 'alignof'.
38214         * lib/alignof.h: New file.
38215         * modules/alignof: New file.
38216
38217 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38218             Bruno Haible  <bruno@clisp.org>
38219
38220         Fix test-file-has-acl on FreeBSD.
38221         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
38222         mask is implicitly added.
38223         * tests/test-file-has-acl.c: Include <signal.h>.
38224         (main): Terminate the test after 5 seconds.
38225         * modules/acl-tests (configure.ac): Check for alarm function.
38226
38227 2009-05-04  Bruno Haible  <bruno@clisp.org>
38228
38229         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
38230         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
38231         * modules/errno (configure.ac): Drop AC_REQUIRE.
38232         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
38233         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
38234
38235 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38236
38237         * modules/glob-tests: New module.
38238         * tests/test-glob.c: Add.
38239
38240 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38241
38242         * modules/fnmatch-tests: New module.
38243         * tests/test-fnmatch.c: Add.
38244
38245 2009-05-04  Eric Blake  <ebb9@byu.net>
38246
38247         maint: make the new no-submodule-changes rule VPATH-safe
38248         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
38249
38250 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38251             Bruno Haible  <bruno@clisp.org>
38252
38253         acl: Fix infinite loop on FreeBSD.
38254         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
38255         of return value from acl_get_entry.
38256         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
38257         Likewise.
38258
38259 2009-05-03  Bruno Haible  <bruno@clisp.org>
38260
38261         * lib/acl-internal.h (acl_entries): Clarify return value.
38262         * lib/acl_entries.c (acl_entries): Likewise.
38263
38264 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38265
38266         Bug fix in acl module.
38267         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
38268
38269 2009-05-03  Bruno Haible  <bruno@clisp.org>
38270
38271         Create gperf-generated file in the source dir, not in the build dir.
38272         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
38273         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
38274         * modules/unicase/locale-language (unicase/locale-languages.h):
38275         Likewise.
38276         * modules/unicase/special-casing (unicase/special-casing-table.h):
38277         Likewise.
38278         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
38279         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
38280         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
38281         Reported by Ralf Wildenhues.
38282
38283 2009-05-03  Bruno Haible  <bruno@clisp.org>
38284
38285         * modules/fnmatch (Description, configure.ac): Taken from
38286         fnmatch-posix.
38287         * modules/fnmatch-posix: Turn into a symbolic reference to the
38288         'fnmatch' module, and deprecate.
38289         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
38290
38291 2009-05-03  Bruno Haible  <bruno@clisp.org>
38292
38293         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
38294         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
38295         Reported by Ralf Wildenhues.
38296
38297 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38298
38299         * m4/fnmatch.m4: Fix fnmatch re-define.
38300
38301 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38302
38303         priv-set: new module and tests; adapt write-any-file
38304         * lib/priv-set.c: New file.
38305         * lib/priv-set.h: New file.
38306         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
38307         * lib/write-any-file.c: Simplify by using priv-set module.
38308         * m4/priv-set.m4: New file.
38309         * modules/priv-set: New file.
38310         * modules/unlinkdir: Add dependency on priv-set module.
38311         * modules/write-any-file: Likewise.
38312
38313         Tests for module 'priv-set'.
38314         * modules/priv-set-tests: New file.
38315         * tests/test-priv-set.c: New file.
38316
38317 2009-05-03  Jim Meyering  <meyering@redhat.com>
38318             Bruno Haible  <bruno@clisp.org>
38319
38320         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
38321         use the converted UTF-8 variant of the name instead.
38322
38323 2009-05-03  Jim Meyering  <meyering@redhat.com>
38324
38325         tests: tighten some getdate tests
38326         * tests/test-getdate.c (main): Tighten tests: require equality,
38327         not just greater than.  Set TZ envvar to UTC0.
38328
38329 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
38330
38331         getdate: correctly interpret "next monday" when run on a Monday
38332         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
38333         that e.g., "next tues" (when run on a tuesday) results in a date
38334         that is one week in the future, and not today's date.
38335         I.e., add a week when the wday is the same as the current one.
38336         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
38337         and earlier by Martin Bernreuther and Jan Minář.
38338         * tests/test-getdate.c (main): Check that "next DAY" is always in
38339         the future and that "last DAY" is always in the past.
38340
38341 2009-05-02  Jim Meyering  <meyering@redhat.com>
38342
38343         build: ensure that a release build fails when a submodule is unclean
38344         * top/maint.mk (no-submodule-changes): New rule.
38345         (alpha beta major): Depend on it.
38346
38347 2009-05-02  Bruno Haible  <bruno@clisp.org>
38348
38349         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
38350         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
38351         shell variable gl_fnmatch_required to detect which variant is
38352         requested.
38353         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
38354         gl_FUNC_FNMATCH_POSIX.
38355         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
38356         exclude fnmatch-posix.
38357
38358 2009-05-02  Bruno Haible  <bruno@clisp.org>
38359
38360         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
38361         * modules/mbsrtowcs (License): Change to LGPLv2+.
38362         * modules/strnlen1 (License): Likewise.
38363         Reported by Simon Josefsson.
38364
38365 2009-05-02  Bruno Haible  <bruno@clisp.org>
38366
38367         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
38368         "cross".
38369         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
38370         gnulib-tool was called with option --source-base=lib.
38371
38372 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38373
38374         Use automake *-local hooks without commands, for extensibility.
38375         * modules/localcharset (Makefile.am): Rename install-exec-local
38376         rule to install-exec-localcharset, and make it a prerequisite of
38377         install-exec-local.  Likewise, rename the uninstall-local rule to
38378         uninstall-localcharset, and make it a prerequisite of the former.
38379
38380 2009-05-01  Bruno Haible  <bruno@clisp.org>
38381
38382         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38383         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38384         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38385         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38386         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38387         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38388         m4/locale-zh.m4, m4/codeset.m4.
38389
38390         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38391         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38392         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38393         m4/locale-zh.m4.
38394
38395         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38396         REPLACE_WCRTOMB if mbstate_t must be replaced.
38397         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38398         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38399
38400 2009-05-01  Bruno Haible  <bruno@clisp.org>
38401
38402         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38403         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38404         dngettext, dcngettext, textdomain, bindtextdomain,
38405         bind_textdomain_codeset): Undefine before redefining.
38406
38407 2009-04-30  Bruno Haible  <bruno@clisp.org>
38408
38409         Fix bug introduced on 2009-04-25.
38410         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38411         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38412         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38413         is defined.
38414         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38415         is defined.
38416         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38417         is defined.
38418         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38419
38420 2009-04-28  Bruno Haible  <bruno@clisp.org>
38421
38422         Comment tweaks.
38423         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38424         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38425         * lib/unicase.h (u*_casexfrm): Likewise.
38426         Reported by Paolo Bonzini.
38427
38428 2009-04-28  Bruno Haible  <bruno@clisp.org>
38429
38430         Fix a compilation error.
38431         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38432         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38433         Reported by Jim Meyering.
38434
38435 2009-04-27  Bruno Haible  <bruno@clisp.org>
38436
38437         New module 'libunistring'.
38438         * modules/libunistring: New file.
38439         * m4/libunistring.m4: New file.
38440         * MODULES.html.sh (Unicode string functions): Add it.
38441
38442 2009-04-27  Eric Blake  <ebb9@byu.net>
38443
38444         maint.mk: allow package-specific header to provide <config.h>
38445         * top/maint.mk (sc_require_config_h): New variable.
38446         (sc_require_config_h, sc_require_config_h_first): Use it.
38447
38448 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38449
38450         * top/maint.mk (sc_avoid_if_before_free): Except
38451         useless-if-before-free script.
38452
38453 2009-04-27  Eric Blake  <ebb9@byu.net>
38454
38455         maintainer-makefile: depend on all required helper scripts
38456         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38457         useless-if-before-free.
38458         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38459         version, rather than assuming gnulib checkout is available.
38460         Reported by Simen Josefsson.
38461
38462 2009-04-26  Bruno Haible  <bruno@clisp.org>
38463
38464         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38465         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38466         "../" or "..".
38467
38468 2009-04-26  Bruno Haible  <bruno@clisp.org>
38469
38470         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38471         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38472         AC_LIB_HAVE_LINKFLAGS.
38473
38474 2009-04-26  Bruno Haible  <bruno@clisp.org>
38475
38476         Simplify calling convention of u*_conv_from_encoding.
38477         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38478         u32_conv_from_encoding): Expect a resultbuf argument and return the
38479         result directly as a pointer.
38480         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38481         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38482         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38483         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38484         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38485         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38486         Update.
38487         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38488         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38489         * lib/vasnprintf.c (VASNPRINTF): Update.
38490         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38491         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38492         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38493         * NEWS: Mention the change.
38494
38495 2009-04-26  Bruno Haible  <bruno@clisp.org>
38496
38497         Simplify calling convention of u*_conv_to_encoding.
38498         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38499         u32_conv_to_encoding): Expect a resultbuf argument and return the
38500         result directly as a pointer.
38501         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38502         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38503         freeing scaled_offsets if mem_iconveha failed.
38504         * lib/unicase/u-casexfrm.h (FUNC): Update.
38505         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38506         * lib/vasnprintf.c (VASNPRINTF): Update.
38507         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38508         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38509         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38510         * NEWS: Mention the change.
38511
38512 2009-04-26  Bruno Haible  <bruno@clisp.org>
38513
38514         Avoid test failures on AIX and OSF/1.
38515         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38516         malloc(0).
38517         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38518         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38519         Likewise.
38520         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38521         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38522         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38523         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38524         * doc/posix-functions/malloc.texi: Document the portability problem
38525         related to malloc(0).
38526
38527 2009-04-26  Bruno Haible  <bruno@clisp.org>
38528
38529         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38530         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38531         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38532
38533 2009-04-25  Bruno Haible  <bruno@clisp.org>
38534
38535         Avoid link error when creating a namespace clean library.
38536         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38537         as macro with arguments if already defined as an alias.
38538         * lib/signbitf.c (gl_signbitf): Don't undefine.
38539         * lib/signbitd.c (gl_signbitd): Don't undefine.
38540         * lib/signbitl.c (gl_signbitl): Don't undefine.
38541
38542 2009-04-25  Jim Meyering  <meyering@redhat.com>
38543
38544         vc-list-files: fix another quoting bug
38545         * build-aux/vc-list-files: Avoid sed backslash expansion
38546         of pathological directory names.
38547
38548 2009-04-25  Eric Blake  <ebb9@byu.net>
38549
38550         vc-list-files: fix shell quoting error
38551         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38552         timestamp.
38553
38554 2009-04-25  Jim Meyering  <meyering@redhat.com>
38555
38556         vc-list-files: restore lost functionality with subdir argument
38557         * build-aux/vc-list-files: When given a non-"." sub-directory
38558         argument, substitute the $dir/ prefix back onto each resulting name.
38559         Otherwise, coreutils' root_tests check would fail.
38560
38561 2009-04-24  Eric Blake  <ebb9@byu.net>
38562
38563         vc-list-files: ignore git symlinks
38564         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38565         than ls-files, to ignore git symlinks.
38566
38567         maint.mk: import improvements from m4
38568         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38569         (move_if_change): Delete unused macro.
38570         (news-date-check, vc-diff-check): Support VPATH builds.
38571         (announcement): Likewise.  Split --bootstrap-tools list...
38572         (boostrap-tools): ...into separate list, which can be overridden
38573         in cfg.mk.
38574         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38575         requiring dependency on useless-if-before-free module.
38576         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38577         Support VPATH builds.
38578
38579 2009-04-24  Jim Meyering  <meyering@redhat.com>
38580
38581         maint.mk: remove coreutils-specific rules and variables
38582         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38583         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38584         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38585
38586         maint.mk: remove obsolete rule
38587         * top/maint.mk (rel-check): Remove rule.
38588         (WGET, WGETFLAGS): Remove now-unused variables.
38589
38590 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38591
38592         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38593         consistency.
38594
38595         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38596         '$(PATH_SEPARATOR)' instead of ':'.
38597
38598 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38599
38600         * lib/getopt1.c (main): Use 'const' for static array.
38601
38602 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38603
38604         * top/maint.mk: Sync with coreutils.
38605         * NEWS: Explain incompatibilities.
38606
38607 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38608             Bruno Haible  <bruno@clisp.org>
38609
38610         Fix cross-compilation results.
38611         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38612         statement, as third argument of AC_TRY_RUN.
38613         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38614         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38615         Likewise.
38616         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38617         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38618         Likewise.
38619         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38620         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38621         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38622
38623 2009-04-20  Bruno Haible  <bruno@clisp.org>
38624
38625         Avoid test failure on mingw.
38626         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38627
38628 2009-04-20  Bruno Haible  <bruno@clisp.org>
38629
38630         Avoid compilation error on mingw.
38631         * modules/localename-tests (Depends-on): Add locale.
38632
38633 2009-04-19  Bruno Haible  <bruno@clisp.org>
38634
38635         Support for building a shared library on Windows platforms.
38636         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38637         (main): Test the presence of UNINORM_NFC here.
38638         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38639         (main): Test the presence of UNINORM_NFD here.
38640         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38641         (main): Test the presence of UNINORM_NFKC here.
38642         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38643         (main): Test the presence of UNINORM_NFKD here.
38644
38645 2009-04-19  Bruno Haible  <bruno@clisp.org>
38646
38647         Avoid a compiler warning.
38648         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38649         Change type of variable 'sequence'.
38650
38651 2009-04-19  Bruno Haible  <bruno@clisp.org>
38652
38653         * modules/configmake (Makefile.am): When the contents of configmake.h
38654         does not change, arrange to preserve its modification time.
38655
38656 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38657
38658         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38659         gettext domain.
38660
38661 2009-04-16  Jim Meyering  <meyering@redhat.com>
38662
38663         useless-if-before-free: improve conversion code
38664         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38665         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38666
38667 2009-04-14  Bruno Haible  <bruno@clisp.org>
38668
38669         * modules/fcntl (Depends-on): Add extensions.
38670         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38671
38672 2009-04-12  Ben Pfaff  <blp@gnu.org>
38673
38674         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38675         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38676
38677 2009-03-20  Ben Pfaff  <blp@gnu.org>
38678
38679         Make rename replace existing destinations on Windows.
38680         * m4/rename.m4: Add test for Mingw.
38681         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38682         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38683         * doc/posix-functions/rename.texi: Document.
38684
38685 2009-04-10  Bruno Haible  <bruno@clisp.org>
38686
38687         New include file "iconveh.h".
38688         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38689         * lib/striconveh.h: Include it.
38690         (enum iconv_ilseq_handler): Remove definition.
38691         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38692         striconveh.h.
38693         * lib/striconveha.c: Include striconveh.h.
38694         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38695         * modules/striconveh (Files): Add lib/iconveh.h.
38696         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38697         lib/striconveh.h.
38698
38699 2009-04-10  Bruno Haible  <bruno@clisp.org>
38700
38701         * lib/uniconv.h: Update comment.
38702
38703 2009-04-10  Bruno Haible  <bruno@clisp.org>
38704
38705         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38706         always.
38707         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38708         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38709         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38710         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38711         "unistring-notinline.h", so that the function gets defined always.
38712         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38713         * lib/unistr/u8-uctomb.c: Likewise.
38714         * lib/unistr/u16-mbtouc.c: Likewise.
38715         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38716         * lib/unistr/u16-uctomb.c: Likewise.
38717         * lib/unistr/u32-mbtouc.c: Likewise.
38718         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38719         * lib/unistr/u32-uctomb.c: Likewise.
38720
38721 2009-04-10  Bruno Haible  <bruno@clisp.org>
38722
38723         Mark 'utime' obsolete.
38724         * modules/utime (Status, Notice): New sections.
38725         Suggested by Jim Meyering.
38726
38727         Fix cross-compile guess for utime test.
38728         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38729         autoconf.
38730         * doc/posix-functions/utime.texi: Give more precisions.
38731         Reported by Jan <ipif@ymail.com>.
38732
38733 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38734
38735         filevercmp: correct today's change
38736         * lib/filevercmp.c: Also handle coreutils' test inputs.
38737         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38738
38739         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38740         for reporting it.
38741         * lib/filevercmp.c: Special handle for "", "." and "..".
38742         * tests/test-filevercmp.c: Enlarge the set suite.
38743
38744 2009-04-07  Jim Meyering  <meyering@redhat.com>
38745
38746         useless-if-before-free: show how to remove braced useless free, too
38747         * build-aux/useless-if-before-free: still only in a comment, though.
38748
38749 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38750
38751         maint.mk: import changes to syntax-check macros from coreutils
38752         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38753         Use them in the relevant macros.
38754
38755 2009-04-06  Bruno Haible  <bruno@clisp.org>
38756
38757         Fix unportable use of bit-fields.
38758         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38759         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38760         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38761
38762 2009-04-06  Bruno Haible  <bruno@clisp.org>
38763
38764         Avoid test failures on AIX and OSF/1.
38765         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38766         that malloc(0) = NULL.
38767         * tests/unicase/test-u8-tolower.c (check): Likewise.
38768         * tests/unicase/test-u8-totitle.c (check): Likewise.
38769         * tests/unicase/test-u8-toupper.c (check): Likewise.
38770         * tests/unicase/test-u16-casefold.c (check): Likewise.
38771         * tests/unicase/test-u16-tolower.c (check): Likewise.
38772         * tests/unicase/test-u16-totitle.c (check): Likewise.
38773         * tests/unicase/test-u16-toupper.c (check): Likewise.
38774         * tests/unicase/test-u32-casefold.c (check): Likewise.
38775         * tests/unicase/test-u32-tolower.c (check): Likewise.
38776         * tests/unicase/test-u32-totitle.c (check): Likewise.
38777         * tests/unicase/test-u32-toupper.c (check): Likewise.
38778         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38779         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38780         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38781         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38782         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38783         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38784         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38785         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38786         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38787         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38788         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38789         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38790
38791 2009-04-05  Bruno Haible  <bruno@clisp.org>
38792
38793         Work around an autoconf limitation.
38794         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
38795         comment line if it would be longer than 3 KB.
38796
38797 2009-04-05  Bruno Haible  <bruno@clisp.org>
38798
38799         Avoid test failure with libiconv-1.13.
38800         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
38801         of the expected test results.
38802
38803 2009-04-05  Bruno Haible  <bruno@clisp.org>
38804
38805         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
38806         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
38807         that it should be installed.
38808
38809 2009-04-05  Bruno Haible  <bruno@clisp.org>
38810
38811         * gnulib-tool: New option --copy-file.
38812         (func_usage): Document it.
38813         (func_dest_tmpfilename): Moved out of func_import.
38814         (func_add_file, func_update_file): New functions, extracted from
38815         func_import.
38816         (func_import): Update.
38817
38818 2009-04-05  Karl Berry  <karl@gnu.org>
38819
38820         * README: prominently mention gnulib-tool.
38821         Rearrange sections so getting the code is near the top.
38822
38823 2009-04-05  Bruno Haible  <bruno@clisp.org>
38824
38825         * lib/unicase.h: Mention u*_cmp2.
38826         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38827         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
38828         * lib/unicase/ulc-casecmp.c: Likewise.
38829         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
38830         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
38831         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
38832         unistr/u8-cmp.
38833         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
38834         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
38835         unistr/u16-cmp.
38836         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
38837         unistr/u32-cmp.
38838
38839         * lib/uninorm.h: Mention u*_cmp2.
38840         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38841         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
38842         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
38843         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
38844         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
38845         unistr/u8-cmp.
38846         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
38847         unistr/u16-cmp.
38848         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
38849         unistr/u32-cmp.
38850
38851         New module 'unistr/u32-cmp2'.
38852         * lib/unistr/u32-cmp2.c: New file.
38853         * modules/unistr/u32-cmp2: New file.
38854
38855         New module 'unistr/u16-cmp2'.
38856         * lib/unistr/u16-cmp2.c: New file.
38857         * modules/unistr/u16-cmp2: New file.
38858
38859         New module 'unistr/u8-cmp2'.
38860         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
38861         * lib/unistr/u8-cmp2.c: New file.
38862         * lib/unistr/u-cmp2.h: New file.
38863         * modules/unistr/u8-cmp2: New file.
38864
38865 2009-04-05  Bruno Haible  <bruno@clisp.org>
38866
38867         * lib/unictype.h (uc_property_is_valid): New macro.
38868         * tests/unictype/test-pr_byname.c (main): Use it.
38869
38870         * lib/unistr.h: Doc fixes.
38871         * lib/uniconv.h: Doc fixes.
38872         * lib/unictype.h: Doc fixes.
38873
38874 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
38875
38876         Port coreutils 7.2 to Solaris 8.
38877
38878         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
38879         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
38880         for Solaris 8.  This is a bit of a hack, as it means it's the
38881         caller's responsibility to add -lnsl if needed, but most likely it
38882         won't be needed since only getaddrinfo uses this and getaddrinfo
38883         isn't needed on Solaris 8.
38884
38885         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
38886         problem to Solaris 8 encountered with coreutils 7.2, which
38887         resulted in a message "fnmatch.c:292: warning: passing argument 4
38888         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
38889         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
38890
38891 2009-04-03  Simon Josefsson  <simon@josefsson.org>
38892
38893         * m4/ld-version-script.m4: Add FIXME comment.
38894
38895 2009-04-02  Simon Josefsson  <simon@josefsson.org>
38896
38897         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
38898         SOVERSION variable.
38899
38900 2009-04-02  Bruno Haible  <bruno@clisp.org>
38901
38902         * Makefile (info, html, dvi, pdf): Combine the rules.
38903         Suggested by Jim Meyering.
38904
38905 2009-04-01  Bruno Haible  <bruno@clisp.org>
38906
38907         * Makefile (info, html, dvi, pdf): New targets.
38908         Reported by Reuben Thomas <rrt@sc3d.org>.
38909
38910 2009-04-01  Bruno Haible  <bruno@clisp.org>
38911
38912         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
38913         can be put into PATH.
38914         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
38915
38916 2009-04-01  Bruno Haible  <bruno@clisp.org>
38917
38918         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
38919
38920 2009-04-01  Bruno Haible  <bruno@clisp.org>
38921
38922         Rename module 'visibility'.
38923         * modules/lib-symbol-visibility: Renamed from modules/visibility.
38924         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
38925         * doc/gnulib.texi: Update.
38926         * MODULES.html.sh (Misc): Update.
38927         * NEWS: Mention the change.
38928
38929 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38930
38931         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
38932         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
38933         Eric Blake <ebb9@byu.net> for review.
38934         * MODULES.html.sh: Add lib-msvc-compat.
38935         * doc/gnulib.texi: Link to new section.
38936         * m4/ld-output-def.m4: New file.
38937         * doc/ld-output-def.texi: New file.
38938
38939 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38940
38941         Rename ld-version-script to lib-symbol-versions.  Suggested by
38942         Bruno Haible <bruno@clisp.org>.
38943         * modules/ld-version-script: Renamed to lib-symbol-versions.
38944         * doc/ld-version-script.texi: Fix module name.
38945         * MODULES.html.sh: Add lib-symbol-versions.
38946
38947 2009-03-31  Simon Josefsson  <simon@josefsson.org>
38948
38949         * modules/u64-tests: New file.
38950         * tests/test-u64.c: New file.
38951
38952 2009-03-04  Simon Josefsson  <simon@josefsson.org>
38953
38954         * MODULES.html.sh: Mention u64.
38955         * modules/u64: New module.
38956         * modules/crypto/sha512: Depend on u64 module instead of providing
38957         u64.h.
38958
38959 2009-03-27  Eric Blake  <ebb9@byu.net>
38960
38961         test-strerror: make debugging EAI_SYSTEM easier
38962         * modules/getaddrinfo-tests (Depends-on): Add strerror.
38963         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
38964         failure was EAI_SYSTEM.
38965
38966 2009-03-25  Bruno Haible  <bruno@clisp.org>
38967
38968         Fix a problem with --enable-relocatable on Solaris 7.
38969         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
38970         since 2008-02-24.
38971
38972 2009-03-25  Eric Blake  <ebb9@byu.net>
38973
38974         test-sockets: avoid gcc warning
38975         * tests/test-sockets.c (main): Silence compiler warning.
38976
38977 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
38978
38979         New modules nproc, pthread, contributed by Glen Lenker.
38980
38981         * MODULES.html.sh: Add pthread, nproc.
38982         * lib/nproc.c: New file.
38983         * lib/nproc.h: New file.
38984         * lib/pthread.in.h: New file.
38985         * m4/pthread.m4: New file.
38986         * modules/nproc: New file.
38987         * modules/pthread: New file.
38988
38989 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38990
38991         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
38992         New variable.
38993
38994 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
38995
38996         filevercmp: handle simple~ and numbered.~3~ backup suffixes
38997         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
38998         * tests/test-filevercmp.c: Add tests for backup suffixes.
38999
39000 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39001
39002         * modules/stdlib (Depends-on): Add stdint, needed when defining
39003         struct random_data on, for example, HP-UX 10.20.  Reported by
39004         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39005
39006 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39007
39008         * lib/readline.c (readline): Call fflush on stdout after printing
39009         prompt.
39010
39011 2009-03-20  Bruno Haible  <bruno@clisp.org>
39012
39013         Remove dependency from 'close' module to -lws2_32 on native Windows.
39014         * lib/close-hook.h: New file.
39015         * lib/close-hook.c: New file.
39016         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
39017         w32sock.h.
39018         (_gl_close_fd_maybe_socket): Remove function.
39019         (rpl_close): Invoke execute_all_close_hooks instead of
39020         _gl_close_fd_maybe_socket.
39021         * lib/sockets.c: Include close-hook.h, w32sock.h.
39022         (close_fd_maybe_socket): New function, essentially from lib/close.c.
39023         (close_sockets_hook): New variable.
39024         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
39025         (gl_sockets_cleanup): Unregister it.
39026         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
39027         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
39028         * modules/close-hook: New file.
39029         * modules/close (Files): Remove lib/w32sock.h.
39030         (Depends-on): Add close-hook.
39031         (Link): Remove section.
39032         * modules/sockets (Files): Add lib/w32sock.h.
39033         (Depends-on): Add close-hook.
39034         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
39035         invocation.
39036         * NEWS: Mention that LIB_CLOSE is gone.
39037
39038 2009-03-23  Eric Blake  <ebb9@byu.net>
39039
39040         signal-tests: test previous patch
39041         * tests/test-signal.c: New file.
39042         * modules/signal-tests: Likewise.
39043
39044         signal.h: always support 'volatile sig_atomic_t'
39045         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
39046         (gl_SIGNAL_H_DEFAULTS): Add a default.
39047         * modules/signal (Makefile.am): Substitute if needed.
39048         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
39049         users can blindly add volatile.
39050         * doc/posix-headers/signal.texi (signal.h): Document it.
39051         Reported by Matthew Woehlke.
39052
39053 2009-03-23  Jim Meyering  <meyering@redhat.com>
39054
39055         pathmax: PATH_MAX: use pathconf only when available
39056         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
39057         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
39058         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
39059         This avoids a link failure in a PSP cross-compilation environment
39060         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
39061
39062         * lib/vasnprintf.c (divide): Fix typo in comment.
39063
39064 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39065
39066         * gnulib-tool (func_filter_filelist): Fix comment.
39067
39068 2009-03-20  Bruno Haible  <bruno@clisp.org>
39069
39070         Make sockets.h self-contained.
39071         * lib/sockets.c: Include sockets.h first.
39072         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
39073
39074 2009-03-19  Eric Blake  <ebb9@byu.net>
39075
39076         doc: mention more functions added in cygwin 1.7.0
39077         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
39078         addition.
39079         * doc/posix-functions/log2f.texi: Likewise.
39080
39081 2009-03-19  Jim Meyering  <meyering@redhat.com>
39082
39083         fsusage: avoid syntax error due to statement-before-declaration
39084         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
39085         after all declarations.  Reported by Matthew Woehlke in
39086         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
39087
39088 2009-03-18  Eric Blake  <ebb9@byu.net>
39089
39090         build-aux/compile: sync from automake
39091         * build-aux/compile: New file, from automake.
39092         * config/srclist.txt: Mention build-aux/compile.
39093
39094 2009-03-17  Bruno Haible  <bruno@clisp.org>
39095
39096         * lib/git-merge-changelog.c: Fix typo in comment.
39097         Reported by Reuben Thomas <rrt@sc3d.org>.
39098
39099 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
39100
39101         * m4/regex.m4: update and improve help for
39102         --without-included-regex.
39103
39104 2009-03-17  Simon Josefsson  <simon@josefsson.org>
39105
39106         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
39107         failure on missing include files.
39108
39109 2009-03-17  Eric Blake  <ebb9@byu.net>
39110
39111         doc: mention more functions added in cygwin 1.7.0
39112         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
39113         addition.
39114         * doc/posix-functions/fwscanf.texi: Likewise.
39115         * doc/posix-functions/swprintf.texi: Likewise.
39116         * doc/posix-functions/swscanf.texi: Likewise.
39117         * doc/posix-functions/vfwprintf.texi: Likewise.
39118         * doc/posix-functions/vfwscanf.texi: Likewise.
39119         * doc/posix-functions/vswprintf.texi: Likewise.
39120         * doc/posix-functions/vswscanf.texi: Likewise.
39121         * doc/posix-functions/vwprintf.texi: Likewise.
39122         * doc/posix-functions/vwscanf.texi: Likewise.
39123         * doc/posix-functions/wcscasecmp.texi: Likewise.
39124         * doc/posix-functions/wcsdup.texi: Likewise.
39125         * doc/posix-functions/wcsftime.texi: Likewise.
39126         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39127         * doc/posix-functions/wprintf.texi: Likewise.
39128         * doc/posix-functions/wscanf.texi: Likewise.
39129         * doc/glibc-functions/gethostbyname2.texi: Likewise.
39130
39131 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39132
39133         maint.mk: really add $(AM_MAKEFLAGS)
39134         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
39135         was inadvertently omitted in the last commit.
39136         Spotted by Bruno Haible.
39137
39138         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
39139         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
39140         $(AM_MAKEFLAGS)' rather than plain `make'.
39141
39142         gnulib-tool: execute $MAKE not make
39143         * gnulib-tool: Default $MAKE to 'make'.
39144         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
39145         than make.  Initialize $MAKE in the do-autobuild script.
39146
39147         gnulib-tool: use $MAKE not make in generated files
39148         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
39149         make, in generated files.  Initialize $MAKE in the do-autobuild
39150         script.
39151
39152         * top/GNUmakefile (_have-git-version-gen): Fix typo.
39153
39154         GNUmakefile: disable parallelism only for multiple, recursive targets
39155         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
39156         additions in the Makefile.
39157         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
39158         by Automake.
39159         (.NOTPARALLEL): Only disable parallel builds if multiple targets
39160         are listed on the command line and at least one of them is
39161         listed in $(ALL_RECURSIVE_TARGETS).
39162
39163 2009-03-14  Bruno Haible  <bruno@clisp.org>
39164
39165         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
39166         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
39167         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
39168         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
39169         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
39170         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
39171         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
39172         unistr/u8-uctomb.
39173         * modules/unistr/u8-strchr (Depends-on): Likewise.
39174         * modules/unistr/u8-strrchr (Depends-on): Likewise.
39175         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
39176         unistr/u16-uctomb.
39177         * modules/unistr/u16-strchr (Depends-on): Likewise.
39178         * modules/unistr/u16-strrchr (Depends-on): Likewise.
39179
39180 2009-03-12  Bruno Haible  <bruno@clisp.org>
39181
39182         Work around select() bug on Interix 3.5.
39183         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
39184         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
39185         * m4/select.m4: New file.
39186         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
39187         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
39188         * modules/select (Files): Add m4/select.m4.
39189         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
39190         * modules/nanosleep (Depends-on): Add select.
39191         * modules/poll (Depends-on): Likewise.
39192         * doc/posix-functions/select.texi: Mention the Interix bug.
39193         Reported by Markus Duft <mduft@gentoo.org>.
39194
39195         * lib/select.c: Renamed from lib/winsock-select.c.
39196         * modules/select (Files): Add lib/select.c, remove
39197         lib/winsock-select.c.
39198         (configure.ac): Update.
39199
39200 2009-03-12  Jim Meyering  <meyering@redhat.com>
39201
39202         avoid gcc warnings about unused macro definitions
39203         * lib/readtokens.c (STREQ): Remove unused definition.
39204         * lib/xmalloc.c (SIZE_MAX): Likewise.
39205         * lib/openat-die.c (N_): Likewise.
39206         * lib/mountlist.c (SIZE_MAX): Remove definition.
39207         Instead, include <stdint.h>.
39208         * lib/readutmp.c: Likewise.
39209         * modules/readutmp (Depends-on): Add stdint.
39210         * modules/mountlist (Depends-on): Add stdint.
39211         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
39212
39213 2009-03-10  Bruno Haible  <bruno@clisp.org>
39214
39215         Tests for module 'mbmemcasecoll'.
39216         * modules/mbmemcasecoll-tests: New file.
39217         * tests/test-mbmemcasecoll1.sh: New file.
39218         * tests/test-mbmemcasecoll2.sh: New file.
39219         * tests/test-mbmemcasecoll3.sh: New file.
39220         * tests/test-mbmemcasecoll.c: New file.
39221
39222         New module 'mbmemcasecoll'.
39223         * lib/mbmemcasecoll.h: New file.
39224         * lib/mbmemcasecoll.c: New file.
39225         * modules/mbmemcasecoll: New file.
39226
39227         * tests/test-mbmemcasecmp.h: New file, extracted from
39228         tests/test-mbmemcasecmp.c.
39229         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
39230         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
39231         (main): Update.
39232         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
39233
39234 2009-03-09  Bruno Haible  <bruno@clisp.org>
39235
39236         Tests for module 'mbmemcasecmp'.
39237         * modules/mbmemcasecmp-tests: New file.
39238         * tests/test-mbmemcasecmp1.sh: New file.
39239         * tests/test-mbmemcasecmp2.sh: New file.
39240         * tests/test-mbmemcasecmp3.sh: New file.
39241         * tests/test-mbmemcasecmp.c: New file.
39242
39243         New module 'mbmemcasecmp'.
39244         * lib/mbmemcasecmp.h: New file.
39245         * lib/mbmemcasecmp.c: New file.
39246         * modules/mbmemcasecmp: New file.
39247
39248 2009-03-09  Bruno Haible  <bruno@clisp.org>
39249
39250         Tests for module 'unicase/ulc-casecoll'.
39251         * modules/unicase/ulc-casecoll-tests: New file.
39252         * tests/unicase/test-ulc-casecoll1.sh: New file.
39253         * tests/unicase/test-ulc-casecoll2.sh: New file.
39254         * tests/unicase/test-ulc-casecoll.c: New file.
39255
39256         New module 'unicase/ulc-casecoll'.
39257         * lib/unicase.h (ulc_casecoll): New declaration.
39258         * lib/unicase/ulc-casecoll.c: New file.
39259         * modules/unicase/ulc-casecoll: New file.
39260
39261         New module 'unicase/ulc-casexfrm'.
39262         * lib/unicase.h (ulc_casexfrm): New declaration.
39263         * lib/unicase/ulc-casexfrm.c: New file.
39264         * modules/unicase/ulc-casexfrm: New file.
39265
39266 2009-03-09  Bruno Haible  <bruno@clisp.org>
39267
39268         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
39269         invocations.
39270
39271         * m4/mbscasecmp.m4: Remove file.
39272         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
39273         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
39274
39275         * m4/mbscasestr.m4: Remove file.
39276         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
39277         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
39278
39279         * m4/mbschr.m4: Remove file.
39280         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
39281         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
39282
39283         * m4/mbscspn.m4: Remove file.
39284         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
39285         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
39286
39287         * m4/mbslen.m4: Remove file.
39288         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
39289         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
39290
39291         * m4/mbsncasecmp.m4: Remove file.
39292         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
39293         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
39294
39295         * m4/mbsnlen.m4: Remove file.
39296         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
39297         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
39298
39299         * m4/mbspbrk.m4: Remove file.
39300         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
39301         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
39302
39303         * m4/mbspcasecmp.m4: Remove file.
39304         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
39305         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
39306
39307         * m4/mbsrchr.m4: Remove file.
39308         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
39309         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
39310
39311         * m4/mbssep.m4: Remove file.
39312         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
39313         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
39314
39315         * m4/mbsspn.m4: Remove file.
39316         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
39317         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
39318
39319         * m4/mbsstr.m4: Remove file.
39320         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
39321         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
39322
39323         * m4/mbstok_r.m4: Remove file.
39324         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
39325         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
39326
39327         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
39328
39329         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
39330         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
39331
39332         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
39333
39334 2009-03-08  Bruno Haible  <bruno@clisp.org>
39335
39336         Tests for module 'unicase/ulc-casecmp'.
39337         * modules/unicase/ulc-casecmp-tests: New file.
39338         * tests/unicase/test-ulc-casecmp1.sh: New file.
39339         * tests/unicase/test-ulc-casecmp2.sh: New file.
39340         * tests/unicase/test-ulc-casecmp.c: New file.
39341
39342         New module 'unicase/ulc-casecmp'.
39343         * lib/unicase.h (ulc_casecmp): New declaration.
39344         * lib/unicase/ulc-casecmp.c: New file.
39345         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
39346         'const SRC_UNIT *'.
39347         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
39348         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
39349         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
39350         * modules/unicase/ulc-casecmp: New file.
39351
39352         Tests for module 'unicase/u32-is-cased'.
39353         * modules/unicase/u32-is-cased-tests: New file.
39354         * tests/unicase/test-u32-is-cased.c: New file.
39355
39356         Tests for module 'unicase/u16-is-cased'.
39357         * modules/unicase/u16-is-cased-tests: New file.
39358         * tests/unicase/test-u16-is-cased.c: New file.
39359
39360         Tests for module 'unicase/u8-is-cased'.
39361         * modules/unicase/u8-is-cased-tests: New file.
39362         * tests/unicase/test-u8-is-cased.c: New file.
39363         * tests/unicase/test-is-cased.h: New file.
39364
39365         New module 'unicase/u32-is-cased'.
39366         * lib/unicase/u32-is-cased.c: New file.
39367         * modules/unicase/u32-is-cased: New file.
39368
39369         New module 'unicase/u16-is-cased'.
39370         * lib/unicase/u16-is-cased.c: New file.
39371         * modules/unicase/u16-is-cased: New file.
39372
39373         New module 'unicase/u8-is-cased'.
39374         * lib/unicase/u8-is-cased.c: New file.
39375         * lib/unicase/u-is-cased.h: New file.
39376         * modules/unicase/u8-is-cased: New file.
39377
39378         Tests for module 'unicase/u32-is-casefolded'.
39379         * modules/unicase/u32-is-casefolded-tests: New file.
39380         * tests/unicase/test-u32-is-casefolded.c: New file.
39381
39382         Tests for module 'unicase/u16-is-casefolded'.
39383         * modules/unicase/u16-is-casefolded-tests: New file.
39384         * tests/unicase/test-u16-is-casefolded.c: New file.
39385
39386         Tests for module 'unicase/u8-is-casefolded'.
39387         * modules/unicase/u8-is-casefolded-tests: New file.
39388         * tests/unicase/test-u8-is-casefolded.c: New file.
39389         * tests/unicase/test-is-casefolded.h: New file.
39390
39391         New module 'unicase/u32-is-casefolded'.
39392         * lib/unicase/u32-is-casefolded.c: New file.
39393         * modules/unicase/u32-is-casefolded: New file.
39394
39395         New module 'unicase/u16-is-casefolded'.
39396         * lib/unicase/u16-is-casefolded.c: New file.
39397         * modules/unicase/u16-is-casefolded: New file.
39398
39399         New module 'unicase/u8-is-casefolded'.
39400         * lib/unicase/u8-is-casefolded.c: New file.
39401         * modules/unicase/u8-is-casefolded: New file.
39402
39403         Tests for module 'unicase/u32-is-titlecase'.
39404         * modules/unicase/u32-is-titlecase-tests: New file.
39405         * tests/unicase/test-u32-is-titlecase.c: New file.
39406
39407         Tests for module 'unicase/u16-is-titlecase'.
39408         * modules/unicase/u16-is-titlecase-tests: New file.
39409         * tests/unicase/test-u16-is-titlecase.c: New file.
39410
39411         Tests for module 'unicase/u8-is-titlecase'.
39412         * modules/unicase/u8-is-titlecase-tests: New file.
39413         * tests/unicase/test-u8-is-titlecase.c: New file.
39414         * tests/unicase/test-is-titlecase.h: New file.
39415
39416         New module 'unicase/u32-is-titlecase'.
39417         * lib/unicase/u32-is-titlecase.c: New file.
39418         * modules/unicase/u32-is-titlecase: New file.
39419
39420         New module 'unicase/u16-is-titlecase'.
39421         * lib/unicase/u16-is-titlecase.c: New file.
39422         * modules/unicase/u16-is-titlecase: New file.
39423
39424         New module 'unicase/u8-is-titlecase'.
39425         * lib/unicase/u8-is-titlecase.c: New file.
39426         * modules/unicase/u8-is-titlecase: New file.
39427
39428         Tests for module 'unicase/u32-is-lowercase'.
39429         * modules/unicase/u32-is-lowercase-tests: New file.
39430         * tests/unicase/test-u32-is-lowercase.c: New file.
39431
39432         Tests for module 'unicase/u16-is-lowercase'.
39433         * modules/unicase/u16-is-lowercase-tests: New file.
39434         * tests/unicase/test-u16-is-lowercase.c: New file.
39435
39436         Tests for module 'unicase/u8-is-lowercase'.
39437         * modules/unicase/u8-is-lowercase-tests: New file.
39438         * tests/unicase/test-u8-is-lowercase.c: New file.
39439         * tests/unicase/test-is-lowercase.h: New file.
39440
39441         New module 'unicase/u32-is-lowercase'.
39442         * lib/unicase/u32-is-lowercase.c: New file.
39443         * modules/unicase/u32-is-lowercase: New file.
39444
39445         New module 'unicase/u16-is-lowercase'.
39446         * lib/unicase/u16-is-lowercase.c: New file.
39447         * modules/unicase/u16-is-lowercase: New file.
39448
39449         New module 'unicase/u8-is-lowercase'.
39450         * lib/unicase/u8-is-lowercase.c: New file.
39451         * modules/unicase/u8-is-lowercase: New file.
39452
39453         Tests for module 'unicase/u32-is-uppercase'.
39454         * modules/unicase/u32-is-uppercase-tests: New file.
39455         * tests/unicase/test-u32-is-uppercase.c: New file.
39456
39457         Tests for module 'unicase/u16-is-uppercase'.
39458         * modules/unicase/u16-is-uppercase-tests: New file.
39459         * tests/unicase/test-u16-is-uppercase.c: New file.
39460
39461         Tests for module 'unicase/u8-is-uppercase'.
39462         * modules/unicase/u8-is-uppercase-tests: New file.
39463         * tests/unicase/test-u8-is-uppercase.c: New file.
39464         * tests/unicase/test-is-uppercase.h: New file.
39465
39466         New module 'unicase/u32-is-uppercase'.
39467         * lib/unicase/u32-is-uppercase.c: New file.
39468         * modules/unicase/u32-is-uppercase: New file.
39469
39470         New module 'unicase/u16-is-uppercase'.
39471         * lib/unicase/u16-is-uppercase.c: New file.
39472         * modules/unicase/u16-is-uppercase: New file.
39473
39474         New module 'unicase/u8-is-uppercase'.
39475         * lib/unicase/u8-is-uppercase.c: New file.
39476         * modules/unicase/u8-is-uppercase: New file.
39477
39478         New module 'unicase/u32-is-invariant'.
39479         * lib/unicase/u32-is-invariant.c: New file.
39480         * modules/unicase/u32-is-invariant: New file.
39481
39482         New module 'unicase/u16-is-invariant'.
39483         * lib/unicase/u16-is-invariant.c: New file.
39484         * modules/unicase/u16-is-invariant: New file.
39485
39486         New module 'unicase/u8-is-invariant'.
39487         * lib/unicase/u8-is-invariant.c: New file.
39488         * lib/unicase/invariant.h: New file.
39489         * lib/unicase/u-is-invariant.h: New file.
39490         * modules/unicase/u8-is-invariant: New file.
39491
39492         Tests for module 'unicase/u32-casecoll'.
39493         * modules/unicase/u32-casecoll-tests: New file.
39494         * tests/unicase/test-u32-casecoll.c: New file.
39495
39496         Tests for module 'unicase/u16-casecoll'.
39497         * modules/unicase/u16-casecoll-tests: New file.
39498         * tests/unicase/test-u16-casecoll.c: New file.
39499
39500         Tests for module 'unicase/u8-casecoll'.
39501         * modules/unicase/u8-casecoll-tests: New file.
39502         * tests/unicase/test-u8-casecoll.c: New file.
39503
39504         New module 'unicase/u32-casecoll'.
39505         * lib/unicase/u32-casecoll.c: New file.
39506         * modules/unicase/u32-casecoll: New file.
39507
39508         New module 'unicase/u16-casecoll'.
39509         * lib/unicase/u16-casecoll.c: New file.
39510         * modules/unicase/u16-casecoll: New file.
39511
39512         New module 'unicase/u8-casecoll'.
39513         * lib/unicase/u8-casecoll.c: New file.
39514         * lib/unicase/u-casecoll.h: New file.
39515         * modules/unicase/u8-casecoll: New file.
39516
39517         New module 'unicase/u32-casexfrm'.
39518         * lib/unicase/u32-casexfrm.c: New file.
39519         * modules/unicase/u32-casexfrm: New file.
39520
39521         New module 'unicase/u16-casexfrm'.
39522         * lib/unicase/u16-casexfrm.c: New file.
39523         * modules/unicase/u16-casexfrm: New file.
39524
39525         New module 'unicase/u8-casexfrm'.
39526         * lib/unicase/u8-casexfrm.c: New file.
39527         * lib/unicase/u-casexfrm.h: New file.
39528         * modules/unicase/u8-casexfrm: New file.
39529
39530         Tests for module 'unicase/u32-casecmp'.
39531         * modules/unicase/u32-casecmp-tests: New file.
39532         * tests/unicase/test-u32-casecmp.c: New file.
39533
39534         Tests for module 'unicase/u16-casecmp'.
39535         * modules/unicase/u16-casecmp-tests: New file.
39536         * tests/unicase/test-u16-casecmp.c: New file.
39537
39538         Tests for module 'unicase/u8-casecmp'.
39539         * modules/unicase/u8-casecmp-tests: New file.
39540         * tests/unicase/test-u8-casecmp.c: New file.
39541         * tests/unicase/test-casecmp.h: New file.
39542
39543         New module 'unicase/u32-casecmp'.
39544         * lib/unicase/u32-casecmp.c: New file.
39545         * modules/unicase/u32-casecmp: New file.
39546
39547         New module 'unicase/u16-casecmp'.
39548         * lib/unicase/u16-casecmp.c: New file.
39549         * modules/unicase/u16-casecmp: New file.
39550
39551         New module 'unicase/u8-casecmp'.
39552         * lib/unicase/u8-casecmp.c: New file.
39553         * lib/unicase/u-casecmp.h: New file.
39554         * modules/unicase/u8-casecmp: New file.
39555
39556         Tests for module 'unicase/u32-casefold'.
39557         * modules/unicase/u32-casefold-tests: New file.
39558         * tests/unicase/test-u32-casefold.c: New file.
39559
39560         Tests for module 'unicase/u16-casefold'.
39561         * modules/unicase/u16-casefold-tests: New file.
39562         * tests/unicase/test-u16-casefold.c: New file.
39563
39564         Tests for module 'unicase/u8-casefold'.
39565         * modules/unicase/u8-casefold-tests: New file.
39566         * tests/unicase/test-u8-casefold.c: New file.
39567
39568         New module 'unicase/u32-casefold'.
39569         * lib/unicase/u32-casefold.c: New file.
39570         * modules/unicase/u32-casefold: New file.
39571
39572         New module 'unicase/u16-casefold'.
39573         * lib/unicase/u16-casefold.c: New file.
39574         * modules/unicase/u16-casefold: New file.
39575
39576         New module 'unicase/u8-casefold'.
39577         * lib/unicase/u8-casefold.c: New file.
39578         * lib/unicase/u-casefold.h: New file.
39579         * modules/unicase/u8-casefold: New file.
39580
39581         New module 'unicase/tocasefold'.
39582         * lib/unicase/casefold.h: New file.
39583         * lib/unicase/tocasefold.c: New file.
39584         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39585         * modules/unicase/tocasefold: New file.
39586
39587         Tests for module 'unicase/u32-totitle'.
39588         * modules/unicase/u32-totitle-tests: New file.
39589         * tests/unicase/test-u32-totitle.c: New file.
39590
39591         Tests for module 'unicase/u16-totitle'.
39592         * modules/unicase/u16-totitle-tests: New file.
39593         * tests/unicase/test-u16-totitle.c: New file.
39594
39595         Tests for module 'unicase/u8-totitle'.
39596         * modules/unicase/u8-totitle-tests: New file.
39597         * tests/unicase/test-u8-totitle.c: New file.
39598
39599         New module 'unicase/u32-totitle'.
39600         * lib/unicase/u32-totitle.c: New file.
39601         * modules/unicase/u32-totitle: New file.
39602
39603         New module 'unicase/u16-totitle'.
39604         * lib/unicase/u16-totitle.c: New file.
39605         * modules/unicase/u16-totitle: New file.
39606
39607         New module 'unicase/u8-totitle'.
39608         * lib/unicase/u8-totitle.c: New file.
39609         * lib/unicase/u-totitle.h: New file.
39610         * modules/unicase/u8-totitle: New file.
39611
39612         Tests for module 'unicase/u32-tolower'.
39613         * modules/unicase/u32-tolower-tests: New file.
39614         * tests/unicase/test-u32-tolower.c: New file.
39615
39616         Tests for module 'unicase/u16-tolower'.
39617         * modules/unicase/u16-tolower-tests: New file.
39618         * tests/unicase/test-u16-tolower.c: New file.
39619
39620         Tests for module 'unicase/u8-tolower'.
39621         * modules/unicase/u8-tolower-tests: New file.
39622         * tests/unicase/test-u8-tolower.c: New file.
39623
39624         New module 'unicase/u32-tolower'.
39625         * lib/unicase/u32-tolower.c: New file.
39626         * modules/unicase/u32-tolower: New file.
39627
39628         New module 'unicase/u16-tolower'.
39629         * lib/unicase/u16-tolower.c: New file.
39630         * modules/unicase/u16-tolower: New file.
39631
39632         New module 'unicase/u8-tolower'.
39633         * lib/unicase/u8-tolower.c: New file.
39634         * modules/unicase/u8-tolower: New file.
39635
39636         Tests for module 'unicase/u32-toupper'.
39637         * modules/unicase/u32-toupper-tests: New file.
39638         * tests/unicase/test-u32-toupper.c: New file.
39639
39640         Tests for module 'unicase/u16-toupper'.
39641         * modules/unicase/u16-toupper-tests: New file.
39642         * tests/unicase/test-u16-toupper.c: New file.
39643
39644         Tests for module 'unicase/u8-toupper'.
39645         * modules/unicase/u8-toupper-tests: New file.
39646         * tests/unicase/test-u8-toupper.c: New file.
39647
39648         New module 'unicase/u32-toupper'.
39649         * lib/unicase/u32-toupper.c: New file.
39650         * modules/unicase/u32-toupper: New file.
39651
39652         New module 'unicase/u16-toupper'.
39653         * lib/unicase/u16-toupper.c: New file.
39654         * modules/unicase/u16-toupper: New file.
39655
39656         New module 'unicase/u8-toupper'.
39657         * lib/unicase/u8-toupper.c: New file.
39658         * modules/unicase/u8-toupper: New file.
39659
39660         New module 'unicase/u32-casemap'.
39661         * lib/unicase/u32-casemap.c: New file.
39662         * modules/unicase/u32-casemap: New file.
39663
39664         New module 'unicase/u16-casemap'.
39665         * lib/unicase/u16-casemap.c: New file.
39666         * modules/unicase/u16-casemap: New file.
39667
39668         New module 'unicase/u8-casemap'.
39669         * lib/unicase/unicasemap.h: New file.
39670         * lib/unicase/u8-casemap.c: New file.
39671         * lib/unicase/u-casemap.h: New file.
39672         * modules/unicase/u8-casemap: New file.
39673
39674         New module 'unicase/special-casing'.
39675         * lib/unicase/special-casing.h: New file.
39676         * lib/unicase/special-casing.c: New file.
39677         * lib/unicase/special-casing-table.gperf: New file, generated by
39678         gen-uni-tables.c.
39679         * modules/unicase/special-casing: New file.
39680
39681         Tests for module 'unicase/locale-language'.
39682         * modules/unicase/locale-language-tests: New file.
39683         * tests/unicase/test-locale-language.sh: New file.
39684         * tests/unicase/test-locale-language.c: New file.
39685
39686         New module 'unicase/locale-language'.
39687         * lib/unicase/locale-language.c: New file.
39688         * lib/unicase/locale-languages.gperf: New file.
39689         * modules/unicase/locale-language: New file.
39690
39691         Generate more tables for case conversion and case folding.
39692         * lib/gen-uni-tables.c (SCC_*): New enum items.
39693         (struct special_casing_rule): New type.
39694         (casing_rules, num_casing_rules, allocated_casing_rules): New
39695         variables.
39696         (add_casing_rule, fill_casing_rules): New functions.
39697         (struct casefold_rule): New type.
39698         (casefolding_rules, num_casefolding_rules,
39699         allocated_casefolding_rules): New variables.
39700         (fill_casefolding_rules): New function.
39701         (unicode_casefold): New variable.
39702         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39703         sort_casing_rules, output_casing_rules): New functions.
39704         (main): Accept to more arguments: SpecialCasing.txt and
39705         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39706         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39707         Output mapping for casefolding.
39708
39709         * lib/unicase.h: Include stdbool.h, uninorm.h.
39710         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39711         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39712         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39713         arguments.
39714         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39715         resultp arguments.
39716         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39717         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39718         resultp arguments.
39719         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39720         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39721         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39722         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39723         declarations.
39724         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39725
39726 2009-03-08  Bruno Haible  <bruno@clisp.org>
39727
39728         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39729         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39730         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39731         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39732
39733 2009-03-07  Bruno Haible  <bruno@clisp.org>
39734
39735         Adjust u*_normcmp, u*_normcoll API.
39736         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39737         u16_normcoll, u32_normcoll): Change failure conventions.
39738         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39739         errno and return -1.
39740         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39741
39742 2009-03-07  Bruno Haible  <bruno@clisp.org>
39743
39744         Tests for module 'uninorm/u32-normcoll'.
39745         * modules/uninorm/u32-normcoll-tests: New file.
39746         * tests/uninorm/test-u32-normcoll.c: New file.
39747
39748         Tests for module 'uninorm/u16-normcoll'.
39749         * modules/uninorm/u16-normcoll-tests: New file.
39750         * tests/uninorm/test-u16-normcoll.c: New file.
39751
39752         Tests for module 'uninorm/u8-normcoll'.
39753         * modules/uninorm/u8-normcoll-tests: New file.
39754         * tests/uninorm/test-u8-normcoll.c: New file.
39755
39756 2009-03-07  Bruno Haible  <bruno@clisp.org>
39757
39758         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39759         tests/uninorm/test-u32-normcmp.c.
39760         * tests/uninorm/test-u32-normcmp.c: Include it.
39761         (test_nonascii): New function, extracted from main. Add some more
39762         tests.
39763         (main): Invoke test_ascii and test_nonascii.
39764         * modules/uninorm/u32-normcmp-tests (Files): Add
39765         tests/uninorm/test-u32-normcmp.h.
39766         (Depends-on): Remove uninorm/u32-normcmp.
39767
39768         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39769         tests/uninorm/test-u16-normcmp.c.
39770         * tests/uninorm/test-u16-normcmp.c: Include it.
39771         (test_nonascii): New function, extracted from main. Add some more
39772         tests.
39773         (main): Invoke test_ascii and test_nonascii.
39774         * modules/uninorm/u16-normcmp-tests (Files): Add
39775         tests/uninorm/test-u16-normcmp.h.
39776         (Depends-on): Remove uninorm/u16-normcmp.
39777
39778         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39779         tests/uninorm/test-u8-normcmp.c.
39780         * tests/uninorm/test-u8-normcmp.c: Include it.
39781         (test_nonascii): New function, extracted from main. Add some more
39782         tests.
39783         (main): Invoke test_ascii and test_nonascii.
39784         * modules/uninorm/u8-normcmp-tests (Files): Add
39785         tests/uninorm/test-u8-normcmp.h.
39786         (Depends-on): Remove uninorm/u8-normcmp.
39787
39788 2009-03-07  Bruno Haible  <bruno@clisp.org>
39789
39790         New module 'uninorm/u32-normcoll'.
39791         * lib/uninorm/u32-normcoll.c: New file.
39792         * modules/uninorm/u32-normcoll: New file.
39793
39794         New module 'uninorm/u16-normcoll'.
39795         * lib/uninorm/u16-normcoll.c: New file.
39796         * modules/uninorm/u16-normcoll: New file.
39797
39798         New module 'uninorm/u8-normcoll'.
39799         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
39800         declarations.
39801         * lib/uninorm/u8-normcoll.c: New file.
39802         * lib/uninorm/u-normcoll.h: New file.
39803         * modules/uninorm/u8-normcoll: New file.
39804
39805         New module 'uninorm/u32-normxfrm'.
39806         * lib/uninorm/u32-normxfrm.c: New file.
39807         * modules/uninorm/u32-normxfrm: New file.
39808
39809         New module 'uninorm/u16-normxfrm'.
39810         * lib/uninorm/u16-normxfrm.c: New file.
39811         * modules/uninorm/u16-normxfrm: New file.
39812
39813         New module 'uninorm/u8-normxfrm'.
39814         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
39815         declarations.
39816         * lib/uninorm/u8-normxfrm.c: New file.
39817         * lib/uninorm/u-normxfrm.h: New file.
39818         * modules/uninorm/u8-normxfrm: New file.
39819
39820 2009-03-07  Bruno Haible  <bruno@clisp.org>
39821
39822         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
39823         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
39824         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
39825
39826 2009-03-07  Bruno Haible  <bruno@clisp.org>
39827
39828         New module 'memxfrm'.
39829         * lib/memxfrm.h: New file.
39830         * lib/memxfrm.c: New file.
39831         * modules/memxfrm: New file.
39832
39833 2009-03-07  Bruno Haible  <bruno@clisp.org>
39834
39835         New module 'memcmp2'.
39836         * lib/memcmp2.h: New file.
39837         * lib/memcmp2.c: New file.
39838         * modules/memcmp2: New file.
39839
39840 2009-03-07  Bruno Haible  <bruno@clisp.org>
39841
39842         Tests for module 'uninorm/decomposing-form'.
39843         * modules/uninorm/decomposing-form-tests: New file.
39844         * tests/uninorm/test-decomposing-form.c: New file.
39845
39846         New module 'uninorm/decomposing-form'.
39847         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
39848         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
39849         Add 'decomposing_variant' field.
39850         * lib/uninorm/decomposing-form.c: New file.
39851         * lib/uninorm/nfc.c (uninorm_nfc): Update.
39852         * lib/uninorm/nfd.c (uninorm_nfd): Update.
39853         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
39854         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
39855         * modules/uninorm/decomposing-form: New file.
39856         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
39857         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
39858
39859 2009-03-07  Bruno Haible  <bruno@clisp.org>
39860
39861         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
39862         strings.
39863
39864 2009-03-06  Bruno Haible  <bruno@clisp.org>
39865
39866         Tests for module 'uninorm/u32-normcmp'.
39867         * tests/uninorm/test-u32-normcmp.c: New file.
39868         * modules/uninorm/u32-normcmp-tests: New file.
39869
39870         Tests for module 'uninorm/u16-normcmp'.
39871         * tests/uninorm/test-u16-normcmp.c: New file.
39872         * modules/uninorm/u16-normcmp-tests: New file.
39873
39874         Tests for module 'uninorm/u8-normcmp'.
39875         * tests/uninorm/test-u8-normcmp.c: New file.
39876         * modules/uninorm/u8-normcmp-tests: New file.
39877
39878         New module 'uninorm/u32-normcmp'.
39879         * lib/uninorm/u32-normcmp.c: New file.
39880         * modules/uninorm/u32-normcmp: New file.
39881
39882         New module 'uninorm/u16-normcmp'.
39883         * lib/uninorm/u16-normcmp.c: New file.
39884         * modules/uninorm/u16-normcmp: New file.
39885
39886         New module 'uninorm/u8-normcmp'.
39887         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
39888         declarations.
39889         * lib/uninorm/u8-normcmp.c: New file.
39890         * lib/uninorm/u-normcmp.h: New file.
39891         * modules/uninorm/u8-normcmp: New file.
39892
39893 2009-03-06  Bruno Haible  <bruno@clisp.org>
39894
39895         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
39896         Reported by Eric Blake.
39897
39898 2009-03-06  Eric Blake  <ebb9@byu.net>
39899             Bruno Haible  <bruno@clisp.org>
39900
39901         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
39902         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
39903         condition.
39904         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39905         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
39906         condition.
39907         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39908
39909 2009-03-06  Eric Blake  <ebb9@byu.net>
39910
39911         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
39912         to avoid compiler warnings.
39913         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
39914
39915 2009-03-05  Bruno Haible  <bruno@clisp.org>
39916
39917         * tests/test-ftell.c (main): Disable test beyond end of file on
39918         FreeMiNT.
39919         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39920
39921 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
39922
39923         * lib/filevercmp.c: Move hidden files up in ordering.
39924         * tests/test-filevercmp.c: Add tests for hidden files.
39925
39926 2009-03-04  Bruno Haible  <bruno@clisp.org>
39927
39928         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
39929         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
39930         AM_CFLAGS.
39931         Reported by Simon Josefsson.
39932
39933 2009-03-03  Bruno Haible  <bruno@clisp.org>
39934
39935         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
39936         Reported by Simon Josefsson.
39937
39938         * doc/ld-version-script.texi: Update node reference.
39939
39940 2009-03-03  Bruno Haible  <bruno@clisp.org>
39941
39942         * modules/visibility (License): Change to 'unlimited'.
39943         Suggested by Simon Josefsson.
39944
39945 2009-03-03  Jim Meyering  <meyering@redhat.com>
39946
39947         unlinkdir: cannot_unlink_dir may modify process state
39948         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
39949         it's neither thread-safe nor appropriate for use in a library.
39950
39951 2009-03-03  Eric Blake  <ebb9@byu.net>
39952
39953         test-closein: silence test under Darwin
39954         * tests/test-closein.sh: Ignore stderr from cat, since we don't
39955         care if it dies from EPIPE or EBADF.
39956
39957 2009-03-03  Bruno Haible  <bruno@clisp.org>
39958
39959         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
39960         earlier.
39961         * doc/visibility.texi: Fix @node and @section.
39962
39963 2009-03-03  Simon Josefsson  <simon@josefsson.org>
39964
39965         * doc/gnulib.texi: Link to sections for ld version script and
39966         visibility.
39967         * doc/visibility.texi: Add @node and @section.
39968         * modules/ld-version-script: New module.
39969         * m4/ld-version-script.m4: New file.
39970         * doc/ld-version-script.texi: New file.
39971
39972 2009-03-02  David Lutterkort  <lutter@redhat.com>
39973
39974         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
39975         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39976
39977 2009-03-02  Bruno Haible  <bruno@clisp.org>
39978
39979         * doc/visibility.texi: Mention libtool's -export-symbols option.
39980
39981 2009-03-02  Jim Meyering  <meyering@redhat.com>
39982
39983         announce-gen: new option: --no-print-checksums
39984         * build-aux/announce-gen (usage): Describe it.
39985         (print_checksums): Print a newline here, not in the [*] footnote.
39986         (main): Honor it.
39987
39988 2009-03-01  Bruno Haible  <bruno@clisp.org>
39989
39990         Use socklen_t in the native Windows replacements prototypes.
39991         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
39992         instead of 'int'.
39993         * lib/getsockopt.c (rpl_getsockopt): Likewise.
39994         * lib/setsockopt.c (rpl_setsockopt): Likewise.
39995         * modules/getsockopt (Depends-on): Add socklen.
39996         * modules/setsockopt (Depends-on): Add socklen.
39997
39998 2009-03-01  Bruno Haible  <bruno@clisp.org>
39999
40000         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
40001         least 4.2.
40002
40003 2009-03-01  Eric Blake  <ebb9@byu.net>
40004             Bruno Haible  <bruno@clisp.org>
40005
40006         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
40007         error messages.
40008         * lib/wait-process.c (wait_subprocess): Omit error message about
40009         deadly signal sent to the child of termsigp != NULL.
40010
40011 2009-03-01  Eric Blake  <ebb9@byu.net>
40012
40013         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
40014
40015 2009-03-01  Bruno Haible  <bruno@clisp.org>
40016
40017         Avoid a gcc warning.
40018         * tests/test-sched.c (b): Make global.
40019         Reported by Eric Blake.
40020
40021 2009-01-19  Martin Lambers  <marlam@marlam.de>
40022
40023         Provide POSIX semantics for socket timeout options on W32.
40024         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
40025         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
40026         * modules/setsockopt: Depend on sys_time module for struct timeval.
40027         * modules/getsockopt: Depend on sys_time module for struct timeval.
40028
40029 2009-03-01  Simon Josefsson  <simon@josefsson.org>
40030
40031         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
40032         __USE_GNU, for consistency with netdb.in.h.
40033         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40034
40035 2009-03-01  Bruno Haible  <bruno@clisp.org>
40036
40037         More support for FreeMiNT.
40038         * lib/fseeko.c (rpl_fseeko): Complete last commit.
40039         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40040
40041 2009-03-01  Bruno Haible  <bruno@clisp.org>
40042
40043         More support for FreeMiNT.
40044         * lib/fpurge.c (fpurge): Correct last commit.
40045         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40046
40047 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40048
40049         Fix unportable awk script in vc-list-files.
40050         * build-aux/vc-list-files: In the replacement awk script, use
40051         substr with a second argument of 1, not zero.
40052         Report by Simon Josefsson.
40053
40054 2009-02-28  Bruno Haible  <bruno@clisp.org>
40055
40056         More support for FreeMiNT.
40057         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
40058         to FreeMiNT today.
40059         * lib/fwriting.c (fwriting): Likewise.
40060         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
40061
40062 2009-02-28  Bruno Haible  <bruno@clisp.org>
40063
40064         * tests/test-freadseek.c (main): Disable test beyond end of file on
40065         FreeMiNT.
40066         * tests/test-ftello.c (main): Likewise.
40067         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40068
40069 2009-02-28  Bruno Haible  <bruno@clisp.org>
40070
40071         Add tentative support for FreeMiNT.
40072         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
40073         * lib/fpurge.c (fpurge): Likewise.
40074         * lib/freadable.c (freadable): Likewise.
40075         * lib/freading.c (freading): Likewise.
40076         * lib/freadptr.c (freadptr): Likewise.
40077         * lib/freadseek.c (freadptrinc): Likewise.
40078         * lib/fseeko.c (rpl_fseeko): Likewise.
40079         * lib/fseterr.c (fseterr): Likewise.
40080         * lib/fwritable.c (fwritable): Likewise.
40081         * lib/fwriting.c (fwriting): Likewise.
40082         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
40083         Hourihane.
40084         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40085
40086 2009-02-28  Bruno Haible  <bruno@clisp.org>
40087
40088         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
40089         SIGCHLD.
40090         Reported by Jim Meyering.
40091
40092 2009-02-28  Bruno Haible  <bruno@clisp.org>
40093
40094         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
40095         Mention the results of these tests on various platforms.
40096         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
40097         order.
40098         * doc/posix-functions/printf.texi: Likewise.
40099         * doc/posix-functions/snprintf.texi: Likewise.
40100         * doc/posix-functions/sprintf.texi: Likewise.
40101         * doc/posix-functions/vfprintf.texi: Likewise.
40102         * doc/posix-functions/vprintf.texi: Likewise.
40103         * doc/posix-functions/vsnprintf.texi: Likewise.
40104         * doc/posix-functions/vsprintf.texi: Likewise.
40105         * doc/glibc-functions/obstack_printf.texi: Likewise.
40106         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
40107
40108 2009-02-28  Bruno Haible  <bruno@clisp.org>
40109
40110         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
40111         Reported by Loïc Minier <lool@dooz.org>.
40112
40113 2009-02-27  Bruno Haible  <bruno@clisp.org>
40114
40115         * gnulib-tool (func_import): Make the sed expression used to create the
40116         sed script for updating the .gitignore file POSIX compliant.
40117         Reported by Eric Blake.
40118
40119 2009-02-27  Bruno Haible  <bruno@clisp.org>
40120
40121         * gnulib-tool (sed): Don't alias as "sed --posix".
40122         Reported by Eric Blake.
40123
40124 2009-02-27  Bruno Haible  <bruno@clisp.org>
40125
40126         Avoid test link errors.
40127         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
40128         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
40129         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
40130         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
40131         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40132
40133 2009-02-27  Bruno Haible  <bruno@clisp.org>
40134
40135         Avoid spurious "(cached)" in configure output.
40136         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
40137         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
40138         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40139         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40140         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40141         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
40142         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40143         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
40144         Reported by Eric Blake.
40145
40146 2009-02-27  Eric Blake  <ebb9@byu.net>
40147
40148         printf: fix regression in previous patch
40149         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
40150
40151 2009-02-27  Bruno Haible  <bruno@clisp.org>
40152
40153         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
40154         value.
40155         * lib/stdint.in.h: Likewise.
40156         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
40157
40158 2009-02-27  Eric Blake  <ebb9@byu.net>
40159
40160         doc: mention more functions added in cygwin 1.7.0
40161         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
40162         addition.
40163         * doc/posix-functions/open_wmemstream.texi: Likewise.
40164         * doc/posix-functions/wcsnlen.texi: Likewise.
40165         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40166         * doc/posix-functions/wcstod.texi: Likewise.
40167         * doc/posix-functions/wcstof.texi: Likewise.
40168         * doc/posix-functions/wcstoimax.texi: Likewise.
40169         * doc/posix-functions/wcstok.texi: Likewise.
40170         * doc/posix-functions/wcstoumax.texi: Likewise.
40171
40172         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
40173         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
40174         * doc/posix-functions/fprintf.texi: Update.
40175         * doc/posix-functions/printf.texi: Update.
40176         * doc/posix-functions/snprintf.texi: Update.
40177         * doc/posix-functions/sprintf.texi: Update.
40178         * doc/posix-functions/vfprintf.texi: Update.
40179         * doc/posix-functions/vprintf.texi: Update.
40180         * doc/posix-functions/vsnprintf.texi: Update.
40181         * doc/posix-functions/vsprintf.texi: Update.
40182         * doc/glibc-functions/obstack_printf.texi: Update.
40183         * doc/glibc-functions/obstack_vprintf.texi: Update.
40184
40185 2009-02-26  Eric Blake  <ebb9@byu.net>
40186
40187         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
40188         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
40189         compilation bug by using runtime conversion.
40190         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
40191         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
40192         * modules/ceill-tests (Files): Use nan.h.
40193         * modules/floorl-tests (Files): Likewise.
40194         * modules/frexpl-tests (Files): Likewise.
40195         * modules/isnanl-tests (Files): Likewise.
40196         * modules/ldexpl-tests (Files): Likewise.
40197         * modules/roundl-tests (Files): Likewise.
40198         * modules/truncl-tests (Files): Likewise.
40199         * tests/test-ceill.c (main): Use a working NaN.
40200         * tests/test-floorl.c (main): Likewise.
40201         * tests/test-frexpl.c (main): Likewise.
40202         * tests/test-isnan.c (test_long_double): Likewise.
40203         * tests/test-isnanl.h (main): Likewise.
40204         * tests/test-ldexpl.h (main): Likewise.
40205         * tests/test-roundl.h (main): Likewise.
40206         * tests/test-truncl.h (main): Likewise.
40207         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
40208
40209 2009-02-26  Eric Blake  <ebb9@byu.net>
40210             Bruno Haible  <bruno@clisp.org>
40211
40212         Work around a *printf bug with %ls on Solaris.
40213         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
40214         precision is specified, sprintf stops converting the wide string
40215         argument when the number of bytes that have been produced by this
40216         conversion equals or exceeds the precision.
40217         * doc/posix-functions/fprintf.texi: Update.
40218         * doc/posix-functions/printf.texi: Update.
40219         * doc/posix-functions/snprintf.texi: Update.
40220         * doc/posix-functions/sprintf.texi: Update.
40221         * doc/posix-functions/vfprintf.texi: Update.
40222         * doc/posix-functions/vprintf.texi: Update.
40223         * doc/posix-functions/vsnprintf.texi: Update.
40224         * doc/posix-functions/vsprintf.texi: Update.
40225         * doc/glibc-functions/obstack_printf.texi: Update.
40226         * doc/glibc-functions/obstack_vprintf.texi: Update.
40227
40228 2009-02-26  Eric Blake  <ebb9@byu.net>
40229
40230         stdlib: favor compiler check of random.h
40231         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
40232         to avoid an ObjC random.h installed by Swarm.
40233
40234 2009-02-26  Bruno Haible  <bruno@clisp.org>
40235
40236         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
40237         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
40238         Reported by Gary V. Vaughan <gary@gnu.org>.
40239
40240 2009-02-26  Bruno Haible  <bruno@clisp.org>
40241
40242         Fix *printf behaviour regarding the %ls directive.
40243         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
40244         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
40245         NEED_PRINTF_DIRECTIVE_LS.
40246         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
40247         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40248         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40249         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
40250         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
40251         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
40252         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40253         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40254         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40255         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40256         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40257         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
40258         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40259         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40260         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40261         * doc/posix-functions/fprintf.texi: Update.
40262         * doc/posix-functions/printf.texi: Update.
40263         * doc/posix-functions/snprintf.texi: Update.
40264         * doc/posix-functions/sprintf.texi: Update.
40265         * doc/posix-functions/vfprintf.texi: Update.
40266         * doc/posix-functions/vprintf.texi: Update.
40267         * doc/posix-functions/vsnprintf.texi: Update.
40268         * doc/posix-functions/vsprintf.texi: Update.
40269         * doc/glibc-functions/obstack_printf.texi: Update.
40270         * doc/glibc-functions/obstack_vprintf.texi: Update.
40271         Reported by Eric Blake.
40272
40273 2009-02-25  Bruno Haible  <bruno@clisp.org>
40274
40275         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
40276         with known value.
40277         Reported by Gary V. Vaughan <gary@gnu.org>.
40278
40279 2009-02-25  Bruno Haible  <bruno@clisp.org>
40280
40281         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
40282         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
40283         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
40284         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
40285         Reported by Gary V. Vaughan <gary@gnu.org>.
40286
40287 2009-02-25  Bruno Haible  <bruno@clisp.org>
40288
40289         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
40290         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
40291         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
40292         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
40293         Reported by Gary V. Vaughan <gary@gnu.org>.
40294
40295 2009-02-25  Eric Blake  <ebb9@byu.net>
40296
40297         tests: skip fseek/ftell tests if ungetc is broken
40298         * m4/ungetc.m4: New file.
40299         * modules/fseek-tests: Split test, so ungetc dependency is
40300         separate from rest of test.
40301         * modules/fseeko-tests: Likewise.
40302         * modules/ftell-tests: Likewise.
40303         * modules/ftello-tests: Likewise.
40304         * tests/test-fseek.c (main): Isolate ungetc dependency.
40305         * tests/test-fseeko.c (main): Likewise.
40306         * tests/test-ftell.c (main): Likewise.
40307         * tests/test-ftello.c (main): Likewise.
40308         * tests/test-fseek2.sh: New file.
40309         * tests/test-fseeko2.sh: Likewise.
40310         * tests/test-ftell2.sh: Likewise.
40311         * tests/test-ftello2.sh: Likewise.
40312
40313 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
40314
40315         test-getaddrinfo: fix usage of skip return code 77
40316         * tests/test-gettaddrinfo.c: Return skip code 77 only
40317         for first occurance of skip (4x77 is not 77)
40318
40319 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
40320
40321         strtod: avoid C99 decl-after-statement
40322         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
40323
40324 2009-02-24  Eric Blake  <ebb9@byu.net>
40325
40326         strtod: detect HP-UX 11.31 bug
40327         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
40328         Reported by Gary V. Vaughan.
40329
40330 2009-02-23  Bruno Haible  <bruno@clisp.org>
40331
40332         Fix invalid read past end of memory block.
40333         * lib/vasnprintf.c (DCHAR_SET): Define.
40334         (local_wcslen): Define only when needed.
40335         (local_strnlen, local_wcsnlen): New functions.
40336         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
40337         directives that involve a conversion ourselves.
40338         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
40339         wcsnlen, mbrtowc, wcrtomb.
40340         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
40341         * tests/test-vasprintf-posix.c (test_function): Likewise.
40342         * tests/test-snprintf-posix.h (test_function): Likewise.
40343         * tests/test-sprintf-posix.h (test_function): Likewise.
40344         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40345
40346 2009-02-22  Bruno Haible  <bruno@clisp.org>
40347
40348         Implement new clarified decomposition of Hangul syllables.
40349         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
40350         of type LTV, return only a pairwise decomposition.
40351         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
40352         Likewise.
40353         * tests/uninorm/test-decomposition.c (main): Updated expected result.
40354         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
40355         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
40356
40357 2009-02-22  Bruno Haible  <bruno@clisp.org>
40358
40359         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
40360         zero-length results and shrink excess allocated memory.
40361         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
40362         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
40363         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
40364         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
40365         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
40366         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
40367         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
40368         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
40369         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
40370         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
40371         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
40372         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
40373
40374 2009-02-21  Bruno Haible  <bruno@clisp.org>
40375
40376         * doc/gnulib.texi: Include safe-alloc.texi earlier.
40377         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
40378         spaces after a period. Put a space between a macro name and its
40379         argument list. Trivial rewordings.
40380         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40381         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40382         (main): Return 0 explicitly.
40383
40384 2009-02-21  Bruno Haible  <bruno@clisp.org>
40385
40386         Tests for module 'uninorm/filter'.
40387         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40388         * modules/uninorm/filter-tests: New file.
40389
40390         New module 'uninorm/filter'.
40391         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40392         uninorm_filter_flush, uninorm_filter_free): New declarations.
40393         * lib/uninorm/uninorm-filter.c: New file.
40394         * modules/uninorm/filter: New file.
40395
40396 2009-02-21  Bruno Haible  <bruno@clisp.org>
40397
40398         Tests for module 'uninorm/nfkc'.
40399         * tests/uninorm/test-nfkc.c: New file.
40400         * tests/uninorm/test-u8-nfkc.c: New file.
40401         * tests/uninorm/test-u16-nfkc.c: New file.
40402         * tests/uninorm/test-u32-nfkc.c: New file.
40403         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40404         * tests/uninorm/test-u32-nfkc-big.c: New file.
40405         * modules/uninorm/nfkc-tests: New file.
40406
40407         New module 'uninorm/nfkc'.
40408         * lib/uninorm/nfkc.c: New file.
40409         * modules/uninorm/nfkc: New file.
40410
40411         Tests for module 'uninorm/nfkd'.
40412         * tests/uninorm/test-nfkd.c: New file.
40413         * tests/uninorm/test-u8-nfkd.c: New file.
40414         * tests/uninorm/test-u16-nfkd.c: New file.
40415         * tests/uninorm/test-u32-nfkd.c: New file.
40416         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40417         * tests/uninorm/test-u32-nfkd-big.c: New file.
40418         * modules/uninorm/nfkd-tests: New file.
40419
40420         New module 'uninorm/nfkd'.
40421         * lib/uninorm/nfkd.c: New file.
40422         * modules/uninorm/nfkd: New file.
40423
40424         Tests for module 'uninorm/nfc'.
40425         * tests/uninorm/test-nfc.c: New file.
40426         * tests/uninorm/test-u8-nfc.c: New file.
40427         * tests/uninorm/test-u16-nfc.c: New file.
40428         * tests/uninorm/test-u32-nfc.c: New file.
40429         * tests/uninorm/test-u32-nfc-big.sh: New file.
40430         * tests/uninorm/test-u32-nfc-big.c: New file.
40431         * modules/uninorm/nfc-tests: New file.
40432
40433         New module 'uninorm/nfc'.
40434         * lib/uninorm/nfc.c: New file.
40435         * modules/uninorm/nfc: New file.
40436
40437         Tests for module 'uninorm/nfd'.
40438         * tests/uninorm/test-nfd.c: New file.
40439         * tests/uninorm/test-u8-nfd.c: New file.
40440         * tests/uninorm/test-u16-nfd.c: New file.
40441         * tests/uninorm/test-u32-nfd.c: New file.
40442         * tests/uninorm/test-u32-nfd-big.sh: New file.
40443         * tests/uninorm/test-u32-nfd-big.c: New file.
40444         * tests/uninorm/test-u32-normalize-big.h: New file.
40445         * tests/uninorm/test-u32-normalize-big.c: New file.
40446         * tests/uninorm/NormalizationTest.txt: New file, created from
40447         Unicode 5.1.0 NormalizationTest.txt.
40448         * modules/uninorm/nfd-tests: New file.
40449
40450         New module 'uninorm/nfd'.
40451         * lib/uninorm/nfd.c: New file.
40452         * modules/uninorm/nfd: New file.
40453
40454         New module 'uninorm/u32-normalize'.
40455         * lib/uninorm/u32-normalize.c: New file.
40456         * modules/uninorm/u32-normalize: New file.
40457
40458         New module 'uninorm/u16-normalize'.
40459         * lib/uninorm/u16-normalize.c: New file.
40460         * modules/uninorm/u16-normalize: New file.
40461
40462         New module 'uninorm/u8-normalize'.
40463         * lib/uninorm/u8-normalize.c: New file.
40464         * lib/uninorm/normalize-internal.h: New file.
40465         * lib/uninorm/u-normalize-internal.h: New file.
40466         * modules/uninorm/u8-normalize: New file.
40467
40468         New module 'uninorm/decompose-internal'.
40469         * lib/uninorm/decompose-internal.c: New file.
40470         * modules/uninorm/decompose-internal: New file.
40471
40472         Tests for module 'uninorm/composition'.
40473         * tests/uninorm/test-composition.c: New file.
40474         * modules/uninorm/composition-tests: New file.
40475
40476         New module 'uninorm/composition'.
40477         * lib/uninorm/composition.c: New file.
40478         * lib/uninorm/composition-table.gperf: New file, generated by
40479         gen-uni-tables.
40480         * modules/uninorm/composition: New file.
40481
40482         Tests for module 'uninorm/compat-decomposition'.
40483         * tests/uninorm/test-compat-decomposition.c: New file.
40484         * modules/uninorm/compat-decomposition-tests: New file.
40485
40486         New module 'uninorm/compat-decomposition'.
40487         * lib/uninorm/decompose-internal.h: New file.
40488         * lib/uninorm/compat-decomposition.c: New file.
40489         * modules/uninorm/compat-decomposition: New file.
40490
40491         Tests for module 'uninorm/canonical-decomposition'.
40492         * tests/uninorm/test-canonical-decomposition.c: New file.
40493         * modules/uninorm/canonical-decomposition-tests: New file.
40494
40495         New module 'uninorm/canonical-decomposition'.
40496         * lib/uninorm/canonical-decomposition.c: New file.
40497         * modules/uninorm/canonical-decomposition: New file.
40498
40499         Tests for module 'uninorm/decomposition'.
40500         * tests/uninorm/test-decomposition.c: New file.
40501         * modules/uninorm/decomposition-tests: New file.
40502
40503         New module 'uninorm/decomposition'.
40504         * lib/uninorm/decomposition.c: New file.
40505         * modules/uninorm/decomposition: New file.
40506
40507         New module 'uninorm/decomposition-table'.
40508         * lib/uninorm/decomposition-table.h: New file.
40509         * lib/uninorm/decomposition-table.c: New file.
40510         * lib/uninorm/decomposition-table1.h: New file, generated by
40511         gen-uni-tables.
40512         * lib/uninorm/decomposition-table2.h: New file, generated by
40513         gen-uni-tables.
40514         * modules/uninorm/decomposition-table: New file.
40515
40516         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40517         (UC_DECOMP_*): New enumeration items.
40518         (get_decomposition): New function.
40519         (struct decomp_table): New type.
40520         (output_decomposition, output_decomposition_tables): New functions.
40521         (unicode_composition_exclusions): New variable.
40522         (fill_composition_exclusions, debug_output_composition_tables): New
40523         functions.
40524         (main): Accept one more argument. Invoke fill_composition_exclusions.
40525         Output decomposition and composition tables.
40526
40527         New module 'uninorm/base'.
40528         * lib/uninorm.h: New file.
40529         * lib/unictype.h: Update comment.
40530         * modules/uninorm/base: New file.
40531
40532 2009-02-21  David Lutterkort  <lutter@redhat.com>
40533
40534         Tests for module 'safe-alloc'.
40535         * tests/test-safe-alloc.c: New file.
40536         * modules/safe-alloc-tests: New file.
40537
40538         New module 'safe-alloc'.
40539         * lib/safe-alloc.h: New file.
40540         * lib/safe-alloc.c: New file.
40541         * m4/safe-alloc.m4: New file.
40542         * modules/safe-alloc: New file.
40543         * doc/safe-alloc.texi: New file.
40544         * doc/gnulib.texi: Include it.
40545         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40546         safe-alloc.
40547
40548 2009-02-18  Bruno Haible  <bruno@clisp.org>
40549
40550         Fix link error on non-glibc systems.
40551         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40552         variable.
40553         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40554
40555 2009-02-18  Jim Meyering  <meyering@redhat.com>
40556
40557         fts: avoid used-uninitialized error due to recent change
40558         * lib/fts.c (fts_read): Guard uses of the new member,
40559         parent->fts_n_dirs_remaining, since it's not relevant for
40560         the parent of a directory specified on the command-line.
40561
40562 2009-02-17  James Youngman  <jay@gnu.org>
40563             Bruno Haible  <bruno@clisp.org>
40564
40565         * m4/include_next.m4: Reformulate comment.
40566
40567 2009-02-16  Jim Meyering  <meyering@redhat.com>
40568
40569         fts: add #if guards so that the fts_lgpl module still builds
40570         * lib/fts.c: Guard just-added hash-table-using parts with
40571         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40572         Reported by Simon Josefsson.
40573
40574 2009-02-15  Bruno Haible  <bruno@clisp.org>
40575
40576         * modules/array-mergesort-tests: New file.
40577         * tests/test-array-mergesort.c: New file.
40578
40579         New module 'array-mergesort'.
40580         * modules/array-mergesort: New file.
40581         * lib/array-mergesort.h: New file.
40582
40583 2009-02-15  Bruno Haible  <bruno@clisp.org>
40584
40585         Fix 2009-02-07 commit.
40586         * lib/gen-uni-tables.c (output_predicate, output_category,
40587         output_combclass, output_bidi_category, output_decimal_digit,
40588         output_digit, output_numeric, output_mirror, output_scripts,
40589         output_ident_category, output_simple_mapping): Fix format directives.
40590         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40591
40592 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40593
40594         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40595         fixes are available from IBM.
40596
40597 2009-02-13  Jim Meyering  <meyering@redhat.com>
40598
40599         fts: arrange not to stat non-directories in more cases
40600         This makes GNU find (when it doesn't need to stat each file)
40601         *much* more efficient at traversing reiserfs file systems.
40602         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40603         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40604         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40605         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40606         (leaf_optimization_applies): New function.
40607         (LCO_hash, LCO_compare): New helper functions.
40608         (link_count_optimize_ok): New function.
40609         (fts_stat): Initialize new member (if dir).
40610         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40611         we've just stat'ed a directory.  Skip the stat call when possible.
40612         ---
40613         Note this AFS-related exchange:
40614         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40615         and note find's pioctl call in find/fstype.c.
40616         But that is necessary only if you want to enable the
40617         optimization for AFS, and for now, I don't.
40618
40619         fts: move a function definition "up" (no semantic change)
40620         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40621         "up" to precede upcoming use of a related function.
40622
40623 2009-02-11  Jim Meyering  <meyering@redhat.com>
40624
40625         fts: correct internal computation of nlinks (optimization-related)
40626         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40627         whether the current entry is a directory, so don't test it.
40628
40629 2009-02-10  Bruno Haible  <bruno@clisp.org>
40630
40631         Tests for module 'uniwbrk/ulc-wordbreaks'.
40632         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40633         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40634         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40635
40636         Tests for module 'uniwbrk/u32-wordbreaks'.
40637         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40638         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40639
40640         Tests for module 'uniwbrk/u16-wordbreaks'.
40641         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40642         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40643
40644         Tests for module 'uniwbrk/u8-wordbreaks'.
40645         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40646         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40647
40648 2009-02-10  Bruno Haible  <bruno@clisp.org>
40649
40650         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40651         property.
40652         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40653         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40654         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40655
40656 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40657
40658         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40659         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40660
40661 2009-02-10  Bruno Haible  <bruno@clisp.org>
40662
40663         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40664         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40665         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40666         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40667         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40668         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40669
40670 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40671
40672         * lib/sockets.h (gl_fd_to_handle): New function.
40673
40674         * tests/test-sockets.c: Call gl_fd_to_handle.
40675
40676 2009-02-09  Bruno Haible  <bruno@clisp.org>
40677
40678         * doc/havelib.texi: Document the conventions on bi-arch systems.
40679
40680 2009-02-08  Bruno Haible  <bruno@clisp.org>
40681
40682         Document the AC_LIB_LINKFLAGS macro.
40683         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40684         * doc/gnulib.texi: Include it.
40685
40686 2009-02-08  Bruno Haible  <bruno@clisp.org>
40687
40688         Fix wrong order of sections, compared to TOC.
40689         * doc/gnulib.texi: Include relocatable-maint.texi after the
40690         "Regular expressions" node, not before.
40691
40692 2009-02-08  Bruno Haible  <bruno@clisp.org>
40693
40694         Tests for module 'unicase/totitle'.
40695         * modules/unicase/totitle-tests: New file.
40696
40697         Tests for module 'unicase/tolower'.
40698         * modules/unicase/tolower-tests: New file.
40699
40700         Tests for module 'unicase/toupper'.
40701         * modules/unicase/toupper-tests: New file.
40702         * tests/unicase/test-mapping-part1.h: New file.
40703         * tests/unicase/test-mapping-part2.h: New file.
40704
40705         New module 'unicase/totitle'.
40706         * modules/unicase/totitle: New file.
40707         * lib/unicase/totitle.c: New file.
40708
40709         New module 'unicase/tolower'.
40710         * modules/unicase/tolower: New file.
40711         * lib/unicase/tolower.c: New file.
40712
40713         New module 'unicase/toupper'.
40714         * modules/unicase/toupper: New file.
40715         * lib/unicase/toupper.c: New file.
40716         * lib/unicase/simple-mapping.h: New file.
40717
40718         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40719         (mapping_table): New structure.
40720         (output_simple_mapping): New function.
40721         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40722         * modules/gen-uni-tables (Description): Update.
40723         * lib/unicase/toupper.h: New file, automatically generated by
40724         gen-uni-tables.
40725         * lib/unicase/tolower.h: New file, automatically generated by
40726         gen-uni-tables.
40727         * lib/unicase/totitle.h: New file, automatically generated by
40728         gen-uni-tables.
40729         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40730         gen-uni-tables.
40731         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40732         gen-uni-tables.
40733         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40734         gen-uni-tables.
40735
40736         New module 'unicase/base'.
40737         * modules/unicase/base: New file.
40738         * lib/unicase.h: New file.
40739
40740 2009-02-08  Bruno Haible  <bruno@clisp.org>
40741
40742         New module 'uniwbrk/ulc-wordbreaks'.
40743         * modules/uniwbrk/ulc-wordbreaks: New file.
40744         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40745
40746         New module 'uniwbrk/u32-wordbreaks'.
40747         * modules/uniwbrk/u32-wordbreaks: New file.
40748         * lib/uniwbrk/u32-wordbreaks.c: New file.
40749
40750         New module 'uniwbrk/u16-wordbreaks'.
40751         * modules/uniwbrk/u16-wordbreaks: New file.
40752         * lib/uniwbrk/u16-wordbreaks.c: New file.
40753
40754         New module 'uniwbrk/u8-wordbreaks'.
40755         * modules/uniwbrk/u8-wordbreaks: New file.
40756         * lib/uniwbrk/u8-wordbreaks.c: New file.
40757         * lib/uniwbrk/u-wordbreaks.h: New file.
40758
40759         New module 'uniwbrk/table'.
40760         * modules/uniwbrk/table: New file.
40761         * lib/uniwbrk/wbrktable.h: New file.
40762         * lib/uniwbrk/wbrktable.c: New file.
40763
40764         New module 'uniwbrk/wordbreak-property'.
40765         * modules/uniwbrk/wordbreak-property: New file.
40766         * lib/uniwbrk/wordbreak-property.c: New file.
40767
40768         * lib/gen-uni-tables.c (WBP_*): New enum items.
40769         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40770         (unicode_org_wbp): New variable.
40771         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40772         New functions.
40773         (wbp_table): New structure.
40774         (output_wbp, output_wbrk_tables): New functions.
40775         (main): Accept additional argument. Invoke fill_org_wbp,
40776         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40777         output_wbrk_tables.
40778         * modules/gen-uni-tables (Description): Update.
40779         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40780         gen-uni-tables.
40781
40782         New module 'uniwbrk/base'.
40783         * modules/uniwbrk/base: New file.
40784         * lib/uniwbrk.h: New file.
40785
40786 2009-02-08  Bruno Haible  <bruno@clisp.org>
40787
40788         Update to Unicode 5.1.0.
40789         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40790         U+2185..U+2188.
40791         (is_property_default_ignorable_code_point): Don't include characters
40792         of category Cc or Cs and not-a-characters.
40793         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
40794         U+0D79, U+109E, U+109F, U+A60C.
40795         * lib/unictype/bidi_of.h: Regenerated.
40796         * lib/unictype/blocks.h: Regenerated.
40797         * lib/unictype/categ_C.h: Regenerated.
40798         * lib/unictype/categ_Cf.h: Regenerated.
40799         * lib/unictype/categ_Cn.h: Regenerated.
40800         * lib/unictype/categ_L.h: Regenerated.
40801         * lib/unictype/categ_Ll.h: Regenerated.
40802         * lib/unictype/categ_Lm.h: Regenerated.
40803         * lib/unictype/categ_Lo.h: Regenerated.
40804         * lib/unictype/categ_Lu.h: Regenerated.
40805         * lib/unictype/categ_M.h: Regenerated.
40806         * lib/unictype/categ_Mc.h: Regenerated.
40807         * lib/unictype/categ_Me.h: Regenerated.
40808         * lib/unictype/categ_Mn.h: Regenerated.
40809         * lib/unictype/categ_N.h: Regenerated.
40810         * lib/unictype/categ_Nd.h: Regenerated.
40811         * lib/unictype/categ_Nl.h: Regenerated.
40812         * lib/unictype/categ_No.h: Regenerated.
40813         * lib/unictype/categ_P.h: Regenerated.
40814         * lib/unictype/categ_Pd.h: Regenerated.
40815         * lib/unictype/categ_Pe.h: Regenerated.
40816         * lib/unictype/categ_Pf.h: Regenerated.
40817         * lib/unictype/categ_Pi.h: Regenerated.
40818         * lib/unictype/categ_Po.h: Regenerated.
40819         * lib/unictype/categ_Ps.h: Regenerated.
40820         * lib/unictype/categ_S.h: Regenerated.
40821         * lib/unictype/categ_Sk.h: Regenerated.
40822         * lib/unictype/categ_Sm.h: Regenerated.
40823         * lib/unictype/categ_So.h: Regenerated.
40824         * lib/unictype/categ_of.h: Regenerated.
40825         * lib/unictype/combining.h: Regenerated.
40826         * lib/unictype/ctype_alnum.h: Regenerated.
40827         * lib/unictype/ctype_alpha.h: Regenerated.
40828         * lib/unictype/ctype_graph.h: Regenerated.
40829         * lib/unictype/ctype_lower.h: Regenerated.
40830         * lib/unictype/ctype_print.h: Regenerated.
40831         * lib/unictype/ctype_punct.h: Regenerated.
40832         * lib/unictype/ctype_upper.h: Regenerated.
40833         * lib/unictype/decdigit.h: Regenerated.
40834         * lib/unictype/digit.h: Regenerated.
40835         * lib/unictype/mirror.h: Regenerated.
40836         * lib/unictype/numeric.h: Regenerated.
40837         * lib/unictype/pr_alphabetic.h: Regenerated.
40838         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
40839         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
40840         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
40841         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
40842         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
40843         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
40844         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
40845         * lib/unictype/pr_combining.h: Regenerated.
40846         * lib/unictype/pr_dash.h: Regenerated.
40847         * lib/unictype/pr_decimal_digit.h: Regenerated.
40848         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
40849         * lib/unictype/pr_deprecated.h: Regenerated.
40850         * lib/unictype/pr_diacritic.h: Regenerated.
40851         * lib/unictype/pr_extender.h: Regenerated.
40852         * lib/unictype/pr_format_control.h: Regenerated.
40853         * lib/unictype/pr_grapheme_base.h: Regenerated.
40854         * lib/unictype/pr_grapheme_extend.h: Regenerated.
40855         * lib/unictype/pr_grapheme_link.h: Regenerated.
40856         * lib/unictype/pr_id_continue.h: Regenerated.
40857         * lib/unictype/pr_id_start.h: Regenerated.
40858         * lib/unictype/pr_ideographic.h: Regenerated.
40859         * lib/unictype/pr_ignorable_control.h: Regenerated.
40860         * lib/unictype/pr_lowercase.h: Regenerated.
40861         * lib/unictype/pr_math.h: Regenerated.
40862         * lib/unictype/pr_numeric.h: Regenerated.
40863         * lib/unictype/pr_other_alphabetic.h: Regenerated.
40864         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
40865         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
40866         * lib/unictype/pr_other_id_continue.h: Regenerated.
40867         * lib/unictype/pr_other_lowercase.h: Regenerated.
40868         * lib/unictype/pr_other_math.h: Regenerated.
40869         * lib/unictype/pr_punctuation.h: Regenerated.
40870         * lib/unictype/pr_sentence_terminal.h: Regenerated.
40871         * lib/unictype/pr_soft_dotted.h: Regenerated.
40872         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
40873         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
40874         * lib/unictype/pr_unified_ideograph.h: Regenerated.
40875         * lib/unictype/pr_uppercase.h: Regenerated.
40876         * lib/unictype/pr_xid_continue.h: Regenerated.
40877         * lib/unictype/pr_xid_start.h: Regenerated.
40878         * lib/unictype/pr_zero_width.h: Regenerated.
40879         * lib/unictype/scripts.h: Regenerated.
40880         * lib/unictype/scripts_byname.gperf: Regenerated.
40881         * lib/unictype/sy_java_ident.h: Regenerated.
40882         * lib/unilbrk/lbrkprop1.h: Regenerated.
40883         * lib/unilbrk/lbrkprop2.h: Regenerated.
40884         * tests/unictype/test-categ_C.c: Regenerated.
40885         * tests/unictype/test-categ_Cf.c: Regenerated.
40886         * tests/unictype/test-categ_Cn.c: Regenerated.
40887         * tests/unictype/test-categ_L.c: Regenerated.
40888         * tests/unictype/test-categ_Ll.c: Regenerated.
40889         * tests/unictype/test-categ_Lm.c: Regenerated.
40890         * tests/unictype/test-categ_Lo.c: Regenerated.
40891         * tests/unictype/test-categ_Lu.c: Regenerated.
40892         * tests/unictype/test-categ_M.c: Regenerated.
40893         * tests/unictype/test-categ_Mc.c: Regenerated.
40894         * tests/unictype/test-categ_Me.c: Regenerated.
40895         * tests/unictype/test-categ_Mn.c: Regenerated.
40896         * tests/unictype/test-categ_N.c: Regenerated.
40897         * tests/unictype/test-categ_Nd.c: Regenerated.
40898         * tests/unictype/test-categ_Nl.c: Regenerated.
40899         * tests/unictype/test-categ_No.c: Regenerated.
40900         * tests/unictype/test-categ_P.c: Regenerated.
40901         * tests/unictype/test-categ_Pd.c: Regenerated.
40902         * tests/unictype/test-categ_Pe.c: Regenerated.
40903         * tests/unictype/test-categ_Pf.c: Regenerated.
40904         * tests/unictype/test-categ_Pi.c: Regenerated.
40905         * tests/unictype/test-categ_Po.c: Regenerated.
40906         * tests/unictype/test-categ_Ps.c: Regenerated.
40907         * tests/unictype/test-categ_S.c: Regenerated.
40908         * tests/unictype/test-categ_Sk.c: Regenerated.
40909         * tests/unictype/test-categ_Sm.c: Regenerated.
40910         * tests/unictype/test-categ_So.c: Regenerated.
40911         * tests/unictype/test-ctype_alnum.c: Regenerated.
40912         * tests/unictype/test-ctype_alpha.c: Regenerated.
40913         * tests/unictype/test-ctype_graph.c: Regenerated.
40914         * tests/unictype/test-ctype_lower.c: Regenerated.
40915         * tests/unictype/test-ctype_print.c: Regenerated.
40916         * tests/unictype/test-ctype_punct.c: Regenerated.
40917         * tests/unictype/test-ctype_upper.c: Regenerated.
40918         * tests/unictype/test-decdigit.h: Regenerated.
40919         * tests/unictype/test-digit.h: Regenerated.
40920         * tests/unictype/test-numeric.h: Regenerated.
40921         * tests/unictype/test-pr_alphabetic.c: Regenerated.
40922         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
40923         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
40924         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
40925         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
40926         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
40927         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
40928         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
40929         * tests/unictype/test-pr_combining.c: Regenerated.
40930         * tests/unictype/test-pr_dash.c: Regenerated.
40931         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
40932         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
40933         * tests/unictype/test-pr_deprecated.c: Regenerated.
40934         * tests/unictype/test-pr_diacritic.c: Regenerated.
40935         * tests/unictype/test-pr_extender.c: Regenerated.
40936         * tests/unictype/test-pr_format_control.c: Regenerated.
40937         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
40938         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
40939         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
40940         * tests/unictype/test-pr_id_continue.c: Regenerated.
40941         * tests/unictype/test-pr_id_start.c: Regenerated.
40942         * tests/unictype/test-pr_ideographic.c: Regenerated.
40943         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
40944         * tests/unictype/test-pr_lowercase.c: Regenerated.
40945         * tests/unictype/test-pr_math.c: Regenerated.
40946         * tests/unictype/test-pr_numeric.c: Regenerated.
40947         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
40948         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
40949         Regenerated.
40950         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
40951         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
40952         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
40953         * tests/unictype/test-pr_other_math.c: Regenerated.
40954         * tests/unictype/test-pr_punctuation.c: Regenerated.
40955         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
40956         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
40957         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
40958         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
40959         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
40960         * tests/unictype/test-pr_uppercase.c: Regenerated.
40961         * tests/unictype/test-pr_xid_continue.c: Regenerated.
40962         * tests/unictype/test-pr_xid_start.c: Regenerated.
40963         * tests/unictype/test-pr_zero_width.c: Regenerated.
40964
40965         Update to Unicode 5.1.0.
40966         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
40967         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
40968         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
40969         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
40970         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
40971         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
40972         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
40973         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
40974         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
40975         (nonspacing_table_ind): Update.
40976         * tests/uniwidth/test-uc_width2.sh: Update expected result.
40977
40978         Update to Unicode 5.1.0.
40979         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
40980         code transform.
40981         * lib/uniname/uniname.c (unicode_character_name,
40982         unicode_name_character): Add the range 0x1Fxxx to the code transform.
40983         * lib/uniname/uninames.h: Regenerated.
40984         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
40985
40986 2009-02-07  Bruno Haible  <bruno@clisp.org>
40987
40988         Merge gen-ctype and gen-lbrk into a single program.
40989         * lib/gen-uni-tables.c: New file, incorporating
40990         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
40991         Add directory prefixes to the names of the generated files.
40992         * lib/unictype/gen-ctype.c: Remove file.
40993         * lib/unilbrk/gen-lbrk.c: Remove file.
40994         * modules/gen-uni-tables: New file.
40995         * modules/unictype/gen-ctype: Remove file.
40996         * modules/unilbrk/gen-lbrk: Remove file.
40997
40998 2009-02-07  Bruno Haible  <bruno@clisp.org>
40999
41000         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
41001
41002         New module 'unistr/u32-strcoll'.
41003         * modules/unistr/u32-strcoll: New file.
41004         * lib/unistr/u32-strcoll.c: New file.
41005
41006         New module 'unistr/u16-strcoll'.
41007         * modules/unistr/u16-strcoll: New file.
41008         * lib/unistr/u16-strcoll.c: New file.
41009
41010         New module 'unistr/u8-strcoll'.
41011         * modules/unistr/u8-strcoll: New file.
41012         * lib/unistr/u8-strcoll.c: New file.
41013         * lib/unistr/u-strcoll.h: New file.
41014
41015 2009-02-07  Bruno Haible  <bruno@clisp.org>
41016
41017         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
41018         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41019         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41020         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
41021         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
41022         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
41023
41024 2009-02-07  Bruno Haible  <bruno@clisp.org>
41025
41026         Make 64-bit clean.
41027         * lib/unictype/gen-ctype.c (output_predicate, output_category,
41028         output_combclass, output_bidi_category, output_decimal_digit,
41029         output_digit, output_numeric, output_mirror, output_scripts,
41030         output_ident_category): Use proper width specifier in format strings.
41031
41032 2009-02-07  Bruno Haible  <bruno@clisp.org>
41033
41034         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
41035         failure behaviour.
41036
41037 2009-02-07  Jim Meyering  <meyering@redhat.com>
41038
41039         regex: avoid compilation failure with upcoming gcc-4.4
41040         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
41041         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
41042         "... error: integer overflow in preprocessor expression".
41043
41044 2009-02-05  Ben Pfaff  <blp@gnu.org>
41045
41046         Fix link errors on Windows when close module is used.
41047         * modules/close: Add $(LIB_CLOSE) to Link section.
41048         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
41049         $(LIB_CLOSE) on Windows.
41050
41051 2009-02-05  Jim Meyering  <meyering@redhat.com>
41052
41053         still avoid unused-parameter warnings, but do it cleanly
41054         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
41055         (get_fs_usage): Cast to void instead.
41056         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
41057         (dev_from_mount_options, read_file_system_list): Cast to void.
41058         Prompted by Bruno Haible.
41059
41060 2009-02-04  Jim Meyering  <meyering@redhat.com>
41061
41062         fsusage.c: correct copyright year
41063         * lib/fsusage.c: Reflect year in which the change is pushed into
41064
41065         avoid misc. warnings
41066         * lib/fsusage.c (UNUSED_PARAM): Define.
41067         (get_fs_usage): Mark parameter "disk" as unused.
41068         * lib/getugroups.c (getgrent): Use "void" in prototype.
41069         * lib/mountlist.c: Mark unused parameters.
41070         (read_file_system_list): Declare a local with "const".
41071         * lib/nanosleep.c (getnow): Declare static.
41072         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
41073
41074         dirfd: set errno upon failure
41075         * lib/dirfd.c: Include <errno.h>.
41076         Set errno to ENOTSUP when returning -1.
41077         * modules/dirfd (Depends-on): Add errno.
41078         Suggested by John Kodis <kodis@comcast.net>.
41079
41080 2009-02-01  Bruno Haible  <bruno@clisp.org>
41081
41082         Don't assume sizeof (long) >= sizeof (void *).
41083         * lib/memcmp.c: Include stdint.h.
41084         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
41085         srcp2 to 'const byte *'.
41086         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
41087         types to uintptr_t.
41088         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
41089         * modules/memcmp (Depends-on): Add stdint.
41090         Reported by Ozkan Sezer <sezeroz@gmail.com>.
41091
41092 2009-01-30  Eric Blake  <ebb9@byu.net>
41093
41094         fix more require-before-expand issues
41095         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
41096         expand, AC_PROG_AWK.
41097         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
41098
41099 2009-01-28  Eric Blake  <ebb9@byu.net>
41100
41101         version-etc: use consistent URL formatting
41102         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
41103         Improve formatting.  Use fputs for string without %.
41104
41105 2009-01-28  Jim Meyering  <meyering@redhat.com>
41106
41107         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
41108         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
41109         "underquoted definition of NAME" from autoconf-2.59.
41110
41111 2009-01-28  Bruno Haible  <bruno@clisp.org>
41112
41113         * doc/gnulib.texi: Add "Obsolete modules" to index.
41114
41115 2009-01-28  Jim Meyering  <meyering@redhat.com>
41116
41117         useless-if-before-free: recognize more variants
41118         * build-aux/useless-if-before-free: Also recognize e.g.,
41119         if (NULL != p) free (p);
41120
41121 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
41122
41123         test-getaddrinfo: skip (don't fail) this test when there's no network
41124         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
41125         on the presumption that it means you lack network access.
41126
41127 2009-01-26  Jim Meyering  <meyering@redhat.com>
41128
41129         fflush: avoid warnings on modern systems
41130         * lib/fflush.c (rpl_fflush): Move declarations of locals,
41131         pos and result, into scopes where they're used.
41132
41133 2009-01-26  Eric Blake  <ebb9@byu.net>
41134
41135         Silence warning reintroduced by recent extensions patch.
41136         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
41137         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
41138         autoconf.
41139
41140         Backport improved autoconf semantics of AC_DEFUN_ONCE.
41141         * m4/00gnulib.m4: New file.
41142         * gnulib-tool (func_get_filelist): Always use it.
41143         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
41144         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
41145
41146 2009-01-25  Bruno Haible  <bruno@clisp.org>
41147
41148         Make test-quotearg work on MacOS X and AIX.
41149         * tests/test-quotearg.sh: New file.
41150         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
41151         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
41152         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
41153         include <libintl.h>.
41154         (fake_locale): Remove variable.
41155         (gettext, dgettext, dcgettext): Remove functions.
41156         (main): Instead of setting a fake locale, set a real locale. Call
41157         textdomain and bindtextdomain.
41158         * modules/quotearg-tests (Files): Add the new files.
41159         (Depends-on): Add gettext, setenv, unsetenv.
41160         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41161         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
41162         Augment TESTS_ENVIRONMENT.
41163
41164 2009-01-25  Bruno Haible  <bruno@clisp.org>
41165
41166         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
41167         fr_FR.ISO8859-1 locale on MacOS X.
41168         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
41169         ja_JP.eucJP locale on MacOS X.
41170         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
41171         zh_CN.GB18030 locale on MacOS X.
41172
41173 2009-01-25  Bruno Haible  <bruno@clisp.org>
41174
41175         Avoid link errors on MacOS X 10.3.
41176         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
41177         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41178
41179 2009-01-25  Bruno Haible  <bruno@clisp.org>
41180
41181         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41182         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
41183         * modules/pipe (Files): Remove m4/posix_spawn.m4.
41184         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41185         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
41186         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41187         posix_spawnattr_init, posix_spawnattr_setsigmask,
41188         posix_spawnattr_setflags, posix_spawnattr_destroy.
41189
41190         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41191         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
41192         * modules/execute (Files): Remove m4/posix_spawn.m4.
41193         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41194         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41195         posix_spawnattr_init, posix_spawnattr_setsigmask,
41196         posix_spawnattr_setflags, posix_spawnattr_destroy.
41197
41198 2009-01-25  Bruno Haible  <bruno@clisp.org>
41199
41200         * lib/glthread/threadlib.c: Include <stdlib.h>.
41201
41202 2009-01-25  Bruno Haible  <bruno@clisp.org>
41203
41204         * lib/glthread/threadlib.c (dummy): New declaration.
41205
41206 2009-01-25  Bruno Haible  <bruno@clisp.org>
41207
41208         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
41209         multibyte characters also for the GB18030 encoding. Don't crash when
41210         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
41211
41212 2009-01-25  Bruno Haible  <bruno@clisp.org>
41213
41214         Avoid redefining 'struct random_data' on OSF/1 5.1.
41215         * lib/stdlib.in.h: Include <random.h> if it exists.
41216         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
41217         HAVE_RANDOM_H. Include <random.h> when testing whether
41218         'struct random_data' exists.
41219         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
41220
41221 2009-01-25  Bruno Haible  <bruno@clisp.org>
41222
41223         Don't install charset.alias on MacOS X >= 10.3.
41224         * lib/localcharset.c (DARWIN7): New macro.
41225         (get_charset_aliases): Hardcode the result for Darwin7.
41226         * modules/localcharset (install-exec-local): Don't install
41227         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
41228
41229 2009-01-25  Bruno Haible  <bruno@clisp.org>
41230
41231         Don't install charset.alias on mingw and Cygwin.
41232         * modules/localcharset (install-exec-local): Don't install
41233         charset.alias on mingw and Cygwin, if the file does not yet exist.
41234         The result for these platforms is hardcoded in localcharset.c.
41235
41236 2009-01-25  Bruno Haible  <bruno@clisp.org>
41237
41238         Make it possible again to use AC_GNU_SOURCE together with gnulib.
41239         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
41240         before requiring AC_USE_SYSTEM_EXTENSIONS.
41241
41242 2009-01-25  Jim Meyering  <meyering@redhat.com>
41243
41244         c-strtod: avoid warnings
41245         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
41246         "assignment discards qualifiers from pointer target type" warnings.
41247
41248 2009-01-24  Bruno Haible  <bruno@clisp.org>
41249
41250         Add support for non-UTF-8 locales on MacOS X.
41251         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
41252         canonical encodings. For Darwin 7 and newer, don't map traditional
41253         encodings to UTF-8.
41254         Reported by Vincent Lefevre <vincent@vinc17.org>
41255         at <http://savannah.gnu.org/bugs/?25235>.
41256
41257 2009-01-24  Bruno Haible  <bruno@clisp.org>
41258
41259         * doc/gnulib.texi (Obsolete modules): New section.
41260         Reported by Mike Frysinger <vapier@gentoo.org>.
41261
41262 2009-01-24  Bruno Haible  <bruno@clisp.org>
41263
41264         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
41265         (%.dvi): New rule.
41266
41267 2009-01-24  Bruno Haible  <bruno@clisp.org>
41268
41269         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
41270         Reported by Eric Blake.
41271
41272 2009-01-24  Bruno Haible  <bruno@clisp.org>
41273
41274         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
41275         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
41276         Reported by Gary V. Vaughan <gary@gnu.org>.
41277
41278 2009-01-24  Bruno Haible  <bruno@clisp.org>
41279
41280         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
41281
41282 2009-01-23  Bruno Haible  <bruno@clisp.org>
41283
41284         Make c-strtod, c-strtold usable in libraries.
41285         * lib/c-strtod.c: Include string.h instead of xalloc.h.
41286         (C_STRTOD): Call strdup instead of xstrdup.
41287         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
41288         * modules/c-strtold (Depends-on): Likewise.
41289         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
41290         * NEWS: Mention the change.
41291         Reported by Michael Gold <mgold@ncf.ca>.
41292
41293 2009-01-23  Jim Meyering  <meyering@redhat.com>
41294
41295         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
41296         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
41297         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
41298
41299 2009-01-23  Simon Josefsson  <simon@josefsson.org>
41300
41301         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
41302         GNU CoreUtils.
41303         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
41304         * modules/version-etc (Description): Update.
41305
41306 2009-01-22  Bruno Haible  <bruno@clisp.org>
41307
41308         Cache the C locale object.
41309         * lib/c-strtod.c (c_locale_cache): New variable.
41310         (c_locale): New function.
41311         (C_STRTOD): Use it, and don't call freelocale.
41312         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
41313         Suggested by Paolo Bonzini.
41314
41315 2009-01-21  Bruno Haible  <bruno@clisp.org>
41316
41317         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
41318         conditions other than overflow.
41319
41320 2009-01-21  Bruno Haible  <bruno@clisp.org>
41321
41322         * lib/c-strtod.c: Include errno.h.
41323         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
41324         value from STRTOD_L and STRTOD.
41325
41326 2009-01-21  Bruno Haible  <bruno@clisp.org>
41327         and Jim Meyering  <meyering@redhat.com>
41328
41329         nanosleep: skip configure test (fail it) for apple universal builds
41330         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
41331         universal builds, assume that nanosleep does not work.
41332         * modules/nanosleep (Depends-on): Add multiarch.
41333
41334         mktime: skip configure test (fail it) for apple universal builds
41335         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
41336         universal builds, assume that mktime does not work.
41337         * modules/mktime (Depends-on): Add multiarch.
41338
41339 2009-01-21  Eric Blake  <ebb9@byu.net>
41340
41341         multiarch: avoid expand-before-require warning
41342         * modules/multiarch (configure.ac): Require, rather than expand,
41343         gl_MULTIARCH.
41344         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
41345         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
41346         enforce that all clients require it.  Partial reversion of
41347         2008-12-29 patch.
41348
41349         error: avoid expand-before-require warning
41350         * modules/errno (configure.ac): Require, rather than expand,
41351         gl_HEADER_ERRNO_H.
41352         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
41353         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
41354         enforce that all clients require it.
41355
41356         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
41357         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
41358         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
41359         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
41360
41361 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
41362
41363         Revert:
41364         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41365
41366         regex: do not depend on obsolete modules.
41367         * modules/regex: Remove memcmp and memmove.
41368
41369 2009-01-20  Bruno Haible  <bruno@clisp.org>
41370
41371         Make the 'link' module link on Windows NT 4.
41372         * lib/link.c (_WIN32_WINNT): Don't define.
41373         (CreateHardLinkFuncType): New type.
41374         (CreateHardLinkFunc, initialized): New variables.
41375         (initialize): New function.
41376         (link): Invoke CreateHardLink indirectly through the function pointer.
41377
41378 2009-01-20  Bruno Haible  <bruno@clisp.org>
41379
41380         Fix compilation failure on mingw.
41381         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41382
41383 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41384
41385         * doc/c-strtod.texi: Mention a couple of restrictions.
41386
41387 2009-01-20  Jim Meyering  <meyering@redhat.com>
41388
41389         gettimeofday: move more declarations out of functions
41390         * lib/gettimeofday.c: Move extern declarations of tzset and
41391         gmtime out of containing functions.  Prompted by Bruno Haible.
41392
41393 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41394
41395         regex: do not depend on obsolete modules.
41396         * modules/regex: Remove memcmp and memmove.
41397
41398 2009-01-19  Bruno Haible  <bruno@clisp.org>
41399
41400         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41401         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41402         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41403         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41404         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41405
41406 2009-01-19  Bruno Haible  <bruno@clisp.org>
41407
41408         * tests/test-link.c: Include <errno.h>.
41409         (main): Exit with code 77 when a hard link cannot be created due to
41410         the file system.
41411         * tests/test-link.sh: Skip test when a hard link cannot be created due
41412         to the file system.
41413         Suggested by Eric Blake.
41414
41415 2009-01-19  Martin Lambers  <marlam@marlam.de>
41416
41417         * modules/link-tests: New file.
41418         * tests/test-link.sh: New file.
41419         * tests/test-link.c: New file.
41420
41421 2009-01-19  Eric Blake  <ebb9@byu.net>
41422
41423         doc: mention another function added in cygwin 1.7.0
41424         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41425         Another new function in cygwin 1.7.
41426
41427 2009-01-19  Bruno Haible  <bruno@clisp.org>
41428
41429         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41430         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41431         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41432         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41433         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41434         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41435         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41436         * m4/md4.m4 (gl_MD4): Likewise.
41437         * m4/md5.m4 (gl_MD5): Likewise.
41438         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41439         * m4/sha1.m4 (gl_SHA1): Likewise.
41440         * m4/sha256.m4 (gl_SHA256): Likewise.
41441         * m4/sha512.m4 (gl_SHA512): Likewise.
41442
41443 2009-01-19  Bruno Haible  <bruno@clisp.org>
41444
41445         * modules/uniname/uniname-tests (Depends-on): Add progname.
41446         * tests/uniname/test-uninames.c: Include progname.h.
41447         (main): Call set_program_name.
41448
41449         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41450         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41451         (main): Call set_program_name.
41452
41453         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41454         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41455         (main): Call set_program_name.
41456
41457         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41458         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41459         (main): Call set_program_name.
41460
41461         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41462         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41463         (main): Call set_program_name.
41464
41465         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41466         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41467         (main): Call set_program_name.
41468
41469         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41470         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41471         (main): Call set_program_name.
41472
41473         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41474         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41475         (main): Call set_program_name.
41476
41477         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41478         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41479         (main): Call set_program_name.
41480
41481 2009-01-19  Eric Blake  <ebb9@byu.net>
41482
41483         test-unistd: test previous patch
41484         * tests/test-unistd.c: Test *_FILENO macros.
41485
41486         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41487         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41488         Guarantee a definition.
41489         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41490         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41491         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41492         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41493         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41494         Likewise.
41495         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41496         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41497         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41498         Likewise.
41499         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41500         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41501         (STDERR_FILENO): Likewise.
41502         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41503         (STDERR_FILENO): Likewise.
41504         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41505         (STDERR_FILENO): Likewise.
41506         Reported by Elbert Pol.
41507
41508 2009-01-19  Eric Blake  <ebb9@byu.net>
41509
41510         doc: mention more functions added in cygwin 1.7.0
41511         * doc/posix-functions/abort.texi (abort): Update wording related
41512         to cygwin.
41513         * doc/posix-functions/daylight.texi (daylight): Likewise.
41514         * doc/posix-functions/optarg.texi (optarg): Likewise.
41515         * doc/posix-functions/optarg.texi (opterr): Likewise.
41516         * doc/posix-functions/optarg.texi (optind): Likewise.
41517         * doc/posix-functions/optarg.texi (optopt): Likewise.
41518         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41519         worked in 1.5.x, and was withdrawn in 1.7.
41520         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41521         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41522         cygwin versions.
41523         * doc/posix-functions/perror.texi (perror): Likewise.
41524         * doc/posix-functions/printf.texi (printf): Likewise.
41525         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41526         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41527         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41528         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41529         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41530         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41531         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41532         Likewise.
41533         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41534         Likewise.
41535         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41536         this function.
41537         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41538         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41539         Likewise.
41540         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41541         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41542         * doc/posix-functions/confstr.texi (confstr): Likewise.
41543         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41544         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41545         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41546         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41547         * doc/posix-functions/fputws.texi (fputws): Likewise.
41548         * doc/posix-functions/fwide.texi (fwide): Likewise.
41549         * doc/posix-functions/getwc.texi (getwc): Likewise.
41550         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41551         * doc/posix-functions/putwc.texi (putwc): Likewise.
41552         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41553         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41554         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41555         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41556         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41557         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41558         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41559         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41560         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41561         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41562         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41563
41564 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41565
41566         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41567         * lib/ioctl.c: Include <sys/ioctl.h>.
41568
41569 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41570
41571         * modules/getdate-tests (Depends-on): Add progname.
41572         * tests/test-getdate.c: Use progname module, to avoid link errors
41573         on non-glibc systems.
41574
41575 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41576
41577         * modules/filenamecat-tests (Depends-on): Add progname.
41578         * modules/fstrcmp-tests (Depends-on): Likewise.
41579
41580         * tests/test-filenamecat.c: Use progname module, to avoid link
41581         errors on non-glibc systems.
41582         * tests/test-fstrcmp.c: Likewise.
41583
41584 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41585
41586         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41587         * lib/gettimeofday.c: Move extern declaration out of function.
41588
41589 2009-01-18  Bruno Haible  <bruno@clisp.org>
41590
41591         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41592         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41593         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41594
41595 2009-01-18  Bruno Haible  <bruno@clisp.org>
41596
41597         * lib/strftime.c (MEMPCPY): Remove unused macro.
41598         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41599
41600 2009-01-18  Martin Lambers  <marlam@marlam.de>
41601
41602         New module 'link'.
41603         * lib/unistd.in.h (link): New declaration.
41604         * lib/link.c: New file.
41605         * m4/link.m4: New file.
41606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41607         HAVE_LINK.
41608         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41609         * modules/link: New file.
41610         * doc/posix-functions/link.texi: Mention the new module.
41611
41612 2009-01-18  Bruno Haible  <bruno@clisp.org>
41613
41614         * tests/test-avltree_list.c (main): Call set_program_name.
41615         * tests/test-avltree_oset.c (main): Likewise.
41616         * tests/test-obstack-printf.c: Include progname.h.
41617         (main): Call set_program_name.
41618         * tests/test-quotearg.c: Include progname.h.
41619         (main): Call set_program_name.
41620         * tests/test-xmemdup0.c: Include progname.h.
41621         (main): Call set_program_name.
41622
41623 2009-01-18  Bruno Haible  <bruno@clisp.org>
41624
41625         New module 'alphasort'.
41626         * lib/dirent.in.h (alphasort): New declaration.
41627         * lib/alphasort.c: New file, from glibc with modifications.
41628         * m4/alphasort.m4: New file.
41629         * modules/alphasort: New file.
41630         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41631         HAVE_ALPHASORT.
41632         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41633         HAVE_ALPHASORT.
41634         * doc/posix-functions/alphasort.texi: Mention the new module and the
41635         portability problems.
41636
41637 2009-01-18  Bruno Haible  <bruno@clisp.org>
41638
41639         New module 'scandir'.
41640         * lib/dirent.in.h (scandir): New declaration.
41641         * lib/scandir.c: New file, from glibc with modifications.
41642         * m4/scandir.m4: New file.
41643         * modules/scandir: New file.
41644         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41645         HAVE_SCANDIR.
41646         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41647         HAVE_SCANDIR.
41648         * doc/posix-functions/scandir.texi: Mention the new module and the
41649         portability problems.
41650
41651 2009-01-17  Bruno Haible  <bruno@clisp.org>
41652
41653         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41654         Update documentation.
41655         (func_remove_suffix): Escape all dots in the suffix. Update
41656         documentation.
41657         (func_filter_filelist): Update documentation.
41658         Reported by Ralf Wildenhues.
41659
41660 2009-01-17  Bruno Haible  <bruno@clisp.org>
41661
41662         * modules/dprintf-posix-tests: New file.
41663         * tests/test-dprintf-posix.sh: New file.
41664         * tests/test-dprintf-posix.c: New file.
41665
41666         New modules 'dprintf', 'dprintf-posix'.
41667         * lib/stdio.in.h (dprintf): New declaration.
41668         * lib/dprintf.c: New file.
41669         * m4/dprintf.m4: New file.
41670         * m4/dprintf-posix.m4: New file.
41671         * modules/dprintf: New file.
41672         * modules/dprintf-posix: New file.
41673         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41674         HAVE_DPRINTF, REPLACE_DPRINTF.
41675         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41676         HAVE_DPRINTF, REPLACE_DPRINTF.
41677         * doc/posix-functions/dprintf.texi: Mention the new modules.
41678
41679 2009-01-17  Bruno Haible  <bruno@clisp.org>
41680
41681         * modules/vdprintf-posix-tests: New file.
41682         * tests/test-vdprintf-posix.sh: New file.
41683         * tests/test-vdprintf-posix.c: New file.
41684
41685         New modules 'vdprintf', 'vdprintf-posix'.
41686         * lib/stdio.in.h (vdprintf): New declaration.
41687         * lib/vdprintf.c: New file.
41688         * m4/vdprintf.m4: New file.
41689         * m4/vdprintf-posix.m4: New file.
41690         * modules/vdprintf: New file.
41691         * modules/vdprintf-posix: New file.
41692         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41693         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41694         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41695         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41696         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41697
41698 2009-01-17  Bruno Haible  <bruno@clisp.org>
41699
41700         Fix replacement of fopen on mingw.
41701         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41702         mingw.
41703
41704 2009-01-17  Bruno Haible  <bruno@clisp.org>
41705
41706         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41707         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41708
41709 2009-01-17  Bruno Haible  <bruno@clisp.org>
41710
41711         Avoid test-fflush2.sh failure on mingw.
41712         * tests/test-fflush2.c: Include binary-io.h.
41713         (main): Put standard input into binary mode.
41714         * modules/fflush-tests (Depends-on): Add binary-io.
41715
41716 2009-01-17  Bruno Haible  <bruno@clisp.org>
41717
41718         * lib/wchar.in.h: In another particular situation, include only the
41719         system's <wchar.h> file.
41720         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41721         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41722         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41723
41724 2009-01-17  Bruno Haible  <bruno@clisp.org>
41725
41726         Support for stripping executables in --enable-relocatable.
41727         * build-aux/install-reloc: Expect one more argument, or an environment
41728         variable RELOC_STRIP_PROG. If set, strip the destination program and
41729         its wrapper.
41730         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41731         RELOC_STRIP_PROG.
41732         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41733         to set RELOCATABLE_STRIP.
41734         * NEWS: Mention the new Makefile requirement.
41735
41736 2009-01-17  Bruno Haible  <bruno@clisp.org>
41737
41738         * build-aux/install-reloc: Remove debugging information left over by
41739         C compiler on MacOS X.
41740
41741 2009-01-17  Bruno Haible  <bruno@clisp.org>
41742
41743         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41744         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41745         _NSGetExecutablePath.
41746
41747 2009-01-16  Jim Meyering  <meyering@redhat.com>
41748
41749         strerror: avoid warnings about discarding "const"
41750         * lib/strerror.c (rpl_strerror): Instead of returning a const
41751         string from each and every "case", use a variable, and add a single
41752         cast after the switch.
41753
41754 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41755
41756         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41757
41758 2009-01-16  Bruno Haible  <bruno@clisp.org>
41759
41760         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41761         array initializer syntax that also works in C++ mode.
41762         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41763
41764 2009-01-16  Jim Meyering  <meyering@redhat.com>
41765
41766         poll: suppress a warning
41767         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41768         to ignore "...unsigned expression < 0 is always false" warnings.
41769
41770 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41771
41772         poll: remove declarations of unused variables
41773         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41774         sockbuf and optlen.
41775
41776 2009-01-15  Bruno Haible  <bruno@clisp.org>
41777
41778         Make fflush-after-ungetc POSIX compliant on BSD systems.
41779         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41780         (clear_ungetc_buffer): Implement also for other systems.
41781         (rpl_fflush): On glibc systems, invoke
41782         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41783         clear_ungetc_buffer after fetching the stream's position, not before.
41784
41785 2009-01-15  Bruno Haible  <bruno@clisp.org>
41786
41787         Make fflush-after-ungetc POSIX compliant on glibc systems.
41788         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41789         after ungetc.
41790         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41791         (rpl_fflush): On glibc systems, simply call the system's fflush
41792         function after clearing the ungetc buffer.
41793         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
41794         Instead, lseek only to the end of file, then use the system's fseeko
41795         for the rest. On glibc systems, reset the EOF indicator bit.
41796
41797 2009-01-15  Jim Meyering  <meyering@redhat.com>
41798
41799         openmp.m4: revert quote-adding change, for portability to older autoconf
41800         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
41801         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
41802         Simon Josefsson noticed the problem when using autoconf-2.61.
41803
41804 2009-01-15  Bruno Haible  <bruno@clisp.org>
41805
41806         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
41807         * tests/test-fflush2.c (ASSERT): Always fail.
41808         (main): Add two tests for fflush() after ungetc(), taking into account
41809         the Austin Group's clarification.
41810         Suggested by Eric Blake.
41811
41812 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
41813
41814         mktime.m4: remove K&R-style function prototypes
41815         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
41816         for the Sun C++ compiler.
41817
41818 2009-01-14  Bruno Haible  <bruno@clisp.org>
41819
41820         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
41821         while including <wchar.h>.
41822         * lib/wchar.in.h: In two particular situations on HP-UX, include only
41823         the system's <wchar.h> file.
41824         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41825
41826 2009-01-14  Bruno Haible  <bruno@clisp.org>
41827
41828         * m4/csharp.m4: Don't mention gettext on the serial number line.
41829         * m4/csharpexec.m4: Likewise.
41830         * m4/eaccess.m4: Likewise.
41831         * m4/javaexec.m4: Likewise.
41832         * m4/sig_atomic_t.m4: Likewise.
41833         * m4/tmpdir.m4: Likewise.
41834         * m4/intldir.m4: Bump gettext version.
41835         * m4/lib-ld.m4: Likewise.
41836
41837 2009-01-14  Bruno Haible  <bruno@clisp.org>
41838
41839         * lib/progname.c (set_program_name): Add more comments.
41840         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41841
41842 2009-01-14  Simon Josefsson  <simon@josefsson.org>
41843
41844         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
41845         were sys/stat.h does not define it.
41846
41847 2009-01-14  Jim Meyering  <meyering@redhat.com>
41848
41849         many *.m4 files: improve m4 quoting
41850         99% of this change was performed by running the following commands:
41851         git ls-files | grep '\.m4$' | xargs perl -pi \
41852           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
41853           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41854           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41855           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
41856         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
41857         The remainder were to add Copyright dates, increment serial numbers,
41858         undo some changes in comments, exclude m4/intl.m4, and add quotes
41859         around the "1" in ",1" where the unusual spacing prohibited the
41860         above regexps from doing the job.  For more details, see
41861         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
41862         * m4/acl.m4: Modified.
41863         * m4/afs.m4: Likewise.
41864         * m4/alloca.m4: Likewise.
41865         * m4/argp.m4: Likewise.
41866         * m4/argz.m4: Likewise.
41867         * m4/atexit.m4: Likewise.
41868         * m4/bison-i18n.m4: Likewise.
41869         * m4/bison.m4: Likewise.
41870         * m4/byteswap.m4: Likewise.
41871         * m4/c-stack.m4: Likewise.
41872         * m4/c-strtod.m4: Likewise.
41873         * m4/calloc.m4: Likewise.
41874         * m4/canonicalize-lgpl.m4: Likewise.
41875         * m4/chown.m4: Likewise.
41876         * m4/clock_time.m4: Likewise.
41877         * m4/codeset.m4: Likewise.
41878         * m4/copy-file.m4: Likewise.
41879         * m4/csharp.m4: Likewise.
41880         * m4/csharpcomp.m4: Likewise.
41881         * m4/csharpexec.m4: Likewise.
41882         * m4/d-ino.m4: Likewise.
41883         * m4/d-type.m4: Likewise.
41884         * m4/dirfd.m4: Likewise.
41885         * m4/double-slash-root.m4: Likewise.
41886         * m4/eaccess.m4: Likewise.
41887         * m4/eealloc.m4: Likewise.
41888         * m4/environ.m4: Likewise.
41889         * m4/errno_h.m4: Likewise.
41890         * m4/euidaccess.m4: Likewise.
41891         * m4/execute.m4: Likewise.
41892         * m4/fatal-signal.m4: Likewise.
41893         * m4/fchdir.m4: Likewise.
41894         * m4/fcntl_h.m4: Likewise.
41895         * m4/fileblocks.m4: Likewise.
41896         * m4/filenamecat.m4: Likewise.
41897         * m4/findprog.m4: Likewise.
41898         * m4/flexmember.m4: Likewise.
41899         * m4/fnmatch.m4: Likewise.
41900         * m4/fopen.m4: Likewise.
41901         * m4/fpending.m4: Likewise.
41902         * m4/fprintf-posix.m4: Likewise.
41903         * m4/free.m4: Likewise.
41904         * m4/frexp.m4: Likewise.
41905         * m4/frexpl.m4: Likewise.
41906         * m4/fsusage.m4: Likewise.
41907         * m4/ftruncate.m4: Likewise.
41908         * m4/gc-camellia.m4: Likewise.
41909         * m4/gc-random.m4: Likewise.
41910         * m4/gc.m4: Likewise.
41911         * m4/getaddrinfo.m4: Likewise.
41912         * m4/getcwd-abort-bug.m4: Likewise.
41913         * m4/getcwd-path-max.m4: Likewise.
41914         * m4/getdate.m4: Likewise.
41915         * m4/getdomainname.m4: Likewise.
41916         * m4/getgroups.m4: Likewise.
41917         * m4/gethostname.m4: Likewise.
41918         * m4/gethrxtime.m4: Likewise.
41919         * m4/getline.m4: Likewise.
41920         * m4/getloadavg.m4: Likewise.
41921         * m4/getndelim2.m4: Likewise.
41922         * m4/getpass.m4: Likewise.
41923         * m4/gettext.m4: Likewise.
41924         * m4/gettime.m4: Likewise.
41925         * m4/gettimeofday.m4: Likewise.
41926         * m4/gnulib-common.m4: Likewise.
41927         * m4/group-member.m4: Likewise.
41928         * m4/host-os.m4: Likewise.
41929         * m4/iconv.m4: Likewise.
41930         * m4/iconv_open.m4: Likewise.
41931         * m4/inet_ntop.m4: Likewise.
41932         * m4/inet_pton.m4: Likewise.
41933         * m4/inline.m4: Likewise.
41934         * m4/intldir.m4: Likewise.
41935         * m4/intlmacosx.m4: Likewise.
41936         * m4/intmax.m4: Likewise.
41937         * m4/intmax_t.m4: Likewise.
41938         * m4/inttypes.m4: Likewise.
41939         * m4/inttypes_h.m4: Likewise.
41940         * m4/inttypes-pri.m4: Likewise.
41941         * m4/isapipe.m4: Likewise.
41942         * m4/isnand.m4: Likewise.
41943         * m4/isnanf.m4: Likewise.
41944         * m4/isnanl.m4: Likewise.
41945         * m4/javacomp.m4: Likewise.
41946         * m4/javaexec.m4: Likewise.
41947         * m4/jm-winsz1.m4: Likewise.
41948         * m4/jm-winsz2.m4: Likewise.
41949         * m4/lchown.m4: Likewise.
41950         * m4/lcmessage.m4: Likewise.
41951         * m4/ldexpl.m4: Likewise.
41952         * m4/lib-ld.m4: Likewise.
41953         * m4/lib-link.m4: Likewise.
41954         * m4/libsigsegv.m4: Likewise.
41955         * m4/link-follow.m4: Likewise.
41956         * m4/localcharset.m4: Likewise.
41957         * m4/locale-fr.m4: Likewise.
41958         * m4/locale-ja.m4: Likewise.
41959         * m4/locale-tr.m4: Likewise.
41960         * m4/locale-zh.m4: Likewise.
41961         * m4/lock.m4: Likewise.
41962         * m4/longlong.m4: Likewise.
41963         * m4/ls-mntd-fs.m4: Likewise.
41964         * m4/lstat.m4: Likewise.
41965         * m4/malloc.m4: Likewise.
41966         * m4/mathl.m4: Likewise.
41967         * m4/mbrtowc.m4: Likewise.
41968         * m4/mbstate_t.m4: Likewise.
41969         * m4/mbswidth.m4: Likewise.
41970         * m4/memchr.m4: Likewise.
41971         * m4/memcmp.m4: Likewise.
41972         * m4/memcpy.m4: Likewise.
41973         * m4/memmem.m4: Likewise.
41974         * m4/memmove.m4: Likewise.
41975         * m4/mempcpy.m4: Likewise.
41976         * m4/memrchr.m4: Likewise.
41977         * m4/memset.m4: Likewise.
41978         * m4/minmax.m4: Likewise.
41979         * m4/mkdir-slash.m4: Likewise.
41980         * m4/mkdtemp.m4: Likewise.
41981         * m4/mktime.m4: Likewise.
41982         * m4/mmap-anon.m4: Likewise.
41983         * m4/mountlist.m4: Likewise.
41984         * m4/nanosleep.m4: Likewise.
41985         * m4/nls.m4: Likewise.
41986         * m4/nocrash.m4: Likewise.
41987         * m4/open.m4: Likewise.
41988         * m4/openat.m4: Likewise.
41989         * m4/openmp.m4: Likewise.
41990         * m4/pathmax.m4: Likewise.
41991         * m4/perl.m4: Likewise.
41992         * m4/physmem.m4: Likewise.
41993         * m4/pipe.m4: Likewise.
41994         * m4/po.m4: Likewise.
41995         * m4/poll.m4: Likewise.
41996         * m4/posixtm.m4: Likewise.
41997         * m4/posixver.m4: Likewise.
41998         * m4/printf-frexp.m4: Likewise.
41999         * m4/printf-frexpl.m4: Likewise.
42000         * m4/printf-posix.m4: Likewise.
42001         * m4/printf-posix-rpl.m4: Likewise.
42002         * m4/printf.m4: Likewise.
42003         * m4/progtest.m4: Likewise.
42004         * m4/putenv.m4: Likewise.
42005         * m4/readline.m4: Likewise.
42006         * m4/readlink.m4: Likewise.
42007         * m4/readutmp.m4: Likewise.
42008         * m4/realloc.m4: Likewise.
42009         * m4/regex.m4: Likewise.
42010         * m4/relocatable.m4: Likewise.
42011         * m4/relocatable-lib.m4: Likewise.
42012         * m4/rename-dest-slash.m4: Likewise.
42013         * m4/rename.m4: Likewise.
42014         * m4/rmdir-errno.m4: Likewise.
42015         * m4/rmdir.m4: Likewise.
42016         * m4/roundf.m4: Likewise.
42017         * m4/roundl.m4: Likewise.
42018         * m4/rpmatch.m4: Likewise.
42019         * m4/save-cwd.m4: Likewise.
42020         * m4/selinux-selinux-h.m4: Likewise.
42021         * m4/setenv.m4: Likewise.
42022         * m4/settime.m4: Likewise.
42023         * m4/sig2str.m4: Likewise.
42024         * m4/sig_atomic_t.m4: Likewise.
42025         * m4/signalblocking.m4: Likewise.
42026         * m4/signbit.m4: Likewise.
42027         * m4/sigpipe.m4: Likewise.
42028         * m4/sockets.m4: Likewise.
42029         * m4/sockpfaf.m4: Likewise.
42030         * m4/st_dm_mode.m4: Likewise.
42031         * m4/stat-time.m4: Likewise.
42032         * m4/stdbool.m4: Likewise.
42033         * m4/stdint.m4: Likewise.
42034         * m4/stdint_h.m4: Likewise.
42035         * m4/stpcpy.m4: Likewise.
42036         * m4/stpncpy.m4: Likewise.
42037         * m4/strcase.m4: Likewise.
42038         * m4/strchrnul.m4: Likewise.
42039         * m4/strcspn.m4: Likewise.
42040         * m4/strdup.m4: Likewise.
42041         * m4/strftime.m4: Likewise.
42042         * m4/strndup.m4: Likewise.
42043         * m4/strnlen.m4: Likewise.
42044         * m4/strpbrk.m4: Likewise.
42045         * m4/strptime.m4: Likewise.
42046         * m4/strsep.m4: Likewise.
42047         * m4/strtod.m4: Likewise.
42048         * m4/strtoimax.m4: Likewise.
42049         * m4/strtok_r.m4: Likewise.
42050         * m4/strtol.m4: Likewise.
42051         * m4/strtoll.m4: Likewise.
42052         * m4/strtoul.m4: Likewise.
42053         * m4/strtoull.m4: Likewise.
42054         * m4/strtoumax.m4: Likewise.
42055         * m4/strverscmp.m4: Likewise.
42056         * m4/threadlib.m4: Likewise.
42057         * m4/timegm.m4: Likewise.
42058         * m4/tm_gmtoff.m4: Likewise.
42059         * m4/tmpdir.m4: Likewise.
42060         * m4/tmpfile.m4: Likewise.
42061         * m4/tzset.m4: Likewise.
42062         * m4/uintmax_t.m4: Likewise.
42063         * m4/unlinkdir.m4: Likewise.
42064         * m4/unlocked-io.m4: Likewise.
42065         * m4/uptime.m4: Likewise.
42066         * m4/userspec.m4: Likewise.
42067         * m4/utimbuf.m4: Likewise.
42068         * m4/utime.m4: Likewise.
42069         * m4/utimes-null.m4: Likewise.
42070         * m4/utimes.m4: Likewise.
42071         * m4/vararrays.m4: Likewise.
42072         * m4/vasnprintf.m4: Likewise.
42073         * m4/vfprintf-posix.m4: Likewise.
42074         * m4/vprintf-posix.m4: Likewise.
42075         * m4/wait-process.m4: Likewise.
42076         * m4/wchar_t.m4: Likewise.
42077         * m4/wint_t.m4: Likewise.
42078         * m4/write-any-file.m4: Likewise.
42079         * m4/yield.m4: Likewise.
42080
42081 2009-01-13  Bruno Haible  <bruno@clisp.org>
42082
42083         Avoid test-copy-file.sh failures when ACL support insufficient.
42084         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
42085         TESTS_ENVIRONMENT.
42086         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
42087         Reported by Jim Meyering.
42088
42089 2009-01-13  Bruno Haible  <bruno@clisp.org>
42090
42091         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
42092         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
42093         * modules/unistdio/u8-printf-parse (Files): Likewise.
42094         * modules/unistdio/u32-printf-parse (Files): Likewise.
42095         * modules/unistdio/ulc-printf-parse (Files): Likewise.
42096
42097 2009-01-13  Simon Josefsson  <simon@josefsson.org>
42098
42099         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
42100         and m4/inttypes_h.m4 too.
42101
42102 2009-01-12  Eric Blake  <ebb9@byu.net>
42103
42104         tests: IRIX 6.2 cc can't compile -0.0 into .data
42105         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
42106         rather than at compile-time.
42107         * tests/test-floorl.c (minus_zero): Likewise.
42108         * tests/test-frexpl.c (minus_zero): Likewise.
42109         * tests/test-isnan.c (minus_zerol): Likewise.
42110         * tests/test-isnanl.h (minus_zero): Likewise.
42111         * tests/test-ldexpl.c (minus_zero): Likewise.
42112         * tests/test-roundl.c (minus_zero): Likewise.
42113         * tests/test-signbit.c (minus_zerol): Likewise.
42114         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42115         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42116         * tests/test-truncl.c (minus_zero): Likewise.
42117         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42118         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42119         Reported by Tom G. Christensen and Nelson H. F. Beebe.
42120
42121 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42122
42123         regex: fix glibc bug 9697
42124         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
42125         handling.
42126
42127 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42128
42129         regex: fix glibc bug 697
42130         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
42131         being NULL also if there are no backreferences.
42132
42133 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42134
42135         regex: merge glibc changes
42136         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
42137         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
42138         re_string_skip_chars, re_string_reconstruct): Likewise.
42139         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
42140
42141 2009-01-07  Jim Meyering  <meyering@redhat.com>
42142
42143         poll: filter through cppi
42144         * lib/poll.c: Indent cpp directives to reflect nesting.
42145
42146 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
42147
42148         poll: don't return uninitialized
42149         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
42150
42151 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
42152
42153         avoid compile failure on AIX 6.1
42154         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
42155         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
42156
42157 2009-01-04  Jim Meyering  <meyering@redhat.com>
42158
42159         remove duplicate inclusion of <stdio.h>
42160         * tests/test-fprintf-posix.c: Likewise.
42161         * tests/test-printf-posix.c: Likewise.
42162         * tests/test-snprintf-posix.c: Likewise.
42163         * tests/test-sprintf-posix.c: Likewise.
42164         * tests/test-vasprintf-posix.c: Likewise.
42165         * tests/test-vfprintf-posix.c: Likewise.
42166         * tests/test-vprintf-posix.c: Likewise.
42167         * tests/test-vsnprintf-posix.c: Likewise.
42168         * tests/test-vsprintf-posix.c: Likewise.
42169
42170 2009-01-03  Jim Meyering  <meyering@redhat.com>
42171
42172         gnulib-tool: fix sed-based filtering
42173         * gnulib-tool (func_filter_filelist): Remove extra backslash
42174         in sed_fff_filter definition.
42175
42176 2009-01-02  Jim Meyering  <meyering@redhat.com>
42177
42178         strftime: avoid compilation failure on Solaris 2.6
42179         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
42180         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
42181         Don't #define mbrlen or mbsinit, since now they're guaranteed to
42182         be available.  Reported by Tom G. Christensen.  Details in
42183         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
42184
42185 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42186             Bruno Haible  <bruno@clisp.org>
42187
42188         Speed up gnulib-tool by doing more string processing through shell
42189         built-ins.
42190         * gnulib-tool (fast_func_append): New variable.
42191         (func_remove_prefix, func_remove_suffix): New functions.
42192         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
42193         (func_filter_filelist): New function.
42194         (func_get_dependencies): Use func_remove_suffix instead of sed.
42195         (func_get_automake_snippet): Use func_filter_filelist instead of a
42196         subshell and sed invocation.
42197
42198 2009-01-01  Bruno Haible  <bruno@clisp.org>
42199
42200         Fix a security bug.
42201         * gnulib-tool (func_import, import, update): Don't allow the characters
42202         '"', '$', '`', '\' in macro arguments that become part of commands that
42203         are evaluated.
42204
42205 2009-01-01  Bruno Haible  <bruno@clisp.org>
42206
42207         * gnulib-tool (func_reset_sigpipe): Add more comments.
42208
42209 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42210
42211         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
42212         func_emit_tests_Makefile_am, func_import): Abort loops early if we
42213         already know the answer.
42214
42215 2009-01-01  Jim Meyering  <meyering@redhat.com>
42216
42217         * lib/version-etc.c (version_etc_va): Update copyright year.
42218
42219 2008-12-30  Bruno Haible  <bruno@clisp.org>
42220
42221         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
42222         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
42223         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
42224
42225 2008-12-29  Eric Blake  <ebb9@byu.net>
42226
42227         multiarch: avoid autoconf AC_REQUIRE bug
42228         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
42229         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
42230         2.63 and older.
42231         Reported by Bruno Haible, and analyzed in
42232         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
42233
42234 2008-12-29  Bruno Haible  <bruno@clisp.org>
42235
42236         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
42237         files in subdirectories correctly.
42238         Reported by Ralf Wildenhues.
42239
42240 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42241
42242         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
42243         rather than 'join FILE -', for Solaris join.
42244
42245 2008-12-29  Bruno Haible  <bruno@clisp.org>
42246
42247         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
42248         quoting.
42249         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
42250         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
42251         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
42252         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
42253         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
42254         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
42255         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
42256         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
42257         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42258         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
42259         * m4/nls.m4 (AM_NLS): Likewise.
42260         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
42261         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
42262         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
42263         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
42264         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
42265         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
42266         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
42267         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
42268         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
42269         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
42270         * m4/xsize.m4 (gl_XSIZE): Likewise.
42271         Suggested by Jim Meyering.
42272
42273 2008-11-17  Bruce Korb  <bkorb@gnu.org>
42274
42275         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
42276         * lib/parse-duration.c: use a switch instead of cascading if's.
42277
42278 2008-12-29  Eric Blake  <ebb9@byu.net>
42279
42280         wchar.h: supply WEOF on Irix 5.3
42281         * lib/wchar.in.h (wint_t): Also supply WEOF.
42282         * lib/wctype.in.h (wint_t): Likewise.
42283         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
42284         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
42285         Reported by Tom G. Christensen.
42286
42287 2008-12-26  Bruno Haible  <bruno@clisp.org>
42288
42289         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
42290         i486, i586, i686.
42291
42292 2008-12-26  Bruno Haible  <bruno@clisp.org>
42293
42294         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
42295
42296 2008-12-26  Bruno Haible  <bruno@clisp.org>
42297
42298         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
42299         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
42300         not __STDC_CONSTANT_MACROS.
42301         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42302
42303 2008-12-25  Bruno Haible  <bruno@clisp.org>
42304
42305         Add support for universal builds to vasnprintf.
42306         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
42307         universal builds, guess no.
42308         * modules/vasnprintf-posix (Depends-on): Add multiarch.
42309         * modules/vasprintf-posix (Depends-on): Likewise.
42310         * modules/fprintf-posix (Depends-on): Likewise.
42311         * modules/vfprintf-posix (Depends-on): Likewise.
42312         * modules/snprintf-posix (Depends-on): Likewise.
42313         * modules/vsnprintf-posix (Depends-on): Likewise.
42314         * modules/sprintf-posix (Depends-on): Likewise.
42315         * modules/vsprintf-posix (Depends-on): Likewise.
42316         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42317         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42318         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42319         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42320         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42321         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42322         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42323
42324         Add support for universal builds to <inttypes.h>.
42325         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
42326         _SCNu64_PREFIX): In Apple
42327         universal builds, define directly, using _LP64.
42328         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
42329         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
42330         * modules/inttypes (Depends-on): Add multiarch.
42331         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42332
42333         Add support for universal builds to <stdint.h>.
42334         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
42335         universal builds, define directly, using _LP64.
42336         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
42337         Apple universal builds, don't test for the size and suffix of ptrdiff_t
42338         and size_t.
42339         * modules/stdint (Depends-on): Add multiarch.
42340         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42341
42342         New module 'multiarch'.
42343         * modules/multiarch: New file.
42344         * m4/multiarch.m4: New file.
42345
42346 2008-12-25  Bruno Haible  <bruno@clisp.org>
42347
42348         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
42349
42350 2008-12-25  Bruno Haible  <bruno@clisp.org>
42351
42352         * modules/btowc (License): Relicense under LGPLv2+.
42353         * modules/mbsinit (License): Likewise.
42354         * modules/mbrtowc (License): Likewise.
42355         * modules/wcrtomb (License): Likewise.
42356         * modules/streq (License): Likewise.
42357         Reported by David Lutterkort <lutter@redhat.com>.
42358
42359 2008-12-23  Bruno Haible  <bruno@clisp.org>
42360
42361         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
42362
42363 2008-12-23  Bruno Haible  <bruno@clisp.org>
42364
42365         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
42366         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
42367         GETADDRINFO_LIB, not in LIBS.
42368         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
42369         * modules/canon-host (Link): Likewise.
42370         * NEWS: Mention the change.
42371         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
42372         GETADDRINFO_LIB.
42373
42374 2008-12-22  Bruno Haible  <bruno@clisp.org>
42375
42376         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
42377         * doc/posix-functions/iswalpha_l.texi: Likewise.
42378         * doc/posix-functions/iswblank_l.texi: Likewise.
42379         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42380         * doc/posix-functions/iswctype_l.texi: Likewise.
42381         * doc/posix-functions/iswdigit_l.texi: Likewise.
42382         * doc/posix-functions/iswgraph_l.texi: Likewise.
42383         * doc/posix-functions/iswlower_l.texi: Likewise.
42384         * doc/posix-functions/iswprint_l.texi: Likewise.
42385         * doc/posix-functions/iswpunct_l.texi: Likewise.
42386         * doc/posix-functions/iswspace_l.texi: Likewise.
42387         * doc/posix-functions/iswupper_l.texi: Likewise.
42388         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42389         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42390         * doc/posix-functions/open_wmemstream.texi: Likewise.
42391         * doc/posix-functions/swscanf.texi: Likewise.
42392         * doc/posix-functions/towctrans_l.texi: Likewise.
42393         * doc/posix-functions/towlower.texi: Likewise.
42394         * doc/posix-functions/towlower_l.texi: Likewise.
42395         * doc/posix-functions/towupper.texi: Likewise.
42396         * doc/posix-functions/towupper_l.texi: Likewise.
42397         * doc/posix-functions/vfwprintf.texi: Likewise.
42398         * doc/posix-functions/vfwscanf.texi: Likewise.
42399         * doc/posix-functions/vswscanf.texi: Likewise.
42400         * doc/posix-functions/vwprintf.texi: Likewise.
42401         * doc/posix-functions/vwscanf.texi: Likewise.
42402         * doc/posix-functions/wcpcpy.texi: Likewise.
42403         * doc/posix-functions/wcpncpy.texi: Likewise.
42404         * doc/posix-functions/wcscasecmp.texi: Likewise.
42405         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42406         * doc/posix-functions/wcscoll_l.texi: Likewise.
42407         * doc/posix-functions/wcsdup.texi: Likewise.
42408         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42409         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42410         * doc/posix-functions/wcsnlen.texi: Likewise.
42411         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42412         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42413         * doc/posix-functions/wctrans_l.texi: Likewise.
42414         * doc/posix-functions/wctype_l.texi: Likewise.
42415         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42416         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42417         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42418         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42419         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42420         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42421         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42422         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42423         * doc/glibc-functions/wcschrnul.texi: Likewise.
42424         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42425         * doc/glibc-functions/wcstod_l.texi: Likewise.
42426         * doc/glibc-functions/wcstof_l.texi: Likewise.
42427         * doc/glibc-functions/wcstol_l.texi: Likewise.
42428         * doc/glibc-functions/wcstold_l.texi: Likewise.
42429         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42430         * doc/glibc-functions/wcstoq.texi: Likewise.
42431         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42432         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42433         * doc/glibc-functions/wcstouq.texi: Likewise.
42434         * doc/glibc-functions/wmempcpy.texi: Likewise.
42435
42436 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42437             Eric Blake  <ebb9@byu.net>
42438             Paolo Bonzini  <bonzini@gnu.org>
42439             Bruno Haible  <bruno@clisp.org>
42440
42441         Make c-stack work on Haiku.
42442         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42443         (c_stack_action): Use SA_ONSTACK flag.
42444
42445 2008-12-22  Bruno Haible  <bruno@clisp.org>
42446
42447         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42448
42449 2008-12-22  Bruno Haible  <bruno@clisp.org>
42450
42451         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42452         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42453         being overridden.
42454         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42455         New macros.
42456         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42457         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42458         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42459         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42460
42461 2008-12-22  Bruno Haible  <bruno@clisp.org>
42462
42463         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42464         from test code.
42465
42466 2008-12-22  Eric Blake  <ebb9@byu.net>
42467
42468         Avoid gcc warnings on cygwin.
42469         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42470         Avoid unused variable.
42471         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42472         Likewise.
42473
42474 2008-12-22  Bruno Haible  <bruno@clisp.org>
42475
42476         Remove HAVE_MBRTOWC conditionals.
42477         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42478         (mbscasecmp): Assume mbrtowc function.
42479         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42480         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42481         * lib/mbschr.c: Include mbuiter.h unconditionally.
42482         (mbschr): Assume mbrtowc function.
42483         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42484         (mbscspn): Assume mbrtowc function.
42485         * lib/mbslen.c: Include mbuiter.h unconditionally.
42486         (mbslen): Assume mbrtowc function.
42487         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42488         (mbsncasecmp): Assume mbrtowc function.
42489         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42490         (mbsnlen): Assume mbrtowc function.
42491         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42492         (mbspbrk): Assume mbrtowc function.
42493         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42494         (mbspcasecmp): Assume mbrtowc function.
42495         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42496         (mbsrchr): Assume mbrtowc function.
42497         * lib/mbssep.c: Include mbuiter.h unconditionally.
42498         (mbssep): Assume mbrtowc function.
42499         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42500         (mbsspn): Assume mbrtowc function.
42501         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42502         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42503         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42504         (mbstok_r): Assume mbrtowc function.
42505         * lib/propername.c: Include mbuiter.h unconditionally.
42506         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42507         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42508         (trim2): Assume mbrtowc function.
42509         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42510         (mbsnwidth): Assume mbrtowc function.
42511         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42512         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42513         fallback definitions.
42514         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42515
42516 2008-12-22  Bruno Haible  <bruno@clisp.org>
42517
42518         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42519
42520 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42521
42522         * modules/regex: Request emulations for the mb*/wc* functions we need.
42523         * m4/regex.m4: Don't look for those functions here.
42524         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42525
42526 2008-12-22  Bruno Haible  <bruno@clisp.org>
42527
42528         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42529
42530 2008-12-21  Bruno Haible  <bruno@clisp.org>
42531
42532         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42533         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42534         (Include): Remove conditionalization.
42535         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42536         (Include): Remove conditionalization.
42537         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42538         (Include): Remove conditionalization.
42539         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42540         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42541         * NEWS: Mention the change.
42542         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42543         via Sergey Poznyakoff <gray@gnu.org.ua>.
42544
42545 2008-12-21  Bruno Haible  <bruno@clisp.org>
42546
42547         * MODULES.html.sh (Extended multibyte and wide character utilities
42548         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42549         wcrtomb, wcsrtombs.
42550         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42551         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42552         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42553         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42554
42555 2008-12-21  Bruno Haible  <bruno@clisp.org>
42556
42557         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42558
42559 2008-12-21  Bruno Haible  <bruno@clisp.org>
42560
42561         * modules/wcsnrtombs-tests: New file.
42562         * tests/test-wcsnrtombs1.sh: New file.
42563         * tests/test-wcsnrtombs2.sh: New file.
42564         * tests/test-wcsnrtombs3.sh: New file.
42565         * tests/test-wcsnrtombs4.sh: New file.
42566         * tests/test-wcsnrtombs.c: New file.
42567
42568         New module 'wcsnrtombs'.
42569         * lib/wchar.in.h (wcsnrtombs): New declaration.
42570         * lib/wcsnrtombs.c: New file.
42571         * lib/wcsrtombs-state.c: New file.
42572         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42573         (internal_state): Remove variable.
42574         * m4/wcsnrtombs.m4: New file.
42575         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42576         compilation units.
42577         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42578         HAVE_WCSNRTOMBS.
42579         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42580         HAVE_WCSNRTOMBS.
42581         * modules/wcsnrtombs: New file.
42582         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42583         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42584
42585 2008-12-21  Bruno Haible  <bruno@clisp.org>
42586
42587         * modules/wcsrtombs-tests: New file.
42588         * tests/test-wcsrtombs1.sh: New file.
42589         * tests/test-wcsrtombs2.sh: New file.
42590         * tests/test-wcsrtombs3.sh: New file.
42591         * tests/test-wcsrtombs4.sh: New file.
42592         * tests/test-wcsrtombs.c: New file.
42593
42594         New module 'wcsrtombs'.
42595         * lib/wchar.in.h (wcsrtombs): New declaration.
42596         * lib/wcsrtombs.c: New file.
42597         * m4/wcsrtombs.m4: New file.
42598         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42599         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42600         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42601         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42602         * modules/wcsrtombs: New file.
42603         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42604         bugs.
42605
42606 2008-12-21  Bruno Haible  <bruno@clisp.org>
42607
42608         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42609         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42610         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42611         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42612         if not correct.
42613         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42614         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42615         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42616         m4/locale-zh.m4, m4/codeset.m4.
42617         * doc/posix-functions/wcrtomb.texi: Document the bug.
42618
42619 2008-12-21  Bruno Haible  <bruno@clisp.org>
42620
42621         Work around a btowc() bug on IRIX 6.5.
42622         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42623         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42624         REPLACE_WTOBC if not.
42625         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42626         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42627         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42628
42629 2008-12-21  Bruno Haible  <bruno@clisp.org>
42630
42631         * modules/wcrtomb-tests: New file.
42632         * tests/test-wcrtomb.sh: New file.
42633         * tests/test-wcrtomb.c: New file.
42634
42635         New module 'wcrtomb'.
42636         * lib/wchar.in.h (wcrtomb): New declaration.
42637         * lib/wcrtomb.c: New file.
42638         * m4/wcrtomb.m4: New file.
42639         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42640         HAVE_WCRTOMB.
42641         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42642         HAVE_WCRTOMB.
42643         * modules/wcrtomb: New file.
42644         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42645
42646 2008-12-21  Bruno Haible  <bruno@clisp.org>
42647
42648         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42649         * modules/mbsrtowcs (Files): Likewise.
42650         * modules/wctob (Files): Likewise.
42651         * modules/c-strcase-tests (Files): Likewise.
42652         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42653         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42654         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42655         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42656         * modules/vasnprintf-posix-tests (Files): Likewise.
42657
42658 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42659
42660         gitlog-to-changelog: pass all command-line arguments to git-log
42661         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42662         it is sometimes convenient to filter the commits in various ways.
42663         gitlog-to-changelog only allows --since to specify a start date,
42664         but git-log itself supports many other filtering mechanisms.
42665         At the moment, I want to filter by branch name.  Rather than
42666         adding a --branch option to gitlog-to-changelog, it seems more
42667         flexible to simply pass all options directly to git-log and let
42668         git do the work.  Notice that this effectively makes --since a
42669         redundant option for gitlog-to-changelog, but removing it would
42670         require current usage to change since calls would then require
42671         an additional '--'.
42672
42673 2008-12-21  Bruno Haible  <bruno@clisp.org>
42674
42675         * modules/mbsnrtowcs-tests: New file.
42676         * tests/test-mbsnrtowcs1.sh: New file.
42677         * tests/test-mbsnrtowcs2.sh: New file.
42678         * tests/test-mbsnrtowcs3.sh: New file.
42679         * tests/test-mbsnrtowcs4.sh: New file.
42680         * tests/test-mbsnrtowcs.c: New file.
42681
42682         New module 'mbsnrtowcs'.
42683         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42684         * lib/mbsnrtowcs.c: New file.
42685         * lib/mbsrtowcs-state.c: New file.
42686         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42687         (internal_state): Remove variable.
42688         * m4/mbsnrtowcs.m4: New file.
42689         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42690         compilation units.
42691         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42692         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42693         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42694         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42695         * modules/mbsnrtowcs: New file.
42696         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42697         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42698         portability problem.
42699
42700 2008-12-21  Bruno Haible  <bruno@clisp.org>
42701
42702         Work around mbsrtowcs bug.
42703         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42704         (gl_FUNC_MBSRTOWCS): Invoke it.
42705         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42706         m4/locale-zh.m4.
42707         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42708
42709 2008-12-21  Bruno Haible  <bruno@clisp.org>
42710
42711         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42712
42713 2008-12-21  Bruno Haible  <bruno@clisp.org>
42714
42715         Update doc for AIX.
42716         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42717         16-bit wchar_t type.
42718         * doc/posix-functions/btowc.texi: Likewise.
42719         * doc/posix-functions/fgetwc.texi: Likewise.
42720         * doc/posix-functions/fgetws.texi: Likewise.
42721         * doc/posix-functions/fputwc.texi: Likewise.
42722         * doc/posix-functions/fputws.texi: Likewise.
42723         * doc/posix-functions/fwide.texi: Likewise.
42724         * doc/posix-functions/fwprintf.texi: Likewise.
42725         * doc/posix-functions/fwscanf.texi: Likewise.
42726         * doc/posix-functions/getwchar.texi: Likewise.
42727         * doc/posix-functions/getwc.texi: Likewise.
42728         * doc/posix-functions/iswalnum.texi: Likewise.
42729         * doc/posix-functions/iswalpha.texi: Likewise.
42730         * doc/posix-functions/iswblank.texi: Likewise.
42731         * doc/posix-functions/iswcntrl.texi: Likewise.
42732         * doc/posix-functions/iswctype.texi: Likewise.
42733         * doc/posix-functions/iswdigit.texi: Likewise.
42734         * doc/posix-functions/iswgraph.texi: Likewise.
42735         * doc/posix-functions/iswlower.texi: Likewise.
42736         * doc/posix-functions/iswprint.texi: Likewise.
42737         * doc/posix-functions/iswpunct.texi: Likewise.
42738         * doc/posix-functions/iswspace.texi: Likewise.
42739         * doc/posix-functions/iswupper.texi: Likewise.
42740         * doc/posix-functions/iswxdigit.texi: Likewise.
42741         * doc/posix-functions/mbrtowc.texi: Likewise.
42742         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42743         * doc/posix-functions/mbstowcs.texi: Likewise.
42744         * doc/posix-functions/mbtowc.texi: Likewise.
42745         * doc/posix-functions/putwchar.texi: Likewise.
42746         * doc/posix-functions/putwc.texi: Likewise.
42747         * doc/posix-functions/swprintf.texi: Likewise.
42748         * doc/posix-functions/tolower.texi: Likewise.
42749         * doc/posix-functions/toupper.texi: Likewise.
42750         * doc/posix-functions/towctrans.texi: Likewise.
42751         * doc/posix-functions/ungetwc.texi: Likewise.
42752         * doc/posix-functions/vswprintf.texi: Likewise.
42753         * doc/posix-functions/wcrtomb.texi: Likewise.
42754         * doc/posix-functions/wcscat.texi: Likewise.
42755         * doc/posix-functions/wcschr.texi: Likewise.
42756         * doc/posix-functions/wcscmp.texi: Likewise.
42757         * doc/posix-functions/wcscoll.texi: Likewise.
42758         * doc/posix-functions/wcscpy.texi: Likewise.
42759         * doc/posix-functions/wcscspn.texi: Likewise.
42760         * doc/posix-functions/wcsftime.texi: Likewise.
42761         * doc/posix-functions/wcslen.texi: Likewise.
42762         * doc/posix-functions/wcsncat.texi: Likewise.
42763         * doc/posix-functions/wcsncmp.texi: Likewise.
42764         * doc/posix-functions/wcsncpy.texi: Likewise.
42765         * doc/posix-functions/wcspbrk.texi: Likewise.
42766         * doc/posix-functions/wcsrchr.texi: Likewise.
42767         * doc/posix-functions/wcsrtombs.texi: Likewise.
42768         * doc/posix-functions/wcsspn.texi: Likewise.
42769         * doc/posix-functions/wcsstr.texi: Likewise.
42770         * doc/posix-functions/wcstod.texi: Likewise.
42771         * doc/posix-functions/wcstof.texi: Likewise.
42772         * doc/posix-functions/wcstoimax.texi: Likewise.
42773         * doc/posix-functions/wcstok.texi: Likewise.
42774         * doc/posix-functions/wcstold.texi: Likewise.
42775         * doc/posix-functions/wcstoll.texi: Likewise.
42776         * doc/posix-functions/wcstol.texi: Likewise.
42777         * doc/posix-functions/wcstombs.texi: Likewise.
42778         * doc/posix-functions/wcstoull.texi: Likewise.
42779         * doc/posix-functions/wcstoul.texi: Likewise.
42780         * doc/posix-functions/wcstoumax.texi: Likewise.
42781         * doc/posix-functions/wcswidth.texi: Likewise.
42782         * doc/posix-functions/wcsxfrm.texi: Likewise.
42783         * doc/posix-functions/wctob.texi: Likewise.
42784         * doc/posix-functions/wctomb.texi: Likewise.
42785         * doc/posix-functions/wctrans.texi: Likewise.
42786         * doc/posix-functions/wctype.texi: Likewise.
42787         * doc/posix-functions/wcwidth.texi: Likewise.
42788         * doc/posix-functions/wmemchr.texi: Likewise.
42789         * doc/posix-functions/wmemcmp.texi: Likewise.
42790         * doc/posix-functions/wmemcpy.texi: Likewise.
42791         * doc/posix-functions/wmemmove.texi: Likewise.
42792         * doc/posix-functions/wmemset.texi: Likewise.
42793         * doc/posix-functions/wprintf.texi: Likewise.
42794         * doc/posix-functions/wscanf.texi: Likewise.
42795
42796 2008-12-21  Bruno Haible  <bruno@clisp.org>
42797
42798         Update doc for HP-UX 11.11.
42799         * doc/posix-functions/btowc.texi: Clarify that the function is missing
42800         in HP-UX version 11.00, not in all versions of HP-UX 11.
42801         * doc/posix-functions/fwide.texi: Likewise.
42802         * doc/posix-functions/fwprintf.texi: Likewise.
42803         * doc/posix-functions/fwscanf.texi: Likewise.
42804         * doc/posix-functions/inet_ntop.texi: Likewise.
42805         * doc/posix-functions/inet_pton.texi: Likewise.
42806         * doc/posix-functions/mbrlen.texi: Likewise.
42807         * doc/posix-functions/mbrtowc.texi: Likewise.
42808         * doc/posix-functions/mbsinit.texi: Likewise.
42809         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42810         * doc/posix-functions/swprintf.texi: Likewise.
42811         * doc/posix-functions/swscanf.texi: Likewise.
42812         * doc/posix-functions/towctrans.texi: Likewise.
42813         * doc/posix-functions/vfwprintf.texi: Likewise.
42814         * doc/posix-functions/vswprintf.texi: Likewise.
42815         * doc/posix-functions/vwprintf.texi: Likewise.
42816         * doc/posix-functions/wcrtomb.texi: Likewise.
42817         * doc/posix-functions/wcsrtombs.texi: Likewise.
42818         * doc/posix-functions/wcsstr.texi: Likewise.
42819         * doc/posix-functions/wctob.texi: Likewise.
42820         * doc/posix-functions/wctrans.texi: Likewise.
42821         * doc/posix-functions/wmemchr.texi: Likewise.
42822         * doc/posix-functions/wmemcmp.texi: Likewise.
42823         * doc/posix-functions/wmemcpy.texi: Likewise.
42824         * doc/posix-functions/wmemmove.texi: Likewise.
42825         * doc/posix-functions/wmemset.texi: Likewise.
42826         * doc/posix-functions/wprintf.texi: Likewise.
42827         * doc/posix-functions/wscanf.texi: Likewise.
42828
42829 2008-12-21  Bruno Haible  <bruno@clisp.org>
42830
42831         Work around a portability problem.
42832         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
42833         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
42834
42835 2008-12-20  Bruno Haible  <bruno@clisp.org>
42836
42837         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
42838         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
42839         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
42840         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
42841         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
42842
42843         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
42844         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
42845         set.
42846         (GNULIB_defined_mbstate_t): New macro.
42847         (mbsinit): Redefine if REPLACE_MBSINIT is set.
42848         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
42849         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
42850         reuses the system's mbrtowc function but works around the bugs.
42851         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
42852         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
42853         macros.
42854         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
42855         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
42856         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
42857         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
42858         REPLACE_MBSINIT if mbsinit needs to be overridden.
42859         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
42860         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42861         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
42862         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42863         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42864         m4/locale-zh.m4.
42865         (Depends): Add mbsinit.
42866         * modules/mbsinit (Depends): Add mbrtowc.
42867         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
42868
42869 2008-12-20  Bruno Haible  <bruno@clisp.org>
42870
42871         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
42872         so that there are no conversion errors on AIX.
42873         * tests/test-mbsrtowcs.c (main): LIkewise.
42874
42875 2008-12-20  Bruno Haible  <bruno@clisp.org>
42876
42877         Work around wctob bug on Solaris <= 9.
42878         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
42879         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
42880         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
42881         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
42882         * modules/wctob (Files): Add m4/locale-fr.m4.
42883         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
42884
42885 2008-12-20  Bruno Haible  <bruno@clisp.org>
42886
42887         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
42888         /dev/null.
42889         * tests/test-select-in.sh: Likewise.
42890         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42891
42892 2008-12-20  Bruno Haible  <bruno@clisp.org>
42893
42894         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
42895         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
42896         Cygwin 1.5.x.
42897
42898 2008-12-20  Bruno Haible  <bruno@clisp.org>
42899
42900         Ensure mbstate_t is defined on HP-UX 11.11.
42901         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
42902         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
42903         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
42904         AC_USE_SYSTEM_EXTENSIONS.
42905         * modules/fnmatch (Depends-on): Add extensions.
42906         * modules/mbrlen (Depends-on): Likewise.
42907         * modules/mbrtowc (Depends-on): Likewise.
42908         * modules/mbsinit (Depends-on): Likewise.
42909         * modules/mbsrtowcs (Depends-on): Likewise.
42910         * modules/mbswidth (Depends-on): Likewise.
42911         * modules/quotearg (Depends-on): Likewise.
42912         * modules/strftime (Depends-on): Likewise.
42913
42914 2008-12-20  Bruno Haible  <bruno@clisp.org>
42915
42916         Ensure wctob is declared on IRIX 6.5.
42917         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
42918         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
42919         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
42920         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
42921         of HAVE_WCTOB.
42922         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
42923         HAVE_WCTOB.
42924         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
42925
42926 2008-12-19  Bruno Haible  <bruno@clisp.org>
42927
42928         * modules/mbsrtowcs-tests: New file.
42929         * tests/test-mbsrtowcs1.sh: New file.
42930         * tests/test-mbsrtowcs2.sh: New file.
42931         * tests/test-mbsrtowcs3.sh: New file.
42932         * tests/test-mbsrtowcs4.sh: New file.
42933         * tests/test-mbsrtowcs.c: New file.
42934
42935         New module 'mbsrtowcs'.
42936         * lib/wchar.in.h (mbsrtowcs): New declaration.
42937         * lib/mbsrtowcs.c: New file.
42938         * m4/mbsrtowcs.m4: New file.
42939         * modules/mbsrtowcs: New file.
42940         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
42941         HAVE_MBSRTOWCS.
42942         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
42943         HAVE_MBSRTOWCS.
42944         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
42945
42946 2008-12-19  Bruno Haible  <bruno@clisp.org>
42947
42948         New module 'mbrlen'.
42949         * lib/wchar.in.h (mbrlen): New declaration.
42950         * lib/mbrlen.c: New file.
42951         * m4/mbrlen.m4: New file.
42952         * modules/mbrlen: New file.
42953         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
42954         HAVE_MBRLEN.
42955         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
42956         HAVE_MBRLEN.
42957         * doc/posix-functions/mbrlen.texi: Document the new module.
42958
42959 2008-12-19  Bruno Haible  <bruno@clisp.org>
42960
42961         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
42962         * modules/mbrtowc (Depends-on): Add verify.
42963         Suggested by Paul Eggert.
42964
42965 2008-12-18  Bruno Haible  <bruno@clisp.org>
42966
42967         * modules/mbsinit-tests: New file.
42968         * tests/test-mbsinit.sh: New file.
42969         * tests/test-mbsinit.c: New file.
42970
42971 2008-12-18  Bruno Haible  <bruno@clisp.org>
42972
42973         * modules/mbrtowc-tests: New file.
42974         * tests/test-mbrtowc1.sh: New file.
42975         * tests/test-mbrtowc2.sh: New file.
42976         * tests/test-mbrtowc3.sh: New file.
42977         * tests/test-mbrtowc4.sh: New file.
42978         * tests/test-mbrtowc.c: New file.
42979
42980         New module 'mbrtowc'.
42981         * lib/wchar.in.h (mbstate_t): Override when the system does not have
42982         mbsinit and mbrtowc.
42983         (mbrtowc): New declaration.
42984         * lib/mbrtowc.c: New file.
42985         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
42986         * modules/mbrtowc: New file.
42987         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
42988         HAVE_MBRTOWC.
42989         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
42990         HAVE_MBRTOWC.
42991         * doc/posix-functions/mbrtowc.texi: Document the new module.
42992
42993 2008-12-18  Bruno Haible  <bruno@clisp.org>
42994
42995         New module 'wctob'.
42996         * lib/wchar.in.h (wctob): New declaration.
42997         * lib/wctob.c: New file.
42998         * m4/wctob.m4: New file.
42999         * modules/wctob: New file.
43000         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
43001         HAVE_WCTOB.
43002         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
43003         * doc/posix-functions/wctob.texi: Document the new module.
43004
43005 2008-12-18  Bruno Haible  <bruno@clisp.org>
43006
43007         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
43008         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
43009
43010 2008-12-18  Simon Josefsson  <simon@josefsson.org>
43011
43012         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
43013         G. Christensen" <tgc@jupiterrise.com>.
43014
43015         * lib/flock.c: Need to include errno.h.  Reported by "Tom
43016         G. Christensen" <tgc@jupiterrise.com>.
43017
43018         * lib/flock.c: Need to include string.h.  Reported by "Tom
43019         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
43020         <ebb9@byu.net>.
43021
43022 2008-12-18  Bruno Haible  <bruno@clisp.org>
43023
43024         * m4/locale-ja.m4: New file, from GNU gettext.
43025
43026 2008-12-17  Bruno Haible  <bruno@clisp.org>
43027
43028         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
43029         Suggested by Eric Blake.
43030
43031 2008-12-17  Bruno Haible  <bruno@clisp.org>
43032
43033         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
43034
43035 2008-12-17  Bruno Haible  <bruno@clisp.org>
43036
43037         * lib/mbsinit.c: Include verify.h. Verify an assumption.
43038         * modules/mbsinit (Depends-on): Add verify.
43039         Suggested by Paul Eggert.
43040
43041 2008-12-17  Bruno Haible  <bruno@clisp.org>
43042
43043         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
43044         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
43045         gl_FUNC_MBRTOWC.
43046         * m4/mbiter.m4 (gl_MBITER): LIkewise.
43047         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
43048         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
43049         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
43050         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
43051         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
43052         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
43053         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
43054         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
43055         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
43056         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
43057         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
43058         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
43059         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
43060         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
43061         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43062         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
43063         * modules/trim (configure.ac): Likewise.
43064
43065 2008-12-17  Bruno Haible  <bruno@clisp.org>
43066
43067         * modules/btowc-tests: New file.
43068         * tests/test-btowc1.sh: New file.
43069         * tests/test-btowc2.sh: New file.
43070         * tests/test-btowc.c: New file.
43071
43072         New module 'btowc'.
43073         * lib/wchar.in.h (btowc): New declaration.
43074         * lib/btowc.c: New file.
43075         * m4/btowc.m4: New file.
43076         * modules/btowc: New file.
43077         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
43078         HAVE_BTOWC.
43079         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
43080         * doc/posix-functions/btowc.texi: Document the new module.
43081
43082 2008-12-17  Bruno Haible  <bruno@clisp.org>
43083
43084         New module 'mbsinit'.
43085         * lib/wchar.in.h (mbsinit): New declaration.
43086         * lib/mbsinit.c: New file.
43087         * m4/mbsinit.m4: New file.
43088         * modules/mbsinit: New file.
43089         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
43090         HAVE_MBSINIT.
43091         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
43092         HAVE_MBSINIT.
43093         * doc/posix-functions/mbsinit.texi: Document the new module.
43094
43095 2008-12-16  Bruno Haible  <bruno@clisp.org>
43096
43097         * lib/unistd.in.h: Add comment.
43098         * tests/test-environ.c: Don't include <stdlib.h>.
43099
43100 2008-12-16  Bruno Haible  <bruno@clisp.org>
43101
43102         * lib/parse-duration.h (parse_duration): Document return value
43103         convention.
43104         * lib/parse-duration.c: Include specification header first. Add
43105         comments.
43106         (_): Remove macro.
43107         (parse_year_month_day, parse_hour_minute_second): Move side effects
43108         outside of strchr call.
43109         (parse_non_iso8601): Move side effects outside of isspace call.
43110         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
43111         call.
43112
43113 2008-12-16  Bruno Haible  <bruno@clisp.org>
43114
43115         * tests/test-parse-duration.sh: Produce no output when the test
43116         succeeds.
43117
43118 2008-12-16  Bruno Haible  <bruno@clisp.org>
43119
43120         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
43121         expressions.
43122
43123 2008-12-15  Bruno Haible  <bruno@clisp.org>
43124
43125         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
43126         * doc/glibc-functions/flistxattr.texi: Likewise.
43127         * doc/glibc-functions/fopencookie.texi: Likewise.
43128         * doc/glibc-functions/fremovexattr.texi: Likewise.
43129         * doc/glibc-functions/fsetxattr.texi: Likewise.
43130         * doc/glibc-functions/getxattr.texi: Likewise.
43131         * doc/glibc-functions/lgetxattr.texi: Likewise.
43132         * doc/glibc-functions/listxattr.texi: Likewise.
43133         * doc/glibc-functions/llistxattr.texi: Likewise.
43134         * doc/glibc-functions/lremovexattr.texi: Likewise.
43135         * doc/glibc-functions/lsetxattr.texi: Likewise.
43136         * doc/glibc-functions/removexattr.texi: Likewise.
43137         * doc/glibc-functions/setxattr.texi: Likewise.
43138         * doc/posix-functions/open_memstream.texi: Likewise.
43139
43140 2008-12-15  Eric Blake  <ebb9@byu.net>
43141
43142         Update doc for cygwin 1.7.
43143         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
43144         functions.
43145         * doc/posix-functions/fchmodat.texi: Likewise.
43146         * doc/posix-functions/fchownat.texi: Likewise.
43147         * doc/posix-functions/fdopendir.texi: Likewise.
43148         * doc/posix-functions/fmemopen.texi: Likewise.
43149         * doc/posix-functions/freeaddrinfo.texi: Likewise.
43150         * doc/posix-functions/fstatat.texi: Likewise.
43151         * doc/posix-functions/futimens.texi: Likewise.
43152         * doc/posix-functions/gai_strerror.texi: Likewise.
43153         * doc/posix-functions/getaddrinfo.texi: Likewise.
43154         * doc/posix-functions/getnameinfo.texi: Likewise.
43155         * doc/posix-functions/if_freenameindex.texi: Likewise.
43156         * doc/posix-functions/if_indextoname.texi: Likewise.
43157         * doc/posix-functions/if_nameindex.texi: Likewise.
43158         * doc/posix-functions/if_nametoindex.texi: Likewise.
43159         * doc/posix-functions/insque.texi: Likewise.
43160         * doc/posix-functions/linkat.texi: Likewise.
43161         * doc/posix-functions/llrint.texi: Likewise.
43162         * doc/posix-functions/llrintf.texi: Likewise.
43163         * doc/posix-functions/llrintl.texi: Likewise.
43164         * doc/posix-functions/lockf.texi: Likewise.
43165         * doc/posix-functions/lrintl.texi: Likewise.
43166         * doc/posix-functions/mkdirat.texi: Likewise.
43167         * doc/posix-functions/mkfifoat.texi: Likewise.
43168         * doc/posix-functions/mknodat.texi: Likewise.
43169         * doc/posix-functions/mq_close.texi: Likewise.
43170         * doc/posix-functions/mq_getattr.texi: Likewise.
43171         * doc/posix-functions/mq_notify.texi: Likewise.
43172         * doc/posix-functions/mq_open.texi: Likewise.
43173         * doc/posix-functions/mq_receive.texi: Likewise.
43174         * doc/posix-functions/mq_send.texi: Likewise.
43175         * doc/posix-functions/mq_setattr.texi: Likewise.
43176         * doc/posix-functions/mq_timedreceive.texi: Likewise.
43177         * doc/posix-functions/mq_timedsend.texi: Likewise.
43178         * doc/posix-functions/mq_unlink.texi: Likewise.
43179         * doc/posix-functions/open_memstream.texi: Likewise.
43180         * doc/posix-functions/openat.texi: Likewise.
43181         * doc/posix-functions/posix_fadvise.texi: Likewise.
43182         * doc/posix-functions/posix_fallocate.texi: Likewise.
43183         * doc/posix-functions/posix_madvise.texi: Likewise.
43184         * doc/posix-functions/posix_memalign.texi: Likewise.
43185         * doc/posix-functions/posix_openpt.texi: Likewise.
43186         * doc/posix-functions/readlinkat.texi: Likewise.
43187         * doc/posix-functions/remque.texi: Likewise.
43188         * doc/posix-functions/renameat.texi: Likewise.
43189         * doc/posix-functions/rintl.texi: Likewise.
43190         * doc/posix-functions/sem_unlink.texi: Likewise.
43191         * doc/posix-functions/shm_open.texi: Likewise.
43192         * doc/posix-functions/shm_unlink.texi: Likewise.
43193         * doc/posix-functions/signgam.texi: Likewise.
43194         * doc/posix-functions/sigset.texi: Likewise.
43195         * doc/posix-functions/stpcpy.texi: Likewise.
43196         * doc/posix-functions/stpncpy.texi: Likewise.
43197         * doc/posix-functions/strerror.texi: Likewise.
43198         * doc/posix-functions/strtod.texi: Likewise.
43199         * doc/posix-functions/symlinkat.texi: Likewise.
43200         * doc/posix-functions/unlinkat.texi: Likewise.
43201         * doc/posix-functions/utimensat.texi: Likewise.
43202         * doc/glibc-functions/bindresvport.texi: Likewise.
43203         * doc/glibc-functions/dn_expand.texi: Likewise.
43204         * doc/glibc-functions/exp10.texi: Likewise.
43205         * doc/glibc-functions/exp10f.texi: Likewise.
43206         * doc/glibc-functions/fgetxattr.texi: Likewise.
43207         * doc/glibc-functions/flistxattr.texi: Likewise.
43208         * doc/glibc-functions/fopencookie.texi: Likewise.
43209         * doc/glibc-functions/freeifaddrs.texi: Likewise.
43210         * doc/glibc-functions/fremovexattr.texi: Likewise.
43211         * doc/glibc-functions/fsetxattr.texi: Likewise.
43212         * doc/glibc-functions/getifaddrs.texi: Likewise.
43213         * doc/glibc-functions/getxattr.texi: Likewise.
43214         * doc/glibc-functions/lgetxattr.texi: Likewise.
43215         * doc/glibc-functions/listxattr.texi: Likewise.
43216         * doc/glibc-functions/llistxattr.texi: Likewise.
43217         * doc/glibc-functions/lremovexattr.texi: Likewise.
43218         * doc/glibc-functions/lsetxattr.texi: Likewise.
43219         * doc/glibc-functions/pow10.texi: Likewise.
43220         * doc/glibc-functions/pow10f.texi: Likewise.
43221         * doc/glibc-functions/rcmd_af.texi: Likewise.
43222         * doc/glibc-functions/removexattr.texi: Likewise.
43223         * doc/glibc-functions/res_init.texi: Likewise.
43224         * doc/glibc-functions/res_mkquery.texi: Likewise.
43225         * doc/glibc-functions/res_query.texi: Likewise.
43226         * doc/glibc-functions/res_querydomain.texi: Likewise.
43227         * doc/glibc-functions/res_send.texi: Likewise.
43228         * doc/glibc-functions/rresvport_af.texi: Likewise.
43229         * doc/glibc-functions/setxattr.texi: Likewise.
43230         * doc/glibc-functions/strcasestr.texi: Likewise.
43231
43232 2008-12-15  Bruno Haible  <bruno@clisp.org>
43233
43234         Fix compilation error on OSF/1 4.0.
43235         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
43236         <sys/time.h>, simply delegate to the system header.
43237         Reported by Daniel Richard G. <oss@teragram.com>.
43238
43239 2008-12-15  Bruno Haible  <bruno@clisp.org>
43240
43241         * doc/posix-functions/openat.texi: Mention the 'openat' module.
43242         * doc/posix-functions/fchmodat.texi: Likewise.
43243         * doc/posix-functions/fchownat.texi: Likewise.
43244         * doc/posix-functions/fdopendir.texi: Likewise.
43245         * doc/posix-functions/fstatat.texi: Likewise.
43246         * doc/posix-functions/mkdirat.texi: Likewise.
43247         * doc/posix-functions/unlinkat.texi: Likewise.
43248
43249 2008-12-14  Bruno Haible  <bruno@clisp.org>
43250
43251         Update doc for POSIX:2008.
43252         * doc/posix-functions/faccessat.texi: New file.
43253         * doc/posix-functions/fchmodat.texi: New file.
43254         * doc/posix-functions/fchownat.texi: New file.
43255         * doc/posix-functions/fdopendir.texi: New file.
43256         * doc/posix-functions/fstatat.texi: New file.
43257         * doc/posix-functions/futimens.texi: New file.
43258         * doc/posix-functions/linkat.texi: New file.
43259         * doc/posix-functions/mkdirat.texi: New file.
43260         * doc/posix-functions/mkfifoat.texi: New file.
43261         * doc/posix-functions/mknodat.texi: New file.
43262         * doc/posix-functions/open_wmemstream.texi: New file.
43263         * doc/posix-functions/openat.texi: New file.
43264         * doc/posix-functions/psiginfo.texi: New file.
43265         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
43266         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
43267         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
43268         * doc/posix-functions/readlinkat.texi: New file.
43269         * doc/posix-functions/renameat.texi: New file.
43270         * doc/posix-functions/strerror_l.texi: New file.
43271         * doc/posix-functions/symlinkat.texi: New file.
43272         * doc/posix-functions/unlinkat.texi: New file.
43273         * doc/posix-functions/utimensat.texi: New file.
43274         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43275
43276 2008-12-14  Bruno Haible  <bruno@clisp.org>
43277
43278         Update doc for POSIX:2008.
43279         * doc/posix-functions/alphasort.texi: Renamed from
43280         doc/glibc-functions/alphasort.texi.
43281         * doc/posix-functions/dirfd.texi: Renamed from
43282         doc/glibc-functions/dirfd.texi.
43283         * doc/posix-functions/dprintf.texi: Renamed from
43284         doc/glibc-functions/dprintf.texi.
43285         * doc/posix-functions/duplocale.texi: Renamed from
43286         doc/glibc-functions/duplocale.texi.
43287         * doc/posix-functions/fexecve.texi: Renamed from
43288         doc/glibc-functions/fexecve.texi.
43289         * doc/posix-functions/fmemopen.texi: Renamed from
43290         doc/glibc-functions/fmemopen.texi.
43291         * doc/posix-functions/freelocale.texi: Renamed from
43292         doc/glibc-functions/freelocale.texi.
43293         * doc/posix-functions/getdate_err.texi: Renamed from
43294         doc/glibc-functions/getdate_err.texi.
43295         * doc/posix-functions/isalnum_l.texi: Renamed from
43296         doc/glibc-functions/isalnum_l.texi.
43297         * doc/posix-functions/isalpha_l.texi: Renamed from
43298         doc/glibc-functions/isalpha_l.texi.
43299         * doc/posix-functions/isblank_l.texi: Renamed from
43300         doc/glibc-functions/isblank_l.texi.
43301         * doc/posix-functions/iscntrl_l.texi: Renamed from
43302         doc/glibc-functions/iscntrl_l.texi.
43303         * doc/posix-functions/isdigit_l.texi: Renamed from
43304         doc/glibc-functions/isdigit_l.texi.
43305         * doc/posix-functions/isgraph_l.texi: Renamed from
43306         doc/glibc-functions/isgraph_l.texi.
43307         * doc/posix-functions/islower_l.texi: Renamed from
43308         doc/glibc-functions/islower_l.texi.
43309         * doc/posix-functions/isprint_l.texi: Renamed from
43310         doc/glibc-functions/isprint_l.texi.
43311         * doc/posix-functions/ispunct_l.texi: Renamed from
43312         doc/glibc-functions/ispunct_l.texi.
43313         * doc/posix-functions/isspace_l.texi: Renamed from
43314         doc/glibc-functions/isspace_l.texi.
43315         * doc/posix-functions/isupper_l.texi: Renamed from
43316         doc/glibc-functions/isupper_l.texi.
43317         * doc/posix-functions/iswalnum_l.texi: Renamed from
43318         doc/glibc-functions/iswalnum_l.texi.
43319         * doc/posix-functions/iswalpha_l.texi: Renamed from
43320         doc/glibc-functions/iswalpha_l.texi.
43321         * doc/posix-functions/iswblank_l.texi: Renamed from
43322         doc/glibc-functions/iswblank_l.texi.
43323         * doc/posix-functions/iswcntrl_l.texi: Renamed from
43324         doc/glibc-functions/iswcntrl_l.texi.
43325         * doc/posix-functions/iswctype_l.texi: Renamed from
43326         doc/glibc-functions/iswctype_l.texi.
43327         * doc/posix-functions/iswdigit_l.texi: Renamed from
43328         doc/glibc-functions/iswdigit_l.texi.
43329         * doc/posix-functions/iswgraph_l.texi: Renamed from
43330         doc/glibc-functions/iswgraph_l.texi.
43331         * doc/posix-functions/iswlower_l.texi: Renamed from
43332         doc/glibc-functions/iswlower_l.texi.
43333         * doc/posix-functions/iswprint_l.texi: Renamed from
43334         doc/glibc-functions/iswprint_l.texi.
43335         * doc/posix-functions/iswpunct_l.texi: Renamed from
43336         doc/glibc-functions/iswpunct_l.texi.
43337         * doc/posix-functions/iswspace_l.texi: Renamed from
43338         doc/glibc-functions/iswspace_l.texi.
43339         * doc/posix-functions/iswupper_l.texi: Renamed from
43340         doc/glibc-functions/iswupper_l.texi.
43341         * doc/posix-functions/iswxdigit_l.texi: Renamed from
43342         doc/glibc-functions/iswxdigit_l.texi.
43343         * doc/posix-functions/isxdigit_l.texi: Renamed from
43344         doc/glibc-functions/isxdigit_l.texi.
43345         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
43346         doc/glibc-functions/mbsnrtowcs.texi.
43347         * doc/posix-functions/mkdtemp.texi: Renamed from
43348         doc/glibc-functions/mkdtemp.texi.
43349         * doc/posix-functions/newlocale.texi: Renamed from
43350         doc/glibc-functions/newlocale.texi.
43351         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
43352         doc/glibc-functions/nl_langinfo_l.texi.
43353         * doc/posix-functions/open_memstream.texi: Renamed from
43354         doc/glibc-functions/open_memstream.texi.
43355         * doc/posix-functions/opterr.texi: Renamed from
43356         doc/glibc-functions/opterr.texi.
43357         * doc/posix-functions/optind.texi: Renamed from
43358         doc/glibc-functions/optind.texi.
43359         * doc/posix-functions/optopt.texi: Renamed from
43360         doc/glibc-functions/optopt.texi.
43361         * doc/posix-functions/psignal.texi: Renamed from
43362         doc/glibc-functions/psignal.texi.
43363         * doc/posix-functions/scandir.texi: Renamed from
43364         doc/glibc-functions/scandir.texi.
43365         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
43366         doc/glibc-functions/sched_get_priority_min.texi.
43367         * doc/posix-functions/signgam.texi: Renamed from
43368         doc/glibc-functions/signgam.texi.
43369         * doc/posix-functions/stpcpy.texi: Renamed from
43370         doc/glibc-functions/stpcpy.texi.
43371         * doc/posix-functions/stpncpy.texi: Renamed from
43372         doc/glibc-functions/stpncpy.texi.
43373         * doc/posix-functions/strcasecmp_l.texi: Renamed from
43374         doc/glibc-functions/strcasecmp_l.texi.
43375         * doc/posix-functions/strcoll_l.texi: Renamed from
43376         doc/glibc-functions/strcoll_l.texi.
43377         * doc/posix-functions/strfmon_l.texi: Renamed from
43378         doc/glibc-functions/strfmon_l.texi.
43379         * doc/posix-functions/strftime_l.texi: Renamed from
43380         doc/glibc-functions/strftime_l.texi.
43381         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43382         doc/glibc-functions/strncasecmp_l.texi.
43383         * doc/posix-functions/strndup.texi: Renamed from
43384         doc/glibc-functions/strndup.texi.
43385         * doc/posix-functions/strnlen.texi: Renamed from
43386         doc/glibc-functions/strnlen.texi.
43387         * doc/posix-functions/strsignal.texi: Renamed from
43388         doc/glibc-functions/strsignal.texi.
43389         * doc/posix-functions/strxfrm_l.texi: Renamed from
43390         doc/glibc-functions/strxfrm_l.texi.
43391         * doc/posix-functions/timer_gettime.texi: Renamed from
43392         doc/glibc-functions/timer_gettime.texi.
43393         * doc/posix-functions/tolower_l.texi: Renamed from
43394         doc/glibc-functions/tolower_l.texi.
43395         * doc/posix-functions/toupper_l.texi: Renamed from
43396         doc/glibc-functions/toupper_l.texi.
43397         * doc/posix-functions/towctrans_l.texi: Renamed from
43398         doc/glibc-functions/towctrans_l.texi.
43399         * doc/posix-functions/towlower_l.texi: Renamed from
43400         doc/glibc-functions/towlower_l.texi.
43401         * doc/posix-functions/towupper_l.texi: Renamed from
43402         doc/glibc-functions/towupper_l.texi.
43403         * doc/posix-functions/uselocale.texi: Renamed from
43404         doc/glibc-functions/uselocale.texi.
43405         * doc/posix-functions/vdprintf.texi: Renamed from
43406         doc/glibc-functions/vdprintf.texi.
43407         * doc/posix-functions/wcpcpy.texi:
43408         Renamed from doc/glibc-functions/wcpcpy.texi.
43409         * doc/posix-functions/wcpncpy.texi: Renamed from
43410         doc/glibc-functions/wcpncpy.texi.
43411         * doc/posix-functions/wcscasecmp.texi: Renamed from
43412         doc/glibc-functions/wcscasecmp.texi.
43413         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43414         doc/glibc-functions/wcscasecmp_l.texi.
43415         * doc/posix-functions/wcscoll_l.texi: Renamed from
43416         doc/glibc-functions/wcscoll_l.texi.
43417         * doc/posix-functions/wcsdup.texi: Renamed from
43418         doc/glibc-functions/wcsdup.texi.
43419         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43420         doc/glibc-functions/wcsncasecmp.texi.
43421         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43422         doc/glibc-functions/wcsncasecmp_l.texi.
43423         * doc/posix-functions/wcsnlen.texi: Renamed from
43424         doc/glibc-functions/wcsnlen.texi.
43425         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43426         doc/glibc-functions/wcsnrtombs.texi.
43427         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43428         doc/glibc-functions/wcsxfrm_l.texi.
43429         * doc/posix-functions/wctrans_l.texi: Renamed from
43430         doc/glibc-functions/wctrans_l.texi.
43431         * doc/posix-functions/wctype_l.texi: Renamed from
43432         doc/glibc-functions/wctype_l.texi.
43433         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43434         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43435         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43436         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43437         these subsections.
43438         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43439         Remove sections.
43440
43441 2008-12-14  Bruno Haible  <bruno@clisp.org>
43442
43443         Update doc for POSIX:2008.
43444         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43445
43446 2008-12-14  Bruno Haible  <bruno@clisp.org>
43447
43448         Update doc for POSIX:2008.
43449         * doc/pastposix-functions/bcmp.texi: Renamed from
43450         doc/posix-functions/bcmp.texi.
43451         * doc/pastposix-functions/bcopy.texi: Renamed from
43452         doc/posix-functions/bcopy.texi.
43453         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43454         doc/posix-functions/bsd_signal.texi.
43455         * doc/pastposix-functions/bzero.texi: Renamed from
43456         doc/posix-functions/bzero.texi.
43457         * doc/pastposix-functions/ecvt.texi: Renamed from
43458         doc/posix-functions/ecvt.texi.
43459         * doc/pastposix-functions/fcvt.texi: Renamed from
43460         doc/posix-functions/fcvt.texi.
43461         * doc/pastposix-functions/ftime.texi: Renamed from
43462         doc/posix-functions/ftime.texi.
43463         * doc/pastposix-functions/gcvt.texi: Renamed from
43464         doc/posix-functions/gcvt.texi.
43465         * doc/pastposix-functions/getcontext.texi: Renamed from
43466         doc/posix-functions/getcontext.texi.
43467         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43468         doc/posix-functions/gethostbyaddr.texi.
43469         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43470         doc/posix-functions/gethostbyname.texi.
43471         * doc/pastposix-functions/getwd.texi: Renamed from
43472         doc/posix-functions/getwd.texi.
43473         * doc/pastposix-functions/h_errno.texi: Renamed from
43474         doc/posix-functions/h_errno.texi.
43475         * doc/pastposix-functions/index.texi: Renamed from
43476         doc/posix-functions/index.texi.
43477         * doc/pastposix-functions/makecontext.texi: Renamed from
43478         doc/posix-functions/makecontext.texi.
43479         * doc/pastposix-functions/mktemp.texi: Renamed from
43480         doc/posix-functions/mktemp.texi.
43481         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43482         doc/posix-functions/pthread_attr_getstackaddr.texi.
43483         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43484         doc/posix-functions/pthread_attr_setstackaddr.texi.
43485         * doc/pastposix-functions/rindex.texi: Renamed from
43486         doc/posix-functions/rindex.texi.
43487         * doc/pastposix-functions/scalb.texi: Renamed from
43488         doc/posix-functions/scalb.texi.
43489         * doc/pastposix-functions/setcontext.texi: Renamed from
43490         doc/posix-functions/setcontext.texi.
43491         * doc/pastposix-functions/swapcontext.texi: Renamed from
43492         doc/posix-functions/swapcontext.texi.
43493         * doc/pastposix-functions/ualarm.texi: Renamed from
43494         doc/posix-functions/ualarm.texi.
43495         * doc/pastposix-functions/usleep.texi: Renamed from
43496         doc/posix-functions/usleep.texi.
43497         * doc/pastposix-functions/vfork.texi: Renamed from
43498         doc/posix-functions/vfork.texi.
43499         * doc/pastposix-functions/wcswcs.texi: Renamed from
43500         doc/posix-functions/wcswcs.texi.
43501         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43502         (Function Substitutes): Update.
43503
43504 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43505
43506         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43507         m4/strerror.m4.
43508
43509 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43510             Bruno Haible  <bruno@clisp.org>
43511
43512         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43513
43514 2008-12-13  Bruno Haible  <bruno@clisp.org>
43515
43516         * modules/strtoull (Depends-on): Remove unistd.
43517
43518 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43519
43520         * modules/strtoull (Depends-on): Add stdlib.
43521
43522 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43523
43524         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43525
43526 2008-12-10  Jim Meyering  <meyering@redhat.com>
43527
43528         gl_ASSERT: don't say assertions are disabled when they're not
43529         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43530         "checking whether to enable assertions... no", when they are in
43531         fact enabled.  This is solely a bug in the output of configure.
43532         In spite of saying "no", NDEBUG was not defined in that case.
43533         Also, as noted by Eric Blake, leave assertions enabled upon
43534         --enable-assert=INVALID.
43535
43536 2008-12-10  Bruno Haible  <bruno@clisp.org>
43537
43538         Change MODULES.html to refer to POSIX:2008 where possible.
43539         * MODULES.html.sh (POSIX2008_URL): New variable.
43540         (posix_headers): Remove sys/timeb, ucontext.
43541         (posix2001_headers): New variable.
43542         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43543         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43544         index, makecontext, mktemp, pthread_attr_getstackaddr,
43545         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43546         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43547         (posix2001_functions): New variable.
43548         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43549         otherwise.
43550
43551 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43552
43553         add missing include to parse-duration.c
43554         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43555         * modules/parse-duration (Depends-on): Add xalloc.
43556
43557         fix sed script reading maint.mk
43558         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43559         (syntax-check-rules): Use it.
43560
43561 2008-12-09  Bruno Haible  <bruno@clisp.org>
43562
43563         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43564         MacOS X 10.4/PowerPC.
43565         Reported by Simon Josefsson.
43566
43567 2008-12-08  Jim Meyering  <meyering@redhat.com>
43568
43569         work around mingw's lack of some S_IF definitions
43570         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43571         Reported by Simon Josefsson.
43572
43573 2008-12-08  Bruno Haible  <bruno@clisp.org>
43574
43575         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43576         applied to variables. Needed on MacOS X 10.4/PowerPC.
43577         Reported by Simon Josefsson.
43578
43579 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43580         and Eric Blake  <ebb9@byu.net>
43581
43582         assert: honor --enable-assert
43583         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43584         order to honor --enable-assert, rather than treating it as a
43585         synonym for --disable-assert.
43586
43587 2008-12-08  Jim Meyering  <meyering@redhat.com>
43588
43589         * lib/posixtm.c: Remove now-useless declaration of mktime.
43590
43591         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43592
43593 2008-12-07  Bruno Haible  <bruno@clisp.org>
43594
43595         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43596         test_once): Mark functions as static.
43597         * tests/test-tls.c (test_tls): Likewise.
43598
43599 2008-12-07  Bruno Haible  <bruno@clisp.org>
43600
43601         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43602         iconv_register_autodetect.
43603
43604 2008-12-07  Jim Meyering  <meyering@redhat.com>
43605
43606         posixtm.c: avoid a warning
43607         * lib/posixtm.c (posixtime): Don't initialize tm0.
43608         It's no longer needed to placate gcc4's -Wuninitialized,
43609         and the attempt to placate would elicit a new warning.
43610
43611         unicodeio.c: mark unused parameters
43612         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43613         (fallback_failure_callback): Likewise.
43614
43615 2008-12-07  Bruno Haible  <bruno@clisp.org>
43616
43617         * gnulib-tool (func_create_testdir): When building the tests
43618         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43619         Reported by Simon Josefsson.
43620
43621 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43622
43623         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43624
43625 2008-12-06  Bruno Haible  <bruno@clisp.org>
43626
43627         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43628         Suggested by Eric Blake.
43629
43630 2008-12-06  Bruno Haible  <bruno@clisp.org>
43631
43632         Fix a c-stack test failure on MacOS X.
43633         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43634         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43635         handler for SIGBUS as well.
43636         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43637         install a signal handler for SIGBUS as well.
43638         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43639
43640 2008-12-06  Bruno Haible  <bruno@clisp.org>
43641
43642         Advocacy documentation.
43643         * doc/gnulib-intro.texi (Benefits): New section.
43644         * doc/gnulib.texi: Update.
43645
43646 2008-12-06  Bruno Haible  <bruno@clisp.org>
43647
43648         Document the 'manywarnings' module.
43649         * doc/manywarnings.texi: New file.
43650         * doc/gnulib.texi: Include it.
43651
43652 2008-12-05  Eric Blake  <ebb9@byu.net>
43653
43654         tests: silence some gcc warnings
43655         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43656         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43657         type mismatches.
43658
43659 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43660             Bruno Haible  <bruno@clisp.org>
43661
43662         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43663
43664 2008-11-29  Jim Meyering  <meyering@redhat.com>
43665
43666         unicodeio.c: mark unused parameters
43667         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43668         (fallback_failure_callback): Likewise.
43669
43670         fts: fix a thinko
43671         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43672         (set_stat_type): Return S_IF*-valued "type" directly.
43673         Prompted by James Youngman's spotting a related bug.
43674         Confirmed by further testing through find.
43675
43676         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43677         * lib/fts.c (D_TYPE): Define.
43678         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43679         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43680         (s_ifmt_shift_bits): New function.
43681         (set_stat_type): New function.
43682         (fts_build): When not calling fts_stat, call set_stat_type
43683         to propagate dirent.d_type info to fts_read caller.
43684         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43685         fts_statp->st_mode type information may be valid.
43686
43687 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43688
43689         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43690         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43691         <sds@gnu.org>.
43692
43693 2008-11-20  Bruno Haible  <bruno@clisp.org>
43694
43695         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43696         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43697         INCLUDE_NEXT.
43698         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43699         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43700         * modules/math (Makefile.am): Substitute
43701         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43702         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43703
43704 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43705             Bruno Haible  <bruno@clisp.org>
43706
43707         * lib/stdint.in.h: Define all type macros so that their expansion is
43708         a single typedef'ed token. Fixes a compilation failure in Boost which
43709         does "using ::int8_t;".
43710
43711 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43712
43713         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43714         gl_MANYWARN_ALL_GCC.
43715         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43716         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43717         * modules/manywarnings: New file.
43718         * MODULES.html.sh: Mention manywarnings module.
43719
43720 2008-11-18  Bruno Haible  <bruno@clisp.org>
43721
43722         * doc/gnulib-tool.texi (Unit tests): New section.
43723
43724 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43725
43726         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43727         paths like 'lib/po/foo.po'.
43728
43729 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43730
43731         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43732         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43733
43734 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43735
43736         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43737         parameter works.
43738
43739 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43740
43741         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43742
43743 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43744
43745         * modules/parse-duration-tests: New file.
43746         * tests/test-parse-duration.sh: New file.
43747         * tests/test-parse-duration.c: New file.
43748
43749         New module 'parse-duration'.
43750         * lib/parse-duration.h: New file.
43751         * lib/parse-duration.c: New file.
43752         * modules/parse-duration: New file.
43753
43754 2008-11-17  Bruno Haible  <bruno@clisp.org>
43755
43756         * tests/test-select-out.sh: Comment out the first pipe test.
43757         Reported by Simon Josefsson.
43758
43759 2008-11-17  Bruno Haible  <bruno@clisp.org>
43760
43761         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43762         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43763         gl_HOSTENT.
43764
43765 2008-11-17  Bruno Haible  <bruno@clisp.org>
43766
43767         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43768         -lnetwork and -lnet. Needed for Haiku and BeOS.
43769
43770 2008-11-16  Bruno Haible  <bruno@clisp.org>
43771
43772         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43773
43774 2008-11-16  Bruno Haible  <bruno@clisp.org>
43775
43776         Avoid test failure on Haiku.
43777         * tests/test-fsync.c: Include <errno.h>.
43778         (main): Don't require that fsync (0) fails.
43779
43780 2008-11-15  Bruno Haible  <bruno@clisp.org>
43781
43782         New module 'hostent'.
43783         * modules/hostent: New file.
43784         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43785
43786 2008-11-15  Bruno Haible  <bruno@clisp.org>
43787
43788         New module 'servent'.
43789         * modules/servent: New file.
43790         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43791
43792 2008-11-15  Bruno Haible  <bruno@clisp.org>
43793
43794         Avoid generating same test program with two different rules.
43795         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
43796         test-frexp to test-frexp-nolibm.
43797         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
43798         test-frexpl to test-frexpl-nolibm.
43799
43800 2008-11-15  Bruno Haible  <bruno@clisp.org>
43801
43802         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
43803         $(FREXPL_LIBM).
43804
43805 2008-11-15  Bruno Haible  <bruno@clisp.org>
43806
43807         * lib/netdb.in.h: Activate the definitions also when the system's
43808         <netdb.h> has 'struct addrinfo'.
43809         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
43810         EAI_OVERFLOW or AI_NUMERICSERV.
43811         * doc/posix-headers/netdb.texi: Document the problem.
43812
43813 2008-11-15  Bruno Haible  <bruno@clisp.org>
43814
43815         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
43816
43817         Make the 'sched' module work on platforms where <sched.h> exists but
43818         is incomplete (such as Haiku).
43819         * lib/sched.in.h; Include the system's <sched.h> if it exists.
43820         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
43821         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
43822         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
43823         HAVE_STRUCT_SCHED_PARAM.
43824         * modules/sched (Depends-on): Add include_next.
43825         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
43826         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
43827         * doc/posix-headers/sched.texi: Document the issue.
43828
43829 2008-11-13  Jim Meyering  <meyering@redhat.com>
43830
43831         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
43832         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
43833         test would fail due to the difference in the Report bugs to ...
43834         line.  The expected address is empty, "<>", while the actual
43835         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
43836
43837 2008-11-12  Bruno Haible  <bruno@clisp.org>
43838
43839         lstat: don't compile lstat.c on systems lacking lstat
43840         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
43841         which don't have lstat; this is handled by lib/sys_stat.in.h already.
43842         Reported by Daniel P. Berrange via Jim Meyering.
43843
43844 2008-11-12  Jim Meyering  <meyering@redhat.com>
43845
43846         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
43847
43848 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43849
43850         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
43851         instead.
43852
43853 2008-11-12  Bruno Haible  <bruno@clisp.org>
43854
43855         * lib/unicodeio.c: Include unistr.h.
43856         (utf8_wctomb): Remove function.
43857         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
43858
43859 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43860
43861         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
43862         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
43863         <bruno@clisp.org>.
43864         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
43865
43866 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43867
43868         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
43869         * doc/gnulib.texi: Add section for warnings.
43870
43871 2008-11-11  Bruno Haible  <bruno@clisp.org>
43872
43873         * lib/sockets.h: Add a comment.
43874
43875 2008-11-11  Karl Berry  <karl@gnu.org>
43876
43877         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
43878
43879 2008-11-11  Eric Blake  <ebb9@byu.net>
43880
43881         fdl.texi: avoid git symlinks
43882         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
43883
43884 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43885
43886         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
43887
43888 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43889
43890         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
43891         (gl_WARN_ADD): Substitute $2 if literal.
43892
43893 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43894
43895         * m4/warning.m4: Remove.
43896
43897 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43898
43899         * m4/warnings.m4: Almost complete rewrite. :-)
43900
43901 2008-11-10  Simon Josefsson  <simon@josefsson.org>
43902
43903         * modules/warnings: New module.
43904         * m4/warnings.m4: New file.
43905         * MODULES.html.sh: Mention warnings module.
43906         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
43907         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43908
43909 2008-11-10  Eric Blake  <ebb9@byu.net>
43910
43911         fdl.texi: make a symlink to the latest version
43912         * doc/standards.texi: Revert today's earlier change.
43913         * doc/fdl-1.2.texi: Rename from old fdl.texi...
43914         * doc/fdl.texi: ...and replace this with a symlink to the newer
43915         fdl-1.3.texi.
43916
43917 2008-11-10  Bruno Haible  <bruno@clisp.org>
43918
43919         * tests/test-select-fd.c (main): Accept the result file name as fourth
43920         argument.
43921         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
43922         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
43923
43924 2008-11-10  Bruno Haible  <bruno@clisp.org>
43925
43926         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
43927         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
43928         as autoconf-substituted macros.
43929         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
43930         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
43931         gl_NETDB_H_DEFAULTS. Set these variables.
43932         * modules/netdb (Makefile.am): Substitute these variables.
43933
43934 2008-11-10  Eric Blake  <ebb9@byu.net>
43935
43936         standards.texi: include correct file for FDL 1.3
43937         * doc/standards.texi (GNU Free Documentation License): Change
43938         include file to pull in FDL 1.3, not 1.2.
43939
43940         fdl.texi: revert accidental change to license
43941         * doc/fdl.texi: This is FDL 1.2, not 1.3.
43942
43943 2008-11-10  Bruno Haible  <bruno@clisp.org>
43944
43945         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
43946         cross-compiling guesses also when the native compile gives no result.
43947
43948 2008-11-10  Bruno Haible  <bruno@clisp.org>
43949
43950         * lib/spawni.c (__spawni): Force variable into the stack.
43951
43952 2008-11-10  Bruno Haible  <bruno@clisp.org>
43953
43954         Add support for Haiku.
43955         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
43956         glibc and BeOS, but also on Haiku.
43957         * lib/fpurge.c (fpurge): Likewise.
43958         * lib/freadable.c (freadable): Likewise.
43959         * lib/freadahead.c (freadahead): Likewise.
43960         * lib/freading.c (freading): Likewise.
43961         * lib/freadptr.c (freadptr): Likewise.
43962         * lib/freadseek.c (freadptrinc): Likewise.
43963         * lib/fseeko.c (rpl_fseeko): Likewise.
43964         * lib/fseterr.c (fseterr): Likewise.
43965         * lib/fwritable.c (fwritable): Likewise.
43966         * lib/fwriting.c (fwriting): Likewise.
43967         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
43968
43969 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43970
43971         * lib/config.charset: Treat Haiku like BeOS.
43972
43973 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43974
43975         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
43976         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
43977
43978 2008-11-08  Bruno Haible  <bruno@clisp.org>
43979
43980         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
43981         AC_CACHE_CHECK.
43982
43983 2008-11-08  Bruno Haible  <bruno@clisp.org>
43984
43985         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
43986
43987 2008-11-08  Bruno Haible  <bruno@clisp.org>
43988
43989         * tests/test-select-fd.c: New file.
43990         * tests/test-select-in.sh: New file.
43991         * tests/test-select-out.sh: New file.
43992         * tests/test-select-stdin.c: New file.
43993         * modules/select-tests (Files): Add the new files.
43994         (Depends-on): Add gettimeofday.
43995         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
43996         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
43997         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
43998
43999 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
44000             Bruno Haible  <bruno@clisp.org>
44001
44002         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
44003
44004 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
44005
44006         * build-aux/pmccabe2html: Added support for C++ source files.
44007
44008 2008-11-05  Ben Pfaff  <blp@gnu.org>
44009
44010         Fix lib/close.c build on Windows.
44011         * modules/close (Files): Add lib/w32sock.h.
44012
44013 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
44014
44015         Accept Bison's NEWS format.
44016         * build-aux/announce-gen (print_news_deltas): Tweak
44017         $re_prefix.
44018
44019 2008-11-04  Bruno Haible  <bruno@clisp.org>
44020
44021         * modules/random_r (Maintainer): Add glibc.
44022
44023 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44024
44025         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
44026         by karl@freefriends.org (Karl Berry).
44027         * doc/alloca.texi: Likewise.
44028         * doc/c-ctype.texi: Likewise.
44029         * doc/c-strcase.texi: Likewise.
44030         * doc/c-strcaseeq.texi: Likewise.
44031         * doc/c-strcasestr.texi: Likewise.
44032         * doc/c-strstr.texi: Likewise.
44033         * doc/c-strtod.texi: Likewise.
44034         * doc/c-strtold.texi: Likewise.
44035         * doc/ctime.texi: Likewise.
44036         * doc/error.texi: Likewise.
44037         * doc/fdl.texi: Likewise.
44038         * doc/gcd.texi: Likewise.
44039         * doc/getdate.texi: Likewise.
44040         * doc/gnulib-intro.texi: Likewise.
44041         * doc/gnulib-tool.texi: Likewise.
44042         * doc/gnulib.texi: Likewise.
44043         * doc/inet_ntoa.texi: Likewise.
44044         * doc/maintain.texi: Likewise.
44045         * doc/make-stds.texi: Likewise.
44046         * doc/quote.texi: Likewise.
44047         * doc/regexprops-generic.texi: Likewise.
44048         * doc/standards.texi: Likewise.
44049         * doc/verify.texi: Likewise.
44050         * doc/visibility.texi: Likewise.
44051         * doc/gnulib.texi (GNU Free Documentation License): Include
44052         fdl-1.3.texi instead of fdl.texi.
44053
44054 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44055
44056         * doc/fdl-1.3.texi: New file, from
44057         <http://www.gnu.org/licenses/fdl-1.3.texi>.
44058         * modules/fdl-1.3: Add.
44059         * MODULES.html.sh: Add fdl-1.3.
44060
44061 2008-11-03  Bruno Haible  <bruno@clisp.org>
44062
44063         Make determination of absolute name of header file work with AIX xlc.
44064         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
44065         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
44066         preprocessing.
44067         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44068         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
44069
44070 2008-11-03  Simon Josefsson  <simon@josefsson.org>
44071
44072         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
44073         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
44074         <ludo@gnu.org>.
44075
44076 2008-11-02  Bruno Haible  <bruno@clisp.org>
44077
44078         Mark 'strpbrk' obsolete.
44079         * modules/strpbrk (Status, Notice): New sections.
44080         * modules/strtok_r (Depends-on): Add strpbrk.
44081
44082 2008-11-02  Bruno Haible  <bruno@clisp.org>
44083
44084         Mark 'strdup' obsolete.
44085         * modules/strdup (Status, Notice): New sections.
44086         * modules/findprog (Depends-on): Add strdup.
44087         * modules/getaddrinfo (Depends-on): Likewise.
44088         * modules/localename (Depends-on): Likewise.
44089         * modules/relocatable-lib (Depends-on): Likewise.
44090         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
44091         * modules/relocatable-prog (Depends-on): Likewise.
44092         * modules/trim (Depends-on): Likewise.
44093         * modules/unictype/gen-ctype (Depends-on): Likewise.
44094         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44095
44096 2008-11-02  Bruno Haible  <bruno@clisp.org>
44097
44098         Mark 'strcspn' obsolete.
44099         * modules/strcspn (Status, Notice): New sections.
44100
44101 2008-11-02  Bruno Haible  <bruno@clisp.org>
44102
44103         Mark 'rmdir' obsolete.
44104         * modules/rmdir (Status, Notice): New sections.
44105         * modules/clean-temp (Depends-on): Add rmdir.
44106         * modules/openat (Depends-on): Likewise.
44107
44108 2008-11-02  Bruno Haible  <bruno@clisp.org>
44109
44110         Mark 'raise' obsolete.
44111         * modules/raise (Status, Notice): New sections.
44112         (Include): Specify <signal.h>.
44113         * modules/stdio (Depends-on): Add raise.
44114         * modules/write (Depends-on): Likewise.
44115
44116 2008-11-02  Bruno Haible  <bruno@clisp.org>
44117
44118         Mark 'memset' obsolete.
44119         * modules/memset (Status, Notice): New sections.
44120
44121 2008-11-02  Bruno Haible  <bruno@clisp.org>
44122
44123         Mark 'memmove' obsolete.
44124         * modules/memmove (Status, Notice): New sections.
44125         * modules/argp (Depends-on): Add memmove.
44126         * modules/argz (Depends-on): Likewise.
44127         * modules/canonicalize (Depends-on): Likewise.
44128         * modules/canonicalize-lgpl (Depends-on): Likewise.
44129         * modules/fts (Depends-on): Likewise.
44130         * modules/getcwd (Depends-on): Likewise.
44131         * modules/human (Depends-on): Likewise.
44132         * modules/regex (Depends-on): Likewise.
44133         * modules/striconveh (Depends-on): Likewise.
44134         * modules/trim (Depends-on): Likewise.
44135         * modules/unistr/u8-move (Depends-on): Likewise.
44136         * modules/unistr/u16-move (Depends-on): Likewise.
44137         * modules/unistr/u32-move (Depends-on): Likewise.
44138
44139 2008-11-02  Bruno Haible  <bruno@clisp.org>
44140
44141         Mark 'memcpy' obsolete.
44142         * modules/memcpy (Status, Notice): New sections.
44143
44144 2008-11-02  Bruno Haible  <bruno@clisp.org>
44145
44146         Mark 'memcmp' obsolete.
44147         * modules/memcmp (Status, Notice): New sections.
44148         * modules/argmatch (Depends-on): Add memchr.
44149         * modules/backupfile (Depends-on): Likewise.
44150         * modules/c-strcasestr (Depends-on): Likewise.
44151         * modules/crypto/des (Depends-on): Likewise.
44152         * modules/csharpcomp (Depends-on): Likewise.
44153         * modules/fnmatch (Depends-on): Likewise.
44154         * modules/git-merge-changelog (Depends-on): Likewise.
44155         * modules/isnand (Depends-on): Likewise.
44156         * modules/isnand-nolibm (Depends-on): Likewise.
44157         * modules/isnanf (Depends-on): Likewise.
44158         * modules/isnanf-nolibm (Depends-on): Likewise.
44159         * modules/isnanl (Depends-on): Likewise.
44160         * modules/isnanl-nolibm (Depends-on): Likewise.
44161         * modules/mbchar (Depends-on): Likewise.
44162         * modules/memcoll (Depends-on): Likewise.
44163         * modules/quotearg (Depends-on): Likewise.
44164         * modules/regex (Depends-on): Likewise.
44165         * modules/relocatable-prog (Depends-on): Likewise.
44166         * modules/same (Depends-on): Likewise.
44167         * modules/signbit (Depends-on): Likewise.
44168         * modules/strcasestr-simple (Depends-on): Likewise.
44169         * modules/unictype/gen-ctype (Depends-on): Likewise.
44170         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44171         * modules/uniname/uniname (Depends-on): Likewise.
44172         * modules/unistr/u8-cmp (Depends-on): Likewise.
44173
44174 2008-11-02  Bruno Haible  <bruno@clisp.org>
44175
44176         Mark 'memchr' obsolete.
44177         * modules/memchr (Status, Notice): New sections.
44178         * modules/argp (Depends-on): Add memchr.
44179         * modules/base64 (Depends-on): Likewise.
44180         * modules/c-strcasestr (Depends-on): Likewise.
44181         * modules/chdir-long (Depends-on): Likewise.
44182         * modules/fnmatch (Depends-on): Likewise.
44183         * modules/getsubopt (Depends-on): Likewise.
44184         * modules/git-merge-changelog (Depends-on): Likewise.
44185         * modules/glob (Depends-on): Likewise.
44186         * modules/strcasestr-simple (Depends-on): Likewise.
44187         * modules/strnlen (Depends-on): Likewise.
44188
44189 2008-11-02  Bruno Haible  <bruno@clisp.org>
44190
44191         Mark 'atexit' obsolete.
44192         * modules/atexit (Status, Notice): New sections.
44193         * modules/chdir-long (Depends-on): Add atexit.
44194         * modules/wait-process (Depends-on): Likewise.
44195
44196 2008-11-02  Bruno Haible  <bruno@clisp.org>
44197
44198         * gnulib-tool: New option --with-obsolete.
44199         (func_usage): Document it.
44200         (func_modules_transitive_closure): Drop obsolete dependencies if
44201         incobsolete is not true.
44202         (func_import): Read and save the incobsolete variable to the cache.
44203
44204 2008-11-02  Bruno Haible  <bruno@clisp.org>
44205
44206         * modules/TEMPLATE-EXTENDED: New field 'Status'.
44207         * gnulib-tool: New option --extract-status.
44208         (func_usage): Document it.
44209         (sed_extract_prog): Recognize it.
44210         (func_get_status): New function.
44211
44212 2008-10-30  Simon Josefsson  <simon@josefsson.org>
44213
44214         * modules/sockets (License): Change from LGPL to LGPLv2+.
44215
44216 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44217
44218         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
44219
44220 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44221
44222         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44223         Mention times and sys_times.
44224         * modules/sys_times, modules/sys_times-tests: New modules.
44225         * modules/times, modules/times-tests: Likewise
44226         * m4/sys_times_h.m4: New file.
44227         * lib/sys_times.in.h: Likewise
44228         * lib/times.c: Likewise.
44229         * tests/test-sys_times.c: Likewise.
44230         * tests/test-times.c: Likewise.
44231         * doc/posix-headers/sys_times.texi: Update.
44232         * doc/posix-functions/times.texi: Update.
44233
44234 2008-10-28  Jim Meyering  <meyering@redhat.com>
44235
44236         * modules/tempname (Depends-on): Add lstat.
44237
44238         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
44239
44240 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44241
44242         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
44243         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
44244         using idiom used elsewhere in gnulib.
44245
44246 2008-10-27  Jim Meyering  <meyering@redhat.com>
44247
44248         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
44249
44250 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44251
44252         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
44253         TESTS_ENVIRONMENT, for shell scripts that needs to call built
44254         programs.
44255         * tests/test-argp-2.sh: Use $EXEEXT when needed.
44256
44257 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44258
44259         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
44260
44261 2008-10-27  Bruno Haible  <bruno@clisp.org>
44262
44263         * tests/test-lstat.c: Include <stdio.h>.
44264
44265 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44266
44267         * modules/lstat-tests: New module.
44268         * tests/test-lstat.c: New file.
44269
44270 2008-10-26  Jim Meyering  <meyering@redhat.com>
44271
44272         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
44273
44274 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44275             Bruno Haible  <bruno@clisp.org>
44276
44277         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
44278         * modules/configmake (Include): Add a note that the include must come
44279         after all system headers.
44280         * lib/javaversion.c: Include configmake.h after all other includes.
44281
44282 2008-10-26  Bruno Haible  <bruno@clisp.org>
44283
44284         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
44285         HAVE_STRUCT_RANDOM_DATA to 1.
44286         (gl_STDLIB_H): Simplify.
44287
44288 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44289
44290         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
44291         substitute HAVE_STRUCT_RANDOM_DATA.
44292         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
44293         random_data.
44294         * modules/stdlib (Makefile.am): Substitute
44295         HAVE_STRUCT_RANDOM_DATA.
44296
44297 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44298
44299         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
44300         * doc/gnulib-intro.texi (Copyright): Likewise.
44301
44302 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44303
44304         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
44305         findings.
44306
44307 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
44308             Bruno Haible  <bruno@clisp.org>
44309
44310         * lib/unistd.in.h: Include <winsock2.h>.
44311         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
44312         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
44313         Provide dummy declarations.
44314         (gethostname): Override.
44315         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
44316         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
44317         gl_PREREQ_SYS_H_WINSOCK2.
44318         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
44319         * doc/posix-functions/gethostname.texi: More details.
44320
44321 2008-10-25  Bruno Haible  <bruno@clisp.org>
44322
44323         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44324         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
44325         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
44326
44327         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
44328         here ...
44329         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
44330         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
44331         gl_UNISTD_H_DEFAULTS.
44332
44333 2008-10-25  Eric Blake  <ebb9@byu.net>
44334
44335         signbit: avoid spurious compiler failure
44336         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
44337         declarations inside function.
44338
44339 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44340             Bruno Haible  <bruno@clisp.org>
44341
44342         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
44343         * modules/random_r (Depends-on): Add stdint.
44344
44345 2008-10-24  Bruno Haible  <bruno@clisp.org>
44346
44347         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
44348         Eggert.
44349         * modules/strerror (License): Likewise.
44350
44351 2008-10-24  Jim Meyering  <meyering@redhat.com>
44352
44353         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
44354         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
44355
44356 2008-10-24  Eric Blake  <ebb9@byu.net>
44357
44358         getgroups: fix compilation when getgroups is available
44359         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
44360         but with <config.h> override of getgroups disabled.
44361
44362 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44363
44364         * doc/gnulib.texi (Header files): Add note about C++ problems.
44365         Explained by Bruno Haible <bruno@clisp.org>.
44366
44367 2008-10-23  Bruno Haible  <bruno@clisp.org>
44368
44369         Define a dummy SA_NODEFER macro on Interix.
44370         * lib/signal.in.h (SA_NODEFER): Define fallback.
44371         Reported by Aleksey Cheusov <cheusov@tut.by> via
44372         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
44373
44374 2008-10-23  Bruno Haible  <bruno@clisp.org>
44375
44376         * modules/freadahead (License): Change to LGPLv2+.
44377         Suggested by Simon Josefsson.
44378
44379 2008-10-23  Jim Meyering  <meyering@redhat.com>
44380
44381         random_r: new module
44382         * modules/random_r: New file.
44383         * m4/random_r.m4: New file.
44384         * lib/random_r.c: New file, from glibc.
44385         * modules/random_r-tests: New file.
44386         * tests/test-random_r.c: New file.
44387         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44388          Declare.
44389         (RAND_MAX): Define.
44390         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44391         * modules/stdlib: Substitute them, too.
44392         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44393         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44394         * doc/glibc-functions/random_r.texi: Likewise.
44395         * doc/glibc-functions/setstate_r.texi: Likewise.
44396         * doc/glibc-functions/srandom_r.texi: Likewise.
44397         * config/srclist.txt: Mention it.
44398
44399 2008-10-23  David Lutterkort  <lutter@redhat.com>
44400
44401         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44402         link requirement
44403
44404 2008-10-23  Jim Meyering  <meyering@redhat.com>
44405
44406         selinux-h: mark parameters of stub functions as intentionally unused
44407         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44408         * lib/se-context.in.h: Likewise.
44409
44410 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44411
44412         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44413
44414 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44415
44416         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44417
44418 2008-10-22  Eric Blake  <ebb9@byu.net>
44419
44420         glthread/thread: avoid compiler warning
44421         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44422         Add unreachable abort to silence compiler.
44423
44424 2008-10-22  Eric Blake  <ebb9@byu.net>
44425
44426         netdb: also supply struct addrinfo for cygwin 1.5.x
44427         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44428         older cygwin.
44429         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44430         cygwin.
44431         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44432
44433 2008-10-22  Bruno Haible  <bruno@clisp.org>
44434
44435         * users.txt: Update entry about pspp.
44436
44437 2008-10-21  Bruno Haible  <bruno@clisp.org>
44438
44439         Simplification.
44440         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44441         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44442
44443         Simplification.
44444         * lib/ioctl.c (ioctl): Don't undefine.
44445         * lib/socket.c (socket): Don't undefine.
44446
44447         Remove unused module indicator macros.
44448         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44449         GNULIB_$1 as a C macro.
44450
44451         * doc/posix-functions/close.texi: Undo last change.
44452         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44453         Windows platforms.
44454
44455 2008-10-21  Bruno Haible  <bruno@clisp.org>
44456
44457         Add gethostname() declaration to <unistd.h>.
44458         * lib/unistd.in.h (gethostname): New declaration.
44459         * lib/gethostname.c: Include <unistd.h>.
44460         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44461         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44463         and HAVE_GETHOSTNAME.
44464         * modules/gethostname (Depends-on): Add unistd.
44465         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44466         (Include): Specify <unistd.h>.
44467         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44468         HAVE_GETHOSTNAME.
44469         * tests/test-gethostname.c: Include <unistd.h> first.
44470
44471 2008-10-21  Bruno Haible  <bruno@clisp.org>
44472
44473         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44474         * modules/select-tests (Depends-on): Likewise.
44475         Reported by Simon Josefsson.
44476
44477 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44478
44479         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44480         * lib/accept.c: New file, based on winsock.c.
44481         * lib/bind.c: New file, based on winsock.c.
44482         * lib/connect.c: New file, based on winsock.c.
44483         * lib/getpeername.c: New file, based on winsock.c.
44484         * lib/getsockname.c: New file, based on winsock.c.
44485         * lib/getsockopt.c: New file, based on winsock.c.
44486         * lib/ioctl.c: New file, based on winsock.c.
44487         * lib/listen.c: New file, based on winsock.c.
44488         * lib/recv.c: New file, based on winsock.c.
44489         * lib/recvfrom.c: New file, based on winsock.c.
44490         * lib/send.c: New file, based on winsock.c.
44491         * lib/sendto.c: New file, based on winsock.c.
44492         * lib/setsockopt.c: New file, based on winsock.c.
44493         * lib/shutdown.c: New file, based on winsock.c.
44494         * lib/socket.c: New file, based on winsock.c.
44495         * lib/w32sock.h: New file, based on winsock.c.
44496         * lib/winsock.c: Remove file.
44497         * modules/accept: Likewise.
44498         * modules/bind: Likewise.
44499         * modules/connect: Likewise.
44500         * modules/getpeername: Likewise.
44501         * modules/getsockname: Likewise.
44502         * modules/getsockopt: Likewise.
44503         * modules/ioctl: Likewise.
44504         * modules/listen: Likewise.
44505         * modules/recv: Likewise.
44506         * modules/recvfrom: Likewise.
44507         * modules/send: Likewise.
44508         * modules/sendto: Likewise.
44509         * modules/setsockopt: Likewise.
44510         * modules/shutdown: Likewise.
44511         * modules/socket: Use socket.c instead of winsock.c.
44512         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44513         * doc/posix-functions/accept.texi: Doc fix.
44514         * doc/posix-functions/bind.texi: Doc fix.
44515         * doc/posix-functions/close.texi: Doc fix.
44516         * doc/posix-functions/connect.texi: Doc fix.
44517         * doc/posix-functions/getpeername.texi: Doc fix.
44518         * doc/posix-functions/getsockname.texi: Doc fix.
44519         * doc/posix-functions/getsockopt.texi: Doc fix.
44520         * doc/posix-functions/ioctl.texi: Doc fix.
44521         * doc/posix-functions/listen.texi: Doc fix.
44522         * doc/posix-functions/recv.texi: Doc fix.
44523         * doc/posix-functions/recvfrom.texi: Doc fix.
44524         * doc/posix-functions/send.texi: Doc fix.
44525         * doc/posix-functions/sendto.texi: Doc fix.
44526         * doc/posix-functions/setsockopt.texi: Doc fix.
44527         * doc/posix-functions/shutdown.texi: Doc fix.
44528         * doc/posix-functions/socket.texi: Doc fix.
44529
44530 2008-10-20  Bruno Haible  <bruno@clisp.org>
44531
44532         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44533         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44534         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44535         as an alias for SIGABRT.
44536         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44537         (sigaction): Map it to SIGABRT.
44538         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44539
44540 2008-10-20  Bruno Haible  <bruno@clisp.org>
44541
44542         * lib/fts.c: Don't include lstat.h.
44543         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44544
44545         Move the lstat() declaration to <sys/stat.h>.
44546         * lib/lstat.h: Remove file.
44547         * lib/sys_stat.in.h: Add special invocation convention.
44548         (lstat): New declaration.
44549         * lib/lstat.c (orig_lstat): New function.
44550         (rpl_lstat): Use orig_lstat instead of lstat.
44551         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44552         AC_C_INLINE. Set REPLACE_LSTAT.
44553         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44554         and REPLACE_LSTAT.
44555         * modules/lstat (Files): Remove lib/lstat.h.
44556         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44557         (Include): Specify <sys/stat.h> instead of lstat.h.
44558         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44559         REPLACE_LSTAT.
44560         * NEWS: Mention the change.
44561
44562 2008-10-20  Bruno Haible  <bruno@clisp.org>
44563
44564         * modules/posix_spawn-tests: New file.
44565         * tests/test-posix_spawn3.c: New file.
44566
44567 2008-10-20  Bruno Haible  <bruno@clisp.org>
44568
44569         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44570         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44571         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44572         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44573         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44574
44575 2008-10-20  Bruno Haible  <bruno@clisp.org>
44576
44577         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44578         of posix_spawn on AIX 5.3.
44579
44580 2008-10-20  Bruno Haible  <bruno@clisp.org>
44581
44582         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44583
44584 2008-10-20  Bruno Haible  <bruno@clisp.org>
44585
44586         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44587         of AC_LANG_PROGRAM.
44588
44589 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44590
44591         * lib/netdb.in.h: Don't define GNU specific constants until they
44592         are supported or needed.  Reported by Bruno Haible
44593         <bruno@clisp.org>.
44594
44595 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44596
44597         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44598
44599 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44600
44601         * lib/getaddrinfo.h: Remove file.
44602         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44603         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44604         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44605         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44606         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44607         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44608         * tests/test-getaddrinfo.c: Likewise.
44609         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44610         * NEWS: Mention change.
44611
44612 2008-10-19  Bruno Haible  <bruno@clisp.org>
44613
44614         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44615
44616 2008-10-19  Bruno Haible  <bruno@clisp.org>
44617
44618         * lib/wait-process.c: Include simply <sys/wait.h>.
44619         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44620         WIFSTOPPED): Remove fallback definitions.
44621         * modules/wait-process (Depends-on): Add sys_wait.
44622
44623         New module 'sys_wait'.
44624         * modules/sys_wait: New file.
44625         * lib/sys_wait.in.h: New file, partially copied from
44626         lib/wait-process.c.
44627         * m4/sys_wait_h.m4: New file.
44628         * doc/posix-headers/sys_wait.texi: Mention the new module.
44629
44630 2008-10-19  Bruno Haible  <bruno@clisp.org>
44631
44632         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44633
44634 2008-10-19  Bruno Haible  <bruno@clisp.org>
44635
44636         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44637         * lib/wait-process.c (WAIT_T): Remove type.
44638         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44639         (wait_subprocess): Update.
44640
44641 2008-10-19  Bruno Haible  <bruno@clisp.org>
44642
44643         New module 'atoll'.
44644         * modules/atoll: New file.
44645         * lib/stdlib.in.h (atoll): New declaration.
44646         * lib/atoll.c: New file, from glibc with modifications.
44647         * m4/atoll.m4: New file.
44648         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44649         HAVE_ATOLL.
44650         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44651         * doc/posix-functions/atoll.texi: Mention the new module.
44652
44653 2008-10-19  Bruno Haible  <bruno@clisp.org>
44654
44655         Add strtoull() declaration to <stdlib.h>.
44656         * lib/stdlib.in.h (strtoull): New declaration.
44657         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44658         Set HAVE_STRTOULL.
44659         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44660         HAVE_STRTOULL.
44661         * modules/strtoull (Depends-on): Add stdlib.
44662         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44663         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44664         HAVE_STRTOULL.
44665
44666 2008-10-19  Bruno Haible  <bruno@clisp.org>
44667
44668         Add strtoll() declaration to <stdlib.h>.
44669         * lib/stdlib.in.h (strtoll): New declaration.
44670         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44671         Set HAVE_STRTOLL.
44672         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44673         HAVE_STRTOLL.
44674         * modules/strtoll (Depends-on): Add stdlib.
44675         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44676         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44677
44678 2008-10-19  Bruno Haible  <bruno@clisp.org>
44679
44680         * modules/bcopy (Depends-on): Add strings.
44681         (Include): Specify <strings.h>.
44682
44683 2008-10-19  Bruno Haible  <bruno@clisp.org>
44684
44685         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44686
44687 2008-10-19  Bruno Haible  <bruno@clisp.org>
44688
44689         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44690         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44691         mingw.
44692
44693 2008-10-19  Bruno Haible  <bruno@clisp.org>
44694
44695         * lib/atanl.c: Don't include isnanl.h.
44696         * lib/cosl.c: Likewise.
44697         * lib/ldexpl.c: Likewise.
44698         * lib/logl.c: Likewise.
44699         * lib/sinl.c: Likewise.
44700         * lib/sqrtl.c: Likewise.
44701         * lib/tanl.c: Likewise.
44702
44703         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44704         * lib/isnanf.h: Remove file.
44705         * lib/isnand.h: Remove file.
44706         * lib/isnanl.h: Remove file.
44707         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44708         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44709         macros.
44710         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44711         HAVE_ISNANF, don't define it as a C macro.
44712         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44713         HAVE_ISNAND, don't define it as a C macro.
44714         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44715         HAVE_ISNANL, don't define it as a C macro.
44716         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44717         HAVE_ISNAN[FDL].
44718         * modules/isnanf (Files): Remove lib/isnanf.h.
44719         (Depends-on): Add math.
44720         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44721         (Include): Specify <math.h> instead of isnanf.h.
44722         * modules/isnand (Files): Remove lib/isnand.h.
44723         (Depends-on): Add math.
44724         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44725         (Include): Specify <math.h> instead of isnand.h.
44726         * modules/isnanl (Files): Remove lib/isnanl.h.
44727         (Depends-on): Add math.
44728         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44729         (Include): Specify <math.h> instead of isnanl.h.
44730         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44731         HAVE_ISNAN[FDL].
44732         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44733         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44734         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44735         * NEWS: Mention the change.
44736
44737 2008-10-18  Bruno Haible  <bruno@clisp.org>
44738
44739         Add getusershell(), setusershell(), endusershell() declarations to
44740         <unistd.h>.
44741         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44742         declarations.
44743         * lib/getusershell.c: Include unistd.h.
44744         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44745         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44746         HAVE_GETUSERSHELL.
44747         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44748         and HAVE_GETUSERSHELL.
44749         * modules/getusershell (Depends-on): Add unistd, extensions.
44750         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44751         (Include): Specify <unistd.h>.
44752         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44753         HAVE_GETUSERSHELL.
44754
44755 2008-10-18  Bruno Haible  <bruno@clisp.org>
44756
44757         Add a getloadavg() declaration to <stdlib.h>.
44758         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44759         getloadavg declaration.
44760         (getloadavg): New declaration.
44761         * lib/getloadavg.c: Include <stdlib.h> first.
44762         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44763         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44764         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44765         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44766         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44767         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44768         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44769         (Include): Specify <stdlib.h>.
44770         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44771         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44772
44773 2008-10-18  Bruno Haible  <bruno@clisp.org>
44774
44775         * lib/dirchownmod.c: Don't include lchmod.h.
44776
44777         Move the lchmod() declaration to <sys/stat.h>.
44778         * lib/lchmod.h: Remove file.
44779         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44780         (lchmod): New declaration, moved here from lib/lchown.h.
44781         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44782         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44783         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44784         and HAVE_LCHMOD.
44785         * modules/lchmod (Files): Remove lib/lchmod.h.
44786         (Depends-on): Add sys_stat, extensions.
44787         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44788         (Include): Specify <sys/stat.h> instead of lchmod.h.
44789         * modules/sys_stat (Depends-on): Add link-warning.
44790         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44791         definition of GL_LINK_WARNING.
44792         * NEWS: Mention the change.
44793
44794 2008-10-18  Bruno Haible  <bruno@clisp.org>
44795
44796         * lib/fchdir.c: Don't include dirfd.h.
44797         * lib/fts.c: Likewise.
44798         * lib/getcwd.c: Likewise.
44799         * lib/glob.c: Likewise.
44800
44801         Move the dirfd() declaration to <dirent.h>.
44802         * lib/dirfd.h: Remove file.
44803         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
44804         (dirfd): New declaration.
44805         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
44806         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
44807         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
44808         HAVE_DECL_DIRFD.
44809         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
44810         HAVE_DECL_DIRFD.
44811         * modules/dirfd (Files): Remove lib/dirfd.h.
44812         (Depends-on): Add dirent, extensions.
44813         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
44814         (Include): Specify <dirent.h> instead of dirfd.h.
44815         * modules/dirent (Depends-on): Add link-warning.
44816         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
44817         definition of GL_LINK_WARNING.
44818         * NEWS: Mention the change.
44819
44820 2008-10-18  Bruno Haible  <bruno@clisp.org>
44821
44822         Move the euidaccess() declaration to <unistd.h>.
44823         * lib/euidaccess.h: Remove file.
44824         * lib/unistd.in.h (euidaccess): New declaration.
44825         * lib/euidaccess.c: Don't include euidaccess.h.
44826         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
44827         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
44828         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
44829         and HAVE_EUIDACCESS.
44830         * modules/euidaccess (Files): Remove lib/euidaccess.h.
44831         (Depends-on): Add unistd.
44832         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44833         (Include): Specify <unistd.h> instead of euidaccess.h.
44834         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
44835         HAVE_EUIDACCESS.
44836         * NEWS: Mention the change.
44837
44838 2008-10-18  Bruno Haible  <bruno@clisp.org>
44839
44840         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
44841
44842         Move the getdomainname() declaration to <unistd.h>.
44843         * lib/getdomainname.h: Remove file.
44844         * lib/unistd.in.h (getdomainname): New declaration.
44845         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
44846         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44847         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44848         HAVE_GETDOMAINNAME.
44849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44850         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
44851         * modules/getdomainname (Files): Remove lib/getdomainname.h.
44852         (Depends-on): Add unistd, extensions.
44853         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44854         (Includes): Specify <unistd.h> instead of getdomainname.h.
44855         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
44856         HAVE_GETDOMAINNAME.
44857         * NEWS: Mention the change.
44858
44859 2008-10-18  Bruno Haible  <bruno@clisp.org>
44860
44861         * modules/dirent: New file.
44862         * m4/dirent_h.m4: New file.
44863         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
44864         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
44865         * modules/fchdir (Files): Remove lib/dirent.in.h.
44866         (Depends-on): Add dirent.
44867         (Makefile.am): Move rules to modules/dirent.
44868         * doc/posix-headers/dirent.texi: Mention the new module.
44869
44870 2008-10-18  Bruno Haible  <bruno@clisp.org>
44871
44872         Avoid -Wunused-parameter warnings in public gnulib header files.
44873         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
44874         macro.
44875         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
44876
44877 2008-10-18  Bruno Haible  <bruno@clisp.org>
44878
44879         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
44880         * doc/glibc-functions/error.texi: Mention the module 'error'.
44881         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
44882         * doc/glibc-functions/getdomainname.texi: Mention the module
44883         'getdomainname'.
44884         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
44885         * doc/glibc-functions/getpagesize.texi: Mention the module
44886         'getpagesize'.
44887         * doc/glibc-functions/getusershell.texi: Mention the module
44888         'getusershell'.
44889         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
44890         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
44891         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
44892         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
44893         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
44894         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
44895         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
44896         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
44897         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
44898         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
44899         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
44900         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
44901         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
44902         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
44903
44904 2008-10-17  Bruno Haible  <bruno@clisp.org>
44905
44906         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
44907         HP-UX and IRIX, use -0.0L.
44908         * tests/test-ceill.c (minus_zero): Likewise.
44909         * tests/test-floorl.c (minus_zero): Likewise.
44910         * tests/test-frexpl.c (minus_zero): Likewise.
44911         * tests/test-isnan.c (minus_zerol): Likewise.
44912         * tests/test-isnanl.h (minus_zero): Likewise.
44913         * tests/test-ldexpl.c (minus_zero): Likewise.
44914         * tests/test-roundl.c (minus_zero): Likewise.
44915         * tests/test-signbit.c (minus_zerol): Likewise.
44916         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44917         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44918         * tests/test-truncl.c (minus_zero): Likewise.
44919         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44920         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44921         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
44922         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44923
44924 2008-10-17  Bruno Haible  <bruno@clisp.org>
44925
44926         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
44927         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
44928         that it gets activated only for gcc >= 3.0.
44929         * lib/dirent.in.h: Likewise.
44930         * lib/errno.in.h: Likewise.
44931         * lib/fcntl.in.h: Likewise.
44932         * lib/float.in.h: Likewise.
44933         * lib/iconv.in.h: Likewise.
44934         * lib/inttypes.in.h: Likewise.
44935         * lib/locale.in.h: Likewise.
44936         * lib/math.in.h: Likewise.
44937         * lib/netdb.in.h: Likewise.
44938         * lib/netinet_in.in.h: Likewise.
44939         * lib/search.in.h: Likewise.
44940         * lib/signal.in.h: Likewise.
44941         * lib/spawn.in.h: Likewise.
44942         * lib/stdarg.in.h: Likewise.
44943         * lib/stdint.in.h: Likewise.
44944         * lib/stdio.in.h: Likewise.
44945         * lib/stdlib.in.h: Likewise.
44946         * lib/string.in.h: Likewise.
44947         * lib/strings.in.h: Likewise.
44948         * lib/sys_file.in.h: Likewise.
44949         * lib/sys_ioctl.in.h: Likewise.
44950         * lib/sys_select.in.h: Likewise.
44951         * lib/sys_socket.in.h: Likewise.
44952         * lib/sys_stat.in.h: Likewise.
44953         * lib/sys_time.in.h: Likewise.
44954         * lib/sysexits.in.h: Likewise.
44955         * lib/time.in.h: Likewise.
44956         * lib/unistd.in.h: Likewise.
44957         * lib/wchar.in.h: Likewise.
44958         * lib/wctype.in.h: Likewise.
44959         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44960
44961 2008-10-17  Jim Meyering  <meyering@redhat.com>
44962
44963         ignore-value: don't depend on inline module
44964         * modules/ignore-value (Depends-on): Remove 'inline'.
44965         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
44966         Suggestion from Bruno Haible.
44967
44968 2008-10-17  Bruno Haible  <bruno@clisp.org>
44969
44970         New implementation of condition variables for Win32.
44971         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
44972         (gl_linked_waitqueue_t): New type.
44973         (gl_cond_t): Use it.
44974         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
44975         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
44976         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
44977         (glthread_cond_init_func, glthread_cond_wait_func,
44978         glthread_cond_timedwait_func, glthread_cond_signal_func,
44979         glthread_cond_broadcast_func, glthread_cond_destroy_func):
44980         Reimplemented on the basis of gl_linked_waitqueue_t.
44981         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
44982         gl_waitqueue_t.
44983         (gl_rwlock_t): Update.
44984         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
44985
44986 2008-10-17  Simon Josefsson  <simon@josefsson.org>
44987
44988         * modules/recvfrom (Depends-on): Add dependency on getpeername.
44989         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44990
44991 2008-10-17  Jim Meyering  <meyering@redhat.com>
44992
44993         ignore-value: new module
44994         * modules/ignore-value: New file.
44995         * lib/ignore-value.h: New file.
44996         * MODULES.html.sh (Compiler warning management): New section,
44997         just for this module.  More to come.
44998
44999 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45000
45001         open-safer.c: avoid 'signed and unsigned in conditional...' warning
45002         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
45003         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
45004
45005 2008-10-16  Jim Meyering  <meyering@redhat.com>
45006
45007         openat-die.c: avoid 'no previous prototype' warning
45008         * lib/openat-die.c: Include "openat.h".
45009         Reported by Reuben Thomas <rrt@sc3d.org>.
45010
45011 2008-10-16  Simon Josefsson  <simon@josefsson.org>
45012
45013         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
45014         * lib/netdb.in.h: Fix typo.
45015         Reported by Bruno Haible  <bruno@clisp.org>
45016
45017         * lib/netdb.in.h: Include sys/socket.h for platforms without
45018         netdb.h, to get structures like hostent on MinGW.
45019         * modules/netdb (Depends-on): Add sys_socket.
45020
45021 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45022
45023         * modules/netdb, modules/netdb-tests: New file.
45024         * m4/netdb_h.m4: New file.
45025         * lib/netdb.in.h: Add, currently just an empty file pending
45026         definitions.
45027         * tests/test-netdb.c: New file.
45028         * doc/posix-headers/netdb.texi: Mention that we replace it if
45029         needed.
45030         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45031         netdb.
45032
45033 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45034
45035         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
45036         with code.
45037
45038 2008-10-13  Bruno Haible  <bruno@clisp.org>
45039
45040         * lib/glthread/cond.c (glthread_cond_wait_func,
45041         glthread_cond_timedwait_func): Add a comment.
45042
45043 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45044
45045         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
45046         * tests/test-select.c: Likewise,
45047
45048 2008-10-13  Bruno Haible  <bruno@clisp.org>
45049
45050         * lib/glthread/cond.c (glthread_cond_wait_func,
45051         glthread_cond_timedwait_func): Fix variable name.
45052         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45053
45054 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
45055
45056         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
45057         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
45058         struct sockaddr.sa_len.
45059         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
45060
45061 2008-10-13  Simon Josefsson  <simon@josefsson.org>
45062
45063         * build-aux/pmccabe2html: Add css and css_url parameters.
45064
45065 2008-10-12  Bruno Haible  <bruno@clisp.org>
45066
45067         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
45068         calling aclx_get.
45069         Reported by Rainer Tammer <tammer@tammer.net>.
45070
45071 2008-10-12  Bruno Haible  <bruno@clisp.org>
45072
45073         Use msvcrt aware primitives for creation/termination of Win32 threads.
45074         * lib/glthread/thread.c: Include <process.h>.
45075         (glthread_create_func): Use _beginthreadex instead of CreateThread.
45076         (wrapper_func): Update signature.
45077         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
45078
45079 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45080             Bruno Haible  <bruno@clisp.org>
45081
45082         Provide a Win32 implementation of the 'cond' module.
45083         * lib/glthread/cond.h [USE_WIN32]: New implementation.
45084         * lib/glthread/cond.c (glthread_cond_init_func,
45085         glthread_cond_wait_func, glthread_cond_timedwait_func,
45086         glthread_cond_signal_func, glthread_cond_broadcast_func,
45087         glthread_cond_destroy_func) [USE_WIN32]: New functions.
45088         * modules/cond (Dependencies): Add gettimeofday.
45089
45090 2008-10-11  Bruno Haible  <bruno@clisp.org>
45091
45092         Make sleep work on older versions of mingw.
45093         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
45094         only whether it exists.
45095         * doc/posix-functions/sleep.texi: Mention the problem with older
45096         versions of mingw.
45097
45098 2008-10-11  Bruno Haible  <bruno@clisp.org>
45099
45100         New module 'shutdown'.
45101         * modules/shutdown: New file.
45102         * lib/sys_socket.in.h (shutdown): New declaration.
45103         * lib/winsock.c (shutdown): New function.
45104         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45105         GNULIB_SHUTDOWN.
45106         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
45107         * doc/posix-functions/shutdown.texi: Document the new module.
45108
45109 2008-10-11  Jim Meyering  <meyering@redhat.com>
45110
45111         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
45112
45113 2008-10-11  Bruno Haible  <bruno@clisp.org>
45114
45115         New module 'fclose'.
45116         * modules/fclose: New file.
45117         * lib/stdio.in.h (fclose): New declaration.
45118         * lib/fclose.c: New file.
45119         * m4/fclose.m4: New file.
45120         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
45121         REPLACE_FCLOSE.
45122         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
45123         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
45124         REPLACE_FCLOSE.
45125         * modules/close (Depends-on): fclose.
45126         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
45127
45128 2008-10-11  Bruno Haible  <bruno@clisp.org>
45129
45130         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
45131         set errno and don't call _close.
45132
45133 2008-10-10  Bruno Haible  <bruno@clisp.org>
45134
45135         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
45136         ACL, not afterwards. Fixes test failure on Cygwin.
45137
45138 2008-10-09  Ben Pfaff  <blp@gnu.org>
45139
45140         * build-aux/announce-gen: Fix gnulib version related part of usage
45141         message.  Die with a useful error message if no tarballs are
45142         found.
45143
45144 2008-10-10  Jim Meyering  <meyering@redhat.com>
45145
45146         bootstrap: use git's --depth=N option only if it's supported
45147         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
45148         recognize the --depth option.  Reported by Pádraig Brady.
45149
45150 2008-10-09  Bruno Haible  <bruno@clisp.org>
45151
45152         New module 'ioctl'.
45153         * modules/ioctl: New file.
45154         * lib/sys_socket.in.h (ioctl): Remove declaration.
45155         * lib/winsock.c: Include <sys/ioctl.h>.
45156         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
45157         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45158         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
45159         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
45160         * doc/posix-functions/ioctl.texi: Mention the new module.
45161
45162 2008-10-09  Bruno Haible  <bruno@clisp.org>
45163
45164         New module 'sys_ioctl'.
45165         * lib/sys_ioctl.in.h: New file.
45166         * m4/sys_ioctl_h.m4: New file.
45167         * modules/sys_ioctl: New file.
45168         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
45169
45170 2008-10-09  Bruno Haible  <bruno@clisp.org>
45171
45172         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
45173         * lib/winsock.c: Include <stdarg.h>.
45174         (rpl_ioctl): Change to second argument 'int' and then varargs.
45175
45176 2008-10-09  Bruno Haible  <bruno@clisp.org>
45177
45178         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
45179         when the sys_socket module is present and the system has <winsock2.h>.
45180
45181 2008-10-09  Bruno Haible  <bruno@clisp.org>
45182
45183         * doc/posix-functions/close.texi: Mention module 'close' instead of
45184         module 'sys_socket'.
45185
45186 2008-10-09  Bruno Haible  <bruno@clisp.org>
45187
45188         * doc/glibc-headers/sys_ioctl.texi: New file.
45189         * doc/gnulib.texi: Include it.
45190
45191 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45192             Bruno Haible  <bruno@clisp.org>
45193
45194         Combine the two replacements of 'close'.
45195         * lib/sys_socket.in.h (close): Define to a reminder to include
45196         <unistd.h>.
45197         (_gl_close_fd_maybe_socket): New declaration.
45198         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
45199         * lib/winsock.c (close): Remove undefinition.
45200         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
45201         needed for the gnulib module 'close'.
45202         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
45203         define to an error symbol or to a warning, if suitable.
45204         * lib/close.c: Include <sys/socket.h>.
45205         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
45206         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
45207         UNISTD_H_HAVE_WINSOCK2_H.
45208         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
45209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45210         UNISTD_H_HAVE_WINSOCK2_H.
45211         * modules/sys_socket (Files): Add m4/unistd_h.m4.
45212         (configure.ac): Set a module indicator.
45213         (Makefile.am): Substitute GNULIB_CLOSE.
45214         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
45215         * modules/poll-tests (Depends-on): Add close.
45216         * modules/select-tests (Depends-on): Likewise.
45217
45218 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45219             Bruno Haible  <bruno@clisp.org>
45220
45221         New module 'close'.
45222         * modules/close: New file.
45223         * lib/unistd.in.h (close): Move declaration out of the
45224         FCHDIR_REPLACEMENT scope.
45225         (_gl_unregister_fd): New declaration.
45226         * lib/close.c: New file.
45227         * lib/fchdir.c (rpl_close): Remove function.
45228         * m4/close.m4: New file.
45229         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45230         close.
45231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
45232         REPLACE_CLOSE.
45233         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
45234         REPLACE_CLOSE.
45235         * modules/fchdir (Depends-on): Add close.
45236
45237 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45238             Bruno Haible  <bruno@clisp.org>
45239
45240         * lib/fcntl.in.h (open): Simplify conditionals.
45241         (_gl_register_fd): New declaration.
45242         * lib/fchdir.c (rpl_open): Remove function.
45243         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
45244         also.
45245         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
45246         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45247         open.
45248
45249 2008-10-09  Jim Meyering  <meyering@redhat.com>
45250
45251         GNUmakefile: use the more name-space-friendly "_version"
45252         * top/GNUmakefile (_dummy): Update.
45253         (_version): Rename from "version".
45254
45255 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45256             Bruno Haible  <bruno@clisp.org>
45257
45258         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
45259         rpl_close.
45260         (_gl_register_fd): New function, extracted from rpl_open.
45261         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
45262         (rpl_open, rpl_opendir): Use _gl_register_fd.
45263
45264 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45265
45266         Fix organization of 'open' replacement.
45267         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
45268         (gl_FUNC_OPEN): Use it.
45269         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
45270
45271 2008-10-08  Bruno Haible  <bruno@clisp.org>
45272
45273         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
45274
45275 2008-10-08  Simon Josefsson  <simon@josefsson.org>
45276
45277         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
45278         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
45279         listen).
45280
45281 2008-10-08  Eric Blake  <ebb9@byu.net>
45282
45283         GNUmakefile: add 'make version' target
45284         * top/GNUmakefile (_curr-ver): Split version update rules...
45285         (version): ...into a target.
45286
45287 2008-10-07  Bruno Haible  <bruno@clisp.org>
45288
45289         Use a more portable replacement expression for -0.0L.
45290         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
45291         instead of -0.0L. Fix m4 quotation.
45292
45293         * tests/test-signbit.c: Include <float.h>.
45294         (minus_zero): New variable.
45295         (test_signbitl): Use minus_zero instead of -zero.
45296         * modules/signbit-tests (Depends-on): Add float.
45297
45298         * tests/test-ceill.c: Include <float.h>.
45299         (zero): Remove variable.
45300         (minus_zero): New variable.
45301         (main): Use minus_zero instead of -zero.
45302         * modules/ceill-tests (Depends-on): Add float.
45303
45304         * tests/test-floorl.c: Include <float.h>.
45305         (zero): Remove variable.
45306         (minus_zero): New variable.
45307         (main): Use minus_zero instead of -zero.
45308         * modules/floorl-tests (Depends-on): Add float.
45309
45310         * tests/test-roundl.c: Include <float.h>.
45311         (zero): Remove variable.
45312         (minus_zero): New variable.
45313         (main): Use minus_zero instead of -zero.
45314         * modules/roundl-tests (Depends-on): Add float.
45315
45316         * tests/test-truncl.c: Include <float.h>.
45317         (zero): Remove variable.
45318         (minus_zero): New variable.
45319         (main): Use minus_zero instead of -zero.
45320         * modules/truncl-tests (Depends-on): Add float.
45321
45322         * tests/test-frexpl.c (zero): Remove variable.
45323         (minus_zero): New variable.
45324         (main): Use minus_zero instead of -zero.
45325         * modules/frexpl-tests (Depends-on): Add float.
45326
45327         * tests/test-isnan.c (zerol): Remove variable.
45328         (minus_zerol): New variable.
45329         (test_long_double): Use minus_zerol instead of -zerol.
45330         * modules/isnan-tests (Depends-on): Add float.
45331
45332         * tests/test-isnanl.h (zero): Remove variable.
45333         (minus_zero): New variable.
45334         (main): Use minus_zero instead of -zero.
45335         * modules/isnanl-nolibm-tests (Depends-on): Add float.
45336         * modules/isnanl-tests (Depends-on): Add float.
45337
45338         * tests/test-ldexpl.c (zero): Remove variable.
45339         (minus_zero): New variable.
45340         (main): Use minus_zero instead of -zero.
45341         * modules/ldexpl-tests (Depends-on): Add float.
45342
45343         * tests/test-snprintf-posix.h (zerol): Remove variable.
45344         (minus_zerol): New variable.
45345         (test_function): Use minus_zerol instead of -zerol.
45346         * modules/snprintf-posix-tests (Depends-on): Add float.
45347         * modules/vsnprintf-posix-tests (Depends-on): Add float.
45348
45349         * tests/test-sprintf-posix.h (zerol): Remove variable.
45350         (minus_zerol): New variable.
45351         (test_function): Use minus_zerol instead of -zerol.
45352         * modules/sprintf-posix-tests (Depends-on): Add float.
45353         * modules/vsprintf-posix-tests (Depends-on): Add float.
45354
45355         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
45356         (minus_zerol): New variable.
45357         (test_function): Use minus_zerol instead of -zerol.
45358         * modules/vasnprintf-posix-tests (Depends-on): Add float.
45359
45360         * tests/test-vasprintf-posix.c (zerol): Remove variable.
45361         (minus_zerol): New variable.
45362         (test_function): Use minus_zerol instead of -zerol.
45363         * modules/vasprintf-posix-tests (Depends-on): Add float.
45364
45365 2008-10-07  Simon Josefsson  <simon@josefsson.org>
45366
45367         * MODULES.html.sh (Support for building documentation): Mention
45368         pmccabe2html.  Sort entries.
45369
45370         Add pmccabe2html module, from gnupdf.
45371         * build-aux/pmccabe.css: New file.
45372         * build-aux/pmccabe2html: New file.
45373         * m4/pmccabe2html.m4: New file.
45374         * modules/pmccabe2html: New file.
45375
45376 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
45377
45378         flock: new module
45379         * MODULES.html.sh: Add to list of modules.
45380         * lib/flock.c: flock implementation for Windows and Unix systems
45381         which have fcntl.
45382         * doc/glibc-functions/flock.texi: Update documentation.
45383         * lib/sys_file.in.h: <sys/file.h> header file.
45384         * m4/flock.m4: M4 macros.
45385         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45386         * modules/flock: flock module.
45387         * modules/flock-tests: flock tests module.
45388         * modules/sys_file: sys/file.h module.
45389         * tests/test-flock.c: test suite for flock.
45390
45391 2008-10-06  Jim Meyering  <meyering@redhat.com>
45392
45393         bootstrap: check for LT_INIT more portably still ;-)
45394         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45395         Spotted by Bruno Haible.
45396
45397 2008-10-06  Eric Blake  <ebb9@byu.net>
45398
45399         test-signbit: avoid tripping Irix cc bug on -0.0L
45400         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45401         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45402         entire testsuite consistent and avoids an Irix 6.2 bug.
45403
45404 2008-10-05  Bruno Haible  <bruno@clisp.org>
45405             Jim Meyering  <jim@meyering.net>
45406
45407         Add an option for ignoring EPIPE during close_stdout.
45408         * lib/closeout.h: Include <stdbool.h>.
45409         (close_stdout_set_ignore_EPIPE): New declaration.
45410         * lib/closeout.c: Include <stdbool.h>.
45411         (ignore_EPIPE): New variable.
45412         (close_stdout_set_ignore_EPIPE): New function.
45413         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45414         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45415         failure.
45416         * modules/closeout (Depends-on): Add stdbool.
45417
45418 2008-10-05  Bruno Haible  <bruno@clisp.org>
45419
45420         * modules/accept: New file.
45421         * modules/bind: New file.
45422         * modules/connect: New file.
45423         * modules/getpeername: New file.
45424         * modules/getsockname: New file.
45425         * modules/getsockopt: New file.
45426         * modules/listen: New file.
45427         * modules/recv: New file.
45428         * modules/recvfrom: New file.
45429         * modules/send: New file.
45430         * modules/sendto: New file.
45431         * modules/setsockopt: New file.
45432         * modules/socket: New file.
45433         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45434         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45435         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45436         the particular module is requested. Add a link warning when the
45437         particular module is not requested.
45438         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45439         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45440         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45441         the particular module is requested.
45442         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45443         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45444         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45445         * modules/sys_socket (Depends-on): Add link-warning.
45446         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45447         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45448         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45449         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45450         GL_LINK_WARNING.
45451         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45452         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45453         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45454         * doc/posix-functions/getpeername.texi: Mention the new module
45455         'getpeername'.
45456         * doc/posix-functions/getsockname.texi: Mention the new module
45457         'getsockname'.
45458         * doc/posix-functions/getsockopt.texi: Mention the new module
45459         'getsockopt'.
45460         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45461         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45462         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45463         * doc/posix-functions/send.texi: Mention the new module 'send'.
45464         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45465         * doc/posix-functions/setsockopt.texi: Mention the new module
45466         'setsockopt'.
45467         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45468         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45469         listen, connect, accept.
45470         * modules/select-tests (Depends-on): Likewise.
45471
45472 2008-10-05  Bruno Haible  <bruno@clisp.org>
45473
45474         * lib/winsock.c (strerror): Remove unused #undef.
45475         (rpl_close): Remove unused local variable.
45476
45477         * modules/sys_socket (Depends-on); Add errno.
45478
45479 2008-10-05  Bruno Haible  <bruno@clisp.org>
45480
45481         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45482         (select): Add a link warning when the 'select' module is not used.
45483         * modules/sys_select (Depends-on): Add link-warning.
45484         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45485         Suggested by Paolo Bonzini.
45486
45487 2008-10-05  Jim Meyering  <meyering@redhat.com>
45488
45489         bootstrap: check for LT_INIT more portably
45490         * build-aux/bootstrap: Avoid using grep -E, since it's not
45491         portable enough.  Suggestion from Bruno Haible.
45492
45493 2008-10-05  Bruno Haible  <bruno@clisp.org>
45494
45495         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45496         as being fixed by gnulib.
45497
45498 2008-10-05  Bruno Haible  <bruno@clisp.org>
45499
45500         * modules/select-tests: New file, mostly copied from
45501         modules/sys_select-tests.
45502         * tests/test-select.c: New file, mostly copied from
45503         tests/test-sys_select.c.
45504         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45505         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45506         (Makefile.am): Remove test_sys_select_LDADD.
45507
45508         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45509         to an undefined symbol, for an error message.
45510         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45511         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45512         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45513         winsock-select.c here.
45514         * modules/sys_select (Files): Remove lib/winsock-select.c.
45515         (Depends-on): Remove alloca.
45516         (Makefile.am): Substitute GNULIB_SELECT.
45517         * modules/select: New file.
45518         * doc/posix-functions/select.texi: Update.
45519
45520 2008-10-05  Bruno Haible  <bruno@clisp.org>
45521
45522         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45523         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45524         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45525         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45526         getdtablesize.
45527         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45528         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45529
45530 2008-10-05  Bruno Haible  <bruno@clisp.org>
45531
45532         * modules/getdtablesize-tests: New file.
45533         * tests/test-getdtablesize.c: New file.
45534
45535         New module 'getdtablesize'.
45536         * lib/unistd.in.h (getdtablesize): New declaration.
45537         * lib/getdtablesize.c: New file.
45538         * m4/getdtablesize.m4: New file.
45539         * modules/getdtablesize: New file.
45540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45541         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45542         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45543         HAVE_GETDTABLESIZE.
45544         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45545
45546 2008-10-05  Bruno Haible  <bruno@clisp.org>
45547
45548         * modules/sched (Makefile.am): Fix typo.
45549         Reported by Simon Josefsson.
45550
45551 2008-10-05  Jim Meyering  <meyering@redhat.com>
45552
45553         bootstrap: check for LT_INIT, too
45554         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45555         are deprecated.  Suggestion from Ralf Wildenhues.
45556
45557 2008-10-05  Bruno Haible  <bruno@clisp.org>
45558
45559         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45560         overriding them by ours.
45561         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45562
45563 2008-10-05  Jim Meyering  <meyering@redhat.com>
45564
45565         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45566         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45567         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45568
45569 2008-10-04  Bruno Haible  <bruno@clisp.org>
45570
45571         * modules/dup2 (License): Change to LGPLv2+.
45572         * modules/sleep (License): Likewise.
45573         * modules/perror (License): Likewise.
45574         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45575         Blake.
45576         * modules/signal (License): Likewise.
45577         * modules/sigprocmask (License): Likewise.
45578         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45579         Meyering.
45580
45581 2008-10-04  Bruno Haible  <bruno@clisp.org>
45582
45583         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45584         Reported by Rainer Tammer <tammer@tammer.net>.
45585
45586 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45587             Bruno Haible  <bruno@clisp.org>
45588
45589         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45590         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45591         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45592
45593 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45594
45595         filevercmp: new module
45596         * lib/filevercmp.h: New function filevercmp comparing version strings.
45597         * lib/filevercmp.c: Implementation of filevercmp function.
45598         * modules/filevercmp: Module metadata.
45599         * tests/test-filevercmp.c: Unit test for new module.
45600         * modules/filevercmp-tests: Unit test metadata.
45601         * MODULES.html.sh: Add filevercmp module.
45602
45603 2008-10-03  Bruno Haible  <bruno@clisp.org>
45604
45605         * lib/c-ctype.h: Add comment.
45606         Reported by Jim Meyering.
45607
45608 2008-10-02  Bruno Haible  <bruno@clisp.org>
45609
45610         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45611
45612 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45613
45614         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45615         name of bootstrap.conf accordingly.
45616
45617 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45618
45619         * build-aux/bootstrap: Install git-merge-changelog configuration
45620         items into .gitconfig if needed.
45621
45622 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45623
45624         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45625         git repository, and initialize/update it accordingly.
45626
45627 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45628
45629         * modules/fsync-tests: New file.
45630         * tests/test-fsync.c: New file.
45631
45632         New module 'fsync'.
45633         * lib/fsync.c: New file.
45634         * m4/fsync.m4: New file.
45635         * modules/fsync: New file.
45636         * lib/unistd.in.h (fsync): New declaration.
45637         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45638         GNULIB_FSYNC and HAVE_FSYNC.
45639         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45640         * MODULES.html.sh (posix_functions): Add fsync.
45641         * doc/posix-functions/fsync.texi: Mention the new module.
45642
45643 2008-10-02  Jim Meyering  <meyering@redhat.com>
45644
45645         fts.c: sync with similar code from coreutils' remove.c
45646         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45647         Guard also with "#if defined __linux__", since for now at least,
45648         this code is Linux-kernel-specific.
45649
45650 2008-10-02  Jim Meyering  <meyering@redhat.com>
45651
45652         fts: bug fixes
45653         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45654         Include <sys/vfs.h>, not <sys/statfs.h>.
45655
45656         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45657         Include <sys/vfs.h>, not <sys/statfs.h>.
45658
45659 2008-10-01  Bruno Haible  <bruno@clisp.org>
45660
45661         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45662         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45663         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45664         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45665         * doc/posix-functions/posix_spawnp.texi: Likewise.
45666         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45667         whether posix_spawn actually works.
45668         * m4/pipe.m4 (gl_PIPE): Likewise.
45669         * modules/execute (Files): Add m4/posix_spawn.m4.
45670         * modules/pipe (Files): Add m4/posix_spawn.m4.
45671         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45672
45673 2008-10-01  Jim Meyering  <meyering@redhat.com>
45674
45675         remove trailing spaces
45676         * NEWS: Likewise.
45677         * lib/poll.c (poll): Likewise.
45678         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45679         * lib/winsock.c (rpl_close): Likewise.
45680         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45681         * modules/yield: Likewise.
45682         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45683         * tests/test-sys_select.c (connect_to_socket): Likewise.
45684
45685         fts.c: adjust a new interface to be more generally useful
45686         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45687         (fts_build): Adjust caller.
45688
45689 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45690
45691         * modules/cond-tests: New file.
45692         * tests/test-cond.c: New file.
45693
45694 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45695             Bruno Haible  <bruno@clisp.org>
45696
45697         * modules/cond (Dependencies): Add errno, time.
45698         * lib/glthread/cond.h: Include <time.h>.
45699         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45700         across platforms.
45701
45702 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45703             Bruno Haible  <bruno@clisp.org>
45704
45705         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45706
45707 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45708             Bruno Haible  <bruno@clisp.org>
45709
45710         * modules/tls-tests (Depends-on): Add thread, yield.
45711         (configure.ac): Remove all checks.
45712         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45713         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45714         gl_thread_self): Remove definitions. Include glthread/thread.h and
45715         glthread/yield.h instead.
45716         (test_tls): Pass an additional NULL argument to gl_thread_join.
45717
45718 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45719             Bruno Haible  <bruno@clisp.org>
45720
45721         * modules/lock-tests (Depends-on): Add thread, yield.
45722         (configure.ac): Remove all checks.
45723         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45724         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45725         gl_thread_self): Remove definitions. Include glthread/thread.h and
45726         glthread/yield.h instead.
45727         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45728         additional NULL argument to gl_thread_join.
45729
45730 2008-09-30  Bruno Haible  <bruno@clisp.org>
45731
45732         Fix the Win32 implementation of the 'thread' module.
45733         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45734         pointer type.
45735         (gl_thread_self): Invoke gl_thread_self_func.
45736         (gl_thread_self_func): New declaration.
45737         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45738         (do_init_self_key, init_self_key): New functions.
45739         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45740         Remove some fields.
45741         (running_threads, running_lock): Remove variables.
45742         (get_current_thread_handle): New function.
45743         (gl_thread_self_func, wrapper_func, glthread_create_func,
45744         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45745         simplified.
45746
45747 2008-09-30  Bruno Haible  <bruno@clisp.org>
45748
45749         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45750         files.
45751
45752 2008-09-30  Jim Meyering  <meyering@redhat.com>
45753
45754         fts.m4: correct the test for statfs.f_type
45755         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45756         when checking for statfs.f_type.
45757
45758 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45759
45760         tests: avoid some compiler warnings
45761         * tests/test-memchr.c (main): Pass NULL indirectly.
45762         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45763
45764 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
45765
45766         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45767         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45768         exactly specified dayshifts.
45769         (dayshift): New rule.
45770         (rel): Add dayshift.
45771         (relative_time_table) [tomorrow, yesterday, today, now]:
45772         Use tDAY_SHIFT in place of tDAY_UNIT.
45773         * tests/test-getdate.c: Add tests for now-disallowed countable
45774         dayshifts, e.g., "4 yesterday ago".
45775
45776 2008-09-29  Bruno Haible  <bruno@clisp.org>
45777
45778         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45779         * tests/test-posix_spawn1.in.sh: Renamed from
45780         tests/test-posix_spawn.in.sh.
45781         * tests/test-posix_spawn2.c: New file.
45782         * tests/test-posix_spawn2.in.sh: New file.
45783         * modules/posix_spawnp-tests (Files): Update.
45784         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45785
45786 2008-09-29  Bruno Haible  <bruno@clisp.org>
45787
45788         Propagate effects of putenv/setenv/unsetenv to child processes.
45789         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45790         * lib/pipe.c (create_pipe): Likewise.
45791
45792 2008-09-29  Bruno Haible  <bruno@clisp.org>
45793
45794         Enable use of shell scripts as executables in mingw.
45795         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
45796         run the program as a shell script.
45797         * lib/pipe.c (create_pipe): Likewise.
45798         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
45799         resulting array.
45800
45801 2008-09-29  Eric Blake  <ebb9@byu.net>
45802
45803         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
45804
45805 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
45806
45807         * doc/posix-functions/accept.texi: Update mingw problems.
45808         * doc/posix-functions/bind.texi: Update mingw problems.
45809         * doc/posix-functions/close.texi: Update mingw problems.
45810         * doc/posix-functions/connect.texi: Update mingw problems.
45811         * doc/posix-functions/getpeername.texi: Update mingw problems.
45812         * doc/posix-functions/getsockname.texi: Update mingw problems.
45813         * doc/posix-functions/getsockopt.texi: Update mingw problems.
45814         * doc/posix-functions/ioctl.texi: Update mingw problems.
45815         * doc/posix-functions/listen.texi: Update mingw problems.
45816         * doc/posix-functions/recv.texi: Update mingw problems.
45817         * doc/posix-functions/recvfrom.texi: Update mingw problems.
45818         * doc/posix-functions/select.texi: Update mingw problems.
45819         * doc/posix-functions/send.texi: Update mingw problems.
45820         * doc/posix-functions/sendto.texi: Update mingw problems.
45821         * doc/posix-functions/setsockopt.texi: Update mingw problems.
45822         * doc/posix-functions/socket.texi: Update mingw problems.
45823
45824 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
45825             Bruno Haible  <bruno@clisp.org>
45826
45827         * lib/sys_select.in.h: Include sys/time.h.
45828         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
45829         * modules/sys_select: Depend on sys_time.
45830         * tests/test-sys_select.c: Test that sys/select.h defines struct
45831         timeval fully.
45832
45833 2008-09-29  Bruno Haible  <bruno@clisp.org>
45834
45835         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
45836         * lib/sys_select.in.h: Likewise.
45837
45838 2008-09-29  Bruno Haible  <bruno@clisp.org>
45839
45840         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
45841
45842 2008-09-29  Bruno Haible  <bruno@clisp.org>
45843
45844         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
45845         Set LIBSOCKET instead of augmenting LIBS.
45846         * modules/sockets (Link): New section.
45847         * modules/sockets-tests (test_sockets_LDADD): New variable.
45848         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
45849         * modules/poll-tests (test_poll_LDADD): New variable.
45850         * NEWS: Document the change.
45851
45852 2008-09-29  Bruno Haible  <bruno@clisp.org>
45853
45854         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
45855         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
45856         ARPA_INET_H directly.
45857         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45858
45859 2008-09-28  Bruno Haible  <bruno@clisp.org>
45860
45861         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
45862         from gl_HEADER_SYS_SOCKET.
45863         (gl_HEADER_SYS_SOCKET): Invoke it.
45864         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45865
45866 2008-09-28  Bruno Haible  <bruno@clisp.org>
45867
45868         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
45869         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
45870         Needed on OSF/1 4.0.
45871
45872 2008-09-28  Bruno Haible  <bruno@clisp.org>
45873
45874         Override open more carefully.
45875         * lib/open.c (orig_open): New function.
45876         (rpl_open): Use orig_open instead of open.
45877         * lib/fcntl.in.h: Add special invocation convention.
45878         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
45879         (gl_FUNC_OPEN): Invoke it.
45880
45881         Override freopen more carefully.
45882         * lib/freopen.c (orig_freopen): New function.
45883         (rpl_freopen): Use orig_freopen instead of freopen.
45884         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
45885         (gl_FUNC_FREOPEN): Invoke it.
45886
45887         Override fopen more carefully.
45888         * lib/fopen.c (orig_fopen): New function.
45889         (rpl_fopen): Use orig_fopen instead of fopen.
45890         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
45891         (gl_FUNC_FOPEN): Invoke it.
45892         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
45893
45894 2008-09-28  Bruno Haible  <bruno@clisp.org>
45895
45896         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
45897         SIGPIPE.
45898
45899 2008-09-28  Bruno Haible  <bruno@clisp.org>
45900
45901         * tests/test-sigaction.c (handler, main): Disable the check whether
45902         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
45903         glibc systems with LinuxThreads.
45904
45905 2008-09-28  Bruno Haible  <bruno@clisp.org>
45906
45907         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
45908
45909         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
45910         with AIX xlc.
45911         * lib/fcntl.in.h (open): Likewise.
45912         Reported by Rainer Tammer <tammer@tammer.net>.
45913
45914 2008-09-28  Bruno Haible  <bruno@clisp.org>
45915
45916         * modules/posix_spawnp-tests: New file.
45917         * tests/test-posix_spawn.c: New file.
45918         * tests/test-posix_spawn.in.sh: New file.
45919
45920         New module 'posix_spawnp'.
45921         * modules/posix_spawnp: New file.
45922         * lib/spawnp.c: New file, from GNU libc with modifications.
45923         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
45924
45925         New module 'posix_spawn'.
45926         * modules/posix_spawn: New file.
45927         * lib/spawn.c: New file, from GNU libc with modifications.
45928         * doc/posix-functions/posix_spawn.texi: Mention the new module.
45929
45930         New module 'posix_spawnattr_destroy'.
45931         * modules/posix_spawnattr_destroy: New file.
45932         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
45933         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
45934         module.
45935
45936         New module 'posix_spawnattr_setsigmask'.
45937         * modules/posix_spawnattr_setsigmask: New file.
45938         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
45939         modifications.
45940         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
45941         new module.
45942
45943         New module 'posix_spawnattr_getsigmask'.
45944         * modules/posix_spawnattr_getsigmask: New file.
45945         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
45946         modifications.
45947         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
45948         new module.
45949
45950         New module 'posix_spawnattr_setsigdefault'.
45951         * modules/posix_spawnattr_setsigdefault: New file.
45952         * lib/spawnattr_setdefault.c: New file, from GNU libc with
45953         modifications.
45954         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
45955         new module.
45956
45957         New module 'posix_spawnattr_getsigdefault'.
45958         * modules/posix_spawnattr_getsigdefault: New file.
45959         * lib/spawnattr_getdefault.c: New file, from GNU libc with
45960         modifications.
45961         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
45962         new module.
45963
45964         New module 'posix_spawnattr_setschedpolicy'.
45965         * modules/posix_spawnattr_setschedpolicy: New file.
45966         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
45967         modifications.
45968         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
45969         new module.
45970
45971         New module 'posix_spawnattr_getschedpolicy'.
45972         * modules/posix_spawnattr_getschedpolicy: New file.
45973         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
45974         modifications.
45975         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
45976         new module.
45977
45978         New module 'posix_spawnattr_setschedparam'.
45979         * modules/posix_spawnattr_setschedparam: New file.
45980         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
45981         modifications.
45982         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
45983         new module.
45984
45985         New module 'posix_spawnattr_getschedparam'.
45986         * modules/posix_spawnattr_getschedparam: New file.
45987         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
45988         modifications.
45989         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
45990         new module.
45991
45992         New module 'posix_spawnattr_setpgroup'.
45993         * modules/posix_spawnattr_setpgroup: New file.
45994         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
45995         modifications.
45996         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
45997         module.
45998
45999         New module 'posix_spawnattr_getpgroup'.
46000         * modules/posix_spawnattr_getpgroup: New file.
46001         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
46002         modifications.
46003         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
46004         module.
46005
46006         New module 'posix_spawnattr_setflags'.
46007         * modules/posix_spawnattr_setflags: New file.
46008         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
46009         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
46010         module.
46011
46012         New module 'posix_spawnattr_getflags'.
46013         * modules/posix_spawnattr_getflags: New file.
46014         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
46015         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
46016         module.
46017
46018         New module 'posix_spawnattr_init'.
46019         * modules/posix_spawnattr_init: New file.
46020         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
46021         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
46022         module.
46023
46024         New module 'posix_spawn_file_actions_destroy'.
46025         * modules/posix_spawn_file_actions_destroy: New file.
46026         * lib/spawn_faction_destroy.c: New file, from GNU libc with
46027         modifications.
46028         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
46029         the new module.
46030
46031         New module 'posix_spawn_file_actions_addopen'.
46032         * modules/posix_spawn_file_actions_addopen: New file.
46033         * lib/spawn_faction_addopen.c: New file, from GNU libc with
46034         modifications.
46035         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
46036         the new module.
46037
46038         New module 'posix_spawn_file_actions_adddup2'.
46039         * modules/posix_spawn_file_actions_adddup2: New file.
46040         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
46041         modifications.
46042         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
46043         the new module.
46044
46045         New module 'posix_spawn_file_actions_addclose'.
46046         * modules/posix_spawn_file_actions_addclose: New file.
46047         * lib/spawn_faction_addclose.c: New file, from GNU libc with
46048         modifications.
46049         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
46050         the new module.
46051
46052         New module 'posix_spawn_file_actions_init'.
46053         * modules/posix_spawn_file_actions_init: New file.
46054         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
46055         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
46056         new module.
46057
46058         New module 'posix_spawn-internal'.
46059         * modules/posix_spawn-internal: New file.
46060         * lib/spawn_int.h: New file, from GNU libc with modifications.
46061         * lib/spawni.c: New file, from GNU libc with modifications.
46062         * m4/posix_spawn.m4: New file.
46063
46064         New module 'spawn'.
46065         * modules/spawn: New file.
46066         * lib/spawn.in.h: New file, from GNU libc with modifications.
46067         * m4/spawn_h.m4: New file.
46068         * doc/posix-headers/spawn.texi: Mention the new module.
46069
46070 2008-09-28  Bruno Haible  <bruno@clisp.org>
46071
46072         * modules/sched-tests: New file.
46073         * tests/test-sched.c: New file.
46074
46075         New module 'sched'.
46076         * modules/sched: New file.
46077         * lib/sched.in.h: New file.
46078         * m4/sched_h.m4: New file.
46079         * doc/posix-headers/sched.texi: Mention the new module.
46080
46081 2008-09-27  Eric Blake  <ebb9@byu.net>
46082
46083         Fix previous patch, and tweak references to $0.
46084         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
46085         (func_version, func_gnulib_dir): Don't call this program
46086         gnulib-tool.
46087         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
46088         with using $0 in function.
46089         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
46090         (func_fatal_error): Reuse the name the user invoked us with.
46091
46092 2008-09-27  Bruno Haible  <bruno@clisp.org>
46093
46094         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
46095         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
46096         (gl_ICONV_H): Not here.
46097         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
46098         instead of assigning ICONV_H directly.
46099
46100         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
46101         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
46102         WCHAR_H directly.
46103
46104 2008-09-27  Bruno Haible  <bruno@clisp.org>
46105
46106         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
46107         * modules/arpa_inet (Depends-on): Add link-warning.
46108         (Makefile.am): Insert the definition of GL_LINK-WARNING.
46109         * modules/unistd (Makefile.am): Likewise.
46110
46111 2008-09-26  Bruno Haible  <bruno@clisp.org>
46112
46113         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
46114         variables.
46115         (func_version): Essentially copied from gnulib-tool.
46116         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
46117         func_readlink): Copied from gnulib-tool.
46118
46119 2008-09-26  Bruno Haible  <bruno@clisp.org>
46120
46121         * gnulib-tool (func_version): Change directory to $gnulib_dir before
46122         invoking git-version-gen.
46123
46124 2008-09-26  Bruno Haible  <bruno@clisp.org>
46125
46126         * posix-modules: Update to directory names changed on 2008-01-19.
46127         Remove commas in output before splitting into words. No more need to
46128         avoid 'ftruncate' since 2007-02-19.
46129
46130 2008-09-26  Bruno Haible  <bruno@clisp.org>
46131
46132         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
46133
46134 2008-09-26  Bruno Haible  <bruno@clisp.org>
46135
46136         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
46137         * modules/fwriteerror (Depends-on): Add errno.
46138
46139 2008-09-26  Bruno Haible  <bruno@clisp.org>
46140
46141         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
46142         * tests/test-vc-list-files-cvs.sh: Likewise.
46143
46144 2008-09-26  Bruno Haible  <bruno@clisp.org>
46145
46146         * doc/posix-headers/sys_resource.texi: Reorder items.
46147
46148 2008-09-26  Jim Meyering  <meyering@redhat.com>
46149
46150         fts: tweak inode comparison function
46151         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
46152         inode numbers, as documented.
46153
46154         fts: sort dirent entries on inode number before traversing
46155         This avoids a quadratic, seek-related performance penalty when
46156         operating on a directory containing many entries (measurable at 10k;
46157         3.5 hours at 2 million entries with a cold cache) on certain types
46158         of file systems, including ext3 and ext4, but not tmpfs.
46159         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
46160         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
46161         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
46162         (fs_handles_readdir_ordered_dirents_efficiently): New function.
46163         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
46164         (fts_build): Set the stat.st_ino member from D_INO.
46165         If it is likely to be useful, sort dirent entries on inode number.
46166
46167         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
46168         and the struct statfs.f_type member.
46169         * modules/fts (Depends-on): Add d-ino.
46170
46171 2008-09-26  Bruno Haible  <bruno@clisp.org>
46172
46173         * modules/sigpipe-die (Depends-on): Add sigpipe.
46174
46175         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
46176         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
46177         and GNULIB_STDIO_H_SIGPIPE are set.
46178         * lib/stdio-write.c: New file.
46179         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
46180         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46181         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46182         REPLACE_STDIO_WRITE_FUNCS.
46183         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
46184         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46185         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46186         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46187         * modules/stdio (Files): Add lib/stdio-write.c.
46188         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
46189         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46190         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46191         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46192         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
46193         REPLACE_FPRINTF_POSIX.
46194         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
46195         REPLACE_PRINTF_POSIX.
46196         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
46197         REPLACE_VFPRINTF_POSIX.
46198         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
46199         REPLACE_VPRINTF_POSIX.
46200         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
46201         SIGPIPE issue.
46202         * doc/posix-functions/fputc.texi: Likewise.
46203         * doc/posix-functions/fputs.texi: Likewise.
46204         * doc/posix-functions/fwrite.texi: Likewise.
46205         * doc/posix-functions/printf.texi: Likewise.
46206         * doc/posix-functions/putc.texi: Likewise.
46207         * doc/posix-functions/putchar.texi: Likewise.
46208         * doc/posix-functions/puts.texi: Likewise.
46209         * doc/posix-functions/vfprintf.texi: Likewise.
46210         * doc/posix-functions/vprintf.texi: Likewise.
46211
46212         * modules/safe-write (Depends-on): Add write.
46213
46214         * modules/sigpipe-tests: New file.
46215         * tests/test-sigpipe.c: New file.
46216         * tests/test-sigpipe.sh: New file.
46217
46218         * modules/write: New file.
46219         * lib/unistd.in.h: Include <sys/types.h>.
46220         (write): New declaration.
46221         * lib/write.c: New file.
46222         * m4/write.m4: New file.
46223         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46224         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
46225         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
46226         GNULIB_WRITE, REPLACE_WRITE.
46227         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
46228         and the SIGPIPE issue.
46229
46230         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
46231         (raise): New declaration.
46232         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
46233         (ext_signal): New function.
46234         (rpl_raise): New function.
46235         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
46236         GNULIB_SIGNAL_H_SIGPIPE.
46237         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
46238         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
46239
46240         * modules/sigpipe: New file.
46241         * m4/sigpipe.m4: New file.
46242
46243 2008-09-25  Derek Price  <derek@ximbiot.com>
46244             Bruno Haible  <bruno@clisp.org>
46245
46246         * gnulib-tool (func_import): Report all license incompatibilities, not
46247         just the first one.
46248
46249 2008-09-25  Bruno Haible  <bruno@clisp.org>
46250
46251         * gnulib-tool (func_import): When computing the edits, consider not
46252         only the Makefile.ams that exist but also those that will be generated.
46253
46254 2008-09-25  Simon Josefsson  <simon@josefsson.org>
46255
46256         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
46257         fixes gnulib-tool --test warning about duplicate dependency.
46258
46259 2008-09-25  Bruno Haible  <bruno@clisp.org>
46260
46261         * gnulib-tool: Don't ask the user to perform edits in the generated
46262         Makefile.ams.
46263         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
46264         apply to the Makefile.am being generated.
46265         (func_emit_tests_Makefile_am): Execute edits that apply to the
46266         Makefile.am being generated.
46267         (func_import): Setup list of Makefile.am edits before emitting the
46268         Makefile.ams, not at the end.
46269         (func_create_testdir): Update.
46270         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46271
46272 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46273
46274         * gnulib-tool (func_import): Store the --tests-base option in the
46275         comment in gnulib-cache.m4.
46276
46277 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
46278
46279         * NEWS: Document increased portability that sys_select now provides.
46280
46281         * lib/sys_select.in.h: Install select wrapper.
46282         * lib/sys_socket.in.h: Use more descriptive name when there is no
46283         select wrapper.
46284         * lib/winsock-select.c: New.
46285         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
46286         Require gl_HEADER_SYS_SOCKET.
46287         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
46288         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
46289         * tests/test-sys_select.c: Add functional tests.
46290
46291 2008-09-24  Eric Blake  <ebb9@byu.net>
46292
46293         open, fopen: close fd leak in last patch
46294         * lib/open.c (rpl_open): Close fd before returning error.
46295         * lib/fopen.c (rpl_fopen): Close fd before returning error.
46296         * doc/posix-functions/open.texi (open): Document that Irix also
46297         has the bug.
46298         * doc/posix-functions/fopen.texi (fopen): Likewise.
46299         Reported by Paolo Bonzini.
46300
46301 2008-09-24  Bruno Haible  <bruno@clisp.org>
46302
46303         Ensure that a filename ending in a slash cannot be used to access a
46304         non-directory.
46305         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
46306         to check whether it's really a directory.
46307         * lib/fopen.c: Include fcntl.h, unistd.h.
46308         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
46309         and fdopen().
46310         * modules/fopen (Depends-on): Add unistd.
46311         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
46312         * tests/test-fopen.c (main): Likewise.
46313         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
46314         * doc/posix-functions/fopen.texi: Likewise.
46315         Reported by Eric Blake.
46316
46317 2008-09-23  Eric Blake  <ebb9@byu.net>
46318
46319         c-stack: avoid compiler optimizations when provoking overflow
46320         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
46321         recursion harder to optimize, to ensure a stack overflow occurs.
46322         * tests/test-c-stack.c (recurse): Likewise.
46323         Borrowed from libsigsegv.
46324
46325         c-stack: work around Irix sigaltstack bug
46326         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
46327         whether sigaltstack uses wrong end of stack_t (copied in part from
46328         libsigsegv).
46329         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
46330         Irix bug, without requiring an over-allocation.
46331         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
46332         bug.
46333
46334         fopen: document mingw bug on directories
46335         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
46336         not allowing a stream visiting a directory, even though reading
46337         from such a stream is not portable.
46338
46339 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46340
46341         * lib/poll.c: Rewrite.
46342         * modules/poll: Depend on alloca.
46343
46344 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46345
46346         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
46347         instead define prototypes for a full set of wrappers.  Ensure
46348         that Cygwin does not use the compatibility code, which is only
46349         for MinGW.
46350         * lib/winsock.c: New.
46351         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
46352         * modules/sys_socket: Add lib/winsock.c.
46353
46354         * modules/poll-tests: Add errno and perror.
46355         * tests/test-poll.c: Use ioctl, not ioctlsocket.
46356
46357 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46358
46359         * tests/test-poll.c: Downgrade minimum needed Winsock version.
46360
46361 2008-09-23  Bruno Haible  <bruno@clisp.org>
46362
46363         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
46364         * doc/glibc-functions/*: Likewise.
46365
46366 2008-09-23  Simon Josefsson  <simon@josefsson.org>
46367
46368         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
46369         success.
46370
46371 2008-09-22  Eric Blake  <ebb9@byu.net>
46372             Bruno Haible  <bruno@clisp.org>
46373
46374         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
46375         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
46376         supply %A but mishandle pseudo-NaN.
46377         Reported by Simon Josefsson.
46378
46379 2008-09-21  Bruno Haible  <bruno@clisp.org>
46380
46381         * tests/test-lock.c (main): Tweak skip message.
46382         * tests/test-tls.c (main): Likewise.
46383
46384 2008-09-21  Bruno Haible  <bruno@clisp.org>
46385
46386         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46387         whether 'struct sigaction' has sa_sigaction here...
46388         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46389         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46390
46391 2008-09-21  Bruno Haible  <bruno@clisp.org>
46392
46393         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46394         section.
46395         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46396         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46397         the new section.
46398         (Support for obsolete systems lacking POSIX:2001): New section.
46399         (String handling <string.h>): Move strdup to the new section.
46400         Suggested by Simon Josefsson and Paolo Bonzini.
46401
46402 2008-09-21  Bruno Haible  <bruno@clisp.org>
46403
46404         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46405         exponents in %e and %g results on 'long double'. Needed for mingw's
46406         improved *printf functions.
46407         * tests/test-vasprintf-posix.c (test_function): Likewise.
46408         * tests/test-snprintf-posix.h (test_function): Likewise.
46409         * tests/test-sprintf-posix.h (test_function): Likewise.
46410         Reported by Eric Blake.
46411
46412 2008-09-21  Bruno Haible  <bruno@clisp.org>
46413
46414         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46415         * tests/test-sprintf-posix.h (test_function): Likewise.
46416
46417 2008-09-21  Bruno Haible  <bruno@clisp.org>
46418
46419         * modules/getpass (Depends-on): Add strdup-posix.
46420
46421         New module 'strdup-posix'.
46422         * modules/strdup-posix: New file.
46423         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46424         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46425         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46426         REPLACE_STRDUP.
46427         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46428         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46429         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46430         strdup-posix.
46431
46432         * modules/strdup (Depends-on): Remove malloc-posix.
46433
46434 2008-09-20  Bruno Haible  <bruno@clisp.org>
46435
46436         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46437         Wildenhues.
46438
46439 2008-09-20  Bruno Haible  <bruno@clisp.org>
46440
46441         Ensure that wint_t gets defined on IRIX 5.3.
46442         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46443         * lib/wctype.in.h (wint_t): Likewise.
46444         (__wctype_wint_t): Remove type.
46445         (isw*): Use wint_t instead of __wctype_wint_t.
46446         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46447         * modules/wchar (Files): Add m4/wint_t.m4.
46448         (Makefile.am): Substitute HAVE_WINT_T.
46449         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46450         * tests/test-wctype.c: Check that wint_t is defined.
46451         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46452         * doc/posix-headers/wctype.texi: Likewise.
46453         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46454
46455 2008-09-18  Bruno Haible  <bruno@clisp.org>
46456
46457         * gnulib-tool (func_exit): Update comment.
46458
46459 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46460
46461         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46462         assumes strdup exists and does not depend on strdup to return
46463         ENOMEM on out of memory conditions.
46464
46465 2008-09-18  Bruno Haible  <bruno@clisp.org>
46466
46467         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
46468         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46469         digits for the exponent.
46470
46471 2008-09-18  Jim Meyering  <meyering@redhat.com>
46472             Bruno Haible  <bruno@clisp.org>
46473
46474         * lib/vasnprintf.c (decimal_point_char): Define also if
46475         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46476
46477 2008-09-16  Bruno Haible  <bruno@clisp.org>
46478         and Eric Blake  <ebb9@byu.net>
46479
46480         vasnprintf: support Irix 5.3
46481         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46482         that mishandle long double infinity.
46483         Reported by Tom G. Christensen.
46484
46485 2008-09-16  Bruno Haible  <bruno@clisp.org>
46486
46487         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46488         Solaris 9.
46489         * doc/glibc-functions/alphasort.texi: Likewise.
46490         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46491
46492 2008-09-16  Jim Meyering  <meyering@redhat.com>
46493
46494         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46495         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46496         a umask modification leak out of a subshell.  Otherwise, the
46497         opensolaris /bin/sh would be accepted and thus cause unwarranted
46498         failures in the coreutils test suite.
46499
46500 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46501
46502         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46503         to succeed.
46504
46505 2008-09-16  Jim Meyering  <meyering@redhat.com>
46506
46507         avoid spurious test failure when library is built without ACL support
46508         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46509         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46510         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46511         * tests/test-copy-acl.sh: Likewise.
46512
46513 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46514
46515         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46516         based on character occurrence counts.
46517
46518 2008-09-15  Eric Blake  <ebb9@byu.net>
46519
46520         tests: avoid some compiler warnings
46521         * tests/test-memchr.c (main): Pass NULL indirectly.
46522         * tests/test-closein.c (main): Avoid unused variable.
46523
46524 2008-09-15  Bruno Haible  <bruno@clisp.org>
46525
46526         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46527         are missing on OpenBSD 4.0 individually.
46528         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46529
46530 2008-09-15  Bruno Haible  <bruno@clisp.org>
46531
46532         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46533         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46534         * doc/posix-functions/perror.texi: Likewise.
46535         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46536         is missing.
46537         Reported by Eric Blake.
46538
46539         * lib/errno.in.h: Use replacement values >= 2000.
46540         Reported by Eric Blake.
46541
46542 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46543
46544         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46545         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46546         limit.
46547         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46548         compareseq was aborted.
46549
46550 2008-09-14  Bruno Haible  <bruno@clisp.org>
46551
46552         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46553         yvec_edit_count.
46554         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46555         (fstrcmp_bounded): Simplify result computation accordingly.
46556
46557 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46558
46559         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46560         (fstrcmp): Define in terms of fstrcmp_bounded.
46561         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46562         lower_bound argument.
46563         Return quickly if the result is certainly < lower_bound.
46564         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46565
46566 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46567
46568         * lib/diffseq.h (EARLY_ABORT): New macro.
46569         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46570         evaluates to true.
46571
46572 2008-09-14  Bruno Haible  <bruno@clisp.org>
46573
46574         * modules/perror-tests: New file.
46575         * tests/test-perror.sh: New file.
46576         * tests/test-perror.c: New file.
46577
46578         New module 'perror'.
46579         * lib/stdio.in.h (perror): New declaration.
46580         * lib/perror.c: New file.
46581         * m4/perror.m4: New file.
46582         * modules/perror: New file.
46583         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46584         * doc/posix-functions/perror.texi: Mention the perror module.
46585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46586         REPLACE_PERROR.
46587         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46588         REPLACE_PERROR.
46589
46590 2008-09-14  Bruno Haible  <bruno@clisp.org>
46591
46592         * modules/stdio (Makefile.am): Reorder to match the order in
46593         lib/stdio.in.h.
46594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46595
46596 2008-09-13  Bruno Haible  <bruno@clisp.org>
46597
46598         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46599
46600 2008-09-13  Bruno Haible  <bruno@clisp.org>
46601
46602         Extend strerror to cover the added errno values.
46603         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46604         (rpl_strerror): Provide error messages for the added errno values and
46605         for the WSA* values.
46606         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46607         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46608         strerror.
46609         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46610         * modules/strerror (Depends-on): Add errno.
46611         * doc/posix-functions/strerror.texi: Document the change.
46612         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46613         and EOVERFLOW.
46614
46615 2008-09-13  Bruno Haible  <bruno@clisp.org>
46616
46617         * modules/EOVERFLOW: Remove file.
46618         * m4/eoverflow.m4: Remove file.
46619         * modules/EOVERFLOW-tests: Remove file.
46620         * tests/test-EOVERFLOW.c: Remove file.
46621         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46622         * modules/ftell (Depends-on): Likewise.
46623         * modules/getdelim (Depends-on): Likewise.
46624         * modules/getugroups (Depends-on): Likewise.
46625         * modules/poll (Depends-on): Likewise.
46626         * modules/snprintf (Depends-on): Likewise.
46627         * modules/sprintf-posix (Depends-on): Likewise.
46628         * modules/vasnprintf (Depends-on): Likewise.
46629         * modules/vasprintf (Depends-on): Likewise.
46630         * modules/vfprintf-posix (Depends-on): Likewise.
46631         * modules/vsnprintf (Depends-on): Likewise.
46632         * modules/vsprintf-posix (Depends-on): Likewise.
46633         * modules/xvasprintf (Depends-on): Likewise.
46634         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46635         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46636         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46637         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46638         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46639         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46640         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46641         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46642         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46643         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46644         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46645         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46646         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46647         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46648         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46649         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46650         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46651         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46652         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46653         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46654         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46655         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46656         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46657         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46658         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46659         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46660         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46661         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46662         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46663         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46664         * MODULES.html.sh: Remove EOVERFLOW.
46665         * NEWS: Mention the change.
46666
46667 2008-09-13  Bruno Haible  <bruno@clisp.org>
46668
46669         * modules/errno-tests: New file.
46670         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46671
46672         * lib/errno.in.h: New file.
46673         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46674         * modules/errno: New file.
46675         * doc/posix-headers/errno.texi: Update documentation.
46676         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46677
46678 2008-09-13  Bruno Haible  <bruno@clisp.org>
46679
46680         * tests/test-poll.c: Use #if for native Windows, rather than testing
46681         __MSVCRT__.
46682
46683 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46684             Bruno Haible  <bruno@clisp.org>
46685
46686         * lib/glob.c: Don't include <pwd.h> on native Windows.
46687         (WINDOWS32): New macro.
46688         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46689
46690 2008-09-13  Bruno Haible  <bruno@clisp.org>
46691
46692         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46693         (ETIMEDOUT): Remove macro.
46694         (glthread_cond_timedwait_multithreaded): New declaration.
46695         (glthread_cond_timedwait): Use it.
46696         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46697         (glthread_cond_timedwait_multithreaded): New function.
46698
46699 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46700
46701         * modules/poll-tests: Do not check for io.h.
46702         * tests/test-poll.c: Check for __MSVCRT__ instead.
46703
46704 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46705
46706         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46707         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46708         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46709
46710 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46711
46712         * modules/poll-tests: New.
46713         * tests/test-poll.c: New.
46714
46715 2008-09-12  Eric Blake  <ebb9@byu.net>
46716
46717         frexp: test for NetBSD failure on -0.0
46718         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46719         not all, bugs from NetBSD 3.0 have been fixed.
46720         * doc/posix-functions/frexp.texi (frexp): Document bug.
46721         Reported by Thomas Klausner.
46722
46723         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46724         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46725         literal -0.0.
46726         Reported by Jonathan C. Patschke <jp@centtech.com>.
46727
46728 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46729
46730         * lib/glthread/cond.h: Use dummy implementation also if
46731         USE_WIN32_THREADS.
46732
46733 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46734
46735         * modules/fnmatch-posix (License): Change to LGPLv2+.
46736         * modules/fnmatch-gnu (License): Likewise.
46737
46738 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46739
46740         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46741
46742 2008-09-11  Jim Meyering  <meyering@redhat.com>
46743
46744         * users.txt: Add gtk-vnc.
46745
46746 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46747
46748         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46749         rotate amounts.
46750
46751         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46752         required for 16-bit and 8-bit rotates.
46753         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46754         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46755         UINT8_MAX instead of hard-coded constants.
46756         Suggested by Paul Eggert.
46757
46758 2008-09-07  Bruno Haible  <bruno@clisp.org>
46759
46760         * tests/test-striconveh.c (main): Check behaviour when converting from
46761         UTF-7.
46762
46763         Make striconveh work better with stateful encodings.
46764         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46765         that iconv does not increment the inptr when returning -1/EINVAL.
46766
46767 2008-09-07  Bruno Haible  <bruno@clisp.org>
46768
46769         * build-aux/config.rpath: Update according to libtool-2.2.6.
46770         * build-aux/config.libpath: Likewise.
46771
46772 2008-09-06  Bruno Haible  <bruno@clisp.org>
46773
46774         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46775         * lib/freadptr.c (freadptr): Likewise.
46776         * lib/freadseek.c (freadptrinc): Likewise.
46777         Reported by Simon Josefsson.
46778
46779 2008-09-06  Bruno Haible  <bruno@clisp.org>
46780
46781         * modules/freadptr (License): Change to LGPLv2+.
46782         * modules/freadseek (License): Likewise.
46783         Suggested by Eric Blake.
46784
46785         * modules/memchr2 (License): Change to LGPLv2+.
46786         Approved by Eric Blake.
46787
46788 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46789             Bruno Haible  <bruno@clisp.org>
46790
46791         Make gnulib-tool work with native 'sed' on AIX.
46792         * gnulib-tool (sed_noop): New variable.
46793         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
46794         func_add_or_update, func_create_testdir): Use it to initialize sed
46795         script variables.
46796         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46797
46798 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
46799             Bruno Haible  <bruno@clisp.org>
46800
46801         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
46802         also works after #include directives.
46803
46804 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
46805
46806         getdate.y: reject an out-of-range timezone value
46807         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
46808         the range [-24...+24].  When specified with only one or two digits,
46809         * tests/test-getdate.c: Tests for the fix.
46810         * doc/getdate.texi: Document this change.
46811
46812 2008-09-03  Bruno Haible  <bruno@clisp.org>
46813
46814         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
46815
46816 2008-09-02  Simon Josefsson  <simon@josefsson.org>
46817
46818         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
46819         <bruce.korb@gmail.com> with ideas from Ben Pfaff
46820         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
46821         Blake <ebb9@byu.net>.
46822
46823         * tests/test-bitrotate.c: Add more test vectors.
46824
46825 2008-09-02  Eric Blake  <ebb9@byu.net>
46826
46827         vasnprintf-posix: handle large precision via %.*d
46828         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
46829         when handling it ourselves.
46830         * tests/test-vasnprintf-posix.c (test_function): Add test.
46831         * tests/test-snprintf-posix.h (test_function): Likewise.
46832         * tests/test-sprintf-posix.h (test_function): Likewise.
46833         * tests/test-vasprintf-posix.c (test_function): Likewise.
46834         Reported by Alain Guibert.
46835
46836 2008-09-01  Eric Blake  <ebb9@byu.net>
46837
46838         c-stack: make configure-time check more robust
46839         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
46840         successful sigaction call.
46841         Reported by Tom G. Christensen.
46842
46843 2008-09-01  Bruno Haible  <bruno@clisp.org>
46844
46845         New module 'findprog-lgpl'.
46846         * modules/findprog-lgpl: New file.
46847         * lib/findprog-lgpl.c: New file.
46848         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
46849         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
46850         to decide whether to use strdup or xstrdup, concatenated_filename or
46851         xconcatenated_filename.
46852
46853 2008-09-01  Bruno Haible  <bruno@clisp.org>
46854
46855         Split module 'concat-filename' into 'concat-filename' (LGPL) and
46856         'xconcat-filename' (GPL).
46857         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
46858         (License): Change to LGPLv2+.
46859         * modules/xconcat-filename: New file.
46860         * lib/concat-filename.h (concatenated_filename): Change specification.
46861         (xconcatenated_filename): New declaration.
46862         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
46863         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
46864         memory situations.
46865         * lib/xconcat-filename.c: New file.
46866         * NEWS: Mention the change.
46867         * lib/findprog.c: Include concat-filename.h, not filename.h.
46868         (find_in_path): Use xconcatenated_filename instead of
46869         concatenated_filename.
46870         * lib/javacomp.c: Include concat-filename.h, not filename.h.
46871         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
46872         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
46873         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
46874         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
46875         instead of concatenated_filename.
46876         * lib/javaexec.c: Include concat-filename.h, not filename.h.
46877         (execute_java_class): Use xconcatenated_filename instead of
46878         concatenated_filename.
46879         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
46880         * modules/javacomp (Depends-on): Likewise.
46881         * modules/javaexec (Depends-on): Likewise.
46882
46883 2008-09-01  Bruno Haible  <bruno@clisp.org>
46884
46885         Split module 'filename' into 'filename' and 'concat-filename'.
46886         * modules/filename: Keep only lib/filename.h.
46887         (License): Change to LGPLv2+.
46888         * modules/concat-filename: New file, extracted from modules/filename.
46889         * lib/filename.h (concatenated_filename): Remove declaration.
46890         * lib/concat-filename.h: New file, extracted from lib/filename.h.
46891         * lib/concat-filename.c: Include concat-filename.h.
46892         * NEWS: Mention the change.
46893
46894 2008-09-01  Simon Josefsson  <simon@josefsson.org>
46895
46896         * lib/bitrotate.h (rotl8, rotr8): Add.
46897
46898         * modules/bitrotate (configure.ac): Need
46899         AC_REQUIRE([AC_C_INLINE]).
46900         (Description): Mention stdint.h.  Reported by Bruno Haible
46901         <bruno@clisp.org>.
46902
46903         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
46904         Paolo Bonzini <bonzini@gnu.org>.
46905
46906 2008-08-31  Bruno Haible  <bruno@clisp.org>
46907
46908         Assume Solaris specific bi-arch conventions on Solaris systems.
46909         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
46910         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
46911         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
46912         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
46913         like acl_libdirstem.
46914         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
46915         acl_libdirstem.
46916         * NEWS: Mention the change.
46917         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
46918
46919 2008-08-31  Jim Meyering  <meyering@redhat.com>
46920
46921         * lib/strftime.h: Add comments describing the two added arguments.
46922
46923         remove duplicate #include directives
46924         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
46925         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
46926
46927 2008-08-31  Bruno Haible  <bruno@clisp.org>
46928
46929         New module 'sigpipe-die'.
46930         * modules/sigpipe-die: New file.
46931         * lib/sigpipe-die.h: New file.
46932         * lib/sigpipe-die.c: New file.
46933         * MODULES.html.sh (Signal handling): Add sigpipe-die.
46934
46935 2008-08-31  Bruno Haible  <bruno@clisp.org>
46936
46937         Don't override previously installed signal handlers.
46938         * lib/fatal-signal.c (saved_sigactions): New variable.
46939         (uninstall_handlers): Reset the signal to the saved handler, not
46940         to SIG_DFL (except when ignored).
46941         (install_handlers): Save the previous handlers.
46942
46943 2008-08-30  Bruno Haible  <bruno@clisp.org>
46944
46945         * gnulib-tool (func_reset_sigpipe): New function.
46946         (func_get_automake_snippet, func_modules_transitive_closure,
46947         func_import): Invoke it before a join command that reads from stdin,
46948         to avoid "echo: write error: Broken pipe" error messages on stderr.
46949         Reported by Sam Steingold <sds@gnu.org>.
46950
46951 2008-08-30  Bruno Haible  <bruno@clisp.org>
46952
46953         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
46954         Code copied from m4/open.m4.
46955         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
46956         access and the filename ends in a slash. Code copied from lib/open.c.
46957         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
46958         * tests/test-fopen.c (main): Check against bug with trailing slash.
46959
46960 2008-08-29  Bruno Haible  <bruno@clisp.org>
46961
46962         Avoid some "gcc -pedantic" warnings.
46963         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
46964         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
46965         * lib/dirent.in.h: Likewise.
46966         * lib/fcntl.in.h: Likewise.
46967         * lib/float.in.h: Likewise.
46968         * lib/iconv.in.h: Likewise.
46969         * lib/inttypes.in.h: Likewise.
46970         * lib/locale.in.h: Likewise.
46971         * lib/math.in.h: Likewise.
46972         * lib/netinet_in.in.h: Likewise.
46973         * lib/search.in.h: Likewise.
46974         * lib/signal.in.h: Likewise.
46975         * lib/stdarg.in.h: Likewise.
46976         * lib/stdint.in.h: Likewise.
46977         * lib/stdio.in.h: Likewise.
46978         * lib/stdlib.in.h: Likewise.
46979         * lib/string.in.h: Likewise.
46980         * lib/strings.in.h: Likewise.
46981         * lib/sys_select.in.h: Likewise.
46982         * lib/sys_socket.in.h: Likewise.
46983         * lib/sys_stat.in.h: Likewise.
46984         * lib/sys_time.in.h: Likewise.
46985         * lib/sysexits.in.h: Likewise.
46986         * lib/time.in.h: Likewise.
46987         * lib/unistd.in.h: Likewise.
46988         * lib/wchar.in.h: Likewise.
46989         * lib/wctype.in.h: Likewise.
46990         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
46991         * modules/fchdir (Makefile.am): Likewise.
46992         * modules/fcntl (Makefile.am): Likewise.
46993         * modules/float (Makefile.am): Likewise.
46994         * modules/iconv_open (Makefile.am): Likewise.
46995         * modules/inttypes (Makefile.am): Likewise.
46996         * modules/locale (Makefile.am): Likewise.
46997         * modules/math (Makefile.am): Likewise.
46998         * modules/netinet_in (Makefile.am): Likewise.
46999         * modules/search (Makefile.am): Likewise.
47000         * modules/signal (Makefile.am): Likewise.
47001         * modules/stdarg (Makefile.am): Likewise.
47002         * modules/stdint (Makefile.am): Likewise.
47003         * modules/stdio (Makefile.am): Likewise.
47004         * modules/stdlib (Makefile.am): Likewise.
47005         * modules/string (Makefile.am): Likewise.
47006         * modules/strings (Makefile.am): Likewise.
47007         * modules/sys_select (Makefile.am): Likewise.
47008         * modules/sys_socket (Makefile.am): Likewise.
47009         * modules/sys_stat (Makefile.am): Likewise.
47010         * modules/sys_time (Makefile.am): Likewise.
47011         * modules/sysexits (Makefile.am): Likewise.
47012         * modules/time (Makefile.am): Likewise.
47013         * modules/unistd (Makefile.am): Likewise.
47014         * modules/wchar (Makefile.am): Likewise.
47015         * modules/wctype (Makefile.am): Likewise.
47016         Reported by Reuben Thomas <rrt@sc3d.org>.
47017
47018 2008-08-29  Bruno Haible  <bruno@clisp.org>
47019
47020         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
47021         any more.
47022
47023 2008-08-29  Simon Josefsson  <simon@josefsson.org>
47024
47025         * MODULES.html.sh (Misc): Add bitrotate.
47026
47027         * modules/bitrotate: New file.
47028
47029         * lib/bitrotate.h: New file.
47030
47031         * modules/bitrotate-tests: New file.
47032
47033         * tests/test-bitrotate.c: New file.
47034
47035         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
47036         on the bitrotate module.
47037
47038         * lib/arctwo.c: Use new bitrotate module.
47039
47040 2008-08-29  Jim Meyering  <meyering@redhat.com>
47041
47042         bootstrap: merge changes from coreutils
47043         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
47044         of copied files.  Remove a kludge, now that this is fixed.
47045         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
47046         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
47047         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
47048
47049 2008-08-29  Bruno Haible  <bruno@clisp.org>
47050
47051         * MODULES.html.sh: Remove --cvs-urls option.
47052
47053 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
47054
47055         maint.mk: adjust to file name change
47056         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
47057
47058 2008-08-28  Jim Meyering  <meyering@redhat.com>
47059
47060         * modules/getndelim2 (License): Relicense to LGPLv2+.
47061         Approved by Richard Stallman for the version of 1995, and by
47062         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
47063
47064 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
47065
47066         * lib/getdelim.c (flockfile, funlockfile): Make all of them
47067         dummy if one is not available.  Do not touch them if
47068         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
47069         (getc_maybe_unlocked): New.
47070         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
47071
47072 2008-08-26  Eric Blake  <ebb9@byu.net>
47073
47074         doc/INSTALL: resync from autoconf
47075         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
47076         (INSTALL_PRELUDE): Delete; this is done more efficiently by
47077         moving...
47078         * install.texi [!autoconf]: ...here.  Resync from autoconf.
47079         * INSTALL: Regenerate.
47080         * INSTALL.ISO: New file.
47081         * INSTALL.UTF-8: Likewise.
47082
47083 2008-08-26  Jim Meyering  <meyering@redhat.com>
47084
47085         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
47086         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
47087         these definitions conditional, so that they may be overridden, too.
47088
47089 2008-08-26  Bruno Haible  <bruno@clisp.org>
47090
47091         Generate INSTALL file variants with prettier quotes.
47092         * doc/Makefile (INSTALL_PRELUDE): New macro.
47093         (INSTALL): Use it.
47094         (INSTALL.ISO, INSTALL.UTF-8): New rules.
47095
47096 2008-08-26  Bruno Haible  <bruno@clisp.org>
47097
47098         Run makeinfo in an English locale.
47099         * doc/Makefile (MAKEINFO): New variable.
47100
47101 2008-08-26  Bruno Haible  <bruno@clisp.org>
47102
47103         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
47104         Suggested by Eric Blake.
47105
47106 2008-08-25  Bruno Haible  <bruno@clisp.org>
47107
47108         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
47109
47110 2008-08-25  Eric Blake  <ebb9@byu.net>
47111
47112         c-stack: test that stack overflow can be caught
47113         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
47114         that platform allows handling stack overflow; at least OS/2 EMX
47115         has sigaltstack, but crashes before transferring control to
47116         handler on stack overflow.
47117         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
47118         check for HAVE_STACK_OVERFLOW_HANDLING.
47119         Reported by Elbert Pol.
47120
47121 2008-08-25  Bruno Haible  <bruno@clisp.org>
47122
47123         * doc/posix-functions/strftime.texi: Fix description of strftime
47124         module.
47125
47126 2008-08-24  Bruno Haible  <bruno@clisp.org>
47127
47128         * tests/uniwidth/test-uc_width2.c: New file.
47129         * tests/uniwidth/test-uc_width2.sh: New file.
47130         * modules/uniwidth/width-tests (Files): Add the new files.
47131         (TESTS): Add uniwidth/test-uc_width2.sh.
47132         (TESTS_ENVIRONMENT): New variable.
47133         (check_PROGRAMS): Add test-uc_width2.
47134         (test_uc_width2_SOURCES): New variable.
47135
47136         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
47137         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
47138         not 0x00AB.
47139         Reported by Alexander V. Lukyanov <lav@netis.ru>.
47140
47141 2008-08-22  Eric Blake  <ebb9@byu.net>
47142
47143         test-lock, test-tls: mention why a test is skipped
47144         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
47145         skipped.
47146         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
47147
47148         count-one-bits: relax license
47149         * modules/count-one-bits (License): Relicense to LGPLv2+.
47150         Suggested by Ludovic Courtès, approved by Ben Pfaff.
47151
47152 2008-08-22  Andreas Schwab  <schwab@suse.de>
47153
47154         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
47155         Remove spurious space in assignment.
47156
47157 2008-08-21  Simon Josefsson  <simon@josefsson.org>
47158
47159         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
47160         Paul Eggert <eggert@CS.UCLA.EDU>.
47161
47162 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
47163
47164         * modules/gettext: Add m4/threadlib.m4.
47165
47166 2008-08-19  Eric Blake  <ebb9@byu.net>
47167
47168         test-c-stack: fix compilation failure on FreeBSD 5.0
47169         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
47170         headers before <sys/resource.h>.
47171         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
47172         the bug.
47173         Reported by Nelson H. F. Beebe.
47174
47175         strverscmp: migrate from "strverscmp.h" to <string.h>
47176         * modules/string (Makefile.am): Add new hooks.
47177         * modules/strverscmp (Files): Remove strverscmp.h.
47178         (Depends-on): Add string.
47179         (configure.ac): Add indicator.
47180         (Include): Mention new header.
47181         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
47182         defaults.
47183         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
47184         results.
47185         * lib/strverscmp.h: Delete.
47186         * lib/string.in.h (strverscmp): Provide declaration, when needed.
47187         * tests/test-strverscmp.c (includes): Adjust client.
47188         * lib/check-version.c (includes): Likewise.
47189         * NEWS: Document the change.
47190
47191         strverscmp: add unit test
47192         * modules/strverscmp-tests: New file.
47193         * tests/test-strverscmp.c: Likewise.
47194
47195 2008-08-19  Simon Josefsson  <simon@josefsson.org>
47196
47197         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
47198         regarding Windows crypto stuff, from Mono.
47199
47200 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
47201
47202         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
47203         if present, for intel RND.  Return error on failures.
47204
47205 2008-08-18  Ben Pfaff  <blp@gnu.org>
47206
47207         gitlog-to-changelog: give better diagnostic for failed pipe-open
47208         * build-aux/gitlog-to-changelog: Improve error message: suggest
47209         that the version of Git may be too old.
47210
47211 2008-08-18  Simon Josefsson  <simon@josefsson.org>
47212
47213         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
47214         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
47215
47216 2008-08-18  Bruno Haible  <bruno@clisp.org>
47217
47218         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
47219         pthread_in_use().
47220
47221 2008-08-18  Bruno Haible  <bruno@clisp.org>
47222
47223         * lib/glthread/threadlib.c: Include <pthread.h>.
47224
47225 2008-08-18  Bruno Haible  <bruno@clisp.org>
47226
47227         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
47228         glthread_recursive_lock_* macros.
47229         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
47230         Fix syntax error.
47231
47232 2008-08-18  Bruno Haible  <bruno@clisp.org>
47233
47234         * lib/glthread/thread.c: Avoid forcing a context switch right after
47235         thread creation.
47236
47237 2008-08-17  Bruno Haible  <bruno@clisp.org>
47238
47239         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
47240         * lib/glthread/thread.h: Provide Win32 specific implementation.
47241         * modules/thread (Files): Add lib/glthread/thread.c.
47242         (Depends-on): Add lock.
47243         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
47244
47245 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47246
47247         New module 'yield'.
47248         * modules/yield: New file.
47249         * lib/glthread/yield.h: New file.
47250         * m4/yield.m4: New file.
47251         * MODULES.html.sh (Multithreading): Add yield.
47252
47253 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47254
47255         New module 'thread'.
47256         * modules/thread: New file.
47257         * lib/glthread/thread.h: New file.
47258         * m4/thread.m4: New file.
47259         * MODULES.html.sh (Multithreading): Add thread.
47260
47261 2008-08-17  Bruno Haible  <bruno@clisp.org>
47262
47263         * lib/glthread/lock.h: Include <stdlib.h> always.
47264         * lib/glthread/tls.h: Likewise.
47265         * lib/glthread/cond.h: Likewise.
47266
47267 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47268
47269         New module 'cond'.
47270         * modules/cond: New file.
47271         * lib/glthread/cond.h: New file.
47272         * lib/glthread/cond.c: New file.
47273         * m4/cond.m4: New file.
47274         * MODULES.html.sh (Multithreading): Add cond.
47275
47276 2008-08-16  Eric Blake  <ebb9@byu.net>
47277
47278         c-stack: fix regression on Irix 5.3 from 2008-06-21
47279         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
47280         sa_sigaction...
47281         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
47282         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
47283         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
47284         * modules/signal (Makefile.am): Use the value.
47285         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
47286         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
47287         * doc/posix-headers/signal.texi (signal.h): Document this
47288         portability issue.
47289         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
47290         Reported by Tom G. Christensen.
47291
47292 2008-08-17  Bruno Haible  <bruno@clisp.org>
47293
47294         New module 'threadlib'.
47295         * modules/threadlib: New file.
47296         * lib/glthread/threadlib.c: New file, extracted from
47297         lib/glthread/lock.c.
47298         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
47299         functions.
47300         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
47301         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
47302         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
47303         macros.
47304         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
47305         (gl_DISABLE_THREADS): Remove macro.
47306         * modules/lock (Files): Remove build-aux/config.rpath.
47307         (Depends-on): Remove havelib. Add threadlib.
47308         (configure.ac-early): Remove section.
47309         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
47310         * modules/tls (Depends-on): Remove lock. Add threadlib.
47311         (Link): New section, copied from threadlib.
47312         * MODULES.html.sh (Multithreading): Add threadlib.
47313
47314 2008-08-14  Bruno Haible  <bruno@clisp.org>
47315
47316         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
47317         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
47318         glthread_rwlock_unlock, glthread_rwlock_destroy,
47319         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
47320         glthread_recursive_lock_destroy): Define as macros always.
47321         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
47322         glthread_lock_lock.
47323         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
47324         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
47325         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
47326         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
47327         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
47328         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
47329         (glthread_recursive_lock_lock_func): Renamed from
47330         glthread_recursive_lock_lock.
47331         (glthread_recursive_lock_unlock_func): Renamed from
47332         glthread_recursive_lock_unlock.
47333         (glthread_recursive_lock_destroy_func): Renamed from
47334         glthread_recursive_lock_destroy.
47335
47336 2008-08-14  Bruno Haible  <bruno@clisp.org>
47337
47338         * lib/glthread/lock.h: Renamed from lib/lock.h.
47339         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
47340         * lib/glthread/tls.h: Renamed from lib/tls.h.
47341         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
47342         * lib/fstrcmp.c: Update includes.
47343         * lib/strsignal.c: Update includes.
47344         * modules/lock (Files, Makefile.am): Update.
47345         (Include): Change to "glthread/lock.h".
47346         * modules/tls (Files, Makefile.am): Update.
47347         (Include): Change to "glthread/tls.h".
47348         * tests/test-lock.c: Update includes.
47349         * tests/test-tls.c: Update includes.
47350         * NEWS: Mention the renamed header files.
47351
47352 2008-08-11  Jim Meyering  <meyering@redhat.com>
47353
47354         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
47355
47356 2008-08-11  Eric Blake  <ebb9@byu.net>
47357
47358         test-c-stack: avoid C99-ism
47359         * tests/test-c-stack.c (main): Fix whitespace, move declaration
47360         before statement.
47361         Reported by Alain Guibert.
47362
47363 2008-08-10  Jim Meyering  <meyering@redhat.com>
47364
47365         ensure that return value of uinttostr et al are not ignored
47366         * lib/inttostr.h (__GNUC_PREREQ): Define.
47367         (__attribute_warn_unused_result__): Define.
47368         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
47369
47370 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
47371
47372         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
47373         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
47374
47375 2008-08-07  Jim Meyering  <meyering@redhat.com>
47376
47377         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
47378
47379         * modules/mkstemp (License): Relicense under LGPLv2+.
47380         * modules/tempname (License): Likewise.
47381
47382 2008-08-06  Bruno Haible  <bruno@clisp.org>
47383
47384         * lib/poll.c (poll): Further micro-optimization.
47385
47386 2008-08-06  Jim Meyering  <meyering@redhat.com>
47387
47388         inet_pton.c: use locale-independent tolower
47389         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47390         (inet_pton6): Use c_tolower rather than tolower.
47391         * modules/inet_pton (Depends-on): Add c-ctype.
47392
47393 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47394
47395         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47396         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47397
47398 2008-08-06  Jim Meyering  <meyering@redhat.com>
47399
47400         * modules/inet_pton (License): Relicense under LGPLv2+.
47401
47402 2008-08-03  Bruno Haible  <bruno@clisp.org>
47403
47404         Additional non-aborting API for lock and tls.
47405         * lib/lock.h: Include <errno.h>.
47406         (glthread_lock_init): New macro/function.
47407         (gl_lock_init): Define as wrapper around glthread_lock_init.
47408         (glthread_lock_lock): New macro/function.
47409         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47410         (glthread_lock_unlock): New macro/function.
47411         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47412         (glthread_lock_destroy): New macro/function.
47413         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47414         (glthread_rwlock_init): New macro/function.
47415         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47416         (glthread_rwlock_rdlock): New macro/function.
47417         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47418         (glthread_rwlock_wrlock): New macro/function.
47419         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47420         (glthread_rwlock_unlock): New macro/function.
47421         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47422         (glthread_rwlock_destroy): New macro/function.
47423         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47424         (glthread_recursive_lock_init): New macro/function.
47425         (gl_recursive_lock_init): Define as wrapper around
47426         glthread_recursive_lock_init.
47427         (glthread_recursive_lock_lock): New macro/function.
47428         (gl_recursive_lock_lock): Define as wrapper around
47429         glthread_recursive_lock_lock.
47430         (glthread_recursive_lock_unlock): New macro/function.
47431         (gl_recursive_lock_unlock): Define as wrapper around
47432         glthread_recursive_lock_unlock.
47433         (glthread_recursive_lock_destroy): New macro/function.
47434         (gl_recursive_lock_destroy): Define as wrapper around
47435         glthread_recursive_lock_destroy.
47436         (glthread_once): New macro/function.
47437         (gl_once): Define as wrapper around glthread_once.
47438         Update function declarations.
47439         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47440         glthread_rwlock_init. Return error code.
47441         (glthread_rwlock_rdlock_multithreaded): Renamed from
47442         glthread_rwlock_rdlock. Return error code.
47443         (glthread_rwlock_wrlock_multithreaded): Renamed from
47444         glthread_rwlock_wrlock. Return error code.
47445         (glthread_rwlock_unlock_multithreaded): Renamed from
47446         glthread_rwlock_unlock. Return error code.
47447         (glthread_rwlock_destroy_multithreaded): Renamed from
47448         glthread_rwlock_destroy. Return error code.
47449         (glthread_recursive_lock_init_multithreaded): Renamed from
47450         glthread_recursive_lock_init. Return error code.
47451         (glthread_recursive_lock_lock_multithreaded): Renamed from
47452         glthread_recursive_lock_lock. Return error code.
47453         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47454         glthread_recursive_lock_unlock. Return error code.
47455         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47456         glthread_recursive_lock_destroy. Return error code.
47457         (glthread_once_call): Make static.
47458         (glthread_once_multithreaded): Renamed from glthread_once.
47459         * lib/tls.h: Include <errno.h>.
47460         (glthread_tls_key_init): New macro/function.
47461         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47462         (glthread_tls_set): New macro/function.
47463         (gl_tls_set): Define as wrapper around glthread_tls_set.
47464         (glthread_tls_key_destroy): New macro/function.
47465         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47466         Update function declarations.
47467         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47468         glthread_tls_get.
47469         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47470
47471 2008-08-04  Eric Blake  <ebb9@byu.net>
47472
47473         gnumakefile: use space, not TAB, outside of targets
47474         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47475
47476 2008-08-02  Jim Meyering  <meyering@redhat.com>
47477
47478         getdate.y: avoid locale-dependent date parsing failure
47479         In Turkish locales, getdate would fail to recognize keywords
47480         containing a lowercase "i".  The solution is not to rely on
47481         locale-sensitive case-conversion.
47482         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47483         (lookup_word): Use c_toupper in place of toupper.
47484         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47485         Reported by Vefa Bicakci <bicave@superonline.com> in
47486         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47487         * modules/getdate (Depends-on): Add c-ctype.
47488
47489 2008-08-02  Bruno Haible  <bruno@clisp.org>
47490
47491         * gnulib-tool (func_import): When updating or creating a .gitignore
47492         file, prepend each added line with a slash, and ignore leading slashes
47493         from the existing lines.
47494         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47495
47496 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47497
47498         Portability fix for GNU make 3.79.1.
47499         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47500         versions do not understand.
47501
47502 2008-08-01  Bruno Haible  <bruno@clisp.org>
47503
47504         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47505         * tests/test-isnanf.h (zero): New variable.
47506         (main): Avoid literal -0.0f.
47507         * tests/test-isnand.h (zero): New variable.
47508         (main): Avoid literal -0.0.
47509         * tests/test-isnanl.h (zero): New variable.
47510         (main): Avoid literal -0.0L.
47511         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47512         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47513         -0.0, -0.0L.
47514         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47515         (test_signbitd): Avoid literal -0.0.
47516         (test_signbitl): Avoid literal -0.0L.
47517         * tests/test-ceilf1.c (zero): New variable.
47518         (main): Avoid literal -0.0f.
47519         * tests/test-ceill.c (zero): New variable.
47520         (main): Avoid literal -0.0L.
47521         * tests/test-floorf1.c (zero): New variable.
47522         (main): Avoid literal -0.0f.
47523         * tests/test-floorl.c (zero): New variable.
47524         (main): Avoid literal -0.0L.
47525         * tests/test-roundf1.c (zero): New variable.
47526         (main): Avoid literal -0.0f.
47527         * tests/test-round1.c (zero): New variable.
47528         (main): Avoid literal -0.0.
47529         * tests/test-roundl.c (zero): New variable.
47530         (main): Avoid literal -0.0L.
47531         * tests/test-truncf1.c (zero): New variable.
47532         (main): Avoid literal -0.0f.
47533         * tests/test-trunc1.c (zero): New variable.
47534         (main): Avoid literal -0.0.
47535         * tests/test-truncl.c (zero): New variable.
47536         (main): Avoid literal -0.0L.
47537         * tests/test-frexp.c (zero): New variable.
47538         (main): Avoid literal -0.0.
47539         * tests/test-frexpl.c (zero): New variable.
47540         (main): Avoid literal -0.0L.
47541         * tests/test-ldexpl.c (zero): New variable.
47542         (main): Avoid literal -0.0L.
47543         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47544         (zerod, zerol): New variables.
47545         (test_function): Avoid literals -0.0, -0.0L.
47546         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47547         (zerod, zerol): New variables.
47548         (test_function): Avoid literals -0.0, -0.0L.
47549         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47550         (zerod, zerol): New variables.
47551         (test_function): Avoid literals -0.0, -0.0L.
47552         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47553         (zerod, zerol): New variables.
47554         (test_function): Avoid literals -0.0, -0.0L.
47555         * tests/test-strtod.c (zero): New variable.
47556         (main): Avoid literal -0.0.
47557         Reported by Jonathan C. Patschke <jp@centtech.com>.
47558
47559 2008-07-31  Jim Meyering  <meyering@redhat.com>
47560
47561         sha256.h: correct definition of SHA224_DIGEST_SIZE
47562         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47563         Reported by Paulie Pena IV <paulie4@gmail.com>.
47564         Define as 224 / 8, rather than as a literal.
47565         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47566         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47567         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47568
47569 2008-07-31  Bruno Haible  <bruno@clisp.org>
47570
47571         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47572         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47573         Reported by Jonathan Patschke <jp@centtech.com>.
47574
47575 2008-07-31  Bruno Haible  <bruno@clisp.org>
47576
47577         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47578         Reported by Paolo Bonzini <bonzini@gnu.org>.
47579
47580 2008-07-30  Eric Blake  <ebb9@byu.net>
47581
47582         test-strtod: allow compilation without -lm
47583         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47584         Reported by Dennis Clarke <blastwave@gmail.com>.
47585
47586 2008-07-28  Jim Meyering  <meyering@redhat.com>
47587
47588         bootstrap: work also when there are no .po files in po/
47589         * build-aux/bootstrap (update_po_files): Complete the change
47590         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47591
47592 2008-07-27  Jim Meyering  <meyering@redhat.com>
47593
47594         * users.txt: Add zile.
47595
47596 2008-07-26  Ben Pfaff  <blp@gnu.org>
47597
47598         Add missing dependencies on new m4/exponent[fdl].m4 files.
47599         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47600         * modules/isnand-nolibm: Add m4/exponentd.m4.
47601         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47602         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47603         m4/isnan[fdl].m4, because the macros actually used moved.
47604         Reported by Jim Meyering.
47605
47606 2008-07-14  Ben Pfaff  <blp@gnu.org>
47607
47608         Add isinf module.
47609         * lib/isinf.c: New file.
47610         * lib/math.in.h: Define isinf macro if we have decided to replace
47611         it.
47612         * m4/isinf.m4: New file.
47613         * m4/math_h.m4: Initialize and substitute variables for isinf
47614         module.
47615         * modules/isinf: New file.
47616         * modules/isinf-tests: New file.
47617         * modules/math: Add substitutions for new module.
47618         * tests/test-isinf.c: New file.
47619         * doc/posix-functions/isinf.texi: Mention new module.
47620         * MODULES.html.sh: Mention new module.
47621
47622 2008-07-14  Ben Pfaff  <blp@gnu.org>
47623
47624         Factor out some macros for use by additional modules.
47625         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47626         exponentf.m4.
47627         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47628         exponentd.m4.
47629         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47630         file exponentl.m4.
47631         * m4/exponentf.m4: New file.
47632         * m4/exponentd.m4: New file.
47633         * m4/exponentl.m4: New file.
47634         * modules/isnanf: Use new file m4/exponentf.m4.
47635         * modules/isnand: Use new file m4/exponentd.m4.
47636         * modules/isnanl: Use new file m4/exponentl.m4.
47637
47638 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47639
47640         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47641         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47642         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47643         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47644
47645         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47646         readlink on platforms without PATH_MAX.
47647
47648 2008-07-21  Eric Blake  <ebb9@byu.net>
47649
47650         Warn, not fail, on stale version.
47651         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47652
47653         Don't allow installation with stale devel version number.
47654         * top/GNUmakefile (_is-install-target): New macro.
47655         (_curr-ver): Forbid installation with stale version number.
47656
47657 2008-07-20  Bruno Haible  <bruno@clisp.org>
47658
47659         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47660         TESTS_ENVIRONMENT.
47661         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47662
47663 2008-07-20  Bruno Haible  <bruno@clisp.org>
47664
47665         * lib/c-stack.h (c_stack_action): Add documentation.
47666         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47667
47668 2008-07-20  Bruno Haible  <bruno@clisp.org>
47669
47670         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47671         * modules/readlink (License): Likewise.
47672
47673 2008-07-17  Eric Blake  <ebb9@byu.net>
47674
47675         * modules/c-stack (Link): Fix typo.
47676
47677         Make c-stack use libsigsegv, when available.
47678         * modules/c-stack (Depends-on): Add libsigsegv.
47679         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47680         needed.
47681         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47682         (segv_handler, overflow_handler, c_stack_action)
47683         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47684         implementation when libsigsegv is available, but only when using
47685         the library is necessary.
47686         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47687         comment, explaining why XSI check fails on Linux.
47688         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47689         * tests/test-c-stack2.sh: Tweak skip message.
47690         * NEWS: Document new link-time requirements.
47691
47692 2008-07-16  Eric Blake  <ebb9@byu.net>
47693
47694         c-stack: Expose false positives when not using libsigsegv.
47695         * modules/c-stack-tests (Files): Expand test.
47696         * tests/test-c-stack.c (main): Add means to conditionally trigger
47697         non-overflow SIGSEGV.
47698         * tests/test-c-stack2.sh: New file.
47699
47700 2008-07-14  Bruno Haible  <bruno@clisp.org>
47701
47702         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47703         Reported by Eric Blake.
47704
47705 2008-07-14  Sam Steingold  <sds@gnu.org>
47706             Bruno Haible  <bruno@clisp.org>
47707
47708         New module libsigsegv.
47709         * modules/libsigsegv: New file.
47710         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47711         modifications.
47712         * MODULES.html.sh (Signal handling): New section.
47713
47714 2008-07-14  Bruno Haible  <bruno@clisp.org>
47715
47716         * modules/unictype/ctype-* (Description): Add the word "function".
47717         Improves the resulting doc in MODULES.html.
47718
47719 2008-07-12  Ben Pfaff  <blp@gnu.org>
47720
47721         Add longlong module.
47722         * modules/longlong: New file.
47723
47724 2008-07-12  Bruno Haible  <bruno@clisp.org>
47725
47726         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47727         to empty.
47728
47729 2008-07-10  Ben Pfaff  <blp@gnu.org>
47730
47731         Add isnan module.
47732         * doc/posix-functions/isnan.texi: Mention new module.
47733         * lib/math.in.h: Define isnan macro if we have decided to replace
47734         it.
47735         * m4/isnan.m4: New file.
47736         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47737         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47738         also.
47739         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47740         redundancy.
47741         * m4/math_h.m4: Initialize and substitute variables for isnan
47742         module.
47743         * modules/isnan: New file.
47744         * modules/isnan-tests: New file.
47745         * modules/math: Add substitutions for new module.
47746         * tests/test-isnan.c: New file.
47747         * MODULES.html.sh: Mention new module.
47748
47749 2008-07-10  Ben Pfaff  <blp@gnu.org>
47750
47751         Add isnanf module.
47752         * lib/isnanf.m4: New file.
47753         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47754         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47755         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47756         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47757         * modules/isnanf: New file.
47758         * modules/isnanf-tests: New file.
47759         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47760         files.
47761         * tests/test-isnanf-nolibm.c: factored most of its contents into
47762         new file tests/test-isnanf.h.
47763         * tests/test-isnanf.h: New file.
47764         * tests/test-isnanf.c: New file.
47765         * MODULES.html.sh: Mention new module.
47766         * doc/glibc-functions/isnanf.texi: Mention new module.
47767
47768 2008-07-10  Ben Pfaff  <blp@gnu.org>
47769
47770         Add isnand module.
47771         * lib/isnand.h: New file.
47772         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47773         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47774         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47775         functionality also.
47776         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47777         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47778         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47779         * modules/isnand: New file.
47780         * modules/isnand-tests: New file.
47781         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47782         files.
47783         * tests/test-isnand-nolibm.c: factored most of its contents into
47784         new file tests/test-isnand.h.
47785         * tests/test-isnand.h: New file.
47786         * tests/test-isnand.c: New file.
47787         * MODULES.html.sh: Mention new module.
47788
47789 2008-07-10  Ben Pfaff  <blp@gnu.org>
47790
47791         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47792         * lib/isnand.h: Rename lib/isnand-nolibm.h.
47793         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
47794         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
47795         * modules/isnanf-nolibm: Update references to renamed files.
47796         * modules/isnand-nolibm: Likewise.
47797         * modules/isnanf-nolibm-tests: Likewise.
47798         * modules/isnand-nolibm-tests: Likewise.
47799         * lib/frexp.c: Likewise.
47800         * lib/isfinite.c: Likewise.
47801         * lib/signbitd.c: Likewise.
47802         * lib/signbitf.c: Likewise.
47803         * lib/vasnprintf.c: Likewise.
47804         * tests/test-ceilf1.c: Likewise.
47805         * tests/test-ceilf2.c: Likewise.
47806         * tests/test-floorf1.c: Likewise.
47807         * tests/test-floorf2.c: Likewise.
47808         * tests/test-frexp.c: Likewise.
47809         * tests/test-round1.c: Likewise.
47810         * tests/test-round2.c: Likewise.
47811         * tests/test-roundf1.c: Likewise.
47812         * tests/test-strtod.c: Likewise.
47813         * tests/test-trunc1.c: Likewise.
47814         * tests/test-trunc2.c: Likewise.
47815         * tests/test-truncf1.c: Likewise.
47816         * tests/test-truncf2.c: Likewise.
47817         * NEWS: Mention the renamed header files.
47818
47819 2008-07-11  Jim Meyering  <meyering@redhat.com>
47820
47821         vc-list-files: make the last-resort awk code more portable
47822         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
47823         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
47824         does not support it.
47825
47826 2008-07-10  Eric Blake  <ebb9@byu.net>
47827
47828         Work with tar's bootstrap.
47829         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
47830         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
47831         an m4 comment.
47832
47833 2008-07-09  Jim Meyering  <meyering@redhat.com>
47834
47835         posix-shell.m4: fix typo that made this test malfunction
47836         * m4/posix-shell.m4: Remove capitalization in variable name.
47837
47838 2008-07-08  Bruno Haible  <bruno@clisp.org>
47839
47840         * m4/onceonly.m4: Update comments.
47841         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47842
47843 2008-07-04  Jim Meyering  <meyering@redhat.com>
47844
47845         * users.txt: Add vc-dwim.
47846         (bison, coreutils): Use the gitweb URL.
47847
47848 2008-07-03  Jim Meyering  <meyering@redhat.com>
47849
47850         * users.txt: Add libffcall.  From Sam Steingold.
47851
47852 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
47853
47854         getdate.y: do not ignore TZ with relative day, month or year offset
47855         * lib/getdate.y (get_date): Move the tz-handling block to follow the
47856         relative-date-handling, since otherwise, the latter would clobber the
47857         sole output (an updated Start value) of the tz-handling block.
47858         * tests/test-getdate.c: Tests for the fix
47859
47860 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47861
47862         Recognize 'foo_LIBRARIES += libgnu.a'.
47863         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
47864         makefile snippet has already specified an installation location,
47865         also using '+='.
47866
47867 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
47868
47869         getdate.y: factor out common actions
47870         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
47871         Use them in place of open-coded actions.
47872
47873 2008-07-01  Simon Josefsson  <simon@josefsson.org>
47874
47875         Add self-test for getdate module.
47876         * modules/getdate-tests: New file.
47877         * tests/test-getdate.c: New file.
47878
47879 2008-06-29  Bruno Haible  <bruno@clisp.org>
47880
47881         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
47882         .gitignore.
47883         Reported by Sylvain Beucler <beuc@beuc.net>.
47884
47885 2008-06-29  Bruno Haible  <bruno@clisp.org>
47886
47887         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
47888         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
47889
47890 2008-06-29  Bruno Haible  <bruno@clisp.org>
47891
47892         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
47893         EXTRA_DIST.
47894         Reported by Sylvain Beucler <beuc@beuc.net>.
47895
47896 2008-06-26  Jim Meyering  <meyering@redhat.com>
47897
47898         make several modules depend on the "open" module
47899         This provides slightly increased consistency when opening-for-write
47900         the name of a non-directory spelled with a trailing slash.
47901         * modules/chdir-safer: Likewise.
47902         * modules/chown: Likewise.
47903         * modules/clean-temp: Likewise.
47904         * modules/copy-file: Likewise.
47905         * modules/fchdir: Likewise.
47906         * modules/fcntl-safer: Likewise.
47907         * modules/pipe: Likewise.
47908         * modules/utime: Likewise.
47909         Prompted by Eric Blake and Bruno Haible.
47910
47911 2008-06-24  Andreas Schwab  <schwab@suse.de>
47912
47913         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
47914         literals can be used as initializers for global variables.
47915
47916 2008-06-23  Eric Blake  <ebb9@byu.net>
47917
47918         Make gnulib-cache.m4 easier to diff.
47919         * gnulib-tool (func_import): Allow newlines when reading cached
47920         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
47921
47922 2008-06-23  Bruno Haible  <bruno@clisp.org>
47923
47924         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
47925         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
47926         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
47927         m4/signalblocking.m4.
47928         (gl_PREREQ_SIGACTION): Don't invoke it.
47929         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
47930         gl_PREREQ_SIG_HANDLER_H.
47931         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47932         Don't check for sigaction here.
47933
47934 2008-06-23  Bruno Haible  <bruno@clisp.org>
47935
47936         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
47937         (install_handlers): Don't set the SA_RESETHAND flag.
47938
47939 2008-06-23  Bruno Haible  <bruno@clisp.org>
47940
47941         * m4/sigaction.m4: Comment fixes.
47942         * lib/signal.in.h: Likewise.
47943
47944 2008-06-23  Eric Blake  <ebb9@byu.net>
47945
47946         Fix typo.
47947         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
47948
47949         Avoid SA_ namespace.
47950         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
47951         Reported by Ralf Wildenhues.
47952
47953         Avoid test failure due to SA_RESTORER.
47954         * tests/test-sigaction.c (SA_MASK): New macro.
47955         (main): Avoid failing due to extension flags being set.
47956         Reported by Jim Meyering.
47957
47958         Revert use of sig-handler.h in sigprocmask.c.
47959         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
47960         it requires the existence of struct sigaction.
47961         * lib/sigprocmask.c (handler_t): Restore typedef.
47962         (rpl_signal, old_handlers): Use local type.
47963
47964 2008-06-22  Bruno Haible  <bruno@clisp.org>
47965
47966         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
47967         conditionally.
47968         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47969
47970 2008-06-22  Bruno Haible  <bruno@clisp.org>
47971
47972         * doc/posix-functions/siginterrupt.texi: Move note.
47973
47974         * lib/signal.in.h (SA_RESTART): New macro.
47975         * lib/sigaction.c: Update comment.
47976
47977         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
47978
47979         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
47980         (gl_PREREQ_SIGPROCMASK): Invoke it.
47981         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
47982
47983         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
47984
47985         * lib/sigprocmask.c: Update a comment.
47986
47987 2008-06-21  Eric Blake  <ebb9@byu.net>
47988
47989         Use sigaction module rather than signal().
47990         * modules/c-stack (Depends-on): Add sigaction.
47991         * modules/fatal-signal (Depends-on): Likewise.
47992         * modules/nanosleep (Depends-on): Likewise.
47993         * modules/sigprocmask (Files): Add sig-handler.h.
47994         * modules/sigaction (Files): Likewise.
47995         * lib/sig-handler.h (get_handler): New file, suggested by Paul
47996         Eggert.
47997         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
47998         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
47999         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
48000         (init_fatal_signals): Likewise.
48001         * lib/nanosleep.c (rpl_nanosleep): Likewise.
48002         (siginterrupt): Delete fallback.
48003         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
48004         instead.
48005         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
48006         siginterrupt.
48007
48008         New module sigaction, for mingw.
48009         * modules/sigaction: New module...
48010         * modules/sigaction-tests: ...and its test.
48011         * m4/sigaction.m4: New file.
48012         * lib/sigaction.c: Likewise.
48013         * tests/test-sigaction.c: Likewise.
48014         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
48015         * modules/signal (Makefile.am): Likewise.
48016         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
48017         needed.
48018         * doc/posix-headers/signal.texi (signal.h): Mention provided
48019         types.
48020         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
48021         that sigaction is preferable.
48022         * doc/posix-functions/sigaction.texi (sigaction): Mention new
48023         module.
48024         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48025         sigaction.
48026
48027         Improve robustness of sigprocmask by overriding signal.
48028         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
48029         is in use.
48030         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
48031         (SIGKILL, SIGSTOP): Provide fallbacks.
48032         (rpl_signal): Implement.
48033         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
48034         signal can be called inside handlers.
48035
48036         Fix nanosleep module on mingw.
48037         * modules/nanosleep (Depends-on): Add sys_select.
48038         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
48039
48040         Fix licensing of sigprocmask.
48041         * modules/raise (License): Relicense as LGPL.
48042
48043 2008-06-21  Bruno Haible  <bruno@clisp.org>
48044
48045         * lib/propername.c (proper_name_utf8): Don't use the transliterated
48046         result if it contains question marks.
48047         Reported by Michael Geng <linux@michaelgeng.de>.
48048
48049 2008-06-19  Bruno Haible  <bruno@clisp.org>
48050
48051         Fix CVS-ism.
48052         * doc/gnulib.texi: Include updated-stamp.texi.
48053         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
48054         (updated-stamp.texi): New rule.
48055         (gnulib.info): Depend on it.
48056         * doc/.gitignore: Add updated-stamp.texi.
48057         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
48058
48059 2008-06-19  Bruno Haible  <bruno@clisp.org>
48060
48061         * doc/Makefile (gnulib.info): Update and simplify dependencies.
48062         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48063
48064 2008-06-19  Eric Blake  <ebb9@byu.net>
48065
48066         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
48067         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
48068         Reported by Stepan Kasal.
48069
48070 2008-06-18  Bruno Haible  <bruno@clisp.org>
48071
48072         * lib/fatal-signal.c (init_fatal_signals): Add comment.
48073         Reported by Eric Blake.
48074
48075 2008-06-18  Eric Blake  <ebb9@byu.net>
48076
48077         Work around cygwin 1.5.25 strsignal bug.
48078         * tests/test-strsignal.c: Allow for const char *.
48079         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
48080
48081 2008-06-18  Simon Josefsson  <simon@josefsson.org>
48082
48083         * users.txt: Update URL to article and add author/date
48084         information.
48085
48086 2008-06-17  Bruno Haible  <bruno@clisp.org>
48087
48088         New macro gl_DISABLE_THREADS.
48089         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
48090         if the user did not pass --enable-threads or --disable-threads option.
48091         (gl_DISABLE_THREADS): New macro.
48092         Reported by Eric Blake <ebb9@byu.net>.
48093
48094 2008-06-17  Bruno Haible  <bruno@clisp.org>
48095
48096         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
48097         when the macro ignores it.
48098         Based on a patch by Eric Blake <ebb9@byu.net>.
48099
48100 2008-06-17  Bruno Haible  <bruno@clisp.org>
48101
48102         * modules/tls (License): Change to LGPLv2+.
48103         Reported by Eric Blake.
48104
48105 2008-06-17  Eric Blake  <ebb9@byu.net>
48106
48107         Simplify c-stack prerequisites.
48108         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
48109         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
48110         no longer requires <ucontext.h> to exist.  Optimize setrlimit
48111         check.
48112         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
48113         <sys/resource.h>.
48114
48115         Move c-stack test into testsuite.
48116         * modules/c-stack-tests: New file.
48117         * lib/c-stack.c [DEBUG]: Move test program...
48118         * tests/test-c-stack.c: ...into this new file.  Skip rather than
48119         fail test if sigaltstack is lacking.
48120         * tests/test-c-stack.sh: New driver file.
48121
48122 2008-06-16  Eric Blake  <ebb9@byu.net>
48123
48124         Use raise module consistently.
48125         * modules/fatal-signal (Depends-on): Add raise.
48126         * modules/sigprocmask (Depends-on): Likewise.
48127         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
48128         * lib/sigprocmask.c (sigprocmask): Likewise.
48129         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48130         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
48131
48132         Fix compliance bug in sigpending.
48133         * lib/sigprocmask.c (sigpending): Return pending array via
48134         parameter, not return value.
48135
48136 2008-06-14  Eric Blake  <ebb9@byu.net>
48137
48138         Improve obstack-printf test code.
48139         * tests/test-obstack-printf.c (test_function): Fix comment, and
48140         simplify usage of obstack_* in macros.  Add a test for coverage.
48141         Reported by Bruno Haible.
48142
48143 2008-06-14  Bruno Haible  <bruno@clisp.org>
48144
48145         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
48146         array size as a constant, not as a const variable.
48147         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
48148         AC_USE_SYSTEM_EXTENSIONS.
48149         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48150         Test whether the obstack_printf function actually exists.
48151         * modules/obstack-printf (Depends-on): Add extensions.
48152         (Include): Remove obstack.h.
48153         * modules/obstack-printf-posix (Depends-on): Add extensions.
48154         (Include): Remove obstack.h.
48155
48156 2008-06-13  Eric Blake  <ebb9@byu.net>
48157
48158         Add obstack-printf and obstack-printf-posix modules.
48159         * modules/obstack-printf: New file.
48160         * modules/obstack-printf-posix: Likewise.
48161         * MODULES.html.sh (Misc): Mention them.
48162         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48163         Likewise.
48164         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48165         Likewise.
48166         * modules/stdio (Makefile.am): Accomodate new modules.
48167         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48168         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
48169         Declare.
48170         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
48171         functions.
48172         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
48173         (gl_REPLACE_OBSTACK_PRINTF): New macros
48174         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
48175         * tests/test-obstack-printf.c: New file.
48176         * modules/obstack-printf-tests: Likewise.
48177         * modules/obstack-printf-posix-tests: Likewise.
48178
48179 2008-06-11  Bruno Haible  <bruno@clisp.org>
48180
48181         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
48182         * lib/open.c: Include errno.h.
48183         (open): Fail when attempting to write to a file that has a trailing
48184         slash.
48185         * tests/test-open.c (main): Test against trailing slash bug.
48186         * doc/posix-functions/open.texi: Mention the trailing slash bug.
48187
48188 2008-06-10  Bruno Haible  <bruno@clisp.org>
48189
48190         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
48191         for $? to work inside the trap command, with various /bin/sh-s.
48192         * tests/test-vc-list-files-cvs.sh: Likewise.
48193
48194 2008-06-10  Bruno Haible  <bruno@clisp.org>
48195
48196         * lib/acl-internal.h: Don't include gettext.h here.
48197         * lib/set-mode-acl.c: Include gettext.h here.
48198         * lib/copy-acl.c: Likewise.
48199
48200 2008-06-10  Bruno Haible  <bruno@clisp.org>
48201
48202         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
48203         * lib/wait-process.c (wait_subprocess): Likewise.
48204         * lib/execute.h (execute): Add termsigp argument.
48205         * lib/execute.c (execute): Likewise.
48206         * lib/csharpcomp.c (compile_csharp_using_pnet,
48207         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
48208         * lib/csharpexec.c (execute_csharp_using_pnet,
48209         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
48210         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
48211         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
48212         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
48213         is_jikes_present): Update.
48214         * lib/javaexec.c (execute_java_class): Update.
48215         * lib/javaversion.c (execute_and_read_line): Update.
48216         * NEWS: Document the changes.
48217         Reported by Eric Blake.
48218
48219 2008-06-10  Eric Blake  <ebb9@byu.net>
48220
48221         Add missing include.
48222         * tests/test-strstr.c (includes): Add <signal.h>.
48223         * tests/test-strcasestr.c (includes): Likewise.
48224         * tests/test-memmem.c (includes): Likewise.
48225
48226 2008-06-10  Bruno Haible  <bruno@clisp.org>
48227
48228         * lib/wait-process.c (wait_subprocess): Add an assertion.
48229
48230 2008-06-10  Bruno Haible  <bruno@clisp.org>
48231
48232         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
48233
48234 2008-06-10  Bruno Haible  <bruno@clisp.org>
48235
48236         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
48237         using alarm().
48238         * tests/test-strcasestr.c (main): Likewise.
48239         * tests/test-strstr.c (main): Likewise.
48240
48241 2008-06-09  Bruno Haible  <bruno@clisp.org>
48242
48243         Work around the Solaris 10 ACE ACLs ABI change.
48244         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
48245         declare if ACL_NO_TRIVIAL is present.
48246         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
48247         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
48248         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
48249         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
48250         define if ACL_NO_TRIVIAL is present.
48251         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
48252         and use the current ABI.
48253         (file_has_acl): Use same #if condition as elsewhere.
48254         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
48255         in use, and use the current ABI.
48256         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
48257         Reported by Jim Meyering.
48258
48259 2008-06-09  Eric Blake  <ebb9@byu.net>
48260
48261         Work around environments that (stupidly) ignore SIGALRM.
48262         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
48263         before using alarm().
48264         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48265         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48266         Reported by Ian Beckwith <ianb@erislabs.net>.
48267
48268         Produce autobuild blurb earlier in log.
48269         * modules/autobuild (configure.ac-early): Move AB_INIT here.
48270
48271 2008-06-09  Jim Meyering  <meyering@redhat.com>
48272         and OndÅ™ej Vašík  <ovasik@redhat.com>
48273
48274         utimens.c: correct kernel bug work-around
48275         OndÅ™ej Vašík found that the invalid return value of 280 indicates
48276         failure, not success, and the kernel bug we're trying to work
48277         around affects not just the utimensat call, but also the fallback
48278         futimens call.
48279         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
48280         not success.
48281         [HAVE_FUTIMENS]: Use the same work-around, here.
48282
48283 2008-06-09  Jim Meyering  <meyering@redhat.com>
48284
48285         add more guards around definition of ACE_-related code
48286         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
48287         ALLOW and ACE_OWNER are also defined.
48288
48289 2008-06-08  Bruno Haible  <bruno@clisp.org>
48290
48291         * lib/acl-internal.h: Add me as co-author.
48292         * lib/file-has-acl.c: Likewise.
48293         * lib/set-mode-acl.c: Likewise.
48294         * lib/copy-acl.c: Likewise.
48295
48296 2008-06-08  Bruno Haible  <bruno@clisp.org>
48297
48298         Add support for AIX ACLs.
48299         * lib/acl-internal.h (acl_nontrivial): New declaration.
48300         * lib/file-has-acl.c (acl_nontrivial): New function.
48301         (file_has_acl): Add implementation using AIX 4 ACL API.
48302         * lib/set-mode-acl.c (qset_acl): Likewise.
48303         * lib/copy-acl.c (qcopy_acl): Likewise.
48304
48305 2008-06-08  Bruno Haible  <bruno@clisp.org>
48306
48307         Add support for HP-UX ACLs.
48308         * lib/acl-internal.h (acl_nontrivial): New declaration.
48309         * lib/file-has-acl.c (acl_nontrivial): New function.
48310         (file_has_acl): Add implementation using HP-UX 11 ACL API.
48311         * lib/set-mode-acl.c (qset_acl): Likewise.
48312         * lib/copy-acl.c (qcopy_acl): Likewise.
48313
48314 2008-06-08  Bruno Haible  <bruno@clisp.org>
48315
48316         Add support for Cygwin ACLs.
48317         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
48318         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
48319         the chmod_or_fchmod call.
48320         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
48321
48322 2008-06-08  Bruno Haible  <bruno@clisp.org>
48323
48324         Fix bug with setuid modes in Solaris 10+ code.
48325         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
48326         succeeded, when the mode contains some special bits.
48327
48328 2008-06-08  Bruno Haible  <bruno@clisp.org>
48329
48330         Add support for Solaris 7..10 ACLs.
48331         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
48332         declarations.
48333         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
48334         functions.
48335         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
48336         * lib/set-mode-acl.c (qset_acl): Likewise.
48337         * lib/copy-acl.c (qcopy_acl): Likewise.
48338
48339 2008-06-08  Bruno Haible  <bruno@clisp.org>
48340
48341         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
48342         declaration.
48343         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
48344         (acl_access_nontrivial): Remove MacOS X case.
48345         (file_has_acl): Use acl_extended_nontrivial.
48346         * lib/copy-acl.c (qcopy_acl): Likewise.
48347
48348 2008-06-08  Bruno Haible  <bruno@clisp.org>
48349
48350         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
48351
48352 2008-06-08  Jim Meyering  <meyering@redhat.com>
48353
48354         * modules/acl (Maintainer): Add Bruno Haible.
48355
48356 2008-06-07  Bruno Haible  <bruno@clisp.org>
48357
48358         Improve support for Tru64 ACLs.
48359         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
48360         ACL on OSF/1.
48361
48362 2008-06-07  Bruno Haible  <bruno@clisp.org>
48363
48364         Add support for MacOS X ACLs.
48365         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
48366         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
48367         * lib/set-mode-acl.c (qset_acl): Likewise.
48368         * lib/copy-acl.c (qcopy_acl): Likewise.
48369
48370 2008-06-07  Bruno Haible  <bruno@clisp.org>
48371
48372         Fix memory leak introduced on 2008-05-22.
48373         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
48374         use.
48375
48376 2008-06-07  Bruno Haible  <bruno@clisp.org>
48377
48378         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
48379         to construct an empty ACL.
48380
48381 2008-06-07  Bruno Haible  <bruno@clisp.org>
48382
48383         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48384         precisely.
48385         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48386
48387 2008-06-07  Bruno Haible  <bruno@clisp.org>
48388
48389         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48390         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48391
48392 2008-06-07  Bruno Haible  <bruno@clisp.org>
48393
48394         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48395         regardless of POSIX.
48396         * doc/posix-functions/_longjmp.texi: Likewise.
48397         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48398         SystemV platform in this case.
48399
48400 2008-06-06  Eric Blake  <ebb9@byu.net>
48401
48402         Document abort() bugs.
48403         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48404
48405         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48406         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48407         sigsetjmp.
48408         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48409         siglongjmp, but only as a macro.
48410         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48411         is obsolete.
48412         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48413
48414         Tweak documentation to cover cygwin argz bugs.
48415         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48416         argz bug fix; no code change needed since no cygwin releases
48417         occurred between the last fix and the bug being tested.
48418         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48419         module and recently fixed cygwin bugs.
48420         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48421         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48422         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48423         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48424         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48425         Likewise.
48426         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48427         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48428         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48429         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48430         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48431         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48432         Likewise.
48433
48434         Avoid gcc warning on cygwin.
48435         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48436         !ACL_NO_TRIVIAL]: Avoid unused variable.
48437
48438 2008-06-05  Eric Blake  <ebb9@byu.net>
48439
48440         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48441         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48442         git-version-gen fails to come up with a version.
48443         Reported by Simon Josefsson.
48444
48445 2008-06-05  Jim Meyering  <meyering@redhat.com>
48446             Paul Eggert  <eggert@cs.ucla.edu>
48447
48448         utimens.c: work around a probable Linux kernel bug
48449         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48450         appears to be a kernel bug that causes utimensat to return 280
48451         instead of 0, indicating success.
48452
48453 2008-06-04  Bruno Haible  <bruno@clisp.org>
48454
48455         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48456         2008-06-01 commit.
48457
48458 2008-06-04  Bruno Haible  <bruno@clisp.org>
48459
48460         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48461         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48462         (file_has_acl): Use it. Save errno afterwards.
48463         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48464
48465 2008-06-03  Bruno Haible  <bruno@clisp.org>
48466
48467         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48468         draft code. Simplify #ifs.
48469         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48470         Put Solaris code after POSIX-draft code. Fix comments regarding
48471         Solaris 10, HP-UX. Mention Cygwin.
48472         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48473
48474 2008-06-03  Eric Blake  <ebb9@byu.net>
48475
48476         Provide fallback for older kernels.
48477         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48478         Provide runtime fallback if kernel lacks support.
48479         Reported by Mike Frysinger.
48480
48481 2008-06-02  Bruno Haible  <bruno@clisp.org>
48482
48483         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48484         it exists.
48485
48486 2008-06-02  Bruno Haible  <bruno@clisp.org>
48487
48488         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48489         * lib/copy-acl.c (qcopy_acl): Update comment.
48490
48491 2008-06-02  Bruno Haible  <bruno@clisp.org>
48492
48493         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48494         like ACL APIs.
48495
48496 2008-06-02  Bruno Haible  <bruno@clisp.org>
48497
48498         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48499         * tests/test-set-mode-acl.sh: Likewise.
48500         * tests/test-copy-acl.sh: Likewise.
48501         * tests/test-copy-file.sh: Likewise.
48502
48503 2008-06-02  Bruno Haible  <bruno@clisp.org>
48504
48505         * tests/test-file-has-acl.sh: Remove unused code.
48506
48507 2008-06-01  Bruno Haible  <bruno@clisp.org>
48508
48509         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48510         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48511         messages.
48512         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48513
48514 2008-06-01  Bruno Haible  <bruno@clisp.org>
48515
48516         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48517         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48518         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48519         APIs.
48520         * modules/acl-tests (configure.ac): Remove tests now contained in
48521         m4/acl.m4.
48522
48523 2008-06-02  Jim Meyering  <meyering@redhat.com>
48524
48525         announce-gen: use a better key-server host name
48526         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48527         it may be more consistently reliable.  Suggested by Werner Koch
48528         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48529
48530 2008-06-01  Bruno Haible  <bruno@clisp.org>
48531
48532         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48533         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48534
48535 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48536
48537         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48538
48539 2008-06-01  Bruno Haible  <bruno@clisp.org>
48540
48541         New ACL tests.
48542         * tests/test-file-has-acl.sh: New file.
48543         * tests/test-file-has-acl.c: New file.
48544         * tests/test-set-mode-acl.sh: New file.
48545         * tests/test-set-mode-acl.c: New file.
48546         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48547         * tests/test-copy-acl.c: New file.
48548         * modules/acl-tests: New file, based on modules/copy-file-tests.
48549         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48550         (Depends-on): Add acl-tests.
48551         (configure.ac): Remove checks.
48552         (Makefile.am): Don't create test-sameacls program here any more.
48553
48554 2008-06-01  Bruno Haible  <bruno@clisp.org>
48555
48556         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48557         * tests/test-sameacls.c: Include progname.h.
48558         (main): Invoke set_program_name. Portability fixes for MacOS X,
48559         Solaris, HP-UX.
48560
48561 2008-06-01  Bruno Haible  <bruno@clisp.org>
48562
48563         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48564         function.
48565         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48566
48567 2008-06-01  Bruno Haible  <bruno@clisp.org>
48568
48569         * modules/rpmatch (Depends-on): Add strdup.
48570
48571 2008-06-01  Bruno Haible  <bruno@clisp.org>
48572
48573         * lib/pipe.c: Include unistd-safer.h.
48574         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48575         * modules/pipe (Depends-on): Add unistd-safer.
48576
48577 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48578
48579         * modules/autobuild (configure.ac): Call AB_INIT.
48580
48581 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48582
48583         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48584         Suggested by Bruno Haible <bruno@clisp.org>.
48585
48586 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48587
48588         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48589         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48590         <bruno@clisp.org>.
48591
48592 2008-05-29  Eric Blake  <ebb9@byu.net>
48593
48594         Prefer new POSIX 200x interfaces over futimesat.
48595         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48596         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48597         when available.
48598         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48599
48600 2008-05-28  Bruno Haible  <bruno@clisp.org>
48601
48602         * modules/stpcpy (License): Change to LGPLv2+.
48603         Requested by David Lutterkort <dlutter@redhat.com>.
48604
48605 2008-05-27  Bruno Haible  <bruno@clisp.org>
48606
48607         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48608         current mingw.
48609         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48610
48611 2008-05-27  Bruno Haible  <bruno@clisp.org>
48612
48613         * modules/iconv_open (Link): New section, from module 'iconv'.
48614         * modules/striconv (Link): Likewise.
48615         * modules/striconveh (Link): Likewise.
48616         * modules/xstriconv (Link): Likewise.
48617         * modules/unicodeio (Link): Likewise.
48618         * modules/propername (Link): Likewise.
48619         Reported by Jim Meyering.
48620
48621 2008-05-26  Jim Meyering  <meyering@redhat.com>
48622
48623         sha256: do not artificially restrict buffer length to be < 2^32
48624         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48625         uint32_t to size_t.
48626         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48627         to match.
48628
48629         avoid unaligned access errors, e.g., on sparc
48630         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48631         direct access through a possibly-unaligned uint64* pointer.
48632         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48633         direct access through a possibly-unaligned uint32* pointer.
48634         Prompted by this patch from Tom "spot" Callaway:
48635         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48636
48637         sha512.c: fix typo in comment
48638         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48639
48640 2008-05-25  Bruno Haible  <bruno@clisp.org>
48641
48642         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48643         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48644         (Makefile.am): Update lib_SOURCES.
48645
48646 2008-05-25  Bruno Haible  <bruno@clisp.org>
48647
48648         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48649
48650 2008-05-25  Jim Meyering  <meyering@redhat.com>
48651
48652         useless-if-before-free: freed expr may have white-space differences
48653         * build-aux/useless-if-before-free: Recognize cases in which the
48654         freed expression differs from the tested one in embedded white
48655         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48656         $1 was used, so we can't make any regexp shy.  Improved tests now
48657         detect this.
48658
48659         useless-if-before-free: accept white space in the expression.
48660         * build-aux/useless-if-before-free: For now, any white space
48661         in the expression must be identical in the free argument.
48662
48663         useless-if-before-free: efficiency tweak
48664         * build-aux/useless-if-before-free: Make the expression-matching
48665         regexp "shy".
48666         Make the *outer* regexp shy, not the expr-matching one.
48667
48668         update code-in-comment to accept cast of free arg
48669         * build-aux/useless-if-before-free: Update regexp.
48670
48671 2008-05-25  Bruno Haible  <bruno@clisp.org>
48672
48673         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48674         * modules/copy-file-tests (Files, Makefile.am): Update.
48675         * tests/test-copy-file.c (func_test_copy): Update.
48676
48677 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48678
48679         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48680
48681 2008-05-23  Bruno Haible  <bruno@clisp.org>
48682
48683         Improve support for ACLs on OSF/1.
48684         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48685         Remove fallback for unknown flavors of ACLs.
48686
48687 2008-05-22  Bruno Haible  <bruno@clisp.org>
48688
48689         Add support for ACLs on OSF/1.
48690         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48691         replacements.
48692         (acl_free_text): New macro fallback.
48693         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48694         acl_free.
48695         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48696         acl_free_text function. Require AC_C_INLINE.
48697
48698 2008-05-22  Bruno Haible  <bruno@clisp.org>
48699
48700         Make copy_acl work on MacOS X 10.5.
48701         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48702         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48703         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48704         If MODE_INSIDE_ACL, don't assume that every system has the same text
48705         representation for ACLs as FreeBSD.
48706         * lib/copy-acl.c (copy_acl): Add support for platforms with
48707         !MODE_INSIDE_ACL.
48708         * lib/file-has-acl.c (file_has_acl): Likewise.
48709         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48710         FreeBSD, MacOS X, or IRIX, respectively.
48711
48712 2008-05-22  Bruno Haible  <bruno@clisp.org>
48713
48714         * lib/acl.h: Don't include <sys/acl.h>.
48715         (GETACLCNT): Move fallback to lib/acl-internal.h.
48716         * lib/acl-internal.h: Include <sys/acl.h> here.
48717         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48718
48719 2008-05-22  Bruno Haible  <bruno@clisp.org>
48720
48721         Split off copy_acl function to separate file.
48722         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48723         * lib/acl.c (copy_acl): Moved function to separate file.
48724         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48725         * modules/acl (Files): Add lib/copy-acl.c.
48726         (Makefiles.am): Augment lib_SOURCES.
48727
48728 2008-05-22  Bruno Haible  <bruno@clisp.org>
48729
48730         * modules/copy-file-tests: New file.
48731         * tests/test-copy-file.sh: New file.
48732         * tests/test-copy-file.c: New file.
48733         * tests/test-copy-file-sameacls.c: New file.
48734
48735 2008-05-22  Eric Blake  <ebb9@byu.net>
48736
48737         Avoid gcc warning.
48738         * tests/test-memcmp.c (main): Pass NULL indirectly.
48739
48740 2008-05-21  Bruno Haible  <bruno@clisp.org>
48741
48742         Add reference doc about ACLs.
48743         * doc/acl-resources.txt: New file.
48744         * doc/acl-cygwin.txt: New file.
48745
48746 2008-05-21  Bruno Haible  <bruno@clisp.org>
48747
48748         Avoid one more warning from gcc.
48749         * lib/vasnprintf.c (IF_LINT): Update comments.
48750         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48751
48752 2008-05-21  Jim Meyering  <meyering@redhat.com>
48753
48754         avoid a warning from gcc
48755         * lib/vasnprintf.c (IF_LINT): Define.
48756         (scale10_round_decimal_long_double):
48757         Use it to avoid a "may be used uninitialized" warning.
48758         (scale10_round_decimal_double): Likewise.
48759
48760 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48761
48762         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48763         declared.
48764
48765 2008-05-20  Bruno Haible  <bruno@clisp.org>
48766
48767         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48768         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48769
48770 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48771
48772         * modules/memcmp-tests: New file.
48773         * tests/test-memcmp.c: New file.
48774
48775 2008-05-19  Bruno Haible  <bruno@clisp.org>
48776
48777         * modules/propername (Notice, configure.ac): Put quoted "..." into
48778         --keyword option.
48779         * lib/propername.h: Update comments accordingly.
48780         Reported by Eric Blake.
48781
48782 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48783
48784         * modules/getpass-gnu (Depends-on): Add fseeko.
48785
48786 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48787
48788         * modules/base64-tests: New file.
48789
48790 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48791
48792         * lib/base64.c (base64_decode_ctx): If a decode context structure
48793         was passed in use it to ignore newlines.  If a context structure
48794         was _not_ passed in, continue to treat newlines as garbage (this
48795         is the historical behavior).  Formerly base64_decode.
48796         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48797         takes a decode context structure.
48798         * lib/base64.h (base64_decode): Macro for four-argument calls.
48799         (base64_decode_alloc): Likewise.
48800         * lib/base64.c (base64_decode_ctx): If a decode context structure
48801         was passed in use it to ignore newlines.  If a context structure
48802         was _not_ passed in, continue to treat newlines as garbage (this
48803         is the historical behavior).  Formerly base64_decode.
48804         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48805         takes a decode context structure.
48806         * lib/base64.h (base64_decode): Macro for four-argument calls.
48807         (base64_decode_alloc): Likewise.
48808
48809 2008-05-19  Jim Meyering  <meyering@redhat.com>
48810
48811         avoid a warning from gcc
48812         * lib/trim.c (IF_LINT): Define.
48813         (trim2): Use it to avoid a "may be used uninitialized" warning.
48814
48815         Fix doc typo.
48816         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
48817
48818 2008-05-19  Bruno Haible  <bruno@clisp.org>
48819
48820         * doc/glibc-functions/getpass.texi: Document limits of other
48821         implementations.
48822
48823 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48824             Bruno Haible <bruno@clisp.org>
48825
48826         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
48827
48828 2008-05-18  Bruno Haible  <bruno@clisp.org>
48829
48830         * modules/propername: New file, from GNU gettext.
48831         * lib/propername.h: New file, from GNU gettext.
48832         * lib/propername.c: New file, from GNU gettext.
48833         * MODULES.html.sh (Internationalization functions): Add propername.
48834
48835 2008-05-16  Jim Meyering  <meyering@redhat.com>
48836             Bruno Haible  <bruno@clisp.org>
48837
48838         Avoid some warnings from "gcc -Wshadow".
48839         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
48840
48841 2008-05-15  Eric Blake  <ebb9@byu.net>
48842
48843         Extend previous patch to cygwin 1.7.0.
48844         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
48845         fast implementation in cygwin >= 1.7.0.
48846         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48847         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48848
48849 2008-05-15  Bruno Haible  <bruno@clisp.org>
48850
48851         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
48852         implementation in glibc >= 2.9.
48853         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48854         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48855
48856 2008-05-15  Bruno Haible  <bruno@clisp.org>
48857
48858         * MODULES.html.sh (Internationalization functions): Remove linebreak.
48859         (Unicode string functions): Add unilbrk/*.
48860         Reported by Karl Berry.
48861
48862 2008-05-15  Eric Blake  <ebb9@byu.net>
48863
48864         Fix violation of <stdbool.h> replacement in regex.
48865         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
48866         * lib/regexec.c (re_search_internal): Likewise.
48867         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
48868
48869 2008-05-15  Jim Meyering  <meyering@redhat.com>
48870
48871         avoid distracting test output when git or cvs is not found
48872         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
48873         * tests/test-vc-list-files-git.sh: Likewise.
48874
48875 2008-05-15  Eric Blake  <ebb9@byu.net>
48876
48877         Glibc finally accepted the memmem speedup code, bugzilla #5514.
48878         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
48879         glibc version.
48880         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48881         * doc/posix-functions/strstr.texi (strstr): Likewise.
48882         * lib/str-two-way.h (MAX): Sychronize with glibc.
48883
48884 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
48885
48886         * lib/regcomp.c (optimize_utf8): Add a note on why we test
48887         opr.ctx_type.
48888         (calc_first): Initialize constraint field.
48889         (duplicate_node_closure): Use it instead of special casing ANCHORS.
48890         Fix grammar.
48891         (duplicate_node): Merge constraint field for all node types.
48892         (calc_eclosure_iter): Look at constraint field for all node types.
48893         * lib/regex_internal.c (create_cd_newstate): Don't look at
48894         opr.ctx_type.
48895
48896 2008-05-14  Bruno Haible  <bruno@clisp.org>
48897
48898         Help GCC to do better code generation.
48899         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
48900         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
48901         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
48902         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
48903         Declare with attribute 'malloc' if supported.
48904
48905 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
48906
48907         use "echo STR|wc -c" rather than unportable "expr length STR"
48908         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
48909         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
48910
48911 2008-05-14  Jim Meyering  <meyering@redhat.com>
48912
48913         use dd ibs=$n count=1 ... rather than less-portable head -c$n
48914         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
48915         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
48916         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
48917         via Collin Lasse.
48918
48919 2008-05-14  Eric Blake  <ebb9@byu.net>
48920
48921         Avoid quadratic growth in gl_LIBSOURCES.
48922         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
48923         Suggested by Bruno Haible.
48924
48925         Test xmemdup0.
48926         * modules/xmemdup0-tests: New file.
48927         * tests/test-xmemdup0.c: Likewise.
48928
48929 2008-05-13  Eric Blake  <ebb9@byu.net>
48930
48931         Split xmemdup0 into its own module.
48932         * modules/xmemdup0: New file.
48933         * lib/xmemdup0.h: Likewise.
48934         * lib/xmemdup0.c: Likewise.
48935         * MODULES.html.sh (Memory management functions): Add xmemdup0.
48936         * lib/xalloc.h (xmemdup0): Remove.
48937         * lib/xmalloc.c (xmemdup0): Likewise.
48938
48939 2008-05-13  Eric Blake  <ebb9@byu.net>
48940             Bruno Haible  <bruno@clisp.org>
48941
48942         Reduce number of forks required during autoconf.
48943         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
48944         and gl_LIBSOURCES_DIR.
48945         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
48946         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
48947         m4_syscmd per file.
48948         <m4_foreach_w>: Move...
48949         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
48950
48951 2008-05-13  Eric Blake  <ebb9@byu.net>
48952
48953         * gnulib-tool: Fix various comment typos.
48954
48955 2008-05-12  Bruno Haible  <bruno@clisp.org>
48956
48957         Tailor the linebreaking algorithm.
48958         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
48959
48960 2008-05-12  Bruno Haible  <bruno@clisp.org>
48961
48962         Update to Unicode 5.0.0.
48963         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48964         LBP_JV, LBP_JT. Redistribute values.
48965         (unilbrk_table): Change size.
48966         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
48967         Unicode TR#14 rev. 22.
48968         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48969         LBP_JV, LBP_JT. Redistribute values.
48970         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
48971         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
48972         Update.
48973         * lib/unilbrk/lbrkprop1.h: Regenerated.
48974         * lib/unilbrk/lbrkprop2.h: Regenerated.
48975         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
48976         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
48977         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
48978         Likewise.
48979         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
48980         Likewise.
48981         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
48982         result.
48983         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
48984         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
48985         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
48986         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
48987         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
48988         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
48989
48990 2008-05-11  Bruno Haible  <bruno@clisp.org>
48991
48992         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
48993
48994 2008-05-11  Bruno Haible  <bruno@clisp.org>
48995
48996         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
48997         * modules/unilbrk/gen-lbrk: New file.
48998
48999 2008-05-11  Bruno Haible  <bruno@clisp.org>
49000
49001         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
49002         * m4/sha512.m4 (gl_SHA512): Likewise.
49003
49004 2008-05-11  Jim Meyering  <meyering@redhat.com>
49005
49006         New modules: crypto/sha256, crypto/sha512 (from coreutils)
49007         * modules/crypto/sha256: New file.
49008         * modules/crypto/sha512: Likewise.
49009         * lib/sha256.c: Likewise.
49010         * lib/sha256.h: Likewise.
49011         * lib/sha512.c: Likewise.
49012         * lib/sha512.h: Likewise.
49013         * lib/u64.h: Likewise.
49014         * m4/sha256.m4: Likewise.
49015         * m4/sha512.m4: Likewise.
49016         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
49017
49018 2008-05-10  Bruno Haible  <bruno@clisp.org>
49019
49020         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
49021         (Input/Output <stdio.h>): Add xprintf.
49022         (Signal handling <signal.h>): Add strsignal.
49023         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
49024         (Core language properties): Add func.
49025         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
49026         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
49027         strings.
49028         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
49029         (Input/output): New section.
49030         (File system functions): Add openat-die, stat-macros.
49031         (Networking functions): Add sockets.
49032         (Unicode string functions): Add unictype/*.
49033         (Support for building libraries and executables): Add gperf.
49034         (Support for building documentation): Add agpl-3.0.
49035         (Misc): Add nocrash.
49036
49037 2008-05-10  Bruno Haible  <bruno@clisp.org>
49038
49039         * modules/unictype/gen-ctype: New file.
49040
49041 2008-05-10  Jim Meyering  <meyering@redhat.com>
49042
49043         Make chdir-safer.c more efficient on a system with no symlinks.
49044         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
49045         also if ELOOP is zero.  Suggested by Bruno Haible.
49046
49047         Make chdir-safer.c slightly safer.
49048         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
49049         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
49050
49051         Avoid compile failure on systems without ELOOP (like mingw).
49052         * lib/chdir-safer.c (ELOOP): Define if not already defined.
49053         Reported by Bruno Haible.
49054
49055 2008-05-10  Bruno Haible  <bruno@clisp.org>
49056
49057         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
49058         (is_utf8_encoding): Use a case-insensitive comparison.
49059         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
49060         streq.
49061
49062 2008-05-10  Bruno Haible  <bruno@clisp.org>
49063
49064         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
49065         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
49066         * lib/unilbrk/ulc-common.h (iconv_string_length,
49067         iconv_string_keeping_offsets): Remove declarations.
49068         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
49069         Don't include <iconv.h>, streq.h, xsize.h.
49070         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
49071         conversion.
49072         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
49073         <iconv.h>, streq.h, xsize.h.
49074         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
49075         conversion.
49076         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
49077         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
49078         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
49079         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
49080
49081 2008-05-10  Bruno Haible  <bruno@clisp.org>
49082
49083         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
49084         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
49085
49086         * modules/unilbrk/u32-width-linebreaks-tests: New file.
49087         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
49088
49089         * modules/unilbrk/u16-width-linebreaks-tests: New file.
49090         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
49091
49092         * modules/unilbrk/u8-width-linebreaks-tests: New file.
49093         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
49094
49095         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
49096         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
49097
49098         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
49099         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
49100
49101         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
49102         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
49103
49104         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
49105         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
49106
49107 2008-05-10  Bruno Haible  <bruno@clisp.org>
49108
49109         Split up 'linebreak' module.
49110         * lib/unilbrk.h: New file, based on lib/linebreak.h.
49111         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
49112         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
49113         modifications.
49114         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
49115         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
49116         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
49117         lib/linebreak.c.
49118         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
49119         lib/linebreak.c.
49120         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
49121         lib/linebreak.c.
49122         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
49123         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
49124         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
49125         lib/linebreak.c.
49126         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
49127         lib/linebreak.c.
49128         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
49129         lib/linebreak.c.
49130         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
49131         lib/linebreak.c.
49132         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
49133         lib/linebreak.c.
49134         * modules/unilbrk/base: New file.
49135         * modules/unilbrk/tables: New file.
49136         * modules/unilbrk/u8-possible-linebreaks: New file.
49137         * modules/unilbrk/u16-possible-linebreaks: New file.
49138         * modules/unilbrk/u32-possible-linebreaks: New file.
49139         * modules/unilbrk/ulc-common: New file.
49140         * modules/unilbrk/ulc-possible-linebreaks: New file.
49141         * modules/unilbrk/u8-width-linebreaks: New file.
49142         * modules/unilbrk/u16-width-linebreaks: New file.
49143         * modules/unilbrk/u32-width-linebreaks: New file.
49144         * modules/unilbrk/ulc-width-linebreaks: New file.
49145         * lib/linebreak.h: Remove file.
49146         * lib/linebreak.c: Remove file.
49147         * m4/linebreak.m4: Remove file.
49148         * modules/linebreak: Remove file.
49149         * NEWS: Mention the changes.
49150
49151 2008-05-09  Eric Blake  <ebb9@byu.net>
49152
49153         Add xmemdup0.
49154         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
49155         implementation.
49156         * lib/xmalloc.c (xmemdup0): New C implementation.
49157
49158 2008-05-08  Bruno Haible  <bruno@clisp.org>
49159
49160         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
49161
49162 2008-05-07  Eric Blake  <ebb9@byu.net>
49163
49164         Support cross-compilation of <wctype.h>.
49165         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
49166         AC_CACHE_CHECK.
49167
49168 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
49169
49170         * build-aux/vc-list-files: Add support for bzr.
49171
49172 2008-05-03  Jim Meyering  <meyering@redhat.com>
49173
49174         avoid failed assertion with tight malloc
49175         * tests/test-getndelim2.c: Correct an off-by-one assertion.
49176
49177 2008-05-03  Simon Josefsson  <simon@josefsson.org>
49178
49179         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
49180         are needed from arpa/inet.h.
49181         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
49182         Reported by Bruno Haible.
49183
49184 2008-05-02  Jim Meyering  <meyering@redhat.com>
49185
49186         avoid compilation error on FreeBSD 6
49187         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
49188
49189 2008-05-01  Jim Meyering  <meyering@redhat.com>
49190
49191         useless-if-before-free: correct --help's exit status description
49192         * build-aux/useless-if-before-free (usage): Like grep, exit 0
49193         for one or more matches, etc.  Reported by Bruno Haible.
49194
49195         vc-list-files: make the stand-alone gnulib test work
49196         * modules/vc-list-files-tests (configure.ac):
49197         Define and AC_SUBST abs_aux_dir.
49198         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
49199         $(abs_top_srcdir) to each script and having each of them
49200         duplicate the work of setting PATH, set PATH here, using
49201         the new variable, abs_aux_dir instead.
49202         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
49203         * tests/test-vc-list-files-git.sh: Likewise.
49204         Reported by Bruno Haible.
49205
49206 2008-05-01  Bruno Haible  <bruno@clisp.org>
49207
49208         * lib/getndelim2.c (getndelim2): Fix newsize computation during
49209         reallocation. Rename 'done' to 'found_delimiter'.
49210
49211 2008-05-01  Jim Meyering  <meyering@redhat.com>
49212
49213         vc-list-files: accommodate /bin/sh like the one from Solaris 10
49214         * build-aux/vc-list-files: Use `...`, not $(...).
49215
49216 2008-04-30  Jim Meyering  <meyering@redhat.com>
49217
49218         add tests for vc-list-files
49219         * modules/vc-list-files-tests: New module.
49220         * tests/test-vc-list-files-cvs.sh: New file.
49221         * tests/test-vc-list-files-git.sh: New file.
49222
49223         avoid a warning from gcc
49224         * lib/getndelim2.c (IF_LINT): Define.
49225         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
49226
49227         vc-list-files: work properly with build-aux/cvsu, too
49228         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
49229         to all cvs-based clauses.
49230
49231         vc-list-files: work properly in the CVS+awk case, too
49232         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
49233
49234         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
49235         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
49236         take more than one file argument, so .  Add quotes, just in case $dir
49237         ever contains a shell meta-character.  Prompted by Soren Hansen in
49238         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
49239
49240 2008-04-29  Eric Blake  <ebb9@byu.net>
49241
49242         Optimize getndelim2 to use block operations when possible.
49243         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
49244         freadseek, and memchr2.
49245         * lib/getndelim2.c (getndelim2): Use them for block reads.
49246
49247 2008-04-29  Bruno Haible  <bruno@clisp.org>
49248
49249         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
49250         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49251         * modules/inet_ntop (Depends-on): Add extensions.
49252         * modules/inet_pton (Depends-on): Likewise.
49253         Reported by Simon Josefsson.
49254
49255 2008-04-29  Jim Meyering  <meyering@redhat.com>
49256
49257         When the is more than one match in a block, match all of them.
49258         * build-aux/useless-if-before-free: Iterate through each block
49259         until there are no more matches.
49260
49261         Fix broken useless-if-before-free script.
49262         * build-aux/useless-if-before-free: Fix typo: missing "?" after
49263         the expression to match cast of argument to free-like function.
49264
49265 2008-04-29  Eric Blake  <ebb9@byu.net>
49266
49267         Use new header.
49268         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
49269
49270 2008-04-29  Jim Meyering  <meyering@redhat.com>
49271
49272         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
49273         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
49274         by gnulib to exist and to declare e.g., inet_ntop.
49275         Don't include "inet_ntop.h", now removed.
49276
49277         * m4/arpa_inet_h.m4: Remove trailing blanks.
49278
49279 2008-04-29  Eric Blake  <ebb9@byu.net>
49280
49281         Silence valgrind on safe reads beyond potential array bounds.
49282         * lib/rawmemchr.valgrind: New file.
49283         * lib/strchrnul.valgrind: Likewise.
49284         * modules/rawmemchr (Files): Distribute new file.
49285         * modules/strchrnul (Files): Likewise.
49286         Suggested by Bruno Haible.
49287
49288 2008-04-29  Bruno Haible  <bruno@clisp.org>
49289
49290         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
49291         (inet_ntop, inet_pton): Change portability warning's wording.
49292         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
49293         Invoke gl_CHECK_NEXT_HEADERS.
49294         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49295         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
49296         set ARPA_INET_H.
49297         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49298         * modules/arpa_inet (Description): No longer only for systems that
49299         lack it.
49300         (Depends-on): Add include_next.
49301         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
49302         HAVE_ARPA_INET_H.
49303
49304 2008-04-29  Jim Meyering  <meyering@redhat.com>
49305
49306         * modules/mkdir (License): Re-license as LGPLv2+.
49307
49308 2008-04-29  Bruno Haible  <bruno@clisp.org>
49309
49310         * modules/rawmemchr (Maintainer): Set to Eric.
49311         * modules/strchrnul (Maintainer): Likewise.
49312
49313 2008-04-29  Simon Josefsson  <simon@josefsson.org>
49314
49315         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
49316         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
49317
49318         * modules/arpa_inet (arpa/inet.h): Use them.
49319
49320 2008-04-28  Eric Blake  <ebb9@byu.net>
49321
49322         Test getndelim2.
49323         * modules/getndelim2-tests: New file.
49324         * tests/test-getndelim2.c: Likewise.
49325         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
49326         stream.
49327         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
49328
49329         * MODULES.html.sh: Document new module.
49330
49331 2008-04-20  Bruno Haible  <bruno@clisp.org>
49332
49333         * lib/c-stack.c (die): Use raise.
49334         * modules/c-stack (Depends-on): Add raise.
49335
49336 2008-04-28  Bruno Haible  <bruno@clisp.org>
49337
49338         Expect rpmatch to be declared.
49339         * lib/yesno.c (rpmatch): Remove declaration.
49340
49341         Declare rpmatch.
49342         * lib/stdlib.in.h (rpmatch): New declaration.
49343         * lib/rpmatch.c: Include <stdlib.h> first.
49344         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
49345         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
49346         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
49347         HAVE_RPMATCH.
49348         * modules/rpmatch (Depends-on): Add stdlib, extensions.
49349         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49350         (Include): Set to <stdlib.h>.
49351         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
49352         HAVE_RPMATCH.
49353         * NEWS: Document the change.
49354
49355 2008-04-28  Bruno Haible  <bruno@clisp.org>
49356
49357         Change rpmatch to use nl_langinfo when appropriate.
49358         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
49359         (N_): New macro.
49360         (localized_pattern): New function/macro.
49361         (try): Remove match, nomatch arguments. Copy the pattern into safe
49362         memory before caching it.
49363         (rpmatch): Use localized_pattern. Add translator comments.
49364         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
49365         Suggested by Eric Blake.
49366         * modules/rpmatch (Depends-on): Add stdbool.
49367
49368 2008-04-28  Eric Blake  <ebb9@byu.net>
49369
49370         Add rawmemchr module, matching glibc.
49371         * modules/string (Makefile.am): New indicator.
49372         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
49373         * lib/string.in.h (rawmemchr): Declare when appropriate.
49374         * modules/rawmemchr: New file.
49375         * m4/rawmemchr.m4: Likewise.
49376         * lib/rawmemchr.c: Likewise.
49377         * modules/rawmemchr-tests: Likewise.
49378         * tests/test-rawmemchr.c: Likewise.
49379         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
49380         module.
49381         * modules/strchrnul (Depends-on): Add rawmemchr.
49382         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49383
49384         Whitespace cleanup.
49385         * tests/test-strchrnul.c: Reindent.
49386         * lib/strchrnul.c: Likewise.
49387
49388         Optimize and test strchrnul.
49389         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49390         * modules/strchrnul-tests: New file.
49391         * tests/test-strchrnul.c: Likewise.
49392
49393         Remove intprops dependency.
49394         * modules/memchr (Depends-on): Remove intprops.
49395         * modules/memrchr (Depends-on): Likewise.
49396         * modules/memchr2 (Depends-on): Likewise.
49397         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49398         * lib/memrchr.c (__memrchr): Likewise.
49399         * lib/memrchr2.c (memchr2): Likewise.
49400         Reported by Simon Josefsson.
49401
49402 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49403
49404         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49405         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49406
49407 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49408
49409         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49410
49411         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49412
49413         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49414
49415         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49416         declarations.
49417         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49418
49419         * m4/inet_pton.m4: Don't check for header files.
49420
49421         * m4/inet_ntop.m4: Don't check for header files.
49422
49423 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49424
49425         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49426         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49427         trigger for cygwin).
49428         Reported by Bruno Haible  <bruno@clisp.org>.
49429
49430 2008-04-28  Bruno Haible  <bruno@clisp.org>
49431
49432         * doc/posix-functions/strdup.texi: Mention mingw problem.
49433
49434 2008-04-27  Bruno Haible  <bruno@clisp.org>
49435
49436         * modules/stat-time-tests (Depends-on): Add sleep.
49437         * tests/test-stat-time.c (force_unlink): New function.
49438         (cleanup): Use it.
49439         (test_mtime): Remove the ctime related tests.
49440         (test_ctime): New function, containing the ctime related tests.
49441         (main): Call test_ctime, except on native Windows platforms.
49442
49443 2008-04-27  Bruno Haible  <bruno@clisp.org>
49444
49445         * lib/rpmatch.c (rpmatch): Add some comments.
49446         Reported by James Youngman <jay@gnu.org>.
49447
49448 2008-04-27  Bruno Haible  <bruno@clisp.org>
49449
49450         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49451         quiet NaNs.
49452
49453 2008-04-27  Bruno Haible  <bruno@clisp.org>
49454
49455         Make test-yesno.sh work on mingw.
49456         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49457         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49458         (main): Set stdin to binary mode.
49459         * modules/yesno-tests (Depends-on): Add binary-io.
49460
49461 2008-04-27  Bruno Haible  <bruno@clisp.org>
49462
49463         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49464         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49465         argument that lie outside the IEEE 854 domain.
49466         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49467         (gl_ISFINITE): Use it.
49468         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49469
49470 2008-04-27  Bruno Haible  <bruno@clisp.org>
49471
49472         Allow local renaming in config.h.
49473         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49474
49475 2008-04-27  Bruno Haible  <bruno@clisp.org>
49476
49477         * lib/memchr.c (__memchr): Change type of 'i'.
49478         * lib/memchr2.c (memchr2): Likewise.
49479
49480 2008-04-26  Eric Blake  <ebb9@byu.net>
49481         and Bruno Haible  <bruno@clisp.org>
49482
49483         Optimize and test memrchr.
49484         * modules/memrchr (Depends-on): Add intprops.
49485         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49486         * modules/memrchr-tests: New file.
49487         * tests/test-memrchr.c: New file.
49488
49489 2008-04-26  Bruno Haible  <bruno@clisp.org>
49490
49491         Add tentative support for DragonFly BSD.
49492         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49493         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49494         fp.
49495         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49496         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49497         * lib/fpurge.c (fpurge): Likewise.
49498         * lib/freadable.c (freaadable): Likewise.
49499         * lib/freadahead.c (freadahead): Likewise.
49500         * lib/freading.c (freading): Likewise.
49501         * lib/freadptr.c (freadptr): Likewise.
49502         * lib/freadseek.c (freadptrinc): Likewise.
49503         * lib/fseeko.c (fseeko): Likewise.
49504         * lib/fseterr.c (fseterr): Likewise.
49505         * lib/fwritable.c (fwritable): Likewise.
49506         * lib/fwriting.c (fwriting): Likewise.
49507
49508 2008-04-26  Bruno Haible  <bruno@clisp.org>
49509
49510         * lib/stdio-impl.h: New file.
49511         * lib/fbufmode.c: Include stdio-impl.h.
49512         (fbufmode): Use fp_, remove redundant #defines.
49513         * lib/fflush.c: Include stdio-impl.h.
49514         (clear_ungetc_buffer): Remove redundant #defines.
49515         * lib/fpurge.c: Include stdio-impl.h.
49516         (fpurge): Remove redundant #defines.
49517         * lib/freadable.c: Include stdio-impl.h.
49518         (freadable): Remove redundant #defines.
49519         * lib/freadahead.c: Include stdio-impl.h.
49520         (freadahead): Remove redundant #defines.
49521         * lib/freading.c: Include stdio-impl.h.
49522         (freading): Remove redundant #defines.
49523         * lib/freadptr.c: Include stdio-impl.h.
49524         (freadptr): Remove redundant #defines.
49525         * lib/freadseek.c: Include stdio-impl.h.
49526         (freadptrinc): Remove redundant #defines.
49527         * lib/fseeko.c: Include stdio-impl.h.
49528         (rpl_fseeko): Remove redundant #defines.
49529         * lib/fseterr.c: Include stdio-impl.h.
49530         (fseterr): Remove redundant #defines.
49531         * lib/fwritable.c: Include stdio-impl.h.
49532         (fwritable: Remove redundant #defines.
49533         * lib/fwriting.c: Include stdio-impl.h.
49534         (fwriting): Remove redundant #defines.
49535         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49536         * modules/fflush (Files): Likewise.
49537         * modules/fpurge (Files): Likewise.
49538         * modules/freadable (Files): Likewise.
49539         * modules/freadahead (Files): Likewise.
49540         * modules/freading (Files): Likewise.
49541         * modules/freadptr (Files): Likewise.
49542         * modules/freadseek (Files): Likewise.
49543         * modules/fseeko (Files): Likewise.
49544         * modules/fseterr (Files): Likewise.
49545         * modules/fwritable (Files): Likewise.
49546         * modules/fwriting (Files): Likewise.
49547
49548 2008-04-26  Bruno Haible  <bruno@clisp.org>
49549
49550         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49551         restore_seek_optimization, update_fpos_cache): New functions, extracted
49552         from rpl_fflush.
49553         (rpl_fflush): Use them.
49554         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49555         (gl_REPLACE_FFLUSH): Use it.
49556
49557 2008-04-26  Bruno Haible  <bruno@clisp.org>
49558
49559         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49560         on Solaris.
49561         * tests/test-xstrtoimax.sh: Likewise.
49562         * tests/test-xstrtoumax.sh: Likewise.
49563         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49564
49565 2008-04-26  Bruno Haible  <bruno@clisp.org>
49566
49567         * modules/memchr-tests: New file.
49568         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49569
49570 2008-04-26  Eric Blake  <ebb9@byu.net>
49571             Bruno Haible  <bruno@clisp.org>
49572
49573         * lib/memchr.c: Include intprops.h.
49574         (__memchr): Optimize parallel detection of matching bytes. Rename local
49575         variables. Add explanatory comments.
49576
49577 2008-04-26  Bruno Haible  <bruno@clisp.org>
49578
49579         Fix module 'memchr', broken since 2000-10-28.
49580         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49581
49582 2008-04-26  Bruno Haible  <bruno@clisp.org>
49583
49584         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49585         comments.
49586
49587 2008-04-25  Eric Blake  <ebb9@byu.net>
49588
49589         Use native fstatat on cygwin 1.7.0.
49590         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49591         first.
49592
49593 2008-04-23  Eric Blake  <ebb9@byu.net>
49594
49595         Improve memchr2 performance.
49596         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49597         NUL bytes.
49598         * modules/memchr2 (Depends-on): Use intprops.h.
49599
49600 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49601
49602         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49603         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49604         <blp@cs.stanford.edu>.
49605
49606 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49607
49608         * lib/arpa_inet.in.h: New file.
49609
49610         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49611         (Makefile.am): Sed in substitute header file.
49612
49613         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49614         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49615
49616         * modules/inet_ntop (configure.ac): Use
49617         gl_ARPA_INET_MODULE_INDICATOR.
49618
49619         * modules/inet_pton (configure.ac): Use
49620         gl_ARPA_INET_MODULE_INDICATOR.
49621
49622 2008-04-22  Jim Meyering  <meyering@redhat.com>
49623
49624         * modules/verify (License): Re-license as LGPLv2+.
49625
49626 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49627
49628         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49629         parameter to void* as per POSIX standard (MinGW uses char*).
49630
49631 2008-04-21  Bruno Haible  <bruno@clisp.org>
49632
49633         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49634         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49635         Define to replacements if REPLACE_ISWCNTRL is 1.
49636         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49637         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49638         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49639         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49640         what it fixes.
49641         * doc/posix-functions/iswalpha.texi: Likewise.
49642         * doc/posix-functions/iswblank.texi: Likewise.
49643         * doc/posix-functions/iswcntrl.texi: Likewise.
49644         * doc/posix-functions/iswdigit.texi: Likewise.
49645         * doc/posix-functions/iswgraph.texi: Likewise.
49646         * doc/posix-functions/iswlower.texi: Likewise.
49647         * doc/posix-functions/iswprint.texi: Likewise.
49648         * doc/posix-functions/iswpunct.texi: Likewise.
49649         * doc/posix-functions/iswspace.texi: Likewise.
49650         * doc/posix-functions/iswupper.texi: Likewise.
49651         * doc/posix-functions/iswxdigit.texi: Likewise.
49652         Reported by Alain Guibert.
49653
49654 2008-04-21  Bruno Haible  <bruno@clisp.org>
49655
49656         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49657         Patch by Alain Guibert.
49658
49659 2008-04-21  Bruno Haible  <bruno@clisp.org>
49660
49661         Fix test failures on mingw.
49662         * tests/test-xstrtol.c (print_no_progname): New function.
49663         (main): Install it in error_print_progname hook.
49664         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49665         * tests/test-xstrtoimax.sh: Likewise.
49666         * tests/test-xstrtoumax.sh: Likewise.
49667
49668 2008-04-21  Bruno Haible  <bruno@clisp.org>
49669
49670         Fix test failure on mingw.
49671         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49672
49673 2008-04-21  Bruno Haible  <bruno@clisp.org>
49674
49675         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49676         Actually assign a value.
49677
49678 2008-04-20  Bruno Haible  <bruno@clisp.org>
49679
49680         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49681         take 2.
49682         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49683         'canonicalize-lgpl' module is also used.
49684         * lib/canonicalize-lgpl.c: Undo last change.
49685         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49686
49687 2008-04-20  Bruno Haible  <bruno@clisp.org>
49688
49689         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49690         config.h. Provide _mkdir based fallback for mingw.
49691         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49692         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49693         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49694         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49695         rather than defining mkdir in config.h.
49696         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49697         (gl_SYS_STAT_H_DEFAULTS): New macro.
49698         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49699         HAVE_IO_H any more.
49700         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49701         HAVE_DECL_MKDIR and HAVE_IO_H.
49702
49703 2008-04-20  Bruno Haible  <bruno@clisp.org>
49704
49705         * lib/isapipe.c: Port to native Windows platforms.
49706
49707 2008-04-20  Bruno Haible  <bruno@clisp.org>
49708
49709         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49710
49711 2008-04-21  Eric Blake  <ebb9@byu.net>
49712
49713         Work around preprocessors that don't handle UINTMAX_MAX.
49714         * lib/memchr2.c (memchr2): Avoid embedded #if.
49715         Reported by Alain Guibert, fix suggested by Bruno Haible.
49716
49717 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49718
49719         * doc/posix-functions/strftime.texi (strftime): Explain better
49720         Windows incompatibility.  Suggested by Micah Cowan
49721         <micah@cowan.name>.
49722
49723 2008-04-20  Bruno Haible  <bruno@clisp.org>
49724
49725         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49726         unistr/u8-mblen.
49727
49728 2008-04-20  Bruno Haible  <bruno@clisp.org>
49729
49730         Fix test failure on platforms with non-GNU iconv.
49731         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49732         (U_TO_U8): Use it, rather than u16_to_u8.
49733         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49734         units at the end of the input string.
49735         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49736
49737 2008-04-20  Bruno Haible  <bruno@clisp.org>
49738
49739         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49740         when the resulting length is 0.
49741         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49742
49743 2008-04-20  Bruno Haible  <bruno@clisp.org>
49744
49745         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49746         works.
49747         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49748
49749 2008-04-20  Bruno Haible  <bruno@clisp.org>
49750
49751         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49752         * modules/tsearch-tests (configure.ac): Test for initstate function.
49753
49754 2008-04-20  Bruno Haible  <bruno@clisp.org>
49755
49756         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49757         for nlink_t if missing.
49758         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49759
49760 2008-04-19  Bruno Haible  <bruno@clisp.org>
49761
49762         Work around snprintf bug on Linux libc5.
49763         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49764         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49765         gl_SNPRINTF_SIZE1.
49766         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49767         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49768         that test failed.
49769         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49770         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49771         * modules/snprintf (Files): Add m4/printf.m4.
49772         * modules/vsnprintf (Files): Likewise.
49773         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49774         * doc/posix-functions/vsnprintf.texi: Likewise.
49775
49776 2008-04-19  Bruno Haible  <bruno@clisp.org>
49777
49778         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49779         from 0.0058 to less than 10^-7.
49780
49781 2008-04-19  Bruno Haible  <bruno@clisp.org>
49782
49783         Fix rounding when a precision is given.
49784         * lib/vasnprintf.c (is_borderline): New function.
49785         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49786         9...9x.
49787         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49788         %e, %g.
49789         * tests/test-vasprintf-posix.c (test_function): Likewise.
49790         * tests/test-snprintf-posix.h (test_function): Likewise.
49791         * tests/test-sprintf-posix.h (test_function): Likewise.
49792         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
49793         * tests/test-printf-posix.h (test_function): Likewise.
49794         * tests/test-printf-posix.output: Update.
49795         Reported by John Darrington <john@darrington.wattle.id.au> via
49796         Ben Pfaff <blp@cs.stanford.edu>.
49797
49798 2008-04-18  Simon Josefsson  <simon@josefsson.org>
49799
49800         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
49801         Suggested by Bruno Haible <bruno@clisp.org>.
49802
49803 2008-04-17  Bruno Haible  <bruno@clisp.org>
49804
49805         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
49806         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
49807         implementation.
49808         Patch by Bruce Merry <bmerry@gmail.com>.
49809
49810 2008-04-17  Simon Josefsson  <simon@josefsson.org>
49811
49812         * doc/posix-functions/strftime.texi (strftime): Mention that %e
49813         doesn't work under Windows.
49814
49815 2008-04-16  Bruno Haible  <bruno@clisp.org>
49816
49817         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
49818         New macros.
49819         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
49820         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
49821         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
49822         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
49823         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
49824         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
49825         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
49826         macros.
49827         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
49828         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
49829         Northern Sotho, Uighur.
49830
49831 2008-04-16  Bruno Haible  <bruno@clisp.org>
49832
49833         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
49834         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
49835         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
49836         Reported by Daniel Bergström <daniel@octocode.com>.
49837
49838 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
49839             Bruno Haible  <bruno@clisp.org>
49840
49841         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
49842         function.
49843         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
49844         New functions, mostly extracted from gl_locale_name_default.
49845         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
49846
49847 2008-04-16  Eric Blake  <ebb9@byu.net>
49848
49849         Adjust strtod detection to catch glibc 2.7 bug.
49850         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
49851         Reported by John Gatewood Ham.
49852
49853 2008-04-16  Bruno Haible  <bruno@clisp.org>
49854
49855         Add tentative support for Linux libc5.
49856         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
49857         * lib/fpurge.c (fpurge): Likewise.
49858         * lib/freadable.c (freadable): Likewise.
49859         * lib/freadahead.c (freadahead): Likewise.
49860         * lib/freading.c (freading): Likewise.
49861         * lib/freadptr.c (freadptr): Likewise.
49862         * lib/freadseek.c (freadptrinc): Likewise.
49863         * lib/fseeko.c (rpl_fseeko): Likewise.
49864         * lib/fseterr.c (fseterr): Likewise.
49865         * lib/fwritable.c (fwritable): Likewise.
49866         * lib/fwriting.c (fwriting): Likewise.
49867         Reported by Alain Guibert <alguibert+bts@free.fr>.
49868
49869 2008-04-15  Bruno Haible  <bruno@clisp.org>
49870
49871         * modules/mathl (configure.ac): Define module indicator.
49872
49873 2008-04-15  Bruno Haible  <bruno@clisp.org>
49874
49875         * lib/logl.c (logl): Remove unused variables.
49876
49877 2008-04-15  Bruno Haible  <bruno@clisp.org>
49878
49879         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
49880         fails.
49881
49882 2008-04-15  Bruno Haible  <bruno@clisp.org>
49883
49884         * lib/trim.c (trim2): Fix argument of isspace() macro.
49885
49886 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
49887
49888         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
49889         to 0.
49890         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
49891
49892 2008-04-14  Bruno Haible  <bruno@clisp.org>
49893
49894         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
49895         AC_LANG_PROGRAM argument.
49896         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
49897         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
49898         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
49899         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49900         * m4/math_h.m4 (gl_MATH_H): Likewise.
49901         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
49902         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49903         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49904         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
49905         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
49906         * m4/regex.m4 (gl_REGEX): Likewise.
49907         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
49908         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
49909         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49910         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
49911         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49912         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49913         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49914         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49915
49916 2008-04-14  Jim Meyering  <meyering@redhat.com>
49917
49918         test-strtod: fix typos: s/abs/fabs/
49919         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
49920
49921 2008-04-13  Bruno Haible  <bruno@clisp.org>
49922
49923         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
49924         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
49925         module is also used and while not building the reloc-wrapper.
49926
49927 2008-04-13  Bruno Haible  <bruno@clisp.org>
49928
49929         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
49930
49931 2008-04-13  Bruno Haible  <bruno@clisp.org>
49932
49933         Fix AIX compilation failure introduced on 2008-04-02.
49934         * tests/test-frexp.c (exp): Undefine before redefining.
49935         * tests/test-frexpl.c (exp): Likewise.
49936
49937 2008-04-13  Bruno Haible  <bruno@clisp.org>
49938
49939         Work around a HP-UX stdio bug.
49940         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
49941         * tests/test-ftello.c (main): Likewise.
49942         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
49943         * doc/posix-functions/ftello.texi: Likewise.
49944
49945 2008-04-13  Bruno Haible  <bruno@clisp.org>
49946
49947         Make test-signbit pass on HP-UX/hppa.
49948         * tests/test-signbit.c (minus_zerol): New variable.
49949         (test_signbitl): Use it.
49950
49951 2008-04-13  Bruno Haible  <bruno@clisp.org>
49952
49953         Make truncl work on OSF/1 4.0.
49954         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
49955         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49956         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
49958         HAVE_DECL_TRUNCL.
49959         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
49960         HAVE_DECL_TRUNCL.
49961         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
49962
49963 2008-04-13  Bruno Haible  <bruno@clisp.org>
49964
49965         * lib/unictype.h: Remove trailing comma from enumeration definitions.
49966
49967 2008-04-13  Bruno Haible  <bruno@clisp.org>
49968
49969         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
49970         expression, so as to avoid HP-UX 11 cc compiler bug.
49971
49972 2008-04-13  Bruno Haible  <bruno@clisp.org>
49973
49974         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
49975
49976 2008-04-13  Bruno Haible  <bruno@clisp.org>
49977
49978         * lib/git-merge-changelog.c: Remove empty declaration outside of
49979         functions.
49980
49981 2008-04-13  Bruno Haible  <bruno@clisp.org>
49982
49983         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
49984
49985 2008-04-13  Bruno Haible  <bruno@clisp.org>
49986
49987         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
49988         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
49989         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
49990         also if it exists but lacks definitions of the SHUT_* macros.
49991         * modules/sys_socket (Description): Update.
49992         Reported by Elbert Pol <e.pol@chello.nl>.
49993
49994 2008-04-13  Bruno Haible  <bruno@clisp.org>
49995
49996         * lib/localcharset.c (OS2): Don't redefine if already defined.
49997         Reported by Elbert Pol <e.pol@chello.nl>.
49998
49999 2008-04-13  Bruno Haible  <bruno@clisp.org>
50000
50001         * lib/binary-io.h [__EMX__]: Include <io.h>.
50002         Reported by Elbert Pol <e.pol@chello.nl>.
50003
50004 2008-04-12  Bruno Haible  <bruno@clisp.org>
50005
50006         * lib/fpucw.h: Enable the definitions also for x86_64.
50007         Needed for NetBSD/x86_64.
50008         Reported by Thomas Klausner <tk@giga.or.at>.
50009
50010 2008-04-12  Bruno Haible  <bruno@clisp.org>
50011
50012         * tests/test-strtod.c: Include isnand.h.
50013         (main): Use isnand instead of isnan.
50014         Reported by Jim Meyering.
50015
50016 2008-04-12  Bruno Haible  <bruno@clisp.org>
50017
50018         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
50019         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
50020
50021 2008-04-12  Jim Meyering  <meyering@redhat.com>
50022
50023         * m4/math_h.m4 (gl_MATH_H): Fix typos.
50024
50025 2008-04-12  Bruno Haible  <bruno@clisp.org>
50026
50027         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
50028         Reported by Elbert Pol <e.pol@chello.nl>.
50029
50030 2008-04-12  Eric Blake  <ebb9@byu.net>
50031
50032         Work around Solaris 10 math.h bug.
50033         * m4/math_h.m4 (gl_MATH_H): Check for bug.
50034         (gl_MATH_H_DEFAULTS): Set up default.
50035         * modules/math (Makefile.am): Replace new indicators.
50036         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
50037         * tests/test-math.c (main): Test this.
50038         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
50039         * doc/posix-headers/math.texi (math.h): Mention bug.
50040         Reported by Nelson H. F. Beebe and Jim Meyering.
50041
50042 2008-04-11  Bruno Haible  <bruno@clisp.org>
50043
50044         Adapt to future versions of Apple GCC.
50045         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
50046         Reported by Peter O'Gorman <peter@pogma.com>.
50047
50048 2008-04-11  Bruno Haible  <bruno@clisp.org>
50049
50050         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
50051
50052 2008-04-11  Bruno Haible  <bruno@clisp.org>
50053
50054         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
50055
50056         * modules/getaddrinfo-tests (Makefile.am): Define
50057         test_getaddrinfo_LDADD.
50058
50059 2008-04-11  Bruno Haible  <bruno@clisp.org>
50060
50061         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
50062         (init): Fix syntax error.
50063         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
50064         is declared.
50065
50066 2008-04-11  Bruno Haible  <bruno@clisp.org>
50067
50068         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
50069         * modules/glob (Depends-on): Add stdbool.
50070
50071 2008-04-11  Bruno Haible  <bruno@clisp.org>
50072
50073         * lib/trim.c: Include <string.h>.
50074
50075 2008-04-11  Eric Blake  <ebb9@byu.net>
50076
50077         Avoid compile failure on OS/2.
50078         * lib/regex_internal.h (internal_function): Disable optimization
50079         on OS/2 (__EMX__), where it caused compiler error.
50080         Reported by Elbert Pol.
50081
50082 2008-04-11  Bruno Haible  <bruno@clisp.org>
50083
50084         Flush the standard error stream before aborting. Needed on mingw.
50085         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
50086         * tests/test-array_list.c (ASSERT): Likewise.
50087         * tests/test-array_oset.c (ASSERT): Likewise.
50088         * tests/test-avltree_list.c (ASSERT): Likewise.
50089         * tests/test-avltree_oset.c (ASSERT): Likewise.
50090         * tests/test-avltreehash_list.c (ASSERT): Likewise.
50091         * tests/test-binary-io.c (ASSERT): Likewise.
50092         * tests/test-byteswap.c (ASSERT): Likewise.
50093         * tests/test-c-ctype.c (ASSERT): Likewise.
50094         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
50095         * tests/test-c-strcasestr.c (ASSERT): Likewise.
50096         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
50097         * tests/test-c-strstr.c (ASSERT): Likewise.
50098         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
50099         * tests/test-canonicalize.c (ASSERT): Likewise.
50100         * tests/test-carray_list.c (ASSERT): Likewise.
50101         * tests/test-ceilf1.c (ASSERT): Likewise.
50102         * tests/test-ceilf2.c (ASSERT): Likewise.
50103         * tests/test-ceill.c (ASSERT): Likewise.
50104         * tests/test-count-one-bits.c (ASSERT): Likewise.
50105         * tests/test-fbufmode.c (ASSERT): Likewise.
50106         * tests/test-fflush2.c (ASSERT): Likewise.
50107         * tests/test-floorf1.c (ASSERT): Likewise.
50108         * tests/test-floorf2.c (ASSERT): Likewise.
50109         * tests/test-floorl.c (ASSERT): Likewise.
50110         * tests/test-fopen.c (ASSERT): Likewise.
50111         * tests/test-fpending.c (ASSERT): Likewise.
50112         * tests/test-fprintf-posix.c (ASSERT): Likewise.
50113         * tests/test-fpurge.c (ASSERT): Likewise.
50114         * tests/test-freadable.c (ASSERT): Likewise.
50115         * tests/test-freadahead.c (ASSERT): Likewise.
50116         * tests/test-freading.c (ASSERT): Likewise.
50117         * tests/test-freadptr.c (ASSERT): Likewise.
50118         * tests/test-freadptr2.c (ASSERT): Likewise.
50119         * tests/test-freadseek.c (ASSERT): Likewise.
50120         * tests/test-freopen.c (ASSERT): Likewise.
50121         * tests/test-frexp.c (ASSERT): Likewise.
50122         * tests/test-frexpl.c (ASSERT): Likewise.
50123         * tests/test-fseek.c (ASSERT): Likewise.
50124         * tests/test-fseeko.c (ASSERT): Likewise.
50125         * tests/test-fstrcmp.c (ASSERT): Likewise.
50126         * tests/test-ftell.c (ASSERT): Likewise.
50127         * tests/test-ftello.c (ASSERT): Likewise.
50128         * tests/test-func.c (ASSERT): Likewise.
50129         * tests/test-fwritable.c (ASSERT): Likewise.
50130         * tests/test-fwriting.c (ASSERT): Likewise.
50131         * tests/test-getdelim.c (ASSERT): Likewise.
50132         * tests/test-getline.c (ASSERT): Likewise.
50133         * tests/test-i-ring.c (ASSERT): Likewise.
50134         * tests/test-iconv-utf.c (ASSERT): Likewise.
50135         * tests/test-iconv.c (ASSERT): Likewise.
50136         * tests/test-isfinite.c (ASSERT): Likewise.
50137         * tests/test-isnand.c (ASSERT): Likewise.
50138         * tests/test-isnanf.c (ASSERT): Likewise.
50139         * tests/test-isnanl.h (ASSERT): Likewise.
50140         * tests/test-ldexpl.c (ASSERT): Likewise.
50141         * tests/test-linked_list.c (ASSERT): Likewise.
50142         * tests/test-linkedhash_list.c (ASSERT): Likewise.
50143         * tests/test-localename.c (ASSERT): Likewise.
50144         * tests/test-lseek.c (ASSERT): Likewise.
50145         * tests/test-mbscasecmp.c (ASSERT): Likewise.
50146         * tests/test-mbscasestr1.c (ASSERT): Likewise.
50147         * tests/test-mbscasestr2.c (ASSERT): Likewise.
50148         * tests/test-mbscasestr3.c (ASSERT): Likewise.
50149         * tests/test-mbscasestr4.c (ASSERT): Likewise.
50150         * tests/test-mbschr.c (ASSERT): Likewise.
50151         * tests/test-mbscspn.c (ASSERT): Likewise.
50152         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
50153         * tests/test-mbspbrk.c (ASSERT): Likewise.
50154         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
50155         * tests/test-mbsrchr.c (ASSERT): Likewise.
50156         * tests/test-mbsspn.c (ASSERT): Likewise.
50157         * tests/test-mbsstr1.c (ASSERT): Likewise.
50158         * tests/test-mbsstr2.c (ASSERT): Likewise.
50159         * tests/test-mbsstr3.c (ASSERT): Likewise.
50160         * tests/test-memchr2.c (ASSERT): Likewise.
50161         * tests/test-memmem.c (ASSERT): Likewise.
50162         * tests/test-open.c (ASSERT): Likewise.
50163         * tests/test-printf-frexp.c (ASSERT): Likewise.
50164         * tests/test-printf-frexpl.c (ASSERT): Likewise.
50165         * tests/test-printf-posix.c (ASSERT): Likewise.
50166         * tests/test-quotearg.c (ASSERT): Likewise.
50167         * tests/test-rbtree_list.c (ASSERT): Likewise.
50168         * tests/test-rbtree_oset.c (ASSERT): Likewise.
50169         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
50170         * tests/test-round1.c (ASSERT): Likewise.
50171         * tests/test-roundf1.c (ASSERT): Likewise.
50172         * tests/test-roundl.c (ASSERT): Likewise.
50173         * tests/test-signbit.c (ASSERT): Likewise.
50174         * tests/test-sleep.c (ASSERT): Likewise.
50175         * tests/test-snprintf-posix.c (ASSERT): Likewise.
50176         * tests/test-snprintf.c (ASSERT): Likewise.
50177         * tests/test-sprintf-posix.c (ASSERT): Likewise.
50178         * tests/test-stat-time.c (ASSERT): Likewise.
50179         * tests/test-strcasestr.c (ASSERT): Likewise.
50180         * tests/test-strerror.c (ASSERT): Likewise.
50181         * tests/test-striconv.c (ASSERT): Likewise.
50182         * tests/test-striconveh.c (ASSERT): Likewise.
50183         * tests/test-striconveha.c (ASSERT): Likewise.
50184         * tests/test-strsignal.c (ASSERT): Likewise.
50185         * tests/test-strstr.c (ASSERT): Likewise.
50186         * tests/test-strtod.c (ASSERT): Likewise.
50187         * tests/test-trunc1.c (ASSERT): Likewise.
50188         * tests/test-trunc2.c (ASSERT): Likewise.
50189         * tests/test-truncf1.c (ASSERT): Likewise.
50190         * tests/test-truncf2.c (ASSERT): Likewise.
50191         * tests/test-truncl.c (ASSERT): Likewise.
50192         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
50193         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
50194         * tests/test-vasnprintf.c (ASSERT): Likewise.
50195         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
50196         * tests/test-vasprintf.c (ASSERT): Likewise.
50197         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
50198         * tests/test-vprintf-posix.c (ASSERT): Likewise.
50199         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
50200         * tests/test-vsnprintf.c (ASSERT): Likewise.
50201         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
50202         * tests/test-wcwidth.c (ASSERT): Likewise.
50203         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
50204         * tests/test-xprintf-posix.c (ASSERT): Likewise.
50205         * tests/test-xvasprintf.c (ASSERT): Likewise.
50206         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
50207         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
50208         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
50209         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
50210         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
50211         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
50212         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
50213         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
50214         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
50215         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
50216         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
50217         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
50218         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
50219         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
50220         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
50221         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
50222         * tests/unictype/test-block_list.c (ASSERT): Likewise.
50223         * tests/unictype/test-block_of.c (ASSERT): Likewise.
50224         * tests/unictype/test-block_test.c (ASSERT): Likewise.
50225         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
50226         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
50227         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
50228         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
50229         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
50230         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
50231         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
50232         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
50233         * tests/unictype/test-combining.c (ASSERT): Likewise.
50234         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
50235         * tests/unictype/test-digit.c (ASSERT): Likewise.
50236         * tests/unictype/test-mirror.c (ASSERT): Likewise.
50237         * tests/unictype/test-numeric.c (ASSERT): Likewise.
50238         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
50239         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
50240         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
50241         * tests/unictype/test-scripts.c (ASSERT): Likewise.
50242         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
50243         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
50244         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
50245         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
50246         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
50247         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
50248         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
50249         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
50250         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
50251         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
50252         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
50253         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
50254         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
50255         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
50256         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
50257         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
50258         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
50259         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
50260         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
50261         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
50262         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
50263         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
50264         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
50265         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
50266         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
50267         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
50268         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
50269         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
50270         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
50271         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
50272         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
50273         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
50274         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
50275         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
50276         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
50277         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
50278         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
50279         Reported by Eric Blake.
50280
50281 2008-04-11  Bruno Haible  <bruno@clisp.org>
50282
50283         * lib/wchar.in.h: Tweak comment.
50284
50285 2008-04-11  Bruno Haible  <bruno@clisp.org>
50286
50287         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
50288         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
50289         gl_COMMON.
50290         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
50291
50292 2008-04-11  Bruno Haible  <bruno@clisp.org>
50293
50294         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
50295
50296 2008-04-11  Simon Josefsson  <simon@josefsson.org>
50297
50298         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
50299         of attempting to use non-existing /dev/*random.  Based on patch
50300         from Adam Strzelecki <ono@java.pl> in
50301         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
50302
50303 2008-04-08  Bruno Haible  <bruno@clisp.org>
50304
50305         Add tentative support for emx+gcc.
50306         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
50307         * lib/fpurge.c (fpurge): Likewise.
50308         * lib/freadable.c (freadable): Likewise.
50309         * lib/freadahead.c (freadahead): Likewise.
50310         * lib/freading.c (freading): Likewise.
50311         * lib/freadptr.c (freadptr): Likewise.
50312         * lib/freadseek.c (freadptrinc): Likewise.
50313         * lib/fseeko.c (rpl_fseeko): Likewise.
50314         * lib/fseterr.c (fseterr): Likewise.
50315         * lib/fwritable.c (fwritable): Likewise.
50316         * lib/fwriting.c (fwriting): Likewise.
50317         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
50318
50319 2008-04-09  Eric Blake  <ebb9@byu.net>
50320
50321         Avoid some autoconf warnings.
50322         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
50323         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
50324         * m4/afs.m4 (gl_AFS): Likewise.
50325         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
50326         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
50327         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50328         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
50329         (gl_INTEGER_TYPE_SUFFIX): Likewise.
50330         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
50331         (AC_CHECK_DECLS_ONCE): Likewise.
50332         Rename file...
50333         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
50334         gnulib-tool requires autoconf 2.59 or better.
50335         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
50336
50337 2008-04-08  Eric Blake  <ebb9@byu.net>
50338
50339         Use 'git describe --match' if present (added in git 1.5.5).
50340         * build-aux/git-version-gen: Limit result to tags that match 'v*'
50341         if possible.
50342
50343 2008-04-08  Bruno Haible  <bruno@clisp.org>
50344
50345         Add tentative support for OpenServer.
50346         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
50347         _ptr, _cnt.
50348         * lib/fpurge.c (fpurge): Likewise.
50349         * lib/freadable.c (freadable): Likewise.
50350         * lib/freadahead.c (freadahead): Likewise.
50351         * lib/freading.c (freading): Likewise.
50352         * lib/freadptr.c (freadptr): Likewise.
50353         * lib/freadseek.c (freadptrinc): Likewise.
50354         * lib/fseeko.c (rpl_fseeko): Likewise.
50355         * lib/fseterr.c (fseterr): Likewise.
50356         * lib/fwritable.c (fwritable): Likewise.
50357         * lib/fwriting.c (fwriting): Likewise.
50358         Reported by Roger Cornelius <rac@tenzing.org> and
50359         Brian K. White <brian@aljex.com>.
50360
50361 2008-04-06  Jim Meyering  <meyering@redhat.com>
50362
50363         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
50364
50365 2008-04-06  Bruno Haible  <bruno@clisp.org>
50366
50367         Avoid possible error with non-ASCII bytes in UTF-8 locales.
50368         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
50369         * tests/test-printf-posix.sh: Likewise.
50370         * tests/test-vfprintf-posix.sh: Likewise.
50371         * tests/test-vprintf-posix.sh: Likewise.
50372         * tests/test-xprintf-posix.sh: Likewise.
50373
50374 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50375
50376         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
50377         hide error from 'ls', needed on OS/2.
50378         Report by Elbert Pol <elbert.pol@gmail.com>.
50379
50380 2008-04-04  Eric Blake  <ebb9@byu.net>
50381
50382         Make test-fseeko.c failures meaningful.
50383         * tests/test-fseeko.c: Print line number on failure.
50384         * tests/test-fseek.c: Likewise.
50385         Reported by Nelson H. F. Beebe.
50386
50387         Improve strtod bug detection check.
50388         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50389         required for Solaris 10.
50390         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50391
50392 2008-04-04  Bruno Haible  <bruno@clisp.org>
50393
50394         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50395         by m4/setenv.m4.
50396
50397 2008-04-03  Eric Blake  <ebb9@byu.net>
50398
50399         Ensure sane .version contents.
50400         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50401         version string.
50402         * build-aux/git-version-gen: Improve documentation.
50403
50404         Make GNU make output nicer.
50405         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50406         MAKECMDGOALS to enforce message for all command line targets.  Set
50407         srcdir for use in maint.mk.
50408
50409         Another maintainer tweak.
50410         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50411         a target that regenerates version.
50412
50413 2008-04-03  Jim Meyering  <meyering@redhat.com>
50414
50415         vc-list-files: don't cause coreutils "make po-check" failure
50416         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50417
50418 2008-04-03  Eric Blake  <ebb9@byu.net>
50419
50420         Allow VPATH usage of vc-list-files.
50421         * build-aux/vc-list-files (scriptversion): Add timestamp.
50422         (options): Add --help, --version, -C.
50423         (CVS): Support installed cvsu.
50424
50425 2008-04-02  Bruno Haible  <bruno@clisp.org>
50426
50427         Avoid some "statement with no effect" warnings from gcc.
50428         * tests/test-wctype.c (main): Explicitly ignore unused values.
50429         Reported by Jim Meyering.
50430
50431 2008-04-02  Jim Meyering  <meyering@redhat.com>
50432
50433         Avoid some warnings from "gcc -Wshadow".
50434         * tests/test-frexp.c (exp): Define to a different identifier.
50435         * tests/test-frexpl.c (exp): Likewise.
50436
50437 2008-04-03  Jim Meyering  <meyering@redhat.com>
50438
50439         bootstrap: remove dangling *.[ch] symlinks from lib
50440         * build-aux/bootstrap [dangling symlink removal]: Move find's
50441         -depth option to precede all others, to avoid a warning.
50442         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50443
50444 2008-04-02  Bruno Haible  <bruno@clisp.org>
50445
50446         Avoid some warnings from "gcc -Wshadow".
50447         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50448         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50449         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50450         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50451         Reported by Jim Meyering.
50452
50453 2008-04-01  Bruno Haible  <bruno@clisp.org>
50454
50455         Fix test to work on IRIX 6.5 with cc.
50456         * tests/test-math.c (numeric_equal): New function.
50457         (main): Use it.
50458
50459 2008-04-01  Bruno Haible  <bruno@clisp.org>
50460
50461         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50462
50463 2008-04-01  Bruno Haible  <bruno@clisp.org>
50464
50465         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50466         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50467         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50468         (Depends-on): Remove math.
50469
50470         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
50471         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50472         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
50473         (Depends-on): Remove math.
50474
50475         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50476         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50477         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50478         (Depends-on): Remove math.
50479         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50480         (Depends-on): Remove math.
50481
50482         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50483         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50484         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50485         (Depends-on): Remove math.
50486         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50487         (Depends-on): Remove math.
50488
50489         * tests/test-round1.c: Include nan.h.
50490         (main): Use NaNd instead of NAN.
50491         * modules/round-tests (Files): Add tests/nan.h.
50492
50493         * tests/test-trunc1.c: Include nan.h.
50494         (main): Use NaNd instead of NAN.
50495         * modules/trunc-tests (Files): Add tests/nan.h.
50496
50497         * tests/test-roundf1.c: Include nan.h.
50498         (main): Use NaNf instead of NAN.
50499         * modules/roundf-tests (Files): Add tests/nan.h.
50500
50501         * tests/test-truncf1.c: Include nan.h.
50502         (main): Use NaNf instead of NAN.
50503         * modules/truncf-tests (Files): Add tests/nan.h.
50504
50505         * tests/test-ceilf1.c: Include nan.h.
50506         (main): Use NaNf instead of NAN.
50507         * modules/ceilf-tests (Files): Add tests/nan.h.
50508
50509         * tests/test-floorf1.c: Include nan.h.
50510         (main): Use NaNf instead of NAN.
50511         * modules/floorf-tests (Files): Add tests/nan.h.
50512
50513         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50514         (main): Use NaNf instead of NAN.
50515         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50516
50517         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50518         (main): Use NaNd instead of NAN.
50519         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50520
50521         * tests/test-frexp.c: Include nan.h.
50522         (main): Use NaNd instead of NAN.
50523         * modules/frexp-tests (Files): Add tests/nan.h.
50524
50525         * lib/isnan.c: Don't include <math.h>.
50526         (FUNC): Don't use NAN macro.
50527         * modules/isnand-nolibm (Depends-on): Remove math.
50528         * modules/isnanf-nolibm (Depends-on): Remove math.
50529         * modules/isnanl (Depends-on): Remove math.
50530         * modules/isnanl-nolibm (Depends-on): Remove math.
50531
50532         * tests/nan.h: New file.
50533
50534 2008-04-01  Eric Blake  <ebb9@byu.net>
50535
50536         Fix typos.
50537         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50538         values to be the right type.
50539
50540         For now, cater to gnulib strtod inaccuracies.
50541         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50542         fractional results.  While not as nice from a QoI perspective, it
50543         is a quicker patch than correctly implementing decimal to binary
50544         rounding.
50545
50546 2008-03-31  Eric Blake  <ebb9@byu.net>
50547
50548         Guarantee a definition of NAN.
50549         * lib/math.in.h (NAN): Define if missing.
50550         * tests/test-math.c (main): Test it.
50551         * doc/posix-headers/math.texi (math.h): Document this.
50552         * lib/isnan.c (rpl_isnand): Use it.
50553         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50554         * tests/test-floorf1.c (NaN): Likewise.
50555         * tests/test-frexp.c (NaN): Likewise.
50556         * tests/test-isnand.c (NaN): Likewise.
50557         * tests/test-isnanf.c (NaN): Likewise.
50558         * tests/test-round1.c (NaN): Likewise.
50559         * tests/test-roundf1.c (NaN): Likewise.
50560         * tests/test-snprintf-posix.h (NaN): Likewise.
50561         * tests/test-sprintf-posix.h (NaN): Likewise.
50562         * tests/test-trunc1.c (NaN): Likewise.
50563         * tests/test-truncf1.c (NaN): Likewise.
50564         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50565         * tests/test-vasprintf-posix.c (NaN): Likewise.
50566         * modules/isnand-nolibm (Depends-on): Add math.
50567         * modules/isnanf-nolibm (Depends-on): Likewise.
50568         * modules/isnanl (Depends-on): Likewise.
50569         * modules/isnanl-nolibm (Depends-on): Likewise.
50570         * modules/snprintf-posix-tests (Depends-on): Likewise.
50571         * modules/sprintf-posix-tests (Depends-on): Likewise.
50572         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50573         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50574         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50575         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50576
50577 2008-03-31  Bruno Haible  <bruno@clisp.org>
50578
50579         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50580         * doc/posix-functions/strtod.texi: Likewise.
50581
50582 2008-03-31  Bruno Haible  <bruno@clisp.org>
50583
50584         * tests/test-strtod.c (main): Don't use C99 syntax.
50585
50586 2008-03-31  Bruno Haible  <bruno@clisp.org>
50587
50588         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50589         Reported by Eric Blake.
50590
50591 2008-03-31  Jim Meyering  <meyering@redhat.com>
50592
50593         Don't compare actual signbit return values.
50594         * tests/test-strtod.c (main): Rather, compare only their
50595         zero/non-zero nature.
50596
50597 2008-03-31  Eric Blake  <ebb9@byu.net>
50598
50599         More strtod documentation.
50600         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50601         failures as distinct bugs.
50602
50603 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50604
50605         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50606         Problem reported by Erik Benada in
50607         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50608
50609 2008-03-30  Bruno Haible  <bruno@clisp.org>
50610
50611         * tests/test-strtod.c: Add comments about which assertion fails on which
50612         platform.
50613         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50614
50615 2008-03-30  Eric Blake  <ebb9@byu.net>
50616
50617         Test signbit behavior on zeros.
50618         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50619         (test_signbitd, test_signbitl): Likewise.
50620
50621         More strtod touchups.
50622         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50623         sign of negative underflow, for now.  Use .5, not .1.
50624         * doc/posix-functions/strtod.texi (strtod): Mention these
50625         limitations.
50626         Reported by Jim Meyering.
50627
50628 2008-03-30  Bruno Haible  <bruno@clisp.org>
50629
50630         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50631         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50632
50633 2008-03-30  Bruno Haible  <bruno@clisp.org>
50634
50635         Avoid failure when attempting to return empty iconv results on some
50636         platforms.
50637         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50638         allocation, don't report ENOMEM when the resulting string is empty.
50639
50640 2008-03-30  Bruno Haible  <bruno@clisp.org>
50641
50642         Fix buffer overrun.
50643         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50644         Don't consider the width for tmp_length. Check count against tmp_length
50645         before doing the padding. Ensure enough allocation during padding.
50646
50647 2008-03-30  Eric Blake  <ebb9@byu.net>
50648
50649         strtod touchups.
50650         * lib/strtod.c (strtod): Avoid compiler warnings.
50651         Reported by Jim Meyering.
50652
50653 2008-03-30  Bruno Haible  <bruno@clisp.org>
50654
50655         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50656         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50657         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50658         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50659         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50660         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50661         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50662         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50663
50664         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50665         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50666         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50667         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50668         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50669         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50670         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50671         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50672
50673         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50674         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50675         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50676         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50677         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50678         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50679         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50680         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50681
50682         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50683         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50684
50685         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50686         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50687
50688         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50689         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50690
50691         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50692         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50693         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50694
50695         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50696         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50697         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50698
50699         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50700         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50701         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50702
50703         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50704         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50705         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50706
50707         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50708         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50709         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50710         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50711         (Depends-on): Add EOVERFLOW.
50712         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50713         (Depends-on): Add EOVERFLOW.
50714         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50715         (Depends-on): Add EOVERFLOW.
50716         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50717         (Depends-on): Add EOVERFLOW.
50718         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50719         (Depends-on): Add EOVERFLOW.
50720         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50721         (Depends-on): Add EOVERFLOW.
50722         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50723         (Depends-on): Add EOVERFLOW.
50724         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50725         (Depends-on): Add EOVERFLOW.
50726
50727         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50728         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50729         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50730
50731         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50732         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50733         * modules/snprintf (Depends-on): Add EOVERFLOW.
50734
50735         * lib/poll.c (EOVERFLOW): Remove fallback.
50736         * modules/poll (Depends-on): Add EOVERFLOW.
50737
50738         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50739         * modules/getugroups (Depends-on): Add EOVERFLOW.
50740
50741         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50742         * modules/getdelim (Depends-on): Add EOVERFLOW.
50743
50744         * lib/ftell.c (EOVERFLOW): Remove fallback.
50745         * modules/ftell (Depends-on): Add EOVERFLOW.
50746
50747         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50748         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50749         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50750
50751         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50752
50753         * modules/EOVERFLOW-tests: New file.
50754         * tests/test-EOVERFLOW.c: New file.
50755
50756         * modules/EOVERFLOW: New file.
50757         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50758
50759 2008-03-30  Bruno Haible  <bruno@clisp.org>
50760
50761         Fix bug introduced on 2007-06-10.
50762         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50763         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50764
50765 2008-03-30  Bruno Haible  <bruno@clisp.org>
50766
50767         Improve freadseek's efficiency after ungetc.
50768         * lib/freadseek.c: Include freadahead.h.
50769         (freadptrinc): New function, extracted from freadseek.
50770         (freadseek): Use it in a loop. Use freadahead to determine the number
50771         of loop iterations.
50772         * modules/freadseek (Depends-on): Add freadahead.
50773         (configure.ac): Require AC_C_INLINE.
50774
50775 2008-03-30  Bruno Haible  <bruno@clisp.org>
50776
50777         * lib/freadseek.c (freadseek): Don't ignore the return value of
50778         freadptr.
50779
50780 2008-03-29  Eric Blake  <ebb9@byu.net>
50781
50782         Add hex float support.
50783         * modules/strtod (Depends-on): Add c-ctype.
50784         (Link): Mention POW_LIB.
50785         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50786         whitespace between 'e' and exponent.
50787         * tests/test-strtod.c (main): Enable hex float tests.
50788         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50789         now provides.
50790
50791         Document various strtod bugs, with some fixes.
50792         * doc/posix-functions/strtod.texi (strtod): Document bugs with
50793         "-0x", "inf", "nan", and hex constants.
50794         * doc/posix-functions/atof.texi (atof): Likewise.
50795         * modules/stdlib (Makefile.am): Support strtod.
50796         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
50797         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
50798         detect additional strtod bugs.
50799         * lib/stdlib.in.h (rpl_strtod): Add declarations.
50800         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
50801         bool where appropriate.  Parse 'inf' and 'nan'.
50802         * tests/test-strtod.c: New file.
50803         * modules/strtod (Depends-on): Add stdbool, stdlib.
50804         (configure.ac): Turn on module indicator.
50805         * modules/strtod-tests: New module.
50806
50807 2008-03-29  Eric Blake  <ebb9@byu.net>
50808
50809         Fix ftell on mingw.
50810         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
50811         * modules/ftell-tests (Depends-on): Add binary-io.
50812         * modules/ftello-tests (Depends-on): Likewise.
50813         * tests/test-ftell.c (main): Enhance test to cover behavior after
50814         ungetc.  Enforce binary mode.
50815         * tests/test-ftello.c (main): Likewise.
50816
50817         Pass test-freadseek on cygwin.
50818         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
50819         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
50820         ungetc buffer.
50821
50822         * tests/test-fflush2.c (main): Fix typo.
50823
50824 2008-03-29  Bruno Haible  <bruno@clisp.org>
50825
50826         * tests/test-fflush2.c (main): Temporarily disable the contents of
50827         this test.
50828         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
50829         Reported by Eric Blake.
50830
50831 2008-03-28  Simon Josefsson  <simon@josefsson.org>
50832
50833         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
50834         (GC_SHA224_DIGEST_SIZE): Add.
50835
50836         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
50837         (gc_hash_digest_length): Likewise.
50838         (gc_hash_buffer): Likewise.
50839
50840 2008-03-25  Bruno Haible  <bruno@clisp.org>
50841
50842         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
50843         detail which gettext release to use.
50844         Reported by Simon Josefsson.
50845
50846 2008-03-26  Jim Meyering  <meyering@redhat.com>
50847
50848         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
50849         * modules/gnumakefile (clean-GNUmakefile): Also, use
50850         test ... && ... || : syntax rather than if-then ... fi.
50851
50852         gnumakefile: Don't double-quote-expand $(VPATH) value.
50853         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
50854
50855 2008-03-24  Eric Blake  <ebb9@byu.net>
50856
50857         Alter GNUmakefile to install into top directory.
50858         * modules/maintainer-makefile: Split, and add dependency...
50859         * modules/gnumakefile: to this new module.
50860         * build-aux/GNUmakefile: Move...
50861         * top/GNUmakefile: ...here.
50862         * build-aux/maint.mk: Move...
50863         * top/maint.mk: ...here.
50864         * MODULES.html.sh (Support for maintaining...): Document new
50865         module.
50866
50867 2008-03-23  Bruno Haible  <bruno@clisp.org>
50868
50869         * gnulib-tool: New options --vc-files, --no-vc-files.
50870         (func_usage): Document them.
50871         (vc_files): New variable.
50872         (func_import): Consider vc_files.
50873         (func_create_testdir): Set vc_files to empty.
50874         Suggested by Jim Meyering and Karl Berry.
50875
50876 2008-03-23  Bruno Haible  <bruno@clisp.org>
50877
50878         Fix regex compilation error on HP-UX 11.
50879         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
50880         * modules/regex (Files): Add m4/mbstate_t.m4.
50881         Reported by Ton Voon <ton.voon@altinity.com>.
50882
50883 2008-03-23  Bruno Haible  <bruno@clisp.org>
50884
50885         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
50886
50887 2008-03-23  Eric Blake  <ebb9@byu.net>
50888             Bruno Haible  <bruno@clisp.org>
50889
50890         Install files from top/ in the destination directory.
50891         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50892         augmentation also for the files from top/.
50893         (func_import, func_create_testdir): Rewrite file names:
50894         top/filename -> filename.
50895
50896 2008-03-23  Bruno Haible  <bruno@clisp.org>
50897
50898         Tweak "gnulib --version" output.
50899         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
50900
50901 2008-03-23  Bruno Haible  <bruno@clisp.org>
50902
50903         Tweak "gnulib --version" output.
50904         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
50905         rather than contents of ChangeLog, when possible.
50906
50907 2008-03-21  Eric Blake  <ebb9@byu.net>
50908
50909         More --version tweaks.
50910         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
50911         date of last ChangeLog entry.
50912
50913 2008-03-21  Jim Meyering  <meyering@redhat.com>
50914
50915         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
50916
50917 2008-03-20  Eric Blake  <ebb9@byu.net>
50918
50919         VPATH fix.
50920         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
50921
50922 2008-03-20  Simon Josefsson  <simon@josefsson.org>
50923
50924         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
50925         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
50926
50927 2008-03-20  Eric Blake  <ebb9@byu.net>
50928
50929         Sync GNUmakefile with coreutils.
50930         * build-aux/GNUmakefile (have-Makefile): Rename...
50931         (_have-Makefile): ...to this, for namespace consideration.
50932         (GNUmakefile.cfg): Include, if present.
50933         (_autoreconf): Define a default.
50934         (_is-dist-target): New rule for rebuilds to pick up intra-release
50935         version.
50936         (maint-cfg.mk): Rename...
50937         (cfg.mk): ...to this.
50938
50939 2008-03-18  Jim Meyering  <meyering@redhat.com>
50940
50941         New script and module: mktempd
50942         * MODULES.html.sh (maint+release support): Add mktempd.
50943         * build-aux/mktempd: New file.
50944         * modules/mktempd: New file.
50945
50946 2008-03-15  Jim Meyering  <meyering@redhat.com>
50947
50948         Undo last change.
50949         * lib/sha1.c, lib/md5.c: 63 != ~63.
50950         Reported by Andreas Schwab.
50951
50952         sha1.c, md5.c: Hoist a redundant expression.
50953         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
50954         "ctx->buflen" only once, before calling *_process_block.
50955         * lib/md5.c (md5_process_bytes): Likewise.
50956
50957 2008-03-14  Eric Blake  <ebb9@byu.net>
50958
50959         Bump copyright year in files generated by gnulib-tool.
50960         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
50961         gnulib-tool, rather than hard-coding it.
50962
50963         Fix 'gnulib-tool --version' output to work with git.
50964         * gnulib-tool (func_gnulib_dir): New function, extracted from...
50965         (startup): ...here.
50966         (func_version): Use it to invoke git-version-gen, rather than
50967         relying on CVS keyword expansion.  Modernize wording.
50968         (cvsdatestamp, last_checkin_date, version): Kill unused
50969         variables.
50970
50971 2008-03-12  Jim Meyering  <meyering@redhat.com>
50972
50973         Recognize optional cast of the argument to free.
50974         * build-aux/useless-if-before-free: Update regexps.
50975
50976         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
50977
50978 2008-03-11  Bruno Haible  <bruno@clisp.org>
50979
50980         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
50981         by a single package.
50982         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
50983         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
50984         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
50985         Reported by Sam Steingold <sds@gnu.org>.
50986
50987 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50988
50989         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
50990         repositories.
50991
50992 2008-03-11  Bruno Haible  <bruno@clisp.org>
50993
50994         Avoid conflicts between local macro definitions.
50995         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50996         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
50997
50998 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
50999             Bruno Haible  <bruno@clisp.org>
51000
51001         Make va_copy work with some version of xlc on AIX 5.1.
51002         * lib/stdarg.in.h: New file.
51003         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
51004         On AIX, use a <stdarg.h> file substitute.
51005         * modules/stdarg (Files): Add lib/stdarg.in.h.
51006         (Depends-on): Add include_next.
51007         (Makefile.am): Build a stdarg.h substitute if requested.
51008         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
51009
51010 2008-03-10  Bruno Haible  <bruno@clisp.org>
51011
51012         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
51013         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51014         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51015
51016 2008-03-10  Bruno Haible  <bruno@clisp.org>
51017
51018         * modules/stdlib (Depends-on): Add include_next, remove
51019         absolute-header.
51020
51021 2008-03-09  Bruno Haible  <bruno@clisp.org>
51022
51023         * lib/freadahead.h (freadahead): Document more precisely.
51024         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
51025         the sum of both buffer sizes.
51026         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
51027         * NEWS: Document the change.
51028
51029 2008-03-09  Bruno Haible  <bruno@clisp.org>
51030
51031         Extend freadptr to return also the buffer size.
51032         * lib/freadptr.h (freadptr): Add sizep argument.
51033         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
51034         (freadptr): Add sizep argument. Determine buffer size like freadahead
51035         does.
51036         * tests/test-freadptr.c: Don't include freadahead.h.
51037         (main): Adapt for new calling convention of freadptr.
51038         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
51039         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
51040         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
51041         tests/test-freadptr2.sh.
51042         (Depends): Remove freadahead.
51043         (TESTS): Add test-freadptr2.sh.
51044         (check_PROGRAMS): Add test-freadptr2.
51045
51046 2008-03-09  Bruno Haible  <bruno@clisp.org>
51047
51048         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
51049         Report and solution by Simon Josefsson.
51050
51051 2008-03-06  Bruno Haible  <bruno@clisp.org>
51052
51053         Make fflush after ungetc work on BSD platforms.
51054         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
51055         * tests/test-fflush2.c: New file.
51056         * tests/test-fflush2.sh: New file.
51057         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
51058         tests/test-fflush2.c.
51059         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
51060         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
51061
51062 2008-03-06  Eric Blake  <ebb9@byu.net>
51063
51064         Likewise for ftello.
51065         * modules/ftello (Dependencies): Add extensions.
51066         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
51067
51068 2008-03-06  Bruno Haible  <bruno@clisp.org>
51069
51070         * modules/fseeko (Dependencies): Add extensions.
51071         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
51072         Needed on glibc systems.
51073
51074 2008-03-06  Bruno Haible  <bruno@clisp.org>
51075
51076         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
51077         email address.
51078         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51079
51080 2008-03-06  Bruno Haible  <bruno@clisp.org>
51081
51082         * users.txt: Add libgnupdf.
51083
51084 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51085
51086         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
51087         (Header File Substitutes, Function Substitutes,
51088         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
51089         (Build robot for gnulib): Fix typo.
51090
51091 2008-03-06  Bruno Haible  <bruno@clisp.org>
51092
51093         * doc/gnulib-tool.texi (VCS Issues): Small updates.
51094         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51095
51096 2008-03-06  Bruno Haible  <bruno@clisp.org>
51097
51098         * doc/func.texi: New file, extracted from doc/gnulib.texi.
51099         * doc/gnulib.texi: Include it.
51100
51101 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51102
51103         * modules/func (License): Change license to unlimited; there was
51104         no LGPL parts in the module anyway.
51105
51106 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51107
51108         * modules/__func__: Renamed to modules/func.
51109         * modules/__func__-tests: Renamed to modules/func-tests.
51110         * tests/test-__func__.c: Renamed to tests/test-func.c.
51111         * m4/__func__.m4: Renamed to m4/func.m4.
51112         * doc/gnulib.texi (__func__): Section renamed to func.
51113         Suggested by Eric Blake <ebb9@byu.net>.
51114
51115 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51116
51117         * doc/gnulib.texi (__func__): Use C99 terminology when talking
51118         about __func__.  Make example self-contained.  Suggested by Eric
51119         Blake <ebb9@byu.net>.
51120
51121         * tests/test-__func__.c (main): Avoid extraneous () around __func.
51122         Suggested by Eric Blake <ebb9@byu.net>.
51123
51124 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51125
51126         * modules/__func__: New file.
51127         * modules/__func__-tests: New file.
51128         * tests/test-__func__.c: New file.
51129         * m4/__func__.m4: New file.
51130         * doc/gnulib.texi (__func__): Document __func__ module.
51131
51132 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51133
51134         * modules/byteswap (License): Re-license as LGPLv2+.
51135
51136 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51137
51138         * doc/Makefile: Add pdf target.
51139
51140 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51141
51142         * modules/inline (License): Use 'unlimited', since there are only
51143         *.m4 files in this module.
51144
51145 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51146             Bruno Haible  <bruno@clisp.org>
51147
51148         Add support for HP C 7.1 on OpenVMS 8.3.
51149         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
51150
51151 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51152
51153         Update VMS specifics.
51154         * lib/getopt.c [VMS]: Remove include of unixlib.h.
51155
51156 2008-03-02  Jim Meyering  <meyering@redhat.com>
51157
51158         Remove the last dependency on the "free" module.
51159         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
51160         Reported by Bob Proulx.
51161
51162         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
51163
51164         Remove useless "if" tests before free.  Deprecate "free" module.
51165         * doc/posix-functions/free.texi: Mention that this
51166         module is no longer useful.
51167         * modules/free (Notice): Say this module is obsolete.
51168         * modules/readutmp (Depends-on): Remove free.
51169         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
51170         * lib/putenv.c (putenv): Likewise.
51171         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
51172         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
51173         * tests/test-c-strcasestr.c (main): Likewise.
51174         * tests/test-c-strstr.c (main): Likewise.
51175         * tests/test-mbscasestr1.c (main): Likewise.
51176         * tests/test-mbscasestr2.c (main): Likewise.
51177         * tests/test-mbsstr1.c (main): Likewise.
51178         * tests/test-mbsstr2.c (main): Likewise.
51179         * tests/test-memmem.c (main): Likewise.
51180         * tests/test-strcasestr.c (main): Likewise.
51181         * tests/test-striconv.c (main): Likewise.
51182         * tests/test-striconveh.c (main): Likewise.
51183         * tests/test-striconveha.c (main): Likewise.
51184         * tests/test-strstr.c (main): Likewise.
51185
51186         * build-aux/git-version-gen: Adjust a comment and the Usage string.
51187
51188         bootstrap: sync from coreutils again
51189         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
51190
51191 2008-03-01  Jim Meyering  <meyering@redhat.com>
51192
51193         bootstrap: sync from coreutils
51194         * build-aux/bootstrap (update_po_files): Copy a .po file into place
51195         also when the target doesn't exist.
51196
51197 2008-03-01  Eric Blake  <ebb9@byu.net>
51198
51199         Fix bugs in last patch.
51200         * lib/memchr2.c (memchr2): Fix typo.
51201         * tests/test-memchr2.c: Test previous bug, and don't use GNU
51202         extension.
51203         Reported by Bruce Korb.
51204
51205         New module 'memchr2'.
51206         * modules/memchr2: New file.
51207         * modules/memchr2-tests: Likewise.
51208         * lib/memchr2.h: Likewise.
51209         * lib/memchr2.c: Likewise, based on memchr.c.
51210         * tests/test-memchr2.c: New test.
51211         * MODULES.html.sh (String handling): Add memchr2.
51212
51213 2008-02-29  Bruno Haible  <bruno@clisp.org>
51214
51215         * modules/freadseek-tests: New file.
51216         * tests/test-freadseek.sh: New file.
51217         * tests/test-freadseek.c: New file.
51218
51219         New module 'freadseek'.
51220         * modules/freadseek: New file.
51221         * lib/freadseek.h: New file.
51222         * lib/freadseek.c: New file.
51223         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
51224
51225 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51226
51227         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
51228         wydawca.
51229
51230         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
51231         program_invocation_name and program_invocation_short_name are
51232         present.
51233
51234 2008-02-28  Bruno Haible  <bruno@clisp.org>
51235
51236         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
51237         * tests/test-freadptr.sh: Also test non-seekable stdin.
51238
51239 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
51240
51241         * build-aux/bootstrap (source_base, m4_base)
51242         (doc_base, tests_base): New variables.
51243         (gnulib_tool_options): Do not hardcode base directories, use
51244         the above variables instead.
51245
51246 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
51247
51248         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
51249
51250 2008-02-28  Bruno Haible  <bruno@clisp.org>
51251
51252         * modules/freadptr-tests: New file.
51253         * tests/test-freadptr.sh: New file.
51254         * tests/test-freadptr.c: New file.
51255
51256         New module 'freadptr'.
51257         * modules/freadptr: New file.
51258         * lib/freadptr.h: New file.
51259         * lib/freadptr.c: New file.
51260         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
51261
51262 2008-02-26  Karl Berry  <karl@freefriends.org>
51263
51264         Sync from Libtool:
51265         * libltdl/argz.c (argz_add, argz_count): New functions.
51266         * libltdl/argz.in.h: Declare them.
51267         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
51268
51269 2008-02-22  Bruno Haible  <bruno@clisp.org>
51270
51271         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
51272         is a pointer type.  Needed for HP-UX 10.
51273         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
51274         * doc/posix-functions/gmtime_r.texi: Likewise.
51275         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51276
51277 2008-02-24  Bruno Haible  <bruno@clisp.org>
51278
51279         * modules/environ-tests: New file.
51280         * tests/test-environ.c: New file.
51281
51282         New module 'environ'.
51283         * modules/environ: New file.
51284         * lib/unistd.in.h (environ): New declaration.
51285         * m4/environ.m4: New file.
51286         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
51287         after use.
51288         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
51289         HAVE_DECL_ENVIRON.
51290         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
51291         HAVE_DECL_ENVIRON.
51292         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
51293         wrong claim that 'environ' is missing on some systems.
51294         * modules/execute (Depends-on): Add environ.
51295         * lib/execute.c (environ): Remove fallback declaration.
51296         * modules/pipe (Depends-on): Add environ.
51297         * lib/pipe.c (environ): Remove fallback declaration.
51298         * modules/setenv (Depends-on): Add environ.
51299         * lib/setenv.c (environ): Remove fallback declaration.
51300         * modules/unsetenv (Depends-on): Add environ.
51301         * lib/unsetenv.c (environ): Remove fallback declaration.
51302         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
51303         m4/environ.m4.
51304         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
51305         (gl_PREREQ_UNSETENV): Likewise.
51306
51307 2008-02-24  Bruno Haible  <bruno@clisp.org>
51308
51309         * doc/posix-functions/environ.texi: Document the MacOS X problem.
51310
51311 2008-02-20  Bob Proulx  <bob@proulx.com>
51312
51313         Enable use of older two part flavor 'git describe'.
51314         * build-aux/git-version-gen: If using the older two part flavor of
51315         git version then recreate the third part now present in the
51316         newer three part flavor of git describe.
51317
51318 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
51319
51320         * lib/fts.c (fts_build): Typo correction to comment.
51321
51322 2008-02-17  Bruno Haible  <bruno@clisp.org>
51323
51324         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
51325         generating no-op conflicts.
51326
51327 2008-02-17  Bruno Haible  <bruno@clisp.org>
51328
51329         Speed up by 10%.
51330         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
51331         result_entries, rather than an index-based loop.
51332
51333 2008-02-17  Bruno Haible  <bruno@clisp.org>
51334
51335         Speed up by 25%.
51336         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
51337         'hashcode_cached'.
51338         (entry_create): New function.
51339         (entry_hashcode): Use the cached hashcode if possible.
51340         (read_changelog_file, try_split_merged_entry): Use entry_create.
51341
51342 2008-02-17  Bruno Haible  <bruno@clisp.org>
51343
51344         Speed up from O(n^2) to O(n) for long ChangeLog files.
51345         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
51346         (read_changelog_file): Change implementation of entries_reversed list
51347         to rbtreehash.
51348         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
51349
51350 2008-02-17  Bruno Haible  <bruno@clisp.org>
51351
51352         New option --split-merged-entry.
51353         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
51354         (find_paragraph_end, try_split_merged_entry): New functions.
51355         (long_options): Add option --split-merged-entry.
51356         (usage): Document option --split-merged-entry.
51357         (main): Implement option --split-merged-entry.
51358         Reported by Eric Blake.
51359
51360 2008-02-17  Bruno Haible  <bruno@clisp.org>
51361
51362         * lib/git-merge-changelog.c: Include c-strstr.h.
51363         (main): Support the "git pull --rebase" situation.
51364         * modules/git-merge-changelog (Depends-on): Add c-strstr.
51365         Reported by Eric Blake.
51366
51367 2008-02-16  Eric Blake  <ebb9@byu.net>
51368
51369         Avoid doubling \ in common case of "c-maybe" quoting style.
51370         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
51371         eliding outer quotes.
51372         * lib/quotearg.h: Document this.
51373         * tests/test-quotearg.c (result_strings, inputs, results_g)
51374         (flag_results, locale_results): Test it by adding a new string to
51375         each test group.
51376         (compare_strings): Test new string.
51377
51378 2008-02-13  Eric Blake  <ebb9@byu.net>
51379
51380         Avoid trigraph quoting in default output.
51381         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51382         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51383         unless explicitly requested.
51384         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51385
51386 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51387
51388         Don't rely on signed integer overflowing to negative value.
51389         * lib/getugroups.c (getugroups): Include <limits.h>.
51390         Instead, compare against INT_MAX, and increment only if the test passes.
51391
51392 2008-02-13  Jim Meyering  <meyering@redhat.com>
51393         and Eric Blake  <ebb9@byu.net>
51394
51395         Avoid shadowing warning and compile errors on Linux.
51396         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51397         forwarding macros on Linux.
51398         (dcgettext): Define a stub, for Linux.
51399         (results_g, main): Avoid warnings.
51400
51401 2008-02-12  Eric Blake  <ebb9@byu.net>
51402
51403         Silence warning in last patch.
51404         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51405
51406         Quotearg part 4: add tests, fix c-maybe colon quoting.
51407         * lib/quotearg.h: Improve documentation.
51408         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51409         escapes when adding outer quotes.  When quoting trigraphs, use
51410         valid C notation.  When quoting NUL, omit extra characters if next
51411         character is not digit.  Alter prototype.
51412         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51413         callers.
51414         * modules/quotearg-tests: New module.
51415         * tests/test-quotearg.c: New test.
51416
51417 2008-02-07  Eric Blake  <ebb9@byu.net>
51418
51419         Quotearg part 3: add flag to control outer quote elision.
51420         * lib/quotearg.h (c_maybe_quoting_style): New style.
51421         (enum quoting_flags): Better documentation of flags.
51422         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51423         c-maybe style.
51424         (quotearg_buffer_restyled): Handle new flag to elide outer
51425         quotes.
51426
51427         Quotearg part 2: add flag that can control NUL elision.
51428         * lib/quotearg.h (set_quoting_flags): New prototype.
51429         * lib/quotearg.c (struct quoting_options): Add flag field.
51430         (set_quoting_flags): New function.
51431         (quotearg_buffer_restyled): Add flags parameter.
51432         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51433         (quotearg_n_options): Set the flag, since length cannot be
51434         returned.
51435         (quoting_options_from_style): Default flags correctly.
51436
51437         Quotearg part 1: more wrappers, restore quotearg_char state.
51438         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51439         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51440         (quotearg_colon_mem): New wrappers.
51441         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51442         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51443         functions.
51444         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51445         (quotearg_colon_mem): New functions.
51446
51447 2008-02-11  Bruno Haible  <bruno@clisp.org>
51448
51449         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51450         library in the current directory: it does not work with parallel make.
51451         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51452
51453 2008-02-11  Bruno Haible  <bruno@clisp.org>
51454
51455         * .gitattributes: New file.
51456
51457 2008-02-11  Jim Meyering  <meyering@redhat.com>
51458
51459         useless-if-before-free: Fix reversed exit values.
51460         * build-aux/useless-if-before-free: Use correct values
51461         for EXIT_MATCH and EXIT_NO_MATCH.
51462
51463         * build-aux/useless-if-before-free: Close stdout carefully.
51464
51465 2008-02-10  Bruno Haible  <bruno@clisp.org>
51466
51467         New module 'git-merge-changelog'.
51468         * modules/git-merge-changelog: New file.
51469         * lib/git-merge-changelog.c: New file.
51470
51471 2008-02-10  Jim Meyering  <meyering@redhat.com>
51472
51473         useless-if-before-free: New option: --list (-l).
51474
51475         useless-if-before-free: Don't exit immediately upon open failure.
51476         * build-aux/useless-if-before-free: Exit 2 for errors.
51477         Upon failure to open a file, don't exit immediately.
51478         Rather, just warn and continue with any remaining files.
51479
51480 2008-02-10  Bruno Haible  <bruno@clisp.org>
51481
51482         New abstract list operation 'node_set_value'.
51483         * lib/gl_list.h (gl_list_node_set_value): New function.
51484         (struct gl_list_implementation): New field node_set_value.
51485         * lib/gl_list.c (gl_list_node_set_value): New function.
51486         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51487         (gl_array_list_implementation): Update.
51488         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51489         (gl_carray_list_implementation): Update.
51490         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51491         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51492         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51493         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51494         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51495         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51496         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51497         Update.
51498         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51499         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51500         (gl_sublist_list_implementation): Update.
51501
51502 2008-02-10  Bruno Haible  <bruno@clisp.org>
51503
51504         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51505         Needed when ELEMENT is #defined to 'some_type *'.
51506
51507 2008-02-10  Jim Meyering  <meyering@redhat.com>
51508
51509         New script and module: useless-if-before-free
51510         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51511         * build-aux/useless-if-before-free: New file.
51512         * modules/useless-if-before-free: New file.
51513
51514         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51515
51516         xstrtol_error: Fix typo.
51517         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51518         s/exit_failure/exit_status/.
51519
51520 2008-02-09  Jim Meyering  <meyering@redhat.com>
51521
51522         New script and module: gitlog-to-changelog
51523         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51524         * modules/gitlog-to-changelog: New file.
51525         * build-aux/gitlog-to-changelog: New file.
51526
51527 2008-02-08  Jim Meyering  <meyering@redhat.com>
51528
51529         Avoid two "parameter unused" warnings.
51530         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51531         Mark "st" as used.
51532
51533         Use "git COMMAND", not "git-COMMAND".
51534         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51535         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51536         * build-aux/git-version-gen: Use "git status", not "git-status".
51537
51538 2008-02-07  Bruno Haible  <bruno@clisp.org>
51539
51540         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51541         Avoids a crash on Windows Vista.
51542         Reported by Adam Strzelecki <ono@java.pl> via
51543         Simon Josefsson <simon@josefsson.org>.
51544
51545 2008-02-06  Bruno Haible  <bruno@clisp.org>
51546
51547         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51548         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51549         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51550         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51551         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51552         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51553         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51554         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51555         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51556         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51557         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51558         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51559         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51560         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51561         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51562         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51563         left-adjust flag.
51564         * tests/test-snprintf-posix.h (test_function): Likewise.
51565         * tests/test-sprintf-posix.h (test_function): Likewise.
51566         * tests/test-vasprintf-posix.c (test_function): Likewise.
51567         * doc/posix-functions/fprintf.texi: Update.
51568         * doc/posix-functions/printf.texi: Update.
51569         * doc/posix-functions/snprintf.texi: Update.
51570         * doc/posix-functions/sprintf.texi: Update.
51571         * doc/posix-functions/vfprintf.texi: Update.
51572         * doc/posix-functions/vprintf.texi: Update.
51573         * doc/posix-functions/vsnprintf.texi: Update.
51574         * doc/posix-functions/vsprintf.texi: Update.
51575         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51576
51577 2008-02-06  Bruno Haible  <bruno@clisp.org>
51578
51579         Fix bug introduced on 2008-01-26.
51580         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51581
51582 2008-02-06  Bruno Haible  <bruno@clisp.org>
51583
51584         Fix bug introduced on 2007-06-10.
51585         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51586         !NEED_PRINTF_FLAG_ZERO.
51587
51588 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51589
51590         getloadavg: use libperfstat on AIX5
51591         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51592
51593 2008-02-03  Bruno Haible  <bruno@clisp.org>
51594
51595         * lib/diffseq.h: Add comments about required #includes.
51596         Reported by Michael Biggs <gnulib@doubleplum.net>.
51597
51598 2008-02-01  Bruno Haible  <bruno@clisp.org>
51599
51600         * users.txt: Add gnuit.
51601
51602 2008-01-31  Bruno Haible  <bruno@clisp.org>
51603
51604         * lib/md4.c (set_uint32): Mark as inline.
51605         * lib/md5.c (set_uint32): Likewise.
51606         * lib/sha1.c (set_uint32): Likewise.
51607         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51608         * m4/md5.m4 (gl_MD5): Likewise.
51609         * m4/sha1.m4 (gl_SHA1): Likewise.
51610
51611 2008-01-31  Jim Meyering  <meyering@redhat.com>
51612
51613         Use "sizeof VAR", rather than a literal "4".
51614         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51615         * lib/md4.c (md4_read_ctx): Likewise.
51616         * lib/sha1.c (sha1_read_ctx): Likewise.
51617
51618 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51619
51620         * tests/test-sha1.c: New file, based on test-md5.c.
51621
51622         * modules/crypto/sha1-tests: New file.
51623
51624 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51625
51626         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51627
51628 2008-01-31  Jim Meyering  <meyering@redhat.com>
51629
51630         Prefer "sizeof v" over the equivalent "4".
51631         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51632         * lib/md5.c (set_uint32): Likewise.
51633         * lib/sha1.c (set_uint32): Likewise.
51634
51635 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51636
51637         * lib/sha1.c (set_uint32): Mark function as static.
51638
51639 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51640
51641         md2: clarify comments to say that alignment is not required.
51642         * lib/md2.h: Remove warning about alignment in comment.
51643         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51644         never been required.
51645
51646 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51647
51648         md4: adapt alignment constraint fix from sha1.
51649         * lib/md4.c (set_uint32): New function, from sha1.c
51650         (md4_read_ctx): Use it.
51651         (md4_finish_ctx): Doc fix.
51652         * lib/md4.h: Doc fix.
51653
51654 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51655
51656         md5: adapt alignment constraint fix from sha1.
51657         * lib/md5.c (set_uint32): New function, from sha1.c
51658         (md5_read_ctx): Use it.
51659         (md5_finish_ctx): Doc fix.
51660         * lib/md5.h: Doc fix.
51661
51662 2008-01-30  Peter Palfrader  <weasel@debian.org>
51663
51664         sha1: remove the result buffer alignment constraint
51665         * lib/sha1.c (set_uint32): New function.
51666         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51667         constraint.
51668         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51669         * lib/sha1.h: Likewise.
51670
51671 2008-01-30  Andreas Schwab  <schwab@suse.de>
51672             Bruno Haible  <bruno@clisp.org>
51673
51674         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51675         correct definition of LDBL_MIN_EXP.
51676
51677 2008-01-30  Karl Berry  <karl@gnu.org>
51678
51679         * config/srclist-update: try to preserve x bit on updates.
51680         * config/srclistvars.sh: update for karl.
51681
51682 2008-01-29  Jim Meyering  <meyering@redhat.com>
51683
51684         vasnprintf.c: Avoid warning about unused label
51685         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51686         "overflow" label definition and associated code with the
51687         same cpp condition that guards the sole use of that label.
51688
51689 2008-01-26  Bruno Haible  <bruno@clisp.org>
51690
51691         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51692         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51693         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51694         * lib/isnanl-nolibm.h (isnanl): Likewise.
51695         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51696
51697 2008-01-26  Bruno Haible  <bruno@clisp.org>
51698
51699         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51700         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51701
51702 2008-01-26  Bruno Haible  <bruno@clisp.org>
51703
51704         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51705         GCC >= 4.0 built-in.
51706         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51707
51708 2008-01-26  Bruno Haible  <bruno@clisp.org>
51709
51710         Rename isnan, applicable to 'double' only, to isnand.
51711         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51712         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51713         (configure.ac): Update.
51714         (Include): Replace "isnan.h" with "isnand.h".
51715         * m4/isnand.m4: Renamed from m4/isnan.m4.
51716         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51717         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51718         instead of isnan.c.
51719         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51720         instead of HAVE_ISNAN_IN_LIBC.
51721         (isnand): Renamed from isnan.
51722         * lib/isnand.c: New file.
51723         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51724         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51725         (Makefile.am): Update.
51726         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51727         Include isnand.h instead of isnan.h.
51728         (main): Test isnand instead of isnan.
51729         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51730         isnan-nolibm.
51731         * modules/frexp (Depends-on): Likewise.
51732         * modules/frexp-tests (Depends-on): Likewise.
51733         * modules/frexp-nolibm (Depends-on): Likewise.
51734         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51735         * modules/isfinite (Depends-on): Likewise.
51736         * modules/round-tests (Depends-on): Likewise.
51737         * modules/signbit (Depends-on): Likewise.
51738         * modules/signbit-tests (Depends-on): Likewise.
51739         * modules/snprintf-posix (Depends-on): Likewise.
51740         * modules/sprintf-posix (Depends-on): Likewise.
51741         * modules/trunc-tests (Depends-on): Likewise.
51742         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51743         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51744         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51745         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51746         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51747         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51748         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51749         * modules/vasnprintf-posix (Depends-on): Likewise.
51750         * modules/vasprintf-posix (Depends-on): Likewise.
51751         * modules/vfprintf-posix (Depends-on): Likewise.
51752         * modules/vsnprintf-posix (Depends-on): Likewise.
51753         * modules/vsprintf-posix (Depends-on): Likewise.
51754         * lib/frexp.c: Include isnand.h instead of isnan.h.
51755         (ISNAN): Set to isnand instead of isnan.
51756         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51757         (gl_isfinited): Use isnand instead of isnan.
51758         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51759         (gl_signbitd): Use isnand instead of isnan.
51760         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51761         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51762         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51763         (main): Use isnand instead of isnan.
51764         * tests/test-round1.c: Include isnand.h.
51765         (main): Use isnand instead of isnan.
51766         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51767         (ISNAN): Set to isnand instead of isnan.
51768         * tests/test-trunc1.c: Include isnand.h.
51769         (main): Use isnand instead of isnan.
51770         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51771         (equal): Use isnand instead of isnan.
51772         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51773         isnand-nolibm.
51774         * NEWS: Mention the change.
51775
51776 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51777             Bruno Haible  <bruno@clisp.org>
51778
51779         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51780         the GCC builtins for signbits are present and set
51781         REPLACE_SIGNBIT_USING_GCC if so.
51782         * lib/math.in.h (signbit): Define using GCC builtins if
51783         REPLACE_SIGNBIT_USING_GCC is set.
51784         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51785         REPLACE_SIGNBIT_USING_GCC.
51786         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51787
51788 2008-01-25  Jim Meyering  <meyering@redhat.com>
51789
51790         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51791         * lib/poll.c: Include <config.h>, not "config.h".
51792         * tests/test-getaddrinfo.c: Likewise.
51793
51794 2008-01-25  Simon Josefsson  <simon@josefsson.org>
51795
51796         * modules/sockets-tests: New file.
51797
51798 2008-01-24  Simon Josefsson  <simon@josefsson.org>
51799
51800         * modules/sockets: New module, can be used to call WSA_Startup and
51801         WSA_Cleanup when needed.
51802
51803         * lib/sockets.h, lib/sockets.c: New files.
51804
51805         * m4/sockets.m4: New file.
51806
51807         * tests/test-sockets.c: New file.
51808
51809 2008-01-19  Bruno Haible  <bruno@clisp.org>
51810
51811         * doc/posix-headers: Renamed from doc/headers.
51812         * doc/posix-functions: Renamed from doc/functions.
51813         * doc/gnulib.texi: Update.
51814
51815 2008-01-19  Bruno Haible  <bruno@clisp.org>
51816
51817         * doc/glibc-functions/strcasestr.texi: Include contents of
51818         doc/functions/strcasestr.texi, fixing the list of platforms.
51819         * doc/functions/strcasestr.texi: Remove file.
51820
51821 2008-01-19  Bruno Haible  <bruno@clisp.org>
51822
51823         * doc/glibc-functions/memmem.texi: Include contents of
51824         doc/functions/memmem.texi.
51825         * doc/functions/memmem.texi: Remove file.
51826
51827 2008-01-18  Bruno Haible  <bruno@clisp.org>
51828
51829         * doc/glibc-functions/*.texi: New files.
51830         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
51831         to use the new files.
51832
51833 2008-01-17  Bruno Haible  <bruno@clisp.org>
51834
51835         * tests/test-gethostname.c (main): Fix printf statement.
51836
51837 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51838
51839         * modules/gethostname-tests: New file.
51840
51841         * tests/test-gethostname.c: New file.
51842
51843 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51844
51845         * lib/gethostname.c: Include string.h unconditionally, strncpy is
51846         used by the UNAME case.  Reported by Bruno Haible
51847         <bruno@clisp.org>.
51848
51849 2008-01-17  Eric Blake  <ebb9@byu.net>
51850
51851         Convert c-strcasestr to be more efficient.
51852         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
51853         (Depends-on): Add c-strcase, remove malloca, strnlen.
51854         * tests/test-c-strcasestr.c (main): Enhance test.
51855         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
51856
51857 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
51858
51859         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
51860         Use it in creating po/Makevars.
51861
51862 2008-01-15  Simon Josefsson  <simon@josefsson.org>
51863
51864         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
51865         Applications that requires it should initialize libgcrypt
51866         manually.
51867
51868 2008-01-16  Simon Josefsson  <simon@josefsson.org>
51869
51870         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
51871
51872 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
51873
51874         Fix problem with getdate on mingw32 reported by Simon Josefsson
51875         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
51876         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
51877         tzname", when deciding whether to declare tzname.
51878         * lib/strftime.c (tzname): Likewise.
51879
51880 2008-01-15  Bruno Haible  <bruno@clisp.org>
51881
51882         Work around a MacOS X 10.5 bug in frexpl().
51883         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
51884         * doc/functions/frexpl.texi: Document the bug.
51885         Reported by Elias Pipping <pipping@gentoo.org>.
51886
51887 2008-01-14  Eric Blake  <ebb9@byu.net>
51888
51889         Touch up previous patch.
51890         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
51891         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
51892
51893         Convert strcasestr module to use Two-Way algorithm.
51894         * modules/strcasestr-simple: New module, based on the old
51895         strcasestr, but with Two-Way rather than KMP.
51896         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
51897         * lib/string.in.h (rpl_strcasestr): Declare.
51898         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
51899         performance.
51900         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
51901         * modules/string (Makefile.am): Support strcasestr.
51902         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
51903         * modules/strcasestr-tests (Depends-on): Check for alarm.
51904         * tests/test-strcasestr.c: Augment test.
51905         * lib/str-two-way.h: Clean up stray macro.
51906         * NEWS: Document new module.
51907         * MODULES.html.sh (string handling): Likewise.
51908         * doc/functions/strcasestr.texi: New file.
51909         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
51910         here, since it is not a POSIX function.
51911
51912 2008-01-14  Colin Watson  <cjwatson@debian.org>
51913             Bruno Haible  <bruno@clisp.org>
51914
51915         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
51916         works fine; if not, set REPLACE_STRSIGNAL.
51917         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
51918         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51919         REPLACE_STRSIGNAL.
51920         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
51921         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
51922         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
51923
51924 2008-01-14  Bruno Haible  <bruno@clisp.org>
51925
51926         * modules/strsignal (Include): Change to <string.h>.
51927
51928 2008-01-14  Colin Watson  <cjwatson@debian.org>
51929
51930         * modules/argp (Notice): Add a notice recommending to change
51931         XGETTEXT_OPTIONS.
51932         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
51933
51934 2008-01-13  Colin Watson  <cjwatson@debian.org>
51935
51936         * modules/strsignal-tests: New file.
51937         * tests/test-strsignal.c: New file.
51938
51939         * lib/strsignal.c: New file, from glibc with modifications.
51940         * lib/siglist.h: New file, from glibc with modifications.
51941         * lib/string.in.h (strsignal): New declaration.
51942         * m4/strsignal.m4: New file.
51943         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51944         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
51945         * modules/strsignal: New file.
51946         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
51947         HAVE_DECL_STRSIGNAL.
51948
51949 2008-01-13  Bruno Haible  <bruno@clisp.org>
51950
51951         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
51952         locale encoding is not ASCII. Needed for OpenBSD 4.0.
51953         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
51954         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51955
51956 2008-01-13  Bruno Haible  <bruno@clisp.org>
51957
51958         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
51959         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
51960         * lib/argp.h (__attribute__): Likewise.
51961         * lib/c-stack.c (__attribute__): Likewise.
51962         * lib/error.h (__attribute__): Likewise.
51963         * lib/fts.c (__attribute__): Likewise.
51964         * lib/openat.h (__attribute__): Likewise.
51965         * lib/stdio.in.h (__attribute__): Likewise.
51966         * lib/string.in.h (__attribute__): Likewise.
51967         * lib/utimens.c (__attribute__): Likewise.
51968         * lib/vasnprintf.h (__attribute__): Likewise.
51969         * lib/xalloc.h (__attribute__): Likewise.
51970         * lib/xprintf.h (__attribute__): Likewise.
51971         * lib/xstrtol.h (__attribute__): Likewise.
51972         * lib/xvasprintf.h (__attribute__): Likewise.
51973
51974 2008-01-12  Bruno Haible  <bruno@clisp.org>
51975
51976         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
51977         * doc/glibc-headers/a.out.texi: New file.
51978         * doc/glibc-headers/aliases.texi: New file.
51979         * doc/glibc-headers/alloca.texi: New file.
51980         * doc/glibc-headers/ar.texi: New file.
51981         * doc/glibc-headers/argp.texi: New file.
51982         * doc/glibc-headers/argz.texi: New file.
51983         * doc/glibc-headers/byteswap.texi: New file.
51984         * doc/glibc-headers/crypt.texi: New file.
51985         * doc/glibc-headers/endian.texi: New file.
51986         * doc/glibc-headers/envz.texi: New file.
51987         * doc/glibc-headers/err.texi: New file.
51988         * doc/glibc-headers/error.texi: New file.
51989         * doc/glibc-headers/execinfo.texi: New file.
51990         * doc/glibc-headers/fpu_control.texi: New file.
51991         * doc/glibc-headers/fstab.texi: New file.
51992         * doc/glibc-headers/fts.texi: New file.
51993         * doc/glibc-headers/getopt.texi: New file.
51994         * doc/glibc-headers/ieee754.texi: New file.
51995         * doc/glibc-headers/ifaddrs.texi: New file.
51996         * doc/glibc-headers/libintl.texi: New file.
51997         * doc/glibc-headers/mcheck.texi: New file.
51998         * doc/glibc-headers/mntent.texi: New file.
51999         * doc/glibc-headers/obstack.texi: New file.
52000         * doc/glibc-headers/paths.texi: New file.
52001         * doc/glibc-headers/printf.texi: New file.
52002         * doc/glibc-headers/pty.texi: New file.
52003         * doc/glibc-headers/resolv.texi: New file.
52004         * doc/glibc-headers/shadow.texi: New file.
52005         * doc/glibc-headers/sysexits.texi: New file.
52006         * doc/glibc-headers/ttyent.texi: New file.
52007
52008 2008-01-12  Jim Meyering  <meyering@redhat.com>
52009
52010         announce-gen: emit Gnulib's git-based version string.
52011         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
52012         New option --gnulib-version=V, where V is expected to be
52013         the output of running git describe in the gnulib directory.
52014         (get_tool_versions): Request feedback on xdelta.  I suspect it's
52015         not useful, and plan to stop publishing an xdelta file with each
52016         coreutils release.
52017
52018         * build-aux/announce-gen: Also check for lzma-compressed files.
52019
52020 2008-01-11  Bruno Haible  <bruno@clisp.org>
52021
52022         * tests/test-memmem.c (main): Increase maximum allowed time.
52023         * tests/test-strstr.c (main): Likewise.
52024
52025 2008-01-11  Bruno Haible  <bruno@clisp.org>
52026
52027         * doc/functions/memmem.texi: Add more precisions about platforms.
52028         * doc/functions/strstr.texi: Likewise.
52029
52030 2008-01-10  Eric Blake  <ebb9@byu.net>
52031
52032         * m4/strstr.m4: Delete cruft from copy-n-paste.
52033         Reported by Bruno Haible.
52034
52035 2008-01-10  Bruno Haible  <bruno@clisp.org>
52036
52037         Make c-strstr rely on strstr.
52038         * lib/c-strstr.c: Don't include str-kmp.h.
52039         (c_strstr): Define in terms of strstr.
52040         * modules/c-strstr (Files): Remove lib/str-kmp.h.
52041         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
52042
52043 2008-01-10  Bruno Haible  <bruno@clisp.org>
52044
52045         * doc/gnulib.texi (String Functions in C Locale): New section.
52046         * doc/c-ctype.texi: New file.
52047         * doc/c-strcase.texi: New file.
52048         * doc/c-strcaseeq.texi: New file.
52049         * doc/c-strcasestr.texi: New file.
52050         * doc/c-strstr.texi: New file.
52051         * doc/c-strtod.texi: New file.
52052         * doc/c-strtold.texi: New file.
52053
52054 2008-01-10  Eric Blake  <ebb9@byu.net>
52055
52056         * lib/relocatable.h: Fix a comment.
52057
52058 2008-01-10  Eric Blake  <ebb9@byu.net>
52059
52060         Share two-way algorithm.
52061         * lib/str-two-way.h: New file, merged from...
52062         * lib/memmem.c: ...here...
52063         * lib/strstr.c: ...and here.
52064         * modules/memmem (Files): Use it.
52065         * modules/strstr (Files): Likewise.
52066
52067         Avoid quadratic strstr implementations.
52068         * lib/strstr.c: New file.
52069         * m4/strstr.m4: Likewise.
52070         * modules/strstr: Likewise.
52071         * modules/strstr-tests: Likewise.
52072         * tests/test-strstr.c: Likewise.
52073         * lib/string.in.h (rpl_strstr): Declare.
52074         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
52075         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
52076         * modules/string (Makefile.am): Likewise.
52077         * MODULES.html.sh (string handling): Mention new module.
52078         * doc/functions/strstr.texi (strstr): Document the bug.
52079
52080 2008-01-10  Bruno Haible  <bruno@clisp.org>
52081
52082         * lib/relocatable.h (relocate): State whether result is freshly
52083         allocated or not.
52084         * lib/relocatable.c (relocate): Return a freshly allocated string
52085         instead of a pointer to a privately held string.
52086         Reported by Sylvain Beucler <beuc@gnu.org>.
52087
52088 2008-01-10  Colin Watson  <cjwatson@debian.org>
52089
52090         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
52091         s/S_ISNLK/S_ISLNK/.
52092
52093 2008-01-09  Bruno Haible  <bruno@clisp.org>
52094
52095         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
52096         and other files.
52097         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
52098         if it's only a guess.
52099         * modules/memmem: Simplify by depending on memmem-simple.
52100
52101 2008-01-09  Bruno Haible  <bruno@clisp.org>
52102
52103         Work around OpenBSD 4.0 tdelete() bug.
52104         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
52105         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
52106         macros and don't redefine the enum values.
52107         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
52108         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
52109         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
52110
52111 2008-01-09  Bruno Haible  <bruno@clisp.org>
52112
52113         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
52114         (main): Don't perform the tests if setlocale did not install a UTF-8
52115         locale. Needed on OpenBSD 4.0.
52116         * modules/wcwidth-tests (Depends-on): Add localcharset.
52117
52118 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52119
52120         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
52121         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
52122         * NEWS: announce this.
52123         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
52124
52125 2008-01-09  Simon Josefsson  <simon@josefsson.org>
52126         and Eric Blake  <ebb9@byu.net>
52127
52128         Add memmem-simple module.
52129         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
52130         (gl_FUNC_MEMMEM): Separate performance from presence checks.
52131         * modules/memmem-simple: New file.
52132         * modules/memmem (Description): Tweak.
52133         * MODULES.html.sh (string handling): Mention new module.
52134         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
52135         addressed by memmem-simple.
52136         * NEWS: Document the difference.
52137
52138 2008-01-09  Eric Blake  <ebb9@byu.net>
52139
52140         Give gcc some memmem optimization hints.
52141         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
52142         (strcasestr): Declare as pure.
52143         * modules/memmem (Maintainer): Claim my implementation.
52144
52145 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52146
52147         Support AIX 6.1 and higher.
52148         * build-aux/config.libpath: Likewise.
52149         * build-aux/config.rpath: Likewise.
52150
52151 2008-01-08  Jim Meyering  <meyering@redhat.com>
52152             Bruno Haible  <bruno@clisp.org>
52153
52154         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
52155         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
52156         Reported by Peter Fales in
52157         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
52158
52159 2008-01-08  Bruno Haible  <bruno@clisp.org>
52160
52161         * modules/unictype/category-of (Depends-on): Add
52162         unictype/category-none.
52163         * modules/unictype/category-and-tests (Depends-on): Add
52164         unictype/category-{L,N,Lu,Nd}.
52165         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
52166         * modules/unictype/category-or-tests (Depends-on): Add
52167         unictype/category-{L,N}.
52168         * modules/unictype/category-name-tests (Depends-on): Add
52169         unictype/category-{Z,Nl}.
52170         Reported by Simon Josefsson.
52171
52172 2008-01-08  Bruno Haible  <bruno@clisp.org>
52173
52174         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
52175         convention better.
52176         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
52177         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
52178         Reported by Peter Miller <millerp@canb.auug.org.au>.
52179
52180 2008-01-08  Eric Blake  <ebb9@byu.net>
52181
52182         Rewrite memmem to guarantee linear complexity without malloc.
52183         * lib/memmem.c (memmem): Use Two-Way rather than
52184         Knuth-Morris-Pratt, to allow O(1) space usage.
52185         (critical_factorization, two_way_short_needle)
52186         (two_way_long_needle): New functions.
52187         (knuth_morris_pratt): Delete.
52188         * modules/memmem (Depends-on): No longer need malloca or stdbool.
52189         Add stdint.
52190         * tests/test-memmem.c (main): Add tests for periodic needle and
52191         sublinear performance.
52192         * doc/functions/memmem.texi (memmem): Document other deficiencies
52193         in cygwin and older glibc.
52194
52195 2008-01-08  Bruno Haible  <bruno@clisp.org>
52196
52197         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
52198         augmentation.
52199
52200 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
52201
52202         Add a configure time option: --disable-acl.
52203         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
52204         AC_ARG_ENABLE(acl).
52205
52206 2008-01-06  Simon Josefsson  <simon@josefsson.org>
52207
52208         * tests/test-localename.c: Don't include obsolete "setenv.h".
52209
52210         * modules/localename-tests (Depends-on): Need unsetenv.
52211
52212 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52213
52214         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
52215
52216 2008-01-06  Colin Watson  <cjwatson@debian.org>
52217
52218         * users.txt: Add man-db.
52219
52220 2008-01-07  Bruno Haible  <bruno@clisp.org>
52221
52222         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
52223         previous section name.
52224
52225 2008-01-07  Bruno Haible  <bruno@clisp.org>
52226
52227         * lib/progname.c (set_program_name): Don't strip off a leading
52228         "lt-" prefix outside a .libs directory.
52229         Suggested by Paul Eggert.
52230
52231 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
52232             Bruno Haible  <bruno@clisp.org>
52233
52234         Improve memory cleanup in 'relocatable' module.
52235         * lib/relocatable.h (compute_curr_prefix): Change return type to
52236         'char *'.
52237         * lib/relocatable.c (compute_curr_prefix): Change return type to
52238         'char *'. Free curr_installdir after use.
52239         (relocate): Free curr_prefix_better after use.
52240         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
52241
52242 2008-01-01  Bruno Haible  <bruno@clisp.org>
52243
52244         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
52245         failure on older glibc systems.
52246         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52247
52248 2008-01-05  Eric Blake  <ebb9@byu.net>
52249
52250         Avoid quadratic system memmem.
52251         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
52252         Reported by Ralf Wildenhues.
52253
52254         Fix memmem test for mingw.
52255         * modules/memmem-tests (configure.ac): Check for alarm.
52256         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
52257         it.
52258         * doc/functions/memmem.texi: New file.
52259         * doc/gnulib.texi (Function Substitutes): Add memmem.
52260         Reported by Bruno Haible.
52261
52262 2008-01-04  Bruno Haible  <bruno@clisp.org>
52263
52264         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
52265         Require gl_HEADER_STRINGS_H_DEFAULTS, not
52266         gl_HEADER_STRING_H_DEFAULTS.
52267
52268 2008-01-04  Eric Blake  <ebb9@byu.net>
52269
52270         Shorten duration of memmem test.
52271         * tests/test-memmem.c (main): Use alarm to declare failure if test
52272         is taking too long.
52273         Reported by Ralf Wildenhues.
52274
52275 2007-12-21  Simon Josefsson  <simon@josefsson.org>
52276
52277         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
52278         string, needed by strerror.
52279
52280 2008-01-03  Colin Watson  <cjwatson@debian.org>
52281             Bruno Haible  <bruno@clisp.org>
52282
52283         * doc/gnulib-tool.texi (Localization): New section.
52284
52285 2008-01-02  Bruno Haible  <bruno@clisp.org>
52286
52287         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
52288         variables to 'unsigned char *' type.
52289         Reported by Paul Eggert.
52290
52291 2008-01-02  Jim Meyering  <jim@meyering.net>
52292
52293         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
52294
52295 2007-12-31  Jim Meyering  <jim@meyering.net>
52296
52297         Avoid use of private FTS type name.
52298         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
52299
52300 2007-12-30  Karl Berry  <karl@gnu.org>
52301
52302         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52303         work around defect in Texinfo and/or the standalone Info browser.
52304
52305 2007-12-30  Bruno Haible  <bruno@clisp.org>
52306
52307         Unify 5 copies of the KMP code.
52308         * lib/str-kmp.h: New file.
52309         * lib/c-strcasestr.c: Include str-kmp.h.
52310         (knuth_morris_pratt): Remove function.
52311         (c_strcasestr): Update.
52312         * lib/c-strstr.c: Include str-kmp.h.
52313         (knuth_morris_pratt): Remove function.
52314         (c_strcasestr): Update.
52315         * lib/mbscasestr.c: Include str-kmp.h.
52316         (knuth_morris_pratt_unibyte): Remove function.
52317         * lib/mbsstr.c: Include str-kmp.h.
52318         (knuth_morris_pratt_unibyte): Remove function.
52319         * lib/strcasestr.c: Include str-kmp.h.
52320         (knuth_morris_pratt): Remove function.
52321         (strcasestr): Update.
52322         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
52323         * modules/c-strstr (Files): Likewise.
52324         * modules/mbscasestr (Files): Likewise.
52325         * modules/mbsstr (Files): Likewise.
52326         * modules/strcasestr (Files): Likewise.
52327         Suggested by Paul Eggert.
52328
52329 2007-12-30  Bruno Haible  <bruno@clisp.org>
52330
52331         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
52332         defined.
52333
52334 2007-12-30  Bruno Haible  <bruno@clisp.org>
52335
52336         * lib/xmalloca.h: Include xalloc.h.
52337         (xnmalloca): New macro.
52338
52339 2007-12-30  Bruno Haible  <bruno@clisp.org>
52340
52341         * lib/malloca.h (nmalloca): New macro.
52342         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
52343         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
52344         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
52345         knuth_morris_pratt_multibyte): Likewise.
52346         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
52347         knuth_morris_pratt_multibyte): Likewise.
52348         * lib/memmem.c (knuth_morris_pratt): Likewise.
52349         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
52350
52351 2007-12-25  Bruno Haible  <bruno@clisp.org>
52352
52353         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
52354         * lib/glob.c: Don't include openat.h.
52355         (link_exists2_p): Add back the code that deals with the
52356         !GLOB_ALTDIRFUNC case.
52357         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
52358         let it do the filename concatenation.
52359         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
52360         * modules/glob (Depends-on): Remove openat.
52361
52362 2007-12-31  Bruno Haible  <bruno@clisp.org>
52363
52364         * modules/dirfd (License): Change to LGPLv2+.
52365         Approved by Jim Meyering.
52366
52367 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52368
52369         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
52370         when multiplying M by sizeof (size_t).
52371
52372 2007-12-10  Martin Lambers  <marlam@marlam.de>
52373
52374         Override getpagesize on mingw.
52375         * lib/getpagesize.c: New file.
52376         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
52377         * modules/getpagesize (Files): Add lib/getpagesize.c.
52378         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
52379         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52380         REPLACE_GETPAGESIZE.
52381         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52382
52383 2007-12-25  Bruno Haible  <bruno@clisp.org>
52384
52385         * modules/localcharset (Notice): New field.
52386         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52387         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52388
52389 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52390             Bruno Haible  <bruno@clisp.org>
52391
52392         Avoid using the syntax symbol() in formatted documentation.
52393         * MODULES.html.sh (func_module): When replacing symbol() with a
52394         hyperlink, remove the parentheses. Show an error if some remain.
52395         Recognize and render the '...' syntax.
52396         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52397         Rework. Add paragraph about GCC's inlining.
52398         * doc/alloca.texi: Likewise.
52399         * doc/error.texi: Remove parentheses from symbol reference.
52400         * doc/gnulib-intro.texi: Likewise.
52401         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52402         * modules/fnmatch (Description): Reword to say "the ... function".
52403         * modules/full-read (Description): Likewise.
52404         * modules/full-write (Description): Likewise.
52405         * modules/safe-read (Description): Likewise.
52406         * modules/safe-write (Description): Likewise.
52407         * modules/strchrnul (Description): Likewise.
52408         * modules/trim (Description): Likewise.
52409         * modules/error (Description): Remove parentheses from symbol
52410         references.
52411         * modules/verror (Description): Likewise.
52412         Reported by Karl Berry.
52413
52414 2007-12-25  Bruno Haible  <bruno@clisp.org>
52415
52416         Fixup after 2007-10-16 commit.
52417         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52418
52419 2007-12-24  Bruno Haible  <bruno@clisp.org>
52420
52421         Make --enable-relocatable work with DESTDIR.
52422         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52423         to compute installdir from destprog.
52424         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52425         also set the RELOC_DESTDIR variable.
52426         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52427
52428 2007-12-24  Bruno Haible  <bruno@clisp.org>
52429
52430         Fix link error due to xalloc_die().
52431         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52432         of xreadlink.
52433         * lib/relocwrapper.c: Update comments.
52434         * build-aux/install-reloc: Remove xreadlink.c from file list.
52435         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52436         xreadlink.c.
52437         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52438
52439 2007-12-24  Bruno Haible  <bruno@clisp.org>
52440
52441         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52442         * lib/setenv.h: Remove file.
52443         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52444         lib/setenv.h.
52445         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52446         (Depends-on): Add stdlib.
52447         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52448         gl_FUNC_UNSETENV.
52449         (Include): Replace setenv.h with <stdlib.h>.
52450         * modules/unsetenv: New file.
52451         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52452         * lib/unsetenv.c: Include <stdlib.h> first.
52453         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52454         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52455         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52456         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52457         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52458         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52459         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52460         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52461         * doc/functions/unsetenv.texi: Update.
52462         * modules/xsetenv (Depends-on): Add unsetenv.
52463         * modules/getdate (Depends-on): Likewise.
52464         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52465         * lib/xsetenv.c: Don't include setenv.h.
52466         * lib/getdate.y: Likewise.
52467         * lib/relocwrapper.c: Likewise.
52468         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52469         (Depends-on): Add stdlib.
52470         * NEWS: Mention the changes.
52471         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52472
52473 2007-12-23  Bruno Haible  <bruno@clisp.org>
52474
52475         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52476         indentation.
52477
52478 2007-12-23  Bruno Haible  <bruno@clisp.org>
52479
52480         * lib/c-strcasestr.c: Add more comments.
52481         * lib/c-strstr.c: Likewise.
52482         * lib/mbscasestr.c: Likewise.
52483         * lib/mbsstr.c: Likewise.
52484         * lib/strcasestr.c: Likewise.
52485         * lib/memmem.c: Likewise.
52486
52487 2007-12-23  Bruno Haible  <bruno@clisp.org>
52488
52489         * tests/test-memmem.c: Include <string.h> first.
52490
52491 2007-12-22  Bruno Haible  <bruno@clisp.org>
52492
52493         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52494         the contents of $testsbase.
52495         Reported by Ralf Wildenhues.
52496
52497 2007-12-22  Bruno Haible  <bruno@clisp.org>
52498
52499         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52500         two variables local_ldadd_before, local_ldadd_last.
52501
52502 2007-12-20  Eric Blake  <ebb9@byu.net>
52503
52504         Work around circular library issue when cross-compiling.
52505         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52506         that progname.o does not need to pull in rpl_memcmp.
52507
52508 2007-12-19  Eric Blake  <ebb9@byu.net>
52509
52510         Fix memmem to avoid O(n^2) worst-case complexity.
52511         * lib/memmem.c (knuth_morris_pratt): New function.
52512         (memmem): Use it if first few naive iterations fail.
52513         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52514         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52515         * modules/memchr (License): Likewise.
52516         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52517         malloca.
52518         * tests/test-memmem.c: Rewrite, borrowing ideas from
52519         test-mbsstr1.c; the old version wouldn't even compile!
52520         * modules/memmem-tests: New file.
52521         * lib/string.in.h (rpl_memmem): Add declaration.
52522         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52523         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52524         REPLACE_MEMMEM.
52525
52526 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52527
52528         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52529         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52530         before any system include files, and undef after them all.  This
52531         should fix a problem on VMS reported by John E. Malmberg in
52532         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52533
52534 2007-12-17  Eric Blake  <ebb9@byu.net>
52535
52536         Revert addition of verify, for BSD/OS.
52537         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52538         can't handle large files, for the sake of obsolete platforms.
52539         * modules/fseeko (Depends-on): Remove verify.
52540         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52541         * doc/functions/ftello.texi (ftello): Likewise.
52542         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52543         Reported by Larry Jones.
52544
52545 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52546
52547         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52548         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52549
52550 2007-12-17  Jim Meyering  <meyering@redhat.com>
52551
52552         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52553         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52554         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52555         * modules/getcwd (Depends-on): Add openat.
52556         Reported by Petr Salinger.
52557
52558 2007-12-17  Bruno Haible  <bruno@clisp.org>
52559
52560         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52561         avoid a segmentation fault of the configure test on x86_64 systems.
52562
52563 2007-12-15  Jim Meyering  <meyering@redhat.com>
52564
52565         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52566
52567 2007-12-13  Eric Blake  <ebb9@byu.net>
52568
52569         Another fseek test.
52570         * tests/test-fseek.c (main): Also test ungetc handling.
52571         * tests/test-fseeko.c (main): Likewise.
52572         * modules/fseeko (Depends-on): Add verify.
52573         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52574         large.
52575         Reported by Larry Jones.
52576
52577         Fix fseeko on mingw.
52578         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52579         seek.
52580
52581         Beef up fseek tests.
52582         * tests/test-fseek.c (main): Also test eof handling.
52583         * tests/test-fseeko.c (main): Likewise.
52584         Reported by Larry Jones.
52585
52586 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52587
52588         Fix fseeko on BSD-based platforms.
52589         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52590         successful seek.
52591
52592 2007-12-12  Eric Blake  <ebb9@byu.net>
52593
52594         Allow circular dependency of separate libtests.a
52595         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52596         when use_libtests.
52597
52598 2007-12-11  Eric Blake  <ebb9@byu.net>
52599
52600         Fix bug with -0.0L in previous patch.
52601         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52602         * tests/test-isnan.c (main): Also test on zeroes.
52603         * tests/test-isnanf.c (main): Likewise.
52604         * tests/test-isnanl.h (main): Likewise.
52605
52606         Detect pseudo-denormals on x86 even when cross-compiling.
52607         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52608         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52609         invalid bit patterns that happen to satisfy ==.
52610
52611         Avoid link failures with separate libtests.a.
52612         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52613         last, to satisfy circular dependencies.
52614
52615 2007-12-11  Eric Blake  <ebb9@byu.net>
52616         and Bruno Haible  <bruno@clisp.org>
52617
52618         Fix OpenBSD 4.0 <float.h> handling of long double.
52619         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52620         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52621         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52622
52623 2007-12-11  Jim Meyering  <meyering@redhat.com>
52624
52625         * users.txt: Add libvirt.
52626
52627         Support versions of autoconf prior to 2.59c.
52628         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52629         if it is not already defined.
52630
52631 2007-12-09  Bruno Haible  <bruno@clisp.org>
52632
52633         Let 'gnulib-tool --import' collect sources needed for the tests in
52634         tests/ rather than in lib/.
52635         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52636         argument. If true, add rules to generate libtests.a, and put libtests.a
52637         into $(LDADD). Consider source files in subdirectories and set
52638         uses_subdirs.
52639         (func_emit_initmacro_start, func_emit_initmacro_end,
52640         func_emit_initmacro_done): Pass all arguments explicitly.
52641         (func_import): Determine two module lists main_modules,
52642         testsrelated_modules. Determine use_libtests. Determine two variables
52643         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52644         instead of just sed_transform_lib_file. Determine two variables
52645         main_files and testsrelated_files. Compute 'files' as the union of
52646         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52647         func_add_or_update. In the generated gnulib-comp.m4, collect the
52648         object files for tests/ in different variables than those for lib/.
52649         Substitute LIBTESTS_LIBDEPS.
52650         (func_create_testdir): Combine the uses_subdirs results from
52651         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52652
52653 2007-12-09  Bruno Haible  <bruno@clisp.org>
52654
52655         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52656         the build-aux directory.
52657
52658 2007-12-09  Bruno Haible  <bruno@clisp.org>
52659
52660         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52661         introduced on 2006-09-09.
52662
52663 2007-12-07  Jim Meyering  <meyering@redhat.com>
52664
52665         Let these macros work also with autoconf-2.59.
52666         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52667         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52668         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52669
52670 2007-12-06  Jim Meyering  <meyering@redhat.com>
52671
52672         Avoid a configure-time syntax error in gl_FUNC_ACL.
52673         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52674         function in each branch, before testing the cache variable.
52675
52676 2007-12-04  Eric Blake  <ebb9@byu.net>
52677
52678         Make scripts executable.
52679         * build-aux/config.guess: Add execute permissions.
52680         * build-aux/config.sub: Likewise.
52681         * build-aux/gendocs.sh: Likewise.
52682
52683         Fix frexp on mingw.
52684         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52685         cross-compiling.
52686         * doc/functions/frexp.texi (frexp): Document the bug.
52687
52688         Make cygwin fseeko check more reliable.
52689         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52690         version numbers, rather than unrelated feature check.
52691         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52692         * doc/functions/ftello.texi (ftello): Likewise.
52693         Reported by Bruno Haible.
52694
52695         * m4/strerror.m4: Bump version number.
52696
52697 2007-12-03  Bruno Haible  <bruno@clisp.org>
52698
52699         * doc/functions/mprotect.texi: Mention the mingw problem.
52700
52701 2007-12-03  Eric Blake  <ebb9@byu.net>
52702
52703         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52704         REPLACE_STRERROR is initialized before this macro.
52705
52706 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52707
52708         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52709         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52710         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52711         put -lsec in even for programs other than 'ls'.  This fixes a problem
52712         for gettext reported by Bruno Haible in
52713         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52714         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52715         Add support for Solaris 10.  This isn't efficient, but should get the
52716         job done for now.
52717
52718 2007-12-03  James Youngman  <jay@gnu.org>
52719
52720         * doc/regexprops-generic.texi: change "an close-group" to "a
52721         close-group" and "illegal" to "not allowed".
52722
52723 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52724
52725         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52726         pr_byname.h. Needed for the rare case when the maintainer has done
52727         "make maintainer-clean" in the source directory and then attempts a
52728         build outside the source directory.
52729         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52730         scripts_byname.h.
52731
52732 2007-12-02  Martin Lambers <marlam@marlam.de>
52733             Bruno Haible  <bruno@clisp.org>
52734
52735         * lib/getpagesize.h: Remove file.
52736         * lib/unistd.in.h: Include declaration of getpagesize here.
52737         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52738         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52739         HAVE_SYS_PARAM_H.
52740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52741         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52742         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52743         (Depends-on): Add unistd.
52744         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52745         (Include): Use <unistd.h> instead of getpagesize.h.
52746         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52747         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52748         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52749         gl_GETPAGESIZE invocation, already handled by module dependency.
52750         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52751
52752 2007-12-02  Bruno Haible  <bruno@clisp.org>
52753
52754         * modules/strings-tests: New file.
52755         * tests/test-strings.c: New file.
52756
52757         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52758         * lib/strings.in.h: New file.
52759         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52760         * m4/strings_h.m4: New file.
52761         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52762         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52763         * modules/strings: New file.
52764         * modules/string (Makefile.am): Update.
52765         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52766         Reported by Karl Berry.
52767
52768 2007-12-01  Eric Blake  <ebb9@byu.net>
52769
52770         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52771         accomodate fix in cygwin 1.5.25.
52772
52773 2007-12-01  Jim Meyering  <meyering@redhat.com>
52774
52775         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52776         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52777         that would inhibit utf8-optimization of a regexp containing line-
52778         or buffer-anchors, e.g., `^', `$'.
52779
52780 2007-11-30  Bruno Haible  <bruno@clisp.org>
52781
52782         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52783         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52784         glthread_recursive_lock_init.
52785         * lib/lock.c (glthread_recursive_lock_init)
52786         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52787         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52788
52789 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52790
52791         New function qset_acl, like set_acl but with syscall semantics.
52792         * lib/acl.h (qset_acl): New decl.
52793         * lib/acl.c (qset_acl): New function.
52794         (set_acl): Use new function.  Use more-consistent diagnostics.
52795
52796 2007-11-28  Jim Meyering  <meyering@redhat.com>
52797
52798         * modules/physmem (License): Change from GPL to LGPLv2+.
52799
52800 2007-11-26  Bruno Haible  <bruno@clisp.org>
52801
52802         * lib/vasnprintf.c (decode_long_double): Don't abort if the
52803         'long double' type has excess precision.
52804         Reported by Jim Meyering in
52805         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
52806
52807 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52808
52809         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
52810         Sync from <http://gnu.org/licenses>.
52811         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
52812         with license text from same location.
52813         * doc/maintain.texi, doc/standards.texi:  Sync from
52814         <http://savannah.gnu.org/projects/gnustandards>.
52815
52816 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
52817         and Jim Meyering  <meyering@redhat.com>
52818
52819         Adjust getdate' grammar to accept a slightly more regular language.
52820         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
52821         Before, the former was rejected.
52822         * lib/getdate.y (digits_to_date_time): New function, factored
52823         out of ...
52824         (number): ...here.  Just call digits_to_date_time.
52825         (hybrid): New non-terminal to handle an <unsigned number,
52826         signed relative offset> sequence consistently.
52827
52828 2007-11-18  Jim Meyering  <meyering@redhat.com>
52829
52830         Pull my changes from coreutils:
52831         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
52832         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
52833         use of $gnulib_tool_option_extras, so that it's separated from the
52834         preceding argument.
52835
52836         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
52837         * build-aux/bootstrap (cp_mark_as_generated): Create any required
52838         parent destination directories before copying a file into place.
52839
52840 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52841
52842         bootstrap: work also with 4-argument variant of AC_INIT
52843         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
52844
52845 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52846
52847         Port test-getaddrinfo to Solaris.
52848         Problem reported by Bruno Haible in
52849         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
52850         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
52851         explanation of setting 'hints'.
52852         Don't reject an implementation merely because it returns EAI_SERVICE.
52853         (EAI_SERVICE): Define to 0 if not defined.
52854
52855 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52856
52857         The license of gnu-make and posix-shell is now "GPLed build tool".
52858         * modules/gnu-make (License): Likewise.
52859         * modules/posix-shell (License): Likewise.
52860
52861         New module posix-shell, for determining a POSIX shell
52862         or perhaps something that is close enough to a POSIX shell.
52863         * m4/posix-shell.m4: New file.
52864         * modules/posix-shell: New file.
52865
52866         * MODULES.html.sh: Mention new module.
52867
52868         New module gnu-make, for determining whether we're using GNU Make.
52869         * m4/gnu-make.m4: New file.
52870         * modules/gnu-make: New file.
52871         * MODULES.html.sh: Mention new module.
52872
52873 2007-11-14  Jim Meyering  <meyering@redhat.com>
52874
52875         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
52876         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
52877         use this macro to create a function _definition_.
52878         Remove useless "#undef ARGMATCH_DIE".
52879
52880 2007-11-14  Bruno Haible  <bruno@clisp.org>
52881
52882         * lib/config.charset: Update for OpenBSD 4.1.
52883         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
52884
52885 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
52886
52887         Document 64-bit #if problems in stdint.texi.
52888         * doc/headers/stdint.texi (stdint.h): Mention problems with
52889         64-bit-#if, and how to work around them.
52890
52891         Don't insist on 'long long int' support in the preprocessor.  It
52892         breaks too many things.  For example, PRIdMAX still uses a 'long
52893         long int' format with the latest Sun compiler, even though
52894         HAVE_LONG_LONG_INT isn't defined due to that compiler's
52895         preprocessor problem.  This causes the latest coreutils to dump
52896         core on Solaris 10 sparc with the Sun C compiler.
52897         Instead, fix the 2007-10-16 problem in a different way, by evaluating
52898         the troublesome expressions at configure-time, not at #if-time.
52899         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
52900         preprocessor.
52901         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
52902         compile-time C checks, done at 'configure'-time.
52903         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
52904         * modules/inttypes (Makefile): Substitute the new symbols that
52905         gl_INTTYPES_H now generates.
52906         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
52907
52908 2007-11-12  Bruno Haible  <bruno@clisp.org>
52909
52910         Tests for Unicode character classification functions.
52911
52912         * modules/unictype/bidicategory-byname-tests: New file.
52913         * modules/unictype/bidicategory-name-tests: New file.
52914         * modules/unictype/bidicategory-of-tests: New file.
52915         * modules/unictype/bidicategory-test-tests: New file.
52916         * modules/unictype/block-list-tests: New file.
52917         * modules/unictype/block-of-tests: New file.
52918         * modules/unictype/block-test-tests: New file.
52919         * modules/unictype/category-C-tests: New file.
52920         * modules/unictype/category-Cc-tests: New file.
52921         * modules/unictype/category-Cf-tests: New file.
52922         * modules/unictype/category-Cn-tests: New file.
52923         * modules/unictype/category-Co-tests: New file.
52924         * modules/unictype/category-Cs-tests: New file.
52925         * modules/unictype/category-L-tests: New file.
52926         * modules/unictype/category-Ll-tests: New file.
52927         * modules/unictype/category-Lm-tests: New file.
52928         * modules/unictype/category-Lo-tests: New file.
52929         * modules/unictype/category-Lt-tests: New file.
52930         * modules/unictype/category-Lu-tests: New file.
52931         * modules/unictype/category-M-tests: New file.
52932         * modules/unictype/category-Mc-tests: New file.
52933         * modules/unictype/category-Me-tests: New file.
52934         * modules/unictype/category-Mn-tests: New file.
52935         * modules/unictype/category-N-tests: New file.
52936         * modules/unictype/category-Nd-tests: New file.
52937         * modules/unictype/category-Nl-tests: New file.
52938         * modules/unictype/category-No-tests: New file.
52939         * modules/unictype/category-P-tests: New file.
52940         * modules/unictype/category-Pc-tests: New file.
52941         * modules/unictype/category-Pd-tests: New file.
52942         * modules/unictype/category-Pe-tests: New file.
52943         * modules/unictype/category-Pf-tests: New file.
52944         * modules/unictype/category-Pi-tests: New file.
52945         * modules/unictype/category-Po-tests: New file.
52946         * modules/unictype/category-Ps-tests: New file.
52947         * modules/unictype/category-S-tests: New file.
52948         * modules/unictype/category-Sc-tests: New file.
52949         * modules/unictype/category-Sk-tests: New file.
52950         * modules/unictype/category-Sm-tests: New file.
52951         * modules/unictype/category-So-tests: New file.
52952         * modules/unictype/category-Z-tests: New file.
52953         * modules/unictype/category-Zl-tests: New file.
52954         * modules/unictype/category-Zp-tests: New file.
52955         * modules/unictype/category-Zs-tests: New file.
52956         * modules/unictype/category-and-not-tests: New file.
52957         * modules/unictype/category-and-tests: New file.
52958         * modules/unictype/category-byname-tests: New file.
52959         * modules/unictype/category-name-tests: New file.
52960         * modules/unictype/category-none-tests: New file.
52961         * modules/unictype/category-of-tests: New file.
52962         * modules/unictype/category-or-tests: New file.
52963         * modules/unictype/category-test-withtable-tests: New file.
52964         * modules/unictype/combining-class-tests: New file.
52965         * modules/unictype/ctype-alnum-tests: New file.
52966         * modules/unictype/ctype-alpha-tests: New file.
52967         * modules/unictype/ctype-blank-tests: New file.
52968         * modules/unictype/ctype-cntrl-tests: New file.
52969         * modules/unictype/ctype-digit-tests: New file.
52970         * modules/unictype/ctype-graph-tests: New file.
52971         * modules/unictype/ctype-lower-tests: New file.
52972         * modules/unictype/ctype-print-tests: New file.
52973         * modules/unictype/ctype-punct-tests: New file.
52974         * modules/unictype/ctype-space-tests: New file.
52975         * modules/unictype/ctype-upper-tests: New file.
52976         * modules/unictype/ctype-xdigit-tests: New file.
52977         * modules/unictype/decimal-digit-tests: New file.
52978         * modules/unictype/digit-tests: New file.
52979         * modules/unictype/mirror-tests: New file.
52980         * modules/unictype/numeric-tests: New file.
52981         * modules/unictype/property-alphabetic-tests: New file.
52982         * modules/unictype/property-ascii-hex-digit-tests: New file.
52983         * modules/unictype/property-bidi-arabic-digit-tests: New file.
52984         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
52985         * modules/unictype/property-bidi-block-separator-tests: New file.
52986         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
52987         * modules/unictype/property-bidi-common-separator-tests: New file.
52988         * modules/unictype/property-bidi-control-tests: New file.
52989         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
52990         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
52991         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
52992         * modules/unictype/property-bidi-european-digit-tests: New file.
52993         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
52994         * modules/unictype/property-bidi-left-to-right-tests: New file.
52995         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
52996         * modules/unictype/property-bidi-other-neutral-tests: New file.
52997         * modules/unictype/property-bidi-pdf-tests: New file.
52998         * modules/unictype/property-bidi-segment-separator-tests: New file.
52999         * modules/unictype/property-bidi-whitespace-tests: New file.
53000         * modules/unictype/property-byname-tests: New file.
53001         * modules/unictype/property-combining-tests: New file.
53002         * modules/unictype/property-composite-tests: New file.
53003         * modules/unictype/property-currency-symbol-tests: New file.
53004         * modules/unictype/property-dash-tests: New file.
53005         * modules/unictype/property-decimal-digit-tests: New file.
53006         * modules/unictype/property-default-ignorable-code-point-tests: New file.
53007         * modules/unictype/property-deprecated-tests: New file.
53008         * modules/unictype/property-diacritic-tests: New file.
53009         * modules/unictype/property-extender-tests: New file.
53010         * modules/unictype/property-format-control-tests: New file.
53011         * modules/unictype/property-grapheme-base-tests: New file.
53012         * modules/unictype/property-grapheme-extend-tests: New file.
53013         * modules/unictype/property-grapheme-link-tests: New file.
53014         * modules/unictype/property-hex-digit-tests: New file.
53015         * modules/unictype/property-hyphen-tests: New file.
53016         * modules/unictype/property-id-continue-tests: New file.
53017         * modules/unictype/property-id-start-tests: New file.
53018         * modules/unictype/property-ideographic-tests: New file.
53019         * modules/unictype/property-ids-binary-operator-tests: New file.
53020         * modules/unictype/property-ids-trinary-operator-tests: New file.
53021         * modules/unictype/property-ignorable-control-tests: New file.
53022         * modules/unictype/property-iso-control-tests: New file.
53023         * modules/unictype/property-join-control-tests: New file.
53024         * modules/unictype/property-left-of-pair-tests: New file.
53025         * modules/unictype/property-line-separator-tests: New file.
53026         * modules/unictype/property-logical-order-exception-tests: New file.
53027         * modules/unictype/property-lowercase-tests: New file.
53028         * modules/unictype/property-math-tests: New file.
53029         * modules/unictype/property-non-break-tests: New file.
53030         * modules/unictype/property-not-a-character-tests: New file.
53031         * modules/unictype/property-numeric-tests: New file.
53032         * modules/unictype/property-other-alphabetic-tests: New file.
53033         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
53034         * modules/unictype/property-other-grapheme-extend-tests: New file.
53035         * modules/unictype/property-other-id-continue-tests: New file.
53036         * modules/unictype/property-other-id-start-tests: New file.
53037         * modules/unictype/property-other-lowercase-tests: New file.
53038         * modules/unictype/property-other-math-tests: New file.
53039         * modules/unictype/property-other-uppercase-tests: New file.
53040         * modules/unictype/property-paired-punctuation-tests: New file.
53041         * modules/unictype/property-paragraph-separator-tests: New file.
53042         * modules/unictype/property-pattern-syntax-tests: New file.
53043         * modules/unictype/property-pattern-white-space-tests: New file.
53044         * modules/unictype/property-private-use-tests: New file.
53045         * modules/unictype/property-punctuation-tests: New file.
53046         * modules/unictype/property-quotation-mark-tests: New file.
53047         * modules/unictype/property-radical-tests: New file.
53048         * modules/unictype/property-sentence-terminal-tests: New file.
53049         * modules/unictype/property-soft-dotted-tests: New file.
53050         * modules/unictype/property-space-tests: New file.
53051         * modules/unictype/property-terminal-punctuation-tests: New file.
53052         * modules/unictype/property-test-tests: New file.
53053         * modules/unictype/property-titlecase-tests: New file.
53054         * modules/unictype/property-unassigned-code-value-tests: New file.
53055         * modules/unictype/property-unified-ideograph-tests: New file.
53056         * modules/unictype/property-uppercase-tests: New file.
53057         * modules/unictype/property-variation-selector-tests: New file.
53058         * modules/unictype/property-white-space-tests: New file.
53059         * modules/unictype/property-xid-continue-tests: New file.
53060         * modules/unictype/property-xid-start-tests: New file.
53061         * modules/unictype/property-zero-width-tests: New file.
53062         * modules/unictype/scripts-tests: New file.
53063         * modules/unictype/syntax-c-ident-tests: New file.
53064         * modules/unictype/syntax-c-whitespace-tests: New file.
53065         * modules/unictype/syntax-java-ident-tests: New file.
53066         * modules/unictype/syntax-java-whitespace-tests: New file.
53067         * tests/unictype/test-bidi_byname.c: New file.
53068         * tests/unictype/test-bidi_name.c: New file.
53069         * tests/unictype/test-bidi_of.c: New file.
53070         * tests/unictype/test-bidi_test.c: New file.
53071         * tests/unictype/test-block_list.c: New file.
53072         * tests/unictype/test-block_of.c: New file.
53073         * tests/unictype/test-block_test.c: New file.
53074         * tests/unictype/test-categ_and.c: New file.
53075         * tests/unictype/test-categ_and_not.c: New file.
53076         * tests/unictype/test-categ_byname.c: New file.
53077         * tests/unictype/test-categ_name.c: New file.
53078         * tests/unictype/test-categ_none.c: New file.
53079         * tests/unictype/test-categ_of.c: New file.
53080         * tests/unictype/test-categ_or.c: New file.
53081         * tests/unictype/test-categ_test_withtable.c: New file.
53082         * tests/unictype/test-combining.c: New file.
53083         * tests/unictype/test-decdigit.c: New file.
53084         * tests/unictype/test-digit.c: New file.
53085         * tests/unictype/test-mirror.c: New file.
53086         * tests/unictype/test-numeric.c: New file.
53087         * tests/unictype/test-pr_byname.c: New file.
53088         * tests/unictype/test-pr_test.c: New file.
53089         * tests/unictype/test-predicate-part1.h: New file.
53090         * tests/unictype/test-predicate-part2.h: New file.
53091         * tests/unictype/test-scripts.c: New file.
53092         * tests/unictype/test-sy_c_ident.c: New file.
53093         * tests/unictype/test-sy_java_ident.c: New file.
53094
53095         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
53096         for Unicode 5.0.0.
53097         * tests/unictype/test-categ_Cc.c: Likewise.
53098         * tests/unictype/test-categ_Cf.c: Likewise.
53099         * tests/unictype/test-categ_Cn.c: Likewise.
53100         * tests/unictype/test-categ_Co.c: Likewise.
53101         * tests/unictype/test-categ_Cs.c: Likewise.
53102         * tests/unictype/test-categ_L.c: Likewise.
53103         * tests/unictype/test-categ_Ll.c: Likewise.
53104         * tests/unictype/test-categ_Lm.c: Likewise.
53105         * tests/unictype/test-categ_Lo.c: Likewise.
53106         * tests/unictype/test-categ_Lt.c: Likewise.
53107         * tests/unictype/test-categ_Lu.c: Likewise.
53108         * tests/unictype/test-categ_M.c: Likewise.
53109         * tests/unictype/test-categ_Mc.c: Likewise.
53110         * tests/unictype/test-categ_Me.c: Likewise.
53111         * tests/unictype/test-categ_Mn.c: Likewise.
53112         * tests/unictype/test-categ_N.c: Likewise.
53113         * tests/unictype/test-categ_Nd.c: Likewise.
53114         * tests/unictype/test-categ_Nl.c: Likewise.
53115         * tests/unictype/test-categ_No.c: Likewise.
53116         * tests/unictype/test-categ_P.c: Likewise.
53117         * tests/unictype/test-categ_Pc.c: Likewise.
53118         * tests/unictype/test-categ_Pd.c: Likewise.
53119         * tests/unictype/test-categ_Pe.c: Likewise.
53120         * tests/unictype/test-categ_Pf.c: Likewise.
53121         * tests/unictype/test-categ_Pi.c: Likewise.
53122         * tests/unictype/test-categ_Po.c: Likewise.
53123         * tests/unictype/test-categ_Ps.c: Likewise.
53124         * tests/unictype/test-categ_S.c: Likewise.
53125         * tests/unictype/test-categ_Sc.c: Likewise.
53126         * tests/unictype/test-categ_Sk.c: Likewise.
53127         * tests/unictype/test-categ_Sm.c: Likewise.
53128         * tests/unictype/test-categ_So.c: Likewise.
53129         * tests/unictype/test-categ_Z.c: Likewise.
53130         * tests/unictype/test-categ_Zl.c: Likewise.
53131         * tests/unictype/test-categ_Zp.c: Likewise.
53132         * tests/unictype/test-categ_Zs.c: Likewise.
53133         * tests/unictype/test-ctype_alnum.c: Likewise.
53134         * tests/unictype/test-ctype_alpha.c: Likewise.
53135         * tests/unictype/test-ctype_blank.c: Likewise.
53136         * tests/unictype/test-ctype_cntrl.c: Likewise.
53137         * tests/unictype/test-ctype_digit.c: Likewise.
53138         * tests/unictype/test-ctype_graph.c: Likewise.
53139         * tests/unictype/test-ctype_lower.c: Likewise.
53140         * tests/unictype/test-ctype_print.c: Likewise.
53141         * tests/unictype/test-ctype_punct.c: Likewise.
53142         * tests/unictype/test-ctype_space.c: Likewise.
53143         * tests/unictype/test-ctype_upper.c: Likewise.
53144         * tests/unictype/test-ctype_xdigit.c: Likewise.
53145         * tests/unictype/test-decdigit.h: Likewise.
53146         * tests/unictype/test-digit.h: Likewise.
53147         * tests/unictype/test-numeric.h: Likewise.
53148         * tests/unictype/test-pr_alphabetic.c: Likewise.
53149         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
53150         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
53151         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
53152         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
53153         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
53154         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
53155         * tests/unictype/test-pr_bidi_control.c: Likewise.
53156         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
53157         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
53158         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
53159         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
53160         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
53161         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
53162         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
53163         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
53164         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
53165         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
53166         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
53167         * tests/unictype/test-pr_combining.c: Likewise.
53168         * tests/unictype/test-pr_composite.c: Likewise.
53169         * tests/unictype/test-pr_currency_symbol.c: Likewise.
53170         * tests/unictype/test-pr_dash.c: Likewise.
53171         * tests/unictype/test-pr_decimal_digit.c: Likewise.
53172         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
53173         * tests/unictype/test-pr_deprecated.c: Likewise.
53174         * tests/unictype/test-pr_diacritic.c: Likewise.
53175         * tests/unictype/test-pr_extender.c: Likewise.
53176         * tests/unictype/test-pr_format_control.c: Likewise.
53177         * tests/unictype/test-pr_grapheme_base.c: Likewise.
53178         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
53179         * tests/unictype/test-pr_grapheme_link.c: Likewise.
53180         * tests/unictype/test-pr_hex_digit.c: Likewise.
53181         * tests/unictype/test-pr_hyphen.c: Likewise.
53182         * tests/unictype/test-pr_id_continue.c: Likewise.
53183         * tests/unictype/test-pr_id_start.c: Likewise.
53184         * tests/unictype/test-pr_ideographic.c: Likewise.
53185         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
53186         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
53187         * tests/unictype/test-pr_ignorable_control.c: Likewise.
53188         * tests/unictype/test-pr_iso_control.c: Likewise.
53189         * tests/unictype/test-pr_join_control.c: Likewise.
53190         * tests/unictype/test-pr_left_of_pair.c: Likewise.
53191         * tests/unictype/test-pr_line_separator.c: Likewise.
53192         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
53193         * tests/unictype/test-pr_lowercase.c: Likewise.
53194         * tests/unictype/test-pr_math.c: Likewise.
53195         * tests/unictype/test-pr_non_break.c: Likewise.
53196         * tests/unictype/test-pr_not_a_character.c: Likewise.
53197         * tests/unictype/test-pr_numeric.c: Likewise.
53198         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
53199         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
53200         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
53201         * tests/unictype/test-pr_other_id_continue.c: Likewise.
53202         * tests/unictype/test-pr_other_id_start.c: Likewise.
53203         * tests/unictype/test-pr_other_lowercase.c: Likewise.
53204         * tests/unictype/test-pr_other_math.c: Likewise.
53205         * tests/unictype/test-pr_other_uppercase.c: Likewise.
53206         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
53207         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
53208         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
53209         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
53210         * tests/unictype/test-pr_private_use.c: Likewise.
53211         * tests/unictype/test-pr_punctuation.c: Likewise.
53212         * tests/unictype/test-pr_quotation_mark.c: Likewise.
53213         * tests/unictype/test-pr_radical.c: Likewise.
53214         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
53215         * tests/unictype/test-pr_soft_dotted.c: Likewise.
53216         * tests/unictype/test-pr_space.c: Likewise.
53217         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
53218         * tests/unictype/test-pr_titlecase.c: Likewise.
53219         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
53220         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
53221         * tests/unictype/test-pr_uppercase.c: Likewise.
53222         * tests/unictype/test-pr_variation_selector.c: Likewise.
53223         * tests/unictype/test-pr_white_space.c: Likewise.
53224         * tests/unictype/test-pr_xid_continue.c: Likewise.
53225         * tests/unictype/test-pr_xid_start.c: Likewise.
53226         * tests/unictype/test-pr_zero_width.c: Likewise.
53227         * tests/unictype/test-sy_c_whitespace.c: Likewise.
53228         * tests/unictype/test-sy_java_whitespace.c: Likewise.
53229
53230 2007-11-12  Bruno Haible  <bruno@clisp.org>
53231
53232         Unicode character classification functions.
53233         * lib/unictype.h: New file.
53234         * modules/unictype/base: New file.
53235         * modules/unictype/category-L: New file.
53236         * modules/unictype/category-Lu: New file.
53237         * modules/unictype/category-Ll: New file.
53238         * modules/unictype/category-Lt: New file.
53239         * modules/unictype/category-Lm: New file.
53240         * modules/unictype/category-Lo: New file.
53241         * modules/unictype/category-M: New file.
53242         * modules/unictype/category-Mn: New file.
53243         * modules/unictype/category-Mc: New file.
53244         * modules/unictype/category-Me: New file.
53245         * modules/unictype/category-N: New file.
53246         * modules/unictype/category-Nd: New file.
53247         * modules/unictype/category-Nl: New file.
53248         * modules/unictype/category-No: New file.
53249         * modules/unictype/category-P: New file.
53250         * modules/unictype/category-Pc: New file.
53251         * modules/unictype/category-Pd: New file.
53252         * modules/unictype/category-Ps: New file.
53253         * modules/unictype/category-Pe: New file.
53254         * modules/unictype/category-Pi: New file.
53255         * modules/unictype/category-Pf: New file.
53256         * modules/unictype/category-Po: New file.
53257         * modules/unictype/category-S: New file.
53258         * modules/unictype/category-Sm: New file.
53259         * modules/unictype/category-Sc: New file.
53260         * modules/unictype/category-Sk: New file.
53261         * modules/unictype/category-So: New file.
53262         * modules/unictype/category-Z: New file.
53263         * modules/unictype/category-Zs: New file.
53264         * modules/unictype/category-Zl: New file.
53265         * modules/unictype/category-Zp: New file.
53266         * modules/unictype/category-C: New file.
53267         * modules/unictype/category-Cc: New file.
53268         * modules/unictype/category-Cf: New file.
53269         * modules/unictype/category-Cs: New file.
53270         * modules/unictype/category-Co: New file.
53271         * modules/unictype/category-Cn: New file.
53272         * modules/unictype/category-or: New file.
53273         * modules/unictype/category-of: New file.
53274         * modules/unictype/category-test: New file.
53275         * modules/unictype/category-test-withtable: New file.
53276         * modules/unictype/category-byname: New file.
53277         * modules/unictype/category-none: New file.
53278         * modules/unictype/category-and: New file.
53279         * modules/unictype/category-and-not: New file.
53280         * modules/unictype/category-name: New file.
53281         * modules/unictype/combining-class: New file.
53282         * modules/unictype/category-all: New file.
53283         * modules/unictype/bidicategory-all: New file.
53284         * modules/unictype/bidicategory-byname: New file.
53285         * modules/unictype/bidicategory-name: New file.
53286         * modules/unictype/bidicategory-of: New file.
53287         * modules/unictype/bidicategory-test: New file.
53288         * modules/unictype/decimal-digit: New file.
53289         * modules/unictype/digit: New file.
53290         * modules/unictype/numeric: New file.
53291         * modules/unictype/mirror: New file.
53292         * modules/unictype/property-white-space: New file.
53293         * modules/unictype/property-alphabetic: New file.
53294         * modules/unictype/property-other-alphabetic: New file.
53295         * modules/unictype/property-not-a-character: New file.
53296         * modules/unictype/property-default-ignorable-code-point: New file.
53297         * modules/unictype/property-other-default-ignorable-code-point: New
53298         file.
53299         * modules/unictype/property-deprecated: New file.
53300         * modules/unictype/property-logical-order-exception: New file.
53301         * modules/unictype/property-variation-selector: New file.
53302         * modules/unictype/property-private-use: New file.
53303         * modules/unictype/property-unassigned-code-value: New file.
53304         * modules/unictype/property-uppercase: New file.
53305         * modules/unictype/property-other-uppercase: New file.
53306         * modules/unictype/property-lowercase: New file.
53307         * modules/unictype/property-other-lowercase: New file.
53308         * modules/unictype/property-titlecase: New file.
53309         * modules/unictype/property-soft-dotted: New file.
53310         * modules/unictype/property-id-start: New file.
53311         * modules/unictype/property-other-id-start: New file.
53312         * modules/unictype/property-id-continue: New file.
53313         * modules/unictype/property-other-id-continue: New file.
53314         * modules/unictype/property-xid-start: New file.
53315         * modules/unictype/property-xid-continue: New file.
53316         * modules/unictype/property-pattern-white-space: New file.
53317         * modules/unictype/property-pattern-syntax: New file.
53318         * modules/unictype/property-join-control: New file.
53319         * modules/unictype/property-grapheme-base: New file.
53320         * modules/unictype/property-grapheme-extend: New file.
53321         * modules/unictype/property-other-grapheme-extend: New file.
53322         * modules/unictype/property-grapheme-link: New file.
53323         * modules/unictype/property-bidi-control: New file.
53324         * modules/unictype/property-bidi-left-to-right: New file.
53325         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
53326         * modules/unictype/property-bidi-arabic-right-to-left: New file.
53327         * modules/unictype/property-bidi-european-digit: New file.
53328         * modules/unictype/property-bidi-eur-num-separator: New file.
53329         * modules/unictype/property-bidi-eur-num-terminator: New file.
53330         * modules/unictype/property-bidi-arabic-digit: New file.
53331         * modules/unictype/property-bidi-common-separator: New file.
53332         * modules/unictype/property-bidi-block-separator: New file.
53333         * modules/unictype/property-bidi-segment-separator: New file.
53334         * modules/unictype/property-bidi-whitespace: New file.
53335         * modules/unictype/property-bidi-non-spacing-mark: New file.
53336         * modules/unictype/property-bidi-boundary-neutral: New file.
53337         * modules/unictype/property-bidi-pdf: New file.
53338         * modules/unictype/property-bidi-embedding-or-override: New file.
53339         * modules/unictype/property-bidi-other-neutral: New file.
53340         * modules/unictype/property-hex-digit: New file.
53341         * modules/unictype/property-ascii-hex-digit: New file.
53342         * modules/unictype/property-ideographic: New file.
53343         * modules/unictype/property-unified-ideograph: New file.
53344         * modules/unictype/property-radical: New file.
53345         * modules/unictype/property-ids-binary-operator: New file.
53346         * modules/unictype/property-ids-trinary-operator: New file.
53347         * modules/unictype/property-zero-width: New file.
53348         * modules/unictype/property-space: New file.
53349         * modules/unictype/property-non-break: New file.
53350         * modules/unictype/property-iso-control: New file.
53351         * modules/unictype/property-format-control: New file.
53352         * modules/unictype/property-dash: New file.
53353         * modules/unictype/property-hyphen: New file.
53354         * modules/unictype/property-punctuation: New file.
53355         * modules/unictype/property-line-separator: New file.
53356         * modules/unictype/property-paragraph-separator: New file.
53357         * modules/unictype/property-quotation-mark: New file.
53358         * modules/unictype/property-sentence-terminal: New file.
53359         * modules/unictype/property-terminal-punctuation: New file.
53360         * modules/unictype/property-currency-symbol: New file.
53361         * modules/unictype/property-math: New file.
53362         * modules/unictype/property-other-math: New file.
53363         * modules/unictype/property-paired-punctuation: New file.
53364         * modules/unictype/property-left-of-pair: New file.
53365         * modules/unictype/property-combining: New file.
53366         * modules/unictype/property-composite: New file.
53367         * modules/unictype/property-decimal-digit: New file.
53368         * modules/unictype/property-numeric: New file.
53369         * modules/unictype/property-diacritic: New file.
53370         * modules/unictype/property-extender: New file.
53371         * modules/unictype/property-ignorable-control: New file.
53372         * modules/unictype/property-test: New file.
53373         * modules/unictype/property-byname: New file.
53374         * modules/unictype/property-all: New file.
53375         * modules/unictype/scripts: New file.
53376         * modules/unictype/scripts-all: New file.
53377         * modules/unictype/block-of: New file.
53378         * modules/unictype/block-test: New file.
53379         * modules/unictype/block-list: New file.
53380         * modules/unictype/block-all: New file.
53381         * modules/unictype/syntax-c-whitespace: New file.
53382         * modules/unictype/syntax-java-whitespace: New file.
53383         * modules/unictype/syntax-c-ident: New file.
53384         * modules/unictype/syntax-java-ident: New file.
53385         * modules/unictype/ctype-alnum: New file.
53386         * modules/unictype/ctype-alpha: New file.
53387         * modules/unictype/ctype-cntrl: New file.
53388         * modules/unictype/ctype-digit: New file.
53389         * modules/unictype/ctype-graph: New file.
53390         * modules/unictype/ctype-lower: New file.
53391         * modules/unictype/ctype-print: New file.
53392         * modules/unictype/ctype-punct: New file.
53393         * modules/unictype/ctype-space: New file.
53394         * modules/unictype/ctype-upper: New file.
53395         * modules/unictype/ctype-xdigit: New file.
53396         * modules/unictype/ctype-blank: New file.
53397         * lib/unictype/bidi_byname.c: New file.
53398         * lib/unictype/bidi_name.c: New file.
53399         * lib/unictype/bidi_of.c: New file.
53400         * lib/unictype/bidi_test.c: New file.
53401         * lib/unictype/bitmap.h: New file.
53402         * lib/unictype/block_test.c: New file.
53403         * lib/unictype/blocks.c: New file.
53404         * lib/unictype/categ_C.c: New file.
53405         * lib/unictype/categ_Cc.c: New file.
53406         * lib/unictype/categ_Cf.c: New file.
53407         * lib/unictype/categ_Cn.c: New file.
53408         * lib/unictype/categ_Co.c: New file.
53409         * lib/unictype/categ_Cs.c: New file.
53410         * lib/unictype/categ_L.c: New file.
53411         * lib/unictype/categ_Ll.c: New file.
53412         * lib/unictype/categ_Lm.c: New file.
53413         * lib/unictype/categ_Lo.c: New file.
53414         * lib/unictype/categ_Lt.c: New file.
53415         * lib/unictype/categ_Lu.c: New file.
53416         * lib/unictype/categ_M.c: New file.
53417         * lib/unictype/categ_Mc.c: New file.
53418         * lib/unictype/categ_Me.c: New file.
53419         * lib/unictype/categ_Mn.c: New file.
53420         * lib/unictype/categ_N.c: New file.
53421         * lib/unictype/categ_Nd.c: New file.
53422         * lib/unictype/categ_Nl.c: New file.
53423         * lib/unictype/categ_No.c: New file.
53424         * lib/unictype/categ_P.c: New file.
53425         * lib/unictype/categ_Pc.c: New file.
53426         * lib/unictype/categ_Pd.c: New file.
53427         * lib/unictype/categ_Pe.c: New file.
53428         * lib/unictype/categ_Pf.c: New file.
53429         * lib/unictype/categ_Pi.c: New file.
53430         * lib/unictype/categ_Po.c: New file.
53431         * lib/unictype/categ_Ps.c: New file.
53432         * lib/unictype/categ_S.c: New file.
53433         * lib/unictype/categ_Sc.c: New file.
53434         * lib/unictype/categ_Sk.c: New file.
53435         * lib/unictype/categ_Sm.c: New file.
53436         * lib/unictype/categ_So.c: New file.
53437         * lib/unictype/categ_Z.c: New file.
53438         * lib/unictype/categ_Zl.c: New file.
53439         * lib/unictype/categ_Zp.c: New file.
53440         * lib/unictype/categ_Zs.c: New file.
53441         * lib/unictype/categ_and.c: New file.
53442         * lib/unictype/categ_and_not.c: New file.
53443         * lib/unictype/categ_byname.c: New file.
53444         * lib/unictype/categ_name.c: New file.
53445         * lib/unictype/categ_none.c: New file.
53446         * lib/unictype/categ_of.c: New file.
53447         * lib/unictype/categ_or.c: New file.
53448         * lib/unictype/categ_test.c: New file.
53449         * lib/unictype/combining.c: New file.
53450         * lib/unictype/ctype_alnum.c: New file.
53451         * lib/unictype/ctype_alpha.c: New file.
53452         * lib/unictype/ctype_blank.c: New file.
53453         * lib/unictype/ctype_cntrl.c: New file.
53454         * lib/unictype/ctype_digit.c: New file.
53455         * lib/unictype/ctype_graph.c: New file.
53456         * lib/unictype/ctype_lower.c: New file.
53457         * lib/unictype/ctype_print.c: New file.
53458         * lib/unictype/ctype_punct.c: New file.
53459         * lib/unictype/ctype_space.c: New file.
53460         * lib/unictype/ctype_upper.c: New file.
53461         * lib/unictype/ctype_xdigit.c: New file.
53462         * lib/unictype/decdigit.c: New file.
53463         * lib/unictype/digit.c: New file.
53464         * lib/unictype/identsyntaxmap.h: New file.
53465         * lib/unictype/mirror.c: New file.
53466         * lib/unictype/numeric.c: New file.
53467         * lib/unictype/pr_alphabetic.c: New file.
53468         * lib/unictype/pr_ascii_hex_digit.c: New file.
53469         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53470         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53471         * lib/unictype/pr_bidi_block_separator.c: New file.
53472         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53473         * lib/unictype/pr_bidi_common_separator.c: New file.
53474         * lib/unictype/pr_bidi_control.c: New file.
53475         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53476         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53477         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53478         * lib/unictype/pr_bidi_european_digit.c: New file.
53479         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53480         * lib/unictype/pr_bidi_left_to_right.c: New file.
53481         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53482         * lib/unictype/pr_bidi_other_neutral.c: New file.
53483         * lib/unictype/pr_bidi_pdf.c: New file.
53484         * lib/unictype/pr_bidi_segment_separator.c: New file.
53485         * lib/unictype/pr_bidi_whitespace.c: New file.
53486         * lib/unictype/pr_byname.c: New file.
53487         * lib/unictype/pr_byname.gperf: New file.
53488         * lib/unictype/pr_combining.c: New file.
53489         * lib/unictype/pr_composite.c: New file.
53490         * lib/unictype/pr_currency_symbol.c: New file.
53491         * lib/unictype/pr_dash.c: New file.
53492         * lib/unictype/pr_decimal_digit.c: New file.
53493         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53494         * lib/unictype/pr_deprecated.c: New file.
53495         * lib/unictype/pr_diacritic.c: New file.
53496         * lib/unictype/pr_extender.c: New file.
53497         * lib/unictype/pr_format_control.c: New file.
53498         * lib/unictype/pr_grapheme_base.c: New file.
53499         * lib/unictype/pr_grapheme_extend.c: New file.
53500         * lib/unictype/pr_grapheme_link.c: New file.
53501         * lib/unictype/pr_hex_digit.c: New file.
53502         * lib/unictype/pr_hyphen.c: New file.
53503         * lib/unictype/pr_id_continue.c: New file.
53504         * lib/unictype/pr_id_start.c: New file.
53505         * lib/unictype/pr_ideographic.c: New file.
53506         * lib/unictype/pr_ids_binary_operator.c: New file.
53507         * lib/unictype/pr_ids_trinary_operator.c: New file.
53508         * lib/unictype/pr_ignorable_control.c: New file.
53509         * lib/unictype/pr_iso_control.c: New file.
53510         * lib/unictype/pr_join_control.c: New file.
53511         * lib/unictype/pr_left_of_pair.c: New file.
53512         * lib/unictype/pr_line_separator.c: New file.
53513         * lib/unictype/pr_logical_order_exception.c: New file.
53514         * lib/unictype/pr_lowercase.c: New file.
53515         * lib/unictype/pr_math.c: New file.
53516         * lib/unictype/pr_non_break.c: New file.
53517         * lib/unictype/pr_not_a_character.c: New file.
53518         * lib/unictype/pr_numeric.c: New file.
53519         * lib/unictype/pr_other_alphabetic.c: New file.
53520         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53521         * lib/unictype/pr_other_grapheme_extend.c: New file.
53522         * lib/unictype/pr_other_id_continue.c: New file.
53523         * lib/unictype/pr_other_id_start.c: New file.
53524         * lib/unictype/pr_other_lowercase.c: New file.
53525         * lib/unictype/pr_other_math.c: New file.
53526         * lib/unictype/pr_other_uppercase.c: New file.
53527         * lib/unictype/pr_paired_punctuation.c: New file.
53528         * lib/unictype/pr_paragraph_separator.c: New file.
53529         * lib/unictype/pr_pattern_syntax.c: New file.
53530         * lib/unictype/pr_pattern_white_space.c: New file.
53531         * lib/unictype/pr_private_use.c: New file.
53532         * lib/unictype/pr_punctuation.c: New file.
53533         * lib/unictype/pr_quotation_mark.c: New file.
53534         * lib/unictype/pr_radical.c: New file.
53535         * lib/unictype/pr_sentence_terminal.c: New file.
53536         * lib/unictype/pr_soft_dotted.c: New file.
53537         * lib/unictype/pr_space.c: New file.
53538         * lib/unictype/pr_terminal_punctuation.c: New file.
53539         * lib/unictype/pr_test.c: New file.
53540         * lib/unictype/pr_titlecase.c: New file.
53541         * lib/unictype/pr_unassigned_code_value.c: New file.
53542         * lib/unictype/pr_unified_ideograph.c: New file.
53543         * lib/unictype/pr_uppercase.c: New file.
53544         * lib/unictype/pr_variation_selector.c: New file.
53545         * lib/unictype/pr_white_space.c: New file.
53546         * lib/unictype/pr_xid_continue.c: New file.
53547         * lib/unictype/pr_xid_start.c: New file.
53548         * lib/unictype/pr_zero_width.c: New file.
53549         * lib/unictype/scripts.c: New file.
53550         * lib/unictype/sy_c_ident.c: New file.
53551         * lib/unictype/sy_c_whitespace.c: New file.
53552         * lib/unictype/sy_java_ident.c: New file.
53553         * lib/unictype/sy_java_whitespace.c: New file.
53554
53555         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53556         Unicode 5.0.0.
53557         * lib/unictype/blocks.h: Likewise.
53558         * lib/unictype/categ_C.h: Likewise.
53559         * lib/unictype/categ_Cc.h: Likewise.
53560         * lib/unictype/categ_Cf.h: Likewise.
53561         * lib/unictype/categ_Cn.h: Likewise.
53562         * lib/unictype/categ_Co.h: Likewise.
53563         * lib/unictype/categ_Cs.h: Likewise.
53564         * lib/unictype/categ_L.h: Likewise.
53565         * lib/unictype/categ_Ll.h: Likewise.
53566         * lib/unictype/categ_Lm.h: Likewise.
53567         * lib/unictype/categ_Lo.h: Likewise.
53568         * lib/unictype/categ_Lt.h: Likewise.
53569         * lib/unictype/categ_Lu.h: Likewise.
53570         * lib/unictype/categ_M.h: Likewise.
53571         * lib/unictype/categ_Mc.h: Likewise.
53572         * lib/unictype/categ_Me.h: Likewise.
53573         * lib/unictype/categ_Mn.h: Likewise.
53574         * lib/unictype/categ_N.h: Likewise.
53575         * lib/unictype/categ_Nd.h: Likewise.
53576         * lib/unictype/categ_Nl.h: Likewise.
53577         * lib/unictype/categ_No.h: Likewise.
53578         * lib/unictype/categ_P.h: Likewise.
53579         * lib/unictype/categ_Pc.h: Likewise.
53580         * lib/unictype/categ_Pd.h: Likewise.
53581         * lib/unictype/categ_Pe.h: Likewise.
53582         * lib/unictype/categ_Pf.h: Likewise.
53583         * lib/unictype/categ_Pi.h: Likewise.
53584         * lib/unictype/categ_Po.h: Likewise.
53585         * lib/unictype/categ_Ps.h: Likewise.
53586         * lib/unictype/categ_S.h: Likewise.
53587         * lib/unictype/categ_Sc.h: Likewise.
53588         * lib/unictype/categ_Sk.h: Likewise.
53589         * lib/unictype/categ_Sm.h: Likewise.
53590         * lib/unictype/categ_So.h: Likewise.
53591         * lib/unictype/categ_Z.h: Likewise.
53592         * lib/unictype/categ_Zl.h: Likewise.
53593         * lib/unictype/categ_Zp.h: Likewise.
53594         * lib/unictype/categ_Zs.h: Likewise.
53595         * lib/unictype/categ_of.h: Likewise.
53596         * lib/unictype/combining.h: Likewise.
53597         * lib/unictype/ctype_alnum.h: Likewise.
53598         * lib/unictype/ctype_alpha.h: Likewise.
53599         * lib/unictype/ctype_blank.h: Likewise.
53600         * lib/unictype/ctype_cntrl.h: Likewise.
53601         * lib/unictype/ctype_digit.h: Likewise.
53602         * lib/unictype/ctype_graph.h: Likewise.
53603         * lib/unictype/ctype_lower.h: Likewise.
53604         * lib/unictype/ctype_print.h: Likewise.
53605         * lib/unictype/ctype_punct.h: Likewise.
53606         * lib/unictype/ctype_space.h: Likewise.
53607         * lib/unictype/ctype_upper.h: Likewise.
53608         * lib/unictype/ctype_xdigit.h: Likewise.
53609         * lib/unictype/decdigit.h: Likewise.
53610         * lib/unictype/digit.h: Likewise.
53611         * lib/unictype/mirror.h: Likewise.
53612         * lib/unictype/numeric.h: Likewise.
53613         * lib/unictype/pr_alphabetic.h: Likewise.
53614         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53615         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53616         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53617         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53618         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53619         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53620         * lib/unictype/pr_bidi_control.h: Likewise.
53621         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53622         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53623         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53624         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53625         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53626         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53627         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53628         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53629         * lib/unictype/pr_bidi_pdf.h: Likewise.
53630         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53631         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53632         * lib/unictype/pr_combining.h: Likewise.
53633         * lib/unictype/pr_composite.h: Likewise.
53634         * lib/unictype/pr_currency_symbol.h: Likewise.
53635         * lib/unictype/pr_dash.h: Likewise.
53636         * lib/unictype/pr_decimal_digit.h: Likewise.
53637         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53638         * lib/unictype/pr_deprecated.h: Likewise.
53639         * lib/unictype/pr_diacritic.h: Likewise.
53640         * lib/unictype/pr_extender.h: Likewise.
53641         * lib/unictype/pr_format_control.h: Likewise.
53642         * lib/unictype/pr_grapheme_base.h: Likewise.
53643         * lib/unictype/pr_grapheme_extend.h: Likewise.
53644         * lib/unictype/pr_grapheme_link.h: Likewise.
53645         * lib/unictype/pr_hex_digit.h: Likewise.
53646         * lib/unictype/pr_hyphen.h: Likewise.
53647         * lib/unictype/pr_id_continue.h: Likewise.
53648         * lib/unictype/pr_id_start.h: Likewise.
53649         * lib/unictype/pr_ideographic.h: Likewise.
53650         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53651         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53652         * lib/unictype/pr_ignorable_control.h: Likewise.
53653         * lib/unictype/pr_iso_control.h: Likewise.
53654         * lib/unictype/pr_join_control.h: Likewise.
53655         * lib/unictype/pr_left_of_pair.h: Likewise.
53656         * lib/unictype/pr_line_separator.h: Likewise.
53657         * lib/unictype/pr_logical_order_exception.h: Likewise.
53658         * lib/unictype/pr_lowercase.h: Likewise.
53659         * lib/unictype/pr_math.h: Likewise.
53660         * lib/unictype/pr_non_break.h: Likewise.
53661         * lib/unictype/pr_not_a_character.h: Likewise.
53662         * lib/unictype/pr_numeric.h: Likewise.
53663         * lib/unictype/pr_other_alphabetic.h: Likewise.
53664         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53665         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53666         * lib/unictype/pr_other_id_continue.h: Likewise.
53667         * lib/unictype/pr_other_id_start.h: Likewise.
53668         * lib/unictype/pr_other_lowercase.h: Likewise.
53669         * lib/unictype/pr_other_math.h: Likewise.
53670         * lib/unictype/pr_other_uppercase.h: Likewise.
53671         * lib/unictype/pr_paired_punctuation.h: Likewise.
53672         * lib/unictype/pr_paragraph_separator.h: Likewise.
53673         * lib/unictype/pr_pattern_syntax.h: Likewise.
53674         * lib/unictype/pr_pattern_white_space.h: Likewise.
53675         * lib/unictype/pr_private_use.h: Likewise.
53676         * lib/unictype/pr_punctuation.h: Likewise.
53677         * lib/unictype/pr_quotation_mark.h: Likewise.
53678         * lib/unictype/pr_radical.h: Likewise.
53679         * lib/unictype/pr_sentence_terminal.h: Likewise.
53680         * lib/unictype/pr_soft_dotted.h: Likewise.
53681         * lib/unictype/pr_space.h: Likewise.
53682         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53683         * lib/unictype/pr_titlecase.h: Likewise.
53684         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53685         * lib/unictype/pr_unified_ideograph.h: Likewise.
53686         * lib/unictype/pr_uppercase.h: Likewise.
53687         * lib/unictype/pr_variation_selector.h: Likewise.
53688         * lib/unictype/pr_white_space.h: Likewise.
53689         * lib/unictype/pr_xid_continue.h: Likewise.
53690         * lib/unictype/pr_xid_start.h: Likewise.
53691         * lib/unictype/pr_zero_width.h: Likewise.
53692         * lib/unictype/scripts.h: Likewise.
53693         * lib/unictype/scripts_byname.gperf: Likewise.
53694         * lib/unictype/sy_c_ident.h: Likewise.
53695         * lib/unictype/sy_c_whitespace.h: Likewise.
53696         * lib/unictype/sy_java_ident.h: Likewise.
53697         * lib/unictype/sy_java_whitespace.h: Likewise.
53698
53699         * lib/unictype/Makefile: New file.
53700         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53701         glibc.
53702         * lib/unictype/3level.h: New file, copied from glibc.
53703         * lib/unictype/3levelbit.h: New file.
53704
53705 2007-11-11  Bruno Haible  <bruno@clisp.org>
53706
53707         * modules/gperf: New file.
53708         * modules/iconv_open (Depends-on): Add it.
53709         (Makefile.am): Remove the GPERF definition.
53710
53711 2007-11-11  Bruno Haible  <bruno@clisp.org>
53712
53713         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53714         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53715
53716 2007-11-11  Bruno Haible  <bruno@clisp.org>
53717
53718         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53719         (usage): Remove function.
53720
53721 2007-11-11  Bruno Haible  <bruno@clisp.org>
53722
53723         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53724         gl_FUNC_CEILF_LIBS.
53725         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53726         gl_FUNC_CEIL_LIBS.
53727         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53728         gl_FUNC_CEILL_LIBS.
53729         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53730         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53731         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53732
53733 2007-11-11  Bruno Haible  <bruno@clisp.org>
53734
53735         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53736         roundf were declared but do not exist on functions.
53737         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53738         roundl were declared but do not exist on functions.
53739         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53740         HAVE_FLOORL_AND_CEILL, respectively.
53741         Needed for Sun C on Solaris 10.
53742
53743 2007-11-11  Bruno Haible  <bruno@clisp.org>
53744
53745         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53746         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53747         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53748         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53749         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53750         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53751         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53752         HAVE_DECL_ROUNDF.
53753         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53754         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53756         of HAVE_DECL_ROUND*.
53757         * modules/math (Makefile.am): Update.
53758
53759 2007-11-10  Bruno Haible  <bruno@clisp.org>
53760
53761         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53762         ptrdiff_t as m4/intl.m4.
53763
53764 2007-11-10  Jim Meyering  <meyering@redhat.com>
53765
53766         Avoid link failure for the argmatch test.
53767         * tests/test-argmatch.c (usage): Define function to avoid a link
53768         failure: argmatch_die requires a usage function.
53769
53770 2007-11-09  Bruno Haible  <bruno@clisp.org>
53771
53772         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53773         * doc/functions/vsnprintf.texi: Likewise.
53774         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53775         with a size argument < 2.
53776
53777 2007-11-09  Bruno Haible  <bruno@clisp.org>
53778
53779         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53780         buffer. Fixes an inefficiency introduced on 2007-11-03.
53781
53782 2007-11-09  Bruno Haible  <bruno@clisp.org>
53783
53784         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53785         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53786
53787 2007-11-08  Jim Meyering  <meyering@redhat.com>
53788
53789         Change cache variable name prefix "jm_" to "gl_" everywhere.
53790         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53791         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53792         * m4/uptime.m4: s/gl_/jm_/
53793
53794 2007-11-07  Bruno Haible  <bruno@clisp.org>
53795
53796         Update to GNU gettext 0.17.
53797         * m4/intl.m4: Update to GNU gettext 0.17.
53798         * m4/po.m4: Likewise.
53799         * modules/gettext (Files): Remove m4/ulonglong.m4.
53800         (configure.ac): Require gettext infrastructure from version 0.17.
53801
53802 2007-11-06  Bruno Haible  <bruno@clisp.org>
53803
53804         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
53805         symbolic values are not defined in a public header.
53806         * lib/freadable.c (freadable) [QNX]: Likewise.
53807         * lib/freadahead.c (freadahead) [QNX]: Likewise.
53808         * lib/freading.c (freading) [QNX]: Likewise.
53809         * lib/fseterr.c (fseterr) [QNX]: Likewise.
53810         * lib/fwritable.c (fwritable) [QNX]: Likewise.
53811         * lib/fwriting.c (fwriting) [QNX]: Likewise.
53812         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
53813         Reported by Alain Magloire.
53814
53815         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
53816
53817 2007-11-05  Bruno Haible  <bruno@clisp.org>
53818
53819         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
53820         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
53821         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
53822         Reported by Eric Blake.
53823
53824 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53825             Bruno Haible  <bruno@clisp.org>
53826
53827         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
53828         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
53829         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
53830         (malloc): Undefine also before including <stdlib.h>.
53831         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
53832         Needed on OSF/1 4.0.
53833
53834 2007-11-05  Jim Meyering  <meyering@redhat.com>
53835
53836         git-version-gen: sync from coreutils.
53837         * build-aux/git-version-gen: Add comments.
53838         Change the first '-' to '.' in the snapshot version string,
53839         e.g., 6.9-377-08144 -> 6.9.377-08144
53840         Remove first parameter.
53841         Don't declare a version "-dirty" merely because a time
53842         stamp has changed.
53843
53844 2007-11-04  Bruno Haible  <bruno@clisp.org>
53845
53846         * lib/lock.h: Protect all macro definitions containing an 'if'
53847         statement through a "do { ... } while (0)".
53848         * lib/tls.h: Likewise.
53849
53850 2007-11-04  Bruno Haible  <bruno@clisp.org>
53851
53852         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
53853
53854 2007-11-04  Bruno Haible  <bruno@clisp.org>
53855
53856         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
53857         * modules/fprintf-posix (Depends-on): Add nocrash.
53858         * modules/snprintf-posix (Depends-on): Likewise.
53859         * modules/sprintf-posix (Depends-on): Likewise.
53860         * modules/vasnprintf-posix (Depends-on): Likewise.
53861         * modules/vasprintf-posix (Depends-on): Likewise.
53862         * modules/vfprintf-posix (Depends-on): Likewise.
53863         * modules/vsnprintf-posix (Depends-on): Likewise.
53864         * modules/vsprintf-posix (Depends-on): Likewise.
53865         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53866         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53867         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53868         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53869         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53870         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53871         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53872
53873 2007-11-04  Bruno Haible  <bruno@clisp.org>
53874
53875         * modules/nocrash: New file.
53876         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
53877         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
53878
53879 2007-11-04  Bruno Haible  <bruno@clisp.org>
53880
53881         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
53882         precision handling.
53883         * tests/test-vasprintf-posix.c (test_function): Likewise.
53884         * tests/test-snprintf-posix.h (test_function): Likewise.
53885         * tests/test-sprintf-posix.h (test_function): Likewise.
53886
53887         Fix *printf behaviour for large precisions on mingw and BeOS.
53888         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
53889         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
53890         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
53891         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53892         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53893         gl_PRINTF_PRECISION and test its result. Invoke
53894         gl_PREREQ_VASNPRINTF_PRECISION.
53895         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53896         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53897         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53898         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53899         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53900         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53901         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53902         * doc/functions/fprintf.texi: Update.
53903         * doc/functions/printf.texi: Update.
53904         * doc/functions/snprintf.texi: Update.
53905         * doc/functions/sprintf.texi: Update.
53906         * doc/functions/vfprintf.texi: Update.
53907         * doc/functions/vprintf.texi: Update.
53908         * doc/functions/vsnprintf.texi: Update.
53909         * doc/functions/vsprintf.texi: Update.
53910
53911 2007-11-04  Bruno Haible  <bruno@clisp.org>
53912
53913         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
53914
53915 2007-11-04  Bruno Haible  <bruno@clisp.org>
53916
53917         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
53918         Reported by Sylvain Beucler <beuc@gnu.org>.
53919
53920 2007-11-03  Bruno Haible  <bruno@clisp.org>
53921
53922         * tests/test-fprintf-posix2.sh: New file.
53923         * tests/test-fprintf-posix2.c: New file.
53924         * modules/fprintf-posix-tests (Files): Add them.
53925         (TESTS): Add test-fprintf-posix2.sh.
53926         (configure.ac): Check for getrlimit and setrlimit.
53927         (check_PROGRAMS): Add test-fprintf-posix2.
53928
53929         * tests/test-printf-posix2.sh: New file.
53930         * tests/test-printf-posix2.c: New file.
53931         * modules/printf-posix-tests (Files): Add them.
53932         (TESTS): Add test-printf-posix2.sh.
53933         (configure.ac): Check for getrlimit and setrlimit.
53934         (check_PROGRAMS): Add test-printf-posix2.
53935
53936         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
53937         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
53938         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
53939         (decode_double): New function, copied from decode_long_double.
53940         (scale10_round_decimal_decoded): New function, extracted from
53941         scale10_round_decimal_long_double.
53942         (scale10_round_decimal_long_double): Use it.
53943         (scale10_round_decimal_double): New function.
53944         (floorlog10): New function.
53945         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
53946         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
53947         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53948         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53949         gl_PRINTF_ENOMEM and test its result. Invoke
53950         gl_PREREQ_VASNPRINTF_ENOMEM.
53951         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53952         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53953         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53954         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53955         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53956         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53957         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53958         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
53959         * modules/snprintf-posix (Depends-on): Likewise.
53960         * modules/sprintf-posix (Depends-on): Likewise.
53961         * modules/vasnprintf-posix (Depends-on): Likewise.
53962         * modules/vasprintf-posix (Depends-on): Likewise.
53963         * modules/vfprintf-posix (Depends-on): Likewise.
53964         * modules/vsnprintf-posix (Depends-on): Likewise.
53965         * modules/vsprintf-posix (Depends-on): Likewise.
53966         * doc/functions/fprintf.texi: Update.
53967         * doc/functions/printf.texi: Update.
53968         * doc/functions/snprintf.texi: Update.
53969         * doc/functions/sprintf.texi: Update.
53970         * doc/functions/vfprintf.texi: Update.
53971         * doc/functions/vprintf.texi: Update.
53972         * doc/functions/vsnprintf.texi: Update.
53973         * doc/functions/vsprintf.texi: Update.
53974
53975 2007-11-03  Bruno Haible  <bruno@clisp.org>
53976
53977         * modules/frexp-nolibm-tests: New file.
53978
53979         * modules/frexp-nolibm: New file.
53980         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
53981
53982 2007-11-03  Bruno Haible  <bruno@clisp.org>
53983
53984         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
53985         value is C99 compliant.
53986         Needed for OSF/1 5.1.
53987
53988 2007-11-03  Bruno Haible  <bruno@clisp.org>
53989
53990         Fix out-of-memory handling of vasnprintf.
53991         * lib/printf-parse.c: Include <errno.h>.
53992         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
53993         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
53994         is already set.
53995
53996 2007-11-02  Eric Blake  <ebb9@byu.net>
53997
53998         Fix tests on cygwin.
53999         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
54000
54001 2007-11-01  Bruno Haible  <bruno@clisp.org>
54002
54003         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
54004         warning.
54005         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
54006         needed for POSIX compatibility.
54007
54008 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54009
54010         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
54011         for compatibility with GNU.
54012
54013 2007-11-01  Bruno Haible  <bruno@clisp.org>
54014
54015         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
54016         (putenv): Renamed from rpl_putenv. Change argument type from
54017         'const char *' to 'char *'.
54018         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
54019         of defining putenv in config.h, just set REPLACE_PUTENV.
54020         * modules/putenv (Depends-on): Add stdlib.
54021         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54022         (Include): Use <stdlib.h>.
54023         * lib/stdlib.in.h (putenv): New declaration.
54024         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
54025         REPLACE_PUTENV.
54026         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
54027         REPLACE_PUTENV.
54028         Needed for MacOS X 10.5.0.
54029         Reported by Peter O'Gorman <peter@pogma.com>.
54030
54031 2007-11-01  Jim Meyering  <meyering@redhat.com>
54032
54033         Treat an empty date string exactly like "0".
54034         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
54035         if the remaining date string (to be parsed) is empty, use "0".
54036         Reported by Mischa Molhoek and discussed in this thread:
54037         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
54038
54039 2007-10-31  Bruno Haible  <bruno@clisp.org>
54040
54041         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
54042         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
54043         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
54044         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
54045         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
54046         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
54047
54048 2007-10-31  Bruno Haible  <bruno@clisp.org>
54049
54050         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
54051         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
54052         (AC_TYPE_LONG_LONG_INT): Use it.
54053         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
54054         it as well.
54055         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
54056         to m4/longlong.m4.
54057         * modules/stdint (Files): Remove m4/ulonglong.m4.
54058         * modules/strtoull (Files): Use m4/longlong.m4 instead of
54059         m4/ulonglong.m4.
54060         * modules/strtoumax (Files): Likewise.
54061
54062 2007-10-30  Bruno Haible  <bruno@clisp.org>
54063
54064         * modules/xvasprintf-posix: New file.
54065         Suggested by Eric Blake.
54066
54067 2007-10-30  Bruno Haible  <bruno@clisp.org>
54068
54069         * modules/xprintf-posix-tests: New file.
54070         * tests/test-xprintf-posix.sh: New file.
54071         * tests/test-xprintf-posix.c: New file.
54072         * tests/test-xfprintf-posix.c: New file.
54073
54074         * modules/xprintf-posix: New file.
54075
54076 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54077
54078         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
54079         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
54080         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
54081
54082 2007-10-29  Bruno Haible  <bruno@clisp.org>
54083
54084         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
54085         contain the special marker '_cv_'.
54086         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
54087         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
54088         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
54089         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
54090         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
54091         Reported by Ralf Wildenhues.
54092
54093 2007-10-29  Bruno Haible  <bruno@clisp.org>
54094
54095         * gnulib-tool (func_import): When --lgpl is not specified, set
54096         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
54097         GPLv3.
54098         Reported by Simon Josefsson.
54099
54100 2007-10-28  Bruno Haible  <bruno@clisp.org>
54101
54102         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
54103         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
54104         HAVE_DECL_ISFINITE.
54105         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54106         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
54107         HAVE_DECL_ISFINITE.
54108
54109 2007-10-28  Bruno Haible  <bruno@clisp.org>
54110
54111         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
54112         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
54113
54114 2007-10-28  Bruno Haible  <bruno@clisp.org>
54115
54116         Fix link errors with Sun C 5.0 on Solaris 10.
54117         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
54118         function is declared but not present in the compiler's libm.
54119         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
54120         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
54121         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
54122         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
54123         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
54124         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
54125         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
54126         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54127         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
54128         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
54129         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
54130         HAVE_DECL_FLOORL.
54131
54132 2007-10-28  Bruno Haible  <bruno@clisp.org>
54133
54134         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
54135         gl_FUNC_FLOORL. Cache the result.
54136         (gl_FUNC_FLOORL): Use it.
54137         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
54138         gl_FUNC_CEILL. Cache the result.
54139         (gl_FUNC_CEILL): Use it.
54140
54141         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
54142         gl_FUNC_FLOOR. Cache the result.
54143         (gl_FUNC_FLOOR): Use it.
54144         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
54145         gl_FUNC_CEIL. Cache the result.
54146         (gl_FUNC_CEIL): Use it.
54147
54148         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
54149         gl_FUNC_FLOORF. Cache the result.
54150         (gl_FUNC_FLOORF): Use it.
54151         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
54152         gl_FUNC_CEILF. Cache the result.
54153         (gl_FUNC_CEILF): Use it.
54154
54155 2007-10-28  Bruno Haible  <bruno@clisp.org>
54156
54157         * gnulib-tool: Allow specifying the LGPL version number through
54158         --lgpl=2 or --lgpl=3.
54159         (func_usage): Document --lgpl with argument.
54160         Handle --lgpl=... arguments.
54161         (func_import): Recognize also gl_LGPL calls with an argument. When
54162         --lgpl=2 is used and the module's license is just LGPL, report an
54163         error. Set sed_transform_lib_file according to the lgpl variable. In
54164         the generated files, use --lgpl or gl_LGPL invocations with argument,
54165         if necessary.
54166         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
54167         an LGPv2+ license.
54168         * doc/gnulib-tool.texi (Modified imports): Update explanation of
54169         gl_LGPL macro.
54170
54171 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54172             Bruno Haible  <bruno@clisp.org>
54173
54174         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
54175         (u16_uctomb_aux): Likewise.
54176         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
54177         !HAVE_INLINE.
54178         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
54179
54180 2007-10-28  Bruno Haible  <bruno@clisp.org>
54181
54182         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
54183         Invoke AM_GETTEXT_OPTION if it exists.
54184         * modules/vasprintf: Likewise.
54185         * modules/verror: Likewise.
54186         * modules/xprintf: Likewise.
54187         * modules/xvasprintf: Likewise.
54188
54189 2007-10-27  Ben Pfaff  <blp@gnu.org>
54190
54191         * lib/math.in.h: Define isfinite macro and prototypes for
54192         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
54193         implementations.
54194         * m4/math_h.m4: New substitutions for isfinite module.
54195         * lib/isfinite.c: New file.
54196         * m4/isfinite.m4: New file.
54197         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
54198         * modules/isfinite: New file.
54199         * modules/isfinite-tests: New file.
54200         * tests/tests-isfinite.c: New file.
54201         * doc/functions/isfinite.texi: Mention isfinite module.
54202         * MODULES.html.sh: Mention new module.
54203
54204 2007-10-27  Ben Pfaff  <blp@gnu.org>
54205
54206         Ralf Wildenhues reported that Tru64 4.0D declares the round
54207         functions but does not have definitions.
54208         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
54209         cannot be found in any library, set the output variable to
54210         "missing" instead of "".
54211         * m4/round.m4: Also use our substitute if we cannot find round in
54212         any library, even if it is declared.
54213         * m4/roundf.m4: Likewise for roundf.
54214         * m4/roundl.m4: Likewise for roundl.
54215         * lib/math.in.h: Undefine roundf, round, roundl before defining
54216         their replacements, to allow for hypothetical systems where these
54217         may be defined as macros but not available in libraries.
54218
54219 2007-10-27  Bruno Haible  <bruno@clisp.org>
54220
54221         * doc/gnulib.texi: Invoke @firstparagraphindent.
54222         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
54223         changes in gnulib.
54224         (Source changes): New section.
54225
54226 2007-10-26  Bruno Haible  <bruno@clisp.org>
54227
54228         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
54229         borrowed from autoconf.
54230
54231 2007-10-26  Bruno Haible  <bruno@clisp.org>
54232
54233         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
54234         strerror returned the empty string. Needed on HP-UX 11.00.
54235
54236 2007-10-24  Micah Cowan  <micah@cowan.name>
54237
54238         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
54239         * build-aux/bootstrap: Remove support for now-unnecessary option,
54240         --cvs-user, and envvars CVS_USER, CVS_RSH.
54241
54242 2007-10-24  Jim Meyering  <meyering@redhat.com>
54243
54244         Avoid diagnostics from sha1sum when there is no cached checksum.
54245         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
54246         if the po.s1 file hasn't been created yet.
54247
54248         * build-aux/bootstrap: Sync from coreutils:
54249         2007-10-24  Jim Meyering  <meyering@redhat.com>
54250         Get gnulib from the git repository, not from an obsolete cvs one.
54251         * build-aux/bootstrap: Suggestion from Micah Cowan.
54252         2007-10-04  Jim Meyering  <jim@meyering.net>
54253         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
54254         (update_po_files): Work also when there are no .po files in po/.
54255
54256 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54257
54258         * README: Append ".git" to git and cg examples.
54259         Problem reported by Benoit Sigoure.
54260
54261 2007-10-23  Micah Cowan  <micah@cowan.name>
54262
54263         * users.txt: Add wget.
54264
54265 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54266
54267         Fix linking of some unistdio tests on FreeBSD.
54268         * modules/unistdio/u16-vsnprintf-tests
54269         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
54270         * modules/unistdio/u16-vsprintf-tests
54271         (test_u16_vsnprintf1_LDADD): Likewise.
54272         * modules/unistdio/u32-vsnprintf-tests
54273         (test_u32_vsnprintf1_LDADD): Likewise.
54274         * modules/unistdio/u32-vsprintf-tests
54275         (test_u32_vsprintf1_LDADD): Likewise.
54276         * modules/unistdio/u8-vsnprintf-tests
54277         (test_u8_vsnprintf1_LDADD): Likewise.
54278         * modules/unistdio/u8-vsprintf-tests
54279         (test_u8_vsprintf1_LDADD): Likewise.
54280         * modules/unistdio/ulc-vsnprintf-tests
54281         (test_ulc_vsnprintf1_LDADD): Likewise.
54282         * modules/unistdio/ulc-vsprintf-tests
54283         (test_ulc_vsprintf1_LDADD): Likewise.
54284
54285         Fix linking of some uniconv tests on FreeBSD.
54286         * modules/uniconv/u16-conv-from-enc-tests
54287         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
54288         * modules/uniconv/u16-conv-to-enc-tests
54289         (test_u16_conv_to_enc_LDADD): Likewise.
54290         * modules/uniconv/u16-strconv-from-enc-tests
54291         (test_u16_strconv_from_enc_LDADD): Likewise.
54292         * modules/uniconv/u16-strconv-to-enc-tests
54293         (test_u16_strconv_to_enc_LDADD): Likewise.
54294         * modules/uniconv/u32-conv-from-enc-tests
54295         (test_u32_conv_from_enc_LDADD): Likewise.
54296         * modules/uniconv/u32-conv-to-enc-tests
54297         (test_u32_conv_to_enc_LDADD): Likewise.
54298         * modules/uniconv/u32-strconv-from-enc-tests
54299         (test_u32_strconv_from_enc_LDADD): Likewise.
54300         * modules/uniconv/u32-strconv-to-enc-tests
54301         (test_u32_strconv_to_enc_LDADD): Likewise.
54302         * modules/uniconv/u8-conv-from-enc-tests
54303         (test_u8_conv_from_enc_LDADD): Likewise.
54304         * modules/uniconv/u8-conv-to-enc-tests
54305         (test_u8_conv_to_enc_LDADD): Likewise.
54306         * modules/uniconv/u8-strconv-from-enc-tests
54307         (test_u8_strconv_from_enc_LDADD): Likewise.
54308         * modules/uniconv/u8-strconv-to-enc-tests
54309         (test_u8_strconv_to_enc_LDADD): Likewise.
54310
54311 2007-10-22  Bruno Haible  <bruno@clisp.org>
54312
54313         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
54314         size.
54315
54316 2007-10-22  Eric Blake  <ebb9@byu.net>
54317
54318         Tweak x*printf documentation.
54319         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
54320         variable name and comments.
54321         Suggested by Bruno Haible.
54322
54323 2007-10-22  Bruno Haible  <bruno@clisp.org>
54324
54325         * lib/acl.c (copy_acl): Fix file name in comment.
54326
54327 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54328
54329         Fix Tru64 problem with stdbool.h.
54330         * lib/stdbool.in.h (false, true):
54331         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
54332         Don't declare as an enum in this situation; it runs afoul of Tru64.
54333         Problem reported by Steven M. Schweda in
54334         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
54335
54336 2007-10-22  Eric Blake  <ebb9@byu.net>
54337
54338         Also wrap vf?printf.
54339         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
54340         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
54341         (xvprintf, xvfprintf): New functions.
54342
54343 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54344
54345         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
54346         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
54347
54348         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
54349         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
54350
54351 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54352
54353         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
54354         by Bruno Haible.
54355
54356 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54357
54358         * lib/getloadavg.c
54359         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
54360         Undef `sys' after including sys/table.h, for Tru64 4.0D.
54361
54362         * tests/test-i-ring.c: Work for C89.
54363
54364 2007-10-22  Bruno Haible  <bruno@clisp.org>
54365
54366         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
54367         -1u, in preprocessor expression, so that we don't test for the bug
54368         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
54369         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
54370
54371 2007-10-22  Eric Blake  <ebb9@byu.net>
54372
54373         * tests/test-yesno.sh: Silence stderr during test.
54374
54375 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54376
54377         * modules/crypto/gc-camellia: New file.
54378
54379         * m4/gc-camellia.m4: New file.
54380
54381         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54382
54383         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54384
54385 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54386
54387         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54388         --help to stdout.  Reported by sms@antinode.org (Steven
54389         M. Schweda).
54390
54391 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54392
54393         * users.txt: Fix link to libksba.
54394
54395 2007-10-21  Ben Pfaff  <blp@gnu.org>
54396
54397         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54398         round.c roundf implementation that depends on floorf and ceilf to
54399         be tested unconditionally.
54400
54401 2007-10-21  Ben Pfaff  <blp@gnu.org>
54402
54403         * m4/check-libm-func.m4: Removed.
54404         * m4/check-math-lib.m4: New file.
54405         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54406         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54407         definition and lack of AC_LIBOBJ([roundf]).
54408         * m4/roundl.m4: Ditto, and similarly for roundl.
54409         * modules/round: Reference new m4 file.
54410         * modules/roundf: Ditto.
54411         * modules/roundl: Ditto.
54412         * tests/test-round2.c (main): Use ROUND instead of round.
54413         Bug report from Bruno Haible.
54414
54415 2007-10-21  Bruno Haible  <bruno@clisp.org>
54416
54417         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54418         context.
54419
54420 2007-10-21  Bruno Haible  <bruno@clisp.org>
54421
54422         * tests/test-wcwidth.c (main): Allow negative result for some control
54423         characters.
54424
54425         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54426         Needed on OSF/1 5.1.
54427
54428 2007-10-21  Bruno Haible  <bruno@clisp.org>
54429
54430         * tests/test-floorf1.c: Include isnanf.h.
54431         (main): Use isnanf() instead of isnan().
54432         * tests/test-ceilf1.c: Include isnanf.h.
54433         (main): Use isnanf() instead of isnan().
54434         * tests/test-truncf1.c: Include isnanf.h.
54435         (main): Use isnanf() instead of isnan().
54436         * tests/test-roundf1.c: Include isnanf.h.
54437         (main): Use isnanf() instead of isnan().
54438
54439 2007-10-21  Eric Blake  <ebb9@byu.net>
54440
54441         * users.txt: Update URL for m4.
54442
54443 2007-10-21  Bruno Haible  <bruno@clisp.org>
54444
54445         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54446
54447 2007-10-21  Bruno Haible  <bruno@clisp.org>
54448
54449         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54450         Git's management files if the CVS files are not present.
54451
54452 2007-10-20  Bruno Haible  <bruno@clisp.org>
54453
54454         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54455         gcc-3.4.x.
54456
54457 2007-10-20  Ben Pfaff  <blp@gnu.org>
54458
54459         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54460         implementations.
54461         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54462         * lib/round.c: New file.
54463         * lib/roundf.c: New file.
54464         * lib/roundl.c: New file.
54465         * m4/round.m4: New file.
54466         * m4/roundf.m4: New file.
54467         * m4/roundl.m4: New file.
54468         * m4/check-libm-func-m4: New file.
54469         * modules/math: Replace round, roundf, roundl related @VARS@ in
54470         math.in.h.
54471         * modules/round: New file.
54472         * modules/round-tests: New file.
54473         * modules/roundf: New file.
54474         * modules/roundf-tests: New file.
54475         * modules/roundl: New file.
54476         * modules/roundl-tests: New file.
54477         * tests/test-round1.c: New file.
54478         * tests/test-round2.c: New file.
54479         * tests/test-roundf1.c: New file.
54480         * tests/test-roundf2.c: New file.
54481         * tests/test-roundl.c: New file.
54482         * doc/functions/round.texi: Mention round module.
54483         * doc/functions/roundf.texi: Mention roundf module.
54484         * doc/functions/roundl.texi: Mention roundl module.
54485         * MODULES.html.sh: Mention new modules.
54486         Thanks to Bruno Haible for suggestions.
54487
54488 2007-10-20  Jim Meyering  <meyering@redhat.com>
54489
54490         * lib/xprintf.c: Include <config.h> unconditionally.
54491
54492         Change xprintf's license to GPL.
54493         * modules/xprintf (License): s/LGPL/GPL/, since this module
54494         depends on modules (exit and exitfail) which are GPL.
54495         Suggestion from Bruno Haible.
54496
54497         xprintf fixes.
54498         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54499         Use a clearer diagnostic.
54500         Patch from Bruno Haible.
54501
54502 2007-10-20  Bruno Haible  <bruno@clisp.org>
54503
54504         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54505         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54506         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54507
54508 2007-10-20  Bruno Haible  <bruno@clisp.org>
54509
54510         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54511         precision in the comparison result > x - 1 or similar.
54512         * tests/test-ceilf2.c (correct_result_p): Likewise.
54513         * tests/test-truncf2.c (correct_result_p): Likewise.
54514         * tests/test-trunc2.c (correct_result_p): Likewise.
54515         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54516
54517 2007-10-20  Bruno Haible  <bruno@clisp.org>
54518
54519         * modules/ceil: New file.
54520         * m4/ceil.m4: New file.
54521         * doc/functions/ceil.texi: Mention the 'ceil' module.
54522
54523 2007-10-20  Bruno Haible  <bruno@clisp.org>
54524
54525         * modules/floor: New file.
54526         * m4/floor.m4: New file.
54527         * doc/functions/floor.texi: Mention the 'floor' module.
54528
54529 2007-10-20  Bruno Haible  <bruno@clisp.org>
54530
54531         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54532         of %a.
54533         * modules/floorf-tests (Depends-on): Likewise.
54534         * modules/truncf-tests (Depends-on): Likewise.
54535         * modules/trunc-tests (Depends-on): Likewise.
54536         Reported by Ben Pfaff.
54537
54538 2007-10-19  Jim Meyering  <meyering@redhat.com>
54539
54540         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54541         Don't bother testing specific errno values.  Just test ferror.
54542
54543         New module: xprintf
54544         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54545
54546 2007-10-19  Bruno Haible  <bruno@clisp.org>
54547
54548         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54549         syntax.
54550         * modules/javaexec (Makefile.am): Likewise.
54551         * modules/relocatable-prog (Makefile.am): Likewise.
54552         Suggested by Jim Meyering.
54553
54554 2007-10-18  Bruno Haible  <bruno@clisp.org>
54555
54556         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54557         Reported by Jim Meyering.
54558
54559 2007-10-18  Eric Blake  <ebb9@byu.net>
54560
54561         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54562
54563 2007-10-18  Bruno Haible  <bruno@clisp.org>
54564
54565         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54566         the format string into writable memory. Needed in Fortify conditions.
54567
54568 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54569             Bruno Haible  <bruno@clisp.org>
54570
54571         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54572         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54573         * modules/trim (Depends-on): Add mbchar.
54574         (configure.ac): Add gl_FUNC_MBRTOWC.
54575         (Makefile.am): Augment lib_SOURCES.
54576
54577 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54578
54579         Modify glob.c to use fstatat and dirfd, to simplify it.
54580         Suggested by Eric Blake.
54581         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54582         Don't include <stdbool.h>; not used.
54583         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54584         (link_exists_p): Simplify implementation, since we can now assume
54585         dirfd and fstatat.
54586         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54587
54588 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54589
54590         * gnulib-tool (func_get_dependencies): Fix sed script to
54591         match only tests.
54592
54593 2007-10-17  Bruno Haible  <bruno@clisp.org>
54594
54595         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54596         allow locale names without encoding suffix.
54597         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54598         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54599
54600 2007-10-16  Bruno Haible  <bruno@clisp.org>
54601
54602         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54603         * lib/getgroups.c (getgroups): Likewise.
54604         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54605
54606 2007-10-16  Bruno Haible  <bruno@clisp.org>
54607
54608         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54609         * modules/malloc-posix (License): Likewise.
54610         * modules/realloc-posix (License): Likewise.
54611         * modules/calloc-posix (License): Likewise.
54612         * modules/intprops (License): Change from GPL to LGPL, with
54613         Paul Eggert's approval.
54614
54615 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54616
54617         Merge glibc changes into lib/glob.c.
54618
54619         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54620         2007-10-15 04:59:03 UTC.  Here are the changes:
54621
54622         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54623
54624         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54625
54626         * lib/glob.c: Add some branch prediction throughout.
54627
54628         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54629
54630         [BZ #5103]
54631         * lib/glob.c (glob): Recognize patterns starting \/.
54632
54633         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54634
54635         [BZ #3996]
54636         * lib/glob.c (attribute_hidden): Define if not defined.
54637         (glob): Unescape dirname, filename or username when needed and not
54638         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54639         is NULL.  Handle unescaped [ in pattern without closing ].
54640         Don't pass GLOB_CHECK down to recursive glob for directories.
54641         (__glob_pattern_type): New function.
54642         (__glob_pattern_p): Implement using __glob_pattern_type.
54643         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54644         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54645         Remove unreachable code.
54646
54647         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54648
54649         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54650         explain why there are no leaks.
54651
54652         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54653
54654         [BZ #3253]
54655         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54656         time, rather allocate increasingly bigger arrays of pointers, if
54657         possible with alloca, if too large with malloc.
54658
54659 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54660
54661         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54662         Problem reported by H.Merijn Brand in
54663         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54664         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54665         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54666
54667 2007-10-15  Bruno Haible  <bruno@clisp.org>
54668
54669         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54670         with explicit rpl_ prefix.
54671         * lib/fopen.c (fopen): Likewise.
54672         * lib/freopen.c (freopen): Likewise.
54673         * lib/iconv.c (iconv): Likewise.
54674         * lib/iconv_close.c (iconv_close): Likewise.
54675
54676 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54677
54678         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54679
54680 2007-10-15  Bruno Haible  <bruno@clisp.org>
54681
54682         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54683         <stddef.h> instead of <stdlib.h> since we only need NULL.
54684         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54685
54686 2007-10-15  Bruno Haible  <bruno@clisp.org>
54687
54688         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54689         Replace paragraph talking about LIBOBJS.
54690         Reported by Colin Watson <cjwatson@debian.org>.
54691
54692 2007-10-15  Bruno Haible  <bruno@clisp.org>
54693
54694         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54695         <stdlib.h> before using NULL.
54696
54697 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54698
54699         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54700         Reported by Albert Chin <china@thewrittenword.com>.
54701
54702 2007-10-14  Bruno Haible  <bruno@clisp.org>
54703
54704         * modules/iconv_open-utf-tests: New file.
54705         * tests/test-iconv-utf.c: New file.
54706
54707         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54708         * modules/iconv_open-utf: New file.
54709         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54710         (iconv, iconv_close): New declarations.
54711         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54712         be defined.
54713         (iconv_open): Add special handling of conversion between UTF-8 and
54714         UTF-{16,32}{BE,LE}.
54715         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54716         * lib/iconv_close.c: New file.
54717         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54718         gl_FUNC_ICONV_OPEN.
54719         (gl_FUNC_ICONV_OPEN): Use it.
54720         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54721         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54722         and REPLACE_ICONV_UTF.
54723         * modules/iconv_open (Depends-on): Add c-strcase.
54724         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54725         ICONV_CONST.
54726         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54727
54728 2007-10-13  Albert Chin  <china@thewrittenword.com>
54729             Bruno Haible  <bruno@clisp.org>
54730
54731         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54732         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54733
54734 2007-10-13  Bruno Haible  <bruno@clisp.org>
54735
54736         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54737         defined, use the ISO C99 inline semantics.
54738         * lib/argp.h (ARGP_EI): Likewise.
54739
54740 2007-10-13  Bruno Haible  <bruno@clisp.org>
54741
54742         Handle 'inline' change in gcc 4.3.0.
54743         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54744         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54745         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54746         argp_fmtstream_point): Disable 'extern' declaration if the function
54747         definition is going to be provided inline.
54748         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54749         semantics, not the ISO C99 inline semantics.
54750         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54751         'extern' declaration if the function definition is going to be provided
54752         inline.
54753         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54754         the GNU C inline semantics, not the ISO C99 inline semantics. With
54755         GCC 4.2, avoid a warning.
54756
54757 2007-10-13  Bruno Haible  <bruno@clisp.org>
54758
54759         * lib/freading.h (freading): Enable the use of __freading for
54760         glibc >= 2.7.
54761         * lib/freading.c (freading): Likewise.
54762
54763 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54764
54765         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54766         "warning: C99 inline functions are not supported; using GNU89".
54767
54768 2007-10-12  Bruno Haible  <bruno@clisp.org>
54769
54770         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54771         of 2.
54772         * tests/test-ceilf2.c: New file.
54773         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54774
54775         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54776         * modules/ceilf-tests: Update.
54777
54778 2007-10-12  Bruno Haible  <bruno@clisp.org>
54779
54780         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54781         of 2.
54782         * tests/test-floorf2.c: New file.
54783         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54784
54785         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54786         * modules/floorf-tests: Update.
54787
54788 2007-10-12  Bruno Haible  <bruno@clisp.org>
54789
54790         * tests/test-trunc2.c: New file.
54791         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54792
54793         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
54794         * modules/trunc-tests: Update.
54795
54796 2007-10-12  Bruno Haible  <bruno@clisp.org>
54797
54798         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
54799         of 2.
54800         * tests/test-truncf2.c: New file.
54801         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
54802
54803         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
54804         * modules/truncf-tests: Update.
54805
54806 2007-10-11  Eric Blake  <ebb9@byu.net>
54807
54808         Don't claim strerror is broken on Interix.
54809         * doc/functions/strerror.texi (strerror): Known broken systems are
54810         now Solaris 8, and not Interix.
54811         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
54812         Interix on cross-compile.
54813         Reported by Martin Koeppe in
54814         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
54815
54816 2007-10-11  Bruno Haible  <bruno@clisp.org>
54817
54818         * modules/i-ring-tests: New file.
54819         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
54820         instead of assert.
54821
54822 2007-10-11  Bruno Haible  <bruno@clisp.org>
54823
54824         * modules/filenamecat-tests: New file.
54825         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
54826         * lib/filenamecat.c: Remove test code.
54827
54828 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54829
54830         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
54831
54832         * lib/strerror.c: Include <string.h> always, to test interface,
54833         and to remove the need for the dummy.
54834         Include intprops.h to compute width instead of doing it ourselves
54835         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
54836         (strerror): Define it to return NULL if there's no system strerror.
54837         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
54838         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
54839         ancient pre-strerror Unix systems well any more.  Saying "unknown
54840         system error" is enough.
54841         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
54842         simpler strerror.c implementation.
54843         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
54844         Simplify the tests to reflect the simpler strerror implementation.
54845         * modules/strerror (Depends-on): Add intprops.
54846
54847 2007-10-09  Eric Blake  <ebb9@byu.net>
54848
54849         Silence test-fpending.
54850         * modules/fpending-tests (Files): Add wrapper script.
54851         * tests/test-fpending.sh: New file.
54852
54853 2007-10-09  Bruno Haible  <bruno@clisp.org>
54854
54855         * MODULES.html.sh (func_module): Don't create a hyperlink for
54856         function names like 'printf_frexp'.
54857         (Misc): Add crc, memxor.
54858         (Characteristics of floating types): New section.
54859         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
54860         isnanf-nolibm, signbit, trunc, truncf, truncl.
54861         (Enhancements for ISO C 99 functions): New subsection Input/output.
54862         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
54863         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
54864         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
54865         (Compatibility checks for POSIX:2001 functions): Add clock-time.
54866         (Enhancements for POSIX:2001 functions): Add chdir-long.
54867         (File system functions): Add areadlink, chdir-safer, read-file.
54868         Remove cycle-check.
54869         (File system as inode set): New section.
54870         (Date and time): Add gethrxtime.
54871         (Multithreading): Add openmp.
54872         (Internationalization functions): Add localename.
54873         (Unicode string functions): Add unistr/u*-mbsnlen.
54874         (Support for maintaining and releasing projects): Add git-version-gen.
54875         (Lone files): Remove directories.
54876
54877 2007-10-08  Ben Pfaff  <blp@gnu.org>
54878
54879         * lib/xmalloca.h: Fix typo in comment.
54880
54881 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54882
54883         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
54884         when avoiding problems with integer overflow.  Use a portable test
54885         instead.
54886
54887 2007-10-08  Simon Josefsson  <simon@josefsson.org>
54888
54889         * modules/dummy (License): Change to LGPLv2+.
54890         * modules/float (License): Likewise
54891         * modules/realloc (License): Likewise
54892         * modules/stdlib (License): Likewise
54893
54894 2007-10-07  Bruno Haible  <bruno@clisp.org>
54895
54896         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
54897         * floor.c (TWO_MANT_DIG): Likewise.
54898         * ceil.c (TWO_MANT_DIG): Likewise.
54899         Reported by Ben Pfaff.
54900
54901 2007-10-07  Bruno Haible  <bruno@clisp.org>
54902
54903         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
54904         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
54905         * lib/frexp.c (FUNC): Likewise.
54906         * lib/printf-frexp.h (printf_frexp): Likewise.
54907         * lib/printf-frexpl.h (printf_frexpl): Likewise.
54908         * lib/printf-frexp.c (FUNC): Likewise.
54909         Suggested by Jim Meyering.
54910
54911 2007-10-07  Jim Meyering  <meyering@redhat.com>
54912
54913         Make xnanosleep's integer overflow test more robust.
54914         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
54915         so that gcc-4.3.0 doesn't optimize away this test for overflow.
54916
54917 2007-10-07  Bruno Haible  <bruno@clisp.org>
54918
54919         * NEWS: Mention the license change.
54920
54921         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
54922         abbreviations in the modules files.
54923
54924         Change copyright notice from GPLv2+ to GPLv3+.
54925         * README: Change copyright notice.
54926         * MODULES.html.sh: Likewise.
54927         * build-aux/bootstrap.conf: Likewise.
54928         * build-aux/config.libpath: Likewise.
54929         * build-aux/csharpcomp.sh.in: Likewise.
54930         * build-aux/csharpexec.sh.in: Likewise.
54931         * build-aux/install-reloc: Likewise.
54932         * build-aux/javacomp.sh.in: Likewise.
54933         * build-aux/javaexec.sh.in: Likewise.
54934         * build-aux/ldd.sh.in: Likewise.
54935         * build-aux/reloc-ldflags: Likewise.
54936         * build-aux/relocatable.sh.in: Likewise.
54937         * build-aux/x-to-1.in: Likewise.
54938         * check-module: Likewise.
54939         * config/srclistvars.sh: Likewise.
54940         * gnulib-tool: Likewise.
54941         * lib/acl-internal.h: Likewise.
54942         * lib/acl.c: Likewise.
54943         * lib/acl.h: Likewise.
54944         * lib/acl_entries.c: Likewise.
54945         * lib/areadlink-with-size.c: Likewise.
54946         * lib/areadlink.c: Likewise.
54947         * lib/areadlink.h: Likewise.
54948         * lib/argmatch.c: Likewise.
54949         * lib/argmatch.h: Likewise.
54950         * lib/argp-ba.c: Likewise.
54951         * lib/argp-eexst.c: Likewise.
54952         * lib/argp-fmtstream.c: Likewise.
54953         * lib/argp-fmtstream.h: Likewise.
54954         * lib/argp-fs-xinl.c: Likewise.
54955         * lib/argp-help.c: Likewise.
54956         * lib/argp-namefrob.h: Likewise.
54957         * lib/argp-parse.c: Likewise.
54958         * lib/argp-pin.c: Likewise.
54959         * lib/argp-pv.c: Likewise.
54960         * lib/argp-pvh.c: Likewise.
54961         * lib/argp-xinl.c: Likewise.
54962         * lib/argp.h: Likewise.
54963         * lib/at-func.c: Likewise.
54964         * lib/atanl.c: Likewise.
54965         * lib/backupfile.c: Likewise.
54966         * lib/backupfile.h: Likewise.
54967         * lib/basename.c: Likewise.
54968         * lib/binary-io.h: Likewise.
54969         * lib/byteswap.in.h: Likewise.
54970         * lib/c-stack.c: Likewise.
54971         * lib/c-stack.h: Likewise.
54972         * lib/c-strcasestr.c: Likewise.
54973         * lib/c-strcasestr.h: Likewise.
54974         * lib/c-strstr.c: Likewise.
54975         * lib/c-strstr.h: Likewise.
54976         * lib/c-strtod.c: Likewise.
54977         * lib/calloc.c: Likewise.
54978         * lib/canon-host.c: Likewise.
54979         * lib/canon-host.h: Likewise.
54980         * lib/canonicalize-lgpl.c: Likewise.
54981         * lib/canonicalize.c: Likewise.
54982         * lib/canonicalize.h: Likewise.
54983         * lib/ceil.c: Likewise.
54984         * lib/ceilf.c: Likewise.
54985         * lib/ceill.c: Likewise.
54986         * lib/chdir-long.c: Likewise.
54987         * lib/chdir-long.h: Likewise.
54988         * lib/chdir-safer.c: Likewise.
54989         * lib/chdir-safer.h: Likewise.
54990         * lib/chown.c: Likewise.
54991         * lib/classpath.c: Likewise.
54992         * lib/classpath.h: Likewise.
54993         * lib/clean-temp.c: Likewise.
54994         * lib/clean-temp.h: Likewise.
54995         * lib/cloexec.c: Likewise.
54996         * lib/close-stream.c: Likewise.
54997         * lib/closein.c: Likewise.
54998         * lib/closein.h: Likewise.
54999         * lib/closeout.c: Likewise.
55000         * lib/closeout.h: Likewise.
55001         * lib/concat-filename.c: Likewise.
55002         * lib/copy-file.c: Likewise.
55003         * lib/copy-file.h: Likewise.
55004         * lib/count-one-bits.h: Likewise.
55005         * lib/crc.c: Likewise.
55006         * lib/crc.h: Likewise.
55007         * lib/creat-safer.c: Likewise.
55008         * lib/csharpcomp.c: Likewise.
55009         * lib/csharpcomp.h: Likewise.
55010         * lib/csharpexec.c: Likewise.
55011         * lib/csharpexec.h: Likewise.
55012         * lib/cycle-check.c: Likewise.
55013         * lib/cycle-check.h: Likewise.
55014         * lib/diacrit.c: Likewise.
55015         * lib/diacrit.h: Likewise.
55016         * lib/diffseq.h: Likewise.
55017         * lib/dirchownmod.c: Likewise.
55018         * lib/dirent.in.h: Likewise.
55019         * lib/dirfd.c: Likewise.
55020         * lib/dirfd.h: Likewise.
55021         * lib/dirname.c: Likewise.
55022         * lib/dirname.h: Likewise.
55023         * lib/dummy.c: Likewise.
55024         * lib/dup-safer.c: Likewise.
55025         * lib/dup2.c: Likewise.
55026         * lib/eealloc.h: Likewise.
55027         * lib/error.c: Likewise.
55028         * lib/error.h: Likewise.
55029         * lib/euidaccess.c: Likewise.
55030         * lib/exclude.c: Likewise.
55031         * lib/exclude.h: Likewise.
55032         * lib/execute.c: Likewise.
55033         * lib/execute.h: Likewise.
55034         * lib/exitfail.c: Likewise.
55035         * lib/exitfail.h: Likewise.
55036         * lib/expl.c: Likewise.
55037         * lib/fatal-signal.c: Likewise.
55038         * lib/fatal-signal.h: Likewise.
55039         * lib/fbufmode.c: Likewise.
55040         * lib/fbufmode.h: Likewise.
55041         * lib/fchdir.c: Likewise.
55042         * lib/fchmodat.c: Likewise.
55043         * lib/fchownat.c: Likewise.
55044         * lib/fcntl--.h: Likewise.
55045         * lib/fcntl-safer.h: Likewise.
55046         * lib/fcntl.in.h: Likewise.
55047         * lib/fd-safer.c: Likewise.
55048         * lib/fflush.c: Likewise.
55049         * lib/file-has-acl.c: Likewise.
55050         * lib/file-set.c: Likewise.
55051         * lib/file-type.c: Likewise.
55052         * lib/file-type.h: Likewise.
55053         * lib/fileblocks.c: Likewise.
55054         * lib/filemode.c: Likewise.
55055         * lib/filemode.h: Likewise.
55056         * lib/filename.h: Likewise.
55057         * lib/filenamecat.c: Likewise.
55058         * lib/filenamecat.h: Likewise.
55059         * lib/findprog.c: Likewise.
55060         * lib/findprog.h: Likewise.
55061         * lib/float.in.h: Likewise.
55062         * lib/floor.c: Likewise.
55063         * lib/floorf.c: Likewise.
55064         * lib/floorl.c: Likewise.
55065         * lib/fopen-safer.c: Likewise.
55066         * lib/fopen.c: Likewise.
55067         * lib/fpending.c: Likewise.
55068         * lib/fpending.h: Likewise.
55069         * lib/fprintf.c: Likewise.
55070         * lib/fprintftime.h: Likewise.
55071         * lib/fpucw.h: Likewise.
55072         * lib/fpurge.c: Likewise.
55073         * lib/fpurge.h: Likewise.
55074         * lib/freadable.c: Likewise.
55075         * lib/freadable.h: Likewise.
55076         * lib/freadahead.c: Likewise.
55077         * lib/freadahead.h: Likewise.
55078         * lib/freading.c: Likewise.
55079         * lib/freading.h: Likewise.
55080         * lib/free.c: Likewise.
55081         * lib/freopen.c: Likewise.
55082         * lib/frexp.c: Likewise.
55083         * lib/frexpl.c: Likewise.
55084         * lib/fseek.c: Likewise.
55085         * lib/fseterr.c: Likewise.
55086         * lib/fseterr.h: Likewise.
55087         * lib/fstatat.c: Likewise.
55088         * lib/fstrcmp.c: Likewise.
55089         * lib/fstrcmp.h: Likewise.
55090         * lib/fsusage.c: Likewise.
55091         * lib/fsusage.h: Likewise.
55092         * lib/ftell.c: Likewise.
55093         * lib/ftello.c: Likewise.
55094         * lib/fts-cycle.c: Likewise.
55095         * lib/fts.c: Likewise.
55096         * lib/fts_.h: Likewise.
55097         * lib/full-read.c: Likewise.
55098         * lib/full-read.h: Likewise.
55099         * lib/full-write.c: Likewise.
55100         * lib/full-write.h: Likewise.
55101         * lib/fwritable.c: Likewise.
55102         * lib/fwritable.h: Likewise.
55103         * lib/fwriteerror.c: Likewise.
55104         * lib/fwriteerror.h: Likewise.
55105         * lib/fwriting.c: Likewise.
55106         * lib/fwriting.h: Likewise.
55107         * lib/gcd.c: Likewise.
55108         * lib/gcd.h: Likewise.
55109         * lib/getcwd.c: Likewise.
55110         * lib/getdate.h: Likewise.
55111         * lib/getdate.y: Likewise.
55112         * lib/getdomainname.c: Likewise.
55113         * lib/getdomainname.h: Likewise.
55114         * lib/getgroups.c: Likewise.
55115         * lib/gethostname.c: Likewise.
55116         * lib/gethrxtime.c: Likewise.
55117         * lib/gethrxtime.h: Likewise.
55118         * lib/getloadavg.c: Likewise.
55119         * lib/getndelim2.c: Likewise.
55120         * lib/getndelim2.h: Likewise.
55121         * lib/getnline.c: Likewise.
55122         * lib/getnline.h: Likewise.
55123         * lib/getopt.c: Likewise.
55124         * lib/getopt.in.h: Likewise.
55125         * lib/getopt1.c: Likewise.
55126         * lib/getopt_int.h: Likewise.
55127         * lib/getpagesize.h: Likewise.
55128         * lib/getsubopt.c: Likewise.
55129         * lib/gettime.c: Likewise.
55130         * lib/getugroups.c: Likewise.
55131         * lib/getugroups.h: Likewise.
55132         * lib/getusershell.c: Likewise.
55133         * lib/gl_anyavltree_list1.h: Likewise.
55134         * lib/gl_anyavltree_list2.h: Likewise.
55135         * lib/gl_anyhash_list1.h: Likewise.
55136         * lib/gl_anyhash_list2.h: Likewise.
55137         * lib/gl_anylinked_list1.h: Likewise.
55138         * lib/gl_anylinked_list2.h: Likewise.
55139         * lib/gl_anyrbtree_list1.h: Likewise.
55140         * lib/gl_anyrbtree_list2.h: Likewise.
55141         * lib/gl_anytree_list1.h: Likewise.
55142         * lib/gl_anytree_list2.h: Likewise.
55143         * lib/gl_anytree_oset.h: Likewise.
55144         * lib/gl_anytreehash_list1.h: Likewise.
55145         * lib/gl_anytreehash_list2.h: Likewise.
55146         * lib/gl_array_list.c: Likewise.
55147         * lib/gl_array_list.h: Likewise.
55148         * lib/gl_array_oset.c: Likewise.
55149         * lib/gl_array_oset.h: Likewise.
55150         * lib/gl_avltree_list.c: Likewise.
55151         * lib/gl_avltree_list.h: Likewise.
55152         * lib/gl_avltree_oset.c: Likewise.
55153         * lib/gl_avltree_oset.h: Likewise.
55154         * lib/gl_avltreehash_list.c: Likewise.
55155         * lib/gl_avltreehash_list.h: Likewise.
55156         * lib/gl_carray_list.c: Likewise.
55157         * lib/gl_carray_list.h: Likewise.
55158         * lib/gl_linked_list.c: Likewise.
55159         * lib/gl_linked_list.h: Likewise.
55160         * lib/gl_linkedhash_list.c: Likewise.
55161         * lib/gl_linkedhash_list.h: Likewise.
55162         * lib/gl_list.c: Likewise.
55163         * lib/gl_list.h: Likewise.
55164         * lib/gl_oset.c: Likewise.
55165         * lib/gl_oset.h: Likewise.
55166         * lib/gl_rbtree_list.c: Likewise.
55167         * lib/gl_rbtree_list.h: Likewise.
55168         * lib/gl_rbtree_oset.c: Likewise.
55169         * lib/gl_rbtree_oset.h: Likewise.
55170         * lib/gl_rbtreehash_list.c: Likewise.
55171         * lib/gl_rbtreehash_list.h: Likewise.
55172         * lib/gl_sublist.c: Likewise.
55173         * lib/gl_sublist.h: Likewise.
55174         * lib/group-member.c: Likewise.
55175         * lib/group-member.h: Likewise.
55176         * lib/hard-locale.c: Likewise.
55177         * lib/hard-locale.h: Likewise.
55178         * lib/hash-pjw.c: Likewise.
55179         * lib/hash-pjw.h: Likewise.
55180         * lib/hash-triple.c: Likewise.
55181         * lib/hash.c: Likewise.
55182         * lib/hash.h: Likewise.
55183         * lib/human.c: Likewise.
55184         * lib/human.h: Likewise.
55185         * lib/i-ring.c: Likewise.
55186         * lib/i-ring.h: Likewise.
55187         * lib/idcache.c: Likewise.
55188         * lib/imaxabs.c: Likewise.
55189         * lib/imaxdiv.c: Likewise.
55190         * lib/inet_pton.c: Likewise.
55191         * lib/inet_pton.h: Likewise.
55192         * lib/intprops.h: Likewise.
55193         * lib/inttostr.c: Likewise.
55194         * lib/inttostr.h: Likewise.
55195         * lib/inttypes.in.h: Likewise.
55196         * lib/isapipe.c: Likewise.
55197         * lib/isdir.c: Likewise.
55198         * lib/isnan.c: Likewise.
55199         * lib/isnan.h: Likewise.
55200         * lib/isnanf.c: Likewise.
55201         * lib/isnanf.h: Likewise.
55202         * lib/isnanl-nolibm.h: Likewise.
55203         * lib/isnanl.c: Likewise.
55204         * lib/isnanl.h: Likewise.
55205         * lib/javacomp.c: Likewise.
55206         * lib/javacomp.h: Likewise.
55207         * lib/javaexec.c: Likewise.
55208         * lib/javaexec.h: Likewise.
55209         * lib/javaversion.c: Likewise.
55210         * lib/javaversion.h: Likewise.
55211         * lib/javaversion.java: Likewise.
55212         * lib/lbrkprop.h: Likewise.
55213         * lib/lchmod.h: Likewise.
55214         * lib/lchown.c: Likewise.
55215         * lib/ldexpl.c: Likewise.
55216         * lib/linebreak.c: Likewise.
55217         * lib/linebreak.h: Likewise.
55218         * lib/linebuffer.c: Likewise.
55219         * lib/linebuffer.h: Likewise.
55220         * lib/locale.in.h: Likewise.
55221         * lib/logl.c: Likewise.
55222         * lib/long-options.c: Likewise.
55223         * lib/long-options.h: Likewise.
55224         * lib/lstat.c: Likewise.
55225         * lib/lstat.h: Likewise.
55226         * lib/math.in.h: Likewise.
55227         * lib/mbchar.c: Likewise.
55228         * lib/mbchar.h: Likewise.
55229         * lib/mbfile.h: Likewise.
55230         * lib/mbiter.h: Likewise.
55231         * lib/mbscasecmp.c: Likewise.
55232         * lib/mbscasestr.c: Likewise.
55233         * lib/mbschr.c: Likewise.
55234         * lib/mbscspn.c: Likewise.
55235         * lib/mbslen.c: Likewise.
55236         * lib/mbsncasecmp.c: Likewise.
55237         * lib/mbsnlen.c: Likewise.
55238         * lib/mbspbrk.c: Likewise.
55239         * lib/mbspcasecmp.c: Likewise.
55240         * lib/mbsrchr.c: Likewise.
55241         * lib/mbssep.c: Likewise.
55242         * lib/mbsspn.c: Likewise.
55243         * lib/mbsstr.c: Likewise.
55244         * lib/mbstok_r.c: Likewise.
55245         * lib/mbswidth.c: Likewise.
55246         * lib/mbswidth.h: Likewise.
55247         * lib/mbuiter.h: Likewise.
55248         * lib/memcasecmp.c: Likewise.
55249         * lib/memcasecmp.h: Likewise.
55250         * lib/memchr.c: Likewise.
55251         * lib/memcmp.c: Likewise.
55252         * lib/memcoll.c: Likewise.
55253         * lib/memcoll.h: Likewise.
55254         * lib/memcpy.c: Likewise.
55255         * lib/memrchr.c: Likewise.
55256         * lib/mkancesdirs.c: Likewise.
55257         * lib/mkdir-p.c: Likewise.
55258         * lib/mkdir-p.h: Likewise.
55259         * lib/mkdir.c: Likewise.
55260         * lib/mkdirat.c: Likewise.
55261         * lib/mkdtemp.c: Likewise.
55262         * lib/mkstemp-safer.c: Likewise.
55263         * lib/mkstemp.c: Likewise.
55264         * lib/modechange.c: Likewise.
55265         * lib/modechange.h: Likewise.
55266         * lib/mountlist.c: Likewise.
55267         * lib/mountlist.h: Likewise.
55268         * lib/mpsort.c: Likewise.
55269         * lib/nanosleep.c: Likewise.
55270         * lib/obstack.c: Likewise.
55271         * lib/obstack.h: Likewise.
55272         * lib/open-safer.c: Likewise.
55273         * lib/open.c: Likewise.
55274         * lib/openat-die.c: Likewise.
55275         * lib/openat-priv.h: Likewise.
55276         * lib/openat-proc.c: Likewise.
55277         * lib/openat.c: Likewise.
55278         * lib/openat.h: Likewise.
55279         * lib/pagealign_alloc.c: Likewise.
55280         * lib/pagealign_alloc.h: Likewise.
55281         * lib/physmem.c: Likewise.
55282         * lib/physmem.h: Likewise.
55283         * lib/pipe-safer.c: Likewise.
55284         * lib/pipe.c: Likewise.
55285         * lib/pipe.h: Likewise.
55286         * lib/posixtm.c: Likewise.
55287         * lib/posixtm.h: Likewise.
55288         * lib/posixver.c: Likewise.
55289         * lib/printf-frexp.c: Likewise.
55290         * lib/printf-frexp.h: Likewise.
55291         * lib/printf-frexpl.c: Likewise.
55292         * lib/printf-frexpl.h: Likewise.
55293         * lib/printf.c: Likewise.
55294         * lib/progname.c: Likewise.
55295         * lib/progname.h: Likewise.
55296         * lib/progreloc.c: Likewise.
55297         * lib/putenv.c: Likewise.
55298         * lib/quote.c: Likewise.
55299         * lib/quote.h: Likewise.
55300         * lib/quotearg.c: Likewise.
55301         * lib/quotearg.h: Likewise.
55302         * lib/raise.c: Likewise.
55303         * lib/readline.c: Likewise.
55304         * lib/readline.h: Likewise.
55305         * lib/readlink.c: Likewise.
55306         * lib/readtokens.c: Likewise.
55307         * lib/readtokens.h: Likewise.
55308         * lib/readtokens0.c: Likewise.
55309         * lib/readtokens0.h: Likewise.
55310         * lib/readutmp.c: Likewise.
55311         * lib/readutmp.h: Likewise.
55312         * lib/realloc.c: Likewise.
55313         * lib/relocwrapper.c: Likewise.
55314         * lib/rename-dest-slash.c: Likewise.
55315         * lib/rename.c: Likewise.
55316         * lib/rmdir.c: Likewise.
55317         * lib/rpmatch.c: Likewise.
55318         * lib/safe-read.c: Likewise.
55319         * lib/safe-read.h: Likewise.
55320         * lib/safe-write.c: Likewise.
55321         * lib/safe-write.h: Likewise.
55322         * lib/same-inode.h: Likewise.
55323         * lib/same.c: Likewise.
55324         * lib/same.h: Likewise.
55325         * lib/save-cwd.c: Likewise.
55326         * lib/save-cwd.h: Likewise.
55327         * lib/savedir.c: Likewise.
55328         * lib/savedir.h: Likewise.
55329         * lib/savewd.c: Likewise.
55330         * lib/savewd.h: Likewise.
55331         * lib/search.in.h: Likewise.
55332         * lib/setenv.c: Likewise.
55333         * lib/setenv.h: Likewise.
55334         * lib/settime.c: Likewise.
55335         * lib/sh-quote.c: Likewise.
55336         * lib/sh-quote.h: Likewise.
55337         * lib/sig2str.c: Likewise.
55338         * lib/sig2str.h: Likewise.
55339         * lib/signal.in.h: Likewise.
55340         * lib/signbitd.c: Likewise.
55341         * lib/signbitf.c: Likewise.
55342         * lib/signbitl.c: Likewise.
55343         * lib/sigprocmask.c: Likewise.
55344         * lib/sincosl.c: Likewise.
55345         * lib/sleep.c: Likewise.
55346         * lib/sprintf.c: Likewise.
55347         * lib/sqrtl.c: Likewise.
55348         * lib/stat-time.h: Likewise.
55349         * lib/stdio--.h: Likewise.
55350         * lib/stdio-safer.h: Likewise.
55351         * lib/stdlib--.h: Likewise.
55352         * lib/stdlib-safer.h: Likewise.
55353         * lib/stdlib.in.h: Likewise.
55354         * lib/stpcpy.c: Likewise.
55355         * lib/stpncpy.c: Likewise.
55356         * lib/strchrnul.c: Likewise.
55357         * lib/strcspn.c: Likewise.
55358         * lib/strerror.c: Likewise.
55359         * lib/strftime.c: Likewise.
55360         * lib/strftime.h: Likewise.
55361         * lib/striconveh.c: Likewise.
55362         * lib/striconveh.h: Likewise.
55363         * lib/striconveha.c: Likewise.
55364         * lib/striconveha.h: Likewise.
55365         * lib/stripslash.c: Likewise.
55366         * lib/strnlen1.c: Likewise.
55367         * lib/strnlen1.h: Likewise.
55368         * lib/strtod.c: Likewise.
55369         * lib/strtoimax.c: Likewise.
55370         * lib/strtok_r.c: Likewise.
55371         * lib/strtol.c: Likewise.
55372         * lib/strtoll.c: Likewise.
55373         * lib/strtoul.c: Likewise.
55374         * lib/strtoull.c: Likewise.
55375         * lib/sysexits.in.h: Likewise.
55376         * lib/tempname.c: Likewise.
55377         * lib/tempname.h: Likewise.
55378         * lib/timespec.h: Likewise.
55379         * lib/tls.c: Likewise.
55380         * lib/tls.h: Likewise.
55381         * lib/tmpdir.c: Likewise.
55382         * lib/tmpdir.h: Likewise.
55383         * lib/tmpfile-safer.c: Likewise.
55384         * lib/tmpfile.c: Likewise.
55385         * lib/trigl.c: Likewise.
55386         * lib/trigl.h: Likewise.
55387         * lib/trim.c: Likewise.
55388         * lib/trim.h: Likewise.
55389         * lib/trunc.c: Likewise.
55390         * lib/truncf.c: Likewise.
55391         * lib/truncl.c: Likewise.
55392         * lib/tsearch.c: Likewise.
55393         * lib/unicodeio.c: Likewise.
55394         * lib/unicodeio.h: Likewise.
55395         * lib/unistd--.h: Likewise.
55396         * lib/unistd-safer.h: Likewise.
55397         * lib/unistdio/ulc-fprintf.c: Likewise.
55398         * lib/unistdio/ulc-vfprintf.c: Likewise.
55399         * lib/unlinkdir.c: Likewise.
55400         * lib/unlinkdir.h: Likewise.
55401         * lib/unlocked-io.h: Likewise.
55402         * lib/unsetenv.c: Likewise.
55403         * lib/userspec.c: Likewise.
55404         * lib/utime.c: Likewise.
55405         * lib/utimecmp.c: Likewise.
55406         * lib/utimecmp.h: Likewise.
55407         * lib/utimens.c: Likewise.
55408         * lib/verify.h: Likewise.
55409         * lib/verror.c: Likewise.
55410         * lib/verror.h: Likewise.
55411         * lib/version-etc-fsf.c: Likewise.
55412         * lib/version-etc.c: Likewise.
55413         * lib/version-etc.h: Likewise.
55414         * lib/vfprintf.c: Likewise.
55415         * lib/vprintf.c: Likewise.
55416         * lib/vsprintf.c: Likewise.
55417         * lib/w32spawn.h: Likewise.
55418         * lib/wait-process.c: Likewise.
55419         * lib/wait-process.h: Likewise.
55420         * lib/wcwidth.c: Likewise.
55421         * lib/write-any-file.c: Likewise.
55422         * lib/xalloc-die.c: Likewise.
55423         * lib/xalloc.h: Likewise.
55424         * lib/xasprintf.c: Likewise.
55425         * lib/xgetcwd.c: Likewise.
55426         * lib/xgetcwd.h: Likewise.
55427         * lib/xgetdomainname.c: Likewise.
55428         * lib/xgetdomainname.h: Likewise.
55429         * lib/xgethostname.c: Likewise.
55430         * lib/xmalloc.c: Likewise.
55431         * lib/xmalloca.c: Likewise.
55432         * lib/xmalloca.h: Likewise.
55433         * lib/xmemcoll.c: Likewise.
55434         * lib/xnanosleep.c: Likewise.
55435         * lib/xreadlink.c: Likewise.
55436         * lib/xreadlink.h: Likewise.
55437         * lib/xsetenv.c: Likewise.
55438         * lib/xsetenv.h: Likewise.
55439         * lib/xstriconv.c: Likewise.
55440         * lib/xstriconv.h: Likewise.
55441         * lib/xstrndup.c: Likewise.
55442         * lib/xstrndup.h: Likewise.
55443         * lib/xstrtod.c: Likewise.
55444         * lib/xstrtod.h: Likewise.
55445         * lib/xstrtol-error.c: Likewise.
55446         * lib/xstrtol.c: Likewise.
55447         * lib/xstrtol.h: Likewise.
55448         * lib/xtime.h: Likewise.
55449         * lib/xvasprintf.c: Likewise.
55450         * lib/xvasprintf.h: Likewise.
55451         * lib/yesno.c: Likewise.
55452         * lib/yesno.h: Likewise.
55453         * posix-modules: Likewise.
55454         * tests/test-alloca-opt.c: Likewise.
55455         * tests/test-arcfour.c: Likewise.
55456         * tests/test-arctwo.c: Likewise.
55457         * tests/test-argmatch.c: Likewise.
55458         * tests/test-argp-2.sh: Likewise.
55459         * tests/test-argp.c: Likewise.
55460         * tests/test-arpa_inet.c: Likewise.
55461         * tests/test-array_list.c: Likewise.
55462         * tests/test-array_oset.c: Likewise.
55463         * tests/test-atexit.c: Likewise.
55464         * tests/test-avltree_list.c: Likewise.
55465         * tests/test-avltree_oset.c: Likewise.
55466         * tests/test-avltreehash_list.c: Likewise.
55467         * tests/test-base64.c: Likewise.
55468         * tests/test-binary-io.c: Likewise.
55469         * tests/test-byteswap.c: Likewise.
55470         * tests/test-c-ctype.c: Likewise.
55471         * tests/test-c-strcasecmp.c: Likewise.
55472         * tests/test-c-strcasestr.c: Likewise.
55473         * tests/test-c-strncasecmp.c: Likewise.
55474         * tests/test-c-strstr.c: Likewise.
55475         * tests/test-canonicalize-lgpl.c: Likewise.
55476         * tests/test-canonicalize.c: Likewise.
55477         * tests/test-carray_list.c: Likewise.
55478         * tests/test-ceilf.c: Likewise.
55479         * tests/test-ceill.c: Likewise.
55480         * tests/test-count-one-bits.c: Likewise.
55481         * tests/test-crc.c: Likewise.
55482         * tests/test-dirname.c: Likewise.
55483         * tests/test-fbufmode.c: Likewise.
55484         * tests/test-fcntl.c: Likewise.
55485         * tests/test-fflush.c: Likewise.
55486         * tests/test-floorf.c: Likewise.
55487         * tests/test-floorl.c: Likewise.
55488         * tests/test-fopen.c: Likewise.
55489         * tests/test-fprintf-posix.c: Likewise.
55490         * tests/test-fprintf-posix.h: Likewise.
55491         * tests/test-fpurge.c: Likewise.
55492         * tests/test-freadable.c: Likewise.
55493         * tests/test-freadahead.c: Likewise.
55494         * tests/test-freading.c: Likewise.
55495         * tests/test-freopen.c: Likewise.
55496         * tests/test-frexp.c: Likewise.
55497         * tests/test-frexpl.c: Likewise.
55498         * tests/test-fseek.c: Likewise.
55499         * tests/test-fseeko.c: Likewise.
55500         * tests/test-fseterr.c: Likewise.
55501         * tests/test-fstrcmp.c: Likewise.
55502         * tests/test-ftell.c: Likewise.
55503         * tests/test-ftello.c: Likewise.
55504         * tests/test-fwritable.c: Likewise.
55505         * tests/test-fwriting.c: Likewise.
55506         * tests/test-getaddrinfo.c: Likewise.
55507         * tests/test-getpass.c: Likewise.
55508         * tests/test-gettimeofday.c: Likewise.
55509         * tests/test-hmac-md5.c: Likewise.
55510         * tests/test-hmac-sha1.c: Likewise.
55511         * tests/test-iconv.c: Likewise.
55512         * tests/test-iconvme.c: Likewise.
55513         * tests/test-inttypes.c: Likewise.
55514         * tests/test-isnan.c: Likewise.
55515         * tests/test-isnanf.c: Likewise.
55516         * tests/test-isnanl-nolibm.c: Likewise.
55517         * tests/test-isnanl.c: Likewise.
55518         * tests/test-isnanl.h: Likewise.
55519         * tests/test-ldexpl.c: Likewise.
55520         * tests/test-linked_list.c: Likewise.
55521         * tests/test-linkedhash_list.c: Likewise.
55522         * tests/test-locale.c: Likewise.
55523         * tests/test-localename.c: Likewise.
55524         * tests/test-lock.c: Likewise.
55525         * tests/test-lseek.c: Likewise.
55526         * tests/test-malloca.c: Likewise.
55527         * tests/test-math.c: Likewise.
55528         * tests/test-mbscasecmp.c: Likewise.
55529         * tests/test-mbscasestr1.c: Likewise.
55530         * tests/test-mbscasestr2.c: Likewise.
55531         * tests/test-mbscasestr3.c: Likewise.
55532         * tests/test-mbscasestr4.c: Likewise.
55533         * tests/test-mbschr.c: Likewise.
55534         * tests/test-mbscspn.c: Likewise.
55535         * tests/test-mbsncasecmp.c: Likewise.
55536         * tests/test-mbspbrk.c: Likewise.
55537         * tests/test-mbspcasecmp.c: Likewise.
55538         * tests/test-mbsrchr.c: Likewise.
55539         * tests/test-mbsspn.c: Likewise.
55540         * tests/test-mbsstr1.c: Likewise.
55541         * tests/test-mbsstr2.c: Likewise.
55542         * tests/test-mbsstr3.c: Likewise.
55543         * tests/test-md5.c: Likewise.
55544         * tests/test-memmem.c: Likewise.
55545         * tests/test-netinet_in.c: Likewise.
55546         * tests/test-open.c: Likewise.
55547         * tests/test-printf-frexp.c: Likewise.
55548         * tests/test-printf-frexpl.c: Likewise.
55549         * tests/test-printf-posix.c: Likewise.
55550         * tests/test-printf-posix.h: Likewise.
55551         * tests/test-rbtree_list.c: Likewise.
55552         * tests/test-rbtree_oset.c: Likewise.
55553         * tests/test-rbtreehash_list.c: Likewise.
55554         * tests/test-read-file.c: Likewise.
55555         * tests/test-rijndael.c: Likewise.
55556         * tests/test-search.c: Likewise.
55557         * tests/test-signbit.c: Likewise.
55558         * tests/test-sleep.c: Likewise.
55559         * tests/test-snprintf-posix.c: Likewise.
55560         * tests/test-snprintf-posix.h: Likewise.
55561         * tests/test-snprintf.c: Likewise.
55562         * tests/test-sprintf-posix.c: Likewise.
55563         * tests/test-sprintf-posix.h: Likewise.
55564         * tests/test-stat-time.c: Likewise.
55565         * tests/test-stdbool.c: Likewise.
55566         * tests/test-stdint.c: Likewise.
55567         * tests/test-stdio.c: Likewise.
55568         * tests/test-stdlib.c: Likewise.
55569         * tests/test-stpncpy.c: Likewise.
55570         * tests/test-strcasestr.c: Likewise.
55571         * tests/test-striconv.c: Likewise.
55572         * tests/test-striconveh.c: Likewise.
55573         * tests/test-striconveha.c: Likewise.
55574         * tests/test-string.c: Likewise.
55575         * tests/test-sys_select.c: Likewise.
55576         * tests/test-sys_socket.c: Likewise.
55577         * tests/test-sys_stat.c: Likewise.
55578         * tests/test-sys_time.c: Likewise.
55579         * tests/test-sysexits.c: Likewise.
55580         * tests/test-time.c: Likewise.
55581         * tests/test-tls.c: Likewise.
55582         * tests/test-trunc.c: Likewise.
55583         * tests/test-truncf.c: Likewise.
55584         * tests/test-truncl.c: Likewise.
55585         * tests/test-unistd.c: Likewise.
55586         * tests/test-vasnprintf-posix.c: Likewise.
55587         * tests/test-vasnprintf-posix2.c: Likewise.
55588         * tests/test-vasnprintf.c: Likewise.
55589         * tests/test-vasprintf-posix.c: Likewise.
55590         * tests/test-vasprintf.c: Likewise.
55591         * tests/test-verify.c: Likewise.
55592         * tests/test-vfprintf-posix.c: Likewise.
55593         * tests/test-vprintf-posix.c: Likewise.
55594         * tests/test-vsnprintf-posix.c: Likewise.
55595         * tests/test-vsnprintf.c: Likewise.
55596         * tests/test-vsprintf-posix.c: Likewise.
55597         * tests/test-wchar.c: Likewise.
55598         * tests/test-wctype.c: Likewise.
55599         * tests/test-wcwidth.c: Likewise.
55600         * tests/test-xstrtol.c: Likewise.
55601         * tests/test-xvasprintf.c: Likewise.
55602         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55603         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55604         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55605         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55606         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55607         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55608         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55609         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55610         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55611         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55612         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55613         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55614         * tests/uniname/test-uninames.c: Likewise.
55615         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55616         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55617         * tests/unistdio/test-u16-printf1.h: Likewise.
55618         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55619         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55620         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55621         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55622         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55623         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55624         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55625         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55626         * tests/unistdio/test-u32-printf1.h: Likewise.
55627         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55628         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55629         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55630         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55631         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55632         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55633         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55634         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55635         * tests/unistdio/test-u8-printf1.h: Likewise.
55636         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55637         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55638         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55639         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55640         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55641         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55642         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55643         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55644         * tests/unistdio/test-ulc-printf1.h: Likewise.
55645         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55646         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55647         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55648         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55649         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55650         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55651         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55652         * tests/uniwidth/test-u16-width.c: Likewise.
55653         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55654         * tests/uniwidth/test-u32-width.c: Likewise.
55655         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55656         * tests/uniwidth/test-u8-width.c: Likewise.
55657         * tests/uniwidth/test-uc_width.c: Likewise.
55658         * config/srclist-update: Likewise.
55659         (fixlicense): Update to GPLv3+.
55660
55661         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55662         * tests/test-tsearch.c: Change copyright notice.
55663
55664         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55665         * lib/c-strcaseeq.h: Change copyright notice.
55666         * lib/streq.h: Likewise.
55667         * lib/uniconv.h: Likewise.
55668         * lib/uniconv/u-conv-from-enc.h: Likewise.
55669         * lib/uniconv/u-conv-to-enc.h: Likewise.
55670         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55671         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55672         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55673         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55674         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55675         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55676         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55677         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55678         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55679         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55680         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55681         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55682         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55683         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55684         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55685         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55686         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55687         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55688         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55689         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55690         * lib/uniname.h: Likewise.
55691         * lib/uniname/uniname.c: Likewise.
55692         * lib/unistdio.h: Likewise.
55693         * lib/unistdio/u-asnprintf.h: Likewise.
55694         * lib/unistdio/u-asprintf.h: Likewise.
55695         * lib/unistdio/u-printf-args.c: Likewise.
55696         * lib/unistdio/u-printf-args.h: Likewise.
55697         * lib/unistdio/u-printf-parse.h: Likewise.
55698         * lib/unistdio/u-snprintf.h: Likewise.
55699         * lib/unistdio/u-sprintf.h: Likewise.
55700         * lib/unistdio/u-vasprintf.h: Likewise.
55701         * lib/unistdio/u-vsnprintf.h: Likewise.
55702         * lib/unistdio/u-vsprintf.h: Likewise.
55703         * lib/unistdio/u16-asnprintf.c: Likewise.
55704         * lib/unistdio/u16-asprintf.c: Likewise.
55705         * lib/unistdio/u16-printf-parse.c: Likewise.
55706         * lib/unistdio/u16-snprintf.c: Likewise.
55707         * lib/unistdio/u16-sprintf.c: Likewise.
55708         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55709         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55710         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55711         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55712         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55713         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55714         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55715         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55716         * lib/unistdio/u16-vasnprintf.c: Likewise.
55717         * lib/unistdio/u16-vasprintf.c: Likewise.
55718         * lib/unistdio/u16-vsnprintf.c: Likewise.
55719         * lib/unistdio/u16-vsprintf.c: Likewise.
55720         * lib/unistdio/u32-asnprintf.c: Likewise.
55721         * lib/unistdio/u32-asprintf.c: Likewise.
55722         * lib/unistdio/u32-printf-parse.c: Likewise.
55723         * lib/unistdio/u32-snprintf.c: Likewise.
55724         * lib/unistdio/u32-sprintf.c: Likewise.
55725         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55726         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55727         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55728         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55729         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55730         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55731         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55732         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55733         * lib/unistdio/u32-vasnprintf.c: Likewise.
55734         * lib/unistdio/u32-vasprintf.c: Likewise.
55735         * lib/unistdio/u32-vsnprintf.c: Likewise.
55736         * lib/unistdio/u32-vsprintf.c: Likewise.
55737         * lib/unistdio/u8-asnprintf.c: Likewise.
55738         * lib/unistdio/u8-asprintf.c: Likewise.
55739         * lib/unistdio/u8-printf-parse.c: Likewise.
55740         * lib/unistdio/u8-snprintf.c: Likewise.
55741         * lib/unistdio/u8-sprintf.c: Likewise.
55742         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55743         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55744         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55745         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55746         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55747         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55748         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55749         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55750         * lib/unistdio/u8-vasnprintf.c: Likewise.
55751         * lib/unistdio/u8-vasprintf.c: Likewise.
55752         * lib/unistdio/u8-vsnprintf.c: Likewise.
55753         * lib/unistdio/u8-vsprintf.c: Likewise.
55754         * lib/unistdio/ulc-asnprintf.c: Likewise.
55755         * lib/unistdio/ulc-asprintf.c: Likewise.
55756         * lib/unistdio/ulc-printf-parse.c: Likewise.
55757         * lib/unistdio/ulc-snprintf.c: Likewise.
55758         * lib/unistdio/ulc-sprintf.c: Likewise.
55759         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55760         * lib/unistdio/ulc-vasprintf.c: Likewise.
55761         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55762         * lib/unistdio/ulc-vsprintf.c: Likewise.
55763         * lib/unistr.h: Likewise.
55764         * lib/unistr/u-cpy-alloc.h: Likewise.
55765         * lib/unistr/u-cpy.h: Likewise.
55766         * lib/unistr/u-endswith.h: Likewise.
55767         * lib/unistr/u-move.h: Likewise.
55768         * lib/unistr/u-set.h: Likewise.
55769         * lib/unistr/u-startswith.h: Likewise.
55770         * lib/unistr/u-stpcpy.h: Likewise.
55771         * lib/unistr/u-stpncpy.h: Likewise.
55772         * lib/unistr/u-strcat.h: Likewise.
55773         * lib/unistr/u-strcpy.h: Likewise.
55774         * lib/unistr/u-strcspn.h: Likewise.
55775         * lib/unistr/u-strdup.h: Likewise.
55776         * lib/unistr/u-strlen.h: Likewise.
55777         * lib/unistr/u-strncat.h: Likewise.
55778         * lib/unistr/u-strncpy.h: Likewise.
55779         * lib/unistr/u-strnlen.h: Likewise.
55780         * lib/unistr/u-strpbrk.h: Likewise.
55781         * lib/unistr/u-strspn.h: Likewise.
55782         * lib/unistr/u-strstr.h: Likewise.
55783         * lib/unistr/u-strtok.h: Likewise.
55784         * lib/unistr/u16-check.c: Likewise.
55785         * lib/unistr/u16-chr.c: Likewise.
55786         * lib/unistr/u16-cmp.c: Likewise.
55787         * lib/unistr/u16-cpy-alloc.c: Likewise.
55788         * lib/unistr/u16-cpy.c: Likewise.
55789         * lib/unistr/u16-endswith.c: Likewise.
55790         * lib/unistr/u16-mblen.c: Likewise.
55791         * lib/unistr/u16-mbsnlen.c: Likewise.
55792         * lib/unistr/u16-mbtouc-aux.c: Likewise.
55793         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
55794         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
55795         * lib/unistr/u16-mbtouc.c: Likewise.
55796         * lib/unistr/u16-mbtoucr.c: Likewise.
55797         * lib/unistr/u16-move.c: Likewise.
55798         * lib/unistr/u16-next.c: Likewise.
55799         * lib/unistr/u16-prev.c: Likewise.
55800         * lib/unistr/u16-set.c: Likewise.
55801         * lib/unistr/u16-startswith.c: Likewise.
55802         * lib/unistr/u16-stpcpy.c: Likewise.
55803         * lib/unistr/u16-stpncpy.c: Likewise.
55804         * lib/unistr/u16-strcat.c: Likewise.
55805         * lib/unistr/u16-strchr.c: Likewise.
55806         * lib/unistr/u16-strcmp.c: Likewise.
55807         * lib/unistr/u16-strcpy.c: Likewise.
55808         * lib/unistr/u16-strcspn.c: Likewise.
55809         * lib/unistr/u16-strdup.c: Likewise.
55810         * lib/unistr/u16-strlen.c: Likewise.
55811         * lib/unistr/u16-strmblen.c: Likewise.
55812         * lib/unistr/u16-strmbtouc.c: Likewise.
55813         * lib/unistr/u16-strncat.c: Likewise.
55814         * lib/unistr/u16-strncmp.c: Likewise.
55815         * lib/unistr/u16-strncpy.c: Likewise.
55816         * lib/unistr/u16-strnlen.c: Likewise.
55817         * lib/unistr/u16-strpbrk.c: Likewise.
55818         * lib/unistr/u16-strrchr.c: Likewise.
55819         * lib/unistr/u16-strspn.c: Likewise.
55820         * lib/unistr/u16-strstr.c: Likewise.
55821         * lib/unistr/u16-strtok.c: Likewise.
55822         * lib/unistr/u16-to-u32.c: Likewise.
55823         * lib/unistr/u16-to-u8.c: Likewise.
55824         * lib/unistr/u16-uctomb-aux.c: Likewise.
55825         * lib/unistr/u16-uctomb.c: Likewise.
55826         * lib/unistr/u32-check.c: Likewise.
55827         * lib/unistr/u32-chr.c: Likewise.
55828         * lib/unistr/u32-cmp.c: Likewise.
55829         * lib/unistr/u32-cpy-alloc.c: Likewise.
55830         * lib/unistr/u32-cpy.c: Likewise.
55831         * lib/unistr/u32-endswith.c: Likewise.
55832         * lib/unistr/u32-mblen.c: Likewise.
55833         * lib/unistr/u32-mbsnlen.c: Likewise.
55834         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
55835         * lib/unistr/u32-mbtouc.c: Likewise.
55836         * lib/unistr/u32-mbtoucr.c: Likewise.
55837         * lib/unistr/u32-move.c: Likewise.
55838         * lib/unistr/u32-next.c: Likewise.
55839         * lib/unistr/u32-prev.c: Likewise.
55840         * lib/unistr/u32-set.c: Likewise.
55841         * lib/unistr/u32-startswith.c: Likewise.
55842         * lib/unistr/u32-stpcpy.c: Likewise.
55843         * lib/unistr/u32-stpncpy.c: Likewise.
55844         * lib/unistr/u32-strcat.c: Likewise.
55845         * lib/unistr/u32-strchr.c: Likewise.
55846         * lib/unistr/u32-strcmp.c: Likewise.
55847         * lib/unistr/u32-strcpy.c: Likewise.
55848         * lib/unistr/u32-strcspn.c: Likewise.
55849         * lib/unistr/u32-strdup.c: Likewise.
55850         * lib/unistr/u32-strlen.c: Likewise.
55851         * lib/unistr/u32-strmblen.c: Likewise.
55852         * lib/unistr/u32-strmbtouc.c: Likewise.
55853         * lib/unistr/u32-strncat.c: Likewise.
55854         * lib/unistr/u32-strncmp.c: Likewise.
55855         * lib/unistr/u32-strncpy.c: Likewise.
55856         * lib/unistr/u32-strnlen.c: Likewise.
55857         * lib/unistr/u32-strpbrk.c: Likewise.
55858         * lib/unistr/u32-strrchr.c: Likewise.
55859         * lib/unistr/u32-strspn.c: Likewise.
55860         * lib/unistr/u32-strstr.c: Likewise.
55861         * lib/unistr/u32-strtok.c: Likewise.
55862         * lib/unistr/u32-to-u16.c: Likewise.
55863         * lib/unistr/u32-to-u8.c: Likewise.
55864         * lib/unistr/u32-uctomb.c: Likewise.
55865         * lib/unistr/u8-check.c: Likewise.
55866         * lib/unistr/u8-chr.c: Likewise.
55867         * lib/unistr/u8-cmp.c: Likewise.
55868         * lib/unistr/u8-cpy-alloc.c: Likewise.
55869         * lib/unistr/u8-cpy.c: Likewise.
55870         * lib/unistr/u8-endswith.c: Likewise.
55871         * lib/unistr/u8-mblen.c: Likewise.
55872         * lib/unistr/u8-mbsnlen.c: Likewise.
55873         * lib/unistr/u8-mbtouc-aux.c: Likewise.
55874         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
55875         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
55876         * lib/unistr/u8-mbtouc.c: Likewise.
55877         * lib/unistr/u8-mbtoucr.c: Likewise.
55878         * lib/unistr/u8-move.c: Likewise.
55879         * lib/unistr/u8-next.c: Likewise.
55880         * lib/unistr/u8-prev.c: Likewise.
55881         * lib/unistr/u8-set.c: Likewise.
55882         * lib/unistr/u8-startswith.c: Likewise.
55883         * lib/unistr/u8-stpcpy.c: Likewise.
55884         * lib/unistr/u8-stpncpy.c: Likewise.
55885         * lib/unistr/u8-strcat.c: Likewise.
55886         * lib/unistr/u8-strchr.c: Likewise.
55887         * lib/unistr/u8-strcmp.c: Likewise.
55888         * lib/unistr/u8-strcpy.c: Likewise.
55889         * lib/unistr/u8-strcspn.c: Likewise.
55890         * lib/unistr/u8-strdup.c: Likewise.
55891         * lib/unistr/u8-strlen.c: Likewise.
55892         * lib/unistr/u8-strmblen.c: Likewise.
55893         * lib/unistr/u8-strmbtouc.c: Likewise.
55894         * lib/unistr/u8-strncat.c: Likewise.
55895         * lib/unistr/u8-strncmp.c: Likewise.
55896         * lib/unistr/u8-strncpy.c: Likewise.
55897         * lib/unistr/u8-strnlen.c: Likewise.
55898         * lib/unistr/u8-strpbrk.c: Likewise.
55899         * lib/unistr/u8-strrchr.c: Likewise.
55900         * lib/unistr/u8-strspn.c: Likewise.
55901         * lib/unistr/u8-strstr.c: Likewise.
55902         * lib/unistr/u8-strtok.c: Likewise.
55903         * lib/unistr/u8-to-u16.c: Likewise.
55904         * lib/unistr/u8-to-u32.c: Likewise.
55905         * lib/unistr/u8-uctomb-aux.c: Likewise.
55906         * lib/unistr/u8-uctomb.c: Likewise.
55907         * lib/unitypes.h: Likewise.
55908         * lib/uniwidth.h: Likewise.
55909         * lib/uniwidth/cjk.h: Likewise.
55910         * lib/uniwidth/u16-strwidth.c: Likewise.
55911         * lib/uniwidth/u16-width.c: Likewise.
55912         * lib/uniwidth/u32-strwidth.c: Likewise.
55913         * lib/uniwidth/u32-width.c: Likewise.
55914         * lib/uniwidth/u8-strwidth.c: Likewise.
55915         * lib/uniwidth/u8-width.c: Likewise.
55916         * lib/uniwidth/width.c: Likewise.
55917
55918 2007-10-07  Bruno Haible  <bruno@clisp.org>
55919
55920         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
55921         The file is still under LGPL (see modules/inttypes).
55922
55923 2007-10-06  Bruno Haible  <bruno@clisp.org>
55924
55925         * modules/trunc (Dependencies): Add 'extensions'.
55926         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
55927         Reported by Ben Pfaff <blp@gnu.org>.
55928
55929 2007-10-06  Bruno Haible  <bruno@clisp.org>
55930
55931         * modules/freopen-tests: New file.
55932         * tests/test-freopen.c: New file.
55933
55934         * modules/fopen-tests: New file.
55935         * tests/test-fopen.c: New file.
55936
55937         * modules/fopen: New file.
55938         * lib/fopen.c: New file.
55939         * m4/fopen.m4: New file.
55940         * modules/freopen: New file.
55941         * lib/freopen.c: New file.
55942         * m4/freopen.m4: New file.
55943         * lib/stdio.in.h (fopen, freopen): New declarations.
55944         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
55945         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55946         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
55947         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55948         * doc/functions/fopen.texi: Mention the 'fopen' module.
55949         * doc/functions/freopen.texi: Mention the 'freopen' module.
55950
55951 2007-10-06  Bruno Haible  <bruno@clisp.org>
55952
55953         * modules/open-tests: New file.
55954         * tests/test-open.c: New file.
55955
55956         * modules/open: New file.
55957         * lib/open.c: New file.
55958         * m4/open.m4: New file.
55959         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
55960         lib/open.c does.
55961         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
55962         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
55963         macros.
55964         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
55965         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
55966         REPLACE_OPEN.
55967         * doc/functions/open.texi: Mention the 'open' module.
55968
55969 2007-10-04  Bruno Haible  <bruno@clisp.org>
55970
55971         * modules/ceill-tests: New file.
55972         * tests/test-ceill.c: New file.
55973
55974         * modules/ceill: New file.
55975         * lib/ceill.c: Replace entire file.
55976         * m4/ceill.m4: New file.
55977         * lib/math.in.h (ceill): Replace declaration.
55978         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
55979         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
55980         * doc/functions/ceill.texi: Mention the 'ceill' module.
55981         * modules/mathl (Files): Remove lib/ceill.c.
55982         (Depends-on): Add ceill.
55983
55984 2007-10-04  Bruno Haible  <bruno@clisp.org>
55985
55986         * modules/ceilf-tests: New file.
55987         * tests/test-ceilf.c: New file.
55988
55989         * modules/ceilf: New file.
55990         * lib/ceil.c: New file.
55991         * lib/ceilf.c: New file.
55992         * m4/ceilf.m4: New file.
55993         * lib/math.in.h (ceilf): New declaration.
55994         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
55995         HAVE_DECL_CEILF.
55996         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
55997         HAVE_DECL_CEILF.
55998         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
55999
56000 2007-10-04  Bruno Haible  <bruno@clisp.org>
56001
56002         * modules/floorl-tests: New file.
56003         * tests/test-floorl.c: New file.
56004
56005         * modules/floorl: New file.
56006         * lib/floorl.c: Replace entire file.
56007         * m4/floorl.m4: New file.
56008         * lib/math.in.h (floorl): Replace declaration.
56009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
56010         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
56011         * doc/functions/floorl.texi: Mention the 'floorl' module.
56012         * modules/mathl (Files): Remove lib/floorl.c.
56013         (Depends-on): Add floorl.
56014
56015 2007-10-04  Bruno Haible  <bruno@clisp.org>
56016
56017         * modules/floorf-tests: New file.
56018         * tests/test-floorf.c: New file.
56019
56020         * modules/floorf: New file.
56021         * lib/floor.c: New file.
56022         * lib/floorf.c: New file.
56023         * m4/floorf.m4: New file.
56024         * lib/math.in.h (floorf): New declaration.
56025         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
56026         HAVE_DECL_FLOORF.
56027         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
56028         HAVE_DECL_FLOORF.
56029         * doc/functions/floorf.texi: Mention the 'floorf' module.
56030
56031 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
56032             Bruno Haible  <bruno@clisp.org>
56033
56034         Advertise for the Git server instead of the CVS server.
56035         * doc/gnulib-intro.texi (Steady Development): Mention the Git
56036         repository instead of the CVS one.
56037         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
56038         about all VCS systems generically.
56039         * doc/gnulib.texi (Introduction): Capitalize `Git'.
56040
56041 2007-10-04  Bruno Haible  <bruno@clisp.org>
56042
56043         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
56044         means.
56045         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
56046
56047 2007-10-04  Bruno Haible  <bruno@clisp.org>
56048
56049         * modules/truncl-tests: New file.
56050         * tests/test-truncl.c: New file.
56051
56052         * modules/truncl: New file.
56053         * lib/truncl.c: New file.
56054         * m4/truncl.m4: New file.
56055         * lib/math.in.h (truncl): New declaration.
56056         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
56057         HAVE_DECL_TRUNCL.
56058         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
56059         HAVE_DECL_TRUNCL.
56060         * doc/functions/truncl.texi: Mention the 'truncl' module.
56061
56062 2007-10-04  Bruno Haible  <bruno@clisp.org>
56063
56064         * modules/truncf-tests: New file.
56065         * tests/test-truncf.c: New file.
56066
56067         * modules/truncf: New file.
56068         * lib/trunc.c: Make paramerizable through USE_* macros.
56069         * lib/truncf.c: New file.
56070         * m4/truncf.m4: New file.
56071         * lib/math.in.h (truncf): New declaration.
56072         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
56073         HAVE_DECL_TRUNCF.
56074         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
56075         HAVE_DECL_TRUNCF.
56076         * doc/functions/truncf.texi: Mention the 'truncf' module.
56077
56078 2007-10-03  Bruno Haible  <bruno@clisp.org>
56079
56080         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56081         augmentation also for tests modules.
56082         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
56083         * modules/atexit-tests (Makefile.am): Likewise.
56084         * modules/binary-io-tests (Makefile.am): Likewise.
56085         * modules/c-strcase-tests (Makefile.am): Likewise.
56086         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
56087         * modules/canonicalize-tests (Makefile.am): Likewise.
56088         * modules/closein-tests (Makefile.am): Likewise.
56089         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56090         * modules/freadahead-tests (Makefile.am): Likewise.
56091         * modules/fseek-tests (Makefile.am): Likewise.
56092         * modules/fseeko-tests (Makefile.am): Likewise.
56093         * modules/ftell-tests (Makefile.am): Likewise.
56094         * modules/ftello-tests (Makefile.am): Likewise.
56095         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
56096         * modules/isnanl-tests (Makefile.am): Likewise.
56097         * modules/lseek-tests (Makefile.am): Likewise.
56098         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56099         * modules/mbscasestr-tests (Makefile.am): Likewise.
56100         * modules/mbschr-tests (Makefile.am): Likewise.
56101         * modules/mbscspn-tests (Makefile.am): Likewise.
56102         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56103         * modules/mbspbrk-tests (Makefile.am): Likewise.
56104         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56105         * modules/mbsrchr-tests (Makefile.am): Likewise.
56106         * modules/mbsspn-tests (Makefile.am): Likewise.
56107         * modules/mbsstr-tests (Makefile.am): Likewise.
56108         * modules/printf-posix-tests (Makefile.am): Likewise.
56109         * modules/snprintf-posix-tests (Makefile.am): Likewise.
56110         * modules/sprintf-posix-tests (Makefile.am): Likewise.
56111         * modules/tsearch-tests (Makefile.am): Likewise.
56112         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56113         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56114         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56115         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56116         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56117         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56118         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56119         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56120         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
56121         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
56122         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56123         * modules/xstrtol-tests (Makefile.am): Likewise.
56124         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56125         * modules/yesno-tests (Makefile.am): Likewise.
56126
56127 2007-10-03  Bruno Haible  <bruno@clisp.org>
56128
56129         * modules/trunc-tests: New file.
56130         * tests/test-trunc.c: New file.
56131
56132         * modules/trunc: New file.
56133         * lib/trunc.c: New file.
56134         * m4/trunc.m4: New file.
56135         * lib/math.in.h (trunc): New declaration.
56136         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
56137         HAVE_DECL_TRUNC.
56138         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
56139         HAVE_DECL_TRUNC.
56140         * doc/functions/trunc.texi: Mention the 'trunc' module.
56141
56142 2007-10-03  Bruno Haible  <bruno@clisp.org>
56143
56144         * tests/test-fpending.c: New file, mostly copied
56145         from coreutils/lib/t-fpending.c.
56146         * modules/fpending-tests: New file.
56147
56148 2007-10-03  Bruno Haible  <bruno@clisp.org>
56149
56150         Port the stdio extensions to QNX (untested).
56151         * lib/fseterr.c (fseterr): Add support for QNX.
56152         * lib/fbufmode.c (fbufmode): Likewise.
56153         * lib/freadable.c (freadable): Likewise.
56154         * lib/fwritable.c (fwritable): Likewise.
56155         * lib/freading.c (freading): Likewise.
56156         * lib/fwriting.c (fwriting): Likewise.
56157         * lib/freadahead.c (freadahed): Likewise.
56158         * lib/fpurge.c (fpurge): Likewise.
56159         * lib/fseeko.c (rpl_fseeko): Likewise.
56160
56161 2007-10-03  Bruno Haible  <bruno@clisp.org>
56162             Jim Meyering  <jim@meyering.net>
56163             Eric Blake  <ebb9@byu.net>
56164
56165         * doc/relocatable.texi: Use @command instead of @program.
56166
56167 2007-10-02  Jim Meyering  <jim@meyering.net>
56168
56169         Perform one more "_.h" -> ".in.h" substitution.
56170         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
56171         instead of unistd_.h here, too.
56172
56173 2007-10-01  Bruno Haible  <bruno@clisp.org>
56174
56175         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
56176         Needed for the alloca-opt module.
56177
56178 2007-09-30  Bruno Haible  <bruno@clisp.org>
56179
56180         * lib/alloca.in.h: Renamed from lib/alloca_.h.
56181         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
56182         alloca_.h.
56183         * lib/argz.in.h: Renamed from lib/argz_.h.
56184         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
56185         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
56186         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
56187         byteswap_.h.
56188         * lib/dirent.in.h: Renamed from lib/dirent_.h.
56189         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
56190         dirent_.h.
56191         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
56192         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
56193         fcntl_.h.
56194         * lib/float.in.h: Renamed from lib/float_.h.
56195         * modules/float (Files, Makefile.am): Use float.in.h instead of
56196         float_.h.
56197         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
56198         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
56199         fnmatch_.h.
56200         * lib/getopt.in.h: Renamed from lib/getopt_.h.
56201         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
56202         getopt_.h.
56203         * lib/glob.in.h: Renamed from lib/glob_.h.
56204         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
56205         * lib/iconv.in.h: Renamed from lib/iconv_.h.
56206         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
56207         iconv_.h.
56208         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
56209         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
56210         inttypes_.h.
56211         * lib/locale.in.h: Renamed from lib/locale_.h.
56212         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
56213         locale_.h.
56214         * lib/math.in.h: Renamed from lib/math_.h.
56215         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
56216         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
56217         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
56218         of netinet_in_.h. Add dependency.
56219         * lib/poll.in.h: Renamed from lib/poll_.h.
56220         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
56221         * lib/search.in.h: Renamed from lib/search_.h.
56222         * modules/search (Files, Makefile.am): Use search.in.h instead of
56223         search_.h.
56224         * lib/signal.in.h: Renamed from lib/signal_.h.
56225         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
56226         _signal.h.
56227         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
56228         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
56229         stdbool_.h.
56230         * lib/stdint.in.h: Renamed from lib/stdint_.h.
56231         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
56232         stdint_.h.
56233         * lib/stdio.in.h: Renamed from lib/stdio_.h.
56234         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
56235         stdio_.h.
56236         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
56237         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
56238         stdlib_.h.
56239         * lib/string.in.h: Renamed from lib/string_.h.
56240         * modules/string (Files, Makefile.am): Use string.in.h instead of
56241         string_.h.
56242         * doc/gnulib-tool.texi (Initial import): Update.
56243         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
56244         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
56245         of sys_select_.h. Add dependency.
56246         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
56247         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
56248         of sys_socket_.h.
56249         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
56250         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
56251         sys_stat_.h.
56252         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
56253         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
56254         sys_time_.h.
56255         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
56256         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
56257         sysexits_.h.
56258         * lib/time.in.h: Renamed from lib/time_.h.
56259         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
56260         * lib/unistd.in.h: Renamed from lib/unistd_.h.
56261         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
56262         unistd_.h.
56263         * lib/wchar.in.h: Renamed from lib/wchar_.h.
56264         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
56265         wchar_.h.
56266         * lib/wctype.in.h: Renamed from lib/wctype_.h.
56267         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
56268         wctype_.h.
56269         * build-aux/bootstrap (slurp): Update.
56270         * lib/.cppi-disable: Update.
56271
56272 2007-09-30  Bruno Haible  <bruno@clisp.org>
56273
56274         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
56275         Needed on BeOS.
56276
56277 2007-09-30  Bruno Haible  <bruno@clisp.org>
56278
56279         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
56280
56281 2007-09-29  Bruno Haible  <bruno@clisp.org>
56282
56283         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
56284
56285 2007-09-29  Bruno Haible  <bruno@clisp.org>
56286
56287         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
56288         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
56289         * build-aux/install-reloc: Compile also areadlink.c.
56290         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
56291
56292 2007-09-29  Bruno Haible  <bruno@clisp.org>
56293
56294         * gnulib-tool (func_emit_initmacro_done): Indentation.
56295
56296 2007-09-29  Bruno Haible  <bruno@clisp.org>
56297
56298         * README: Add CVS checkout update instructions.
56299         Info from Bob Proulx <bob@proulx.com>.
56300
56301 2007-09-28  Eric Blake  <ebb9@byu.net>
56302
56303         Provide move-if-change.
56304         * build-aux/move-if-change: New file, based on best practice
56305         rather than any canonical upstream location.
56306
56307 2007-09-28  Jim Meyering  <jim@meyering.net>
56308
56309         Fix canonicalize loop-detection corner case.
56310         Do not attempt to stat the symlink values stored via seen_triple.
56311         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
56312         on linux-2.6.18, (but not 2.6.22).
56313         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
56314         triple_compare.  The former compares dev,ino,filename, while the latter
56315         would actually stat dirname(filename) when dev and ino were equal.
56316         * lib/hash-triple.c: Install <string.h>.
56317         (STREQ): Define.
56318         (triple_compare_ino_str): New function.
56319         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
56320
56321 2007-09-28  Eric Blake  <ebb9@byu.net>
56322
56323         Enforce that AC_REPLACE_FUNCS files exist.
56324         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
56325         override check for typos.
56326
56327         Fix test-closein on Solaris 10.
56328         * tests/test-closein.c (main): Don't assume stdin can be inherited
56329         closed on all systems.
56330         * tests/test-closein.sh: Likewise.
56331         Reported by Piotr Tarnowski.
56332
56333 2007-09-28  Jim Meyering  <jim@meyering.net>
56334
56335         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
56336
56337 2007-09-27  Jim Meyering  <jim@meyering.net>
56338
56339         canonicalize: Avoid a false-positive cycle failure.
56340         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
56341         Sort.  Remove cycle-check.
56342         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
56343         not cycle-check.h.
56344         (seen_triple): New function.
56345         (canonicalize_filename_mode): Use it instead of cycle-check.
56346         * tests/test-canonicalize.c: Add a test for this bug.
56347         * tests/test-canonicalize.sh: Set up and run the test.
56348
56349         New module, file-set, from coreutils.
56350         * modules/file-set: Define it.
56351         * lib/file-set.c, lib/file-set.h: Implement.
56352
56353         New module, hash-triple, from coreutils.
56354         * modules/hash-triple: Define it.
56355         * lib/hash-triple.c, lib/hash-triple.h: Implement.
56356
56357 2007-09-25  Eric Blake  <ebb9@byu.net>
56358
56359         Fix strerror on Interix.
56360         * lib/string_.h (strerror): Declare replacement.
56361         * doc/functions/strerror.texi (strerror): Document the Interix
56362         shortcoming.
56363         * modules/string (Makefile.am): Support new hooks.
56364         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
56365         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
56366         gl_FUNC_STRERROR_SEPARATE.
56367         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
56368         * lib/strerror.c (rpl_strerror): Provide replacement.
56369         * modules/strerror (Depends-on): Add string.
56370         (configure.ac): Detect use of module.
56371         * tests/test-strerror.c: New file.
56372         * modules/strerror-tests: New test module.
56373         * modules/argp (Depends-on): Add strerror.
56374         * modules/error (Depends-on): Likewise.
56375         Reported by Martin Koeppe.
56376
56377 2007-09-24  Bruno Haible  <bruno@clisp.org>
56378
56379         * README: Update git instructions.
56380
56381 2007-09-24  Eric Blake  <ebb9@byu.net>
56382
56383         Revert fpending breakage from 2007-09-08.
56384         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56385         __fpending.c.
56386
56387 2007-09-24  Jim Meyering  <jim@meyering.net>
56388
56389         filenamecat.c: Add a test.
56390         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56391         showing how the function works when DIR is the empty string.
56392
56393 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56394
56395         * tests/test-canonicalize.sh: Turn on executable bit.
56396
56397 2007-09-19  Eric Blake  <ebb9@byu.net>
56398
56399         * README: Update CVS instructions.
56400
56401 2007-09-18  Bruno Haible  <bruno@clisp.org>
56402
56403         * modules/areadlink: New file.
56404         * lib/areadlink.h (areadlink): New declaration.
56405         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56406
56407 2007-09-17  Jim Meyering  <jim@meyering.net>
56408
56409         * lib/savewd.c (ESTALE) [!defined]: Define.
56410         Reported to be required on Interix by Martin Koeppe.
56411
56412 2007-09-17  Bruno Haible  <bruno@clisp.org>
56413
56414         * gnulib-tool (func_version): Use $version.
56415
56416 2007-09-16  Bruno Haible  <bruno@clisp.org>
56417
56418         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56419         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56420         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56421         Reported by Greg Schafer <gschafer@zip.com.au>.
56422
56423 2007-09-15  Bruno Haible  <bruno@clisp.org>
56424
56425         * gnulib-tool (sed): Try a little harder to make bash understand the
56426         alias.
56427         Reported by Bruce Korb <bruce.korb@gmail.com>.
56428
56429 2007-09-13  Eric Blake  <ebb9@byu.net>
56430
56431         * ChangeLog: Remove conflict markers.
56432
56433 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56434
56435         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56436         Reported by Bruno Haible <bruno@clisp.org>.
56437
56438 2007-09-12  Bruno Haible  <bruno@clisp.org>
56439
56440         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56441         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56442         is not defined.
56443
56444 2007-09-12  Eric Blake  <ebb9@byu.net>
56445
56446         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56447         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56448         Autoconf definition.
56449         * modules/euidaccess (Depends-on): Add extensions, for
56450         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56451         * modules/fnmatch (Depends-on): Likewise.
56452         * modules/getaddrinfo (Depends-on): Likewise.
56453         * modules/getdelim (Depends-on): Likewise.
56454         * modules/getline (Depends-on): Likewise.
56455         * modules/getsubopt (Depends-on): Likewise.
56456         * modules/gettext (Depends-on): Likewise.
56457         * modules/group-member (Depends-on): Likewise.
56458         * modules/mbchar (Depends-on): Likewise.
56459         * modules/memmem (Depends-on): Likewise.
56460         * modules/mempcpy (Depends-on): Likewise.
56461         * modules/memrchr (Depends-on): Likewise.
56462         * modules/pagealign_alloc (Depends-on): Likewise.
56463         * modules/readutmp (Depends-on): Likewise.
56464         * modules/stpcpy (Depends-on): Likewise.
56465         * modules/stpncpy (Depends-on): Likewise.
56466         * modules/strchrnul (Depends-on): Likewise.
56467         * modules/strndup (Depends-on): Likewise.
56468         * modules/strsep (Depends-on): Likewise.
56469         * modules/strverscmp (Depends-on): Likewise.
56470         * modules/vasprintf (Depends-on): Likewise.
56471         * modules/wcwidth (Depends-on): Likewise.
56472         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56473         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56474         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56475         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56476         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56477         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56478         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56479         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56480         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56481         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56482         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56483         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56484         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56485         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56486         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56487         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56488         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56489         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56490         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56491         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56492         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56493         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56494         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56495         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56496         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56497         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56498         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56499         so that lock.m4 can be used in gettext without extensions module.
56500
56501 2007-09-11  Bruno Haible  <bruno@clisp.org>
56502
56503         * m4/isc-posix.m4: Remove file.
56504         Suggested by Eric Blake.
56505
56506 2007-09-11  Eric Blake  <ebb9@byu.net>
56507
56508         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56509
56510 2007-09-10  Bruno Haible  <bruno@clisp.org>
56511
56512         * posix-modules: Fix typo in error message.
56513         Reported by Matt <mkraai@beckman.com>.
56514
56515 2007-09-09  Bruno Haible  <bruno@clisp.org>
56516
56517         * doc/functions/getdelim.texi: Update list of platforms lacking the
56518         function.
56519         * doc/functions/getline.texi: Likewise.
56520
56521 2007-09-09  Jim Meyering  <jim@meyering.net>
56522
56523         * lib/hash.c (hash_initialize): Detect calloc failure.
56524         Reported by Bruno Haible.
56525
56526 2007-09-09  Bruno Haible  <bruno@clisp.org>
56527
56528         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56529         malloc or realloc fails.
56530
56531 2007-09-09  Bruno Haible  <bruno@clisp.org>
56532
56533         * modules/getcwd (Depends-on): Add malloc-posix.
56534         * modules/glob (Depends-on): Likewise.
56535         * modules/putenv (Depends-on): Likewise.
56536         * modules/strdup (Depends-on): Likewise.
56537         * modules/getdelim (Depends-on): Add realloc-posix.
56538         * modules/read-file (Depends-on): Likewise.
56539
56540 2007-09-09  Bruno Haible  <bruno@clisp.org>
56541
56542         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56543         (gl_FUNC_MALLOC_POSIX): Require it.
56544         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56545         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56546         * modules/realloc (Files): Add m4/malloc.m4.
56547         * modules/calloc (Files): Likewise.
56548
56549 2007-09-09  Bruno Haible  <bruno@clisp.org>
56550
56551         * modules/malloc-posix: New file.
56552         * modules/malloc (Depends-on): Add malloc-posix.
56553         * lib/malloc.c: Include errno.h.
56554         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56555         and a POSIX-compatible malloc into a single function. Set ENOMEM
56556         when returning NULL.
56557         * m4/malloc.m4: New file.
56558         * doc/functions/malloc.texi: Mention the malloc-posix module.
56559         * lib/stdlib_.h (malloc): New declaration.
56560         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56561         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56562         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56563         and HAVE_MALLOC_POSIX.
56564
56565 2007-09-09  Bruno Haible  <bruno@clisp.org>
56566
56567         * modules/realloc-posix: New file.
56568         * modules/realloc (Depends-on): Add realloc-posix.
56569         * lib/realloc.c: Include errno.h.
56570         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56571         and a POSIX-compatible realloc into a single function. Set ENOMEM
56572         when returning NULL.
56573         * m4/realloc.m4: New file.
56574         * doc/functions/realloc.texi: Mention the realloc-posix module.
56575         * lib/stdlib_.h (realloc): New declaration.
56576         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56577         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56578         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56579         and HAVE_REALLOC_POSIX.
56580
56581 2007-09-09  Bruno Haible  <bruno@clisp.org>
56582
56583         * modules/calloc-posix: New file.
56584         * modules/calloc (Depends-on): Add calloc-posix.
56585         * lib/calloc.c: Include errno.h.
56586         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56587         and a POSIX-compatible calloc into a single function. Set ENOMEM
56588         when returning NULL.
56589         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56590         * doc/functions/calloc.texi: Mention the calloc-posix module.
56591         * lib/stdlib_.h (calloc): New declaration.
56592         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56593         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56594         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56595         and HAVE_CALLOC_POSIX.
56596
56597 2007-09-09  Bruno Haible  <bruno@clisp.org>
56598
56599         Allow for modules to show an arbitrary notice.
56600         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56601         * gnulib-tool: New option --extract-notice.
56602         (func_usage): Document it.
56603         (sed_extract_prog): Update.
56604         (func_get_notice): New function.
56605         (func_modules_notice): New function.
56606         (func_import, func_create_testdir): Invoke it.
56607         Suggested by Jim Meyering.
56608
56609 2007-09-09  Bruno Haible  <bruno@clisp.org>
56610
56611         * gnulib-tool: New options --verbose, --quiet.
56612         (func_usage): Document them.
56613         (verbose): New variable.
56614         (func_execute_command): New function.
56615         (func_import): Don't show the module list and the file list if
56616         $verbose < 0.
56617         (func_create_testdir): Likewise. Use func_execute_command.
56618         (func_create_megatestdir): Use func_execute_command.
56619
56620 2007-09-08  Bruno Haible  <bruno@clisp.org>
56621
56622         * gnulib-tool (func_import): Prefer rsync over wget when available,
56623         for fetching the PO files.
56624
56625 2007-09-08  Bruno Haible  <bruno@clisp.org>
56626
56627         * posix-modules: New file. Portions copied from gnulib-tool.
56628         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56629
56630 2007-09-08  Jim Meyering  <jim@meyering.net>
56631
56632         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56633         * lib/fpending.h: Rename from __fpending.h.
56634         * lib/fpending.c: Rename from __fpending.c.
56635         Include "fpending.h", not "__fpending.h".
56636         * lib/__fpending.h, lib/__fpending.c: Remove files.
56637         * modules/fpending (Files): Reflect new file names.
56638         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56639
56640 2007-09-08  Bruno Haible  <bruno@clisp.org>
56641
56642         * m4/inttypes-h.m4: Remove stub file.
56643
56644 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56645
56646         * doc/headers/stdint.texi: Discuss #include_next issue.
56647
56648 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56649
56650         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56651
56652 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56653
56654         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56655         in variable name.
56656
56657 2007-09-03  Jim Meyering  <jim@meyering.net>
56658
56659         New module: git-version-gen.
56660         * modules/git-version-gen: New file.
56661
56662         Import changes from coreutils for bootstrap script.
56663
56664         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56665
56666         bootstrap: uses rsync to download the .po files
56667         * build-aux/bootstrap (po_download_command_format): New global.
56668         (download_po_files): Use rsync.
56669         (update_po_files): Don't remove .po files after download,
56670         so future rsync runs can take advantage of the copies.
56671
56672         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56673
56674         Solve the unnecessary-.po-file-regeneration problem once and for all.
56675         * build-aux/bootstrap (download_po_files): New function, renamed from
56676         get_translations.  Now, downloads, but doesn't update LINGUAS.
56677         (update_po_files): New function.
56678
56679         bootstrap: Ignore more.
56680         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56681         uniwidth to e.g., lib/.gitignore.
56682         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56683
56684         * build-aux/bootstrap: New setting: vc_ignore.
56685         (insert_sorted_if_absent): Create $file if absent.
56686         Adapt to new, possibly empty, list: $vc_ignore.
56687
56688         bootstrap: generate more ignorable names
56689         * build-aux/bootstrap (slurp): When generating ignorable names,
56690         also map .sin to .sed, .gperf to .c, and .y to .c.
56691
56692 2007-09-03  Jim Meyering  <jim@meyering.net>
56693
56694         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56695         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56696
56697 2007-09-02  Bruno Haible  <bruno@clisp.org>
56698
56699         Fix mis-recognition of 'mcs' on QNX 6.
56700         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56701         output contains the string "Mono".
56702         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56703         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56704
56705 2007-09-01  Bruno Haible  <bruno@clisp.org>
56706
56707         Fix collision between uniwidth/* and linebreak modules.
56708         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56709         u32_width): Remove declarations.
56710         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56711         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56712         streq3, streq2, streq1, streq0): Remove functions.
56713         (STREQ): Remove macro.
56714         (is_cjk_encoding): Remove function.
56715         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56716         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56717         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56718         * NEWS: Document the change.
56719
56720 2007-09-01  Bruno Haible  <bruno@clisp.org>
56721
56722         * lib/streq.h: Add double-inclusion guard.
56723
56724 2007-09-01  Karl Berry  <karl@gnu.org>
56725
56726         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56727
56728 2007-08-28  Jim Meyering  <jim@meyering.net>
56729
56730         Rename mreadlink_with_size to areadlink_with_size.
56731         * NEWS: Document the change.
56732         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56733         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56734         * lib/mreadlink.h: Rename this to...
56735         * lib/areadlink.h: ...this.
56736         * modules/mreadlink-with-size: Rename this to...
56737         * modules/areadlink-with-size: ...this.
56738         * lib/canonicalize.c: Reflect the renaming.
56739         * modules/canonicalize: Likewise.
56740
56741 2007-08-26  Bruno Haible  <bruno@clisp.org>
56742
56743         * gnulib-tool (func_import): When deciding which files to remove,
56744         consider also dangling symbolic links.
56745         Reported by Eric Blake.
56746
56747 2007-08-26  Bruno Haible  <bruno@clisp.org>
56748
56749         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56750
56751 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56752
56753         * lib/readline.c: Don't include getline.h, the prototype is now
56754         found in stdio.h.
56755
56756 2007-08-23  Jim Meyering  <jim@meyering.net>
56757
56758         Getdelim touchup.
56759         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56760         around the funlockfile call, since funlockfile never sets errno.
56761         Don't set errno upon failed realloc.
56762
56763 2007-08-22  Eric Blake  <ebb9@byu.net>
56764
56765         Getline touchups.
56766         * lib/getdelim.c (getdelim): Revert regression that required *n to
56767         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56768         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56769         getdelim, rather than whether implementation is missing.
56770         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56771         * lib/stdio_.h (getline): Also declare if replacement is
56772         required.
56773         * doc/functions/getdelim.texi: New file.
56774         * doc/functions/getline.texi: Likewise.
56775         * doc/gnulib.texi (Function Substitutes): Add new files.
56776         Reported by Bruno Haible.
56777
56778 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56779
56780         * users.txt: Add Guile.
56781
56782 2007-08-22  Eric Blake  <ebb9@byu.net>
56783
56784         * tests/test-getdelim.c (main): Use remove, not unlink.
56785         * tests/test-getline.c (main): Likewise.
56786
56787         Move getline and getdelim into stdio.h, per POSIX 200x.
56788         * modules/getline (Files): Remove getline.h.
56789         (Depends-on): Add stdio.
56790         (configure.ac): Add module indicator.
56791         * modules/getdelim (Files): Remove getdelim.h.
56792         (Depends-on): Add stdio.
56793         (configure.ac): Add module indicator.
56794         * modules/stdio (Makefile.am): Work with new indicators.
56795         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
56796         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
56797         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56798         * lib/getdelim.h: Delete.
56799         * lib/getline.h: Delete.
56800         * lib/stdio_.h (getdelim, getline): Declare.
56801         * modules/getdelim-tests: New module.
56802         * modules/getline-tests: Likewise.
56803         * tests/test-getdelim.c: New file.
56804         * tests/test-getline.c: Likewise.
56805         * NEWS: Document the change.
56806         * lib/getline.c: Update choice of header.
56807         * lib/csharpcomp.c: Likewise.
56808         * lib/getpass.c: Likewise.
56809         * lib/javacomp.c: Likewise.
56810         * lib/javaversion.c: Likewise.
56811         * lib/yesno.c: Likewise.
56812         * lib/getdelim.c: Likewise.
56813         (getdelim): Set errno on failure, and avoid memory leak.
56814
56815 2007-08-19  Bruno Haible  <bruno@clisp.org>
56816
56817         * modules/closein (Depends-on): Add freadahead.
56818         * lib/closein.c: Include freadahead.h.
56819         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
56820         is zero.
56821
56822 2007-08-19  Bruno Haible  <bruno@clisp.org>
56823
56824         * modules/freadahead-tests: New file.
56825         * tests/test-freadahead.sh: New file.
56826         * tests/test-freadahead.c: New file.
56827
56828         * modules/freadahead: New file.
56829         * lib/freadahead.h: New file.
56830         * lib/freadahead.c: New file.
56831         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
56832         fbufmode, fpurge, freadable, fwritable.
56833
56834 2007-08-19  Eric Blake  <ebb9@byu.net>
56835
56836         Test yesno in combination with closein.
56837         * lib/yesno.c (yesno): Document use of stdin.
56838         * modules/yesno-tests (Files): New module.
56839         * tests/test-yesno.c (main): New file.
56840         * tests/test-yesno.sh: Likewise.
56841
56842 2007-08-19  Bruno Haible  <bruno@clisp.org>
56843
56844         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
56845         * lib/fseeko.c (rpl_fseeko): Likewise.
56846         * lib/fseterr.c (fseterr): Likewise.
56847
56848 2007-08-19  Bruno Haible  <bruno@clisp.org>
56849
56850         * tests/test-lseek.c (main): Disable a test for BeOS.
56851         * doc/functions/lseek.texi: Document the BeOS bug.
56852
56853 2007-08-19  Bruno Haible  <bruno@clisp.org>
56854             Eric Blake  <ebb9@byu.net>
56855
56856         * lib/lseek.c: Include <sys/stat.h>.
56857         (rpl_lseek): Add workaround code also for Unix platforms.
56858         Needed for BeOS.
56859         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
56860         * doc/functions/lseek.texi: Document BeOS definiency.
56861
56862 2007-08-18  Bruno Haible  <bruno@clisp.org>
56863
56864         * modules/fstrcmp-tests: New file.
56865         * tests/test-fstrcmp.c: New file.
56866
56867 2007-08-18  Bruno Haible  <bruno@clisp.org>
56868
56869         * modules/fstrcmp: New file, from GNU gettext with modifications.
56870         * lib/fstrcmp.h: New file, from GNU gettext.
56871         * lib/fstrcmp.c: New file, from GNU gettext.
56872         * MODULES.html.sh (String handling): Add fstrcmp.
56873
56874 2007-08-18  Bruno Haible  <bruno@clisp.org>
56875
56876         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
56877         'bool'.
56878         (diag, compareseq): Remove const from the ctxt argument.
56879         (USE_HEURISTIC): Undefine at the end.
56880
56881 2007-08-18  Jim Meyering  <jim@meyering.net>
56882
56883         New file: lib/idcache.h
56884         * NEWS: Mention the addition.
56885         * modules/idcache (Files): Add lib/idcache.h
56886         * lib/idcache.c: Include "idcache.h".
56887         Don't include <sys/types.h>.
56888         Add a FIXME comment.
56889         Move file-scoped "static" declarations to the top.
56890         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
56891
56892 2007-08-17  Bruno Haible  <bruno@clisp.org>
56893         and Paul Eggert  <eggert@cs.ucla.edu>
56894
56895         * MODULES.html.sh: Add diffseq.
56896         * modules/diffseq: New file.
56897         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
56898         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
56899
56900 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56901
56902         Import changes from coreutils for bootstrap script.
56903
56904         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
56905
56906         * build-aux/bootstrap (slurp): Work even in environments where
56907         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
56908         current code does not slurp files whose names start with ".", and
56909         this looks like it might be a troublesome area.
56910
56911         2007-07-11  Jim Meyering  <jim@meyering.net>
56912
56913         If there's a GPL vN copyright comment, require that N == 3.
56914
56915         2007-07-08  Jim Meyering  <jim@meyering.net>
56916
56917         Run the coreutils-specific code only if tests/Makefile.am.in exists.
56918         * build-aux/bootstrap (mam_template): Move definition out of loop.
56919
56920         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
56921
56922         * build-aux/bootstrap (symlink_to_dir): Rename function from
56923         symlink_to_gnulib.  Add a directory parameter.  Update all
56924         callers.
56925         (cp_mark_as_generated): Also check for -- and link to -- files in
56926         gl/.
56927
56928         2007-07-08  Jim Meyering  <jim@meyering.net>
56929
56930         Adapt to deeper hierarchy in gnulib.
56931         * build-aux/bootstrap (symlink_to_dir): If the destination
56932         directory doesn't exist, create it. This is required at least for
56933         "lib/uniwidth/cjk.h".
56934
56935         2007-05-15  Jim Meyering  <jim@meyering.net>
56936
56937         * build-aux/bootstrap: Now that generated Makefile.am files
56938         are no longer under version control, they must be created at
56939         bootstrap time.
56940
56941 2007-08-14  Ben Pfaff  <blp@gnu.org>
56942
56943         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
56944
56945 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56946
56947         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
56948         given the changes below.
56949         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
56950         even on hosts that have padding bits beyond the supported 64.
56951
56952 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56953
56954         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
56955         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
56956         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
56957         depends on it.
56958         (xstrtol_error): Remove.
56959         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
56960         but with a different signature.
56961         (ATTRIBUTE_NORETURN, __attribute__): New macros.
56962         * lib/xstrtol-error.c: Include exitfail.h.
56963         (xstrtol_fatal): New function, with a different signature from the
56964         old xstrtol_error, so that the caller need not worry about passing
56965         in an exit status, or about storage management of the option argument.
56966         (xstrtol_error): Now a static function.  Redo signature to
56967         implement xstrtol_fatal.  Output the correct number of hyphens in
56968         front of the option so that the caller need not worry about
56969         storage management.
56970         (N_): New macro.
56971         (_): Remove; not used now.
56972         * modules/xstrtol: Depend on getopt.
56973         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
56974         of old STRTOL_FATAL_ERROR macro.
56975         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
56976         of test program.
56977         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
56978         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
56979
56980 2007-08-08  Eric Blake  <ebb9@byu.net>
56981
56982         * lib/xstrtol-error.c: Add missing include.
56983
56984         Move xstrtol messages into gnulib domain, when --pobase is used.
56985         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
56986         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
56987         * modules/xstrtol (Files): Distribute new file.
56988         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
56989         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
56990         * tests/test-xstrtol.c: ...into new file.
56991         * tests/test-xstrtoul.c: Also test xstrtoul.
56992         * tests/test-xstrtoimax.c: Also test xstrtoimax.
56993         * tests/test-xstrtoumax.c: Also test xstrtoumax.
56994         * tests/test-xstrtol.sh: Drive the tests.
56995         * tests/test-xstrtoimax.sh: Likewise.
56996         * tests/test-xstrtoumax.sh: Likewise.
56997         * modules/xstrtol-tests: New module.
56998         * modules/xstrtoimax-tests: Likewise.
56999         * modules/xstrtoumax-tests: Likewise.
57000
57001 2007-08-08  Jim Meyering  <jim@meyering.net>
57002
57003         New function: mfile_name_concat.
57004         * lib/filenamecat.c (mfile_name_concat): New function, just like
57005         file_name_concat, but return NULL upon failure rather than exiting
57006         with a diagnostic.
57007         * lib/filenamecat.h: Declare it.
57008
57009 2007-08-07  Bruno Haible  <bruno@clisp.org>
57010
57011         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
57012         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
57013         warning from gcc.
57014         Reported by Eric Blake.
57015
57016 2007-08-07  Simon Josefsson  <simon@josefsson.org>
57017
57018         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
57019         * modules/crypto/arcfour (License): Likewise.
57020         * modules/crypto/des-tests (License): Likewise.
57021         * modules/crypto/gc-arctwo-tests (License): Likewise.
57022         * modules/crypto/gc-des-tests (License): Likewise.
57023         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
57024         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
57025         * modules/crypto/gc-md2-tests (License): Likewise.
57026         * modules/crypto/gc-md4-tests (License): Likewise.
57027         * modules/crypto/gc-md5-tests (License): Likewise.
57028         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
57029         * modules/crypto/gc-rijndael-tests (License): Likewise.
57030         * modules/crypto/gc-sha1-tests (License): Likewise.
57031         * modules/crypto/gc-tests (License): Likewise.
57032         * modules/crypto/hmac-md5 (License): Likewise.
57033         * modules/crypto/hmac-sha1 (License): Likewise.
57034         * modules/crypto/md2-tests (License): Likewise.
57035         * modules/crypto/md4-tests (License): Likewise.
57036         * modules/crypto/md5 (License): Likewise.
57037         * modules/crypto/rijndael (License): Likewise.
57038         * modules/crypto/sha1 (License): Likewise.
57039         * modules/memxor (License): Likewise.
57040
57041 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57042         and Bruno Haible  <bruno@clisp.org>
57043
57044         * NEWS: Describe interface changes to human, xstrtol.
57045         * lib/human.h: Include <xstrtol.h>.
57046         (human_options): Return enum strtol_error, not int.  Remove
57047         bool arg; take int * instead.
57048         * lib/human.c: Don't include "gettext.h".
57049         (_): Remove; no longer used.
57050         Don't include <xstrtol.h>, since human.h does it.
57051         (human_options): Adjust to abovementioned interface changes.
57052         Do not report error to stderr; that's now the caller's
57053         responsibility.
57054         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
57055         interface change.
57056         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
57057         Str, Argument_type_string.  All uses changed.  Put " argument"
57058         in diagnostics to make them clearer.  Change wording of suffix
57059         message for clarity.
57060         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
57061         Argument_type_string.
57062         (STRTOL_FATAL_WARN): Remove; no longer used.
57063         * modules/human (Depends-on): Remove gettext-h.
57064
57065 2007-08-06  Simon Josefsson  <simon@josefsson.org>
57066
57067         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
57068
57069 2007-07-31  Bruno Haible  <bruno@clisp.org>
57070
57071         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
57072         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
57073         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
57074
57075 2007-07-31  Bruno Haible  <bruno@clisp.org>
57076
57077         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
57078         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
57079
57080 2007-07-30  Bruno Haible  <bruno@clisp.org>
57081
57082         * modules/base64 (License): Use the synonymous term "LGPLv2+".
57083         * modules/c-ctype (License): Likewise.
57084         * modules/c-strcase (License): Likewise.
57085         * modules/check-version (License): Likewise.
57086         * modules/iconv (License): Likewise.
57087         * modules/iconv_open (License): Likewise.
57088         * modules/read-file (License): Likewise.
57089         * modules/striconv (License): Likewise.
57090         * modules/strverscmp (License): Likewise.
57091         * modules/vasprintf (License): Likewise.
57092         * modules/crypto/des (License): Likewise.
57093         * modules/crypto/gc (License): Likewise.
57094         * modules/crypto/gc-arcfour (License): Likewise.
57095         * modules/crypto/gc-arctwo (License): Likewise.
57096         * modules/crypto/gc-des (License): Likewise.
57097         * modules/crypto/gc-hmac-md5 (License): Likewise.
57098         * modules/crypto/gc-hmac-sha1 (License): Likewise.
57099         * modules/crypto/gc-md2 (License): Likewise.
57100         * modules/crypto/gc-md4 (License): Likewise.
57101         * modules/crypto/gc-md5 (License): Likewise.
57102         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
57103         * modules/crypto/gc-random (License): Likewise.
57104         * modules/crypto/gc-rijndael (License): Likewise.
57105         * modules/crypto/gc-sha1 (License): Likewise.
57106         * modules/crypto/md2 (License): Likewise.
57107         * modules/crypto/md4 (License): Likewise.
57108
57109 2007-07-30  Jim Meyering  <jim@meyering.net>
57110
57111         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
57112         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
57113         it has valid stat data.  This bug would cause du not to count the
57114         sizes of inaccessible directories.
57115         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
57116         in <http://bugzilla.redhat.com/250077>.
57117
57118 2007-07-25  Peter O'Gorman  <peter@pogma.com>
57119             Bruno Haible  <bruno@clisp.org>
57120
57121         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
57122         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
57123         #include_next, gives a diagnostic about it, but reports no error in
57124         the exit code.
57125         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
57126
57127 2007-07-24  Ben Pfaff  <blp@gnu.org>
57128
57129         Improve name: "count-one-bits" is better than "popcount".
57130         * MODULES.html.sh: Update name.
57131         * lib/popcount.h: Renamed lib/count-one-bits.h.
57132         (popcount): Renamed count_one_bits.
57133         (popcountl): Renamed count_one_bits_l.
57134         (popcountll): Renamed count_one_bits_ll.
57135         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
57136         * modules/popcount: Renamed module/count-one-bits.
57137         * modules/popcount-tests: Renamed module/count-one-bits-tests.
57138         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
57139
57140 2007-07-23  Ben Pfaff  <blp@gnu.org>
57141
57142         * lib/popcount.h (popcount32): Reduce size of constants, to allow
57143         better code generation, and add U to large constants to avoid
57144         warnings, in non-GCC case.
57145         Suggested by Bruno Haible.
57146
57147 2007-07-23  Ben Pfaff  <blp@gnu.org>
57148
57149         * lib/popcount.h: Use verify_true instead of if...abort.
57150         * modules/popcount: Depend on verify module.
57151         Suggested by Jim Meyering.
57152
57153 2007-07-23  Bruno Haible  <bruno@clisp.org>
57154
57155         * gnulib-tool (func_import): Create a .cvsignore file also when the
57156         directory is not yet in CVS but the toplevel directory is. When
57157         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
57158         Reported by Karl Berry.
57159
57160 2007-07-22  Ben Pfaff  <blp@gnu.org>
57161
57162         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
57163         case.
57164         Suggested by Eric Blake.
57165
57166 2007-07-22  Ben Pfaff  <blp@gnu.org>
57167
57168         New module: popcount.
57169         * MODULES.html.sh: Add popcount.
57170         * modules/popcount: New file.
57171         * modules/popcount-tests: New file.
57172         * tests/test-popcount.c: New file.
57173         * lib/popcount.h: New file.
57174         * m4/popcount.m4: New file.
57175
57176 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57177
57178         * build-aux/announce-gen: Update to GPLv3.
57179
57180         * build-aux/config.guess: Update from config.
57181
57182 2007-07-21  Bruno Haible  <bruno@clisp.org>
57183
57184         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
57185         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
57186
57187 2007-07-20  Jim Meyering  <jim@meyering.net>
57188
57189         * check-module: Diagnose a self-dependency.
57190
57191 2007-07-19  Bruno Haible  <bruno@clisp.org>
57192
57193         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
57194         empty.
57195         Reported by Eric Blake.
57196
57197 2007-07-18  Bruno Haible  <bruno@clisp.org>
57198
57199         * gnulib-tool: New options --po-base, --po-domain.
57200         (func_usage): Document them.
57201         (pobase, po_domain): New variables.
57202         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
57203         DEFAULT_TEXT_DOMAIN.
57204         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
57205         (func_import): Consider pobase and po_domain. Create a po/ directory.
57206         (func_create_testdir): Set pobase and po_domain to empty.
57207         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
57208         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
57209
57210 2007-07-18  Bruno Haible  <bruno@clisp.org>
57211
57212         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57213         EXTRA_DIST augmentation for files in build-aux/.
57214
57215 2007-07-16  Bruno Haible  <bruno@clisp.org>
57216
57217         * modules/lseek (License): Use the synonymous term "LGPLv2+".
57218         * modules/getdelim (License): Likewise.
57219
57220 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57221
57222         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
57223         * modules/d-type (License): Likewise.
57224         * modules/extensions (License): Likewise.
57225         * modules/fnmatch (License): Likewise.
57226         * modules/fseeko (License): Likewise.
57227         * modules/getaddrinfo (License): Likewise.
57228         * modules/getline (License): Likewise.
57229         * modules/getlogin_r (License): Likewise.
57230         * modules/getpass (License): Likewise.
57231         * modules/gettimeofday (License): Likewise.
57232         * modules/glob (License): Likewise.
57233         * modules/inet_ntop (License): Likewise.
57234         * modules/malloc (License): Likewise.
57235         * modules/malloca (License): Likewise.
57236         * modules/memmem (License): Likewise.
57237         * modules/mempcpy (License): Likewise.
57238         * modules/memset (License): Likewise.
57239         * modules/minmax (License): Likewise.
57240         * modules/mktime (License): Likewise.
57241         * modules/netinet_in (License): Likewise.
57242         * modules/pathmax (License): Likewise.
57243         * modules/poll (License): Likewise.
57244         * modules/regex (License): Likewise.
57245         * modules/snprintf (License): Likewise.
57246         * modules/stdbool (License): Likewise.
57247         * modules/stdint (License): Likewise.
57248         * modules/stdio (License): Likewise.
57249         * modules/strcase (License): Likewise.
57250         * modules/strcasestr (License): Likewise.
57251         * modules/strdup (License): Likewise.
57252         * modules/string (License): Likewise.
57253         * modules/strndup (License): Likewise.
57254         * modules/strnlen (License): Likewise.
57255         * modules/strpbrk (License): Likewise.
57256         * modules/strptime (License): Likewise.
57257         * modules/strsep (License): Likewise.
57258         * modules/sys_select (License): Likewise.
57259         * modules/sys_socket (License): Likewise.
57260         * modules/sys_stat (License): Likewise.
57261         * modules/sys_time (License): Likewise.
57262         * modules/time (License): Likewise.
57263         * modules/time_r (License): Likewise.
57264         * modules/timegm (License): Likewise.
57265         * modules/unistd (License): Likewise.
57266         * modules/vsnprintf (License): Likewise.
57267         * modules/wctype (License): Likewise.
57268
57269 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57270
57271         * modules/argz (License): LGPLv2+.
57272
57273 2007-07-15  Karl Berry  <karl@gnu.org>
57274
57275         * doc/gnulib.texi: revise node structure per new fdl.texi.
57276
57277 2007-07-14  Bruno Haible  <bruno@clisp.org>
57278
57279         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
57280         the output file.
57281         * lib/uniname/uninames.h: Regenerated.
57282
57283 2007-07-14  Karl Berry  <karl@gnu.org>
57284
57285         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
57286         omitting sectioning and index commands.
57287
57288 2007-07-13  Bruno Haible  <bruno@clisp.org>
57289
57290         New gnulib-tool option --more-symlinks.
57291         * gnulib-tool (func_usage): Document --more-symlinks.
57292         (do_copyrights): New variable.
57293         Recognize option --more-symlinks.
57294         (func_import): Don't add a copyright notice transform to
57295         sed_transform_lib_file if do_copyrights is empty.
57296
57297 2007-07-13  Bruno Haible  <bruno@clisp.org>
57298
57299         * lib/vasnprintf.c (decimal_point_char): Define also if
57300         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
57301         && !NEED_PRINTF_DIRECTIVE_A.
57302         Reported by Clemens Koller <clemens.koller@anagramm.de> via
57303         Gary V. Vaughan <gary@gnu.org>.
57304
57305 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
57306
57307         * lib/inttypes_.h: Undo previous change, since it was fixed
57308         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
57309
57310 2007-07-13  Bruno Haible  <bruno@clisp.org>
57311
57312         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
57313         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
57314
57315 2007-07-13  Jim Meyering  <jim@meyering.net>
57316
57317         df: Don't fail for Tru64's "file-on-file mount".
57318         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
57319         so we fall through and use statfs instead.  Details here:
57320         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
57321         Reported by Albert Chin.
57322
57323 2007-07-13  Bruno Haible  <bruno@clisp.org>
57324
57325         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
57326         * modules/configmake (License): Likewise.
57327         * modules/gettext (License): Likewise.
57328         * modules/gettext-h (License): Likewise.
57329         * modules/include_next (License): Likewise.
57330         * modules/link-warning (License): Likewise.
57331         * modules/localcharset (License): Likewise.
57332         * modules/localename (License): Likewise.
57333         * modules/lock (License): Likewise.
57334         * modules/relocatable-lib-lgpl (License): Likewise.
57335         * modules/size_max (License): Likewise.
57336         * modules/vasnprintf (License): Likewise.
57337         * modules/wchar (License): Likewise.
57338         * modules/xsize (License): Likewise.
57339
57340 2007-07-13  Bruno Haible  <bruno@clisp.org>
57341
57342         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
57343         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
57344
57345 2007-07-12  Bruno Haible  <bruno@clisp.org>
57346
57347         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
57348         in the modules files.
57349
57350 2007-07-11  Karl Berry  <karl@gnu.org>
57351
57352         * MODULES.html.sh (func_module): use
57353          sed -e '\|^'"${includefile}"'$|d'
57354          instead of /.../d, to avoid errors on $includefile's containing /.
57355
57356 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57357
57358         * gnulib-tool (func_import): Avoid duplication of --avoid
57359         statements
57360         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
57361         names to `_' in variable names.
57362
57363 2007-07-10  Eric Blake  <ebb9@byu.net>
57364
57365         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57366         * NEWS: Document this change.
57367
57368 2007-07-08  Bruno Haible  <bruno@clisp.org>
57369
57370         Update to Unicode 5.0.
57371         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
57372         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
57373         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
57374         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
57375         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
57376         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
57377         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
57378         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
57379         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
57380         U+10A3F, U+1D242..U+1D244.
57381         (nonspacing_table_ind): Update.
57382         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57383         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57384
57385 2007-07-08  Bruno Haible  <bruno@clisp.org>
57386
57387         Update to Unicode 5.0.
57388         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57389         code transform. Extend the name index field of unicode_name_to_code and
57390         unicode_code_to_name from 16 to 24 bits.
57391         * lib/uniname/uniname.c (unicode_character_name,
57392         unicode_name_character): Add the range 0x12xxx to the code transform.
57393         * lib/uniname/uninames.h: Regenerated.
57394         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57395
57396 2007-07-07  Bruno Haible  <bruno@clisp.org>
57397
57398         * modules/wcwidth-tests: New file.
57399         * tests/test-wcwidth.c: New file.
57400
57401         Work around MacOS X wcwidth() bug.
57402         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57403         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57404         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57405         original wcwidth in non-UTF-8 locales.
57406         * modules/wcwidth (Depends-on): Add localcharset, streq,
57407         uniwidth/width.
57408         * doc/functions/wcwidth.texi: Update.
57409
57410 2007-07-07  Bruno Haible  <bruno@clisp.org>
57411
57412         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57413         (wcwidth): New declaration.
57414         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57415         macros.
57416         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57417         here. Prepare for creating <wchar.h> unconditionally.
57418         * modules/wchar (Depends-on): Add link-warning.
57419         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57420         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57421         * lib/wcwidth.h: Remove file.
57422         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57423         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57424         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57425         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57426         (Include): Replace wcwidth.h with <wchar.h>.
57427         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57428         * lib/mbchar.h: Don't include wcwidth.h.
57429         * lib/mbswidth.c: Likewise.
57430         * NEWS: Mention the change.
57431
57432 2007-07-07  Bruno Haible  <bruno@clisp.org>
57433
57434         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57435         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57436         definition with an external declaration.
57437         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57438         defined as a function. Remove AC_C_INLINE requirement.
57439         * modules/wcwidth (Files): Add lib/wcwidth.c.
57440         (Makefile.am): Remove redundant statement.
57441
57442 2007-07-07  Bruno Haible  <bruno@clisp.org>
57443
57444         * MODULES.html.sh (Unicode string functions): Add the new modules.
57445
57446         * tests/uniwidth/test-u32-strwidth.c: New file.
57447         * modules/uniwidth/u32-strwidth-tests: New file.
57448
57449         * lib/uniwidth/u32-strwidth.c: New file.
57450         * modules/uniwidth/u32-strwidth: New file.
57451
57452         * tests/uniwidth/test-u16-strwidth.c: New file.
57453         * modules/uniwidth/u16-strwidth-tests: New file.
57454
57455         * lib/uniwidth/u16-strwidth.c: New file.
57456         * modules/uniwidth/u16-strwidth: New file.
57457
57458         * tests/uniwidth/test-u8-strwidth.c: New file.
57459         * modules/uniwidth/u8-strwidth-tests: New file.
57460
57461         * lib/uniwidth/u8-strwidth.c: New file.
57462         * modules/uniwidth/u8-strwidth: New file.
57463
57464         * tests/uniwidth/test-u32-width.c: New file.
57465         * modules/uniwidth/u32-width-tests: New file.
57466
57467         * lib/uniwidth/u32-width.c: New file.
57468         * modules/uniwidth/u32-width: New file.
57469
57470         * tests/uniwidth/test-u16-width.c: New file.
57471         * modules/uniwidth/u16-width-tests: New file.
57472
57473         * lib/uniwidth/u16-width.c: New file.
57474         * modules/uniwidth/u16-width: New file.
57475
57476         * tests/uniwidth/test-u8-width.c: New file.
57477         * modules/uniwidth/u8-width-tests: New file.
57478
57479         * lib/uniwidth/u8-width.c: New file.
57480         * modules/uniwidth/u8-width: New file.
57481
57482         * tests/uniwidth/test-uc_width.c: New file.
57483         * modules/uniwidth/width-tests: New file.
57484
57485         * lib/uniwidth/width.c: New file, from GNU libiconv.
57486         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57487         * modules/uniwidth/width: New file.
57488
57489         * lib/uniwidth.h: New file, from GNU libiconv.
57490         * modules/uniwidth/base: New file.
57491
57492 2007-07-07  Bruno Haible  <bruno@clisp.org>
57493
57494         * lib/uniname.h: New file, from GNU gettext.
57495         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57496         * lib/uniname/uninames.h: New file, from GNU gettext.
57497         * lib/uniname/uniname.c: New file, from GNU gettext.
57498         * tests/uniname/test-uninames.sh: New file.
57499         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57500         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57501         * modules/uniname/base: New file.
57502         * modules/uniname/uniname: New file.
57503         * modules/uniname/uniname-tests: New file.
57504         * MODULES.html.sh (Unicode string functions): Add the new modules.
57505
57506 2007-07-06  Bruno Haible  <bruno@clisp.org>
57507
57508         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57509
57510 2007-07-06  Bruno Haible  <bruno@clisp.org>
57511
57512         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57513         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57514         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57515         include <sys/time.h>.
57516         Reported by Eric Blake.
57517
57518 2007-07-06  Eric Blake  <ebb9@byu.net>
57519
57520         Fix testing canonicalize on cygwin.
57521         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57522         Revert patch from 2007-06-19.
57523         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57524         canonicalize module is also in use.
57525         * tests/test-canonicalize.c: New file.
57526         * tests/test-canonicalize.sh: Likewise.
57527         * modules/canonicalize-tests: Likewise.
57528
57529 2007-07-06  Jim Meyering  <jim@meyering.net>
57530
57531         * lib/getugroups.c (getugroups): Detect getgrent failure.
57532         Adjust comment to reflect reality: this function may return -1.
57533
57534 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57535
57536         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57537         the new TP address.
57538         (usage): Fix typo
57539         (gnulib_mk): New variable.
57540
57541 2007-07-05  Jim Meyering  <jim@meyering.net>
57542
57543         Don't let endgrent clobber errno, no matter how improbable.
57544         * lib/getugroups.c (getugroups): Save and restore errno around
57545         endgrent call.
57546
57547         Close the group DB even when failing with 2^31 or more members.
57548         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57549
57550 2007-07-04  Jim Meyering  <jim@meyering.net>
57551
57552         * lib/getugroups.h: New file.
57553         * lib/getugroups.c: Include "getugroups.h".
57554         Remove uses of "register" keyword.
57555         Move local variable, "cp", down into scope where used.
57556         Give "username" parameter the "const" attribute.
57557         * modules/getugroups (Files): Add lib/getugroups.h
57558
57559 2007-07-04  Karl Berry  <karl@gnu.org>
57560
57561         * MODULES.html.sh (func_all_modules): Complete rename of
57562         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57563
57564 2007-07-02  Bruno Haible  <bruno@clisp.org>
57565
57566         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57567         mode, when inttypes.h comes from gnulib.
57568         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57569
57570 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57571
57572         * NEWS: Mention lgpl module name change.
57573
57574         * modules/lgpl-2.1: Renamed from lgpl.
57575
57576         * NEWS: Mention gpl module name change.
57577
57578         * modules/gpl-3.0: New file, based on gpl-2.0.
57579
57580         * modules/gpl-2.0: Renamed from gpl.
57581
57582         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57583         doc/gpl-2.0.texi.
57584
57585 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57586
57587         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57588         #define __STDC_LIMIT_MACROS temporarily while including
57589         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57590         Problem reported by Joel E. Denny in
57591         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57592
57593 2007-07-01  Bruno Haible  <bruno@clisp.org>
57594
57595         * lib/unistdio.h: New file.
57596         * lib/unistdio/u-asnprintf.h: New file.
57597         * lib/unistdio/u-asprintf.h: New file.
57598         * lib/unistdio/u-printf-args.c: New file.
57599         * lib/unistdio/u-printf-args.h: New file.
57600         * lib/unistdio/u-printf-parse.h: New file.
57601         * lib/unistdio/u-snprintf.h: New file.
57602         * lib/unistdio/u-sprintf.h: New file.
57603         * lib/unistdio/u-vasprintf.h: New file.
57604         * lib/unistdio/u-vsnprintf.h: New file.
57605         * lib/unistdio/u-vsprintf.h: New file.
57606         * lib/unistdio/ulc-asnprintf.c: New file.
57607         * lib/unistdio/ulc-asprintf.c: New file.
57608         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57609         * lib/unistdio/ulc-printf-parse.c: New file.
57610         * lib/unistdio/ulc-snprintf.c: New file.
57611         * lib/unistdio/ulc-sprintf.c: New file.
57612         * lib/unistdio/ulc-vasnprintf.c: New file.
57613         * lib/unistdio/ulc-vasprintf.c: New file.
57614         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57615         * lib/unistdio/ulc-vsnprintf.c: New file.
57616         * lib/unistdio/ulc-vsprintf.c: New file.
57617         * lib/unistdio/u8-asnprintf.c: New file.
57618         * lib/unistdio/u8-asprintf.c: New file.
57619         * lib/unistdio/u8-printf-parse.c: New file.
57620         * lib/unistdio/u8-snprintf.c: New file.
57621         * lib/unistdio/u8-sprintf.c: New file.
57622         * lib/unistdio/u8-vasnprintf.c: New file.
57623         * lib/unistdio/u8-vasprintf.c: New file.
57624         * lib/unistdio/u8-vsnprintf.c: New file.
57625         * lib/unistdio/u8-vsprintf.c: New file.
57626         * lib/unistdio/u8-u8-asnprintf.c: New file.
57627         * lib/unistdio/u8-u8-asprintf.c: New file.
57628         * lib/unistdio/u8-u8-snprintf.c: New file.
57629         * lib/unistdio/u8-u8-sprintf.c: New file.
57630         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57631         * lib/unistdio/u8-u8-vasprintf.c: New file.
57632         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57633         * lib/unistdio/u8-u8-vsprintf.c: New file.
57634         * lib/unistdio/u16-asnprintf.c: New file.
57635         * lib/unistdio/u16-asprintf.c: New file.
57636         * lib/unistdio/u16-printf-parse.c: New file.
57637         * lib/unistdio/u16-snprintf.c: New file.
57638         * lib/unistdio/u16-sprintf.c: New file.
57639         * lib/unistdio/u16-vasnprintf.c: New file.
57640         * lib/unistdio/u16-vasprintf.c: New file.
57641         * lib/unistdio/u16-vsnprintf.c: New file.
57642         * lib/unistdio/u16-vsprintf.c: New file.
57643         * lib/unistdio/u16-u16-asnprintf.c: New file.
57644         * lib/unistdio/u16-u16-asprintf.c: New file.
57645         * lib/unistdio/u16-u16-snprintf.c: New file.
57646         * lib/unistdio/u16-u16-sprintf.c: New file.
57647         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57648         * lib/unistdio/u16-u16-vasprintf.c: New file.
57649         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57650         * lib/unistdio/u16-u16-vsprintf.c: New file.
57651         * lib/unistdio/u32-asnprintf.c: New file.
57652         * lib/unistdio/u32-asprintf.c: New file.
57653         * lib/unistdio/u32-printf-parse.c: New file.
57654         * lib/unistdio/u32-snprintf.c: New file.
57655         * lib/unistdio/u32-sprintf.c: New file.
57656         * lib/unistdio/u32-vasnprintf.c: New file.
57657         * lib/unistdio/u32-vasprintf.c: New file.
57658         * lib/unistdio/u32-vsnprintf.c: New file.
57659         * lib/unistdio/u32-vsprintf.c: New file.
57660         * lib/unistdio/u32-u32-asnprintf.c: New file.
57661         * lib/unistdio/u32-u32-asprintf.c: New file.
57662         * lib/unistdio/u32-u32-snprintf.c: New file.
57663         * lib/unistdio/u32-u32-sprintf.c: New file.
57664         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57665         * lib/unistdio/u32-u32-vasprintf.c: New file.
57666         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57667         * lib/unistdio/u32-u32-vsprintf.c: New file.
57668         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57669         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57670         * tests/unistdio/test-ulc-printf1.h: New file.
57671         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57672         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57673         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57674         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57675         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57676         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57677         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57678         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57679         * tests/unistdio/test-u8-asnprintf1.c: New file.
57680         * tests/unistdio/test-u8-asnprintf1.h: New file.
57681         * tests/unistdio/test-u8-printf1.h: New file.
57682         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57683         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57684         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57685         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57686         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57687         * tests/unistdio/test-u8-vasprintf1.c: New file.
57688         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57689         * tests/unistdio/test-u8-vsprintf1.c: New file.
57690         * tests/unistdio/test-u16-asnprintf1.c: New file.
57691         * tests/unistdio/test-u16-asnprintf1.h: New file.
57692         * tests/unistdio/test-u16-printf1.h: New file.
57693         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57694         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57695         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57696         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57697         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57698         * tests/unistdio/test-u16-vasprintf1.c: New file.
57699         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57700         * tests/unistdio/test-u16-vsprintf1.c: New file.
57701         * tests/unistdio/test-u32-asnprintf1.c: New file.
57702         * tests/unistdio/test-u32-asnprintf1.h: New file.
57703         * tests/unistdio/test-u32-printf1.h: New file.
57704         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57705         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57706         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57707         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57708         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57709         * tests/unistdio/test-u32-vasprintf1.c: New file.
57710         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57711         * tests/unistdio/test-u32-vsprintf1.c: New file.
57712         * modules/unistdio/base: New file.
57713         * modules/unistdio/u-printf-args: New file.
57714         * modules/unistdio/ulc-asnprintf: New file.
57715         * modules/unistdio/ulc-asprintf: New file.
57716         * modules/unistdio/ulc-fprintf: New file.
57717         * modules/unistdio/ulc-printf-parse: New file.
57718         * modules/unistdio/ulc-snprintf: New file.
57719         * modules/unistdio/ulc-sprintf: New file.
57720         * modules/unistdio/ulc-vasnprintf: New file.
57721         * modules/unistdio/ulc-vasprintf: New file.
57722         * modules/unistdio/ulc-vfprintf: New file.
57723         * modules/unistdio/ulc-vsnprintf: New file.
57724         * modules/unistdio/ulc-vsprintf: New file.
57725         * modules/unistdio/u8-asnprintf: New file.
57726         * modules/unistdio/u8-asprintf: New file.
57727         * modules/unistdio/u8-printf-parse: New file.
57728         * modules/unistdio/u8-snprintf: New file.
57729         * modules/unistdio/u8-sprintf: New file.
57730         * modules/unistdio/u8-vasnprintf: New file.
57731         * modules/unistdio/u8-vasprintf: New file.
57732         * modules/unistdio/u8-vsnprintf: New file.
57733         * modules/unistdio/u8-vsprintf: New file.
57734         * modules/unistdio/u8-u8-asnprintf: New file.
57735         * modules/unistdio/u8-u8-asprintf: New file.
57736         * modules/unistdio/u8-u8-snprintf: New file.
57737         * modules/unistdio/u8-u8-sprintf: New file.
57738         * modules/unistdio/u8-u8-vasnprintf: New file.
57739         * modules/unistdio/u8-u8-vasprintf: New file.
57740         * modules/unistdio/u8-u8-vsnprintf: New file.
57741         * modules/unistdio/u8-u8-vsprintf: New file.
57742         * modules/unistdio/u16-asnprintf: New file.
57743         * modules/unistdio/u16-asprintf: New file.
57744         * modules/unistdio/u16-printf-parse: New file.
57745         * modules/unistdio/u16-snprintf: New file.
57746         * modules/unistdio/u16-sprintf: New file.
57747         * modules/unistdio/u16-vasnprintf: New file.
57748         * modules/unistdio/u16-vasprintf: New file.
57749         * modules/unistdio/u16-vsnprintf: New file.
57750         * modules/unistdio/u16-vsprintf: New file.
57751         * modules/unistdio/u16-u16-asnprintf: New file.
57752         * modules/unistdio/u16-u16-asprintf: New file.
57753         * modules/unistdio/u16-u16-snprintf: New file.
57754         * modules/unistdio/u16-u16-sprintf: New file.
57755         * modules/unistdio/u16-u16-vasnprintf: New file.
57756         * modules/unistdio/u16-u16-vasprintf: New file.
57757         * modules/unistdio/u16-u16-vsnprintf: New file.
57758         * modules/unistdio/u16-u16-vsprintf: New file.
57759         * modules/unistdio/u32-asnprintf: New file.
57760         * modules/unistdio/u32-asprintf: New file.
57761         * modules/unistdio/u32-printf-parse: New file.
57762         * modules/unistdio/u32-snprintf: New file.
57763         * modules/unistdio/u32-sprintf: New file.
57764         * modules/unistdio/u32-vasnprintf: New file.
57765         * modules/unistdio/u32-vasprintf: New file.
57766         * modules/unistdio/u32-vsnprintf: New file.
57767         * modules/unistdio/u32-vsprintf: New file.
57768         * modules/unistdio/u32-u32-asnprintf: New file.
57769         * modules/unistdio/u32-u32-asprintf: New file.
57770         * modules/unistdio/u32-u32-snprintf: New file.
57771         * modules/unistdio/u32-u32-sprintf: New file.
57772         * modules/unistdio/u32-u32-vasnprintf: New file.
57773         * modules/unistdio/u32-u32-vasprintf: New file.
57774         * modules/unistdio/u32-u32-vsnprintf: New file.
57775         * modules/unistdio/u32-u32-vsprintf: New file.
57776         * modules/unistdio/ulc-asnprintf-tests: New file.
57777         * modules/unistdio/ulc-vasnprintf-tests: New file.
57778         * modules/unistdio/ulc-vasprintf-tests: New file.
57779         * modules/unistdio/ulc-vsnprintf-tests: New file.
57780         * modules/unistdio/ulc-vsprintf-tests: New file.
57781         * modules/unistdio/u8-asnprintf-tests: New file.
57782         * modules/unistdio/u8-vasnprintf-tests: New file.
57783         * modules/unistdio/u8-vasprintf-tests: New file.
57784         * modules/unistdio/u8-vsnprintf-tests: New file.
57785         * modules/unistdio/u8-vsprintf-tests: New file.
57786         * modules/unistdio/u16-asnprintf-tests: New file.
57787         * modules/unistdio/u16-vasnprintf-tests: New file.
57788         * modules/unistdio/u16-vasprintf-tests: New file.
57789         * modules/unistdio/u16-vsnprintf-tests: New file.
57790         * modules/unistdio/u16-vsprintf-tests: New file.
57791         * modules/unistdio/u32-asnprintf-tests: New file.
57792         * modules/unistdio/u32-vasnprintf-tests: New file.
57793         * modules/unistdio/u32-vasprintf-tests: New file.
57794         * modules/unistdio/u32-vsnprintf-tests: New file.
57795         * modules/unistdio/u32-vsprintf-tests: New file.
57796         * MODULES.html.sh (Unicode string functions): Add the new modules.
57797
57798 2007-07-01  Bruno Haible  <bruno@clisp.org>
57799
57800         * lib/sprintf.c (sprintf): Limit the available length estimation,
57801         to avoid address wraparound.
57802         * lib/vsprintf.c (vsprintf): Likewise.
57803         * modules/sprintf-posix (Dependencies): Add stdint.
57804         * modules/vsprintf-posix (Dependencies): Likewise.
57805
57806 2007-07-01  Bruno Haible  <bruno@clisp.org>
57807
57808         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
57809         Windows PATH as well. Conservative double-quoting. Comments.
57810
57811 2007-07-01  Bruno Haible  <bruno@clisp.org>
57812             Eric Blake  <ebb9@byu.net>
57813             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57814
57815         * gnulib-tool (self_abspathname): Fix algorithm to cope with
57816         empty components in $PATH, denoting '.'.
57817
57818 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57819
57820         * gnulib-tool: Fix indentation.
57821         (func_create_megatestdir): Likewise.
57822         Report by Bruno Haible.
57823
57824 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57825
57826         Sync from Automake.
57827         * build-aux/gnupload: Fix shell portability issues with for loops.
57828         Report by Karl Berry.
57829
57830 2007-06-29  Simon Josefsson  <simon@josefsson.org>
57831
57832         * build-aux/maint.mk (POURL): Use translationproject.org.
57833
57834 2007-06-27  Simon Josefsson  <simon@josefsson.org>
57835             Bruno Haible  <bruno@clisp.org>
57836
57837         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
57838         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
57839         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
57840         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
57841         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
57842
57843 2007-06-27  Bruno Haible  <bruno@clisp.org>
57844
57845         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
57846         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
57847
57848 2007-06-26  Karl Berry  <karl@gnu.org>
57849
57850         * MODULES.html.sh: remove xreadlink-with-size.
57851
57852 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57853
57854         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
57855         method that I hope also handles the double-include problem noted
57856         by Bruno Haible in
57857         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
57858
57859 2007-06-23  Bruno Haible  <bruno@clisp.org>
57860
57861         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57862         Don't let the 'mostlyclean' target fail if the last subdirectory could
57863         not be removed.
57864         Reported by Karl Berry.
57865
57866 2007-06-23  Bruno Haible  <bruno@clisp.org>
57867
57868         * gnulib-tool (echo): Add a speedier workaround for ksh.
57869         * tests/test-echo.sh: Likewise.
57870
57871 2007-06-23  Bruno Haible  <bruno@clisp.org>
57872
57873         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
57874         * tests/test-echo.sh: Likewise.
57875
57876 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57877
57878         * gnulib-tool (IFS): Initialize early, so we don't set it to
57879         empty later.
57880         (self_abspathname): Rewrite algorithm to set it, reindent.
57881         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
57882         (func_create_megatestdir): Merge some sed scripts.
57883
57884 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57885
57886         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
57887         exposed by Sun Studio 11 cc on Solaris 8.
57888
57889 2007-06-22  Bruno Haible  <bruno@clisp.org>
57890
57891         * gnulib-tool (echo): Ensure the echo primitive does not interpret
57892         backslashes.
57893         * tests/test-echo.sh: New file.
57894
57895 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57896
57897         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
57898         simplify `sed_replace_build_aux' scripts, they are portable but
57899         echoing them with `echo' is not.
57900         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
57901
57902 2007-06-21  Karl Berry  <karl@gnu.org>
57903
57904         * config/srclist.txt: guess we can't handle the licenses via
57905         srclist at the moment.
57906
57907 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57908
57909         * MODULES.html.sh: Add include_next.
57910         * modules/include_next: New file.
57911
57912 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57913
57914         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
57915         INCLUDE_NEXT.
57916         (gl_CHECK_NEXT_HEADERS): New macro.
57917         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
57918         the obsolescent gl_ABSOLUTE_HEADER.
57919         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
57920         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
57921         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
57922         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57923         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
57924         * m4/math_h.m4 (gl_MATH_H): Likewise.
57925         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57926         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57927         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
57928         * m4/stdint.m4 (gl_STDINT_H): Likewise.
57929         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
57930         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
57931         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
57932         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57933         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57934         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
57935         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57936         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
57937         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
57938         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57939         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
57940         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57941         * m4/inttypes.m4 (gl_INTTYPES_H): Define
57942         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
57943         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
57944         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
57945         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
57946         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
57947         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
57948         * lib/float_.h: Likewise.
57949         * lib/inttypes_.h: Likewise.
57950         * lib/math_.h: Likewise.
57951         * lib/search_.h: Likewise.
57952         * lib/signal_.h: Likewise.
57953         * lib/stdint_.h: Likewise.
57954         * lib/stdio_.h: Likewise.
57955         * lib/stdlib_.h: Likewise.
57956         * lib/string_.h: Likewise.
57957         * lib/sys_stat_.h: Likewise.
57958         * lib/sys_time_.h: Likewise.
57959         * lib/time_.h: Likewise.
57960         * lib/unistd_.h: Likewise.
57961         * lib/wchar_.h: Likewise.
57962         * lib/wctype_.h: Likewise.
57963         * lib/dirent_.h: Likewise.
57964         * lib/iconv_.h: Likewise.
57965         * lib/locale_.h: Likewise.
57966         * lib/netinet_in_.h: Likewise.
57967         * lib/sys_select_.h: Likewise.
57968         * lib/sys_socket_.h: Likewise.
57969         * lib/sysexits_.h: Likewise.
57970         * modules/fcntl (Depends-on): Depend on include_next, not
57971         absolute_header.
57972         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
57973         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
57974         * modules/fchdir: Likewise.
57975         * modules/float: Likewise.
57976         * modules/iconv_open: Likewise.
57977         * modules/inttypes: Likewise.
57978         * modules/locale: Likewise.
57979         * modules/math: Likewise.
57980         * modules/netinet_in: Likewise.
57981         * modules/search: Likewise.
57982         * modules/signal: Likewise.
57983         * modules/stdint: Likewise.
57984         * modules/stdio: Likewise.
57985         * modules/stdlib: Likewise.
57986         * modules/string: Likewise.
57987         * modules/sys_select: Likewise.
57988         * modules/sys_socket: Likewise.
57989         * modules/sys_stat: Likewise.
57990         * modules/sys_time: Likewise.
57991         * modules/sysexits: Likewise.
57992         * modules/time: Likewise.
57993         * modules/unistd: Likewise.
57994         * modules/wchar: Likewise.
57995         * modules/wctype: Likewise.
57996         * modules/sys_stat: Change maintainer to "all".
57997         * modules/unistd: Likewise.
57998
57999 2007-06-20  Karl Berry  <karl@gnu.org>
58000
58001         * config/srclist.txt: track www changes in license files.
58002
58003 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
58004
58005         * build-aux/bootstrap: Remove stray dot.
58006         Make sure build_aux settings are honored when linking
58007         gnulib_extra_files.
58008
58009 2007-06-19  Eric Blake  <ebb9@byu.net>
58010
58011         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
58012         Allow compilation on cygwin.
58013
58014 2007-06-19  Jim Meyering  <jim@meyering.net>
58015
58016         xreadlink-with-size: Remove module.  No longer used.
58017         Ex-callers now use xreadlink or mreadlink-with-size.
58018         * modules/xreadlink-with-size: Remove module.
58019         * lib/xreadlink-with-size.c: Remove file.
58020         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
58021         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
58022         just before the function definition *is* accurate.
58023
58024         Eliminate one way canonicalize_filename_mode could exit.
58025         * lib/canonicalize.c (canonicalize_filename_mode):
58026         Use mreadlink_with_size, not xreadlink_with_size.
58027
58028 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
58029
58030         Detect porting problems to FreeBSD/arm, which has time_t wider than
58031         long int.  Original problem reported for GNU diff by Xin Li in
58032         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
58033         * modules/getdate (Depends-on): Add intprops, verify.
58034         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
58035         is an integer type no wider than long int.
58036
58037 2007-06-18  Jim Meyering  <jim@meyering.net>
58038
58039         New module: mreadlink-with-size.
58040         * MODULES.html.sh: Add mreadlink-with-size.
58041         * modules/mreadlink-with-size: New module
58042         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
58043         not xreadlink-with-size.
58044         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
58045
58046 2007-06-16  Bruno Haible  <bruno@clisp.org>
58047
58048         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
58049         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
58050         Reported by Gary V. Vaughan <gary@gnu.org>.
58051
58052 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
58053
58054         Revamp lchown so that it lives in unistd.h where it belongs.
58055         * lib/lchown.h: Remove.
58056         * lib/dirchownmod.c: Don't include lib/lchown.h.
58057         * lib/fchownat.c: Likewise.
58058         * lib/openat.c: Likewise.
58059         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
58060         does not follow symlinks.
58061         (EOPNOTSUPP): Define if not defined.
58062         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
58063         is defined to 0.
58064         (lchown): New decl.
58065         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
58066         Do not check for lchown decl.
58067         Set REPLACE_LCHOWN.
58068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
58069         REPLACE_LCHOWN.
58070         * modules/chown: Make it clear it follows symlinks.
58071         * modules/lchown: Make it clear it doesn't follow symlinks.
58072         (Files): Remove lib/lchown.h
58073         (Depends-on): Add unistd.
58074         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
58075         (Include): Include <unistd.h>, not "lchown.h".
58076         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
58077         REPLACE_LCHOWN.
58078
58079 2007-06-15  Jim Meyering  <jim@meyering.net>
58080
58081         Change license (GPL to LGPL) of fsusage and dependents.
58082         * modules/fsusage (License): Change to LGPL.
58083         * modules/full-read (License): Likewise.
58084         * modules/full-write (License): Likewise.
58085         * modules/safe-read (License): Likewise.
58086         * modules/safe-write (License): Likewise.
58087
58088 2007-06-14  Ben Pfaff  <blp@gnu.org>
58089
58090         Missing part of allocsa -> malloca transition.
58091         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
58092         gl_MALLOCA.
58093
58094 2007-06-12  Bruno Haible  <bruno@clisp.org>
58095
58096         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
58097         to ia64, x86_64, i386.
58098         Reported by Eric Blake.
58099
58100 2007-06-12  Bruno Haible  <bruno@clisp.org>
58101
58102         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
58103         cross-compiling to x86_64.
58104
58105 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
58106
58107         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
58108         glitch reported by Ralf Wildenhues in
58109         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
58110
58111         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
58112         Vin Shelton.
58113
58114 2007-06-11  Bruno Haible  <bruno@clisp.org>
58115
58116         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
58117         replacement string.
58118         Reported by Eric Blake.
58119
58120 2007-06-10  Bruno Haible  <bruno@clisp.org>
58121
58122         Prepare vasnprintf code for use with Unicode strings.
58123         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
58124         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
58125         TYPE_U32_STRING.
58126         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
58127         a_u32_string variants.
58128         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58129         * lib/printf-args.c: Don't include config.h and the specification
58130         header if PRINTF_FETCHARGS is already defined.
58131         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58132         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
58133         TYPE_U16_STRING, TYPE_U32_STRING.
58134         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
58135         u16_directive, u16_directives, u32_directive, u32_directives): New
58136         types.
58137         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
58138         New declarations.
58139         * lib/printf-parse.c: Don't include config.h and the specification
58140         header if PRINTF_PARSE is already defined. Eliminate the set of
58141         parameters for WIDE_CHAR_VERSION; the user of this file must provide
58142         them now. Include c-ctype.h.
58143         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
58144         directive and CHAR_T_ONLY_ASCII.
58145         * lib/vasnprintf.c: Don't include config.h and the specification header
58146         if VASNPRINTF is already defined.
58147         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
58148         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
58149         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
58150         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
58151         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
58152         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
58153         code accordingly.
58154         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
58155         pad_ourselves also in this case, with the 'c' and 's' directives, and
58156         with a different notion of "width".
58157         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
58158
58159 2007-06-10  Bruno Haible  <bruno@clisp.org>
58160
58161         * modules/unistr/u32-mbsnlen: New file.
58162         * lib/unistr/u32-mbsnlen.c: New file.
58163
58164         * modules/unistr/u16-mbsnlen: New file.
58165         * lib/unistr/u16-mbsnlen.c: New file.
58166
58167         * modules/unistr/u8-mbsnlen: New file.
58168         * lib/unistr/u8-mbsnlen.c: New file.
58169
58170         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
58171         declarations.
58172
58173 2007-06-10  Bruno Haible  <bruno@clisp.org>
58174
58175         * lib/string_.h (mbsnlen): New declaration.
58176         * lib/mbsnlen.c: New file.
58177         * m4/mbsnlen.m4: New file.
58178         * modules/mbsnlen: New file.
58179         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
58180         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
58181         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
58182
58183 2007-06-10  Bruno Haible  <bruno@clisp.org>
58184
58185         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
58186
58187 2007-06-10  Bruno Haible  <bruno@clisp.org>
58188
58189         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
58190         * lib/mbuiter.h: Likewise.
58191
58192 2007-06-10  Bruno Haible  <bruno@clisp.org>
58193
58194         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
58195         declaration.
58196
58197 2007-06-10  Karl Berry  <karl@gnu.org>
58198
58199         * config/srclist.txt: remove gettext entries, Bruno prefers
58200         to update individually.
58201
58202 2007-06-10  Bruno Haible  <bruno@clisp.org>
58203
58204         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
58205         'maxlen'. Ensure only length + width bytes are allocated, not
58206         length + 1 + width.
58207
58208 2007-06-09  Bruno Haible  <bruno@clisp.org>
58209
58210         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
58211         (CHAR_T): Remove macro.
58212         (VASNPRINTF): Update.
58213
58214 2007-06-09  Bruno Haible  <bruno@clisp.org>
58215
58216         * MODULES.html.sh (Unicode string functions): Add the new modules.
58217
58218         * modules/uniconv/u32-conv-to-enc: New file.
58219         * lib/uniconv/u32-conv-to-enc.c: New file.
58220         * modules/uniconv/u32-conv-to-enc-tests: New file.
58221         * tests/uniconv/test-u32-conv-to-enc.c: New file.
58222
58223         * modules/uniconv/u16-conv-to-enc: New file.
58224         * lib/uniconv/u16-conv-to-enc.c: New file.
58225         * lib/uniconv/u-conv-to-enc.h: New file.
58226         * modules/uniconv/u16-conv-to-enc-tests: New file.
58227         * tests/uniconv/test-u16-conv-to-enc.c: New file.
58228
58229         * modules/uniconv/u8-conv-to-enc: New file.
58230         * lib/uniconv/u8-conv-to-enc.c: New file.
58231         * modules/uniconv/u8-conv-to-enc-tests: New file.
58232         * tests/uniconv/test-u8-conv-to-enc.c: New file.
58233
58234         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
58235         u32_conv_to_encoding): New declarations.
58236
58237 2007-06-09  Bruno Haible  <bruno@clisp.org>
58238
58239         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
58240
58241 2007-06-09  Bruno Haible  <bruno@clisp.org>
58242
58243         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
58244         * modules/malloca: Renamed from modules/allocsa, updated.
58245         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
58246         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
58247         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
58248         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
58249         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
58250         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
58251         * modules/xmalloca: Renamed from modules/xallocsa, updated.
58252         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
58253         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
58254         * modules/c-strcasestr (Depends-on): Update.
58255         * lib/c-strcasestr.c: Update.
58256         * modules/c-strstr (Depends-on): Update.
58257         * lib/c-strstr.c: Update.
58258         * modules/canonicalize-lgpl (Depends-on): Update.
58259         * lib/canonicalize-lgpl.c: Update.
58260         * modules/clean-temp (Depends-on): Update.
58261         * lib/clean-temp.c: Update.
58262         * modules/csharpcomp (Depends-on): Update.
58263         * lib/csharpcomp.c: Update.
58264         * modules/csharpexec (Depends-on): Update.
58265         * lib/csharpexec.c: Update.
58266         * modules/javacomp (Depends-on): Update.
58267         * lib/javacomp.c: Update.
58268         * modules/javaexec (Depends-on): Update.
58269         * lib/javaexec.c: Update.
58270         * modules/mbscasestr (Depends-on): Update.
58271         * lib/mbscasestr.c: Update.
58272         * modules/mbsstr (Depends-on): Update.
58273         * lib/mbsstr.c: Update.
58274         * modules/setenv (Depends-on): Update.
58275         * lib/setenv.c: Update.
58276         * modules/strcasestr (Depends-on): Update.
58277         * lib/strcasestr.c: Update.
58278         * modules/striconveha (Depends-on): Update.
58279         * lib/striconveha.c: Update.
58280         * modules/relocatable-prog-wrapper (Files): Update.
58281         * lib/relocwrapper.c: Update.
58282         * build-aux/install-reloc: Update.
58283         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
58284
58285 2007-06-08  Bruno Haible  <bruno@clisp.org>
58286
58287         Port to uClibc.
58288         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
58289         * lib/fpurge.c (fpurge): Likewise.
58290         * lib/freading.c (freading): Likewise.
58291         * lib/fseeko.c (rpl_fseeko): Likewise.
58292         * lib/fseterr.c (fseterr): Likewise.
58293         * lib/fwriting.c (fwriting): Likewise.
58294         * tests/test-fflush.c (main): Avoid a failure on uClibc.
58295
58296 2007-06-08  Bruno Haible  <bruno@clisp.org>
58297
58298         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
58299         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
58300         * modules/gettext (Files): Add m4/intlmacosx.m4.
58301
58302 2007-06-07  Bruno Haible  <bruno@clisp.org>
58303
58304         * modules/localename-tests: New file.
58305         * tests/test-localename.c: New file.
58306
58307         New module 'localename'.
58308         * lib/localename.h: New file.
58309         * lib/localename.c: New file, from GNU gettext.
58310         * m4/localename.m4: New file.
58311         * modules/localename: New file.
58312
58313 2007-06-07  Bruno Haible  <bruno@clisp.org>
58314
58315         Work around the lack of <wchar.h> on some builds of uClibc.
58316         * doc/headers/wchar.texi: Update.
58317         * lib/wchar_.h: Include <wchar.h> only if it exists.
58318         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
58319         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
58320         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
58321         doesn't exist.
58322         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
58323         * modules/mbfile (Depends-on): Add wchar.
58324         * modules/mbiter (Depends-on): Likewise.
58325         * modules/mbuiter (Depends-on): Likewise.
58326         Reported by Simon Josefsson.
58327
58328 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58329
58330         Work around problem reported by Steven M. Schweda in
58331         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
58332         Tru64 5.1B with the Compaq compiler environment installed declares
58333         an 'isblank' function but does not define it in the C library.
58334         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
58335         * lib/regex_internal.h (isblank): Likewise.
58336         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
58337         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58338
58339 2007-06-05  Bruno Haible  <bruno@clisp.org>
58340
58341         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
58342         ia64.
58343         * modules/printf-safe: New file.
58344         * modules/fprintf-posix (Depends-on): Add printf-safe.
58345         * modules/printf-posix (Depends-on): Likewise.
58346         * modules/snprintf-posix (Depends-on): Likewise.
58347         * modules/sprintf-posix (Depends-on): Likewise.
58348         * modules/vasnprintf-posix (Depends-on): Likewise.
58349         * modules/vasprintf-posix (Depends-on): Likewise.
58350         * modules/vfprintf-posix (Depends-on): Likewise.
58351         * modules/vprintf-posix (Depends-on): Likewise.
58352         * modules/vsnprintf-posix (Depends-on): Likewise.
58353         * modules/vsprintf-posix (Depends-on): Likewise.
58354         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
58355         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
58356         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
58357         "no" on i386, x86_64, ia64.
58358         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
58359         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58360         on i386, x86_64, ia64.
58361         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
58362         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58363         on i386, x86_64, ia64.
58364         * tests/test-vasnprintf-posix.c: Include float.h.
58365         (LDBL80_WORDS): New macro.
58366         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58367         on i386, x86_64, ia64.
58368         * tests/test-vasprintf-posix.c: Include float.h.
58369         (LDBL80_WORDS): New macro.
58370         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58371         on i386, x86_64, ia64.
58372         * tests/test-snprintf-posix.c: Include float.h.
58373         * tests/test-sprintf-posix.c: Likewise.
58374         * tests/test-vsnprintf-posix.c: Likewise.
58375         * tests/test-vsprintf-posix.c: Likewise.
58376
58377 2007-06-05  Bruno Haible  <bruno@clisp.org>
58378
58379         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
58380         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58381         non-IEEE numbers on i386, x86_64, ia64.
58382         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58383         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58384         * tests/test-isnanl.h: Include float.h.
58385         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58386
58387 2007-06-05  Bruno Haible  <bruno@clisp.org>
58388
58389         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58390         also the %a / %A. Handle the %a / %A code before this extra handling.
58391
58392 2007-06-05  Bruno Haible  <bruno@clisp.org>
58393
58394         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58395         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58396
58397 2007-06-05  Bruno Haible  <bruno@clisp.org>
58398
58399         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58400         typo in variable name.
58401
58402 2007-06-05  Eric Blake  <ebb9@byu.net>
58403
58404         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58405         Reported by Simon Josefsson.
58406
58407 2007-06-04  Bruno Haible  <bruno@clisp.org>
58408
58409         Avoid test failures on some PowerPC platforms.
58410         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58411         Define differently for PowerPC.
58412         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58413         Reported by Gary V. Vaughan <gary@gnu.org>.
58414
58415 2007-06-02  Bruno Haible  <bruno@clisp.org>
58416
58417         Fix test-stdint failure on FreeBSD/ia64.
58418         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58419         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58420         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58421         * doc/headers/stdint.texi: Update.
58422
58423 2007-06-01  Bruno Haible  <bruno@clisp.org>
58424
58425         * tests/test-binary-io.c (main): Pass a third argument to open().
58426         Reported by Gary V. Vaughan <gary@gnu.org>.
58427
58428 2007-06-01  Bruno Haible  <bruno@clisp.org>
58429
58430         * doc/functions/frexpl.texi: Update for mingw.
58431
58432 2007-06-01  Bruno Haible  <bruno@clisp.org>
58433
58434         * tests/test-lseek.c (main): Disable test of errno for invalid third
58435         argument.
58436         * doc/functions/lseek.texi: Update.
58437         Reported by Gary V. Vaughan <gary@gnu.org>.
58438
58439 2007-05-28  Bruno Haible  <bruno@clisp.org>
58440
58441         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58442
58443 2007-05-31  Eric Blake  <ebb9@byu.net>
58444
58445         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58446         cross compiling.
58447
58448 2007-05-30  Eric Blake  <ebb9@byu.net>
58449         and Bruno Haible  <bruno@clisp.org>
58450
58451         Work around mingw test failures exposed by m4-1.4.9b.
58452         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58453         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58454         moment.
58455
58456 2007-05-30  Bruno Haible  <bruno@clisp.org>
58457
58458         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58459         assuming that they are closed. Needed on HP-UX 11.
58460
58461 2007-05-29  Bruno Haible  <bruno@clisp.org>
58462
58463         Fix a problem with #include_next.
58464         * lib/dirent_.h: Split the double-inclusion guard.
58465         * lib/fcntl_.h: Likewise.
58466         * lib/float_.h: Likewise.
58467         * lib/iconv_.h: Likewise.
58468         * lib/inttypes_.h: Likewise.
58469         * lib/locale_.h: Likewise.
58470         * lib/math_.h: Likewise.
58471         * lib/netinet_in_.h: Likewise.
58472         * lib/search_.h: Likewise.
58473         * lib/signal_.h: Likewise.
58474         * lib/stdint_.h: Likewise.
58475         * lib/stdio_.h: Likewise.
58476         * lib/stdlib_.h: Likewise.
58477         * lib/string_.h: Likewise.
58478         * lib/sys_select_.h: Likewise.
58479         * lib/sys_socket_.h: Likewise.
58480         * lib/sys_stat_.h: Likewise.
58481         * lib/sys_time_.h: Likewise.
58482         * lib/sysexits_.h: Likewise.
58483         * lib/time_.h: Likewise.
58484         * lib/unistd_.h: Likewise.
58485         * lib/wchar_.h: Likewise.
58486         * lib/wctype_.h: Likewise.
58487
58488 2007-05-29  Bruno Haible  <bruno@clisp.org>
58489
58490         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58491         for the moment.
58492
58493 2007-05-29  Bruno Haible  <bruno@clisp.org>
58494
58495         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58496         invocation.
58497         Reported by Eric Blake.
58498
58499 2007-05-29  Bruno Haible  <bruno@clisp.org>
58500
58501         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58502         compiling case.
58503
58504 2007-05-29  Eric Blake  <ebb9@byu.net>
58505             Bruno Haible  <bruno@clisp.org>
58506
58507         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58508         cross compiles.
58509
58510 2007-05-28  Eric Blake  <ebb9@byu.net>
58511
58512         * modules/closein-tests (test_closein_LDADD): Support test on
58513         cygwin with libtool.
58514
58515 2007-05-28  Bruno Haible  <bruno@clisp.org>
58516
58517         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58518         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58519         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58520         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58521         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58522         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58523         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58524         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58525         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58526
58527 2007-05-28  Eric Blake  <ebb9@byu.net>
58528
58529         Unconditionally include <config.h> in unit tests.
58530         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58531         * tests/test-allocsa.c, tests/test-arcfour.c,
58532         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58533         tests/test-array_list.c, tests/test-array_oset.c,
58534         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58535         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58536         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58537         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58538         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58539         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58540         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58541         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58542         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58543         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58544         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58545         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58546         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58547         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58548         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58549         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58550         test-md5.c, test-memmem.c, test-printf-posix.c,
58551         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58552         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58553         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58554         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58555         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58556         test-vasnprintf-posix2.c, test-vasnprintf.c,
58557         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58558         test-vfprintf-posix.c, test-vprintf-posix.c,
58559         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58560         test-xvasprintf.c: Likewise.
58561
58562 2007-05-28  Bruno Haible  <bruno@clisp.org>
58563
58564         * gnulib-tool (func_import): Remember the --with-tests command-line
58565         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58566         Reported by Eric Blake.
58567
58568 2007-05-28  Bruno Haible  <bruno@clisp.org>
58569
58570         * modules/ftell-tests: New file.
58571         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58572         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58573
58574         * lib/ftell.c: New file.
58575         * modules/ftell: New file.
58576         * m4/ftell.m4: New file.
58577         * doc/functions/ftell.texi: Update.
58578         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58579         REPLACE_FTELL.
58580         * lib/stdio_.h (rpl_ftell): New declaration.
58581         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58582         REPLACE_FTELL.
58583
58584 2007-05-28  Eric Blake  <ebb9@byu.net>
58585
58586         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58587
58588 2007-05-28  Bruno Haible  <bruno@clisp.org>
58589
58590         * modules/fseek-tests: New file.
58591         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58592         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58593
58594         * lib/fseek.c: New file.
58595         * modules/fseek: New file.
58596         * m4/fseek.m4: New file.
58597         * doc/functions/fseek.texi: Update.
58598         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58599         REPLACE_FSEEK.
58600         * lib/stdio_.h (rpl_fseek): New declaration.
58601         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58602         REPLACE_FSEEK.
58603
58604 2007-05-28  Bruno Haible  <bruno@clisp.org>
58605
58606         * lib/stdio_.h (fflush): More comments.
58607
58608 2007-05-28  Bruno Haible  <bruno@clisp.org>
58609
58610         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58611         runtime test.
58612
58613 2007-05-28  Eric Blake  <ebb9@byu.net>
58614
58615         Improve lseek module.
58616         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58617         * lib/unistd_.h (lseek): Scale back link warning message.
58618         * tests/test-lseek.c: Beef up test.
58619         * tests/test-lseek.sh: Exercise more facets of lseek.
58620         Reported by Bruno Haible.
58621
58622 2007-05-28  Bruno Haible  <bruno@clisp.org>
58623
58624         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58625         to define.
58626
58627 2007-05-27  Bruno Haible  <bruno@clisp.org>
58628
58629         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58630
58631 2007-05-27  Bruno Haible  <bruno@clisp.org>
58632
58633         * modules/openmp: New file.
58634         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58635         Noah Misch.
58636
58637 2007-05-26  Bruno Haible  <bruno@clisp.org>
58638
58639         * modules/chdir-long (Depends-on): Add fchdir.
58640         * modules/chdir-safer (Depends-on): Likewise.
58641         * modules/fts (Depends-on): Likewise.
58642         * modules/fts-lgpl (Depends-on): Likewise.
58643         * modules/openat (Depends-on): Likewise.
58644         * modules/savewd (Depends-on): Likewise.
58645
58646 2007-05-24  Eric Blake  <ebb9@byu.net>
58647
58648         Fix lseek on mingw.
58649         * modules/lseek: New module.
58650         * m4/lseek.m4: New file.
58651         * lib/lseek.c: New file.
58652         * modules/lseek-tests: New file.
58653         * tests/test-lseek.c: New file.
58654         * tests/test-lseek.sh: New file.
58655         * MODULES.html.sh: Document lseek module.
58656         * modules/fflush (Depends-on): Add lseek, fseeko.
58657         * modules/fseeko (Depends-on): Likewise.
58658         * modules/ftello (Depends-on): Likewise.
58659         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58660         broken.
58661         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58662         broken.
58663         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58664         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58665         * lib/ftello.c (rpl_ftello): Likewise.
58666         * tests/test-fseeko.c (main): Test this.
58667         * tests/test-fseeko.sh: Likewise.
58668         * tests/test-ftello.c (main): Likewise.
58669         * tests/test-ftello.sh: Likewise.
58670         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58671         implies replacing fseek.
58672         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58673         HAVE_FTELLO.
58674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58675         * modules/unistd (Makefile.am): Likewise.
58676         * lib/unistd_.h (lseek): Declare a replacement.
58677         * doc/functions/lseek.texi (lseek): Document this fix.
58678         * doc/functions/fseek.texi (fseek): Likewise.
58679         * doc/functions/ftell.texi (ftell): Likewise.
58680
58681 2007-05-24  Bruno Haible  <bruno@clisp.org>
58682
58683         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58684         in the printed representation of a NaN.
58685         * tests/test-vasprintf-posix.c (test_function): Likewise.
58686         * tests/test-snprintf-posix.h (test_function): Likewise.
58687         * tests/test-sprintf-posix.h (test_function): Likewise.
58688         Reported by Eric Blake.
58689
58690 2007-05-23  Eric Blake  <ebb9@byu.net>
58691
58692         Fix fseeko/ftello on cygwin 1.5.24.
58693         * doc/functions/fseeko.texi (fseeko): Document the fix.
58694         * doc/functions/ftello.texi (ftello): Document the fix.
58695         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58696         * doc/functions/stdout.text (stdout): New file.
58697         * doc/functions/stderr.text (stderr): New file.
58698         * doc/gnulib.texi (Function Substitutes): Use new files.
58699         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58700         prior to 1.7.0.
58701         * tests/test-ftello.c (main): Likewise for ftello.
58702         * tests/test-fseeko.sh: New file.
58703         * tests/test-ftello.sh: New file.
58704         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58705         with seekable stdin.
58706         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58707         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58708         (gl_REPLACE_FSEEKO): New macro.
58709         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58710         * modules/fseeko (Files): Distribute fseeko.c.
58711         * modules/ftello (Files): Distribute ftello.c.
58712         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58713         mode.
58714         * lib/ftello.c (rpl_ftello): New file.
58715         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58716         fseeko, ftello.
58717         (gl_STDIN_LARGE_OFFSET): New macro.
58718         * modules/stdio (Makefile.am): Perform the replacement.
58719         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58720
58721 2007-05-23  Bruno Haible  <bruno@clisp.org>
58722
58723         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58724         GNULIB_POSIXCHECK is defined.
58725
58726 2007-05-21  Bruno Haible  <bruno@clisp.org>
58727
58728         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58729         Check also the output for NaN arguments. When cross-compiling, guess
58730         no on IRIX.
58731         * lib/vasnprintf.c: Update comments.
58732         * tests/test-vasnprintf-posix.c (strisnan): New function.
58733         (test_function): Use it.
58734         * tests/test-vasprintf-posix.c (strisnan): New function.
58735         (test_function): Use it.
58736         * tests/test-snprintf-posix.h (strisnan): New function.
58737         (test_function): Use it.
58738         * tests/test-sprintf-posix.h (strisnan): New function.
58739         (test_function): Use it.
58740         Reported by Eric Blake.
58741
58742 2007-05-20  Bruno Haible  <bruno@clisp.org>
58743
58744         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58745         numbers that fails on BeOS.
58746         * doc/functions/frexpl.texi: Update.
58747
58748 2007-05-20  Jim Meyering  <jim@meyering.net>
58749
58750         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58751         forced upon us by glibc-2.6.
58752
58753 2007-05-20  Bruno Haible  <bruno@clisp.org>
58754
58755         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58756         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58757         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58758         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58759         NEED_PRINTF_INFINITE.
58760         (is_infinitel): New function.
58761         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58762         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58763         gl_PREREQ_VASNPRINTF_INFINITE.
58764         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58765         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58766         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58767         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58768         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58769         gl_PREREQ_VASNPRINTF_INFINITE.
58770         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58771         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58772         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58773         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58774         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58775         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58776         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58777         * doc/functions/fprintf.texi: Update.
58778         * doc/functions/printf.texi: Update.
58779         * doc/functions/snprintf.texi: Update.
58780         * doc/functions/sprintf.texi: Update.
58781         * doc/functions/vfprintf.texi: Update.
58782         * doc/functions/vprintf.texi: Update.
58783         * doc/functions/vsnprintf.texi: Update.
58784         * doc/functions/vsprintf.texi: Update.
58785
58786 2007-05-20  Bruno Haible  <bruno@clisp.org>
58787
58788         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58789         was not found in libc.
58790         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58791
58792 2007-05-20  Bruno Haible  <bruno@clisp.org>
58793
58794         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58795         printed as "-nan" instead of "nan".
58796         * tests/test-vasprintf-posix.c (test_function): Likewise.
58797         * tests/test-snprintf-posix.h (test_function): Likewise.
58798         * tests/test-sprintf-posix.h (test_function): Likewise.
58799         Needed for HP-UX 11.
58800
58801 2007-05-20  Jim Meyering  <jim@meyering.net>
58802
58803         Fix buggy test for the fchownat-deref bug.
58804         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
58805         symlink required for the run-test.  Without it, this test would
58806         always declare that fchownat doesn't work, and client code would
58807         unnecessarily use the replacement function with fixed libc.
58808         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
58809         Reported by Greg Schafer.
58810
58811 2007-05-19  Bruno Haible  <bruno@clisp.org>
58812
58813         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
58814         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
58815         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
58816         Needed for IRIX 6.5 and Solaris 2.5.1.
58817
58818 2007-05-19  Bruno Haible  <bruno@clisp.org>
58819
58820         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
58821         (test_function): Skip tests involving -0.0 on platforms where
58822         -0.0 = 0.0.
58823         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
58824         (test_function): Skip tests involving -0.0 on platforms where
58825         -0.0 = 0.0.
58826         * tests/test-snprintf-posix.h (have_minus_zero): New function.
58827         (test_function): Skip tests involving -0.0 on platforms where
58828         -0.0 = 0.0.
58829         * tests/test-sprintf-posix.h (have_minus_zero): New function.
58830         (test_function): Skip tests involving -0.0 on platforms where
58831         -0.0 = 0.0.
58832         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
58833         tests.
58834         * tests/test-printf-posix.h (test_function): Likewise.
58835         * tests/test-printf-posix.output: Remove all -0.0 related results.
58836         Needed for IRIX 6.5.
58837
58838 2007-05-19  Bruno Haible  <bruno@clisp.org>
58839
58840         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58841         printed as "nan0x7fffffff" instead of "nan".
58842         * tests/test-vasprintf-posix.c (test_function): Likewise.
58843         * tests/test-snprintf-posix.h (test_function): Likewise.
58844         * tests/test-sprintf-posix.h (test_function): Likewise.
58845         * tests/test-fprintf-posix.h (NaN): Remove macro.
58846         (test_function): Remove all NaN related tests.
58847         * tests/test-printf-posix.h (NaN): Remove macro.
58848         (test_function): Remove all NaN related tests.
58849         * tests/test-printf-posix.output: Remove all NaN related results.
58850         Needed for IRIX 6.5.
58851
58852 2007-05-19  Bruno Haible  <bruno@clisp.org>
58853
58854         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
58855         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
58856
58857 2007-05-19  Bruno Haible  <bruno@clisp.org>
58858
58859         * lib/float_.h: New file.
58860         * m4/float_h.m4: New file.
58861         * modules/float: New file.
58862         * modules/isnanl (Dependencies): Add float.
58863         * modules/isnanl-nolibm (Dependencies): Likewise.
58864         * modules/mathl (Dependencies): Likewise.
58865         * modules/printf-frexpl (Dependencies): Likewise.
58866         * modules/signbit (Dependencies): Likewise.
58867         * modules/vasnprintf (Dependencies): Likewise.
58868         * doc/headers/float.texi: Update.
58869
58870 2007-05-19  Jim Meyering  <jim@meyering.net>
58871
58872         * lib/utimens.c (gl_futimens): Rename from futimens,
58873         now that glibc-2.6 declares futimens.
58874         * lib/utimens.h: Likewise.
58875
58876 2007-05-19  Bruno Haible  <bruno@clisp.org>
58877
58878         Avoid test failures on mingw.
58879         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
58880         * tests/test-printf-posix.sh: Likewise.
58881         * tests/test-vfprintf-posix.sh: Likewise.
58882         * tests/test-vprintf-posix.sh: Likewise.
58883
58884 2007-05-19  Bruno Haible  <bruno@clisp.org>
58885
58886         Fix *printf result for NaN, Inf, -0.0 on mingw.
58887         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
58888         * lib/vasnprintf.c: Include math.h and isnan.h.
58889         (is_infinite_or_zero): New function.
58890         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
58891         values in the %f, %F, %e, %E, %g, %G directives.
58892         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
58893         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58894         gl_PRINTF_INFINITE and test its result. Invoke
58895         gl_PREREQ_VASNPRINTF_INFINITE.
58896         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58897         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58898         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58899         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58900         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58901         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58902         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58903         * doc/functions/fprintf.texi: Update.
58904         * doc/functions/printf.texi: Update.
58905         * doc/functions/snprintf.texi: Update.
58906         * doc/functions/sprintf.texi: Update.
58907         * doc/functions/vfprintf.texi: Update.
58908         * doc/functions/vprintf.texi: Update.
58909         * doc/functions/vsnprintf.texi: Update.
58910         * doc/functions/vsprintf.texi: Update.
58911
58912 2007-05-19  Bruno Haible  <bruno@clisp.org>
58913
58914         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
58915         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
58916         Instead of multiplying with 10^k, set extra_zeroes to k.
58917         (scale10_round_long_double): Remove function.
58918
58919 2007-05-18  Bruno Haible  <bruno@clisp.org>
58920
58921         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
58922         introduced on 2007-05-06.
58923
58924 2007-05-18  Bruno Haible  <bruno@clisp.org>
58925
58926         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
58927         %g directives.
58928         * tests/test-vasprintf-posix.c (test_function): Likewise.
58929         * tests/test-snprintf-posix.h (test_function): Likewise.
58930         * tests/test-sprintf-posix.h (test_function): Likewise.
58931
58932 2007-05-18  Bruno Haible  <bruno@clisp.org>
58933
58934         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
58935         (strmatch): New function.
58936         (test_function): Test the %f directive on numbers of various exponents.
58937         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
58938         (strmatch): New function.
58939         (test_function): Test the %f directive on numbers of various exponents.
58940         * tests/test-snprintf-posix.h (strmatch): New function.
58941         (test_function): Test the %f directive on numbers of various exponents.
58942         * tests/test-sprintf-posix.h (strmatch): New function.
58943         (test_function): Test the %f directive on numbers of various exponents.
58944         * tests/test-snprintf-posix.c (SIZEOF): New macro.
58945         * tests/test-sprintf-posix.c (SIZEOF): New macro.
58946         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
58947         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
58948
58949 2007-05-18  Bruno Haible  <bruno@clisp.org>
58950
58951         Add support for 'long double' number output.
58952         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
58953         * lib/vasnprintf.c: Include math.h and float+.h.
58954         (mp_limb_t): New type.
58955         (GMP_LIMB_BITS): New macro.
58956         (mp_twolimb_t): New type.
58957         (GMP_TWOLIMB_BITS): New macro.
58958         (mpn_t): New type.
58959         (multiply, divide, convert_to_decimal, decode_long_double,
58960         scale10_round_long_double, scale10_round_decimal_long_double,
58961         floorlog10l): New functions.
58962         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
58963         for the %f, %F, %e, %E, %g, %G directives.
58964         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
58965         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58966         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
58967         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
58968         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58969         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58970         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58971         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58972         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58973         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58974         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58975         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
58976         * modules/snprintf-posix (Depends-on): Likewise.
58977         * modules/sprintf-posix (Depends-on): Likewise.
58978         * modules/vasnprintf-posix (Depends-on): Likewise.
58979         * modules/vasprintf-posix (Depends-on): Likewise.
58980         * modules/vfprintf-posix (Depends-on): Likewise.
58981         * modules/vsnprintf-posix (Depends-on): Likewise.
58982         * modules/vsprintf-posix (Depends-on): Likewise.
58983         * modules/vasnprintf (Files): Add lib/float+.h.
58984         * doc/functions/fprintf.texi: Update.
58985         * doc/functions/printf.texi: Update.
58986         * doc/functions/snprintf.texi: Update.
58987         * doc/functions/sprintf.texi: Update.
58988         * doc/functions/vfprintf.texi: Update.
58989         * doc/functions/vprintf.texi: Update.
58990         * doc/functions/vsnprintf.texi: Update.
58991         * doc/functions/vsprintf.texi: Update.
58992
58993 2007-05-18  Bruno Haible  <bruno@clisp.org>
58994
58995         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
58996
58997 2007-05-18  Bruno Haible  <bruno@clisp.org>
58998
58999         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
59000         for printing 64-bit integers. Needed for mingw.
59001
59002 2007-05-18  Bruno Haible  <bruno@clisp.org>
59003
59004         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
59005         gl_FUNC_FREXPL_WORKS.
59006         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
59007
59008 2007-05-18  Bruno Haible  <bruno@clisp.org>
59009
59010         * modules/frexpl-nolibm-tests: New file.
59011
59012         * modules/frexpl-nolibm: New file.
59013         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
59014
59015 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59016
59017         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
59018         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59019         GCC 4.2, which otherwise issues a lot of warnings.
59020         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
59021         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
59022         Likewise.
59023         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
59024         * modules/iconv_open (iconv.h): Likewise.
59025         * modules/locale (locale.h): Likewise.
59026         * modules/netinet_in (netinet/in.h): Likewise.
59027         * modules/sys_select (sys_select.h): Likewise.
59028         * modules/sys_socket (sys/socket.h): Likewise.
59029         * modules/sys_stat (sys/stat.h): Likewise.
59030         * modules/sysexits (sysexits.h): Likewise.
59031         * modules/unistd (unistd.h): Likewise.
59032
59033 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59034
59035         * modules/closein-tests (Makefile.am): Distribute
59036         `test-closein.sh'.
59037
59038 2007-05-17  Bruno Haible  <bruno@clisp.org>
59039
59040         * tests/test-printf-posix.output: Renamed from
59041         tests/test-fprintf-posix.out.
59042         * modules/fprintf-posix-tests: Update.
59043         * modules/printf-posix-tests: Update.
59044         * modules/vfprintf-posix-tests: Update.
59045         * modules/vprintf-posix-tests: Update.
59046         * tests/test-fprintf-posix.sh: Update.
59047         * tests/test-printf-posix.sh: Update.
59048         * tests/test-vfprintf-posix.sh: Update.
59049         * tests/test-vprintf-posix.sh: Update.
59050         Reported by Ralf Wildenhues.
59051
59052 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59053
59054         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
59055         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59056         GCC 4.2, which otherwise issues a lot of warnings.
59057         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
59058         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
59059         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
59060         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
59061         it should no longer be needed.
59062         * lib/string_.h: Likewise.
59063         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
59064         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
59065         * modules/inttypes (inttypes.h): Likewise.
59066         * modules/math (math.h): Likewise.
59067         * modules/search (search.h): Likewise.
59068         * modules/signal (signal.h): Likewise.
59069         * modules/stdint (stdint.h): Likewise.
59070         * modules/stdio (stdio.h): Likewise.
59071         * modules/stdlib (stdlib.h): Likewise.
59072         * modules/string (string.h): Likewise.
59073         * modules/sys_time (sys/time.h): Likewise.
59074         * modules/time (time.h): Likewise.
59075         * modules/wchar (wchar.h): Likewise.
59076         * modules/wctype (wtype.h): Likewise.
59077
59078 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59079
59080         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
59081
59082 2007-05-13  Bruno Haible  <bruno@clisp.org>
59083
59084         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
59085         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59086         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
59087         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59088         (gl_PREREQ_STRTOK_R): Don't require it here.
59089
59090 2007-05-13  Bruno Haible  <bruno@clisp.org>
59091
59092         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
59093         when used in C++ mode.
59094
59095 2007-05-12  Bruno Haible  <bruno@clisp.org>
59096
59097         * lib/linebuffer.h: Tweak doc.
59098         * lib/linebuffer.c: Likewise.
59099
59100 2007-05-12  James Youngman  <jay@gnu.org>
59101
59102         * lib/linebuffer.c (readlinebuffer_delim): New function,
59103         like readlinebuffer, but use a caller-specified delimiter.
59104         (readlinebuffer): Just call readlinebuffer_delim with '\n'
59105         as the delimiter.
59106         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
59107
59108 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59109
59110         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
59111         * modules/openat (Files): Remove openat-die.c.
59112         (Depends-on): Add openat-die.
59113         * modules/openat-die: New module.
59114
59115 2007-05-06  Bruno Haible  <bruno@clisp.org>
59116
59117         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
59118         Update with info about Cygwin.
59119         * doc/functions/fprintf.texi: Update.
59120         * doc/functions/printf.texi: Update.
59121         * doc/functions/snprintf.texi: Update.
59122         * doc/functions/sprintf.texi: Update.
59123         * doc/functions/vfprintf.texi: Update.
59124         * doc/functions/vprintf.texi: Update.
59125         * doc/functions/vsnprintf.texi: Update.
59126         * doc/functions/vsprintf.texi: Update.
59127         Reported by Eric Blake.
59128
59129 2007-05-06  Bruno Haible  <bruno@clisp.org>
59130
59131         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
59132         padding ourselves for the floating-point directives.
59133         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
59134         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
59135         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59136         gl_PRINTF_FLAG_ZERO and test its result. Invoke
59137         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
59138         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59139         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59140         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59141         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59142         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59143         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59144         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59145         * tests/test-snprintf-posix.h (test_function): Also check the width
59146         and some flags in the %f directive.
59147         * tests/test-sprintf-posix.h (test_function): Likewise.
59148         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59149         * tests/test-vasprintf-posix.c (test_function): Likewise.
59150         * doc/functions/fprintf.texi: Update.
59151         * doc/functions/printf.texi: Update.
59152         * doc/functions/snprintf.texi: Update.
59153         * doc/functions/sprintf.texi: Update.
59154         * doc/functions/vfprintf.texi: Update.
59155         * doc/functions/vprintf.texi: Update.
59156         * doc/functions/vsnprintf.texi: Update.
59157         * doc/functions/vsprintf.texi: Update.
59158
59159 2007-05-06  Bruno Haible  <bruno@clisp.org>
59160
59161         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
59162         pass the ' flag character to sprintf or snprintf.
59163         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
59164         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
59165         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59166         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
59167         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
59168         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59169         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59170         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59171         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59172         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59173         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59174         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59175         * tests/test-snprintf-posix.h (test_function): Also check the grouping
59176         flag.
59177         * tests/test-sprintf-posix.h (test_function): Likewise.
59178         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59179         * tests/test-vasprintf-posix.c (test_function): Likewise.
59180         * doc/functions/fprintf.texi: Update.
59181         * doc/functions/printf.texi: Update.
59182         * doc/functions/snprintf.texi: Update.
59183         * doc/functions/sprintf.texi: Update.
59184         * doc/functions/vfprintf.texi: Update.
59185         * doc/functions/vprintf.texi: Update.
59186         * doc/functions/vsnprintf.texi: Update.
59187         * doc/functions/vsprintf.texi: Update.
59188
59189 2007-05-01  Bruno Haible  <bruno@clisp.org>
59190
59191         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
59192
59193 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
59194
59195         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
59196         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
59197
59198 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59199
59200         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
59201         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
59202         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
59203
59204 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
59205
59206         * lib/argp-help.c (struct hol_entry): New member `ord'.
59207         (HOL_ENTRY_PTRCMP): Use ord for comparison
59208         (hol_sort): Initialize ord.
59209
59210 2007-05-01  Bruno Haible  <bruno@clisp.org>
59211
59212         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
59213         Reported by Eric Blake.
59214         * doc/gnulib.texi (Function Substitutes): Update.
59215
59216 2007-05-01  Bruno Haible  <bruno@clisp.org>
59217
59218         * doc/functions.texi: Remove file, now redundant through
59219         doc/functions/*.texi.
59220
59221 2007-05-01  Bruno Haible  <bruno@clisp.org>
59222
59223         * modules/argp (Depends-on): Add sleep.
59224
59225 2007-05-01  Bruno Haible  <bruno@clisp.org>
59226
59227         * modules/sleep-tests: New file.
59228         * tests/test-sleep.c: New file.
59229
59230         * modules/sleep: New file.
59231         * lib/sleep.c: New file.
59232         * m4/sleep.m4: New file.
59233         * lib/unistd_.h (sleep): New declaration.
59234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
59235         HAVE_SLEEP.
59236         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
59237         * doc/functions/sleep.texi: Document the sleep module.
59238
59239 2007-05-01  Bruno Haible  <bruno@clisp.org>
59240
59241         * lib/sigprocmask.h: Remove file.
59242         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
59243         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
59244         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
59245         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
59246         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
59247         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
59248         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
59249         HAVE_SIGSET_T as a shell variable.
59250         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
59251         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
59252         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
59253         (Depends-on): Add signal. Remove verify.
59254         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
59255         (Include): Mention <signal.h> instead of sigprocmask.h.
59256         * NEWS: Mention the change.
59257         * lib/fatal-signal.c: Don't include sigprocmask.h.
59258
59259 2007-05-01  Bruno Haible  <bruno@clisp.org>
59260
59261         * modules/signal: New file.
59262         * lib/signal_.h: New file.
59263         * m4/signal_h.m4: New file.
59264
59265 2007-05-01  Bruno Haible  <bruno@clisp.org>
59266
59267         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
59268         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
59269         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
59270         HAVE_WCTYPE_CTMP_BUG into wctype.h.
59271
59272 2007-05-01  Bruno Haible  <bruno@clisp.org>
59273
59274         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
59275         configure time.
59276         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
59277         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
59278         * modules/sys_stat (Makefile.am): Substitute their values into
59279         sys/stat.h.
59280
59281 2007-05-01  Bruno Haible  <bruno@clisp.org>
59282
59283         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
59284         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
59285         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
59286
59287 2007-05-01  Bruno Haible  <bruno@clisp.org>
59288
59289         * doc/header/assert.texi: Undo last change: don't mention the gnulib
59290         'assert' module here.
59291
59292 2007-05-01  Bruno Haible  <bruno@clisp.org>
59293
59294         * doc/functions/*.texi: New files.
59295         * doc/functions/google-ranking.txt: New file.
59296         * doc/gnulib.texi (Function Substitutes): New chapter.
59297         (ctime, inet_ntoa): Remove sections.
59298         * doc/ctime.texi: Remove file.
59299         * doc/inet_ntoa.texi: Remove file.
59300         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
59301         dependencies.
59302         (%.info): New rule, specifying a --reference-limit.
59303
59304 2007-05-01  Bruno Haible  <bruno@clisp.org>
59305
59306         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
59307
59308 2007-05-01  Bruno Haible  <bruno@clisp.org>
59309
59310         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
59311         the portability of 'mkdir' to mingw systems.
59312
59313 2007-05-01  Bruno Haible  <bruno@clisp.org>
59314
59315         * doc/headers/google-ranking.txt: New file.
59316
59317 2007-04-30  Eric Blake  <ebb9@byu.net>
59318
59319         Prefer fseeko to fseek.
59320         * modules/getpass (Depends-on): Add fseeko.
59321         * lib/getpass.c (getpass): Use fseeko, not fseek.
59322
59323 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
59324
59325         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
59326         assumes the sorting is stable, while most qsort implementations
59327         are not.  Use argument addresses to ensure they never compare as
59328         equal.
59329
59330         * tests/test-argp-2.sh (usage-indent test): Fix output
59331         (func_compare): Restore diff options
59332         * tests/test-argp.c: Restore #include "progname.h"
59333
59334 2007-04-29  Bruno Haible  <bruno@clisp.org>
59335
59336         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
59337         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59338         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
59339         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59340         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
59341         (configure.ac): Define CHECK_SNPRINTF_POSIX.
59342         (TESTS, check_PROGRAMS): Add test-snprintf.
59343         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
59344         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
59345         (TESTS, check_PROGRAMS): Add test-vsnprintf.
59346         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
59347         assertions that fail on HP-UX, OSF/1, or IRIX.
59348         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
59349
59350 2007-04-29  Bruno Haible  <bruno@clisp.org>
59351
59352         * MODULES.html.sh (posix_functions): Remove 'contents'.
59353
59354 2007-04-29  Karl Berry  <karl@gnu.org>
59355
59356         * config/srclist.txt (gendocs_template_min): new entry.
59357
59358 2007-04-29  Bruno Haible  <bruno@clisp.org>
59359
59360         Work around fpurge bug on BSD systems.
59361         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
59362         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
59363         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
59364         fpurge to rpl_fpurge if the system already has this function.
59365         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
59366         the case where the system already has this function. Correct invariants
59367         on BSD systems.
59368         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
59369         BSD systems.
59370
59371 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59372
59373         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
59374         proposed by Sven Verdoolaege.
59375
59376         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
59377         options.
59378         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
59379         (usage and help tests): Update
59380
59381 2007-04-29  Bruno Haible  <bruno@clisp.org>
59382
59383         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59384         Print more information in case of failure. Disable a test on BeOS.
59385
59386 2007-04-29  Bruno Haible  <bruno@clisp.org>
59387
59388         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59389         This helps debugging on systems on which no gdb is available.
59390
59391 2007-04-29  Bruno Haible  <bruno@clisp.org>
59392
59393         * lib/freading.h: Improve comments.
59394         * lib/fwriting.h: Likewise.
59395         * tests/test-freading.c (main): Don't check freading immediately after
59396         repositioning. Needed for glibc.
59397
59398 2007-04-29  Bruno Haible  <bruno@clisp.org>
59399
59400         * lib/freading.c (freading): Trivial simplification.
59401
59402 2007-04-28  Bruno Haible  <bruno@clisp.org>
59403
59404         * tests/test-fwriting.c (main): Also test the interaction between
59405         fflush and fwriting.
59406         * modules/fwriting-tests (Depends-on): Add fflush.
59407
59408         * tests/test-freading.c (main): Also test the interaction between
59409         fflush and freading.
59410         * modules/freading-tests (Depends-on): Add fflush.
59411
59412 2007-04-28  Bruno Haible  <bruno@clisp.org>
59413
59414         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59415         fseeko and ftello.
59416         Suggested by Eric Blake.
59417
59418 2007-04-28  Jim Meyering  <jim@meyering.net>
59419
59420         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59421         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59422         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59423
59424 2007-04-27  Eric Blake  <ebb9@byu.net>
59425
59426         * doc/headers/assert.texi (assert.h): Document assert module use.
59427
59428 2007-04-27  Bruno Haible  <bruno@clisp.org>
59429
59430         * doc/headers/*.texi: New files.
59431         * doc/gnulib.texi (Header File Substitutes): New chapter.
59432         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59433         dependencies.
59434         (standards.info ,standards.html, standards.dvi): Update dependencies.
59435         (mostlyclean, clean): New targets.
59436
59437 2007-04-27  Bruno Haible  <bruno@clisp.org>
59438
59439         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59440         * modules/sysexits (Files, Makefile.am): Update.
59441
59442         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59443         * modules/sys_socket (Files, Makefile.am): Update.
59444
59445         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59446         * modules/sys_stat (Files, Makefile.am): Update.
59447
59448 2007-04-27  Eric Blake  <ebb9@byu.net>
59449
59450         * lib/freading.h: Improve comments.
59451         * lib/fwriting.h: Likewise.
59452         * lib/fflush.c: Likewise.
59453
59454         Fix closein for mingw.
59455         * modules/closein-tests: Add tests for closein.
59456         * tests/test-closein.c: New file.
59457         * tests/test-closein.sh: Likewise.
59458         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59459         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59460
59461 2007-04-27  Bruno Haible  <bruno@clisp.org>
59462
59463         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59464         version is < 6.
59465         * lib/math_.h [__DECC]: Likewise.
59466         * lib/stdio_.h [__DECC]: Likewise.
59467         * lib/stdlib_.h [__DECC]: Likewise.
59468         * lib/string_.h [__DECC]: Likewise.
59469         * lib/time_.h [__DECC]: Likewise.
59470         * lib/wchar_.h [__DECC]: Likewise.
59471         * lib/wctype_.h [__DECC]: Likewise.
59472
59473 2007-04-27  Bruno Haible  <bruno@clisp.org>
59474
59475         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59476
59477 2007-04-27  Bruno Haible  <bruno@clisp.org>
59478
59479         * lib/fflush.c: Add comments.
59480         * modules/fpurge-tests (Depends-on): Add fflush.
59481         * modules/freadable-tests (Depends-on): Likewise.
59482         * modules/fwritable-tests (Depends-on): Likewise.
59483
59484 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59485
59486         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59487         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59488         Report by Bruno Haible <bruno@clisp.org>.
59489
59490 2007-04-26  Eric Blake  <ebb9@byu.net>
59491
59492         Fix fflush on mingw.
59493         * modules/fflush (Depends-on): Add freading.
59494         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59495         but unread data.
59496
59497 2007-04-26  Eric Blake  <ebb9@byu.net>
59498         and Bruno Haible  <bruno@clisp.org>
59499
59500         Implement freading and fwriting.
59501         * lib/freading.c: New file.
59502         * lib/freading.h: Likewise.
59503         * m4/freading.m4: Likewise.
59504         * modules/freading: Likewise.
59505         * modules/freading-tests: Likewise.
59506         * tests/test-freading.c: Likewise.
59507         * lib/fwriting.c: New file.
59508         * lib/fwriting.h: Likewise.
59509         * m4/fwriting.m4: Likewise.
59510         * modules/fwriting: Likewise.
59511         * modules/fwriting-tests: Likewise.
59512         * tests/test-fwriting.c: Likewise.
59513         * MODULES.html.sh (File stream based Input/Output): Mention them.
59514
59515 2007-04-26  Bruno Haible  <bruno@clisp.org>
59516
59517         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59518         'long' when we assume it.
59519         Suggested by Eric Blake.
59520
59521 2007-04-26  Bruno Haible  <bruno@clisp.org>
59522
59523         Ensure fseeko, ftello are declared on glibc systems.
59524         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59525         * modules/fseeko (configure.ac-early): Likewise.
59526         * modules/ftello (configure.ac-early): Likewise.
59527         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59528         AC_FUNC_FSEEKO for this.
59529         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59530         (gl_CHECK_FSEEKO): Remove macro.
59531
59532 2007-04-26  Bruno Haible  <bruno@clisp.org>
59533
59534         * tests/test-fflush.c (main): Also check the ftell result after
59535         fflush and fseek/fseeko.
59536         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59537         file descriptor position cache in the stream.
59538         * lib/fseeko.c (rpl_fseeko): Likewise.
59539
59540 2007-04-26  Bruno Haible  <bruno@clisp.org>
59541
59542         * modules/fflush-tests (Depends-on): Add fseeko.
59543
59544 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59545             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59546
59547         * lib/argz_.h: ensure error_t definition is obtained in same
59548         mechanism system argz.h would have.
59549         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59550         argz facilities are known bad.  Err on the side of caution if
59551         cross-compiling.
59552
59553 2007-04-25  Eric Blake  <ebb9@byu.net>
59554
59555         * lib/fpurge.c (includes): Use stdlib.h for free.
59556         * tests/test-fflush.c (main): Also test fflush-fseeko.
59557
59558 2007-04-25  Bruno Haible  <bruno@clisp.org>
59559
59560         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59561         * lib/fseeko.c: New file.
59562         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59563         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59564         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59565         gl_FUNC_FSEEKO.
59566         (gl_FUNC_FSEEKO): Invoke it.
59567         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59568         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59569         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59570
59571 2007-04-25  Bruno Haible  <bruno@clisp.org>
59572
59573         * modules/fflush (Depends-on): Add ftello.
59574
59575 2007-04-25  Bruno Haible  <bruno@clisp.org>
59576
59577         * modules/ftello-tests: New file.
59578         * tests/test-ftello.c: New file.
59579
59580         * modules/ftello: New file.
59581         * m4/ftello.m4: New file.
59582         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59583         HAVE_FTELLO.
59584         * lib/stdio_.h (ftello): New declaration.
59585         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59586         HAVE_FTELLO.
59587
59588 2007-04-25  Bruno Haible  <bruno@clisp.org>
59589
59590         * modules/fseeko-tests: New file.
59591         * tests/test-fseeko.c: New file.
59592
59593         * modules/fseeko: New file.
59594         * m4/fseeko.m4: New file.
59595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59596         HAVE_FSEEKO.
59597         * lib/stdio_.h (fseeko): New declaration.
59598         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59599         HAVE_FSEEKO.
59600
59601 2007-04-25  Bruno Haible  <bruno@clisp.org>
59602
59603         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59604
59605 2007-04-25  Bruno Haible  <bruno@clisp.org>
59606
59607         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59608         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59609         * tests/test-unistd.c: Likewise.
59610         * tests/test-fcntl.c: Likewise.
59611
59612 2007-04-23  Eric Blake  <ebb9@byu.net>
59613
59614         * lib/fflush.c: Fix missing include.
59615         Reported by Bruno Haible.
59616
59617 2007-04-23  Bruno Haible  <bruno@clisp.org>
59618
59619         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59620         Reported by Eric Blake.
59621
59622 2007-04-23  Bruno Haible  <bruno@clisp.org>
59623
59624         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59625
59626 2007-04-23  Bruno Haible  <bruno@clisp.org>
59627
59628         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59629
59630 2007-04-23  Bruno Haible  <bruno@clisp.org>
59631
59632         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59633         Needed on HP-UX 11.
59634
59635 2007-04-16  Eric Blake  <ebb9@byu.net>
59636
59637         Make fflush rely on fpurge.
59638         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59639         open coding all variants.
59640         * modules/fflush (Depends-on): Add fpurge and unistd.
59641         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59642         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59643
59644         Fix --with-tests compilation on cygwin.
59645         * modules/argmatch-tests (Makefile.am): List gnulib library first
59646         in LDADD.
59647         * modules/argp-tests (Makefile.am): Likewise.
59648         * modules/array-list-tests (Makefile.am): Likewise.
59649         * modules/array-oset-tests (Makefile.am): Likewise.
59650         * modules/avltree-list-tests (Makefile.am): Likewise.
59651         * modules/avltree-oset-tests (Makefile.am): Likewise.
59652         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59653         * modules/carray-list-tests (Makefile.am): Likewise.
59654         * modules/dirname-tests (Makefile.am): Likewise.
59655         * modules/frexp-tests (Makefile.am): Likewise.
59656         * modules/isnanl-tests (Makefile.am): Likewise.
59657         * modules/linked-list-tests (Makefile.am): Likewise.
59658         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59659         * modules/lock-tests (Makefile.am): Likewise.
59660         * modules/rbtree-list-tests (Makefile.am): Likewise.
59661         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59662         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59663         * modules/tls-tests (Makefile.am): Likewise.
59664         * modules/tsearch-tests (Makefile.am): Likewise.
59665         * modules/xvasprintf-tests (Makefile.am): Likewise.
59666
59667         Fix fpurge for cygwin.
59668         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59669         value.
59670         * modules/fpurge-tests (Depends-on): Clean up trash.
59671
59672 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59673
59674         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59675
59676         * m4/autobuild.m4: Re-indent.
59677
59678 2007-04-13  Bruno Haible  <bruno@clisp.org>
59679
59680         * modules/fpurge-tests: New file.
59681         * tests/test-fpurge.c: New file.
59682
59683         * modules/fpurge: New file.
59684         * lib/fpurge.h: New file.
59685         * lib/fpurge.c: New file.
59686         * m4/fpurge.m4: New file.
59687
59688 2007-04-13  Bruno Haible  <bruno@clisp.org>
59689
59690         * modules/fbufmode-tests: New file.
59691         * tests/test-fbufmode.c: New file.
59692
59693         * modules/fbufmode: New file.
59694         * lib/fbufmode.h: New file.
59695         * lib/fbufmode.c: New file.
59696         * m4/fbufmode.m4: New file.
59697
59698 2007-04-13  Bruno Haible  <bruno@clisp.org>
59699
59700         * modules/fwritable-tests: New file.
59701         * tests/test-fwritable.c: New file.
59702
59703         * modules/fwritable: New file.
59704         * lib/fwritable.h: New file.
59705         * lib/fwritable.c: New file.
59706         * m4/fwritable.m4: New file.
59707
59708 2007-04-13  Bruno Haible  <bruno@clisp.org>
59709
59710         * modules/freadable-tests: New file.
59711         * tests/test-freadable.c: New file.
59712
59713         * modules/freadable: New file.
59714         * lib/freadable.h: New file.
59715         * lib/freadable.c: New file.
59716         * m4/freadable.m4: New file.
59717
59718 2007-04-13  Bruno Haible  <bruno@clisp.org>
59719
59720         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59721         MOSTLYCLEANFILES.
59722
59723 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59724
59725         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59726         gzip bootstrap.conf to avoid dragging in i18n machinery.
59727         (gnulib_tool_option): Use it.
59728
59729 2007-04-13  Bruno Haible  <bruno@clisp.org>
59730
59731         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59732         %F directives.
59733         * tests/test-vasprintf-posix.c (test_function): Likewise.
59734         * tests/test-snprintf-posix.h (test_function): Likewise.
59735         * tests/test-sprintf-posix.h (test_function): Likewise.
59736         * tests/test-fprintf-posix.h (test_function): Likewise.
59737         * tests/test-printf-posix.h (test_function): Likewise.
59738         * tests/test-fprintf-posix.out: Likewise.
59739
59740 2007-04-13  Bruno Haible  <bruno@clisp.org>
59741
59742         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59743         * modules/tls-tests (configure.ac): Likewise.
59744         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59745
59746 2007-04-13  Bruno Haible  <bruno@clisp.org>
59747
59748         * lib/tls.c (glthread_tls_get): Fix return type.
59749         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59750
59751 2007-04-12  Eric Blake  <ebb9@byu.net>
59752
59753         * modules/gettime (Depends-on): Remove gettime.
59754         Reported by Dmitry V. Levin.
59755
59756 2007-04-12  Bruno Haible  <bruno@clisp.org>
59757
59758         * modules/fflush (Include): Mention <stdio.h>.
59759         * modules/strtoimax (Include): Mention <inttypes.h>.
59760         * modules/strtoumax (Include): Likewise.
59761
59762 2007-04-12  Eric Blake  <ebb9@byu.net>
59763
59764         * .cvsignore: New file.
59765         * .gitignore: Likewise.
59766
59767 2007-04-12  Bruno Haible  <bruno@clisp.org>
59768
59769         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59770         not before, since $(LDADD) often contains libgnu.a.
59771         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59772         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59773         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59774         Needed on Cygwin.
59775
59776 2007-04-12  Eric Blake  <ebb9@byu.net>
59777
59778         Work around glibc's failure to flush stdin on fclose.
59779         * lib/closein.c (close_stdin): Flush stdin before closing.
59780
59781         Work around glibc's failure to reset seekable stdin on exit.
59782         * modules/closein: New module.
59783         * lib/closein.c: New file.
59784         * lib/closein.h: Likewise.
59785         * m4/closein.m4: Likewise.
59786         * MODULES.html.sh (File stream based Input/Output): Document it.
59787
59788 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59789
59790         * gnulib-tool: Rename generated 'autobuild' script to
59791         'do-autobuild' in --create-megatestdir output.
59792
59793         * doc/gnulib.texi (Build robot for gnulib): Fix.
59794
59795 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59796
59797         * modules/sysexits (Depends-on): Add absolute-header.
59798
59799 2007-04-12  Eric Blake  <ebb9@byu.net>
59800
59801         No need to preserve errno on success.
59802         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
59803         Reported by Bruno Haible.
59804
59805 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59806
59807         * MODULES.html.sh (Support for maintaining and releasing
59808         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
59809
59810 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59811
59812         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
59813
59814 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59815
59816         * modules/autobuild: New module.
59817
59818         * m4/autobuild.m4: New file.
59819
59820 2007-04-11  Bruno Haible  <bruno@clisp.org>
59821
59822         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
59823         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
59824         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
59825         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
59826         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59827         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59828         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59829         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59830         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59831         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59832         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
59833         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59834         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59835         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
59836         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59837         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59838         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
59839         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59840         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59841         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
59842         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59843         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59844         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
59845         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59846         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59847         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
59848         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59849         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59850         Reported by Eric Blake.
59851
59852 2007-04-11  Bruno Haible  <bruno@clisp.org>
59853
59854         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
59855
59856 2007-04-10  Bruno Haible  <bruno@clisp.org>
59857
59858         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
59859         for NaN and Infinity. Needed on FreeBSD 6.1.
59860         * tests/test-vasnprintf-posix.c (test_function): Undo last change
59861         regarding results for "%010a" of Infinity and NaN.
59862         * tests/test-vasprintf-posix.c (test_function): Likewise.
59863         * tests/test-snprintf-posix.h (test_function): Likewise.
59864         * tests/test-sprintf-posix.h (test_function): Likewise.
59865         * tests/test-fprintf-posix.h (test_function): Likewise.
59866         * tests/test-printf-posix.h (test_function): Likewise.
59867         * tests/test-fprintf-posix.out: Likewise.
59868
59869 2007-04-10  Bruno Haible  <bruno@clisp.org>
59870
59871         * modules/locale-tests: New file.
59872         * tests/test-locale.c: New file.
59873
59874         * modules/locale: New file.
59875         * lib/locale_.h: New file.
59876         * m4/locale_h.m4: New file.
59877
59878 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
59879             Bruno Haible  <bruno@clisp.org>
59880
59881         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
59882         be determined, test for availability of the copysignf, copysign,
59883         copysignl functions.
59884         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
59885         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
59886         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
59887
59888 2007-04-09  Eric Blake  <ebb9@byu.net>
59889
59890         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
59891         * modules/stdio (Makefile.am): Support fflush.
59892         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59893         * modules/fflush: New file.
59894         * lib/fflush.c: Likewise.
59895         * m4/fflush.m4: Likewise.
59896         * modules/fflush-tests: New test.
59897         * tests/test-fflush.c: Likewise.
59898         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
59899
59900 2007-04-06  Bruno Haible  <bruno@clisp.org>
59901
59902         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
59903         (VASNPRINTF): Use signbit for faster determination whether to print a
59904         minus sign.
59905         * modules/vasnprintf (Files): Remove lib/float+.h.
59906         * modules/fprintf-posix (Depends-on): Add signbit.
59907         * modules/snprintf-posix (Depends-on): Likewise.
59908         * modules/sprintf-posix (Depends-on): Likewise.
59909         * modules/vasnprintf-posix (Depends-on): Likewise.
59910         * modules/vasprintf-posix (Depends-on): Likewise.
59911         * modules/vfprintf-posix (Depends-on): Likewise.
59912         * modules/vsnprintf-posix (Depends-on): Likewise.
59913         * modules/vsprintf-posix (Depends-on): Likewise.
59914
59915 2007-04-06  Bruno Haible  <bruno@clisp.org>
59916
59917         * tests/test-frexp.c (main): Test also the sign bit of zero results.
59918         * tests/test-frexpl.c (main): Likewise.
59919         * tests/test-ldexpl.c (main): Likewise.
59920         * modules/frexp-tests (Depends-on): Add signbit.
59921         * modules/frexpl-tests (Depdends-on): Likewise.
59922         * modules/ldexpl-tests (Depdends-on): Likewise.
59923
59924 2007-04-06  Bruno Haible  <bruno@clisp.org>
59925
59926         * modules/signbit-tests: New file.
59927         * tests/test-signbit.c: New file.
59928
59929         * modules/signbit: New file.
59930         * lib/signbitf.c: New file.
59931         * lib/signbitd.c: New file.
59932         * lib/signbitl.c: New file.
59933         * m4/signbit.m4: New file.
59934         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
59935         (signbit): New macro.
59936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
59937         REPLACE_SIGNBIT.
59938         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
59939         REPLACE_FREXPL into math.h.
59940
59941 2007-04-06  Bruno Haible  <bruno@clisp.org>
59942
59943         * modules/isnanf-nolibm-tests: New file.
59944         * tests/test-isnanf.c: New file.
59945
59946         * modules/isnanf-nolibm: New file.
59947         * lib/isnanf.h: New file.
59948         * lib/isnanf.c: New file.
59949         * lib/isnan.c: Consider the USE_FLOAT macro.
59950         * m4/isnanf.m4: New file.
59951
59952 2007-04-06  Bruno Haible  <bruno@clisp.org>
59953
59954         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
59955         (Link): New section.
59956
59957         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
59958
59959 2007-04-06  Bruno Haible  <bruno@clisp.org>
59960
59961         Assume the 'long double' type.
59962         * m4/longdouble.m4: Remove file.
59963         * config/srclist.txt: Don't mention longdouble.m4.
59964         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
59965         * lib/float+.h: Likewise.
59966         * lib/frexp.c: Likewise.
59967         * lib/printf-args.h: Likewise.
59968         * lib/printf-args.c: Likewise.
59969         * lib/printf-frexp.c: Likewise.
59970         * lib/printf-parse.c: Likewise.
59971         * lib/vasnprintf.c: Likewise.
59972         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
59973         * m4/intl.m4: Likewise.
59974         * m4/isnanl.m4: Likewise.
59975         * m4/printf.m4: Likewise.
59976         * m4/printf-frexpl.m4: Likewise.
59977         * m4/vasnprintf.m4: Likewise.
59978         * modules/allocsa (Files): Remove m4/longdouble.m4.
59979         * modules/gettext (Files): Likewise.
59980         * modules/relocatable-prog-wrapper (Files): Likewise.
59981         * modules/vasnprintf (Files): Likewise.
59982         * modules/isnanl (Files): Likewise.
59983         (Include): Simplify.
59984         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
59985         (Include): Simplify.
59986         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
59987         (Include): Simplify.
59988         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
59989         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59990         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
59991         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59992         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59993         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59994         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
59995         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59996         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59997         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59998         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
59999         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60000         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
60001         * tests/test-isnanl.c: Likewise.
60002         * tests/test-snprintf-posix.h: Likewise.
60003         * tests/test-sprintf-posix.h: Likewise.
60004         * tests/test-vasnprintf-posix.c: Likewise.
60005         * tests/test-vasnprintf-posix2.c: Likewise.
60006         * tests/test-vasprintf-posix.c: Likewise.
60007
60008 2007-04-06  Bruno Haible  <bruno@clisp.org>
60009
60010         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
60011         * lib/math_.h [__DECC]: Include the overridden include file through
60012         #include_next, outside the double-inclusion guard.
60013         * lib/stdio_.h [__DECC]: Likewise.
60014         * lib/stdlib_.h [__DECC]: Likewise.
60015         * lib/string_.h [__DECC]: Likewise.
60016         * lib/time_.h [__DECC]: Likewise.
60017         * lib/wchar_.h [__DECC]: Likewise.
60018         * lib/wctype_.h [__DECC]: Likewise.
60019         * lib/inttypes_.h [__DECC]: Likewise.
60020         Reported by Albert Chin <china@thewrittenword.com> in
60021         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
60022
60023 2007-04-04  Eric Blake  <ebb9@byu.net>
60024
60025         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
60026         1.5.x.
60027
60028 2007-04-04  Bruno Haible  <bruno@clisp.org>
60029
60030         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
60031         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
60032
60033 2007-04-04  Bruno Haible  <bruno@clisp.org>
60034
60035         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
60036         results for "%010a" of Infinity and NaN.
60037         * tests/test-vasprintf-posix.c (test_function): Likewise.
60038         * tests/test-snprintf-posix.h (test_function): Likewise.
60039         * tests/test-sprintf-posix.h (test_function): Likewise.
60040         * tests/test-fprintf-posix.h (test_function): Remove these tests.
60041         * tests/test-printf-posix.h (test_function): Likewise.
60042         * tests/test-fprintf-posix.out: Update.
60043         Needed for FreeBSD 6.1.
60044
60045 2007-04-04  Bruno Haible  <bruno@clisp.org>
60046
60047         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
60048         directly used by the gnulib modules nor by gnulib-tool.
60049
60050 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
60051
60052         * DEPENDENCIES: Give overall description of version dependency
60053         desirability.  Use more-typical names for apps.
60054         Add shell, coreutils, diffutils, grep, tar, gzip.
60055
60056 2007-04-04  Simon Josefsson  <simon@josefsson.org>
60057
60058         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
60059
60060 2007-04-04  Karl Berry  <karl@gnu.org>
60061
60062         * MODULES.html.sh (func_module): missing '.
60063
60064 2007-04-03  Bruno Haible  <bruno@clisp.org>
60065
60066         * modules/argmatch-tests (Makefile.am): New variable
60067         test_argmatch_LDADD.
60068         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
60069         * modules/array-list-tests (Makefile.am): New variable
60070         test_array_list_LDADD.
60071         * modules/array-oset-tests (Makefile.am): New variable
60072         test_array_oset_LDADD.
60073         * modules/avltree-list-tests (Makefile.am): New variable
60074         test_avltree_list_LDADD.
60075         * modules/avltree-oset-tests (Makefile.am): New variable
60076         test_avltree_oset_LDADD.
60077         * modules/avltreehash-list-tests (Makefile.am): New variable
60078         test_avltreehash_list_LDADD.
60079         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
60080         test_canonicalize_lgpl_LDADD.
60081         * modules/carray-list-tests (Makefile.am): New variable
60082         test_carray_list_LDADD.
60083         * modules/dirname-tests (Makefile.am): New variable
60084         test_dirname_LDADD.
60085         * modules/linked-list-tests (Makefile.am): New variable
60086         test_linked_list_LDADD.
60087         * modules/linkedhash-list-tests (Makefile.am): New variable
60088         test_linkedhash_list_LDADD.
60089         * modules/rbtree-list-tests (Makefile.am): New variable
60090         test_rbtree_list_LDADD.
60091         * modules/rbtree-oset-tests (Makefile.am): New variable
60092         test_rbtree_oset_LDADD.
60093         * modules/rbtreehash-list-tests (Makefile.am): New variable
60094         test_rbtreehash_list_LDADD.
60095         * modules/xvasprintf-tests (Makefile.am): New variable
60096         test_xvasprintf_LDADD.
60097         Reported by Eric Blake.
60098
60099 2007-04-03  Eric Blake  <ebb9@byu.net>
60100
60101         * DEPENDENCIES: Weaken m4 requirements.
60102
60103 2007-04-03  Bruno Haible  <bruno@clisp.org>
60104
60105         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
60106         * modules/isnanl-tests (configure.ac): Likewise.
60107
60108 2007-04-03  Ben Pfaff  <blp@gnu.org>
60109
60110         * modules/iconv_open: Add $(srcdir)/ to source directory
60111         references in Makefile fragments that call gperf, to fix VPATH
60112         builds.
60113
60114 2007-04-03  Bruno Haible  <bruno@clisp.org>
60115
60116         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
60117         * lib/ldexpl.c: Undo last change.
60118
60119 2007-04-03  Bruno Haible  <bruno@clisp.org>
60120
60121         * modules/printf-frexpl (Depends-on): Undo last change.
60122         (Files): Add m4/ldexpl.m4.
60123
60124 2007-04-03  Bruno Haible  <bruno@clisp.org>
60125
60126         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
60127         * modules/isnanl (Link): New section.
60128
60129         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
60130         * modules/frexp (Link): New section.
60131
60132         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
60133         * modules/frexpl (Link): New section.
60134
60135         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
60136         * modules/ldexpl (Link): New section.
60137
60138 2007-04-03  Bruno Haible  <bruno@clisp.org>
60139
60140         * modules/TEMPLATE-EXTENDED: New file.
60141         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
60142
60143 2007-04-03  Bruno Haible  <bruno@clisp.org>
60144
60145         * DEPENDENCIES: New file.
60146         Suggested by Simon Josefsson.
60147
60148 2007-04-03  Bruno Haible  <bruno@clisp.org>
60149
60150         * doc/gnulib.texi: Escape @.
60151
60152 2007-04-03  James Youngman  <jay@gnu.org>
60153         and Paul Eggert  <eggert@cs.ucla.edu>
60154
60155         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
60156         birthtime on all systems that have birthtime, not just those which
60157         use st_birthtimensec rather than st_birthtim.  Putting zero in
60158         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
60159         that the birth time is not available for files on an NFS mount.
60160
60161 2007-04-03  Simon Josefsson  <simon@josefsson.org>
60162
60163         * modules/memxor: Move back from crypto/, suggested by Bruno.
60164         * modules/crypto/hmac-sha1: Fix memxor dependency.
60165
60166         * modules/crypto/gc: Moved from ../.
60167
60168 2007-04-02  Eric Blake  <ebb9@byu.net>
60169
60170         * lib/ldexpl.c (includes): Avoid libm.
60171
60172         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
60173
60174 2007-04-02  Bruno Haible  <bruno@clisp.org>
60175
60176         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
60177         on IRIX.
60178
60179 2007-04-02  Bruno Haible  <bruno@clisp.org>
60180
60181         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
60182         x86 or x86_64 platforms running MacOS X.
60183         Reported by Ryan Schmidt <@ryandesign.com>.
60184
60185 2007-04-02  Bruno Haible  <bruno@clisp.org>
60186
60187         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
60188         i386.
60189
60190 2007-04-01  Simon Josefsson  <simon@josefsson.org>
60191
60192         * modules/crypto/arcfour: Moved from ../.
60193         * modules/crypto/arcfour-tests: Moved from ../.
60194         * modules/crypto/arctwo: Moved from ../.
60195         * modules/crypto/arctwo-tests: Moved from ../.
60196         * modules/crypto/des: Moved from ../.
60197         * modules/crypto/des-tests: Moved from ../.
60198         * modules/crypto/gc-arcfour: Moved from ../.
60199         * modules/crypto/gc-arcfour-tests: Moved from ../.
60200         * modules/crypto/gc-arctwo: Moved from ../.
60201         * modules/crypto/gc-arctwo-tests: Moved from ../.
60202         * modules/crypto/gc-des: Moved from ../.
60203         * modules/crypto/gc-des-tests: Moved from ../.
60204         * modules/crypto/gc-hmac-md5: Moved from ../.
60205         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
60206         * modules/crypto/gc-hmac-sha1: Moved from ../.
60207         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
60208         * modules/crypto/gc-md2: Moved from ../.
60209         * modules/crypto/gc-md2-tests: Moved from ../.
60210         * modules/crypto/gc-md4: Moved from ../.
60211         * modules/crypto/gc-md4-tests: Moved from ../.
60212         * modules/crypto/gc-md5: Moved from ../.
60213         * modules/crypto/gc-md5-tests: Moved from ../.
60214         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
60215         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
60216         * modules/crypto/gc-random: Moved from ../.
60217         * modules/crypto/gc-rijndael: Moved from ../.
60218         * modules/crypto/gc-rijndael-tests: Moved from ../.
60219         * modules/crypto/gc-sha1: Moved from ../.
60220         * modules/crypto/gc-sha1-tests: Moved from ../.
60221         * modules/crypto/gc-tests: Moved from ../.
60222         * modules/crypto/hmac-md5: Moved from ../.
60223         * modules/crypto/hmac-md5-tests: Moved from ../.
60224         * modules/crypto/hmac-sha1: Moved from ../.
60225         * modules/crypto/hmac-sha1-tests: Moved from ../.
60226         * modules/crypto/md2: Moved from ../.
60227         * modules/crypto/md2-tests: Moved from ../.
60228         * modules/crypto/md4: Moved from ../.
60229         * modules/crypto/md4-tests: Moved from ../.
60230         * modules/crypto/md5: Moved from ../.
60231         * modules/crypto/md5-tests: Moved from ../.
60232         * modules/crypto/memxor: Moved from ../.
60233         * modules/crypto/rijndael: Moved from ../.
60234         * modules/crypto/rijndael-tests: Moved from ../.
60235         * modules/crypto/sha1: Moved from ../.
60236
60237 2007-03-30  James Youngman  <jay@gnu.org>
60238
60239         * tests/test-stat-time.c (prepare_test): use chmod() rather than
60240         rename() to change the ctime of a file (because ctime is unaffected
60241         by rename on jfs2 on AIX 5.1).
60242         (main): Start by doing cleanup, in case a previous run failed leaving
60243         test files behind.
60244
60245 2007-03-31  Bruno Haible  <bruno@clisp.org>
60246
60247         Support old proprietary implementations of iconv.
60248         * modules/iconv_open: New file.
60249         * lib/iconv_.h: New file.
60250         * m4/iconv_h.m4: New file.
60251         * lib/iconv_open.c: New file.
60252         * lib/iconv_open-aix.gperf: New file.
60253         * lib/iconv_open-hpux.gperf: New file.
60254         * lib/iconv_open-irix.gperf: New file.
60255         * lib/iconv_open-osf.gperf: New file.
60256         * m4/iconv_open.m4: New file.
60257         * modules/linebreak (Depends-on): Add iconv_open.
60258         * modules/striconv (Depends-on): Likewise.
60259         * modules/striconveh (Depends-on): Likewise.
60260         * modules/unicodeio (Depends-on): Likewise.
60261         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
60262         (iconv_t)(-1).
60263         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
60264         conversion if cd is (iconv_t)(-1).
60265         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
60266         is not possible.
60267
60268 2007-03-31  Bruno Haible  <bruno@clisp.org>
60269
60270         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60271         work on Solaris either. Protect also second use of "autodetect_jp".
60272
60273 2007-03-31  Bruno Haible  <bruno@clisp.org>
60274
60275         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
60276         the function is not present.
60277
60278 2007-03-31  Bruno Haible  <bruno@clisp.org>
60279
60280         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
60281         the function is not present.
60282
60283 2007-03-31  Bruno Haible  <bruno@clisp.org>
60284
60285         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
60286         a bug in HP-UX iconv_open().
60287
60288 2007-03-31  Bruno Haible  <bruno@clisp.org>
60289
60290         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
60291         (Mathematics <math.h>): New section, add fpieee.
60292         (Input/output <stdio.h>): Add fseterr.
60293         (Mathematics <math.h>): New section, add printf-frexp.
60294         (Container data structures): Add sublist.
60295         (Core language properties): Add fpucw, inline.
60296         (Functions for greatest-width integer types <inttypes.h>): Add
60297         imaxabs, imaxdiv, inttypes.
60298         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
60299         isnanl-nolibm, ldexp.
60300         (Mathematics <math.h>): New section, add printf-frexpl.
60301         (Support for systems lacking POSIX:2001): Add fprintf-posix,
60302         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
60303         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
60304         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
60305         (Unicode string functions): Add unistr/u*-mbtoucr.
60306         (Java): Add javacomp-script, javaexec-script.
60307         (C#): Add csharpcomp-script, csharpexec-script.
60308         (Support for building libraries and executables): Add havelib,
60309         relocatable-*.
60310         (Support for maintaining and releasing projects): Renamed from
60311         'Support for maintaining and release projects'. Add announce-gen.
60312
60313 2007-03-31  Bruno Haible  <bruno@clisp.org>
60314
60315         * README: Talk primarily about git.
60316         (git and CVS): Renamed from CVS.
60317         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
60318         gnulib is available through git.
60319         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
60320
60321 2007-03-30  Bruno Haible  <bruno@clisp.org>
60322
60323         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
60324         * lib/poll_.h: Likewise.
60325         * lib/stat_.h: Likewise.
60326         * lib/sys_time_.h: Likewise.
60327         * lib/sysexit_.h: Likewise.
60328         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
60329         * lib/stdbool_.h: Likewise.
60330         * lib/byteswap_.h: Add double-inclusion guard.
60331
60332 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
60333
60334         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
60335
60336 2007-03-30  Karl Berry  <karl@gnu.org>
60337
60338         * config/srclist-update: double space after USA in the license
60339         substitution, since that's how it's usually (?) written.
60340
60341 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60342
60343         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
60344         reported by Bruno Haible.
60345
60346 2007-03-29  Bruno Haible  <bruno@clisp.org>
60347
60348         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
60349         a bug in AIX iconv().
60350
60351 2007-03-29  Bruno Haible  <bruno@clisp.org>
60352
60353         * modules/ldexpl-tests: New file.
60354         * tests/test-ldexpl.c: New file.
60355
60356 2007-03-29  Bruno Haible  <bruno@clisp.org>
60357
60358         * lib/ldexpl.c: Include fpucw.h.
60359         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
60360         multiplication.
60361         * modules/ldexpl (Depends-on): Add fpucw.
60362
60363 2007-03-29  Bruno Haible  <bruno@clisp.org>
60364
60365         * modules/ldexpl: New file.
60366         * m4/ldexpl.m4: New file.
60367         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
60368         set.
60369         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
60370         REPLACE_LDEXPL.
60371         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
60372         REPLACE_LDEXPL.
60373         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60374         gl_FUNC_LDEXPL_WORKS.
60375         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
60376         * modules/mathl (Files): Remove lib/ldexpl.c.
60377         (Depends-on): Add ldexpl.
60378
60379 2007-03-29  Bruno Haible  <bruno@clisp.org>
60380
60381         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60382
60383 2007-03-29  Bruno Haible  <bruno@clisp.org>
60384
60385         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60386         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60387         and possibly also HP-UX.
60388         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60389         work on AIX, IRIX, HP-UX, OSF/1.
60390         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60391         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60392         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60393         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60394         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60395         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60396
60397 2007-03-29  Bruno Haible  <bruno@clisp.org>
60398
60399         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60400
60401 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60402
60403         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60404         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60405
60406 2007-03-29  Eric Blake  <ebb9@byu.net>
60407
60408         * lib/acl-internal.h: Remove redundant include.
60409         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60410         Cygwin when a file is locked.
60411
60412 2007-03-29  Bruno Haible  <bruno@clisp.org>
60413
60414         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60415         file.
60416         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60417
60418 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60419
60420         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60421         try to remove a parent directory if the child couldn't be removed
60422         (except for the first rmdir, which could fail because the child
60423         doesn't exist).  Problem reported by Jeff Blaine in
60424         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60425
60426 2007-03-28  Bruno Haible  <bruno@clisp.org>
60427
60428         * lib/striconveh.c (utf8conv_carefully): New function.
60429         (mem_cd_iconveh_internal): Invoke it.
60430
60431 2007-03-28  Bruno Haible  <bruno@clisp.org>
60432
60433         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60434         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60435         input.
60436         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60437         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60438         unistr/u8-uctomb.
60439
60440 2007-03-28  Bruno Haible  <bruno@clisp.org>
60441
60442         * modules/unistr/u8-mbtoucr: New file.
60443         * lib/unistr/u8-mbtoucr.c: New file.
60444         * modules/unistr/u16-mbtoucr: New file.
60445         * lib/unistr/u16-mbtoucr.c: New file.
60446         * modules/unistr/u16-mbtoucr: New file.
60447         * lib/unistr/u16-mbtoucr.c: New file.
60448         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60449
60450 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60451             Bruno Haible  <bruno@clisp.org>
60452
60453         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60454         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60455         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60456
60457         * m4/stdio_h.m4: Add stubs for vasprintf too.
60458
60459         * modules/stdio: Support vasprintf in sed command.
60460
60461         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60462         vasprintf.h.  Add stdio module indicator.
60463
60464         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60465         vasprintf.h.
60466
60467         * lib/vasprintf.h: File removed.
60468
60469         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60470         * lib/vasprintf.c: Ditto.
60471         * lib/xvasprintf.c: Ditto.
60472         * tests/test-vasprintf-posix.c: Ditto.
60473         * tests/test-vasprintf.c: Ditto.
60474
60475 2007-03-27  Bruno Haible  <bruno@clisp.org>
60476
60477         Make vasnprintf multithread-safe.
60478         * lib/vasnprintf.c (decimal_point_char): New function.
60479         (VASNPRINTF): Use it.
60480         Suggested by Simon Josefsson.
60481
60482 2007-03-27  Eric Blake  <ebb9@byu.net>
60483
60484         Support sub-second birthtime on cygwin.
60485         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60486         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60487         (get_stat_birthtime): Also work with st_birthtim.
60488
60489 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60490
60491         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60492         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60493         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60494         (get_stat_birthtime_ns): Simplify compile-time tests.
60495         (get_stat_birthtime): Change the API to look like
60496         get_stat_mtime etc., except return a negative tv_nsec on error.
60497         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60498         Don't check for "spare" fields.
60499         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60500         or for struct stat.st_birthtime, as these tests aren't used.
60501         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60502
60503 2007-03-27  Bruno Haible  <bruno@clisp.org>
60504
60505         * lib/stat-time.h: Include <sys/stat.h>.
60506
60507 2007-03-27  James Youngman  <jay@gnu.org>
60508
60509         * lib/stat-time.h (get_stat_birthtime): New function for
60510           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60511         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60512           and its variants.
60513         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60514         * modules/stat-time-test: New file.
60515         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60516
60517 2007-03-26  Bruno Haible  <bruno@clisp.org>
60518
60519         Better support of signalling NaNs.
60520         * lib/atanl.c: Include isnanl.h.
60521         (atanl): Perform test for NaN at the beginning of the function and
60522         through a call to isnanl.
60523         * lib/cosl.c: Include isnanl.h.
60524         (cosl): Perform test for NaN at the beginning of the function and
60525         through a call to isnanl.
60526         * lib/ldexpl.c: Include isnanl.h.
60527         (ldexpl): Perform test for NaN through a call to isnanl.
60528         * lib/logl.c: Include isnanl.h.
60529         (logl): Perform test for NaN at the beginning of the function and
60530         through a call to isnanl.
60531         * lib/sinl.c: Include isnanl.h.
60532         (sinl): Perform test for NaN at the beginning of the function and
60533         through a call to isnanl.
60534         * lib/sqrtl.c: Include isnanl.h.
60535         (sqrtl): Perform test for NaN at the beginning of the function and
60536         through a call to isnanl.
60537         * lib/tanl.c: Include isnanl.h.
60538         (tanl): Perform test for NaN at the beginning of the function and
60539         through a call to isnanl.
60540         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60541         * modules/mathl (Depends-on): Add isnanl.
60542
60543 2007-03-26  Eric Blake  <ebb9@byu.net>
60544
60545         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60546         regression in logic sense of previous patch.
60547
60548 2007-03-26  Bruno Haible  <bruno@clisp.org>
60549
60550         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60551         unportable shell command "if ! ...".
60552         Reported by Ralf Wildenhues.
60553
60554 2007-03-25  Bruno Haible  <bruno@clisp.org>
60555
60556         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60557         <sysexits.h> file, and only add EX_CONFIG.
60558         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60559         absolute file name and whether it is sufficient. Substitute also
60560         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60561         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60562         ABSOLUTE_SYSEXITS_H into sysexits.h.
60563
60564 2007-03-25  Bruno Haible  <bruno@clisp.org>
60565
60566         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60567         hints is NULL.
60568
60569 2007-03-25  Bruno Haible  <bruno@clisp.org>
60570
60571         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60572         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60573
60574 2007-03-25  Bruno Haible  <bruno@clisp.org>
60575
60576         * lib/vasnprintf.c: Include langinfo.h.
60577         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60578         multithread-safe.
60579         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60580         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60581         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60582         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60583         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60584         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60585         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60586         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60587         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60588         Reported by Simon Josefsson.
60589
60590 2007-03-25  Bruno Haible  <bruno@clisp.org>
60591
60592         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60593         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60594         * modules/vasnprintf (Depends-on): Add stdint.
60595
60596 2007-03-25  Bruno Haible  <bruno@clisp.org>
60597
60598         * modules/fpieee: New file.
60599         * m4/fpieee.m4: New file.
60600         * modules/isnan-nolibm (Depends-on): Add fpieee.
60601         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60602         * modules/isnanl (Depends-on): Add fpieee.
60603
60604 2007-03-25  Bruno Haible  <bruno@clisp.org>
60605
60606         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60607
60608 2007-03-25  Bruno Haible  <bruno@clisp.org>
60609
60610         Avoid test failures on IRIX 6.5.
60611         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60612         (main): Use it.
60613         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60614         macros.
60615         (main): Use them.
60616
60617 2007-03-25  Bruno Haible  <bruno@clisp.org>
60618
60619         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60620         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60621         exists but doesn't work.
60622         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60623         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60624         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60625         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60626         math.h.
60627
60628 2007-03-25  Bruno Haible  <bruno@clisp.org>
60629
60630         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60631         returns inf. Needed on IRIX 6.5.
60632
60633 2007-03-25  Bruno Haible  <bruno@clisp.org>
60634
60635         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60636         (main): Use isnanl instead of x != x idiom.
60637         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60638
60639         * tests/test-frexp.c: Include isnan.h.
60640         (main): Use isnan instead of x != x idiom.
60641         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60642
60643 2007-03-25  Bruno Haible  <bruno@clisp.org>
60644
60645         * tests/test-frexp.c (NaN): New function/macro.
60646         (main): Use it instead of 0.0 / 0.0.
60647         * tests/test-isnan.c (NaN): New function/macro.
60648         (main): Use it instead of 0.0 / 0.0.
60649         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60650         (test_function): Use it instead of 0.0 / 0.0.
60651         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60652         (test_function): Use it instead of 0.0 / 0.0.
60653         * tests/test-snprintf-posix.h (NaN): New function/macro.
60654         (test_function): Use it instead of 0.0 / 0.0.
60655         * tests/test-sprintf-posix.h (NaN): New function/macro.
60656         (test_function): Use it instead of 0.0 / 0.0.
60657         * tests/test-fprintf-posix.h (NaN): New function/macro.
60658         (test_function): Use it instead of 0.0 / 0.0.
60659         * tests/test-printf-posix.h (NaN): New function/macro.
60660         (test_function): Use it instead of 0.0 / 0.0.
60661
60662         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60663
60664 2007-03-25  Bruno Haible  <bruno@clisp.org>
60665
60666         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60667
60668 2007-03-25  Bruno Haible  <bruno@clisp.org>
60669
60670         * lib/regexec.c (merge_state_with_log): Make static.
60671
60672 2007-03-25  Bruno Haible  <bruno@clisp.org>
60673
60674         * lib/trigl.c (kernel_rem_pio2): Make static.
60675
60676 2007-03-25  Bruno Haible  <bruno@clisp.org>
60677
60678         * lib/sincosl.c (sincosl_table): Make static.
60679
60680 2007-03-25  Bruno Haible  <bruno@clisp.org>
60681
60682         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60683         if the compiler does not support C99.
60684
60685 2007-03-25  Bruno Haible  <bruno@clisp.org>
60686
60687         * modules/time (Makefile.am): Ensure all rule action lines start with a
60688         tab.
60689
60690 2007-03-24  Bruno Haible  <bruno@clisp.org>
60691
60692         * modules/tsearch-tests: New file.
60693         * tests/test-tsearch.sh: New file.
60694         * tests/test-tsearch.c: New file, mostly copied from glibc.
60695
60696         * modules/search-tests: New file.
60697         * tests/test-search.c: New file.
60698
60699         * modules/search: New file.
60700         * lib/search_.h: New file, incorporating lib/tsearch.h.
60701         * m4/search_h.m4: New file.
60702         * lib/tsearch.h: Remove file.
60703         * lib/tsearch.c: Include search.h instead of tsearch.h.
60704         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60705         HAVE_TSEARCH.
60706         * modules/tsearch (Files): Remove lib/tsearch.h.
60707         (Depends-on): Add search.
60708         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60709         (Include): Change tsearch.h into search.h.
60710
60711 2007-03-24  Bruno Haible  <bruno@clisp.org>
60712
60713         * modules/fpucw: New file.
60714         * lib/fpucw.h: New file.
60715         * lib/frexp.c: Include fpucw.h.
60716         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60717         (FUNC): Use them.
60718         * lib/printf-frexp.c: Include fpucw.h.
60719         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60720         (FUNC): Use them.
60721         * lib/vasnprintf.c: Include fpucw.h.
60722         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60723         'long double' calculations.
60724         * tests/test-frexpl.c: Include fpucw.h.
60725         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60726         * tests/test-printf-frexpl.c: Include fpucw.h.
60727         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60728         * modules/frexpl (Depends-on): Add fpucw.
60729         * modules/printf-frexpl (Depends-on): Likewise.
60730         * modules/fprintf-posix (Depends-on): Likewise.
60731         * modules/snprintf-posix (Depends-on): Likewise.
60732         * modules/sprintf-posix (Depends-on): Likewise.
60733         * modules/vasnprintf-posix (Depends-on): Likewise.
60734         * modules/vasprintf-posix (Depends-on): Likewise.
60735         * modules/vfprintf-posix (Depends-on): Likewise.
60736         * modules/vsnprintf-posix (Depends-on): Likewise.
60737         * modules/vsprintf-posix (Depends-on): Likewise.
60738         * modules/frexpl-tests (Depends-on): Likewise.
60739         * modules/printf-frexpl-tests (Depends-on): Likewise.
60740
60741 2007-03-24  Bruno Haible  <bruno@clisp.org>
60742
60743         * lib/float+.h: New file.
60744         * lib/isnan.c: Include float+.h.
60745         (SIZE): New macro.
60746         (FUNC): Compare only SIZE bytes of the value.
60747         * lib/vasnprintf.c: Include float+.h.
60748         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60749         SIZEOF_LDBL or SIZEOF_DBL bytes.
60750         * modules/isnan-nolibm (Files): Add lib/float+.h.
60751         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60752         * modules/isnanl (Files): Add lib/float+.h.
60753         * modules/vasnprintf (Files): Add lib/float+.h.
60754
60755 2007-03-24  Bruno Haible  <bruno@clisp.org>
60756
60757         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60758         include isnanl-nolibm.h.
60759
60760 2007-03-24  Bruno Haible  <bruno@clisp.org>
60761
60762         * tests/test-read-file.c (main): Don't produce spurious output for
60763         expected situations. Make the test fail if it encountered unexpected
60764         results.
60765
60766 2007-03-24  Bruno Haible  <bruno@clisp.org>
60767
60768         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60769         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60770
60771 2007-03-24  Bruno Haible  <bruno@clisp.org>
60772
60773         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60774
60775 2007-03-24  Bruno Haible  <bruno@clisp.org>
60776
60777         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60778         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60779
60780         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60781         * modules/utf8-ucs4: Turn into a symbolic link to module
60782         unistr/u8-mbtouc.
60783
60784         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60785         utf8-ucs4-unsafe.
60786         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60787         unistr/u8-mbtouc-unsafe.
60788
60789         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60790         * modules/utf16-ucs4: Turn into a symbolic link to module
60791         unistr/u16-mbtouc.
60792
60793         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
60794         utf16-ucs4-unsafe.
60795         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
60796         unistr/u16-mbtouc-unsafe.
60797
60798         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
60799         * modules/ucs4-utf8: Turn into a symbolic link to module
60800         unistr/u8-ubtomb.
60801
60802         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
60803         * modules/ucs4-utf16: Turn into a symbolic link to module
60804         unistr/u16-ubtomb.
60805
60806 2007-03-24  Bruno Haible  <bruno@clisp.org>
60807
60808         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
60809         Enable the function only if HAVE_INLINE.
60810         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
60811         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60812         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
60813         Enable the function only if HAVE_INLINE.
60814         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
60815         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60816         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
60817         Enable the function only if HAVE_INLINE.
60818         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
60819         Enable the function only if HAVE_INLINE.
60820         * modules/utf8-ucs4: Update.
60821         * modules/utf8-ucs4-unsafe: Update.
60822         * modules/utf16-ucs4: Update.
60823         * modules/utf16-ucs4-unsafe: Update.
60824         * modules/ucs4-utf8: Update.
60825         * modules/ucs4-utf16: Update.
60826
60827 2007-03-24  Bruno Haible  <bruno@clisp.org>
60828
60829         * lib/utf8-ucs4.h: Remove file.
60830         * lib/utf8-ucs4-unsafe.h: Remove file.
60831         * lib/utf16-ucs4.h: Remove file.
60832         * lib/utf16-ucs4-unsafe.h: Remove file.
60833         * lib/ucs4-utf8.h: Remove file.
60834         * lib/ucs4-utf16.h: Remove file.
60835         * lib/unistr.h: Include their previous contents.
60836         * m4/utf-ucs4.m4: Remove file.
60837         * m4/ucs4-utf.m4: Remove file.
60838         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
60839         (Depends-on): Add unistr/base.
60840         (configure.ac): Remove gl_UTF_UCS4.
60841         (Makefile.am): Update.
60842         (Include): Change to unistr.h.
60843         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
60844         (Depends-on): Add unistr/base.
60845         (configure.ac): Remove gl_UTF_UCS4.
60846         (Makefile.am): Update.
60847         (Include): Change to unistr.h.
60848         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
60849         (Depends-on): Add unistr/base.
60850         (configure.ac): Remove gl_UTF_UCS4.
60851         (Makefile.am): Update.
60852         (Include): Change to unistr.h.
60853         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
60854         (Depends-on): Add unistr/base.
60855         (configure.ac): Remove gl_UTF_UCS4.
60856         (Makefile.am): Update.
60857         (Include): Change to unistr.h.
60858         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
60859         (Depends-on): Add unistr/base.
60860         (configure.ac): Remove gl_UCS4_UTF.
60861         (Makefile.am): Update.
60862         (Include): Change to unistr.h.
60863         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
60864         (Depends-on): Add unistr/base.
60865         (configure.ac): Remove gl_UCS4_UTF.
60866         (Makefile.am): Update.
60867         (Include): Change to unistr.h.
60868         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
60869         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
60870         utf8-ucs4-unsafe.h.
60871         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
60872         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
60873         utf16-ucs4-unsafe.h.
60874         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
60875         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
60876         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
60877         * lib/unistr/u8-strchr.c: Likewise.
60878         * lib/unistr/u8-strrchr.c: Likewise.
60879         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
60880         * lib/unistr/u16-strchr.c: Likewise.
60881         * lib/unistr/u16-strrchr.c: Likewise.
60882         * lib/striconveh.c: Update.
60883         * lib/linebreak.c: Update.
60884
60885 2007-03-24  Bruno Haible  <bruno@clisp.org>
60886
60887         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
60888         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
60889
60890 2007-03-22  Bruno Haible  <bruno@clisp.org>
60891
60892         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
60893
60894 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
60895
60896         * MODULES.html.sh (File system functions): New module write-any-file.
60897         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
60898         * m4/write-any-file.m4: New files.
60899
60900 2007-03-23  Eric Blake  <ebb9@byu.net>
60901
60902         * gnulib-tool: Rearrange space-tab sequences, since some editors
60903         like to eat them.
60904
60905 2007-03-23  Eric Blake  <ebb9@byu.net>
60906
60907         * lib/version-etc.c (version_etc_va): Update license wording to
60908         be more concise.  Recommended by Richard Stallman.
60909
60910 2007-03-22  Bruno Haible  <bruno@clisp.org>
60911
60912         * lib/poll.c (MSG_PEEK): New fallback definition.
60913
60914 2007-03-22  Bruno Haible  <bruno@clisp.org>
60915
60916         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
60917         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
60918         (main): Update.
60919         Fixes a compilation error on BeOS.
60920
60921 2007-03-22  Bruno Haible  <bruno@clisp.org>
60922
60923         * modules/frexpl-tests: New file.
60924         * tests/test-frexpl.c: New file.
60925
60926         * modules/frexpl: New file.
60927         * m4/frexpl.m4: New file.
60928         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
60929         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
60930         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
60931         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
60932         (Depends-on): Add frexpl. Remove isnanl-nolibm.
60933         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
60934
60935 2007-03-22  Bruno Haible  <bruno@clisp.org>
60936
60937         * lib/frexpl.c: Share code with lib/frexp.c.
60938         * modules/mathl (Files): Add lib/frexp.c.
60939         (Depends-on): Add isnanl-nolibm.
60940
60941 2007-03-22  Bruno Haible  <bruno@clisp.org>
60942
60943         * modules/printf-frexp (Files): Add m4/frexp.m4.
60944         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
60945         only if the found frexp function actually works.
60946
60947 2007-03-22  Bruno Haible  <bruno@clisp.org>
60948
60949         * lib/frexp.c: Remove older implementation that uses divisions.
60950
60951 2007-03-21  Bruno Haible  <bruno@clisp.org>
60952
60953         * modules/frexp-tests: New file.
60954         * tests/test-frexp.c: New file.
60955
60956         * modules/frexp: New file.
60957         * lib/frexp.c: New file.
60958         * m4/frexp.m4: New file.
60959         * lib/math_.h (frexp): New declaration.
60960         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
60961         REPLACE_FREXP.
60962         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
60963
60964 2007-03-21  Bruno Haible  <bruno@clisp.org>
60965
60966         * modules/isnanl-tests: New file.
60967         * tests/test-isnanl.c: New file.
60968
60969         * modules/isnanl: New file.
60970         * lib/isnanl.h: New file.
60971         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
60972         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
60973         gl_FUNC_ISNANL_WORKS.
60974         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
60975         New macros.
60976
60977 2007-03-21  Bruno Haible  <bruno@clisp.org>
60978
60979         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
60980         lib/isnanl.h.
60981         (Include): Update.
60982         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
60983         * lib/vasnprintf.c: Update.
60984         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
60985         tests/test-isnanl.h, remove tests/test-isnanl.c.
60986         (Makefile.am): Update.
60987         * tests/test-isnanl-nolibm.c: New file.
60988         * tests/test-isnanl.h: New file.
60989         * tests/test-isnanl.c: Remove file.
60990
60991 2007-03-21  Jim Meyering  <jim@meyering.net>
60992
60993         When trying to open ".", treat ESTALE like EACCES.
60994         * lib/savewd.c (savewd_save): Resort to forking not just upon
60995         failure with EACCES, but also when errno is ESTALE.
60996
60997 2007-03-20  Bruno Haible  <bruno@clisp.org>
60998
60999         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
61000         Needed on AIX 5.1. Reported by Matthew Woehlke.
61001
61002 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61003
61004         Suggestions by Bruno Haible:
61005         * lib/acl-internal.h: Include "gettext.h" rather than rolling
61006         our own.
61007         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
61008         * modules/acl (Depends-on): Add gettext.
61009
61010 2007-03-19  Bruno Haible  <bruno@clisp.org>
61011
61012         * modules/iconvme: Remove file.
61013         * lib/iconvme.h: Remove file.
61014         * lib/iconvme.c: Remove file.
61015         * m4/iconvme.m4: Remove file.
61016
61017 2007-03-19  Bruno Haible  <bruno@clisp.org>
61018
61019         * doc/relocatable-maint.texi: Break long shell script line.
61020         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61021
61022 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61023
61024         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
61025         handle file_has_acl.
61026         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
61027         * lib/acl.c: Move header inclusions and related macro defns into
61028         lib/acl-internal.h.
61029         (S_ISLNK): Remove defn, since that's now done for us.
61030         (file_has_acl): Move to lib/file-has-acl.c.
61031         Call acl_trivial if available.  This is the crucial part of the fix.
61032         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
61033         shared within the library.  Rewrite a bit, partly to make it compatible
61034         with the GNU coding style.
61035         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
61036         Remove unnecessary double-quotes.
61037         Don't test for acl_to_text; the build will catch that.
61038         Replace acl_entries if it doesn't exist and it is needed.
61039         Check for -lsec and acl_trivial (as used on Solaris 10).
61040         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
61041         lib/file-has-acl.c.
61042         (Depends-on): Add sys_stat, for S_ISLNK.
61043
61044 2007-03-19  Ben Pfaff  <blp@gnu.org>
61045
61046         * doc/gnulib.texi: Fix typos.
61047         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61048
61049 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61050
61051         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
61052         If size is zero here, buf must be zero.
61053
61054 2007-03-19  Simon Josefsson  <simon@josefsson.org>
61055
61056         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
61057         <bruno@clisp.org>.
61058
61059 2007-03-18  Bruno Haible  <bruno@clisp.org>
61060
61061         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
61062         Suggested by Eric Blake.
61063
61064 2007-03-18  Ben Pfaff  <blp@gnu.org>
61065
61066         * doc/relocatable.texi: Recommend using as prefix a directory
61067         that does not exist and will never be created.  Based on
61068         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
61069         and others.
61070
61071 2007-03-17  Bruno Haible  <bruno@clisp.org>
61072
61073         * lib/fchownat.c: Include lchown.h.
61074
61075 2007-03-17  Bruno Haible  <bruno@clisp.org>
61076
61077         Fix endless loop when the given allocated size was > INT_MAX.
61078         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
61079         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
61080         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
61081         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
61082         * lib/sprintf.c (sprintf): Likewise.
61083
61084 2007-03-17  Bruno Haible  <bruno@clisp.org>
61085
61086         * tests/test-argp-2.sh (func_compare): Output a context diff.
61087
61088 2007-03-17  Bruno Haible  <bruno@clisp.org>
61089
61090         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
61091         locale's decimal-point character.
61092
61093 2007-03-17  Bruno Haible  <bruno@clisp.org>
61094
61095         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
61096         before comparing it. Needed because on some platforms (e.g. x86) a
61097         'long double' occupies less bytes than sizeof (long double).
61098
61099 2007-03-17  Bruno Haible  <bruno@clisp.org>
61100
61101         * tests/test-crc.c (main): Make printf statements 64-bit clean.
61102         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
61103         * tests/test-getaddrinfo.c (simple): Likewise.
61104         * tests/test-read-file.c (main): Likewise.
61105
61106 2007-03-17  Bruno Haible  <bruno@clisp.org>
61107
61108         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
61109
61110 2007-03-17  Bruno Haible  <bruno@clisp.org>
61111
61112         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
61113         unused variable.
61114
61115 2007-03-17  Bruno Haible  <bruno@clisp.org>
61116
61117         * tests/test-c-strcasecmp.c: Include c-strcase.h.
61118         * tests/test-c-strncasecmp.c: Likewise.
61119
61120 2007-03-17  Bruno Haible  <bruno@clisp.org>
61121
61122         * modules/stdlib (Depends-on): Add unistd.
61123         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
61124         Needed for MacOS X 10.3.
61125
61126 2007-03-17  Bruno Haible  <bruno@clisp.org>
61127
61128         * lib/unistr/u-strdup.h: Include <stdlib.h>.
61129
61130 2007-03-17  Bruno Haible  <bruno@clisp.org>
61131
61132         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
61133
61134 2007-03-17  Bruno Haible  <bruno@clisp.org>
61135
61136         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
61137         to reflect files copied from gnulib (with or without modifications).
61138         Suggested by Jim Meyering.
61139
61140 2007-03-17  Eric Blake  <ebb9@byu.net>
61141
61142         * NEWS: Document stdlib change from 2007-02-18.
61143
61144 2007-03-17  Jim Meyering  <jim@meyering.net>
61145
61146         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
61147         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
61148         someone uses a name containing shell meta-characters.
61149         Reported by Alfred M. Szmidt.
61150
61151         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
61152
61153 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61154
61155         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
61156         and copy gettext configuration files only if configure.ac contains
61157         a use of AM_GNU_GETTEXT_VERSION.
61158
61159 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61160
61161         * build-aux/bootstrap (gnulib_name): New variable.
61162         (gnulib_tool_options): Use it.
61163
61164 2007-03-13  Simon Josefsson  <simon@josefsson.org>
61165
61166         * tests/test-des.c: Use new namespace.
61167
61168 2007-03-15  Bruno Haible  <bruno@clisp.org>
61169
61170         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
61171         Reported by James Youngman <jay@gnu.org>.
61172
61173 2007-03-15  Bruno Haible  <bruno@clisp.org>
61174
61175         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
61176         declared prototype. Needed with cc on OSF/1 5.1.
61177
61178 2007-03-15  Bruno Haible  <bruno@clisp.org>
61179
61180         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
61181         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
61182         (struct gl_list_implementation): Add dispose_fn argument to the
61183         'create_empty', 'create' methods.
61184         (struct gl_list_impl_base): Add field 'dispose_fn'.
61185         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
61186         argument.
61187         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
61188         dispose_fn argument.
61189         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
61190         dispose_fn on the dropped values.
61191         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
61192         dispose_fn argument.
61193         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
61194         dropped values.
61195         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
61196         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61197         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
61198         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61199         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
61200         argument.
61201         (gl_tree_list_free): Call dispose_fn on the dropped values.
61202         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
61203         the dropped values.
61204         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61205         Add dispose_fn argument.
61206         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
61207         Call dispose_fn on the dropped values.
61208         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
61209         Add dispose_fn argument.
61210         (gl_sublist_create): Initialize the 'dispose_fn' field.
61211         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
61212         * tests/test-array_list.c (main): Update.
61213         * tests/test-carray_list.c (main): Update.
61214         * tests/test-avltree_list.c (main): Update.
61215         * tests/test-rbtree_list.c (main): Update.
61216         * tests/test-avltreehash_list.c (main): Update.
61217         * tests/test-rbtreehash_list.c (main): Update.
61218         * tests/test-linked_list.c (main): Update.
61219         * tests/test-linkedhash_list.c (main): Update.
61220         * tests/test-array_oset.c (main): Update.
61221
61222 2007-03-15  Bruno Haible  <bruno@clisp.org>
61223
61224         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
61225         (gl_oset_create_empty): Add dispose_fn argument.
61226         (struct gl_oset_implementation): Add dispose_fn argument to
61227         'create_empty' method.
61228         (struct gl_oset_impl_base): Add dispose_fn field.
61229         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
61230         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
61231         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
61232         values.
61233         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
61234         (gl_tree_oset_free): Call dispose_fn on the dropped values.
61235         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61236         dropped value.
61237         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61238         dropped value.
61239         * tests/test-array_oset.c (main): Update.
61240         * tests/test-avltree_oset.c (main): Update.
61241         * tests/test-rbtree_oset.c (main): Update.
61242         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
61243
61244 2007-03-13  Bruno Haible  <bruno@clisp.org>
61245
61246         * tests/test-stdbool.c (i): Update after last patch.
61247
61248 2007-03-12  Bruno Haible  <bruno@clisp.org>
61249
61250         * lib/quotearg.c: Include <wctype.h> early, before the definition of
61251         the iswprint macro. Needed on Solaris 2.5.1.
61252
61253 2007-03-12  Bruno Haible  <bruno@clisp.org>
61254
61255         * tests/test-printf-frexp.c (main): Declare x as volatile.
61256
61257 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61258
61259         * doc/gnulib.texi (Build robot for gnulib): New section.
61260
61261 2007-03-12  Jim Meyering  <jim@meyering.net>
61262
61263         * build-aux/bootstrap: New file.
61264         * build-aux/bootstrap.conf: New file, from coreutils.
61265
61266 2007-03-11  Bruno Haible  <bruno@clisp.org>
61267
61268         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
61269
61270 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61271
61272         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
61273         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
61274         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
61275
61276 2007-03-11  Bruno Haible  <bruno@clisp.org>
61277
61278         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
61279         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
61280
61281 2007-03-11  Bruno Haible  <bruno@clisp.org>
61282
61283         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
61284         formula. Needed for SunPRO C 5.0.
61285
61286 2007-03-11  Bruno Haible  <bruno@clisp.org>
61287
61288         * modules/long-options (Depends-on): Add getopt.
61289
61290 2007-03-11  Bruno Haible  <bruno@clisp.org>
61291
61292         * modules/modechange (Depends-on): Add stdbool.
61293
61294 2007-03-11  Bruno Haible  <bruno@clisp.org>
61295
61296         * modules/i-ring (Depends-on): Add stdbool.
61297
61298 2007-03-11  Bruno Haible  <bruno@clisp.org>
61299
61300         * modules/gc-des (Depends-on): Add stdbool.
61301
61302 2007-03-11  Bruno Haible  <bruno@clisp.org>
61303
61304         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
61305
61306 2007-03-11  Bruno Haible  <bruno@clisp.org>
61307
61308         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
61309
61310 2007-03-11  Bruno Haible  <bruno@clisp.org>
61311
61312         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
61313
61314 2007-03-11  Bruno Haible  <bruno@clisp.org>
61315
61316         * lib/vasnprintf.c (sprintf): Undefine.
61317
61318 2007-03-11  Bruno Haible  <bruno@clisp.org>
61319
61320         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
61321         initializers in SunPRO C and Compaq C compilers.
61322
61323 2007-03-11  Bruno Haible  <bruno@clisp.org>
61324
61325         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
61326         decrementing code ANSI C compliant.
61327
61328 2007-03-11  Bruno Haible  <bruno@clisp.org>
61329
61330         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
61331         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
61332
61333 2007-03-11  Bruno Haible  <bruno@clisp.org>
61334
61335         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
61336         <stdbool.h> substitute doesn't pass.
61337
61338 2007-03-11  Bruno Haible  <bruno@clisp.org>
61339
61340         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
61341
61342 2007-03-11  Bruno Haible  <bruno@clisp.org>
61343
61344         * gnulib-tool (func_create_megatestdir): Create also an autobuild
61345         script, for submission to autobuild.josefsson.org.
61346
61347 2007-03-10  Bruno Haible  <bruno@clisp.org>
61348
61349         * modules/canonicalize-lgpl-tests: New file.
61350         * tests/test-canonicalize-lgpl.sh: New file.
61351         * tests/test-canonicalize-lgpl.c: New file.
61352
61353         * modules/c-strcase-tests: New file.
61354         * tests/test-c-strcase.sh: New file.
61355         * tests/test-c-strcasecmp.c: New file.
61356         * tests/test-c-strncasecmp.c: New file.
61357
61358         * modules/atexit-tests: New file.
61359         * tests/test-atexit.sh: New file.
61360         * tests/test-atexit.c: New file.
61361
61362 2007-03-10  Bruno Haible  <bruno@clisp.org>
61363
61364         * tests/test-binary-io.sh: Use temporary filenames that are not so
61365         likely to clash with those of other tests (in a parallel make).
61366         * tests/test-binary-io.c: Likewise.
61367
61368 2007-03-10  Bruno Haible  <bruno@clisp.org>
61369
61370         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
61371         fallback; use #error instead.
61372         Suggested by Simon Josefsson.
61373
61374 2007-03-10  Bruno Haible  <bruno@clisp.org>
61375
61376         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
61377         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
61378         first and the last.
61379
61380 2007-03-10  Bruno Haible  <bruno@clisp.org>
61381
61382         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61383
61384 2007-03-10  Bruno Haible  <bruno@clisp.org>
61385
61386         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61387         "make distcheck".
61388         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61389         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61390         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61391
61392 2007-03-10  Bruno Haible  <bruno@clisp.org>
61393
61394         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61395         variable.
61396         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61397         variable.
61398
61399 2007-03-09  Eric Blake  <ebb9@byu.net>
61400         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61401
61402         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61403         types are not being provided by gnulib.
61404         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61405         types are supported.
61406
61407 2007-03-10  Bruno Haible  <bruno@clisp.org>
61408
61409         * lib/stdio_.h (__attribute__): New macro.
61410         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61411         vsprintf): Specify __attribute__ __format__ for GCC.
61412         Suggested by Eric Blake.
61413
61414 2007-03-09  Bruno Haible  <bruno@clisp.org>
61415
61416         * modules/printf-posix-tests: New file.
61417         * tests/test-printf-posix.sh: New file.
61418         * tests/test-printf-posix.c: New file.
61419
61420         * modules/printf-posix: New file.
61421         * lib/printf.c: New file.
61422         * m4/printf-posix-rpl.m4: New file.
61423         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61424         REPLACE_PRINTF.
61425         * lib/stdio_.h (printf): New declaration.
61426         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61427         ____strfmon____): New macros.
61428         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61429         REPLACE_PRINTF.
61430
61431 2007-03-09  Bruno Haible  <bruno@clisp.org>
61432
61433         * tests/test-vasnprintf-posix2.sh: New file.
61434         * tests/test-vasnprintf-posix2.c: New file.
61435         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61436         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61437         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61438
61439         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61440         a locale dependent decimal point, rather than always '.'.
61441
61442 2007-03-09  Eric Blake  <ebb9@byu.net>
61443
61444         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61445         spite of platforms like Tandem/NSK that define it to -1.
61446
61447 2007-03-08  Bruno Haible  <bruno@clisp.org>
61448
61449         * modules/vprintf-posix-tests: New file.
61450         * tests/test-vprintf-posix.sh: New file.
61451         * tests/test-vprintf-posix.c: New file.
61452         * tests/test-printf-posix.h: New file.
61453
61454         * modules/vprintf-posix: New file.
61455         * lib/vprintf.c: New file.
61456         * m4/vprintf-posix.m4: New file.
61457         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61458         REPLACE_VPRINTF.
61459         * lib/stdio_.h (vprintf): New declaration.
61460         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61461         REPLACE_VPRINTF.
61462
61463 2007-03-08  Bruno Haible  <bruno@clisp.org>
61464
61465         * modules/fprintf-posix-tests: New file.
61466         * tests/test-fprintf-posix.sh: New file.
61467         * tests/test-fprintf-posix.c: New file.
61468
61469         * modules/fprintf-posix: New file.
61470         * lib/fprintf.c: New file.
61471         * m4/fprintf-posix.m4: New file.
61472         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61473         REPLACE_FPRINTF.
61474         * lib/stdio_.h (fprintf): New declaration.
61475         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61476         REPLACE_FPRINTF.
61477
61478 2007-03-08  Bruno Haible  <bruno@clisp.org>
61479
61480         * modules/vfprintf-posix-tests: New file.
61481         * tests/test-vfprintf-posix.sh: New file.
61482         * tests/test-vfprintf-posix.c: New file.
61483         * tests/test-fprintf-posix.h: New file.
61484         * tests/test-fprintf-posix.out: New file.
61485
61486         * modules/vfprintf-posix: New file.
61487         * lib/vfprintf.c: New file.
61488         * m4/vfprintf-posix.m4: New file.
61489         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61490         REPLACE_VFPRINTF.
61491         * lib/stdio_.h (vfprintf): New declaration.
61492         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61493         REPLACE_VFPRINTF.
61494
61495 2007-03-08  Bruno Haible  <bruno@clisp.org>
61496
61497         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61498
61499 2007-03-08  Bruno Haible  <bruno@clisp.org>
61500
61501         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61502         instead of 'expr' invocations.
61503         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61504         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61505         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61506         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61507         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61508         Suggested by Paul Eggert.
61509
61510 2007-03-08  Bruno Haible  <bruno@clisp.org>
61511
61512         * modules/fseterr-tests: New file.
61513         * tests/test-fseterr.c: New file.
61514
61515         * modules/fseterr: New file.
61516         * lib/fseterr.h: New file.
61517         * lib/fseterr.c: New file.
61518
61519 2007-03-08  Bruno Haible  <bruno@clisp.org>
61520
61521         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61522         * lib/getopt_.h: Likewise.
61523         * lib/mbswidth.h: Likewise.
61524         * lib/setenv.h: Likewise.
61525         * lib/vasnprintf.h: Likewise.
61526         * lib/vasprintf.h: Likewise.
61527         * lib/verror.h: Likewise.
61528         * lib/xsetenv.h: Likewise.
61529         * lib/xvasprintf.h: Likewise.
61530
61531 2007-03-08  Jim Meyering  <jim@meyering.net>
61532
61533         * users.txt: Add parted.
61534
61535         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61536
61537 2007-03-07  Bruno Haible  <bruno@clisp.org>
61538
61539         * m4/printf.m4: Make the shell script snippets copy&pastable.
61540
61541 2007-03-02  Bruno Haible  <bruno@clisp.org>
61542
61543         * lib/netinet_in_.h: New file.
61544         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61545         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61546         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61547         (Depends-on): Add absolute-header.
61548         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61549         into netinet/in.h.
61550
61551 2007-03-03  Bruno Haible  <bruno@clisp.org>
61552
61553         * lib/sys_select_.h: New file.
61554         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61555         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61556         * modules/sys_select (Files): Add lib/sys_select_.h.
61557         (Depends-on): Add absolute-header.
61558         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61559         into sys/select.h.
61560
61561 2007-03-02  Bruno Haible  <bruno@clisp.org>
61562
61563         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61564         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61565         values.
61566         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61567         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61568         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61569         * modules/sys_socket (Depends-on): Add absolute-header.
61570         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61571         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61572         (Include): Remove requirement of inclusion of <sys/types.h>.
61573
61574 2007-03-02  Bruno Haible  <bruno@clisp.org>
61575
61576         * lib/byteswap_.h (bswap_32): Fix formula.
61577
61578 2007-03-06  Bruno Haible  <bruno@clisp.org>
61579
61580         * modules/sprintf-posix-tests: New file.
61581         * tests/test-sprintf-posix.c: New file.
61582
61583         * modules/sprintf-posix: New file.
61584         * lib/sprintf.c: New file.
61585         * m4/sprintf-posix.m4: New file.
61586         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61587         REPLACE_SPRINTF.
61588         * lib/stdio_.h (sprintf): New declaration.
61589         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61590         REPLACE_SPRINTF.
61591
61592 2007-03-06  Bruno Haible  <bruno@clisp.org>
61593
61594         * modules/vsprintf-posix-tests: New file.
61595         * tests/test-vsprintf-posix.c: New file.
61596         * tests/test-sprintf-posix.h: New file.
61597
61598         * modules/vsprintf-posix: New file.
61599         * lib/vsprintf.c: New file.
61600         * m4/vsprintf-posix.m4: New file.
61601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61602         REPLACE_VSPRINTF.
61603         * lib/stdio_.h (vsprintf): New declaration.
61604         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61605         REPLACE_VSPRINTF.
61606
61607 2007-03-06  Bruno Haible  <bruno@clisp.org>
61608
61609         * modules/vsnprintf (Depend-on): Remove minmax.
61610
61611 2007-03-06  Bruno Haible  <bruno@clisp.org>
61612
61613         * modules/snprintf-posix-tests: New file.
61614         * tests/test-snprintf-posix.c: New file.
61615
61616         * modules/snprintf-posix: New file.
61617         * m4/snprintf-posix.m4: New file.
61618         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61619         gl_FUNC_SNPRINTF.
61620         (gl_FUNC_SNPRINTF): Invoke it.
61621         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61622         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61623         is set.
61624         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61625
61626 2007-03-06  Bruno Haible  <bruno@clisp.org>
61627
61628         * modules/vsnprintf-posix-tests: New file.
61629         * tests/test-vsnprintf-posix.c: New file.
61630         * tests/test-snprintf-posix.h: New file.
61631
61632         * modules/vsnprintf-posix: New file.
61633         * m4/vsnprintf-posix.m4: New file.
61634         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61635         gl_FUNC_VSNPRINTF.
61636         (gl_FUNC_VSNPRINTF): Invoke it.
61637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61638         * lib/stdio_.h (vsnprintf): Define as a replacement if
61639         REPLACE_VSNPRINTF is set.
61640         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61641
61642 2007-03-06  Bruno Haible  <bruno@clisp.org>
61643
61644         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61645         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61646
61647 2007-03-06  Bruno Haible  <bruno@clisp.org>
61648
61649         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61650         (asinl): Declare also if HAVE_DECL_ASINL is set.
61651         (atanl): Declare also if HAVE_DECL_ATANL is set.
61652         (ceill): Declare also if HAVE_DECL_CEILL is set.
61653         (cosl): Declare also if HAVE_DECL_COSL is set.
61654         (expl): Declare also if HAVE_DECL_EXPL is set.
61655         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61656         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61657         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61658         (logl): Declare also if HAVE_DECL_LOGL is set.
61659         (sinl): Declare also if HAVE_DECL_SINL is set.
61660         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61661         (tanl): Declare also if HAVE_DECL_TANL is set.
61662         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61663         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61664         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61665         declaration of frexpl, ldexpl.
61666         * modules/printf-frexpl (Depends-on): Add math.
61667         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61668
61669 2007-03-05  Bruno Haible  <bruno@clisp.org>
61670
61671         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61672         frexpl and ldexpl are declared.
61673         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61674
61675 2007-03-05  Bruno Haible  <bruno@clisp.org>
61676
61677         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61678         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61679
61680 2007-03-05  Bruno Haible  <bruno@clisp.org>
61681
61682         * lib/stdio_.h: Include <stddef.h>.
61683
61684 2007-03-05  Bruno Haible  <bruno@clisp.org>
61685
61686         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61687
61688 2007-03-05  Bruno Haible  <bruno@clisp.org>
61689
61690         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61691         NetBSD 4, from Ralf Wildenhues.
61692
61693 2007-03-04  Bruno Haible  <bruno@clisp.org>
61694
61695         * lib/vasprintf.h: Update #if logic for the case when the functions
61696         exist but are overridden.
61697
61698 2007-03-04  Bruno Haible  <bruno@clisp.org>
61699
61700         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61701         implementations: glibc-2.4 and MacOS X 10.3.
61702         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61703         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61704         * tests/test-vasprintf-posix.c (test_function): Likewise.
61705
61706 2007-03-04  Bruno Haible  <bruno@clisp.org>
61707
61708         * modules/vasprintf-posix-tests: New file.
61709         * tests/test-vasprintf-posix.c: New file.
61710
61711         * modules/vasprintf-posix: New file.
61712         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61713         defined.
61714         * m4/vasprintf-posix.m4: New file.
61715         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61716         gl_FUNC_VASPRINTF.
61717         (gl_FUNC_VASPRINTF): Invoke it.
61718         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61719         here.
61720         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61721
61722 2007-03-04  Bruno Haible  <bruno@clisp.org>
61723
61724         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61725         REPLACE_GETTIMEOFDAY.
61726         * modules/sys_time (Makefile.am): Likewise.
61727         * m4/sys_time_h.m4: Likewise.
61728         * m4/gettimeofday.m4: Likewise.
61729
61730 2007-03-04  Bruno Haible  <bruno@clisp.org>
61731
61732         * modules/vasnprintf-posix-tests: New file.
61733         * tests/test-vasnprintf-posix.c: New file.
61734
61735         * modules/vasnprintf-posix: New file.
61736         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61737         printf-frexpl.h.
61738         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61739         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61740         REPLACE_VASNPRINTF is defined.
61741         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61742         gl_FUNC_VASNPRINTF.
61743         (gl_FUNC_VASNPRINTF): Invoke it.
61744         * m4/vasnprintf-posix.m4: New file.
61745         * m4/printf.m4: New file.
61746
61747 2007-03-04  Bruno Haible  <bruno@clisp.org>
61748
61749         Compile progreloc.c only if --enable-relocatable is specified.
61750         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61751         if --enable-relocatable was specified.
61752         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61753         lib_SOURCES.
61754
61755 2007-03-04  Jim Meyering  <jim@meyering.net>
61756
61757         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61758         Use it consistently, rather than enumerating errno constants.
61759
61760 2007-03-04  Bruno Haible  <bruno@clisp.org>
61761
61762         * modules/xvasprintf-tests: New file.
61763         * tests/test-xvasprintf.c: New file.
61764
61765         * modules/vasprintf-tests: New file.
61766         * tests/test-vasprintf.c: New file.
61767
61768         * modules/vasnprintf-tests: New file.
61769         * tests/test-vasnprintf.c: New file.
61770
61771         * modules/vsnprintf-tests: New file.
61772         * tests/test-vsnprintf.c: New file.
61773
61774         * modules/snprintf-tests: New file.
61775         * tests/test-snprintf.c: New file.
61776
61777 2007-03-04  Bruno Haible  <bruno@clisp.org>
61778
61779         Compile relocatable.c only if --enable-relocatable is specified.
61780         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61781         gl_RELOCATABLE_LIBRARY.
61782         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61783         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61784         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61785         gl_RELOCATABLE_LIBRARY.
61786         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61787         (Makefile.am): Remove lib_SOURCES.
61788         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61789         gl_RELOCATABLE_LIBRARY.
61790         (Makefile.am): Remove lib_SOURCES.
61791         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61792         always.
61793         * modules/relocatable-prog-wrapper (configure.ac): Invoke
61794         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
61795
61796 2007-03-04  Bruno Haible  <bruno@clisp.org>
61797
61798         * modules/argmatch-tests: New file.
61799         * tests/test-argmatch.c: New file.
61800
61801         * tests/test-allocsa.c (main): Halve the number of loop runs.
61802
61803         * modules/alloca-opt-tests: New file.
61804         * tests/test-alloca-opt.c: New file.
61805
61806 2007-03-04  Jim Meyering  <jim@meyering.net>
61807
61808         Work around difference between Linux ACLs and Solaris 10 ZFS.
61809         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
61810         for EINVAL.
61811
61812 2007-03-03  Bruno Haible  <bruno@clisp.org>
61813
61814         * modules/relocatable-prog (Depends-on): Add back progreloc's
61815         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
61816
61817 2007-03-03  Bruno Haible  <bruno@clisp.org>
61818
61819         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
61820         * modules/relocatable-lib: New file.
61821
61822 2007-03-03  Bruno Haible  <bruno@clisp.org>
61823
61824         * modules/relocatable-prog: Renamed from modules/relocatable.
61825         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
61826
61827 2007-03-03  Bruno Haible  <bruno@clisp.org>
61828
61829         * modules/relocatable-script (Files): Add doc/relocatable.texi,
61830         m4/relocatable-lib.m4.
61831         (Depends-on): Remove 'relocatable'.
61832         (configure.ac): Add gl_RELOCATABLE_NOP.
61833
61834 2007-03-03  Bruno Haible  <bruno@clisp.org>
61835
61836         * modules/relocatable-prog-wrapper: New file.
61837         * modules/relocatable (Depends-on): Add it. Remove all other
61838         dependencies except progname.
61839         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
61840
61841         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
61842         (gl_FUNC_STRERROR): Nop.
61843         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
61844
61845         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
61846         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
61847
61848         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
61849         (gl_FUNC_READLINK): Update.
61850
61851         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
61852
61853 2007-03-03  Bruno Haible  <bruno@clisp.org>
61854
61855         * lib/xreadlink.c: Include <unistd.h> unconditionally.
61856         * modules/xreadlink (Depends-on): Add unistd.
61857         * modules/xreadlink-with-size (Depends-on): Likewise.
61858
61859 2007-03-03  Bruno Haible  <bruno@clisp.org>
61860
61861         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
61862         extracted from gt_FUNC_SETENV.
61863         (gt_FUNC_SETENV): Remove macro.
61864         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
61865         remove gt_FUNC_SETENV.
61866
61867 2007-03-03  Bruno Haible  <bruno@clisp.org>
61868
61869         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
61870         ENABLE_RELOCATABLE here.
61871         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
61872
61873 2007-03-03  Bruno Haible  <bruno@clisp.org>
61874
61875         * modules/rbtreehash-list-tests (Depends-on): Add progname.
61876         * tests/test-rbtreehash_list.c: Include progname.h.
61877         (main): Call set_program_name.
61878
61879         * modules/rbtree-oset-tests (Depends-on): Add progname.
61880         * tests/test-rbtree_oset.c: Include progname.h.
61881         (main): Call set_program_name.
61882
61883         * modules/rbtree-list-tests (Depends-on): Add progname.
61884         * tests/test-rbtree_list.c: Include progname.h.
61885         (main): Call set_program_name.
61886
61887         * modules/linked-list-tests (Depends-on): Add progname.
61888         * tests/test-linked_list.c: Include progname.h.
61889         (main): Call set_program_name.
61890
61891 2007-03-03  Bruno Haible  <bruno@clisp.org>
61892
61893         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
61894         All uses of __restrict changed to _Restrict_.
61895         * lib/glob_.h (__restrict): Remove macro.
61896
61897 2007-03-02  Bruno Haible  <bruno@clisp.org>
61898
61899         * modules/gettext (configure.ac): Require gettext infrastructure
61900         from version 0.16.1.
61901
61902 2007-03-02  Bruno Haible  <bruno@clisp.org>
61903
61904         * modules/linkedhash-list-tests (Depends-on): Add progname.
61905         * tests/test-linkedhash_list.c: Include progname.h.
61906         (main): Call set_program_name.
61907
61908         * modules/carray-list-tests (Depends-on): Add progname.
61909         * tests/test-carray_list.c: Include progname.h.
61910         (main): Call set_program_name.
61911
61912         * modules/avltreehash-list-tests (Depends-on): Add progname.
61913         * tests/test-avltreehash_list.c: Include progname.h.
61914         (main): Call set_program_name.
61915
61916         * modules/avltree-oset-tests (Depends-on): Add progname.
61917         * tests/test-avltree_oset.c: Include progname.h.
61918         (main): Call set_program_name.
61919
61920         * modules/avltree-list-tests (Depends-on): Add progname.
61921         * tests/test-avltree_list.c: Include progname.h.
61922         (main): Call set_program_name.
61923
61924         * modules/array-oset-tests (Depends-on): Add progname.
61925         * tests/test-array_oset.c: Include progname.h.
61926         (main): Call set_program_name.
61927
61928         * modules/array-list-tests (Depends-on): Add progname.
61929         * tests/test-array_list.c: Include progname.h.
61930         (main): Call set_program_name.
61931
61932         * modules/argp-tests (Depends-on): Add progname.
61933         * tests/test-argp.c: Include argp.h first. Include progname.h.
61934         (main): Call set_program_name.
61935
61936 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
61937
61938         * doc/gnulib-tool.texi (Initial import): Reword description of
61939         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
61940         limited effect even if defined after the first system include.
61941
61942 2007-03-01  Bruno Haible  <bruno@clisp.org>
61943
61944         * build-aux/config.libpath: Update to libtool-1.5.22.
61945         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61946
61947 2007-03-01  Bruno Haible  <bruno@clisp.org>
61948
61949         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
61950         foo_CFLAGS.
61951         Reported by Ralf Wildenhues.
61952
61953 2007-03-01  Bruno Haible  <bruno@clisp.org>
61954
61955         * build-aux/install-reloc: Remove object files left over by some
61956         compilers.
61957         Reported by Ralf Wildenhues.
61958
61959 2007-03-01  Bruno Haible  <bruno@clisp.org>
61960
61961         * build-aux/install-reloc: Break long lines.
61962
61963 2007-03-01  Bruno Haible  <bruno@clisp.org>
61964
61965         * doc/relocatable.texi: Document that it may not work on OpenBSD.
61966         Reported by Ralf Wildenhues.
61967
61968 2007-03-01  Bruno Haible  <bruno@clisp.org>
61969
61970         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
61971         include ordering constraints.
61972
61973 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61974
61975         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
61976         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
61977         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
61978         as another example.
61979         * lib/time_.h: Fix misspelling.
61980         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61981         Require gl_HEADER_TIME_H_DEFAULTS.
61982         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
61983         * m4/time_r.m4 (gl_TIME_R): Likewise.
61984         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
61985
61986 2007-03-01  Bruno Haible  <bruno@clisp.org>
61987
61988         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
61989         * m4/utimens.m4 (gl_UTIMENS): Likewise.
61990
61991 2007-03-01  Jim Meyering  <jim@meyering.net>
61992
61993         * modules/xreadlink (Maintainer): Add my name.
61994         * modules/xreadlink-with-size (Depends-on): Alphabetize.
61995
61996 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
61997             Bruno Haible  <bruno@clisp.org>
61998
61999         * build-aux/install-reloc: Compile also c-ctype.c.
62000         * build-aux/relocatable.sh.in: New file.
62001         * doc/relocatable.texi: New file.
62002         * doc/relocatable-maint.texi: New file.
62003         * doc/gnulib.texi: Include relocatable-maint.texi.
62004         * lib/progreloc.c: Include unistd.h unconditionally.
62005         * lib/relocwrapper.c: Include unistd.h unconditionally.
62006         Include c-ctype.h.
62007         (add_dotbin): Use c_tolower.
62008         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
62009         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
62010         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
62011         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
62012         to m4/relocatable-lib.m4.
62013         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
62014         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
62015         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
62016         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
62017         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
62018         * modules/relocatable: New file.
62019         * modules/relocatable-lib: New file.
62020         * modules/relocatable-script: New file.
62021
62022 2007-02-28  Bruno Haible  <bruno@clisp.org>
62023
62024         Import --enable-relocatable infrastructure.
62025         * build-aux/config.libpath: New file, from GNU gettext.
62026         * build-aux/install-reloc: New file, from GNU gettext.
62027         * build-aux/reloc-ldflags: New file, from GNU gettext.
62028         * lib/relocatable.h: New file, from GNU gettext.
62029         * lib/relocatable.c: New file, from GNU gettext.
62030         * lib/relocwrapper.c: New file, from GNU gettext.
62031         * m4/relocatable.m4: New file, from GNU gettext.
62032
62033 2007-02-28  Bruno Haible  <bruno@clisp.org>
62034
62035         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
62036
62037         * modules/xreadlink: New file, from GNU gettext with modifications.
62038         * lib/xreadlink.c: New file, from GNU gettext.
62039         * lib/xreadlink.h: Add comments.
62040         (xreadlink): New declaration.
62041
62042         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
62043         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
62044         lib/xreadlink-with-size.c.
62045         (configure.ac): Remove gl_XREADLINK invocation.
62046         (Makefile.am): Augment lib_SOURCES.
62047         * m4/xreadlink.m4: Remove file.
62048         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
62049         (xreadlink_with_size): Renamed from xreadink.
62050         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
62051         * modules/canonicalize (Depends-on): Replace xreadlink with
62052         xreadlink-with-size.
62053         * lib/canonicalize.c (canonicalize_filename_mode): Update.
62054
62055 2007-02-25  Jim Meyering  <jim@meyering.net>
62056
62057         * build-aux/announce-gen: When complaining about excess arguments,
62058         list them.
62059
62060 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
62061
62062         * README: Document signed integer overflow situation more
62063         accurately.
62064
62065 2007-02-25  Bruno Haible  <bruno@clisp.org>
62066
62067         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
62068         'a' or 'A' conversion.
62069
62070 2007-02-25  Bruno Haible  <bruno@clisp.org>
62071
62072         * modules/filename: Renamed from modules/pathname.
62073         (Files): Replace lib/pathname.h with lib/filename.h. Replace
62074         lib/concatpath.c with lib/concat-filename.c.
62075         (Makefile.am): Update.
62076         (Include): Replace pathname.h with filename.h.
62077         * lib/filename.h: Renamed from lib/pathname.h.
62078         (concatenated_filename): Renamed from concatenated_pathname.
62079         * lib/concat-filename.c: Renamed from lib/concatpath.c.
62080         (concatenated_filename): Renamed from concatenated_pathname.
62081         * lib/findprog.c: Include filename.h instead of pathname.h.
62082         (find_in_path): Update.
62083         * lib/javacomp.c: Include filename.h instead of pathname.h.
62084         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
62085         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
62086         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
62087         is_oldgcj_14_13_usable, is_javac_usable): Update.
62088         * lib/javaexec.c: Include filename.h instead of pathname.h.
62089         (execute_java_class): Update.
62090         * modules/findprog: Update.
62091         * modules/javacomp: Update.
62092         * modules/javaexec: Update.
62093         * MODULES.html.sh (File system functions): Add 'filename', remove
62094         'pathname'.
62095
62096 2007-02-25  Bruno Haible  <bruno@clisp.org>
62097
62098         * modules/printf-frexpl-tests: New file.
62099         * tests/test-printf-frexpl.c: New file.
62100
62101         * modules/printf-frexpl: New file.
62102         * lib/printf-frexpl.h: New file.
62103         * lib/printf-frexpl.c: New file.
62104         * m4/printf-frexpl.m4: New file.
62105
62106 2007-02-25  Bruno Haible  <bruno@clisp.org>
62107
62108         * modules/printf-frexp-tests: New file.
62109         * tests/test-printf-frexp.c: New file.
62110
62111         * modules/printf-frexp: New file.
62112         * lib/printf-frexp.h: New file.
62113         * lib/printf-frexp.c: New file.
62114         * m4/printf-frexp.m4: New file.
62115
62116 2007-02-25  Bruno Haible  <bruno@clisp.org>
62117
62118         Assume automake >= 1.10 for the tests.
62119         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
62120         * modules/arctwo-tests: Likewise.
62121         * modules/argp-tests: Likewise.
62122         * modules/avltree-list-tests: Likewise.
62123         * modules/avltree-oset-tests: Likewise.
62124         * modules/avltreehash-list-tests: Likewise.
62125         * modules/carray-list-tests: Likewise.
62126         * modules/crc-tests: Likewise.
62127         * modules/des-tests: Likewise.
62128         * modules/gc-arcfour-tests: Likewise.
62129         * modules/gc-arctwo-tests: Likewise.
62130         * modules/gc-des-tests: Likewise.
62131         * modules/gc-hmac-md5-tests: Likewise.
62132         * modules/gc-hmac-sha1-tests: Likewise.
62133         * modules/gc-md2-tests: Likewise.
62134         * modules/gc-md4-tests: Likewise.
62135         * modules/gc-md5-tests: Likewise.
62136         * modules/gc-pbkdf2-sha1-tests: Likewise.
62137         * modules/gc-rijndael-tests: Likewise.
62138         * modules/gc-sha1-tests: Likewise.
62139         * modules/gc-tests: Likewise.
62140         * modules/getaddrinfo-tests: Likewise.
62141         * modules/hmac-md5-tests: Likewise.
62142         * modules/hmac-sha1-tests: Likewise.
62143         * modules/linked-list-tests: Likewise.
62144         * modules/linkedhash-list-tests: Likewise.
62145         * modules/lock-tests: Likewise.
62146         * modules/md2-tests: Likewise.
62147         * modules/md4-tests: Likewise.
62148         * modules/md5-tests: Likewise.
62149         * modules/rbtree-list-tests: Likewise.
62150         * modules/rbtree-oset-tests: Likewise.
62151         * modules/rbtreehash-list-tests: Likewise.
62152         * modules/read-file-tests: Likewise.
62153         * modules/rijndael-tests: Likewise.
62154         * modules/stdint-tests: Likewise.
62155         * modules/tls-tests: Likewise.
62156
62157 2007-02-24  Bruno Haible  <bruno@clisp.org>
62158
62159         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
62160         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
62161         function; instead check whether isnan with a double argument links.
62162         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
62163         function; instead check whether isnan with a 'long double' argument
62164         links.
62165         Reported by Eric Blake <ebb9@byu.net>.
62166
62167 2007-02-24  Bruno Haible  <bruno@clisp.org>
62168
62169         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
62170         defined.
62171         * lib/isnanl.c: Remove all code. Just include isnan.c.
62172         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
62173
62174 2007-02-25  Jim Meyering  <jim@meyering.net>
62175
62176         Avoid conflicting types for 'unsetenv' on FreeBSD.
62177         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
62178         conflicting with FreeBSD's (5.0 and 6.1) function declaration
62179         in stdlib.h.
62180
62181 2007-02-24  Bruno Haible  <bruno@clisp.org>
62182
62183         * modules/isnanl-nolibm-tests: New file.
62184         * tests/test-isnanl.c: New file.
62185
62186         * modules/isnanl-nolibm: New file.
62187         * lib/isnanl.h: New file.
62188         * lib/isnanl.c: New file.
62189         * m4/isnanl.m4: New file.
62190
62191 2007-02-24  Bruno Haible  <bruno@clisp.org>
62192
62193         * modules/isnan-nolibm-tests: New file.
62194         * tests/test-isnan.c: New file.
62195
62196         * modules/isnan-nolibm: New file.
62197         * lib/isnan.h: New file.
62198         * lib/isnan.c: New file.
62199         * m4/isnan.m4: New file.
62200
62201 2007-02-24  Bruno Haible  <bruno@clisp.org>
62202
62203         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
62204         assume that an exponent fits in 20 bits.
62205
62206 2007-02-24  Jim Meyering  <jim@meyering.net>
62207
62208         * m4/regex.m4: Update the description of the configure-time option,
62209         --without-included-regex, to state accurately what the defaults are,
62210         and perhaps to give people an idea why using this option is risky.
62211
62212 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62213
62214         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
62215         loops on small arguments.  This attempts to avoid the problem
62216         Bruno Haible reported for AIX 4.3.2 in
62217         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
62218
62219 2007-02-23  Bruno Haible  <bruno@clisp.org>
62220
62221         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
62222         Needed for help2man.
62223
62224 2007-02-23  Karl Berry  <karl@gnu.org>
62225
62226         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
62227         exists, foo.h should be cvs-ignored, not committed.
62228
62229 2007-02-23  Eric Blake  <ebb9@byu.net>
62230
62231         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
62232         * lib/stat-time.h (includes): Likewise.
62233         * lib/utimecmp.c (includes): Likewise.
62234         * lib/utimens.h (includes): Likewise.
62235         * lib/getdate.y (includes): Also include "timespec.h" for use
62236         internal to the module.
62237         * modules/utimens (Depends-on): Revert yesterday's patch.
62238         * modules/nanosleep (Depends-on): Add missing dependency.
62239
62240 2007-02-22  Bruno Haible  <bruno@clisp.org>
62241
62242         * lib/glob.c: Don't include getlogin_r.h.
62243
62244 2007-02-22  Jim Meyering  <jim@meyering.net>
62245
62246         * modules/utimens (Depends-on): Add timespec, required for
62247         utimens.h's inclusion of timespec.h.
62248
62249 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
62250
62251         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
62252         long unreadable paths in GNU/Linux.  Problem reported by Andreas
62253         Schwab in
62254         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
62255         I'll try to think of a better way to fix the Solaris problem.
62256
62257         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
62258         like glibc; on Solaris 10, it fails with errno == EINVAL.
62259         POSIX says the behavior is unspecified if the first argument is NULL,
62260         so play it safe and never pass NULL to the system getcwd.
62261
62262 2007-02-21  Jim Meyering  <jim@meyering.net>
62263
62264         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
62265         of gettimeofday.  It would conflict with the one now always
62266         provided via sys_time_.h.  Reported by Matthew Woehlke, as
62267         an IRIX 6.5 build failure.
62268
62269 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62270
62271         Minor fixups to port to Solaris 10 with Sun C 5.8.
62272         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
62273         * modules/getcwd (Depends-on): Add dirfd.
62274         * lib/putenv.c (putenv): #undef it.
62275         (rpl_putenv): New decl.
62276         (malloc, free): Include <stdlib.h> rather than prototyping separately.
62277
62278 2007-02-20  Bruno Haible  <bruno@clisp.org>
62279
62280         * modules/stdio-tests: New file.
62281         * tests/test-stdio.c: New file.
62282
62283         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
62284         (Depends-on): Add stdio.
62285         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62286         (Include): Use <stdio.h> instead of vsnprintf.h.
62287         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62288         HAVE_DECL_VSNPRINTF.
62289         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
62290
62291         * modules/snprintf (Files): Remove lib/snprintf.h.
62292         (Depends-on): Add stdio.
62293         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62294         (Include): Use <stdio.h> instead of snprintf.h.
62295         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62296         HAVE_DECL_SNPRINTF.
62297         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
62298         * lib/getaddrinfo.c: Likewise.
62299
62300         * modules/stdio: New file.
62301         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
62302         * lib/snprintf.h: Remove file.
62303         * lib/vsnprintf.h: Remove file.
62304         * lib/.cppi-disable: Remove snprintf.h.
62305         * m4/stdio_h.m4: New file.
62306         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
62307
62308 2007-02-20  Jim Meyering  <jim@meyering.net>
62309
62310         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
62311         used by e.g., mingw.  From Bruno Haible.
62312
62313 2007-02-19  Bruno Haible  <bruno@clisp.org>
62314
62315         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
62316         warnings.
62317         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62318
62319 2007-02-19  Bruno Haible  <bruno@clisp.org>
62320
62321         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
62322         from mingw users.
62323
62324 2007-02-19  Bruno Haible  <bruno@clisp.org>
62325
62326         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
62327         warnings.
62328         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
62329
62330 2007-02-19  Jim Meyering  <jim@meyering.net>
62331
62332         Don't use FD after a successful "fdopendir (fd)".
62333         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
62334         Reset it by calling dirfd on the just-obtained DIR*.
62335
62336         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
62337         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
62338
62339 2007-02-18  Bruno Haible  <bruno@clisp.org>
62340
62341         * lib/readlink.c: Include <unistd.h>.
62342         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
62343         HAVE_READLINK.
62344         * modules/readlink (Depends-on): Add unistd.
62345         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62346         (Include): Add <unistd.h>.
62347
62348         * lib/getlogin_r.h: Remove file.
62349         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
62350         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
62351         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
62352         HAVE_DECL_GETLOGIN_R.
62353         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
62354         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62355         (Include): Use <unistd.h> instead of getlogin_r.h.
62356
62357         * lib/getcwd.h: Remove file.
62358         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
62359         * lib/xgetcwd.c: Likewise.
62360         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
62361         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
62362         * modules/getcwd (Files): Remove lib/getcwd.h.
62363         (Depends-on): Add unistd.
62364         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62365         (Include): Use <unistd.h> instad of getcwd.h.
62366
62367         * lib/ftruncate.c: Include <unistd.h> first.
62368         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
62369         Set HAVE_FTRUNCATE.
62370         * modules/ftruncate (Depends-on): Add unistd.
62371         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62372
62373         * lib/fchdir.c: Include <unistd.h> first.
62374         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
62375         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
62376         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
62377         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62378         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
62379
62380         * lib/dup2.c: Include <unistd.h> first.
62381         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62382         HAVE_DUP2.
62383         * modules/dup2 (Depends-on): Add unistd.
62384         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62385
62386         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62387         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62388         REPLACE_CHOWN. Don't define chown as a macro here.
62389         * modules/chown (Depends-on): Add unistd.
62390         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62391
62392         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62393         Add definition for GL_LINK_WARNING.
62394         (chown, dup2): New declarations.
62395         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62396         link warning.
62397         (ftruncate): New declaration.
62398         (getcwd): New declaration, taken from old getcwd.h.
62399         (getlogin_r): New declaration, taken from old getlogin_r.h.
62400         (readlink): New declaration.
62401         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62402         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62403         (gl_PREREQ_UNISTD): Remove macro.
62404         (gl_UNISTD_MODULE_INDICATOR): New macro.
62405         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62406         many new variables. Don't set UNISTD_H.
62407         * modules/unistd (Description): Change.
62408         (Depends-on): Add link-warning.
62409         (configure.ac): Update.
62410         (Makefile.am): Create unistd.h always. Substitute many new variables
62411         into it.
62412
62413 2007-02-18  Bruno Haible  <bruno@clisp.org>
62414
62415         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62416         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62417         HAVE_GETSUBOPT.
62418         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62419         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62420         * lib/getsubopt.h: Remove file.
62421         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62422         (Depends-on): Add stdlib.
62423         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62424         (Includes): Use <stdlib.h> instead of getsubopt.h.
62425         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62426         Set HAVE_GETSUBOPT.
62427         * lib/getsubopt.c: Don't include getsubopt.h.
62428
62429 2007-02-18  Bruno Haible  <bruno@clisp.org>
62430
62431         * modules/fchdir (Depends-on): Add dup2.
62432
62433 2007-02-18  Bruno Haible  <bruno@clisp.org>
62434
62435         * lib/stdlib_.h: Handle glibc's special invocation convention
62436         specially.
62437
62438 2007-02-18  Bruno Haible  <bruno@clisp.org>
62439
62440         * modules/stdlib-tests: New file.
62441         * tests/test-stdlib.c: New file.
62442
62443         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62444         (Depends-on): Add stdlib.
62445         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62446         (Includes): Use <stdlib.h> instead of mkstemp.h.
62447         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62448         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62449         * lib/mkstemp.c: Don't include mkstemp.h.
62450         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62451         * lib/stdlib--.h: Don't include mkstemp.h.
62452
62453         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62454         (Depends-on): Add stdlib.
62455         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62456         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62457         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62458         HAVE_MKDTEMP.
62459         * lib/mkdtemp.c: Don't include mkdtemp.h.
62460         * lib/clean-temp.c: Don't include mkdtemp.h.
62461
62462         * modules/exit (Files): Remove lib/exit.h.
62463         (Depends-on): Add stdlib.
62464         (Makefile.am): Remove lib_SOURCES.
62465         (Include): Use <stdlib.h> instead of exit.h.
62466         * lib/argmatch.c: Don't include exit.h.
62467         * lib/execute.c: Likewise.
62468         * lib/pagealign_alloc.c: Likewise.
62469         * lib/pipe.c: Likewise.
62470         * lib/wait-process.c: Likewise.
62471         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62472         * lib/exitfail.c: Likewise.
62473         * lib/savewd.c: Likewise.
62474         * lib/xsetenv.c: Likewise.
62475
62476         * modules/stdlib: New file.
62477         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62478         and extra comments about mkstemp().
62479         * lib/exit.h: Remove file.
62480         * lib/mkdtemp.h: Remove file.
62481         * lib/mkstemp.h: Remove file.
62482         * m4/stdlib_h.m4: New file.
62483         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62484
62485 2007-02-18  Bruno Haible  <bruno@clisp.org>
62486
62487         * modules/math-tests: New file.
62488         * tests/test-math.c: New file.
62489
62490         * modules/math: New file.
62491         * modules/mathl (Files): Remove lib/mathl.h.
62492         (Depends-on): Add math.
62493         (Makefile.am): Don't mention mathl.h.
62494         (Include): Use <math.h> instead of mathl.h.
62495         * lib/math_.h: New file.
62496         * lib/mathl.h: Remove file.
62497         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62498         mathl.h.
62499         * lib/asinl.c: Likewise.
62500         * lib/atanl.c: Likewise.
62501         * lib/ceill.c: Likewise.
62502         * lib/cosl.c: Likewise.
62503         * lib/expl.c: Likewise.
62504         * lib/floorl.c: Likewise.
62505         * lib/frexpl.c: Likewise.
62506         * lib/ldexpl.c: Likewise.
62507         * lib/logl.c: Likewise.
62508         * lib/sincosl.c: Likewise.
62509         * lib/sinl.c: Likewise.
62510         * lib/sqrtl.c: Likewise.
62511         * lib/tanl.c: Likewise.
62512         * lib/trigl.c: Likewise.
62513         * m4/math_h.m4: New file.
62514         * MODULES.html.sh (Mathematics): Add math.
62515
62516 2007-02-17  Bruno Haible  <bruno@clisp.org>
62517
62518         * modules/wctype-tests: New file.
62519         * tests/test-wctype.c: New file.
62520
62521         * modules/wchar-tests: New file.
62522         * tests/test-wchar.c: New file.
62523
62524         * modules/unistd-tests: New file.
62525         * tests/test-unistd.c: New file.
62526
62527         * modules/time-tests: New file.
62528         * tests/test-time.c: New file.
62529
62530         * modules/sysexits-tests: New file.
62531         * tests/test-sysexits.c: New file.
62532
62533         * modules/sys_time-tests: New file.
62534         * tests/test-sys_time.c: New file.
62535
62536         * modules/sys_stat-tests: New file.
62537         * tests/test-sys_stat.c: New file.
62538
62539         * modules/sys_socket-tests: New file.
62540         * tests/test-sys_socket.c: New file.
62541
62542         * modules/sys_select-tests: New file.
62543         * tests/test-sys_select.c: New file.
62544
62545         * modules/string-tests: New file.
62546         * tests/test-string.c: New file.
62547
62548         * modules/stdbool-tests: New file.
62549         * tests/test-stdbool.c: New file.
62550
62551         * modules/netinet_in-tests: New file.
62552         * tests/test-netinet_in.c: New file.
62553
62554         * modules/inttypes-tests: New file.
62555         * tests/test-inttypes.c: New file.
62556
62557         * modules/fcntl-tests: New file.
62558         * tests/test-fcntl.c: New file.
62559
62560         * modules/byteswap-tests: New file.
62561         * tests/test-byteswap.c: New file.
62562
62563         * modules/arpa_inet-tests: New file.
62564         * tests/test-arpa_inet.c: New file.
62565
62566 2007-02-17  Bruno Haible  <bruno@clisp.org>
62567
62568         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62569         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62570         if the corresponding module is not enabled. Emit link warnings if
62571         the function is used nevertheless.
62572         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62573         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62574         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62575         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62576         * modules/inttypes (Depends-on): Add link-warning.
62577         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62578         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62579         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62580         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62581         * modules/imaxdiv (configure.ac): Likewise.
62582         * modules/strtoimax (configure.ac): Likewise.
62583         * modules/strtoumax (configure.ac): Likewise.
62584
62585 2007-02-17  Bruno Haible  <bruno@clisp.org>
62586
62587         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62588         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62589         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62590         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62591
62592 2007-02-17  Bruno Haible  <bruno@clisp.org>
62593
62594         * modules/link-warning: New file.
62595         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62596         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62597         * modules/string (Depends-on): Add link-warning.
62598         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62599         string.h.
62600         * MODULES.html.sh (Support for building libraries and executables): Add
62601         link-warning.
62602
62603 2007-02-17  Bruno Haible  <bruno@clisp.org>
62604
62605         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62606         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62607         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62608         long lines.
62609
62610 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62611             Bruno Haible  <bruno@clisp.org>
62612
62613         * modules/tmpfile: New file.
62614         * lib/tmpfile.c: New file.
62615         * m4/tmpfile.m4: New file.
62616         * MODULES.html.sh (func_all_modules): New section "Input/output".
62617
62618 2007-02-15  Bruno Haible  <bruno@clisp.org>
62619
62620         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62621         (supports_delete_on_close): New function.
62622         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62623
62624 2007-02-14  Bruno Haible  <bruno@clisp.org>
62625
62626         * modules/mbspcasecmp-tests: New file.
62627         * tests/test-mbspcasecmp.sh: New file.
62628         * tests/test-mbspcasecmp.c: New file.
62629
62630         New module mbspcasecmp.
62631         * modules/mbspcasecmp: New file.
62632         * lib/mbspcasecmp.c: New file.
62633         * lib/string_.h (strncasecmp): Change warning message.
62634         (mbspcasecmp): New declaration.
62635         * m4/mbspcasecmp.m4: New file.
62636         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62637         GNULIB_MBSPCASECMP.
62638         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62639         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62640
62641 2007-02-14  Bruno Haible  <bruno@clisp.org>
62642
62643         * modules/mbsncasecmp-tests: New file.
62644         * tests/test-mbsncasecmp.sh: New file.
62645         * tests/test-mbsncasecmp.c: New file.
62646
62647         New module mbsncasecmp.
62648         * modules/mbsncasecmp: New file.
62649         * lib/mbsncasecmp.c: New file.
62650         * lib/string_.h (mbsncasecmp): New declaration.
62651         * m4/mbsncasecmp.m4: New file.
62652         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62653         GNULIB_MBSNCASECMP.
62654         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62655         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62656
62657 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62658
62659         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62660         Verify that it doesn't overlap with our flags.
62661         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62662         do not have the desired effect in multibyte locales; instead, use
62663         mbscasecmp.
62664         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62665         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62666         we don't require GNU fnmatch ourselves (if our users require it, they
62667         should do so explicitly).
62668
62669         Fix regex code so it doesn't rely on strcasecmp.
62670         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62671         Otherwise, include gnulib's langinfo.h.
62672         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62673         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62674         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62675         * modules/regex (FILES): Remove m4/codeset.m4.
62676         (Depends-on): Add localcharset.  Remove strcase.
62677
62678 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62679
62680         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62681         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62682
62683 2007-02-13  Bruno Haible  <bruno@clisp.org>
62684
62685         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62686         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62687
62688 2007-02-12  Bruno Haible  <bruno@clisp.org>
62689
62690         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62691         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62692         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62693         time warning rather than a link error.
62694
62695 2007-02-12  Bruno Haible  <bruno@clisp.org>
62696
62697         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62698         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62699         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62700
62701 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62702
62703         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62704         args, not 2.
62705
62706 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62707
62708         New module 'time', so that apps can include <time.h> as per
62709         POSIX and GNU instead of separate include files like time_r.h
62710         and timegm.h.  This implementation tries out a simpler approach
62711         for replacing decls in standard include files (as compared to
62712         the string module), somewhat as an experiment.
62713
62714         * config/srclist.txt: Comment out mktime.c for now.
62715         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62716         since it doesn't apply any more.  Use generic wording instead.
62717         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62718         'time'.
62719         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62720         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62721         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62722         Don't include <sys/types.h>; no longer needed since we assume C89.
62723         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62724         * lib/strftime.c: Likewise.
62725         * lib/time_r.c: Likewise.
62726         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62727         * lib/nanosleep.c: Include <time.h> first, to check interface.
62728         * lib/strptime.c: Likewise.
62729         * lib/time_r.c: Likewise.
62730         * lib/timegm.c: Likewise.
62731         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62732         needed.
62733         * lib/timegm.c: Don't include timegm.h; no longer needed.
62734         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62735         time.h now handles any problems in that area.
62736         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62737         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62738         that time.h defines struct timespec.
62739         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62740         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62741         handles that.
62742         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62743         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62744         needed.  Set REPLACE_LOCALTIME.
62745         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62746         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62747         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62748         nanosleep; time_h.m4 now does that.  Don't require
62749         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62750         module handles this now.
62751         * modules/getdate (Depends-on): Remove timespec.  Add time.
62752         * modules/nanosleep (Depends-on): Likewise.
62753         * modules/stat-time (Depends-on): Likewise.
62754         * modules/nanosleep (Include): Include time.h, not timespec.h.
62755         * modules/strptime (Files): Remove lib/strptime.h.
62756         (Depends-on): Add extensions, time.
62757         (Include): Include time.h, not strptime.h.
62758         * modules/time_r (Files): Remove lib/time_r.h.
62759         (Depends-on): Add time.
62760         (Include): Include time.h, not time_r.h.
62761         * modules/timegm: Likewise.
62762         * modules/timespec (Description): Now does timespec-related decls
62763         of our own, instead of struct timespec itself.
62764         (Depends-on): Add time; remove extensions.
62765         (Maintainer): Add self.
62766         * modules/utimecmp (Depends-on): Add time; remove timespec.
62767         * modules/utimens (Depends-on): Likewise.
62768         * modules/xnanosleep (Depends-on): Likewise.
62769
62770 2007-02-11  Bruno Haible  <bruno@clisp.org>
62771
62772         * lib/c-strstr.c: Include allocsa.h.
62773         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62774         * lib/c-strcasestr.c: Include allocsa.h.
62775         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62776         * lib/strcasestr.c: Include allocsa.h.
62777         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62778         * lib/mbsstr.c: Include allocsa.h.
62779         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62780         allocsa/freesa instead of malloc/free.
62781         * lib/mbscasestr.c: Include allocsa.h.
62782         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62783         allocsa/freesa instead of malloc/free.
62784         * modules/c-strstr (Depends-on): Add allocsa.
62785         * modules/c-strcasestr (Depends-on): Likewise.
62786         * modules/strcasestr (Depends-on): Likewise.
62787         * modules/mbsstr (Depends-on): Likewise.
62788         * modules/mbscasestr (Depends-on): Likewise.
62789
62790 2007-02-11  Bruno Haible  <bruno@clisp.org>
62791
62792         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
62793
62794         * modules/mbsspn-tests: New file.
62795         * tests/test-mbsspn.sh: New file.
62796         * tests/test-mbsspn.c: New file.
62797
62798 2007-02-11  Bruno Haible  <bruno@clisp.org>
62799
62800         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
62801
62802         * modules/mbspbrk-tests: New file.
62803         * tests/test-mbspbrk.sh: New file.
62804         * tests/test-mbspbrk.c: New file.
62805
62806 2007-02-11  Bruno Haible  <bruno@clisp.org>
62807
62808         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
62809         unneeded cast.
62810
62811         * modules/mbscspn-tests: New file.
62812         * tests/test-mbscspn.sh: New file.
62813         * tests/test-mbscspn.c: New file.
62814
62815 2007-02-11  Bruno Haible  <bruno@clisp.org>
62816
62817         * modules/mbscasecmp-tests: New file.
62818         * tests/test-mbscasecmp.sh: New file.
62819         * tests/test-mbscasecmp.c: New file.
62820
62821 2007-02-11  Bruno Haible  <bruno@clisp.org>
62822
62823         Ensure O(n) worst-case complexity of mbscasestr.
62824         * lib/mbscasestr.c: Include stdbool.h.
62825         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62826         functions.
62827         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
62828         the bookkeeping indicates that it's worth it.
62829         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
62830
62831         * modules/mbscasestr-tests: New file.
62832         * tests/test-mbscasestr1.c: New file.
62833         * tests/test-mbscasestr2.sh: New file.
62834         * tests/test-mbscasestr2.c: New file.
62835         * tests/test-mbscasestr3.sh: New file.
62836         * tests/test-mbscasestr3.c: New file.
62837         * tests/test-mbscasestr4.sh: New file.
62838         * tests/test-mbscasestr4.c: New file.
62839         * m4/locale-tr.m4: New file.
62840
62841 2007-02-11  Bruno Haible  <bruno@clisp.org>
62842
62843         Ensure O(n) worst-case complexity of mbsstr.
62844         * lib/mbsstr.c: Include stdbool.h.
62845         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62846         functions.
62847         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
62848         bookkeeping indicates that it's worth it.
62849         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
62850
62851         * modules/mbsstr-tests: New file.
62852         * tests/test-mbsstr1.c: New file.
62853         * tests/test-mbsstr2.sh: New file.
62854         * tests/test-mbsstr2.c: New file.
62855         * tests/test-mbsstr3.sh: New file.
62856         * tests/test-mbsstr3.c: New file.
62857         * m4/locale-fr.m4: New file.
62858
62859 2007-02-11  Bruno Haible  <bruno@clisp.org>
62860
62861         * lib/mbsrchr.c (mbsrchr): Fix bug.
62862
62863         * modules/mbsrchr-tests: New file.
62864         * tests/test-mbsrchr.sh: New file.
62865         * tests/test-mbsrchr.c: New file.
62866
62867 2007-02-11  Bruno Haible  <bruno@clisp.org>
62868
62869         * lib/mbschr.c (mbschr): Fix bug.
62870
62871         * modules/mbschr-tests: New file.
62872         * tests/test-mbschr.sh: New file.
62873         * tests/test-mbschr.c: New file.
62874         * m4/locale-zh.m4: New file.
62875
62876 2007-02-11  Bruno Haible  <bruno@clisp.org>
62877
62878         Support for copying multibyte string iterators.
62879         * lib/mbiter.h: Include <string.h>.
62880         (mbiter_multi_copy): New function.
62881         (mbi_copy): New macro.
62882         * lib/mbuiter.h: Include <string.h>.
62883         (mbuiter_multi_copy): New function.
62884         (mbui_copy): New macro.
62885
62886 2007-02-11  Bruno Haible  <bruno@clisp.org>
62887
62888         New module mbslen.
62889         * modules/mbslen: New file.
62890         * lib/mbslen.c: New file.
62891         * lib/string_.h (mbslen): New declaration.
62892         * m4/mbslen.m4: New file.
62893         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62894         GNULIB_MBSLEN.
62895         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
62896         * MODULES.html.sh (Internationalization functions): Add mbslen.
62897
62898 2007-02-11  Bruno Haible  <bruno@clisp.org>
62899
62900         Ensure O(n) worst-case complexity of strcasestr substitute.
62901         * lib/strcasestr.c: Include stdbool.h.
62902         (knuth_morris_pratt): New function.
62903         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62904         bookkeeping indicates that it's worth it.
62905         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
62906
62907         * modules/strcasestr-tests: New file.
62908         * tests/test-strcasestr.c: New file.
62909
62910 2007-02-11  Bruno Haible  <bruno@clisp.org>
62911
62912         Ensure O(n) worst-case complexity of c_strcasestr.
62913         * lib/c-strcasestr.c: Include stdbool.h, string.h.
62914         (knuth_morris_pratt): New function.
62915         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
62916         the bookkeeping indicates that it's worth it.
62917         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
62918
62919         * modules/c-strcasestr-tests: New file.
62920         * tests/test-c-strcasestr.c: New file.
62921
62922 2007-02-11  Bruno Haible  <bruno@clisp.org>
62923
62924         Ensure O(n) worst-case complexity of c_strstr.
62925         * lib/c-strstr.c: Include stdbool.h, string.h.
62926         (knuth_morris_pratt): New function.
62927         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62928         bookkeeping indicates that it's worth it.
62929         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
62930
62931         * lib/c-strstr.c: Complete rewrite for maintainability.
62932
62933         * modules/c-strstr-tests: New file.
62934         * tests/test-c-strstr.c: New file.
62935
62936 2007-02-11  Bruno Haible  <bruno@clisp.org>
62937
62938         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
62939         5.2.1 and earlier, whereby \055 was treated just like the range
62940         delimiter '-'.
62941         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62942
62943 2007-02-08  Bruno Haible  <bruno@clisp.org>
62944
62945         * modules/regex (Depends-on): Add stdbool.
62946         Reported by Dalibor Topic <robilad@kaffe.org>.
62947
62948 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62949
62950         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
62951         Prefer returning from main to exiting from it.
62952         Remove unnecessary parens after sizeof.
62953
62954 2007-02-05  Bruno Haible  <bruno@clisp.org>
62955
62956         New module mbssep.
62957         * modules/mbssep: New file.
62958         * lib/mbssep.c: New file.
62959         * lib/string_.h (strsep): Add a conditional link warning.
62960         (mbssep): New declaration.
62961         * m4/mbssep.m4: New file.
62962         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62963         GNULIB_MBSSEP.
62964         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
62965         * MODULES.html.sh (Internationalization functions): Add mbssep.
62966
62967 2007-02-05  Bruno Haible  <bruno@clisp.org>
62968
62969         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
62970         Optimize search in case of 1 delimiter.
62971
62972 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62973
62974         * lib/acl.h: Include sys/types.h before sys/acl.h.
62975
62976 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62977
62978         Merge upstream fix for glibc bugzilla #3957:
62979
62980         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
62981
62982         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
62983         bit for RE_HAT_LISTS_NOT_NEWLINE.
62984         (build_charclass_op): Remove bogus comment.
62985
62986 2007-02-05  Simon Josefsson  <simon@josefsson.org>
62987
62988         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
62989
62990 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62991
62992         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
62993         * lib/memmem.c [!defined _LIBC]: Include config.h.
62994
62995 2007-02-04  Bruno Haible  <bruno@clisp.org>
62996
62997         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
62998         warning message.
62999
63000 2007-02-04  Bruno Haible  <bruno@clisp.org>
63001
63002         New module mbstok_r.
63003         * modules/mbstok_r: New file.
63004         * lib/mbstok_r.c: New file.
63005         * lib/string_.h (strtok_r): Change argument names to match the
63006         comments. Add a conditional link warning.
63007         (mbstok_r): New declaration.
63008         * m4/mbstok_r.m4: New file.
63009         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63010         GNULIB_MBSTOK_R.
63011         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
63012         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
63013
63014 2007-02-04  Bruno Haible  <bruno@clisp.org>
63015
63016         New module mbsspn.
63017         * modules/mbsspn: New file.
63018         * lib/mbsspn.c: New file.
63019         * lib/string_.h (strspn): Add a conditional link warning.
63020         (mbsspn): New declaration.
63021         * m4/mbsspn.m4: New file.
63022         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63023         GNULIB_MBSSPN.
63024         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
63025         * MODULES.html.sh (Internationalization functions): Add mbsspn.
63026
63027 2007-02-04  Bruno Haible  <bruno@clisp.org>
63028
63029         New module mbspbrk.
63030         * modules/mbspbrk: New file.
63031         * lib/mbspbrk.c: New file.
63032         * lib/string_.h (strpbrk): Add a conditional link warning.
63033         (mbspbrk): New declaration.
63034         * m4/mbspbrk.m4: New file.
63035         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63036         GNULIB_MBSPBRK.
63037         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
63038         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
63039
63040 2007-02-04  Bruno Haible  <bruno@clisp.org>
63041
63042         New module mbscspn.
63043         * modules/mbscspn: New file.
63044         * lib/mbscspn.c: New file.
63045         * lib/string_.h (strcspn): Add a conditional link warning.
63046         (mbscspn): New declaration.
63047         * m4/mbscspn.m4: New file.
63048         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63049         GNULIB_MBSCSPN.
63050         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
63051         * MODULES.html.sh (Internationalization functions): Add mbscspn.
63052
63053 2007-02-04  Bruno Haible  <bruno@clisp.org>
63054
63055         New module mbscasestr, reduced goal of strcasestr.
63056         * modules/mbscasestr: New file.
63057         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
63058         (mbscasestr): Renamed from strcasestr.
63059         * lib/strcasestr.c: Don't include mbuiter.h.
63060         (strcasestr): Remove support for multibyte locales.
63061         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
63062         Change the conditional link warning.
63063         (mbscasestr): New declaration.
63064         * m4/mbscasestr.m4: New file.
63065         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
63066         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
63067         REPLACE_STRCASESTR.
63068         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
63069         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63070         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63071         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
63072         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
63073         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63074         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
63075         (Depends-on): Remove mbuiter.
63076         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
63077
63078 2007-02-04  Bruno Haible  <bruno@clisp.org>
63079
63080         Simplify handling of strncasecmp.
63081         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
63082         the conditional link warning.
63083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63084         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
63085         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
63086         * modules/strcase (configure.ac): Don't invoke
63087         gl_STRING_MODULE_INDICATOR.
63088         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
63089
63090 2007-02-04  Bruno Haible  <bruno@clisp.org>
63091
63092         New module mbscasecmp, reduced goal of strcasecmp.
63093         * modules/mbscasecmp: New file.
63094         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
63095         (mbscasecmp): Renamed from strcasecmp.
63096         * lib/strcasecmp.c: Don't include mbuiter.h.
63097         (strcasecmp): Remove support for multibyte locales.
63098         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
63099         Change the conditional link warning.
63100         (mbscasecmp): New declaration.
63101         * m4/mbscasecmp.m4: New file.
63102         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
63103         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
63104         REPLACE_STRCASECMP.
63105         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
63106         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63107         GNULIB_MBSCASECMP.
63108         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
63109         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
63110         * modules/strcase (Files): Remove m4/mbrtowc.m4.
63111         (Depends-on): Remove mbuiter.
63112         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
63113
63114 2007-02-04  Bruno Haible  <bruno@clisp.org>
63115
63116         New module mbsstr. Remove module strstr.
63117         * modules/mbsstr: New file.
63118         * modules/strstr: Remove file.
63119         * lib/mbsstr.c: Renamed from lib/strstr.c.
63120         (mbsstr): Renamed from strstr.
63121         * lib/string_.h (strstr): Remove declaration. Change the conditional
63122         link warning.
63123         (mbsstr): New declaration.
63124         * m4/mbsstr.m4: New file.
63125         * m4/strstr.m4: Remove file.
63126         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63127         REPLACE_STRSTR.
63128         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
63129         Don't initialize GNULIB_STRSTR.
63130         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
63131         substitute GNULIB_STRSTR and REPLACE_STRSTR.
63132         * MODULES.html.sh (Internationalization functions): Add mbsstr.
63133         (Support for systems lacking ANSI C 89): Remove strstr.
63134
63135 2007-02-04  Bruno Haible  <bruno@clisp.org>
63136
63137         New module mbsrchr.
63138         * modules/mbsrchr: New file.
63139         * lib/mbsrchr.c: New file.
63140         * lib/string_.h (strrchr): Add a conditional link warning.
63141         (mbsrchr): New declaration.
63142         * m4/mbsrchr.m4: New file.
63143         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63144         GNULIB_MBSRCHR.
63145         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
63146         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
63147
63148 2007-02-04  Bruno Haible  <bruno@clisp.org>
63149
63150         New module mbschr.
63151         * modules/mbschr: New file.
63152         * lib/mbschr.c: New file.
63153         * lib/string_.h (strchr): Add a conditional link warning.
63154         (mbschr): New declaration.
63155         * m4/mbschr.m4: New file.
63156         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63157         GNULIB_MBSCHR.
63158         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
63159         * MODULES.html.sh (Internationalization functions): Add mbschr.
63160
63161 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63162
63163         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
63164
63165         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
63166
63167 2007-02-04  Bruno Haible  <bruno@clisp.org>
63168
63169         New module description section 'configure.ac-early'.
63170         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
63171         (func_get_autoconf_early_snippet): New function.
63172         (func_import, func_create_testdir): Use it. Remove special cases for
63173         modules 'extensions' and 'lock'.
63174         * modules/extensions (configure.ac-early): Require
63175         gl_USE_SYSTEM_EXTENSIONS.
63176         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
63177
63178 2007-02-04  Bruno Haible  <bruno@clisp.org>
63179
63180         Make use of gcj-4.3's -fsource and -ftarget option.
63181         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
63182         and if so try the options -fsource and -ftarget.
63183         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
63184         source_version, ftarget_option, target_version arguments.
63185         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
63186         (is_envjavac_oldgcj_14_14_usable): Renamed from
63187         is_envjavac_gcj_14_14_usable.
63188         (is_envjavac_oldgcj_14_13_usable): Renamed from
63189         is_envjavac_gcj_14_13_usable.
63190         (is_gcj_present): Update.
63191         (is_gcj_43, is_gcj43_usable): New functions.
63192         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
63193         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
63194         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
63195         try the options -fsource and -ftarget.
63196
63197 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63198
63199         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
63200         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
63201         larger value.
63202
63203 2007-02-03  Jim Meyering  <jim@meyering.net>
63204
63205         Give tools a better chance to allocate space for very large buffers.
63206         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
63207
63208         Make pwd and readlink work also when run with an unreadable parent dir
63209         on systems with openat support.
63210         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
63211         provided getcwd function, even when we have openat support.
63212         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
63213
63214 2007-02-02  Bruno Haible  <bruno@clisp.org>
63215
63216         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63217         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
63218         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
63219         portability problems if one of these functions is only used on specific
63220         platforms.
63221         Reported by Paul Eggert.
63222
63223 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
63224
63225         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
63226         is causing more trouble than it's curing.
63227         * lib/regex_internal.h (__mempcpy): Remove.
63228         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
63229         (and make the code a tad smaller to boot).
63230         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
63231
63232 2007-02-02  Jim Meyering  <jim@meyering.net>
63233
63234         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
63235         section, not in the Makefile.am: one.
63236
63237 2007-02-02  Eric Blake  <ebb9@byu.net>
63238
63239         * lib/strchrnul.c: Always include config.h first.
63240
63241         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
63242         gnulib strstr is not necessary here.
63243
63244 2007-02-02  Simon Josefsson  <simon@josefsson.org>
63245
63246         * m4/socklen.m4: Fix typo.
63247
63248 2007-02-02  Eric Blake  <ebb9@byu.net>
63249
63250         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
63251         * modules/netinet_in (Makefile.am): Likewise.
63252
63253 2007-02-01  Bruno Haible  <bruno@clisp.org>
63254
63255         * lib/string_.h (GL_LINK_WARNING): New macro.
63256         (strcasecmp, strstr, strcasestr): If provided by the system,
63257         conditionally define as a macro that leads to a warning instead of to
63258         an error.
63259         (strncasecmp): Conditionally define as a macro that leads to a warning.
63260
63261 2007-02-01  Karl Berry  <karl@gnu.org>
63262
63263         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
63264
63265 2007-02-01  Bruno Haible  <bruno@clisp.org>
63266
63267         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
63268         renamings.
63269
63270 2007-02-01  Eric Blake  <ebb9@byu.net>
63271
63272         * modules/regex (Depends-on): Revert dependence on mempcpy.
63273         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
63274         module's definition of mempcpy.
63275         Reported by Paul Eggert.
63276
63277 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
63278
63279         * lib/string_.h: If the gnulib module XYZ is not present, undefine
63280         the symbol XYZ before redefining it.  This fixes a problem with
63281         programs that don't use XYZ, when compiled on systems that define
63282         XYZ to something else.
63283
63284 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
63285
63286         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
63287         occurs when "mkdir -m foo" creates a setgid directory that is (1)
63288         writeable to group or other and (2) is intended to have a special
63289         mode bit that is set or cleared.  In such a case, the directory
63290         should be neither group- nor other-writeable until the special
63291         mode bits are right.
63292
63293 2007-01-31  Eric Blake  <ebb9@byu.net>
63294
63295         * modules/mountlist (Depends-on): Add strstr.
63296
63297         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
63298         bug.
63299         * modules/string (Makefile.am): Remove redundant replacement.
63300         * modules/regex (Depends-on): Add mempcpy.
63301
63302 2007-01-31  Bruno Haible  <bruno@clisp.org>
63303
63304         New module description field 'Link'.
63305         * gnulib-tool (func_usage): Document --extract-link-directive.
63306         (sed_extract_prog): Recognize 'Link' directive.
63307         (func_get_link_directive): New function.
63308         (func_import): Show summary of link directives.
63309         Handle --extract-link-directive option.
63310         * modules/acl (Link): New section.
63311         * modules/clock-time (Link): New section.
63312         * modules/euidaccess (Link): New section.
63313         * modules/gettext (Link): New section.
63314         * modules/iconv (Link): New section.
63315         * modules/lock (Link): New section.
63316         * modules/nanosleep (Link): New section.
63317         * modules/readline (Link): New section.
63318
63319 2007-01-27  Bruno Haible  <bruno@clisp.org>
63320
63321         Enforce the use of gnulib modules for unportable <string.h> functions.
63322         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
63323         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
63324         (gl_HEADER_STRING_H_BODY): Require it.
63325         * lib/string_.h: If the gnulib module XYZ is not present, redefine
63326         the symbol XYZ to one that gives a link error.
63327         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
63328         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
63329         * modules/mempcpy (configure.ac): Likewise.
63330         * modules/memrchr (configure.ac): Likewise.
63331         * modules/stpcpy (configure.ac): Likewise.
63332         * modules/stpncpy (configure.ac): Likewise.
63333         * modules/strcase (configure.ac): Likewise.
63334         * modules/strcasestr (configure.ac): Likewise.
63335         * modules/strchrnul (configure.ac): Likewise.
63336         * modules/strdup (configure.ac): Likewise.
63337         * modules/strndup (configure.ac): Likewise.
63338         * modules/strnlen (configure.ac): Likewise.
63339         * modules/strpbrk (configure.ac): Likewise.
63340         * modules/strsep (configure.ac): Likewise.
63341         * modules/strstr (configure.ac): Likewise.
63342         * modules/strtok_r (configure.ac): Likewise.
63343
63344 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
63345
63346         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
63347
63348 2007-01-30  Jim Meyering  <jim@meyering.net>
63349
63350         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
63351
63352 2007-01-29  Bruno Haible  <bruno@clisp.org>
63353
63354         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
63355         * lib/execute.c: Likewise.
63356         * lib/pipe.c: Likewise.
63357         * lib/printf-args.h: Likewise.
63358         * lib/printf-args.c: Likewise.
63359         * lib/printf-parse.c: Likewise.
63360         * lib/vasnprintf.c: Likewise.
63361
63362 2007-01-29  Eric Blake  <ebb9@byu.net>
63363
63364         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
63365         declaration.
63366
63367 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
63368
63369         * lib/strptime.h (strptime): Use 'restrict' for args where
63370         POSIX requires this.
63371         * lib/strptime.c (strptime): Likewise.
63372         Change license notice from LGPL to GPL, since gnulib-tool will
63373         change this as needed.
63374         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
63375         defined.
63376         Include "strptime.h" first, to check interface.
63377         Do not #undef _LIBC and _NL_CURRENT.
63378         Do not include <stdlib.h>; no longer needed.
63379         Include "time_r.h" and declare ptime_locale_status
63380         only if _LIBC is not defined.
63381         (__P): Remove unused macro.
63382         (match_string): Bring back glibc version, but use it only if _LIBC
63383         is defined.
63384         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63385         Remove unnecessary assertion and abort() call.
63386         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63387         * m4/strptime.m4: Fix serial number comment.
63388         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63389         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63390         (Depends-on): Add time_r.
63391
63392 2007-01-29  Bruno Haible  <bruno@clisp.org>
63393
63394         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63395         strptime.
63396         * modules/strptime (Depends-on): Add stdbool.
63397         * lib/strptime.h: Include <time.h> always. Add comments.
63398
63399 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63400
63401         * modules/strptime: New file.
63402         * lib/strptime.h: New file.
63403         * lib/strptime.c: New file.
63404         * m4/strptime.m4: New file.
63405
63406 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63407
63408         * MODULES.html.sh: New module mpsort.
63409         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63410
63411         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63412         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63413         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63414         All uses changed.
63415         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63416         All uses changed.
63417         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63418         to _Restrict_.
63419         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63420         the parameter matches the prototype.
63421
63422 2007-01-28  Jim Meyering  <jim@meyering.net>
63423
63424         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63425         sys/time.h here, reverting that part of the previous patch:
63426         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63427
63428 2007-01-28  Bruno Haible  <bruno@clisp.org>
63429
63430         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63431         value of $(SYS_TIME_H).
63432         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63433         remove it conditionally, too. [added by Jim Meyering]
63434         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63435         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63436         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63437         GETTIMEOFDAY_REPLACEMENT to 1.
63438
63439 2007-01-28  Bruno Haible  <bruno@clisp.org>
63440
63441         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63442         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63443         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63444         Set UNISTD_H instead of UNISTD_H2.
63445         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63446
63447 2007-01-28  Bruno Haible  <bruno@clisp.org>
63448
63449         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63450         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63451
63452 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63453
63454         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63455         (func_create_testdir): Ensure C locale for `grep' and `tr'
63456         character ranges.
63457         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63458         ACLOCAL_AMFLAGS parsing state machine.
63459
63460 2007-01-27  Bruno Haible  <bruno@clisp.org>
63461
63462         * modules/unistr/base: Update.
63463
63464 2007-01-27  Bruno Haible  <bruno@clisp.org>
63465
63466         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63467         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63468         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63469         modules/unistr/u32-mbtouc.
63470         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63471         * lib/unistr.h: Update.
63472         * lib/linebreak.c: Update.
63473         * modules/unistr/u32-mbtouc: Renamed from
63474         modules/unistr/u32-mbtouc-safe.
63475         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63476         * lib/unistr.h: Update.
63477         * lib/unistr/u32-to-u8.c: Update.
63478         * lib/unistr/u32-to-u16.c: Update.
63479
63480 2007-01-27  Bruno Haible  <bruno@clisp.org>
63481
63482         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63483         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63484         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63485         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63486         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63487         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63488         modules/unistr/u16-mbtouc.
63489         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63490         * lib/unistr.h: Update.
63491         * lib/linebreak.c: Update.
63492         * modules/linebreak: Update.
63493         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63494         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63495         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63496         * modules/unistr/u16-mbtouc: Renamed from
63497         modules/unistr/u16-mbtouc-safe.
63498         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63499         * lib/unistr.h: Update.
63500         * lib/unistr/u16-to-u8.c: Update.
63501         * modules/unistr/u16-to-u8: Update.
63502         * lib/unistr/u16-to-u32.c: Update.
63503         * modules/unistr/u16-to-u32: Update.
63504
63505 2007-01-27  Bruno Haible  <bruno@clisp.org>
63506
63507         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63508         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63509         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63510         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63511         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63512         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63513         modules/unistr/u8-mbtouc.
63514         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63515         * lib/unistr.h: Update.
63516         * lib/striconveh.c: Update.
63517         * modules/striconveh: Update.
63518         * lib/linebreak.c: Update.
63519         * modules/linebreak: Update.
63520         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63521         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63522         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63523         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63524         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63525         * lib/unistr.h: Update.
63526         * lib/striconveh.c: Update.
63527         * modules/striconveh: Update.
63528         * lib/unistr/u8-to-u16.c: Update.
63529         * modules/unistr/u8-to-u16: Update.
63530         * lib/unistr/u8-to-u32.c: Update.
63531         * modules/unistr/u8-to-u32: Update.
63532
63533 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63534
63535         Sync from Libtool.
63536         * lib/argz.c: Do not include strings.h nor memory.h, include
63537         string.h unconditionally.  Patch by Simon Josefsson.
63538
63539 2007-01-27  Bruno Haible  <bruno@clisp.org>
63540
63541         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63542         from gl_HEADER_STRING_H_BODY.
63543         (gl_HEADER_STRING_H_BODY): Require it.
63544         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63545         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63546         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63547         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63548         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63549         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63550         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63551         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63552         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63553         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63554         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63555         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63556         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63557         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63558         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63559
63560 2007-01-27  Bruno Haible  <bruno@clisp.org>
63561
63562         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63563         check_PROGRAMS into noinst_PROGRAMS.
63564         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63565         check_PROGRAMS in this case.
63566         (func_import): Set for_test to false.
63567         (func_create_testdir): Set for_test to true.
63568
63569 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63570             Bruno Haible  <bruno@clisp.org>
63571
63572         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63573         (Depends-on): Add string.
63574         (Includes): Use <string.h> instead of strcasestr.h.
63575         * modules/string (Makefile.am): Also substitute the value of
63576         REPLACE_STRCASESTR.
63577         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63578         assume strcasestr is declared in <string.h> not <strings.h>. Also
63579         set REPLACE_STRCASESTR.
63580         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63581         REPLACE_STRCASESTR.
63582         * lib/strcasestr.h: Remove file.
63583         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63584         * lib/string_.h (strcasestr): New declaration.
63585
63586 2007-01-27  Bruno Haible  <bruno@clisp.org>
63587
63588         * lib/string_.h: Use 'extern'.
63589
63590 2007-01-27  Jim Meyering  <jim@meyering.net>
63591
63592         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63593         of set-but-not-used local, "q".
63594
63595         * lib/mempcpy.c: Include <config.h> before <string.h>.
63596         This fixes a compilation error on HP-UX, due to the system's
63597         "restrict"-using mempcpy prototype.
63598
63599 2007-01-26  Bruno Haible  <bruno@clisp.org>
63600
63601         Small optimization.
63602         * lib/javacomp.c: Include c-strstr.h.
63603          (is_envjavac_gcj): Use c_strstr instead of strstr.
63604         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63605
63606 2007-01-26  Bruno Haible  <bruno@clisp.org>
63607
63608         * MODULES.html.sh (Unicode string functions): Add the new modules.
63609
63610         * modules/uniconv/u32-strconv-to-locale: New file.
63611         * lib/uniconv/u32-strconv-to-locale.c: New file.
63612
63613         * modules/uniconv/u16-strconv-to-locale: New file.
63614         * lib/uniconv/u16-strconv-to-locale.c: New file.
63615
63616         * modules/uniconv/u8-strconv-to-locale: New file.
63617         * lib/uniconv/u8-strconv-to-locale.c: New file.
63618
63619         * modules/uniconv/u32-strconv-from-locale: New file.
63620         * lib/uniconv/u32-strconv-from-locale.c: New file.
63621
63622         * modules/uniconv/u16-strconv-from-locale: New file.
63623         * lib/uniconv/u16-strconv-from-locale.c: New file.
63624
63625         * modules/uniconv/u8-strconv-from-locale: New file.
63626         * lib/uniconv/u8-strconv-from-locale.c: New file.
63627
63628         * modules/uniconv/u32-strconv-to-enc: New file.
63629         * lib/uniconv/u32-strconv-to-enc.c: New file.
63630         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63631         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63632
63633         * modules/uniconv/u16-strconv-to-enc: New file.
63634         * lib/uniconv/u16-strconv-to-enc.c: New file.
63635         * lib/uniconv/u-strconv-to-enc.h: New file.
63636         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63637         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63638
63639         * modules/uniconv/u8-strconv-to-enc: New file.
63640         * lib/uniconv/u8-strconv-to-enc.c: New file.
63641         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63642         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63643
63644         * modules/uniconv/u32-strconv-from-enc: New file.
63645         * lib/uniconv/u32-strconv-from-enc.c: New file.
63646         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63647         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63648
63649         * modules/uniconv/u16-strconv-from-enc: New file.
63650         * lib/uniconv/u16-strconv-from-enc.c: New file.
63651         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63652         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63653
63654         * modules/uniconv/u8-strconv-from-enc: New file.
63655         * lib/uniconv/u8-strconv-from-enc.c: New file.
63656         * lib/uniconv/u-strconv-from-enc.h: New file.
63657         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63658         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63659
63660         * modules/uniconv/u32-conv-from-enc: New file.
63661         * lib/uniconv/u32-conv-from-enc.c: New file.
63662         * modules/uniconv/u32-conv-from-enc-tests: New file.
63663         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63664
63665         * modules/uniconv/u16-conv-from-enc: New file.
63666         * lib/uniconv/u16-conv-from-enc.c: New file.
63667         * lib/uniconv/u-conv-from-enc.h: New file.
63668         * modules/uniconv/u16-conv-from-enc-tests: New file.
63669         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63670
63671         * modules/uniconv/u8-conv-from-enc: New file.
63672         * lib/uniconv/u8-conv-from-enc.c: New file.
63673         * modules/uniconv/u8-conv-from-enc-tests: New file.
63674         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63675
63676         * modules/uniconv/base: New file.
63677         * lib/uniconv.h: New file.
63678
63679 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63680
63681         * doc/gnulib-tool.texi (Initial import): Update to match current
63682         behavior with strdup module.
63683         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63684         * lib/memmem.h: Remove; all uses removed.  This is now done
63685         by <string.h>.
63686         * lib/mempcpy.h: Likewise.
63687         * lib/memrchr.h: Likewise.
63688         * lib/stpcpy.h: Likewise.
63689         * lib/stpncpy.h: Likewise.
63690         * lib/strcase.h: Likewise.
63691         * lib/strchrnul.h: Likewise.
63692         * lib/strdup.h: Likewise.
63693         * lib/strndup.h: Likewise.
63694         * lib/strnlen.h: Likewise.
63695         * lib/strpbrk.h: Likewise.
63696         * lib/strsep.h: Likewise.
63697         * lib/strstr.h: Likewise.
63698         * lib/strtok_r.h: Likewise.
63699         * lib/string_.h: New file.
63700         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63701         Rely on <string.h> instead.
63702         * lib/canon-host.c: Likewise.
63703         * lib/chdir-long.c: Likewise.
63704         * lib/concatpath.c: Likewise.
63705         * lib/exclude.c: Likewise.
63706         * lib/fchdir.c: Likewise.
63707         * lib/getaddrinfo.c: Likewise.
63708         * lib/getcwd.c: Likewise.
63709         * lib/getsubopt.c: Likewise.
63710         * lib/glob.c: Likewise.
63711         * lib/hard-locale.c: Likewise.
63712         * lib/iconvme.c: Likewise.
63713         * lib/javacomp.c: Likewise.
63714         * lib/mempcpy.c: Likewise.
63715         * lib/memrchr.c: Likewise.
63716         * lib/regex_internal.h: Likewise.
63717         * lib/stpncpy.c: Likewise.
63718         * lib/strcasecmp.c: Likewise.
63719         * lib/strchrnul.c: Likewise.
63720         * lib/strdup.c: Likewise.
63721         * lib/striconv.c: Likewise.
63722         * lib/striconveh.c: Likewise.
63723         * lib/striconveha.c: Likewise.
63724         * lib/strncasecmp.c: Likewise.
63725         * lib/strndup.c: Likewise.
63726         * lib/strnlen.c: Likewise.
63727         * lib/strsep.c: Likewise.
63728         * lib/strstr.c: Likewise.
63729         * lib/strtok_r.c: Likewise.
63730         * lib/userspec.c: Likewise.
63731         * lib/w32spawn.h: Likewise.
63732         * lib/xstrndup.c: Likewise.
63733         * lib/mountlist.c (strstr): Remove decl.
63734         * m4/string_h.m4: New file.
63735         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63736         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63737         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63738         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63739         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63740         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63741         Set REPLACE_STRCASECMP if necessary.
63742         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63743         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63744         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63745         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63746         HAVE_DECL_STRDUP if necessary.
63747         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63748         since gl_FUNC_STRNDUP does that now.
63749         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63750         Check for decl here...
63751         (gl_PREREQ_STRNLEN): ... not here.
63752         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63753         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63754         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63755         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63756         necessary.
63757         * modules/string: New file.
63758         * modules/memmem (Files): Remove special-purpose include file.
63759         (Depends-on): Add string.
63760         (Include): Include <string.h>, not the removed file.
63761         * modules/mempcpy: Likewise.
63762         * modules/memrchr: Likewise.
63763         * modules/stpcpy: Likewise.
63764         * modules/stpncpy: Likewise.
63765         * modules/strcase: Likewise.
63766         * modules/strchrnul: Likewise.
63767         * modules/strdup: Likewise.
63768         * modules/strndup: Likewise.
63769         * modules/strnlen: Likewise.
63770         * modules/strpbrk: Likewise.
63771         * modules/strsep: Likewise.
63772         * modules/strstr: Likewise.
63773         * modules/strtok_r: Likewise.
63774         * tests/test-dirname.c: Don't include "strdup.h", since
63775         <string.h> now suffices.
63776         * tests/test-memmem.c: Don't include "memmem.h", since
63777         <string.h> now suffices.
63778
63779 2007-01-25  Bruno Haible  <bruno@clisp.org>
63780
63781         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63782         *resultp is 0.
63783
63784         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63785         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63786         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63787         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63788
63789         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63790         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63791         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63792         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
63793         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
63794         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
63795
63796 2007-01-24  Bruno Haible  <bruno@clisp.org>
63797
63798         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
63799         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
63800         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
63801         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
63802         gl_FUNC_FTS_CORE.
63803         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
63804         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
63805         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63806         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
63807         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
63808         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
63809         gl_FUNC_FCHOWNAT.
63810         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
63811         gl_FUNC_STRFTIME.
63812         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
63813         Reported by Ralf Wildenhues.
63814
63815 2007-01-24  Bruno Haible  <bruno@clisp.org>
63816
63817         Drop AC_REQUIRE calls that are redundant with the module dependencies.
63818         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
63819         gl_GETADDRINFO.
63820         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
63821         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
63822         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
63823
63824 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
63825
63826         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
63827         Don't use 'exit'; just return from 'main'.
63828         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
63829
63830         * lib/fnmatch_.h: Readjust white space and comments to match
63831         glibc, to avoid spurious diffs.
63832
63833 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63834
63835         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
63836         2004-12-01 change by Jakub Jelinek, since this code won't compile
63837         if !LIBC.  Problem reported by Bob Proulx.
63838
63839 2007-01-23  Bruno Haible  <bruno@clisp.org>
63840
63841         * lib/striconveh.c: Include c-strcaseeq.h.
63842         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
63843         * modules/striconveh (Depends-on): Add c-strcaseeq.
63844
63845 2007-01-23  Bruno Haible  <bruno@clisp.org>
63846
63847         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
63848
63849         * modules/c-strcaseeq: New file.
63850         * lib/c-strcaseeq.h: New file.
63851
63852         * modules/streq: New file.
63853         * lib/streq.h: New file.
63854
63855 2007-01-23  Bruno Haible  <bruno@clisp.org>
63856
63857         * modules/striconveha-tests: New file.
63858         * tests/test-striconveha.c: New file.
63859
63860         * lib/striconveha.h: Include <stdbool.h>.
63861         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
63862         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
63863         (mem_iconveha_notranslit): Renamed from mem_iconveha.
63864         (mem_iconveha): New function.
63865         (str_iconveha_notranslit): Renamed from str_iconveha.
63866         (str_iconveha): New function.
63867         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
63868         c-strcase.
63869
63870 2007-01-23  Bruno Haible  <bruno@clisp.org>
63871
63872         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
63873         encodings without forgiving before trying any encoding with handler.
63874         (str_iconveha): Try all encodings without forgiving before trying any
63875         encoding with handler.
63876
63877 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63878
63879         Import the following changes from libc.
63880
63881         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63882
63883         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
63884
63885         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
63886
63887         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
63888         normal_bracket label.
63889
63890         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
63891
63892         [BZ #361]
63893         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
63894         to normal_bracket after fetching the next character.
63895
63896 2007-01-22  Bruno Haible  <bruno@clisp.org>
63897
63898         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
63899         argument.
63900         * lib/striconveh.c (iconv_carefully_1): New function.
63901         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
63902         argument.
63903         (str_cd_iconveh): Update.
63904         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
63905         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
63906         * tests/test-striconveh.c (MAGIC): New macro.
63907         (new_offsets): New function.
63908         (main): Test call with and without offsets.
63909
63910 2007-01-22  Bruno Haible  <bruno@clisp.org>
63911
63912         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
63913         * modules/sys_select (Makefile.am): Likewise.
63914         * modules/sys_socket (Makefile.am): Likewise.
63915         * modules/sys_time (Makefile.am): Likewise.
63916
63917 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63918
63919         * modules/gettimeofday (License): Change from GPL to LGPL, since
63920         gettimeofday is a library function.
63921
63922 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63923
63924         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
63925
63926 2007-01-21  Bruno Haible  <bruno@clisp.org>
63927
63928         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
63929
63930 2007-01-21  Bruno Haible  <bruno@clisp.org>
63931
63932         * modules/striconveha: New file.
63933         * lib/striconveha.h: New file.
63934         * lib/striconveha.c: New file.
63935         * MODULES.html.sh (Internationalization functions): Add striconveha.
63936         * lib/striconv.c (str_iconv): Optimize the case of an empty input
63937         string.
63938         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
63939
63940 2007-01-21  Bruno Haible  <bruno@clisp.org>
63941
63942         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
63943         * lib/striconveh.c (str_iconveh): Likewise.
63944
63945 2007-01-21  Bruno Haible  <bruno@clisp.org>
63946
63947         * lib/striconveh.h (mem_iconveh): New declaration.
63948         * lib/striconveh.c (mem_iconveh): New function.
63949         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
63950
63951 2007-01-21  Bruno Haible  <bruno@clisp.org>
63952
63953         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
63954
63955         * lib/striconveh.h (mem_cd_iconveh): Change specification.
63956         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
63957         original result buffer.
63958         (str_cd_iconveh): Update.
63959         * tests/test-striconveh.c (main): Update.
63960
63961         * lib/striconv.h (mem_cd_iconv): Change specification.
63962         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
63963         result buffer.
63964         (str_cd_iconv): Update.
63965         * tests/test-striconv.c (main): Update.
63966
63967 2007-01-21  Bruno Haible  <bruno@clisp.org>
63968
63969         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
63970
63971 2007-01-20  Jim Meyering  <jim@meyering.net>
63972
63973         * lib/userspec.c (parse_with_separator): If a user or group string
63974         starts with "+", skip the corresponding name-to-ID look-up, since
63975         such a look-up must fail: user and group names may not include "+".
63976
63977 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
63978
63979         * lib/poll.c: Include sys/time.h and time.h unconditionally,
63980         since we now assume the sys_time module.
63981         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
63982         check for sys/time.h; no longer needed.
63983         * modules/poll (Depends-on): Depend on sys_time.
63984
63985 2007-01-18  Bruno Haible  <bruno@clisp.org>
63986
63987         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
63988         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63989
63990         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
63991         gettimeofday.
63992
63993         * tests/test-gettimeofday.c: Include <time.h>.
63994         (dummy): Remove variable.
63995
63996         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
63997         gl_HEADER_SYS_TIME_H.
63998         (gl_HEADER_SYS_TIME_H): New macro.
63999
64000         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
64001         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64002         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
64003         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
64004         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64005         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
64006         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
64007         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64008         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
64009         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
64010         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64011
64012         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
64013         last change; it caused a compilation error when cross-compiling to
64014         Cygwin.
64015
64016 2007-01-18  Jim Meyering  <jim@meyering.net>
64017
64018         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
64019         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
64020         than the race-prone "test -d sys || mkdir sys".
64021         (configure.ac): Use AC_PROG_MKDIR_P.
64022         * modules/sys_select: Likewise.
64023         * modules/sys_socket: Likewise.
64024         * modules/sys_time: Likewise.
64025
64026 2007-01-18  Eric Blake  <ebb9@byu.net>
64027
64028         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
64029         replace gettimeofday.
64030         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
64031         name, to avoid infinite recursion.
64032
64033 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
64034
64035         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
64036         module sys_time.
64037         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
64038         assume timespec.h defines struct timeval.
64039         * lib/settime.c: Likewise.
64040         * lib/utimens.c: Likewise.
64041         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
64042         since we now assume the gettimeofday module.
64043         * lib/tempname.c (__gen_tempname): Likewise.
64044         * lib/gettimeofday.h: Remove.
64045         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
64046         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
64047         Include <time.h>, for 'time()'.
64048         (localtime_buffer_addr): Also use this workaround if
64049         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
64050         to simplify the uses.  All uses changed.
64051         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
64052         that #undef is inside {}, and 'const' follows type name consistently.
64053         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
64054         (gettimeofday): Do not use the maximum possible value for
64055         tv->tv_usec, since that might break usages other than ls.c.
64056         Instead, we'll leave ls.c alone.  This undoes today's patch
64057         by Bruno.  Add a compile-time warning for 1s-clock resolution;
64058         we've never observed the problem but might as well keep the
64059         canary.
64060         * lib/nanosleep.c: Include timespec.h first, for interface check.
64061         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
64062         now assume the sys_time module.
64063         * lib/tempname.c: Likewise.
64064         * lib/timespec.h: Likewise.
64065         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
64066         needed.
64067         * lib/strftime.c: Likewise.
64068         * lib/timespec.h: Likewise.
64069         * lib/posixtm.c: Include posixtm.h first, for interface check.
64070         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
64071         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
64072         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
64073         * lib/sys_time_.h: New file.
64074         * lib/timespec.h (struct timespec): Use long int, not long.
64075         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64076         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
64077         Remove obsolescent call to AC_HEADER_TIME.
64078         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64079         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64080         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64081         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
64082         Likewise.
64083         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
64084         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
64085         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
64086         into the sys_time module.  Check for gettimeofday just once.
64087         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
64088         for gettimeofday signature to just check the signature.  Merely
64089         compile it, since linking doesn't test signature.  Improve test for
64090         whether gettimeofday.o is actually needed.
64091         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
64092         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
64093         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
64094         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64095         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
64096         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
64097         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
64098         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
64099         than worrying about sys/time.h.
64100         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64101         Don't bother worrying about TIME_WITH_SYS_TIME.
64102         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64103         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
64104         * m4/sys_time_h.m4: New file.
64105         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
64106         Don't include sys/time.h.  Return from main rather than exiting.
64107         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
64108         all uses changed.
64109         * modules/gethrxtime (Depends-on): Add sys_time.
64110         * modules/gettime (Depends-on): Likewise.
64111         * modules/gettimeofday (Depends-on): Likewise.
64112         * modules/nanosleep (Depends-on): Likewise.
64113         * modules/settime (Depends-on): Likewise.
64114         * modules/tempname (Depends-on): Likewise.
64115         * modules/utimens (Depends-on): Likewise.
64116         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
64117         (Include): Change back to <sys/time.h>.
64118         (Maintainer): Add self.
64119         * modules/sys_time: New file.
64120         * modules/tempname (Depends-on): Add gettimeofday.
64121         * tests/test-gettimeofday.c: Include <sys/time.h>
64122         rather than gettimeofday.h.
64123
64124 2007-01-17  Bruno Haible  <bruno@clisp.org>
64125
64126         * gnulib-tool (func_get_license): Revert last patch. Instead, let
64127         the license default to GPL.
64128         (func_create_testdir): Don't complain if a module is LGPL and its
64129         tests module depends on GPLed modules.
64130
64131 2007-01-17  Bruno Haible  <bruno@clisp.org>
64132
64133         * lib/gettimeofday.c (gettimeofday): Add code for the case
64134         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
64135         maximum possible value for tv->tv_usec, rather than the minimum one.
64136
64137 2005-10-08  Martin Lambers  <marlam@marlam.de>
64138 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64139 2007-01-16  Bruno Haible  <bruno@clisp.org>
64140
64141         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
64142         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
64143         gl_FUNC_GETTIMEOFDAY.
64144         (Include): Add gettimeofday.h.
64145         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
64146         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
64147         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
64148         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
64149         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
64150         * lib/gettimeofday.h: New file.
64151         * lib/gettimeofday.c: Include <sys/timeb.h>.
64152         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
64153         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64154         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
64155         fall back on time().
64156
64157         * tests/test-gettimeofday.c: New file.
64158         * modules/gettimeofday-tests: New file.
64159
64160 2007-01-16  Eric Blake  <ebb9@byu.net>
64161
64162         * modules/fnmatch (Depends-on): Depend on wchar.
64163         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
64164         * m4/fnmatch.m4: Likewise.
64165         * modules/mbchar (Makefile.am): Assume <wchar.h>.
64166         * m4/mbchar.m4: Likewise.
64167         * modules/mbswidth (Depends-on): Depend on wchar.
64168         * lib/mbswidth.c: Assume <wchar.h>.
64169         * m4/mbswidth.m4: Likewise.
64170         * modules/quotearg (Depends-on): Depend on wchar.
64171         * lib/quotearg.c: Assume <wchar.h>.
64172         * m4/quotearg.m4: Likewise.
64173         * modules/regex (Depends-on): Depend on wchar.
64174         * lib/regex_internal.h: Assume <wchar.h>.
64175         * m4/regex.m4: Likewise.
64176         * modules/stdint (Depends-on): Depend on wchar.
64177         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
64178         * m4/stdint.m4: Likewise.
64179         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
64180         * modules/strftime (Depends-on): Depend on wchar.
64181         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
64182         * modules/strtol (Depends-on): Depend on wchar.
64183         * lib/strtol.c: Assume <wchar.h>.
64184         * modules/wcwidth (Depends-on): Depend on wchar.
64185         * lib/wcwidth.h: Assume <wchar.h>.
64186         * m4/wcwidth.m4: Likewise.
64187
64188 2007-01-16  Bruno Haible  <bruno@clisp.org>
64189
64190         * modules/csharpexec-script: New, created from...
64191         * modules/csharpexec: ... this.
64192
64193 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
64194
64195         * modules/javaexec-script: New, created from...
64196         * modules/javaexec: ... this.
64197
64198 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64199
64200         * modules/poll (Dependencies): Add sys_select.
64201
64202 2007-01-15  Jim Meyering  <jim@meyering.net>
64203
64204         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
64205         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
64206         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
64207         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
64208
64209 2007-01-15  Bruno Haible  <bruno@clisp.org>
64210
64211         * modules/striconveh: New file.
64212         * lib/striconveh.h: New file.
64213         * lib/striconveh.c: New file.
64214         * MODULES.html.sh (Internationalization functions): Add striconveh.
64215
64216         * modules/striconveh-tests: New file.
64217         * tests/test-striconveh.c: New file.
64218
64219 2007-01-15  Bruno Haible  <bruno@clisp.org>
64220
64221         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
64222         not from GNU libiconv or GNU libc.
64223
64224 2007-01-15  Bruno Haible  <bruno@clisp.org>
64225
64226         * doc/gnulib-intro.texi (Copyright): Explain the different license
64227         terms for module descriptions, autoconf macros, tests, documentation.
64228
64229 2007-01-14  Bruno Haible  <bruno@clisp.org>
64230
64231         * modules/striconv-tests: New file.
64232         * tests/test-striconv.c: New file.
64233
64234 2007-01-14  Bruno Haible  <bruno@clisp.org>
64235
64236         * modules/iconv-tests: New file.
64237         * tests/test-iconv.c: New file.
64238
64239 2007-01-14  Bruno Haible  <bruno@clisp.org>
64240
64241         * gnulib-tool (func_get_license): For test modules, use the license of
64242         the main module.
64243
64244 2007-01-14  Bruno Haible  <bruno@clisp.org>
64245
64246         * modules/iconv (Include): Clarify that <iconv.h> can only be included
64247         if iconv is found to exist.
64248
64249 2007-01-14  Bruno Haible  <bruno@clisp.org>
64250
64251         * modules/c-ctype-tests: New file.
64252         * tests/test-c-ctype.c: New file.
64253
64254 2007-01-14  Bruno Haible  <bruno@clisp.org>
64255
64256         * modules/binary-io-tests: New file.
64257         * tests/test-binary-io.sh: New file.
64258         * tests/test-binary-io.c: New file.
64259
64260 2007-01-14  Bruno Haible  <bruno@clisp.org>
64261
64262         * modules/array-oset-tests: New file.
64263         * tests/test-array_oset.c: New file.
64264
64265 2007-01-14  Bruno Haible  <bruno@clisp.org>
64266
64267         * modules/array-list-tests: New file.
64268         * tests/test-array_list.c: New file.
64269
64270 2007-01-14  Bruno Haible  <bruno@clisp.org>
64271
64272         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
64273         and make.
64274         Reported by Simon Josefsson in
64275         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
64276
64277 2007-01-14  Bruno Haible  <bruno@clisp.org>
64278
64279         * modules/allocsa-tests: New file.
64280         * tests/test-allocsa.c: New file.
64281
64282 2007-01-14  Bruno Haible  <bruno@clisp.org>
64283
64284         * modules/fchdir (Depends-on): Add absolute-header.
64285         * modules/unistd (Depends-on): Likewise.
64286
64287 2006-12-30  Bruno Haible  <bruno@clisp.org>
64288
64289         * modules/fchdir: New file.
64290         * modules/unistd (Files): Add lib/unistd_.h.
64291         (Makefile.am): Generate unistd.h from unistd_.h.
64292         * lib/fchdir.c: New file.
64293         * lib/dirent_.h: New file.
64294         * lib/unistd_.h: New file.
64295         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
64296         * m4/fchdir.m4: New file.
64297         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
64298         (gl_HEADER_UNISTD): Invoke it.
64299         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
64300         function.
64301         * lib/backupfile.c (opendir, closedir): Undefine.
64302         * lib/chown.c (open, close): Undefine.
64303         * lib/clean-temp.c (open, close): Undefine.
64304         * lib/copy-file.c (open, close): Undefine.
64305         * lib/execute.c (open, close): Undefine.
64306         * lib/fsusage.c (open, close): Undefine.
64307         * lib/gc-gnulib.c (open, close): Undefine.
64308         * lib/getcwd.c (opendir, closedir): Undefine.
64309         * lib/glob.c (opendir, closedir): Undefine.
64310         * lib/javacomp.c (open, close): Undefine.
64311         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
64312         * lib/openat-proc.c (open, close): Undefine.
64313         * lib/pagealign_alloc.c (open, close): Undefine.
64314         * lib/pipe.c (open, close): Undefine.
64315         * lib/progreloc.c (open, close): Undefine.
64316         * lib/savedir.c (opendir, closedir): Undefine.
64317         * lib/utime.c (open, close): Undefine.
64318         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
64319
64320 2007-01-10  Bruno Haible  <bruno@clisp.org>
64321
64322         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
64323
64324 2007-01-12  Eric Blake  <ebb9@byu.net>
64325
64326         Provide a robust <wchar.h>.  Further simplifications are now
64327         possible in other modules, but not included here.
64328         * modules/wchar: New module.
64329         * m4/wchar.m4: New file.
64330         * lib/wchar_.h: Likewise.
64331         * modules/mbchar (Depends-on): Depend on wchar, as the first use
64332         of the new module.
64333         * MODULES.html.sh (Extended multibyte and wide character utilities):
64334         New section.
64335
64336 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
64337
64338         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
64339         to a reasonable default for memory allocation.
64340         (xreadlink): Don't allocate a huge buffer, to work around a buggy
64341         file system that reports garbage st_size values for symlinks.
64342         Problem reported by Liyang Hu.
64343
64344 2007-01-11  Simon Josefsson  <simon@josefsson.org>
64345
64346         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
64347         Emacs .#* auto-save files).
64348
64349 2007-01-11  Bruno Haible  <bruno@clisp.org>
64350
64351         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
64352         directory.
64353
64354 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64355
64356         Use @...@ consistently in lib/wctype_.h.
64357         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
64358         on it being set to 1 or 0.
64359         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
64360         go back to AC_SUBSTing it.
64361         * modules/wctype (Makefile.am): Undo previous change.
64362
64363 2007-01-10  Eric Blake  <ebb9@byu.net>
64364
64365         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
64366         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
64367         * modules/wctype (Makefile.am): Likewise.
64368         Reported by Chris McGuire.
64369
64370 2007-01-10  Jim Meyering  <jim@meyering.net>
64371
64372         fts.c: a small readability/maintainability improvement
64373         * lib/fts.c (fts_read): Make this code slightly more readable and
64374         maintainable by hoisting the "sp->fts_cur = p" assignments to
64375         immediately follow the statements that set P.  Derived from
64376         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
64377
64378 2007-01-10  Eric Blake  <ebb9@byu.net>
64379
64380         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64381         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64382         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64383         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64384         Reported by Chris McGuire.
64385
64386 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64387
64388         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64389         in sed script.
64390
64391 2007-01-09  Bruno Haible  <bruno@clisp.org>
64392
64393         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64394         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64395         variables.
64396         (func_module): Use them.
64397
64398 2007-01-09  Bruno Haible  <bruno@clisp.org>
64399
64400         * modules/unistr/base: New file.
64401         * lib/unistr.h: New file.
64402
64403         * modules/unistr/u8-to-u16: New file.
64404         * lib/unistr/u8-to-u16.c: New file.
64405
64406         * modules/unistr/u8-to-u32: New file.
64407         * lib/unistr/u8-to-u32.c: New file.
64408
64409         * modules/unistr/u16-to-u8: New file.
64410         * lib/unistr/u16-to-u8.c: New file.
64411
64412         * modules/unistr/u16-to-u32: New file.
64413         * lib/unistr/u16-to-u32.c: New file.
64414
64415         * modules/unistr/u32-to-u8: New file.
64416         * lib/unistr/u32-to-u8.c: New file.
64417
64418         * modules/unistr/u32-to-u16: New file.
64419         * lib/unistr/u32-to-u16.c: New file.
64420
64421         * modules/unistr/u8-check: New file.
64422         * modules/unistr/u16-check: New file.
64423         * modules/unistr/u32-check: New file.
64424         * lib/unistr/u8-check.c: New file.
64425         * lib/unistr/u16-check.c: New file.
64426         * lib/unistr/u32-check.c: New file.
64427
64428         * modules/unistr/u8-chr: New file.
64429         * modules/unistr/u16-chr: New file.
64430         * modules/unistr/u32-chr: New file.
64431         * lib/unistr/u8-chr.c: New file.
64432         * lib/unistr/u16-chr.c: New file.
64433         * lib/unistr/u32-chr.c: New file.
64434
64435         * modules/unistr/u8-cmp: New file.
64436         * modules/unistr/u16-cmp: New file.
64437         * modules/unistr/u32-cmp: New file.
64438         * lib/unistr/u8-cmp.c: New file.
64439         * lib/unistr/u16-cmp.c: New file.
64440         * lib/unistr/u32-cmp.c: New file.
64441
64442         * modules/unistr/u8-cpy: New file.
64443         * modules/unistr/u16-cpy: New file.
64444         * modules/unistr/u32-cpy: New file.
64445         * lib/unistr/u8-cpy.c: New file.
64446         * lib/unistr/u16-cpy.c: New file.
64447         * lib/unistr/u32-cpy.c: New file.
64448         * lib/unistr/u-cpy.h: New file.
64449
64450         * modules/unistr/u8-cpy-alloc: New file.
64451         * modules/unistr/u16-cpy-alloc: New file.
64452         * modules/unistr/u32-cpy-alloc: New file.
64453         * lib/unistr/u8-cpy-alloc.c: New file.
64454         * lib/unistr/u16-cpy-alloc.c: New file.
64455         * lib/unistr/u32-cpy-alloc.c: New file.
64456         * lib/unistr/u-cpy-alloc.h: New file.
64457
64458         * modules/unistr/u8-endswith: New file.
64459         * modules/unistr/u16-endswith: New file.
64460         * modules/unistr/u32-endswith: New file.
64461         * lib/unistr/u8-endswith.c: New file.
64462         * lib/unistr/u16-endswith.c: New file.
64463         * lib/unistr/u32-endswith.c: New file.
64464         * lib/unistr/u-endswith.h: New file.
64465
64466         * modules/unistr/u8-mblen: New file.
64467         * modules/unistr/u16-mblen: New file.
64468         * modules/unistr/u32-mblen: New file.
64469         * lib/unistr/u8-mblen.c: New file.
64470         * lib/unistr/u16-mblen.c: New file.
64471         * lib/unistr/u32-mblen.c: New file.
64472
64473         * modules/unistr/u8-mbtouc: New file.
64474         * modules/unistr/u16-mbtouc: New file.
64475         * modules/unistr/u32-mbtouc: New file.
64476         * lib/unistr/u8-mbtouc.c: New file.
64477         * lib/unistr/u16-mbtouc.c: New file.
64478         * lib/unistr/u32-mbtouc.c: New file.
64479
64480         * modules/unistr/u8-mbtouc-safe: New file.
64481         * modules/unistr/u16-mbtouc-safe: New file.
64482         * modules/unistr/u32-mbtouc-safe: New file.
64483         * lib/unistr/u8-mbtouc-safe.c: New file.
64484         * lib/unistr/u16-mbtouc-safe.c: New file.
64485         * lib/unistr/u32-mbtouc-safe.c: New file.
64486
64487         * modules/unistr/u8-move: New file.
64488         * modules/unistr/u16-move: New file.
64489         * modules/unistr/u32-move: New file.
64490         * lib/unistr/u8-move.c: New file.
64491         * lib/unistr/u16-move.c: New file.
64492         * lib/unistr/u32-move.c: New file.
64493         * lib/unistr/u-move.h: New file.
64494
64495         * modules/unistr/u8-next: New file.
64496         * modules/unistr/u16-next: New file.
64497         * modules/unistr/u32-next: New file.
64498         * lib/unistr/u8-next.c: New file.
64499         * lib/unistr/u16-next.c: New file.
64500         * lib/unistr/u32-next.c: New file.
64501
64502         * modules/unistr/u8-prev: New file.
64503         * modules/unistr/u16-prev: New file.
64504         * modules/unistr/u32-prev: New file.
64505         * lib/unistr/u8-prev.c: New file.
64506         * lib/unistr/u16-prev.c: New file.
64507         * lib/unistr/u32-prev.c: New file.
64508
64509         * modules/unistr/u8-set: New file.
64510         * modules/unistr/u16-set: New file.
64511         * modules/unistr/u32-set: New file.
64512         * lib/unistr/u8-set.c: New file.
64513         * lib/unistr/u16-set.c: New file.
64514         * lib/unistr/u32-set.c: New file.
64515         * lib/unistr/u-set.h: New file.
64516
64517         * modules/unistr/u8-startswith: New file.
64518         * modules/unistr/u16-startswith: New file.
64519         * modules/unistr/u32-startswith: New file.
64520         * lib/unistr/u8-startswith.c: New file.
64521         * lib/unistr/u16-startswith.c: New file.
64522         * lib/unistr/u32-startswith.c: New file.
64523         * lib/unistr/u-startswith.h: New file.
64524
64525         * modules/unistr/u8-stpcpy: New file.
64526         * modules/unistr/u16-stpcpy: New file.
64527         * modules/unistr/u32-stpcpy: New file.
64528         * lib/unistr/u8-stpcpy.c: New file.
64529         * lib/unistr/u16-stpcpy.c: New file.
64530         * lib/unistr/u32-stpcpy.c: New file.
64531         * lib/unistr/u-stpcpy.h: New file.
64532
64533         * modules/unistr/u8-stpncpy: New file.
64534         * modules/unistr/u16-stpncpy: New file.
64535         * modules/unistr/u32-stpncpy: New file.
64536         * lib/unistr/u8-stpncpy.c: New file.
64537         * lib/unistr/u16-stpncpy.c: New file.
64538         * lib/unistr/u32-stpncpy.c: New file.
64539         * lib/unistr/u-stpncpy.h: New file.
64540
64541         * modules/unistr/u8-strcat: New file.
64542         * modules/unistr/u16-strcat: New file.
64543         * modules/unistr/u32-strcat: New file.
64544         * lib/unistr/u8-strcat.c: New file.
64545         * lib/unistr/u16-strcat.c: New file.
64546         * lib/unistr/u32-strcat.c: New file.
64547         * lib/unistr/u-strcat.h: New file.
64548
64549         * modules/unistr/u8-strchr: New file.
64550         * modules/unistr/u16-strchr: New file.
64551         * modules/unistr/u32-strchr: New file.
64552         * lib/unistr/u8-strchr.c: New file.
64553         * lib/unistr/u16-strchr.c: New file.
64554         * lib/unistr/u32-strchr.c: New file.
64555
64556         * modules/unistr/u8-strcmp: New file.
64557         * modules/unistr/u16-strcmp: New file.
64558         * modules/unistr/u32-strcmp: New file.
64559         * lib/unistr/u8-strcmp.c: New file.
64560         * lib/unistr/u16-strcmp.c: New file.
64561         * lib/unistr/u32-strcmp.c: New file.
64562
64563         * modules/unistr/u8-strcpy: New file.
64564         * modules/unistr/u16-strcpy: New file.
64565         * modules/unistr/u32-strcpy: New file.
64566         * lib/unistr/u8-strcpy.c: New file.
64567         * lib/unistr/u16-strcpy.c: New file.
64568         * lib/unistr/u32-strcpy.c: New file.
64569         * lib/unistr/u-strcpy.h: New file.
64570
64571         * modules/unistr/u8-strcspn: New file.
64572         * modules/unistr/u16-strcspn: New file.
64573         * modules/unistr/u32-strcspn: New file.
64574         * lib/unistr/u8-strcspn.c: New file.
64575         * lib/unistr/u16-strcspn.c: New file.
64576         * lib/unistr/u32-strcspn.c: New file.
64577         * lib/unistr/u-strcspn.h: New file.
64578
64579         * modules/unistr/u8-strdup: New file.
64580         * modules/unistr/u16-strdup: New file.
64581         * modules/unistr/u32-strdup: New file.
64582         * lib/unistr/u8-strdup.c: New file.
64583         * lib/unistr/u16-strdup.c: New file.
64584         * lib/unistr/u32-strdup.c: New file.
64585         * lib/unistr/u-strdup.h: New file.
64586
64587         * modules/unistr/u8-strlen: New file.
64588         * modules/unistr/u16-strlen: New file.
64589         * modules/unistr/u32-strlen: New file.
64590         * lib/unistr/u8-strlen.c: New file.
64591         * lib/unistr/u16-strlen.c: New file.
64592         * lib/unistr/u32-strlen.c: New file.
64593         * lib/unistr/u-strlen.h: New file.
64594
64595         * modules/unistr/u8-strmblen: New file.
64596         * modules/unistr/u16-strmblen: New file.
64597         * modules/unistr/u32-strmblen: New file.
64598         * lib/unistr/u8-strmblen.c: New file.
64599         * lib/unistr/u16-strmblen.c: New file.
64600         * lib/unistr/u32-strmblen.c: New file.
64601
64602         * modules/unistr/u8-strmbtouc: New file.
64603         * modules/unistr/u16-strmbtouc: New file.
64604         * modules/unistr/u32-strmbtouc: New file.
64605         * lib/unistr/u8-strmbtouc.c: New file.
64606         * lib/unistr/u16-strmbtouc.c: New file.
64607         * lib/unistr/u32-strmbtouc.c: New file.
64608
64609         * modules/unistr/u8-strncat: New file.
64610         * modules/unistr/u16-strncat: New file.
64611         * modules/unistr/u32-strncat: New file.
64612         * lib/unistr/u8-strncat.c: New file.
64613         * lib/unistr/u16-strncat.c: New file.
64614         * lib/unistr/u32-strncat.c: New file.
64615         * lib/unistr/u-strncat.h: New file.
64616
64617         * modules/unistr/u8-strncmp: New file.
64618         * modules/unistr/u16-strncmp: New file.
64619         * modules/unistr/u32-strncmp: New file.
64620         * lib/unistr/u8-strncmp.c: New file.
64621         * lib/unistr/u16-strncmp.c: New file.
64622         * lib/unistr/u32-strncmp.c: New file.
64623
64624         * modules/unistr/u8-strncpy: New file.
64625         * modules/unistr/u16-strncpy: New file.
64626         * modules/unistr/u32-strncpy: New file.
64627         * lib/unistr/u8-strncpy.c: New file.
64628         * lib/unistr/u16-strncpy.c: New file.
64629         * lib/unistr/u32-strncpy.c: New file.
64630         * lib/unistr/u-strncpy.h: New file.
64631
64632         * modules/unistr/u8-strnlen: New file.
64633         * modules/unistr/u16-strnlen: New file.
64634         * modules/unistr/u32-strnlen: New file.
64635         * lib/unistr/u8-strnlen.c: New file.
64636         * lib/unistr/u16-strnlen.c: New file.
64637         * lib/unistr/u32-strnlen.c: New file.
64638         * lib/unistr/u-strnlen.h: New file.
64639
64640         * modules/unistr/u8-strpbrk: New file.
64641         * modules/unistr/u16-strpbrk: New file.
64642         * modules/unistr/u32-strpbrk: New file.
64643         * lib/unistr/u8-strpbrk.c: New file.
64644         * lib/unistr/u16-strpbrk.c: New file.
64645         * lib/unistr/u32-strpbrk.c: New file.
64646         * lib/unistr/u-strpbrk.h: New file.
64647
64648         * modules/unistr/u8-strrchr: New file.
64649         * modules/unistr/u16-strrchr: New file.
64650         * modules/unistr/u32-strrchr: New file.
64651         * lib/unistr/u8-strrchr.c: New file.
64652         * lib/unistr/u16-strrchr.c: New file.
64653         * lib/unistr/u32-strrchr.c: New file.
64654
64655         * modules/unistr/u8-strspn: New file.
64656         * modules/unistr/u16-strspn: New file.
64657         * modules/unistr/u32-strspn: New file.
64658         * lib/unistr/u8-strspn.c: New file.
64659         * lib/unistr/u16-strspn.c: New file.
64660         * lib/unistr/u32-strspn.c: New file.
64661         * lib/unistr/u-strspn.h: New file.
64662
64663         * modules/unistr/u8-strstr: New file.
64664         * modules/unistr/u16-strstr: New file.
64665         * modules/unistr/u32-strstr: New file.
64666         * lib/unistr/u8-strstr.c: New file.
64667         * lib/unistr/u16-strstr.c: New file.
64668         * lib/unistr/u32-strstr.c: New file.
64669         * lib/unistr/u-strstr.h: New file.
64670
64671         * modules/unistr/u8-strtok: New file.
64672         * modules/unistr/u16-strtok: New file.
64673         * modules/unistr/u32-strtok: New file.
64674         * lib/unistr/u8-strtok.c: New file.
64675         * lib/unistr/u16-strtok.c: New file.
64676         * lib/unistr/u32-strtok.c: New file.
64677         * lib/unistr/u-strtok.h: New file.
64678
64679         * modules/unistr/u8-uctomb: New file.
64680         * modules/unistr/u16-uctomb: New file.
64681         * modules/unistr/u32-uctomb: New file.
64682         * lib/unistr/u8-uctomb.c: New file.
64683         * lib/unistr/u16-uctomb.c: New file.
64684         * lib/unistr/u32-uctomb.c: New file.
64685
64686         * MODULES.html.sh (Unicode string functions): Add the new modules.
64687
64688 2007-01-08  Bruno Haible  <bruno@clisp.org>
64689
64690         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64691         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64692         subdirectories.
64693
64694 2007-01-08  Karl Berry  <karl@gnu.org>
64695
64696         * doc/error.texi: mention that main() fns must set program_name
64697         when progname is used.
64698
64699 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64700
64701         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64702         WCTYPE_H is empty, for the benefit of builds from non-distclean
64703         directories.  Problem reported by Eric Blake in
64704         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64705
64706 2007-01-08  Bruno Haible  <bruno@clisp.org>
64707
64708         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64709         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64710         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64711         PROVIDE_CANONICALIZE_FILENAME_MODE.
64712         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64713
64714 2007-01-08  Bruno Haible  <bruno@clisp.org>
64715
64716         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64717         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64718         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64719         * lib/fts.c: Likewise.
64720         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64721
64722 2006-12-25  Bruno Haible  <bruno@clisp.org>
64723
64724         * modules/utf8-ucs4-safe: New file.
64725         * lib/utf8-ucs4-safe.h: New file.
64726         * lib/unistr/utf8-ucs4-safe.c: New file.
64727
64728         * modules/utf16-ucs4-safe: New file.
64729         * lib/utf16-ucs4-safe.h: New file.
64730         * lib/unistr/utf16-ucs4-safe.c: New file.
64731
64732         * MODULES.html.sh (Unicode string functions): Add the new modules.
64733
64734 2007-01-08  Bruno Haible  <bruno@clisp.org>
64735
64736         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64737         (Depends-on): Add unitypes.
64738         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64739         (u8_mbtouc_aux): Move out to separate file.
64740         (u8_mbtouc): Use ucs4_t, uint8_t types.
64741         * lib/unistr/utf8-ucs4.c: New file.
64742
64743         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64744         (Depends-on): Add unitypes.
64745         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64746         (u16_mbtouc_aux): Move out to separate file.
64747         (u16_mbtouc): Use ucs4_t, uint16_t types.
64748         * lib/unistr/utf16-ucs4.c: New file.
64749
64750         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64751         (Depends-on): Add unitypes.
64752         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64753         (u8_uctomb_aux): Move out to separate file.
64754         (u8_uctomb): Use ucs4_t, uint8_t types.
64755         * lib/unistr/ucs4-utf8.c: New file.
64756
64757         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64758         (Depends-on): Add unitypes.
64759         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64760         (u16_uctomb_aux): Move out to separate file.
64761         (u16_uctomb): Use ucs4_t, uint16_t types.
64762         * lib/unistr/ucs4-utf16.c: New file.
64763
64764 2006-12-25  Bruno Haible  <bruno@clisp.org>
64765
64766         * modules/unitypes: New file.
64767         * lib/unitypes.h: New file.
64768         * MODULES.html.sh (func_all_modules): New section "Unicode string
64769         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64770         this section. Add unitypes.
64771
64772 2007-01-08  Bruno Haible  <bruno@clisp.org>
64773
64774         Avoid variable names that conflict with those from libtool.
64775         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64776         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64777         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64778         library_names_spec to acl_library_names_spec, hardcode_* to
64779         acl_hardcode_*.
64780         Reported by Ralf Wildenhues.
64781
64782 2007-01-08  Bruno Haible  <bruno@clisp.org>
64783
64784         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64785         definition.
64786         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64787         definition.
64788         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64789         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64790         definition.
64791         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64792         definition.
64793         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
64794         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
64795         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
64796         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
64797         definition.
64798         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64799         definition.
64800         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
64801         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
64802         GC_USE_<algorithm>.
64803         * lib/gc-libgcrypt.c: Likewise.
64804         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
64805         * modules/gc-arctwo (configure.ac): Likewise.
64806         * modules/gc-des (configure.ac): Likewise.
64807         * modules/gc-hmac-md5 (configure.ac): Likewise.
64808         * modules/gc-hmac-sha1 (configure.ac): Likewise.
64809         * modules/gc-md2 (configure.ac): Likewise.
64810         * modules/gc-md4 (configure.ac): Likewise.
64811         * modules/gc-md5 (configure.ac): Likewise.
64812         * modules/gc-random (configure.ac): Likewise.
64813         * modules/gc-rijndael (configure.ac): Likewise.
64814         * modules/gc-sha1 (configure.ac): Likewise.
64815
64816 2007-01-08  Bruno Haible  <bruno@clisp.org>
64817
64818         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
64819         macro definition.
64820         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
64821         definition.
64822         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
64823         definition.
64824         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
64825         * modules/fcntl-safer (configure.ac): Likewise.
64826         * modules/fopen-safer (configure.ac): Likewise.
64827         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
64828         GNULIB_FWRITEERROR macro definition.
64829
64830 2007-01-08  Bruno Haible  <bruno@clisp.org>
64831
64832         * m4/gnulib-common.m4: New file.
64833         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
64834         (func_get_filelist): Add m4/gnulib-common.m4.
64835
64836 2007-01-08  Bruno Haible  <bruno@clisp.org>
64837
64838         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
64839         command.
64840
64841 2007-01-08  Jim Meyering  <jim@meyering.net>
64842
64843         Use a more robust test for a "can't happen" condition.
64844         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
64845         narrowed the st_size value.  Presuming the "can't happen" condition
64846         is true, that narrowing could conceivably convert an invalid st_size
64847         value into a valid one.  Instead, use a change based on Matthew
64848         Woehlke's original patch.
64849
64850         Slight readability improvement: use an assert-like macro
64851         in place of literal "abort ()" uses.
64852         * lib/fts.c (fts_assert): Define.
64853         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
64854         Use this macro instead of a bare 'abort'.
64855
64856 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
64857
64858         Don't worry about using IRIX 5.3's wctype.h broken definitions;
64859         simply work around them.
64860         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
64861         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
64862         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
64863         declaring.
64864         Don't bother to define as macros, since the standard doesn't require it.
64865         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
64866         longer worry about IRIX 5.3.
64867         (HAVE_WCTYPE_CTMP_BUG): Remove.
64868
64869 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64870
64871         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
64872         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
64873         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64874         Problems reported by Georg Schwarz for IRIX 5.3.
64875
64876         * gnulib-tool (autoconf_minversion): Take the maximum version number
64877         found, not the minimum.  Problem reported by James Youngman.
64878
64879 2007-01-03  Karl Berry  <karl@gnu.org>
64880
64881         * doc/error.texi: new file, explaining interaction with progname.
64882         * doc/gnulib.texi: include it.  Update copyright.
64883
64884 2007-01-03  Simon Josefsson  <simon@josefsson.org>
64885
64886         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
64887         AC_CANONICAL_HOST, to improve autobuild outputs.
64888
64889 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
64890             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64891
64892         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
64893         sockets, server sockets, and other file descriptors.  Count errors
64894         to compute the return value.  Reorder the code a bit to be easier
64895         to follow.  Don't set event bits that were not requested (except
64896         POLLERR and POLLHUP).
64897
64898 2007-01-01  Bruno Haible  <bruno@clisp.org>
64899
64900         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
64901
64902 2007-01-03  Jim Meyering  <jim@meyering.net>
64903
64904         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
64905
64906 2007-01-02  Bruno Haible  <bruno@clisp.org>
64907
64908         * modules/settime (Include): Require timespec.h.
64909         * modules/nanosleep (Include): Likewise.
64910
64911 2007-01-01  Bruno Haible  <bruno@clisp.org>
64912
64913         * gnulib-tool (func_emit_copyright_notice): Bump year.
64914         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
64915
64916 2007-01-01  Bruno Haible  <bruno@clisp.org>
64917
64918         Improve support for OpenBSD.
64919         * build-aux/config.rpath (libname_spec): Export.
64920         (library_names_spec): New variable. Export.
64921         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
64922         library_names_spec from the config.rpath output. Locate shared library
64923         through the name pattern in library_names_spec.
64924
64925 2007-01-01  Eric Blake  <ebb9@byu.net>
64926
64927         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
64928
64929 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
64930
64931         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
64932         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
64933         assume the C locale, and avoid an "eval" that could cause trouble.
64934         Problem with SORT reported by Bob Proulx.
64935
64936         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
64937         Define.  Trivial patch from Henning Nielsen Lund, originally
64938         sent to bug-grep@gnu.org today.
64939
64940 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
64941
64942         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
64943         struct stat.  Problem reported by Henning Nielsen Lund.
64944         * lib/acl.c: Include acl.h first, to check interface.  Don't
64945         bother to include sys/types.h and sys/stat.h again.
64946
64947 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64948
64949         Import the following change from libc; problem reported by
64950         Sven Verdoolaege.
64951
64952         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
64953
64954         [BZ #1373]
64955         * lib/argp.h: Remove __NTH for __argp_usage inline function.
64956
64957 2006-12-28  Jim Meyering  <jim@meyering.net>
64958
64959         * build-aux/announce-gen: Do not assume that the package
64960         builds any of tar.gz, tar.bz2, and .xdelta files.
64961         Suggestion from Simon Josefsson.
64962
64963 2006-12-28  Simon Josefsson  <simon@josefsson.org>
64964
64965         * modules/announce-gen: New file.
64966
64967 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
64968
64969         * lib/mbchar.h: Just include <wctype.h>; the wctype module
64970         handles its gotchas now.
64971         * lib/mbswidth.c: Likewise.
64972         * lib/wcwidth.h: Likewise.
64973         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
64974         and iswcntrl; the wctype module does this stuff now.
64975         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64976         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64977         * modules/mbchar (Depends-on): Add wctype.
64978         * modules/mbswidth (Depends-on): Likewise.
64979         * modules/wcwidth (Depends-on): Likewise.
64980
64981 2006-12-27  Eric Blake  <ebb9@byu.net>
64982
64983         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
64984         module uses more than what <wctype.h> is required to provide.
64985
64986 2006-12-26  Eric Blake  <ebb9@byu.net>
64987
64988         * gnulib-tool (sed_extract_prog): Avoid space-tab.
64989
64990 2006-12-26  Eric Blake  <ebb9@byu.net>
64991
64992         * modules/absolute-header: New module.
64993         * modules/fcntl (Depends-on): Depend on it.
64994         * modules/inttypes (Depends-on): Likewise.
64995         * modules/stdint (Depends-on): Likewise.
64996         * modules/sys_stat (Depends-on): Likewise.
64997         * modules/wctype (Depends-on): Likewise.
64998         * MODULES.html.sh (Support for building libraries and
64999         executables): Document it.
65000
65001 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
65002
65003         * gnulib-tool (SED): Remove, undoing previous change.
65004         The problem was that it broke coreutils on Solaris, because
65005         "sed --posix" leaked into a makefile.
65006         (sed): New alias, if 'alias' and GNU sed.
65007
65008 2006-12-24  Jim Meyering  <jim@meyering.net>
65009
65010         Work around an fchownat bug in glibc-2.4:
65011         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
65012         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
65013         in spite of the -P option.
65014         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
65015         New macros.
65016         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
65017         * modules/openat (Files): Add lib/fchownat.c.
65018         * lib/openat.c (fchownat): Don't define here.  Move to...
65019         * lib/fchownat.c: ...this new file.
65020
65021 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65022
65023         Fix bug reported by Bruno Haible in
65024         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
65025         where quotearg.c didn't compile on Mac OS X 10.2 because it
65026         lacks <wchar.h> and wint_t.
65027         * lib/wctype_.h (__wctype_wint_t): New type.
65028         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
65029         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
65030         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
65031         Arg is now of type __wctype_wint_t, not wint_t.
65032         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
65033         substitute HAVE_WINT_T.
65034         * modules/wctype (Files): Add m4/wint_t.m4.
65035         (wctype.h): Substitute HAVE_WINT_T.
65036
65037 2006-12-23  Bruno Haible  <bruno@clisp.org>
65038
65039         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
65040
65041 2006-12-23  Bruno Haible  <bruno@clisp.org>
65042
65043         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
65044         S_ISLNK.
65045         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
65046         mingw.
65047
65048 2006-12-22  Bruno Haible  <bruno@clisp.org>
65049
65050         * lib/copy-file.c: Include acl.h.
65051         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
65052         Close the file descriptors only after being done with copy_acl.
65053         * modules/copy-file (Depends-on): Add acl.
65054
65055 2006-12-22  Bruno Haible  <bruno@clisp.org>
65056
65057         * gnulib-tool (SED): New variable.
65058         Use $SED instead of sed everywhere.
65059
65060 2006-12-22  Bruno Haible  <bruno@clisp.org>
65061
65062         * modules/no-c++: New file.
65063         * m4/no-c++.m4: New file.
65064         * MODULES.html.sh (Support for building libraries and executables):
65065         Add no-c++.
65066
65067 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
65068
65069         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65070         Include <limits.h>, and use its INT_MAX to rewrite the
65071         j loop so that it does not overflow 'int'.  Problem reported by
65072         Ralf Wildenhues in
65073         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
65074         Play it safe by shifting left by 1 rather than multiplying by 2,
65075         as GCC is less likely to optimize this away when the value
65076         is signed (when it assumes overflow leads to undefined behavior).
65077         Also, don't assume time_t uses two's complement.
65078
65079 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
65080
65081         * MODULES.html.sh: New module wctype.
65082         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
65083         * lib/fnmatch.c: Don't bother to include <wchar.h> before
65084         <wctype.h>, since the new wctype module should fix this.
65085         * lib/quotearg.c: Include <wctype.h> unconditionally, since
65086         the wctype module should arrange for it.
65087         * lib/regex_internal.h: Likewise.
65088         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
65089         since the wctype module should handle this now.
65090         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
65091         * modules/fnmatch (Depends-on): Add wctype.
65092         * modules/quotearg (Depends-on): Likewise.
65093         * modules/regex (Depends-on): Likewise.
65094
65095 2006-12-19  Bruno Haible  <bruno@clisp.org>
65096
65097         * lib/strdup.h [C++]: Wrap definitions in extern "C".
65098         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
65099
65100 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65101
65102         * modules/savewd (Depends-on): Fix dependency on fcntl.
65103
65104 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65105
65106         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
65107         conforms to C99, rather than relying on the user's environment
65108         setting of STDINT_H.
65109
65110 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65111         and Eric Blake  <ebb9@byu.net>
65112
65113         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
65114         This is more consistent with the other defines here.
65115         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
65116         Port to z/OS.  Problem reported by Paul Gilmartin.
65117         Change local vars to use gl_ prefix rather than ac_.
65118         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
65119         with other defines.
65120         * modules/double-slash-root: New module.
65121         * modules/dirname (Files): Remove m4/double-slash-root.m4.
65122         (Depends-on): Add double-slash-root.
65123         * MODULES.html.sh (File system functions): Mention new module.
65124
65125 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
65126
65127         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
65128         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
65129         This is for the benefit of gzip, which doesn't do i18n.
65130
65131 2006-12-12  Jim Meyering  <jim@meyering.net>
65132
65133         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
65134         Reported by Andreas Schwab <schwab@suse.de>.
65135
65136 2006-12-12  Bruno Haible  <bruno@clisp.org>
65137
65138         Merge these changes.
65139         2006-09-05  Bruno Haible  <bruno@clisp.org>
65140         * lib/iconvme.c (iconv_string): No need to save and restore errno when
65141         iconv_alloc succeeded.
65142         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
65143         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
65144         test for " && dest " at the end - dest is always != NULL there. Call
65145         iconv with 4xNULL arguments initially, to reset the state. Call iconv
65146         with 2xNULL arguments, also to flush the state storage. Handle the
65147         IRIX iconv behaviour. Realloc the final result, to throw away unused
65148         memory.
65149
65150 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
65151
65152         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
65153         and fchmodat unconditionally, since glibc 2.4 has them.
65154         Problem reported by Arkadiusz Miskiewicz.
65155
65156 2006-12-10  Bruno Haible  <bruno@clisp.org>
65157
65158         * gnulib-tool (func_import): Show the include files only for those
65159         modules that are copied and specified.
65160         Reported by Karl Berry.
65161
65162 2006-12-08  Jim Meyering  <jim@meyering.net>
65163
65164         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
65165         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
65166
65167         * build-aux/announce-gen: Add two new options, both optional:
65168         --bootstrap-tools=TOOL_LIST
65169               a comma-separated list of tools, e.g.,
65170               autoconf,automake,bison,gnulib
65171         --gnulib-snapshot-date=DATE
65172               if gnulib is in the bootstrap tool list,
65173               then report this as the snapshot date.
65174               If not specified, use the current date/time.
65175               If you specify a date here, be sure it's UTC.
65176
65177 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65178
65179         * tests/test-argp-2.sh: Fix test to match actual output.
65180         (func_compare): Fix sed script to be portable.
65181
65182 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
65183
65184         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
65185         workaround for this case.  It is not autoconfigured now; offhand
65186         it's hard to see how to autoconfigure it.
65187
65188 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
65189
65190         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
65191         a directory that is about to be chowned.  Such a directory's
65192         initial file permissions should permit the owner only and this
65193         should not be changed until after the chown, since the group and
65194         other bits would be incorrect if they granted permission before
65195         the chown.
65196
65197         Fix porting problem for iswctype reported by Georg Schwarz in:
65198         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
65199         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
65200         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
65201         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
65202         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65203
65204 2006-12-03  Jim Meyering  <jim@meyering.net>
65205
65206         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
65207         p->fts_statp may not yet be defined.
65208         (fts_read): Instead, set it in the caller, once p->fts_statp is
65209         sure to be defined, and corresponds to a top-level directory.
65210         This bug made du -x fail.  Here's the coreutils test case:
65211         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
65212         Reported by Mike Frysinger.
65213
65214 2006-12-01  Jim Meyering  <jim@meyering.net>
65215
65216         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
65217         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
65218         Reported by Simon Josefsson.
65219
65220 2006-11-30  Jim Meyering  <jim@meyering.net>
65221
65222         * m4/warning.m4: Use the all-permissive copyright notice
65223         recommended by RMS (rather than LGPL).
65224         * m4/vararrays.m4: Likewise.
65225         * m4/flexmember.m4: Likewise.
65226
65227 2006-11-29  Bruno Haible  <bruno@clisp.org>
65228
65229         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65230         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
65231         using +=.
65232         Reported by Simon Josefsson <simon@josefsson.org>.
65233
65234 2006-11-28  James Youngman <jay@gnu.org>
65235
65236         * README: Advise users that they might find the bug-gnulib@gnu.org
65237         and autotools-announce@gnu.org mailing lists useful.
65238
65239 2006-11-28  Bruno Haible  <bruno@clisp.org>
65240
65241         * m4/ptrdiff_max.m4: Remove file.
65242
65243 2006-11-21  Bruno Haible  <bruno@clisp.org>
65244
65245         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
65246         _AC_COMPUTE_INT.
65247         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65248         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
65249         _AC_COMPUTE_INT.
65250         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65251         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
65252         _AC_COMPUTE_INT.
65253         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65254
65255 2006-11-28  Jim Meyering  <jim@meyering.net>
65256
65257         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
65258         warning from "gcc -Wshadow" about shadowing the builtin.
65259
65260 2006-11-27  Bruno Haible  <bruno@clisp.org>
65261
65262         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
65263         _AC_COMPUTE_INT.
65264         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65265
65266 2006-11-27  Bruno Haible  <bruno@clisp.org>
65267             Paul Eggert  <eggert@cs.ucla.edu>
65268
65269         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
65270
65271 2006-11-26  Bruno Haible  <bruno@clisp.org>
65272
65273         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65274         noinst_LTLIBRARIES.
65275
65276 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
65277             Bruno Haible  <bruno@clisp.org>
65278
65279         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
65280         if compiling with "gcc -ansi".
65281
65282 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
65283
65284         Fix some incompatibilities with gcc -ansi -pedantic.
65285         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
65286         if compiling pedantically with GCC, unless it's C99 or later.
65287         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
65288         it mishandles gcc -ansi -pedantic as well.
65289         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
65290         if gcc -pedantic.
65291         * lib/regexec.c (check_node_accept_bytes): Don't use auto
65292         initializers for struct if -pedantic, unless it's C99 or later.
65293
65294 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
65295
65296         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
65297         Don't close an fd more than once. Identical atimes indicate
65298         success, not failure.
65299
65300 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
65301
65302         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
65303
65304 2006-11-23  Jim Meyering  <jim@meyering.net>
65305
65306         * build-aux/announce-gen: New file.  From coreutils.
65307
65308 2006-11-22  Jim Meyering  <jim@meyering.net>
65309
65310         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
65311         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
65312         (fts_read): Use a temporary to narrow the overused st_size member
65313         before using it in a switch statement.  Reported by Matthew Woehlke.
65314
65315         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
65316         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
65317
65318 2006-11-20  Bruno Haible  <bruno@clisp.org>
65319
65320         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
65321         changequote instead of pairs of brackets.
65322         Reported by Andreas Schwab <schwab@suse.de>.
65323
65324 2006-11-21  Jim Meyering  <jim@meyering.net>
65325
65326         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
65327         so as to remain compatible with older compilers.
65328         Patch from Michael Deutschmann.
65329
65330 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65331
65332         * MODULES.html.sh (File system functions): Add openat.
65333
65334         * lib/openat.h (rpl_fstatat): New macro, if
65335         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
65336         (fstatat): Define to rpl_fstatat under the same conditions,
65337         unless COMPILING_FSTATAT.
65338         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
65339         seems to have the bug.
65340         * lib/fstatat.c: New file.
65341         * modules/openat (Files): Add it.
65342
65343 2006-11-20  Bruno Haible  <bruno@clisp.org>
65344
65345         * Makefile: New file.
65346
65347 2006-11-20  Jim Meyering  <jim@meyering.net>
65348
65349         The beginnings of syntax-related checks for gnulib.
65350         * lib/Makefile: New file.
65351         * lib/t-idcache: New script.  Ensure that the two halves of
65352         idcache.c stay in sync.
65353
65354         * lib/idcache.c: Adjust comments in user- and group- portions to
65355         be more accurate, and to be consistent with one another.
65356
65357 2006-11-20  Jim Meyering  <jim@meyering.net>
65358
65359         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
65360         continue using the flexible array member (thus, this module performs
65361         half as many malloc calls), with the addition that...
65362         (getgroup, getuser): Consistently record a non-match via an empty
65363         "name" string, and map an empty string match to a NULL return value.
65364         * modules/idcache (Depends-on): Re-add flexmember.
65365
65366         * lib/idcache.c (getuser): Remove all uses of the register keyword.
65367         (getuidbyname, getgroup, getgidbyname): Likewise.
65368
65369         Use cleaner syntax: NULL rather than 0.
65370         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
65371
65372 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65373
65374         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
65375         It mishandled the case where the group was missing.
65376         Problem reported by Greg Schafer.
65377         * modules/idcache: Likewise.
65378
65379 2006-11-18  Jim Meyering  <jim@meyering.net>
65380
65381         * check-module (%exempt_header): Add exception for some
65382         conditionally-included headers.
65383
65384         * modules/i-ring (Depends-on): Add verify.
65385         (License): Change to LGPL.
65386
65387 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65388
65389         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65390         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65391         and inttostr.h.  Use snprintf rather than uinttostr, so that
65392         LGPLed code doesn't depend on GPLed.
65393
65394 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65395
65396         * modules/inline (License): Change from GPL to LGPL.
65397
65398 2006-11-17  Jim Meyering  <jim@meyering.net>
65399
65400         * modules/d-type (License): Switch to LGPL.
65401
65402 2006-11-15  Bruno Haible  <bruno@clisp.org>
65403
65404         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65405
65406 2006-11-15  Eric Blake  <ebb9@byu.net>
65407
65408         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65409         the module dependency.
65410
65411 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65412             Bruno Haible  <bruno@clisp.org>
65413
65414         * gnulib-tool (func_create_testdir): Add license consistency check.
65415
65416 2006-11-15  Eric Blake  <ebb9@byu.net>
65417
65418         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65419         random "(cached)" in configure output.
65420
65421 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65422
65423         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65424         test for conforming inttypes.h is both announced and cached.
65425
65426         * MODULES.html.sh (seen_modules, seen_files): New variables.
65427         (func_module): Rewrite to use a few less gnulib-tool and sed
65428         invocations.  Avoid a couple of quadratic algorithms for ...
65429         (missed_modules, missed_files): ... these, with ...
65430         (func_append, func_tmpdir): ... these new functions, from
65431         gnulib-tool.  Analogously, install traps for cleanup.
65432
65433         * tests/test-gc.c (main): Remove unused variables.
65434         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65435
65436 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65437
65438         * modules/inttostr (License): Change to LGPL.
65439
65440 2006-11-14  Eric Blake  <ebb9@byu.net>
65441
65442         * modules/tempname (License): Change to LGPL.
65443
65444 2006-11-14  Eric Blake  <ebb9@byu.net>
65445
65446         * doc/functions.texi (Function Portability): *printf functions on
65447         Cygwin now understand all POSIX size specifiers.
65448
65449 2006-11-14  Bruno Haible  <bruno@clisp.org>
65450
65451         * modules/c-ctype (License): Change to LGPL.
65452
65453 2006-11-12  Bruno Haible  <bruno@clisp.org>
65454
65455         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65456         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65457         for GNOME libraries, for which the include files are installed in
65458         subdirectories of $prefix/include.
65459
65460 2006-11-12  Bruno Haible  <bruno@clisp.org>
65461
65462         * m4/lib-link.m4: Require at least autoconf-2.54.
65463         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65464         name to underscores for the --with option.
65465
65466 2006-11-13  Bruno Haible  <bruno@clisp.org>
65467
65468         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65469         the tests directory.
65470         Reported by Ralf Wildenhues.
65471
65472 2006-11-13  Bruno Haible  <bruno@clisp.org>
65473
65474         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65475         (func_emit_initmacro_end): Undo the override here.
65476         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65477         Works around the famous automake error in coreutils.
65478
65479 2006-11-13  Eric Blake  <ebb9@byu.net>
65480
65481         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65482         element, not its node.
65483
65484 2006-11-12  Bruno Haible  <bruno@clisp.org>
65485
65486         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65487         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65488
65489 2006-11-12  Bruno Haible  <bruno@clisp.org>
65490
65491         * gnulib-tool: New option --local-symlink.
65492         (func_usage): Document it.
65493         (lsymbolic): New variable.
65494         (func_import, func_create_testdir): If --symlink was not specified,
65495         test whether --local-symlink was specified and the file comes from
65496         the local_gnulib_dir.
65497
65498 2006-11-12  Bruno Haible  <bruno@clisp.org>
65499
65500         * gnulib-tool (func_ln): New function.
65501         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65502
65503 2006-11-12  Bruno Haible  <bruno@clisp.org>
65504
65505         Finish support for source files in subdirectories.
65506         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65507         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65508         AUTOMAKE_OPTIONS.
65509         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65510
65511 2006-11-12  Bruno Haible  <bruno@clisp.org>
65512
65513         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65514         EXTRA_lib_SOURCES augmentation.
65515         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65516
65517 2006-11-12  Jim Meyering  <jim@meyering.net>
65518
65519         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65520         file descriptors.  This also averts a failure on systems with
65521         native openat support when a traversed directory lacks "x" access.
65522         * lib/fts_.h: Include "i-ring.h"
65523         (struct FTS) [fts_fd_ring]: New member.
65524         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65525         (FCHDIR): Add parentheses.
65526         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65527         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65528         When descending, rather than simply closing the previous
65529         fts_cwd_fd value, push that file descriptor onto the ring.
65530         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65531         (fts_open): Initialize the new fd_ring member.
65532         (fts_close): Clear the ring.
65533         (fts_safe_changedir): When possible, use our new fd_ring to skip
65534         the diropen and fstat and dev/ino comparison that would normally
65535         accompany a virtual `chdir ("..")'.
65536
65537         * modules/fts (Depends-on): Add i-ring.
65538         * modules/i-ring: New module.
65539         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65540         * m4/i-ring.m4: New file.
65541
65542 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65543
65544         * gnulib-tool (func_create_testdir): Fix replacement of
65545         `build-aux' in configure.ac.  Run autotools in gltests
65546         subdirectory.
65547         (func_create_testdir, func_create_megatestdir, test): There is
65548         no need for '--force' in most autotool invocations in a new
65549         tree.  Actually fail the whole test if any of the tools, or the
65550         configure or make stages fail.
65551
65552         Sync from Automake.
65553         * build-aux/gnupload: Revert last change.  Add pointer to upload
65554         instructions of the GNU Maintenance Instructions.
65555         Suggestion by Karl Berry.
65556
65557 2006-11-10  Jim Meyering  <jim@meyering.net>
65558
65559         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65560
65561 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65562
65563         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65564         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65565         (bind_textdomain_codeset) [! ENABLE_NLS]:
65566         Evaluate all the arguments.  That way, callers get compatible behavior
65567         if the arguments have side effects.  Also, it avoids some GCC
65568         diagnostics in some cases; Joel E. Denny reported problems when Bison
65569         was configured with --enable-gcc-warnigs.
65570
65571 2006-11-10  Jim Meyering  <jim@meyering.net>
65572
65573         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65574         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65575         account.
65576
65577 2006-11-10  Jim Meyering  <jim@meyering.net>
65578
65579         * modules/inline: New file/module.
65580         * modules/xalloc (Files): Remove m4/inline.m4.
65581         (Depends-on): Add inline, instead.
65582         * modules/oset: Likewise.
65583         * modules/list: Likewise.
65584
65585 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65586
65587         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65588         Problem reported by Matthew Woehlke.
65589
65590 2006-11-09  Bruno Haible  <bruno@clisp.org>
65591
65592         * lib/tempname.c (gen_tempname): Remove variant that invokes
65593         __gen_tempname.
65594         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65595         __gen_tempname.
65596
65597 2006-11-08  Bruno Haible  <bruno@clisp.org>
65598
65599         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65600         to 'yes' instead of 'cross-compiling'.
65601
65602 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65603
65604         * lib/quotearg.h (quotearg_free): New decl.
65605         * lib/quotearg.c (quotearg_free): New function.
65606         (slot0, nslots, slotvec0, slotvec):
65607         Now file-scope so that quotearg_free can get at them.
65608
65609 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65610
65611         Sync from Automake.
65612         * build-aux/gnupload: Add missing 'gnu' to example URL.
65613         Report by Karl Berry.
65614
65615 2006-11-08  Bruno Haible  <bruno@clisp.org>
65616
65617         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65618         Suggested by Paul Eggert.
65619
65620 2006-11-08  Jim Meyering  <jim@meyering.net>
65621
65622         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65623         It's already included if !_LIBC.
65624         (fts_safe_changedir): Add a comment.
65625
65626 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65627
65628         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65629         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65630         Matthew Woehlke.
65631
65632         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65633         definitions up, to avoid colliding with change below.
65634         (static_inline) [HAVE_INLINE]: New macro.
65635         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65636         Provide extern decls when !HAVE_INLINE.  Do not define unless
65637         static_inline is defined, either by us or by xmalloc.c.  Use
65638         static_inline rather than static inline.
65639         (XCALLOC): Optimize sizeof(T) = 1 case.
65640         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65641
65642 2006-11-07  Bruno Haible  <bruno@clisp.org>
65643
65644         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65645         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65646         AC_C_INLINE.
65647         * modules/xalloc (Files): Add m4/inline.m4.
65648
65649 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65650
65651         * README: Fix typo.
65652         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65653         (Miscellanous Notes): ...from this.
65654
65655 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65656
65657         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65658         Mention that offsetof should be used instead of sizeof.
65659         From Bruno Haible.
65660
65661 2006-11-07  Bruno Haible  <bruno@clisp.org>
65662
65663         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65664
65665 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65666
65667         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65668         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65669         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65670         (gl_tree_add_before, gl_tree_add_after):
65671         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65672         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65673         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65674         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65675         (gl_linked_add_after, gl_linked_add_at): Likewise.
65676         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65677         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65678         (gl_tree_add_before, gl_tree_add_after): Likewise.
65679         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65680         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65681         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65682
65683 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65684
65685         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65686
65687 2006-11-06  Bruno Haible  <bruno@clisp.org>
65688
65689         * m4/inline.m4: New file.
65690         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65691         * modules/list (Files): Add m4/inline.m4.
65692         * modules/oset (Files): Likewise.
65693
65694 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65695
65696         * lib/idcache.c: Include <stddef.h>, for offsetof.
65697         (struct userid.name): Change from char * to a flexible array member.
65698         All uses changed.
65699         * modules/idcache (Depends-on): Add flexmember.
65700
65701         * MODULES.html.sh (Core language properties): New module flexmember.
65702         * modules/flexmember, m4/flexmember.m4: New files.
65703
65704         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65705         inline functions that are identical with the old xnmalloc_inline,
65706         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65707         that we can avoid some unnecessary integer multiplications and
65708         divisions in the common case where the element size is known at
65709         compile time.
65710         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65711         needed.
65712         (xnboundedmalloc): Remove.
65713         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65714         arguments, for consistency with rest of this header.
65715         (xcharalloc): Rewrite using XNMALLOC.
65716         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65717         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65718         versions have been moved to lib/xalloc.h and renamed to be the
65719         non-*_inline versions.
65720         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65721         and xnrealloc functions, since those functions are now inline and
65722         now call us.
65723         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65724         renaming described above.
65725         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65726         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65727         captures the dependency in AC_C_INLINE.
65728
65729         New module canonicalize-lgpl, proposed by Charles Wilson in
65730         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65731         with a few small changes afterwards.
65732         * MODULES.html.sh (File system functions): New module
65733         canonicalize-lgpl.
65734         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65735         and canonicalize_file_name.
65736         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65737         * modules/canonicalize-lgpl: New files.
65738
65739 2006-11-05  Bruno Haible  <bruno@clisp.org>
65740
65741         * gnulib-tool (func_import, func_create_testdir): Create directories
65742         also for files in subdirectories of lib/.
65743
65744 2006-11-05  Bruno Haible  <bruno@clisp.org>
65745
65746         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65747         ANSI C compliant.
65748
65749 2006-11-03  Bruno Haible  <bruno@clisp.org>
65750
65751         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65752         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65753         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65754         (xnboundedmalloc): New inline function.
65755         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65756         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65757         xmalloc.
65758         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65759         xmalloc.
65760         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65761         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65762         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65763         xmalloc.
65764         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65765         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65766         xmalloc.
65767         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65768         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65769         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65770         xmalloc.
65771         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65772         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65773         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65774         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65775         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65776         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65777         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65778
65779 2006-11-03  Bruno Haible  <bruno@clisp.org>
65780
65781         * lib/c-ctype.h [C++]: Define functions without name mangling.
65782         * lib/fwriteerror.h [C++]: Likewise.
65783         * lib/gcd.h [C++]: Likewise.
65784         * lib/linebreak.h [C++]: Likewise.
65785
65786 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65787
65788         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65789         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65790         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65791         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65792         Check for functions and headers just once.
65793         Check for declaration of canonicalize_file_name.
65794         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
65795
65796 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65797
65798         * gnulib-tool (func_import): Fix typo in actioncmd.
65799
65800 2006-11-02  Bruno Haible  <bruno@clisp.org>
65801
65802         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
65803         newline sequence in the Makefile.am snippet as a space, like "make"
65804         does.
65805         Reported by Roger Persson <perrog@gmail.com>.
65806
65807 2006-11-01  Bruno Haible  <bruno@clisp.org>
65808
65809         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
65810         already declared in <string.h>.
65811         * lib/strcase.h (strncasecmp): Don't declare it if yes.
65812
65813 2006-11-01  Bruno Haible  <bruno@clisp.org>
65814
65815         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
65816         * lib/strcase.h: Include <string.h>.
65817         (strcasecmp): Define to rpl_strcasecmp here.
65818
65819 2006-11-01  Bruno Haible  <bruno@clisp.org>
65820
65821         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
65822
65823 2006-11-01  Eric Blake  <ebb9@byu.net>
65824
65825         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
65826
65827         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
65828
65829 2006-10-29  Bruno Haible  <bruno@clisp.org>
65830
65831         Make it compile in C++ mode.
65832         * lib/full-write.c (full_rw): Add a cast.
65833
65834 2006-11-01  Bruno Haible  <bruno@clisp.org>
65835
65836         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
65837         be POSIX compliant.
65838         Reported by Roger Persson <perrog@gmail.com>.
65839
65840 2006-11-01  Eric Blake  <ebb9@byu.net>
65841
65842         * lib/getopt_.h: Fix comments.
65843
65844 2006-10-31  Eric Blake  <ebb9@byu.net>
65845
65846         * modules/tmpdir (Depends-on): Add sys_stat.
65847         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
65848         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
65849         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
65850         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
65851         tempname.
65852
65853 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
65854
65855         Avoid some C++ diagnostics reported by Bruno Haible.
65856         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
65857         xmalloc.
65858         (quotearg_alloc): Use xcharalloc rather than xmalloc.
65859         (struct slotvec): Move to top level.
65860         (quotearg_n_options): Rewrite to avoid xmalloc.
65861         * lib/xalloc.h (xcharalloc): New function.
65862         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
65863         [defined __cplusplus]: Add function template that provides result
65864         type propagation.  This part of the change is from Bruno Haible.
65865
65866 2006-10-29  Bruno Haible  <bruno@clisp.org>
65867
65868         Make it compile in C++ mode.
65869         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
65870         * lib/strnlen1.c (strnlen1): Cast memchr result.
65871         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
65872         * lib/clean-temp.c (string_equals, string_hash): Add casts.
65873         (create_temp_dir): Rename local variable 'template'.
65874         (compile_csharp_using_sscli): Add cast.
65875         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
65876         * lib/findprog.c (find_in_path): Likewise.
65877         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
65878         * lib/wait-process.c (register_slave_subprocess): Likewise.
65879
65880 2006-10-22  Bruno Haible  <bruno@clisp.org>
65881
65882         * modules/tsearch: New file.
65883         * lib/tsearch.h: New file.
65884         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
65885         * m4/tsearch.m4: New file.
65886         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
65887
65888 2006-10-29  Eric Blake  <ebb9@byu.net>
65889
65890         * lib/arcfour.c: Assume config.h.
65891         * lib/arctwo.c: Likewise.
65892         * lib/base64.c: Likewise.
65893         * lib/check-version.c: Likewise.
65894         * lib/crc.c: Likewise.
65895         * lib/des.c: Likewise.
65896         * lib/gc-gnulib.c: Likewise.
65897         * lib/gc-libgcrypt.c: Likewise.
65898         * lib/gc-pbkdf2-sha1.c: Likewise.
65899         * lib/getaddrinfo.c: Likewise.
65900         * lib/getdelim.c: Likewise.
65901         * lib/getline.c: Likewise.
65902         * lib/hmac-md5.c: Likewise.
65903         * lib/hmac-sha1.c: Likewise.
65904         * lib/iconvme.c: Likewise.
65905         * lib/md2.c: Likewise.
65906         * lib/md4.c: Likewise.
65907         * lib/memxor.c: Likewise.
65908         * lib/read-file.c: Likewise.
65909         * lib/readline.c: Likewise.
65910         * lib/rijndael-alg-fst.c: Likewise.
65911         * lib/rijndael-api-fst.c: Likewise.
65912         * lib/xgetdomainname.c: Likewise.
65913
65914 2006-10-28  Eric Blake  <ebb9@byu.net>
65915
65916         * lib/xstrndup.c: Assume config.h.
65917
65918 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65919
65920         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
65921         stat-macros.h is now for our own macros, whereas stat_h is for
65922         macros in the <sys/stat.h> name space.
65923         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
65924         (STAT_MACROS_H): Remove.
65925         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
65926         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
65927         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
65928         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
65929         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
65930         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
65931         Move these macros to ...
65932         * lib/stat_.h: here.  Don't include stat-macros.h.
65933         * lib/canonicalize.c: Don't include stat-macros.h.
65934         * lib/chown.c: Likewise.
65935         * lib/euidaccess.c: Likewise.
65936         * lib/file-type.c: Likewise.
65937         * lib/filemode.c: Likewise.
65938         * lib/glob.c: Likewise.
65939         * lib/isapipe.c: Likewise.
65940         * lib/lchown.c: Likewise.
65941         * lib/lstat.c: Likewise.
65942         * lib/mkdir-p.c: Likewise.
65943         * lib/rmdir.c: Likewise.
65944         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
65945         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
65946         unless mkdir isn't declared, to speed up 'configure'.
65947         Always create sys/stat.h, since it's unlikely any real sys/stat.h
65948         would define all the S_* symbols.
65949         * modules/canonicalize (Depends-on):
65950         Depend on sys_stat, not stat-macros.
65951         * modules/chown: Likewise.
65952         * modules/euidaccess: Likewise.
65953         * modules/filemode: Likewise.
65954         * modules/file-type: Likewise.
65955         * modules/glob: Likewise.
65956         * modules/isapipe: Likewise.
65957         * modules/lchown: Likewise.
65958         * modules/lstat: Likewise.
65959         * modules/mkancesdirs: Likewise.
65960         * modules/rmdir: Likewise.
65961         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
65962         * modules/modechange: Likewise.
65963         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
65964         (configure.ac): Remove gl_STAT_MACROS.
65965         * modules/sys_stat (Depends-on): Remove stat-macros.
65966
65967 2006-10-27  Bruno Haible  <bruno@clisp.org>
65968
65969         * m4/signed.m4: Remove file.
65970         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
65971         invocation.
65972         * modules/vasnprintf (Files): Remove m4/signed.m4.
65973
65974 2006-10-27  Bruno Haible  <bruno@clisp.org>
65975
65976         Update to GNU gettext 0.16.
65977         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
65978         m4/inttypes-h.m4, m4/signed.m4.
65979         * m4/gettext.m4: Update to GNU gettext 0.16.
65980         * m4/intl.m4: New file, from GNU gettext.
65981         * m4/intldir.m4: New file, from GNU gettext.
65982         * config/srclist.txt: Update
65983
65984 2006-10-27  Eric Blake  <ebb9@byu.net>
65985
65986         * MODULES.html.sh: Document tempname.
65987         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
65988         dependencies.
65989         (Files): Move lib/tempname.c...
65990         * modules/tempname: ...to this new module.
65991         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
65992         (gl_PREREQ_TEMPNAME): Move...
65993         * m4/tempname.m4: ...to this new file.
65994         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
65995         * modules/sys_stat (Depends-on): Add stat-macros.
65996         * lib/stat_.h (includes): Pick up stat macros.
65997         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
65998         if stat macros are broken.
65999         * lib/tempname.c (includes): No need to include "stat-macros.h".
66000         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
66001         (direxists, __path_search) [!_LIBC]: Don't compile these in
66002         gnulib; the tmpdir module covers that.
66003         * lib/tempname.h: New file.
66004
66005 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
66006
66007         * COPYING: Explain how gnulib-tool converts licence headers.
66008         Almost all wording by Eric Blake.
66009
66010 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
66011
66012         * lib/mbchar.h (is_basic_table): Make read-only.
66013         * lib/mbchar.c (is_basic_table): Likewise.
66014         Reported by John Darrington.
66015
66016 2006-10-25  Bruno Haible  <bruno@clisp.org>
66017
66018         * lib/progname.h (set_program_name): Undefine before defining.
66019
66020 2006-10-25  Bruno Haible  <bruno@clisp.org>
66021
66022         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
66023         false for non-gcc C++ compilers.
66024         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
66025
66026 2006-10-24  Bruno Haible  <bruno@clisp.org>
66027
66028         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
66029         iconv implementations like Irix iconv.
66030
66031 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66032
66033         * modules/vararrays: New file.
66034         * m4/vararrays.m4: New file, taken from diffutils.
66035         * MODULES.html.sh: New module vararrays.
66036
66037 2006-10-24  Karl Berry  <karl@gnu.org>
66038
66039         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
66040         Don't call GNU Unix.
66041
66042 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66043
66044         * users.txt: Add Libtool.
66045
66046         Sync from Libtool:
66047
66048         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66049
66050         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
66051         to gnulib's policy of including config.h unconditionally.
66052
66053 2006-10-24  Bruno Haible  <bruno@clisp.org>
66054
66055         * modules/wcwidth (Files): Add m4/wint_t.m4.
66056         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
66057         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
66058
66059 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66060
66061         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
66062         to pacify GCC with some -W flags enabled.  Problem reported by
66063         Bruno Haible.
66064
66065 2006-10-24  Jim Meyering  <jim@meyering.net>
66066
66067         * MODULES.html.sh: Remove uinttostr.  It's not a module.
66068         Reported by Karl Berry.
66069
66070 2006-10-23  Bruno Haible  <bruno@clisp.org>
66071
66072         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
66073
66074 2006-10-24  Bruno Haible  <bruno@clisp.org>
66075
66076         * lib/gl_list.h: Use C comment style, not C++ comment style.
66077
66078 2006-10-23  Eric Blake  <ebb9@byu.net>
66079
66080         * lib/getaddrinfo.c (includes): Add missing include.
66081
66082 2006-10-23  Bruno Haible  <bruno@clisp.org>
66083             Paul Eggert  <eggert@cs.ucla.edu>
66084
66085         Ability to rename obstack_free.
66086         * lib/obstack.h (__obstack_free): New macro. Declare instead of
66087         obstack_free.
66088         (obstack_free): Invoke the __obstack_free macro.
66089         * lib/obstack.c (obstack_free): Use __obstack_free macro.
66090
66091 2006-10-23  Bruno Haible  <bruno@clisp.org>
66092             Paul Eggert  <eggert@cs.ucla.edu>
66093
66094         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
66095         __argc, __argv from the declaration. (They are defined as macros on
66096         mingw.)
66097
66098 2006-10-22  Bruno Haible  <bruno@clisp.org>
66099
66100         * doc/gnulib-intro.texi: New file.
66101         * doc/gnulib.texi: Include it.
66102
66103 2006-10-21  Bruno Haible  <bruno@clisp.org>
66104
66105         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
66106         "Introduction", "Miscellanous Notes", "Particular Modules".
66107
66108 2006-10-21  Bruno Haible  <bruno@clisp.org>
66109
66110         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66111         Change mostlyclean-local rule to avoid sh syntax error from bash
66112         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
66113
66114 2006-10-23  Jim Meyering  <jim@meyering.net>
66115
66116         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
66117         in place of snprintf.
66118
66119         * modules/inttostr (Files): Add lib/uinttostr.c.
66120         * lib/uinttostr.c (inttostr): New file/function.
66121         * lib/inttostr.h (uinttostr): Declare.
66122         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
66123         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66124         Add uinttostr.
66125         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
66126
66127 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66128
66129         * lib/canonicalize.c (ELOOP): Define if not already defined.
66130         Problem reported by Bruno Haible in
66131         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
66132
66133 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66134
66135         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
66136         Problem reported by Perry Smith and Ville Laurikari.
66137
66138         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
66139         uses.
66140
66141 2006-10-19  Bruno Haible  <bruno@clisp.org>
66142
66143         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
66144         for mingw.
66145
66146 2006-10-19  Bruno Haible  <bruno@clisp.org>
66147
66148         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
66149         Needed for mingw.
66150
66151 2006-10-19  Bruno Haible  <bruno@clisp.org>
66152
66153         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
66154
66155 2006-10-19  Bruno Haible  <bruno@clisp.org>
66156
66157         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
66158         it.
66159
66160 2006-10-19  Bruno Haible  <bruno@clisp.org>
66161
66162         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
66163         invocation.
66164
66165 2006-10-19  Bruno Haible  <bruno@clisp.org>
66166
66167         * gnulib-tool (func_create_testdir): Don't include ftruncate and
66168         mountlist by default.
66169
66170 2006-10-16  Bruno Haible  <bruno@clisp.org>
66171
66172         * lib/c-strstr.c: Include c-strstr.h.
66173
66174 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66175
66176         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
66177         in a slash.
66178
66179 2006-10-18  Bruno Haible  <bruno@clisp.org>
66180
66181         * lib/lock.h [C++]: Wrap definitions in extern "C".
66182
66183 2006-10-18  Bruno Haible  <bruno@clisp.org>
66184
66185         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
66186         gl_LIBOBJS list.
66187
66188 2006-10-18  Bruno Haible  <bruno@clisp.org>
66189
66190         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
66191
66192 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
66193
66194         * lib/xstrtol.h: Include gettext.h.
66195         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
66196         Problem reported by Eric Blake.
66197         * modules/xstrtol (Depends-on): Add gettext-h.
66198
66199 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
66200
66201         * lib/strftime.c (advance): New macro.
66202         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
66203         incomplete type, so you can't add 0 to it.  Problem and patch
66204         reported by Eelco Dolstra for dietlibc.
66205
66206 2006-10-18  Jim Meyering  <jim@meyering.net>
66207
66208         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
66209         type for a local, and rename it: s/up/user_proc/.
66210
66211 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
66212
66213         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
66214         READ_UTMP_USER_PROCESS.
66215         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
66216
66217 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66218
66219         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
66220         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
66221
66222 2006-10-17  Eric Blake  <ebb9@byu.net>
66223
66224         * lib/sigprocmask.c (sigprocmask): Fix typo.
66225
66226         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
66227
66228         * modules/clean-temp (Makefile.am): Don't add to make output...
66229         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
66230         config.h.
66231
66232 2006-10-17  Bruno Haible  <bruno@clisp.org>
66233
66234         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
66235         differently if DEFAULT_TEXT_DOMAIN is set.
66236
66237 2006-10-16  Bruno Haible  <bruno@clisp.org>
66238
66239         * lib/clean-temp.c: Include fwriteerror.h.
66240
66241 2006-10-16  Bruno Haible  <bruno@clisp.org>
66242
66243         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
66244
66245 2006-10-16  Bruno Haible  <bruno@clisp.org>
66246
66247         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
66248         * lib/sigprocmask.h: Include <sys/types.h>.
66249         (sigset_t): Use the system's definition if present.
66250
66251 2006-10-17  Eric Blake  <ebb9@byu.net>
66252
66253         * lib/xvasprintf.c (includes): Assume config.h.
66254         * lib/xasprintf.c (includes): Likewise.
66255
66256 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66257
66258         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
66259         at least as wide as intmax_t.
66260
66261 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
66262
66263         (Imported from Automake.)
66264         * build-aux/gnupload: Update to version 1.1 of directive file.
66265
66266 2006-10-16  Eric Blake  <ebb9@byu.net>
66267
66268         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
66269         match Automake 1.10a.
66270
66271 2006-10-14  Bruno Haible  <bruno@clisp.org>
66272
66273         * modules/sigprocmask: New file.
66274         * lib/sigprocmask.h: New file.
66275         * lib/sigprocmask.c: New file.
66276         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
66277         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
66278         request sigprocmask.o.
66279         (gl_PREREQ_SIGPROCMASK): New macro.
66280         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
66281         (Depends-on): Add sigprocmask.
66282         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
66283         gt_SIGNALBLOCKING. Test for 'raise' only once.
66284         * lib/fatal-signal.c: Include sigprocmask.h.
66285         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
66286         unblock_fatal_signals): Define always.
66287         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66288         sigprocmask.
66289
66290 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66291
66292         Sync from Automake.
66293         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
66294         which incorrectly sets the mode of an existing destination
66295         directory.  In some cases the unpatched install-sh could do the
66296         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
66297         system.  We hope this is rare in practice, but it's clearly worth
66298         fixing.  Problem reported by Alex Unleashed in
66299         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
66300         Also, don't bother to check for -m bugs unless we're using -m;
66301         suggested by Stepan Kasal.
66302
66303 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66304
66305         Sync from Automake.
66306         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
66307         `-c' flag, so they appear at the same position as in %FASTDEP%
66308         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
66309         which ignores unknown options only after the first non-option.
66310         Bug report against M4 by Nelson H. F. Beebe.
66311
66312 2006-10-13  Jim Meyering  <jim@meyering.net>
66313
66314         Fix a bug in yesterday's change.
66315         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
66316         p->fts_statp->st_dev would be used uninitialized.
66317         Ensures that we always call fts_stat on the very first entry.
66318         Miklos Szeredi reported that find -xdev stopped working.
66319
66320 2006-10-12  Bruno Haible  <bruno@clisp.org>
66321
66322         * gnulib-tool (func_get_automake_snippet): Append an automatically
66323         computed EXTRA_DIST augmentation.
66324         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
66325         * modules/alloca-opt (Makefile.am): Likewise.
66326         * modules/allocsa (Makefile.am): Likewise.
66327         * modules/arcfour (Makefile.am): Likewise.
66328         * modules/arctwo (Makefile.am): Likewise.
66329         * modules/argmatch (Makefile.am): Likewise.
66330         * modules/argz (Makefile.am): Likewise.
66331         * modules/atexit (Makefile.am): Likewise.
66332         * modules/backupfile (Makefile.am): Likewise.
66333         * modules/byteswap (Makefile.am): Likewise.
66334         * modules/c-strtod (Makefile.am): Likewise.
66335         * modules/c-strtold (Makefile.am): Likewise.
66336         * modules/calloc (Makefile.am): Likewise.
66337         * modules/canon-host (Makefile.am): Likewise.
66338         * modules/canonicalize (Makefile.am): Likewise.
66339         * modules/chdir-long (Makefile.am): Likewise.
66340         * modules/chdir-safer (Makefile.am): Likewise.
66341         * modules/check-version (Makefile.am): Likewise.
66342         * modules/chown (Makefile.am): Likewise.
66343         * modules/cloexec (Makefile.am): Likewise.
66344         * modules/close-stream (Makefile.am): Likewise.
66345         * modules/closeout (Makefile.am): Likewise.
66346         * modules/crc (Makefile.am): Likewise.
66347         * modules/csharpexec (Makefile.am): Likewise.
66348         * modules/cycle-check (Makefile.am): Likewise.
66349         * modules/des (Makefile.am): Likewise.
66350         * modules/dev-ino (Makefile.am): Likewise.
66351         * modules/dirfd (Makefile.am): Likewise.
66352         * modules/dirname (Makefile.am): Likewise.
66353         * modules/dup2 (Makefile.am): Likewise.
66354         * modules/eealloc (Makefile.am): Likewise.
66355         * modules/error (Makefile.am): Likewise.
66356         * modules/euidaccess (Makefile.am): Likewise.
66357         * modules/exclude (Makefile.am): Likewise.
66358         * modules/exitfail (Makefile.am): Likewise.
66359         * modules/fcntl-safer (Makefile.am): Likewise.
66360         * modules/fcntl (Makefile.am): Likewise.
66361         * modules/file-type (Makefile.am): Likewise.
66362         * modules/fileblocks (Makefile.am): Likewise.
66363         * modules/filemode (Makefile.am): Likewise.
66364         * modules/filenamecat (Makefile.am): Likewise.
66365         * modules/fnmatch (Makefile.am): Likewise.
66366         * modules/fopen-safer (Makefile.am): Likewise.
66367         * modules/fpending (Makefile.am): Likewise.
66368         * modules/fprintftime (Makefile.am): Likewise.
66369         * modules/free (Makefile.am): Likewise.
66370         * modules/fsusage (Makefile.am): Likewise.
66371         * modules/ftruncate (Makefile.am): Likewise.
66372         * modules/fts (Makefile.am): Likewise.
66373         * modules/gc-arcfour (Makefile.am): Likewise.
66374         * modules/gc-des (Makefile.am): Likewise.
66375         * modules/gc-hmac-md5 (Makefile.am): Likewise.
66376         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
66377         * modules/gc-md4 (Makefile.am): Likewise.
66378         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66379         * modules/gc-sha1 (Makefile.am): Likewise.
66380         * modules/gc (Makefile.am): Likewise.
66381         * modules/getaddrinfo (Makefile.am): Likewise.
66382         * modules/getcwd (Makefile.am): Likewise.
66383         * modules/getdelim (Makefile.am): Likewise.
66384         * modules/getdomainname (Makefile.am): Likewise.
66385         * modules/getgroups (Makefile.am): Likewise.
66386         * modules/gethostname (Makefile.am): Likewise.
66387         * modules/gethrxtime (Makefile.am): Likewise.
66388         * modules/getline (Makefile.am): Likewise.
66389         * modules/getloadavg (Makefile.am): Likewise.
66390         * modules/getlogin_r (Makefile.am): Likewise.
66391         * modules/getndelim2 (Makefile.am): Likewise.
66392         * modules/getopt (Makefile.am): Likewise.
66393         * modules/getpagesize (Makefile.am): Likewise.
66394         * modules/getpass-gnu (Makefile.am): Likewise.
66395         * modules/getpass (Makefile.am): Likewise.
66396         * modules/getsubopt (Makefile.am): Likewise.
66397         * modules/gettime (Makefile.am): Likewise.
66398         * modules/gettimeofday (Makefile.am): Likewise.
66399         * modules/getugroups (Makefile.am): Likewise.
66400         * modules/getusershell (Makefile.am): Likewise.
66401         * modules/glob (Makefile.am): Likewise.
66402         * modules/group-member (Makefile.am): Likewise.
66403         * modules/hard-locale (Makefile.am): Likewise.
66404         * modules/hash (Makefile.am): Likewise.
66405         * modules/hmac-md5 (Makefile.am): Likewise.
66406         * modules/hmac-sha1 (Makefile.am): Likewise.
66407         * modules/human (Makefile.am): Likewise.
66408         * modules/idcache (Makefile.am): Likewise.
66409         * modules/imaxabs (Makefile.am): Likewise.
66410         * modules/imaxdiv (Makefile.am): Likewise.
66411         * modules/inet_ntop (Makefile.am): Likewise.
66412         * modules/inet_pton (Makefile.am): Likewise.
66413         * modules/intprops (Makefile.am): Likewise.
66414         * modules/inttostr (Makefile.am): Likewise.
66415         * modules/inttypes (Makefile.am): Likewise.
66416         * modules/isapipe (Makefile.am): Likewise.
66417         * modules/javaversion (Makefile.am): Likewise.
66418         * modules/lchmod (Makefile.am): Likewise.
66419         * modules/lchown (Makefile.am): Likewise.
66420         * modules/localcharset (Makefile.am): Likewise.
66421         * modules/long-options (Makefile.am): Likewise.
66422         * modules/lstat (Makefile.am): Likewise.
66423         * modules/malloc (Makefile.am): Likewise.
66424         * modules/mathl (Makefile.am): Likewise.
66425         * modules/mbchar (Makefile.am): Likewise.
66426         * modules/md2 (Makefile.am): Likewise.
66427         * modules/md4 (Makefile.am): Likewise.
66428         * modules/md5 (Makefile.am): Likewise.
66429         * modules/memcasecmp (Makefile.am): Likewise.
66430         * modules/memchr (Makefile.am): Likewise.
66431         * modules/memcmp (Makefile.am): Likewise.
66432         * modules/memcoll (Makefile.am): Likewise.
66433         * modules/memcpy (Makefile.am): Likewise.
66434         * modules/memmem (Makefile.am): Likewise.
66435         * modules/memmove (Makefile.am): Likewise.
66436         * modules/mempcpy (Makefile.am): Likewise.
66437         * modules/memrchr (Makefile.am): Likewise.
66438         * modules/memset (Makefile.am): Likewise.
66439         * modules/memxor (Makefile.am): Likewise.
66440         * modules/mkancesdirs (Makefile.am): Likewise.
66441         * modules/mkdir-p (Makefile.am): Likewise.
66442         * modules/mkdir (Makefile.am): Likewise.
66443         * modules/mkdtemp (Makefile.am): Likewise.
66444         * modules/mkstemp (Makefile.am): Likewise.
66445         * modules/mktime (Makefile.am): Likewise.
66446         * modules/modechange (Makefile.am): Likewise.
66447         * modules/mountlist (Makefile.am): Likewise.
66448         * modules/nanosleep (Makefile.am): Likewise.
66449         * modules/obstack (Makefile.am): Likewise.
66450         * modules/openat (Makefile.am): Likewise.
66451         * modules/pagealign_alloc (Makefile.am): Likewise.
66452         * modules/pathmax (Makefile.am): Likewise.
66453         * modules/physmem (Makefile.am): Likewise.
66454         * modules/poll (Makefile.am): Likewise.
66455         * modules/posixtm (Makefile.am): Likewise.
66456         * modules/posixver (Makefile.am): Likewise.
66457         * modules/putenv (Makefile.am): Likewise.
66458         * modules/quote (Makefile.am): Likewise.
66459         * modules/quotearg (Makefile.am): Likewise.
66460         * modules/raise (Makefile.am): Likewise.
66461         * modules/read-file (Makefile.am): Likewise.
66462         * modules/readline (Makefile.am): Likewise.
66463         * modules/readlink (Makefile.am): Likewise.
66464         * modules/readtokens (Makefile.am): Likewise.
66465         * modules/readutmp (Makefile.am): Likewise.
66466         * modules/realloc (Makefile.am): Likewise.
66467         * modules/regex (Makefile.am): Likewise.
66468         * modules/rename-dest-slash (Makefile.am): Likewise.
66469         * modules/rename (Makefile.am): Likewise.
66470         * modules/rijndael (Makefile.am): Likewise.
66471         * modules/rmdir (Makefile.am): Likewise.
66472         * modules/rpmatch (Makefile.am): Likewise.
66473         * modules/safe-read (Makefile.am): Likewise.
66474         * modules/safe-write (Makefile.am): Likewise.
66475         * modules/same-inode (Makefile.am): Likewise.
66476         * modules/same (Makefile.am): Likewise.
66477         * modules/save-cwd (Makefile.am): Likewise.
66478         * modules/savedir (Makefile.am): Likewise.
66479         * modules/setenv (Makefile.am): Likewise.
66480         * modules/settime (Makefile.am): Likewise.
66481         * modules/sha1 (Makefile.am): Likewise.
66482         * modules/sig2str (Makefile.am): Likewise.
66483         * modules/snprintf (Makefile.am): Likewise.
66484         * modules/stat-macros (Makefile.am): Likewise.
66485         * modules/stat-time (Makefile.am): Likewise.
66486         * modules/stdbool (Makefile.am): Likewise.
66487         * modules/stdint (Makefile.am): Likewise.
66488         * modules/stdlib-safer (Makefile.am): Likewise.
66489         * modules/stpcpy (Makefile.am): Likewise.
66490         * modules/stpncpy (Makefile.am): Likewise.
66491         * modules/strcase (Makefile.am): Likewise.
66492         * modules/strcasestr (Makefile.am): Likewise.
66493         * modules/strchrnul (Makefile.am): Likewise.
66494         * modules/strcspn (Makefile.am): Likewise.
66495         * modules/strdup (Makefile.am): Likewise.
66496         * modules/strerror (Makefile.am): Likewise.
66497         * modules/strftime (Makefile.am): Likewise.
66498         * modules/strndup (Makefile.am): Likewise.
66499         * modules/strnlen (Makefile.am): Likewise.
66500         * modules/strpbrk (Makefile.am): Likewise.
66501         * modules/strsep (Makefile.am): Likewise.
66502         * modules/strstr (Makefile.am): Likewise.
66503         * modules/strtod (Makefile.am): Likewise.
66504         * modules/strtoimax (Makefile.am): Likewise.
66505         * modules/strtok_r (Makefile.am): Likewise.
66506         * modules/strtol (Makefile.am): Likewise.
66507         * modules/strtoll (Makefile.am): Likewise.
66508         * modules/strtoul (Makefile.am): Likewise.
66509         * modules/strtoull (Makefile.am): Likewise.
66510         * modules/strtoumax (Makefile.am): Likewise.
66511         * modules/strverscmp (Makefile.am): Likewise.
66512         * modules/sys_socket (Makefile.am): Likewise.
66513         * modules/sys_stat (Makefile.am): Likewise.
66514         * modules/sysexits (Makefile.am): Likewise.
66515         * modules/time_r (Makefile.am): Likewise.
66516         * modules/timegm (Makefile.am): Likewise.
66517         * modules/timespec (Makefile.am): Likewise.
66518         * modules/tmpfile-safer (Makefile.am): Likewise.
66519         * modules/trim (Makefile.am): Likewise.
66520         * modules/unistd-safer (Makefile.am): Likewise.
66521         * modules/unlinkdir (Makefile.am): Likewise.
66522         * modules/unlocked-io (Makefile.am): Likewise.
66523         * modules/userspec (Makefile.am): Likewise.
66524         * modules/utime (Makefile.am): Likewise.
66525         * modules/utimecmp (Makefile.am): Likewise.
66526         * modules/utimens (Makefile.am): Likewise.
66527         * modules/vasnprintf (Makefile.am): Likewise.
66528         * modules/vasprintf (Makefile.am): Likewise.
66529         * modules/vsnprintf (Makefile.am): Likewise.
66530         * modules/xalloc (Makefile.am): Likewise.
66531         * modules/xgetcwd (Makefile.am): Likewise.
66532         * modules/xnanosleep (Makefile.am): Likewise.
66533         * modules/xreadlink (Makefile.am): Likewise.
66534         * modules/xstrtod (Makefile.am): Likewise.
66535         * modules/xstrtol (Makefile.am): Likewise.
66536         * modules/xstrtold (Makefile.am): Likewise.
66537         * modules/yesno (Makefile.am): Likewise.
66538         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66539
66540 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66541
66542         * modules/error (Makefile.am): Distribute files through
66543         EXTRA_DIST, not lib_SOURCES.
66544
66545 2006-10-12  Eric Blake  <ebb9@byu.net>
66546
66547         * modules/error (Makefile.am): Distribute files in /lib.
66548         * modules/obstack (Makefile.am): Likewise.
66549
66550 2006-10-12  Bruno Haible  <bruno@clisp.org>
66551
66552         * modules/acl (Makefile.am): Distribute all files in lib/ through
66553         EXTRA_DIST.
66554         * modules/arcfour (Makefile.am): Likewise.
66555         * modules/arctwo (Makefile.am): Likewise.
66556         * modules/argmatch (Makefile.am): Likewise.
66557         * modules/argz (Makefile.am): Likewise.
66558         * modules/atexit (Makefile.am): Likewise.
66559         * modules/backupfile (Makefile.am): Likewise.
66560         * modules/c-strtod (Makefile.am): Likewise.
66561         * modules/c-strtold (Makefile.am): Likewise.
66562         * modules/calloc (Makefile.am): Likewise.
66563         * modules/canon-host (Makefile.am): Likewise.
66564         * modules/canonicalize (Makefile.am): Likewise.
66565         * modules/chdir-long (Makefile.am): Likewise.
66566         * modules/chdir-safer (Makefile.am): Likewise.
66567         * modules/check-version (Makefile.am): Likewise.
66568         * modules/chown (Makefile.am): Likewise.
66569         * modules/cloexec (Makefile.am): Likewise.
66570         * modules/close-stream (Makefile.am): Likewise.
66571         * modules/closeout (Makefile.am): Likewise.
66572         * modules/crc (Makefile.am): Likewise.
66573         * modules/cycle-check (Makefile.am): Likewise.
66574         * modules/des (Makefile.am): Likewise.
66575         * modules/dirfd (Makefile.am): Likewise.
66576         * modules/dirname (Makefile.am): Likewise.
66577         * modules/dup2 (Makefile.am): Likewise.
66578         * modules/euidaccess (Makefile.am): Likewise.
66579         * modules/exclude (Makefile.am): Likewise.
66580         * modules/exitfail (Makefile.am): Likewise.
66581         * modules/fcntl-safer (Makefile.am): Likewise.
66582         * modules/file-type (Makefile.am): Likewise.
66583         * modules/fileblocks (Makefile.am): Likewise.
66584         * modules/filemode (Makefile.am): Likewise.
66585         * modules/filenamecat (Makefile.am): Likewise.
66586         * modules/fnmatch (Makefile.am): Likewise.
66587         * modules/fopen-safer (Makefile.am): Likewise.
66588         * modules/fpending (Makefile.am): Likewise.
66589         * modules/fprintftime (Makefile.am): Likewise.
66590         * modules/free (Makefile.am): Likewise.
66591         * modules/fsusage (Makefile.am): Likewise.
66592         * modules/ftruncate (Makefile.am): Likewise.
66593         * modules/fts (Makefile.am): Likewise.
66594         * modules/gc (Makefile.am): Likewise.
66595         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66596         * modules/getaddrinfo (Makefile.am): Likewise.
66597         * modules/getcwd (Makefile.am): Likewise.
66598         * modules/getdelim (Makefile.am): Likewise.
66599         * modules/getdomainname (Makefile.am): Likewise.
66600         * modules/getgroups (Makefile.am): Likewise.
66601         * modules/gethostname (Makefile.am): Likewise.
66602         * modules/gethrxtime (Makefile.am): Likewise.
66603         * modules/getline (Makefile.am): Likewise.
66604         * modules/getloadavg (Makefile.am): Likewise.
66605         * modules/getlogin_r (Makefile.am): Likewise.
66606         * modules/getopt (Makefile.am): Likewise.
66607         * modules/getpass (Makefile.am): Likewise.
66608         * modules/getpass-gnu (Makefile.am): Likewise.
66609         * modules/getsubopt (Makefile.am): Likewise.
66610         * modules/gettime (Makefile.am): Likewise.
66611         * modules/gettimeofday (Makefile.am): Likewise.
66612         * modules/getugroups (Makefile.am): Likewise.
66613         * modules/getusershell (Makefile.am): Likewise.
66614         * modules/glob (Makefile.am): Likewise.
66615         * modules/group-member (Makefile.am): Likewise.
66616         * modules/hard-locale (Makefile.am): Likewise.
66617         * modules/hash (Makefile.am): Likewise.
66618         * modules/hmac-md5 (Makefile.am): Likewise.
66619         * modules/hmac-sha1 (Makefile.am): Likewise.
66620         * modules/human (Makefile.am): Likewise.
66621         * modules/idcache (Makefile.am): Likewise.
66622         * modules/imaxabs (Makefile.am): Likewise.
66623         * modules/imaxdiv (Makefile.am): Likewise.
66624         * modules/inet_ntop (Makefile.am): Likewise.
66625         * modules/inet_pton (Makefile.am): Likewise.
66626         * modules/inttostr (Makefile.am): Likewise.
66627         * modules/isapipe (Makefile.am): Likewise.
66628         * modules/lchown (Makefile.am): Likewise.
66629         * modules/long-options (Makefile.am): Likewise.
66630         * modules/lstat (Makefile.am): Likewise.
66631         * modules/malloc (Makefile.am): Likewise.
66632         * modules/mathl (Makefile.am): Likewise.
66633         * modules/mbchar (Makefile.am): Likewise.
66634         * modules/md2 (Makefile.am): Likewise.
66635         * modules/md4 (Makefile.am): Likewise.
66636         * modules/md5 (Makefile.am): Likewise.
66637         * modules/memcasecmp (Makefile.am): Likewise.
66638         * modules/memchr (Makefile.am): Likewise.
66639         * modules/memcmp (Makefile.am): Likewise.
66640         * modules/memcoll (Makefile.am): Likewise.
66641         * modules/memcpy (Makefile.am): Likewise.
66642         * modules/memmem (Makefile.am): Likewise.
66643         * modules/memmove (Makefile.am): Likewise.
66644         * modules/mempcpy (Makefile.am): Likewise.
66645         * modules/memrchr (Makefile.am): Likewise.
66646         * modules/memset (Makefile.am): Likewise.
66647         * modules/memxor (Makefile.am): Likewise.
66648         * modules/mkancesdirs (Makefile.am): Likewise.
66649         * modules/mkdir (Makefile.am): Likewise.
66650         * modules/mkdir-p (Makefile.am): Likewise.
66651         * modules/mkdtemp (Makefile.am): Likewise.
66652         * modules/mkstemp (Makefile.am): Likewise.
66653         * modules/mktime (Makefile.am): Likewise.
66654         * modules/modechange (Makefile.am): Likewise.
66655         * modules/mountlist (Makefile.am): Likewise.
66656         * modules/nanosleep (Makefile.am): Likewise.
66657         * modules/openat (Makefile.am): Likewise.
66658         * modules/pagealign_alloc (Makefile.am): Likewise.
66659         * modules/physmem (Makefile.am): Likewise.
66660         * modules/poll (Makefile.am): Likewise.
66661         * modules/posixtm (Makefile.am): Likewise.
66662         * modules/posixver (Makefile.am): Likewise.
66663         * modules/putenv (Makefile.am): Likewise.
66664         * modules/quote (Makefile.am): Likewise.
66665         * modules/quotearg (Makefile.am): Likewise.
66666         * modules/raise (Makefile.am): Likewise.
66667         * modules/read-file (Makefile.am): Likewise.
66668         * modules/readline (Makefile.am): Likewise.
66669         * modules/readlink (Makefile.am): Likewise.
66670         * modules/readtokens (Makefile.am): Likewise.
66671         * modules/readutmp (Makefile.am): Likewise.
66672         * modules/realloc (Makefile.am): Likewise.
66673         * modules/regex (Makefile.am): Likewise.
66674         * modules/rename (Makefile.am): Likewise.
66675         * modules/rename-dest-slash (Makefile.am): Likewise.
66676         * modules/rijndael (Makefile.am): Likewise.
66677         * modules/rmdir (Makefile.am): Likewise.
66678         * modules/rpmatch (Makefile.am): Likewise.
66679         * modules/safe-read (Makefile.am): Likewise.
66680         * modules/safe-write (Makefile.am): Likewise.
66681         * modules/same (Makefile.am): Likewise.
66682         * modules/save-cwd (Makefile.am): Likewise.
66683         * modules/savedir (Makefile.am): Likewise.
66684         * modules/setenv (Makefile.am): Likewise.
66685         * modules/settime (Makefile.am): Likewise.
66686         * modules/sha1 (Makefile.am): Likewise.
66687         * modules/sig2str (Makefile.am): Likewise.
66688         * modules/snprintf (Makefile.am): Likewise.
66689         * modules/stdlib-safer (Makefile.am): Likewise.
66690         * modules/stpcpy (Makefile.am): Likewise.
66691         * modules/stpncpy (Makefile.am): Likewise.
66692         * modules/strcase (Makefile.am): Likewise.
66693         * modules/strcasestr (Makefile.am): Likewise.
66694         * modules/strchrnul (Makefile.am): Likewise.
66695         * modules/strcspn (Makefile.am): Likewise.
66696         * modules/strdup (Makefile.am): Likewise.
66697         * modules/strerror (Makefile.am): Likewise.
66698         * modules/strftime (Makefile.am): Likewise.
66699         * modules/strndup (Makefile.am): Likewise.
66700         * modules/strnlen (Makefile.am): Likewise.
66701         * modules/strpbrk (Makefile.am): Likewise.
66702         * modules/strsep (Makefile.am): Likewise.
66703         * modules/strstr (Makefile.am): Likewise.
66704         * modules/strtod (Makefile.am): Likewise.
66705         * modules/strtoimax (Makefile.am): Likewise.
66706         * modules/strtok_r (Makefile.am): Likewise.
66707         * modules/strtol (Makefile.am): Likewise.
66708         * modules/strtoll (Makefile.am): Likewise.
66709         * modules/strtoul (Makefile.am): Likewise.
66710         * modules/strtoull (Makefile.am): Likewise.
66711         * modules/strtoumax (Makefile.am): Likewise.
66712         * modules/strverscmp (Makefile.am): Likewise.
66713         * modules/time_r (Makefile.am): Likewise.
66714         * modules/timegm (Makefile.am): Likewise.
66715         * modules/tmpfile-safer (Makefile.am): Likewise.
66716         * modules/unistd-safer (Makefile.am): Likewise.
66717         * modules/unlinkdir (Makefile.am): Likewise.
66718         * modules/userspec (Makefile.am): Likewise.
66719         * modules/utime (Makefile.am): Likewise.
66720         * modules/utimecmp (Makefile.am): Likewise.
66721         * modules/utimens (Makefile.am): Likewise.
66722         * modules/vasnprintf (Makefile.am): Likewise.
66723         * modules/vasprintf (Makefile.am): Likewise.
66724         * modules/vsnprintf (Makefile.am): Likewise.
66725         * modules/xalloc (Makefile.am): Likewise.
66726         * modules/xgetcwd (Makefile.am): Likewise.
66727         * modules/xnanosleep (Makefile.am): Likewise.
66728         * modules/xreadlink (Makefile.am): Likewise.
66729         * modules/xstrtod (Makefile.am): Likewise.
66730         * modules/xstrtol (Makefile.am): Likewise.
66731         * modules/xstrtold (Makefile.am): Likewise.
66732         * modules/yesno (Makefile.am): Likewise.
66733
66734 2006-10-12  Jim Meyering  <jim@meyering.net>
66735
66736         * m4/getloadavg.m4: Revert the change below.
66737
66738         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66739         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66740         fail with a symlink, which is what coreutils' ./bootstrap now
66741         creates by default.
66742
66743 2006-10-12  Bruno Haible  <bruno@clisp.org>
66744
66745         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66746         mingw.
66747         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66748         MSVC and mingw explicitly.
66749
66750 2006-10-11  Simon Josefsson  <jas@extundo.com>
66751             Bruno Haible  <bruno@clisp.org>
66752
66753         Add support for multiple gnulib-tool invocations in the scope of a
66754         single configure.ac file.
66755         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66756         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66757         with the same contents as the _LIBADD variable.
66758         (func_emit_initmacro_start, func_emit_initmacro_end,
66759         func_emit_initmacro_done): New functions.
66760         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66761         gl_LIBOBJS and gl_LTLIBOBJS.
66762
66763 2006-10-11  Bruno Haible  <bruno@clisp.org>
66764
66765         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66766         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66767         autoreconf. Instead, invoke autopoint explicitly but move back the
66768         *.m4 files from gnulib.
66769
66770 2006-10-11  Bruno Haible  <bruno@clisp.org>
66771
66772         * gnulib-tool (func_usage): Make module names after --create-testdir
66773         optional.
66774         (func_create_testdir): If no module was specified, use nearly all
66775         modules.
66776
66777 2006-10-12  Jim Meyering  <jim@meyering.net>
66778
66779         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66780         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66781         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66782         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66783         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66784         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66785         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66786         (fts_set_stat_required): New function.
66787         (fts_open): Defer the calls to fts_stat, if possible or requested.
66788         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66789         into fts_stat itself.
66790         (fts_read): Perform any required (deferred) fts_stat call.
66791         (fts_build): Likewise, for the directory we're about to open and read.
66792         In the readdir loop, carefully decide whether each entry will require
66793         an eventual call to fts_stat, using dirent.d_type info if available.
66794         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
66795         a command line argument into this function.  Update all callers.
66796         Map a return value of FTS_DOT to FTS_D for a command line argument.
66797         * modules/fts (Depends-on): Add d-type.  Alphabetize.
66798         Thanks to Miklos Szeredi for his tenacity and for the initial
66799         bug report about "find" failing on a FUSE-based file system.
66800
66801         * lib/fts.c (fts_open): Use consistent indentation.
66802
66803 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66804
66805         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
66806         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
66807         reported by Jim Meyering.  All uses of cache variables renamed
66808         to match Autoconf's.
66809         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
66810         the other one.
66811
66812         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
66813         Fix misspelling in diagnostic.
66814
66815 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66816
66817         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
66818         defined.  Problem reported by Matthew Woehlke.
66819
66820         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
66821         Add support for Tandem NonStop R series.
66822         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
66823         Use new macro.
66824
66825         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
66826         (has_trailing_slash): Omit size arg; all callers changed.
66827         Omit 'inline', since it doesn't help performance and we'd
66828         need to configure it.
66829         Don't count //, ///, etc. as having a trailing slash.
66830         As a side effect, this removes a C99ism reported by Matthew Woehlke.
66831         (rpl_rename_dest_slash): On failure, use rename's errno rather
66832         than (in some cases) an incorrect or junk errno.
66833         Simplify code by removing need to compute length; this does
66834         cause it to make two passes instead of one over the file name,
66835         but it's worth it.
66836
66837         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
66838         change, since Autoconf's version may no longer be appropriate now
66839         that we are using CVS Autoconf's version.  Add support for Tandem.
66840
66841 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66842             Bruno Haible  <bruno@clisp.org>
66843
66844         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
66845         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
66846         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
66847         gl_AC_TYPE_LONG_LONG.
66848
66849         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
66850         instead of HAVE_LONG_LONG.
66851         * lib/printf-args.c (printf_fetchargs): Likewise.
66852         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
66853         * lib/vasnprintf.c (VASNPRINTF): Likewise.
66854         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
66855         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
66856         gl_AC_TYPE_LONG_LONG.
66857
66858 2006-10-11  Bruno Haible  <bruno@clisp.org>
66859
66860         * m4/longlong.m4: Add comments.
66861         * m4/ulonglong.m4: Likewise.
66862
66863 2006-10-10  Bruno Haible  <bruno@clisp.org>
66864
66865         Make it possible to #define stpcpy, strdup to aliases.
66866         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
66867         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
66868
66869 2006-10-10  Bruno Haible  <bruno@clisp.org>
66870
66871         Make it possible to #define gcd to an alias.
66872         * lib/gcd.c: Include config.h.
66873
66874 2006-10-10  Bruno Haible  <bruno@clisp.org>
66875
66876         Make it possible to #define c_isascii to an alias.
66877         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
66878         defined. Undefine the macros before defining them, to avoid gcc
66879         warnings.
66880         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
66881         define NO_C_CTYPE_MACROS early.
66882
66883 2006-10-10  Bruno Haible  <bruno@clisp.org>
66884
66885         Make it possible to #define set_program_name to an alias.
66886         * lib/progname.c: Don't undefine set_program_name; instead, undefine
66887         ENABLE_RELOCATABLE early.
66888
66889 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66890
66891         Port to Tandem NSK OSS, which has 64-bit signed int but at most
66892         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
66893         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
66894         More generally, don't assume that 64-bit signed int is available
66895         if unsigned int is, and vice versa.
66896         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
66897         unsigned symbols, not on their signed counterparts.
66898         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
66899         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
66900         (UINT64_C, UINTMAX_C):
66901         Likewise.
66902         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
66903         unsigned counterparts.
66904         (Have_long_long, Unsigned): New macros.
66905         (Int): Renamed from INT.
66906         (strtoimax): Use the new macros.
66907         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
66908         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
66909         * modules/inttypes (inttypes.h): Substitute
66910         HAVE_UNSIGNED_LONG_LONG_INT.
66911         * modules/stdint (stdint.h): Likewise.
66912         (Files): Add m4/ulonglong.m4.
66913
66914 2006-10-10  Bruno Haible  <bruno@clisp.org>
66915
66916         Fix a gcc -Wshadow warning.
66917         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
66918         to 'bucket'.
66919         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
66920         gl_linked_indexof_from_to): Likewise.
66921         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
66922         Likewise.
66923         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
66924         Likewise.
66925         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
66926         Reported by Eric Blake.
66927
66928 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
66929
66930         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
66931         for NetBSD.  Problem reported by Bruno Haible.
66932
66933 2006-10-09  Jim Meyering  <jim@meyering.net>
66934
66935         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
66936         Patch from Bruno Haible.
66937
66938 2006-10-09  Jim Meyering  <jim@meyering.net>
66939
66940         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
66941         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
66942         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
66943
66944 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66945
66946         Don't include <config.h> twice; this doesn't work in some cases,
66947         e.g., when config.h has "#define intmax_t long long int" and
66948         we include <config.h>, <inttypes.h>, <config.h> in that order.
66949         Problem reported by Matthew Woehlke in:
66950         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
66951         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
66952         * lib/fts-cycle.c: Don't include config.h.
66953         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
66954         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
66955         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
66956         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
66957         inttypes.h.
66958         * lib/xstrtoumax.c: Likewise.
66959         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
66960         __strtol and the like, so that this module is more like its siblings.
66961         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
66962         Remove; no longer needed now that we assume gnulib inttypes.h.
66963
66964 2006-10-08  Bruno Haible  <bruno@clisp.org>
66965
66966         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
66967         option.
66968
66969 2006-10-07  Jim Meyering  <jim@meyering.net>
66970
66971         * modules/inttypes (inttypes.h): Revert what seems to have been
66972         an inadvertent part of today's change: use "|", not "/" in the
66973         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
66974
66975 2006-10-07  Bruno Haible  <bruno@clisp.org>
66976
66977         * modules/sublist: New file.
66978
66979 2006-10-07  Bruno Haible  <bruno@clisp.org>
66980
66981         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
66982         * modules/argz (argz.h): Likewise.
66983         * modules/arpa_inet (arpa/inet.h): Likewise.
66984         * modules/byteswap (byteswap.h): Likewise.
66985         * modules/configmake (configmake.h): Likewise.
66986         * modules/fcntl (fcntl.h): Likewise.
66987         * modules/fnmatch (fnmatch.h): Likewise.
66988         * modules/getopt (getopt.h): Likewise.
66989         * modules/glob (glob.h): Likewise.
66990         * modules/inttypes (inttypes.h): Likewise.
66991         * modules/netinet_in (netinet/in.h): Likewise.
66992         * modules/poll (poll.h): Likewise.
66993         * modules/stdbool (stdbool.h): Likewise.
66994         * modules/stdint (stdint.h): Likewise.
66995         * modules/sys_select (sys/select.h): Likewise.
66996         * modules/sys_socket (sys/socket.h): Likewise.
66997         * modules/sys_stat (sys/stat.h): Likewise.
66998         * modules/sysexits (sysexits.h): Likewise.
66999         * modules/unistd (unistd.h): Likewise.
67000         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67001         Add a "DO NOT EDIT" comment to the generated file.
67002         (func_import): Likewise for gnulib-comp.m4.
67003
67004 2006-10-07  Bruno Haible  <bruno@clisp.org>
67005
67006         * lib/gl_sublist.h: New file.
67007         * lib/gl_sublist.c: New file.
67008
67009 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67010
67011         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
67012         name (relative to the original working directory) and the file
67013         name component (relative to the temporary working directory).  All
67014         callers changed.
67015         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
67016         * lib/mkdir-p.c (make_dir_parents): Likewise.
67017         * lib/mkdir-p.h (make_dir_parents): Likewise.
67018
67019 2006-10-06  Eric Blake  <ebb9@byu.net>
67020
67021         Define several macros for use by the clean-temp module.
67022         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
67023         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
67024         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
67025
67026         * lib/clean-temp.h (close_stream_temp): New declaration.
67027         * lib/clean-temp.c (includes): Pull in headers according to what
67028         other modules are in use.
67029         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
67030
67031 2006-10-06  Bruno Haible  <bruno@clisp.org>
67032
67033         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
67034         instead of fopen, fwriteerror.
67035
67036 2006-10-06  Bruno Haible  <bruno@clisp.org>
67037
67038         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
67039         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
67040         int.
67041         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
67042         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
67043         Return an error indicator.
67044         Suggested by Eric Blake.
67045
67046 2006-10-06  Bruno Haible  <bruno@clisp.org>
67047
67048         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
67049         Reported by Eric Blake.
67050
67051 2006-10-06  Bruno Haible  <bruno@clisp.org>
67052
67053         * modules/closeout (Description): Mention stderr too.
67054
67055 2006-10-06  Bruno Haible  <bruno@clisp.org>
67056         and Paul Eggert  <eggert@cs.ucla.edu>
67057
67058         * lib/closeout.c (close_stdout): Also close stderr.
67059         * lib/closeout.h: Update comment.
67060
67061 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67062
67063         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
67064         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
67065         * lib/dirchownmod.c: Include lchown.h.
67066         * lib/lchown.c: Don't include files that lchown.h now includes.
67067         Don't declare chown, since lchown.h now does that.
67068         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
67069         (lchown): Define to rpl_chown if lchown is declared but
67070         does not exist.  Declare using a prototype if lchown is not
67071         declared.  Add a copyright notice.
67072         * lib/mkstemp.h: Include <unistd.h>.
67073         * lib/openat.c: Include lchown.h.
67074
67075         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
67076         we now test for that separately.
67077         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
67078         rather than O_NOFOLLOW, when testing whether it's possible to
67079         avoid a race condition reliably.
67080         * lib/savewd.c (savewd_chdir): Likewise.
67081
67082         Remove macros that are no longer needed now that stdint.h is
67083         reliable.
67084         * lib/fsusage.c (UINTMAX_MAX): Remove.
67085         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
67086         * lib/utimecmp.c (SIZE_MAX): Remove.
67087
67088         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
67089
67090         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
67091         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
67092         O_NOATIME works.
67093
67094 2006-10-05  Bruno Haible  <bruno@clisp.org>
67095
67096         * lib/gl_list.h (gl_sortedlist_search_from_to,
67097         gl_sortedlist_indexof_from_to): New declarations.
67098         (gl_list_implementation): New fields sortedlist_search_from_to,
67099         sortedlist_indexof_from_to.
67100         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
67101         inline functions.
67102         * lib/gl_list.c (gl_sortedlist_search_from_to,
67103         gl_sortedlist_indexof_from_to): New functions.
67104         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
67105         function.
67106         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
67107         (gl_array_sortedlist_search_from_to): New function.
67108         (gl_array_list_implementation): Update.
67109         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
67110         function.
67111         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
67112         (gl_carray_sortedlist_search_from_to): New function.
67113         (gl_carray_list_implementation): Update.
67114         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
67115         gl_linked_sortedlist_indexof_from_to): New functions.
67116         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67117         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67118         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
67119         gl_tree_sortedlist_indexof_from_to): New functions.
67120         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67121         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67122         Update.
67123         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67124         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
67125         Update.
67126
67127 2006-10-05  Bruno Haible  <bruno@clisp.org>
67128
67129         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
67130         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
67131         (struct gl_list_implementation): Add fields search_from_to,
67132         indexof_from_to. Remove fields search, indexof.
67133         (gl_list_search): Use the search_from_to method.
67134         (gl_list_search_from, gl_list_search_from_to): New functions.
67135         (gl_list_indexof): Use the indexof_from_to method.
67136         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67137         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
67138         (gl_list_search_from, gl_list_search_from_to): New functions.
67139         (gl_list_indexof): Use the indexof_from_to method.
67140         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67141         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
67142         gl_array_indexof. Add start_index, end_index arguments.
67143         (gl_array_search_from_to): Renamed from gl_array_search. Add
67144         start_index, end_index arguments.
67145         (gl_array_remove, gl_array_list_implementation): Update.
67146         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
67147         gl_carray_indexof. Add start_index, end_index arguments.
67148         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
67149         start_index, end_index arguments.
67150         (gl_carray_remove, gl_carray_list_implementation): Update.
67151         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
67152         gl_linked_search. Add start_index, end_index arguments.
67153         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
67154         start_index, end_index arguments.
67155         (gl_linked_remove): Update.
67156         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67157         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67158         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
67159         field to 'size_t'.
67160         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
67161         gl_tree_search. Add start_index, end_index arguments.
67162         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67163         start_index, end_index arguments.
67164         (gl_tree_remove): Update.
67165         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67166         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67167         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
67168         function.
67169         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
67170         gl_tree_search. Add start_index, end_index arguments.
67171         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67172         start_index, end_index arguments.
67173         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67174         Update.
67175         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
67176
67177 2006-10-05  Bruno Haible  <bruno@clisp.org>
67178
67179         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
67180
67181         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
67182         fwriteerror_temp): New declarations.
67183         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
67184         (descriptors): New variable.
67185         (cleanup): First, close the descriptors.
67186         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
67187         fclose_temp, fwriteerror_temp): New functions.
67188
67189 2006-10-04  Jim Meyering  <jim@meyering.net>
67190
67191         * lib/fts.c (fts_open): Tiny comment change.
67192
67193 2006-10-04  Bruno Haible  <bruno@clisp.org>
67194
67195         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
67196         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
67197         gl_LOCK_BODY.
67198         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
67199         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
67200         gl_LOCK_EARLY_BODY.
67201         (gl_LOCK): Require gl_LOCK_BODY.
67202
67203 2006-10-04  Bruno Haible  <bruno@clisp.org>
67204
67205         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
67206         (gl_oset_search_atleast): New declaration.
67207         (struct gl_oset_implementation): Add field 'search_atleast'.
67208         (gl_oset_search_atleast): New inline function.
67209         * lib/gl_oset.c (gl_oset_search_atleast): New function.
67210         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
67211         (gl_array_oset_implementation): Update.
67212         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
67213         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
67214         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
67215
67216 2006-10-04  Bruno Haible  <bruno@clisp.org>
67217
67218         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
67219
67220 2006-10-03  Bruno Haible  <bruno@clisp.org>
67221
67222         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
67223         from gl_avltreehash_list_implementation.
67224
67225 2006-10-03  Bruno Haible  <bruno@clisp.org>
67226
67227         * lib/gl_oset.c (gl_oset_add): Fix return type.
67228
67229 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
67230
67231         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
67232
67233 2006-10-02  Eric Blake  <ebb9@byu.net>
67234
67235         * modules/strnlen (Depends-on): Add extensions.
67236
67237 2006-10-02  Eric Blake  <ebb9@byu.net>
67238
67239         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
67240         definition in 2.60+.
67241
67242 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
67243
67244         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
67245         checks.
67246
67247 2006-10-02  Bruno Haible  <bruno@clisp.org>
67248
67249         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
67250         to the AUTOMAKE_OPTIONS.
67251         Reported by Jim Meyering.
67252
67253 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67254
67255         Work around bug in Solaris 10 /proc file system:
67256         /proc/self/fd/NNN/.. isn't the parent directory of
67257         the directory whose file descriptor is NNN.  This needs to
67258         be worked around at run time, not compile time, since a
67259         program might be built on Solaris 8, where things work, and
67260         run on Solaris 10.
67261         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
67262         to use the following interface instead:
67263         (OPENAT_BUFFER_SIZE): New macro.
67264         (openat_proc_name): New function.
67265         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
67266         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
67267         Likewise.
67268         * lib/openat-proc.c: New file.
67269         * modules/openat (Files): Add lib/openat-proc.c.
67270         (Depends-on): Add same-inode, stdbool.
67271         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
67272
67273 2006-09-29  Bruno Haible  <bruno@clisp.org>
67274
67275         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
67276         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
67277         argument. Set stdout_closed before testing for ferror, not after.
67278         (fwriteerror, fwriteerror_no_ebadf): New functions.
67279
67280 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67281
67282         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
67283
67284 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
67285
67286         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
67287         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
67288
67289 2006-09-28  Jim Meyering  <jim@meyering.net>
67290
67291         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
67292         Include <unistd.h>.
67293
67294 2006-09-28  Bruno Haible  <bruno@clisp.org>
67295
67296         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
67297         * modules/linkedhash-list (Depends-on): Likewise.
67298         * modules/rbtreehash-list (Depends-on): Likewise.
67299
67300 2006-09-28  Bruno Haible  <bruno@clisp.org>
67301
67302         * lib/strndup.h: Simplify the redefinition of strndup.
67303         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
67304         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
67305
67306 2006-09-28  Bruno Haible  <bruno@clisp.org>
67307
67308         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
67309         * lib/gl_linkedhash_list.c: Likewise.
67310         * lib/gl_rbtreehash_list.c: Likewise.
67311
67312 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67313
67314         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
67315         getaddrinfo.
67316
67317         * lib/__fpending.h: Don't include <stdio_ext.h> unless
67318         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
67319         it causes <stdio_ext.h> to cause a compile-time error.
67320         Problem reported by Nelson H. F. Beebe.
67321         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
67322         of HAVE_DECL___PENDING.
67323
67324         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
67325         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
67326         declaration.
67327
67328 2006-09-27  Jim Meyering  <jim@meyering.net>
67329
67330         This file could end up with a definition for a function
67331         named __strndup, rather than rpl_strndup on a system with
67332         incomplete weak_alias support.
67333         * lib/strndup.c (strndup): Rename from __strndup.
67334         Remove #defines that used to map __strndup to strndup.
67335         Don't use K&R prototypes.
67336         Remove LIBC-related code, since this file is not sync'd with glibc.
67337         * lib/strndup.h: Revamp, accordingly.
67338         * m4/strndup.m4: Modernize.
67339
67340 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67341
67342         * modules/savewd (Depends-on): Add 'raise'.
67343         * lib/savewd.c: Include <signal.h>, for 'raise'.
67344
67345 2006-09-26  Jim Meyering  <jim@meyering.net>
67346
67347         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
67348         when we detect Darwin 8.7.0's acl_get_file bug.
67349         Rearrange to perform the new (below) run-test while $LIBS
67350         contains any acl-related library.  Set USE_ACL at the end.
67351         (gl_ACL_GET_FILE): New function.
67352
67353 2006-09-26  Eric Blake  <ebb9@byu.net>
67354
67355         * lib/verror.c: Include <config.h> unconditionally.
67356
67357 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
67358
67359         * modules/clock-time (Maintainer): Add self.
67360         * modules/getlogin_r (Depends-on): Add extensions.
67361
67362 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67363
67364         * modules/clock-time: New module.
67365         * modules/nanosleep (Depends-on): Add clock-time.
67366         * modules/gethrxtime (Depends-on): Likewise.
67367         * modules/gettime (Depends-on): Likewise.
67368         * modules/settime (Depends-on): Likewise.
67369
67370         * modules/fts-lgpl: Depend on openat.
67371         * modules/mkancesdirs: Depend on savewd.
67372         * modules/mkdir-p: Likewise.
67373
67374 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67375
67376         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
67377
67378         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
67379         `gl_have_arbitrary_file_name_length_limit' to
67380         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67381         actually works between configure runs.
67382
67383 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67384             Bruno Haible  <bruno@clisp.org>
67385
67386         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67387
67388 2006-09-25  Jim Meyering  <jim@meyering.net>
67389
67390         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67391         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67392
67393 2006-09-25  Eric Blake  <ebb9@byu.net>
67394
67395         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67396         exec's in 2006-09-18 patch when shuffling fds.
67397
67398 2006-09-25  Bruno Haible  <bruno@clisp.org>
67399
67400         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67401         Reported by Jim Meyering.
67402
67403 2006-09-24  Jim Meyering  <jim@meyering.net>
67404
67405         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67406         compare a pointer against a literal "0".  That caused failures with
67407         at least HP-UX's hpcc.
67408
67409 2006-09-22  Simon Josefsson  <jas@extundo.com>
67410
67411         * modules/gc-sha1:
67412         * modules/gc-md4:
67413         * modules/gc-hmac-sha1:
67414         * modules/gc-hmac-md5:
67415         * modules/gc-des:
67416         * modules/gc-arcfour: Distribute more files.
67417
67418 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67419
67420         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67421         (gl_linked_iterator_from_to): Initialize struct completely.
67422         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67423         (gl_tree_iterator_from_to): Likewise
67424         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67425         * lib/gl_array_list.c [lint] (gl_array_iterator)
67426         (gl_array_iterator_from_to): Likewise.
67427         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67428         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67429         (gl_carray_iterator_from_to): Likewise.
67430
67431         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67432         * lib/md4.c (md4_process_block): Remove unused variable.
67433         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67434         parentheses for clarity.
67435
67436 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67437
67438         * modules/bison-i18n (Depends-on): Add gettext.
67439
67440 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67441
67442         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67443         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67444         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67445         also add missing comma that caused broken test.
67446         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67447         stdlib.h, for `abort'.
67448         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67449         variables.
67450         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67451         include unistd.h if present, for `rmdir'.
67452         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67453         variables.
67454         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67455         in the process include standard headers for prototypes.
67456         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67457         gets declared on GNU/Linux.
67458         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67459         unistd.h, for `rmdir'.
67460         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67461
67462         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67463         always true.
67464         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67465
67466         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67467
67468 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67469
67470         * gnulib-tool (func_version): Create output all at once.  This
67471         may help avoid triggering unnecessary SIGPIPEs, and at any
67472         rate it doesn't hurt.
67473
67474 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67475             Bruno Haible  <bruno@clisp.org>
67476
67477         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67478         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67479         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67480
67481         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67482         (gl_FUNC_VASPRINTF): Invoke it.
67483
67484 2006-09-22  Bruno Haible  <bruno@clisp.org>
67485
67486         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67487         getloadavg.c as first argument.
67488
67489 2006-09-22  Bruno Haible  <bruno@clisp.org>
67490
67491         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67492         at the beginning of the gl_INIT macro.
67493         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67494         gl_GETLOADAVG.
67495
67496 2006-09-22  Bruno Haible  <bruno@clisp.org>
67497
67498         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67499         module.
67500         Suggested by Ralf Wildenhues.
67501
67502 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67503
67504         Import this patch from libc:
67505
67506         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67507
67508         * lib/regex_internal.c (re_string_reconstruct): Handle
67509         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67510         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67511         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67512         re_string_context_at.
67513
67514         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67515         now requires it.
67516         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67517         gl_REGEX now does it for us.
67518         (gl_REGEX): Add test taken from
67519         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67520
67521         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67522         Check that large offsets work.  Modernize Autoconf usages.
67523         Prefer "yes" to mean a good thing rather than a bad.
67524         Don't put "#define mkstemp" in config.h, as this might interfere
67525         with standard system headers that "#define mkstemp mkstemp64".
67526
67527         * modules/mkstemp (Depends-on): Add extensions, so that
67528         mkstemp is visible on some platforms.
67529         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67530         (Include): Change to "mkstemp.h" from <stdlib.h>.
67531         (Files): Add mkstemp.h.
67532
67533         * lib/mkstemp.h: New file, since some standard headers
67534         #define mkstemp.
67535         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67536         Include "mkstemp.h".
67537         Make the _LIBC code resemble glibc original more,
67538         e.g., use K&R style.
67539         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67540         (mkstemp): Remove, since mkstemp.h does this for us.
67541         * lib/stdlib--.h: Include mkstemp.h.
67542
67543         Import this patch from libc:
67544
67545         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67546
67547         * lib/tempname.c (__gen_tempname): Change attempts_min
67548         into a macro.  Use preprocessor to decide how to initialize
67549         attempts [Coverity CID 67].
67550
67551 2006-09-20  Bruno Haible  <bruno@clisp.org>
67552
67553         * lib/mkdtemp.c: Import from libc.
67554         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67555                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67556                 attempts_min into a macro.  Use preprocessor to decide how to
67557                 initialize attempts [Coverity CID 67].
67558         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67559                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67560                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67561
67562 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67563
67564         * gnulib-tool (func_exit): New function, to allow to pass the
67565         exit status portably through the trap.  Use everywhere.
67566         (--help, --version): Signal a write error.
67567         (trap): catch SIGPIPE, for write errors.
67568         Exit at the end of the trap, with the correct exit status.
67569
67570 2006-09-19  Karl Berry  <karl@gnu.org>
67571
67572         * doc/gnulib.texi: note about the license texinfo files.
67573
67574 2006-09-19  Eric Blake  <ebb9@byu.net>
67575
67576         * gnulib-tool: Avoid space-tab.
67577
67578 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67579
67580         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67581         that prevented coreutils 6.1 from building.  Problem reported
67582         by Petter Reinholdtsen.
67583
67584 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67585
67586         * gnulib-tool (avoidlist): Fix typo that broke options like
67587         --avoid=lock that are used by coreutils bootstrap.
67588
67589 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67590
67591         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67592         more systematically.
67593
67594 2006-09-18  Jim Meyering  <jim@meyering.net>
67595
67596         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67597
67598 2006-09-18  Bruno Haible  <bruno@clisp.org>
67599
67600         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67601
67602 2006-09-18  Bruno Haible  <bruno@clisp.org>
67603
67604         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67605         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67606         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67607         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67608         * m4/gettext.m4: Require autoconf >= 2.52.
67609         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67610         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67611         of gl_cv_header_inttypes_h.
67612
67613 2006-09-18  Bruno Haible  <bruno@clisp.org>
67614
67615         * lib/javaversion.c: Include configmake.h.
67616
67617 2006-09-18  Bruno Haible  <bruno@clisp.org>
67618
67619         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67620         avoid that the while loops be executed in a subshell.
67621
67622 2006-09-18  Bruno Haible  <bruno@clisp.org>
67623
67624         * MODULES.html.sh (func_module): Break long lines.
67625         Suggested by Bruce Korb <bkorb@gnu.org>.
67626
67627 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67628
67629         Speed up by a factor of 1.12.
67630         * gnulib-tool (nl): New variable.
67631         (func_import): Rewrite include directive extraction to only read each
67632         directive once.
67633
67634 2006-09-17  Bruno Haible  <bruno@clisp.org>
67635
67636         * modules/javaversion (Makefile.am): Remove DEFS setting.
67637         (Depends-on): Add configmake, for PKGDATADIR definition.
67638
67639 2006-09-17  Bruno Haible  <bruno@clisp.org>
67640
67641         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67642
67643 2006-09-17  Bruno Haible  <bruno@clisp.org>
67644
67645         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67646         (func_modules_transitive_closure, func_modules_add_dummy,
67647         func_modules_to_filelist, func_import, func_create_testdir,
67648         func_create_megatestdir, ...): Use it wherever possible.
67649         Suggested by Ralf Wildenhues.
67650
67651 2006-09-16  Karl Berry  <karl@gnu.org>
67652
67653         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67654         to avoid sectioning errors.
67655         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67656         [ifinfo]: blank line after @center-ed titles.
67657         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67658         Spell FSF address consistently with others.
67659         (These changes approved by rms.)
67660
67661 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67662
67663         Speed up by a factor of 1.61.
67664         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67665         already checked module names again.
67666
67667 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67668
67669         Speed up by a factor of 1.13.
67670         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67671         for new_files, and the input to func_add_or_update.
67672
67673 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67674
67675         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67676         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67677
67678 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67679
67680         * modules/mkancesdirs (Depends-on): Add fcntl.
67681         * modules/savewd: New file.
67682         * MODULES.html.sh (File system functions): Add savewd.
67683
67684         * modules/configmake (Makefile.am): Add support for the
67685         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67686
67687 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67688
67689         * m4/savewd.m4: New file.
67690
67691 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67692
67693         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67694         (dirchownmod): New arg FD.  All callers changed.
67695         Use FD rather than opening the directory ourself, as opening is
67696         now the caller's responsibility.
67697         * lib/dirchownmod.h: Likewise.
67698         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67699         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67700         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67701         (test_dir): Remove.
67702         (mkancesdirs): Return length of prefix of FILE that has already
67703         been made, or -2 if there is a child doing the work.  Redo
67704         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67705         ".", and treat ".." specially since it might stray back into
67706         already-created areas.  Use a subprocess if necessary.  New arg
67707         WD; all users changed.  MAKE_DIR function should now return 1
67708         if it creates a directory that is not readable.  Return -2 if
67709         a child process is spun off.
67710         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67711         Adjust signature to match code.
67712         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67713         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67714         all users changed.
67715         * lib/savewd.c, lib/savewd.h: New files.
67716
67717 2006-09-15  Jim Meyering  <jim@meyering.net>
67718
67719         * modules/rename-dest-slash: New module.
67720         * MODULES.html.sh (posix_compat): Add it here.
67721
67722         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67723
67724 2006-09-15  Jim Meyering  <jim@meyering.net>
67725
67726         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67727         file.
67728
67729         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67730
67731 2006-09-15  Jim Meyering  <jim@meyering.net>
67732
67733         * lib/rename-dest-slash.c (has_trailing_slash): Use
67734         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67735         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67736         test before testing whether SRC is a directory.
67737         Suggestions from Bruno Haible.
67738
67739         Avoid a warning about an unused variable.
67740         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67741         into the #ifdef block where it's used.
67742
67743         * lib/rename-dest-slash.c: New file.
67744
67745 2006-09-14  Bruno Haible  <bruno@clisp.org>
67746
67747         * lib/allocsa.c: Include <config.h> unconditionally.
67748         * lib/asnprintf.c: Likewise.
67749         * lib/asprintf.c: Likewise.
67750         * lib/c-strcasecmp.c: Likewise.
67751         * lib/c-strcasestr.c: Likewise.
67752         * lib/c-strncasecmp.c: Likewise.
67753         * lib/c-strstr.c: Likewise.
67754         * lib/classpath.c: Likewise.
67755         * lib/clean-temp.c: Likewise.
67756         * lib/concatpath.c: Likewise.
67757         * lib/copy-file.c: Likewise.
67758         * lib/csharpcomp.c: Likewise.
67759         * lib/csharpexec.c: Likewise.
67760         * lib/execute.c: Likewise.
67761         * lib/fatal-signal.c: Likewise.
67762         * lib/findprog.c: Likewise.
67763         * lib/fwriteerror.c: Likewise.
67764         * lib/gl_array_list.c: Likewise.
67765         * lib/gl_array_oset.c: Likewise.
67766         * lib/gl_avltree_list.c: Likewise.
67767         * lib/gl_avltree_oset.c: Likewise.
67768         * lib/gl_avltreehash_list.c: Likewise.
67769         * lib/gl_carray_list.c: Likewise.
67770         * lib/gl_linked_list.c: Likewise.
67771         * lib/gl_linkedhash_list.c: Likewise.
67772         * lib/gl_list.c: Likewise.
67773         * lib/gl_oset.c: Likewise.
67774         * lib/gl_rbtree_list.c: Likewise.
67775         * lib/gl_rbtree_oset.c: Likewise.
67776         * lib/gl_rbtreehash_list.c: Likewise.
67777         * lib/imaxabs.c: Likewise.
67778         * lib/imaxdiv.c: Likewise.
67779         * lib/javacomp.c: Likewise.
67780         * lib/javaexec.c: Likewise.
67781         * lib/javaversion.c: Likewise.
67782         * lib/linebreak.c: Likewise.
67783         * lib/localcharset.c: Likewise.
67784         * lib/lock.c: Likewise.
67785         * lib/mbchar.c: Likewise.
67786         * lib/mbswidth.c: Likewise.
67787         * lib/mkdtemp.c: Likewise.
67788         * lib/pipe.c: Likewise.
67789         * lib/printf-args.c: Likewise.
67790         * lib/printf-parse.c: Likewise.
67791         * lib/progname.c: Likewise.
67792         * lib/progreloc.c: Likewise.
67793         * lib/readlink.c: Likewise.
67794         * lib/sh-quote.c: Likewise.
67795         * lib/stpcpy.c: Likewise.
67796         * lib/stpncpy.c: Likewise.
67797         * lib/strcasecmp.c: Likewise.
67798         * lib/strcasestr.c: Likewise.
67799         * lib/strcspn.c: Likewise.
67800         * lib/striconv.c: Likewise.
67801         * lib/strncasecmp.c: Likewise.
67802         * lib/strnlen1.c: Likewise.
67803         * lib/strstr.c: Likewise.
67804         * lib/strtok_r.c: Likewise.
67805         * lib/tls.c: Likewise.
67806         * lib/tmpdir.c: Likewise.
67807         * lib/unicodeio.c: Likewise.
67808         * lib/unsetenv.c: Likewise.
67809         * lib/vasnprintf.c: Likewise.
67810         * lib/vasprintf.c: Likewise.
67811         * lib/wait-process.c: Likewise.
67812         * lib/xallocsa.c: Likewise.
67813         * lib/xsetenv.c: Likewise.
67814         * lib/xstriconv.c: Likewise.
67815
67816 2006-09-13  Simon Josefsson  <jas@extundo.com>
67817
67818         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
67819         that internally, suggested by Ralf Wildenhues
67820         <Ralf.Wildenhues@gmx.de>.
67821
67822 2006-09-13  Simon Josefsson  <jas@extundo.com>
67823
67824         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
67825         @LIBOBJS@.
67826         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67827
67828 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67829
67830         * lib/_fpending.c: Include <config.h> unconditionally, since we no
67831         longer worry about uses that don't define HAVE_CONFIG_H.
67832         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
67833         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
67834         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
67835         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
67836         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
67837         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
67838         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
67839         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
67840         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
67841         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
67842         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
67843         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
67844         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
67845         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
67846         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
67847         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
67848         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
67849         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
67850         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
67851         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
67852         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
67853         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
67854         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
67855         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
67856         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
67857         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
67858         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
67859         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
67860         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
67861         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
67862         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
67863         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
67864         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
67865         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
67866         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
67867         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
67868         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
67869         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
67870         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
67871         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
67872         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
67873         Likewise.
67874
67875 2006-09-13  Eric Blake  <ebb9@byu.net>
67876
67877         * lib/getopt.c: Fix typo in last commit.
67878
67879 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67880
67881         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
67882         dgettext.
67883
67884 2006-09-12  Jim Meyering  <jim@meyering.net>
67885
67886         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
67887         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
67888         Reported by Nelson H. F. Beebe.
67889
67890 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67891
67892         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
67893         program_invocation_name and program_invocation_short_name are
67894         initialized.
67895         * lib/argp-namefrob.h: Move declarations of program_invocation_name
67896         and program_invocation_short_name to argp.h, so they are visible
67897         to user programs.
67898         * lib/argp.h: Likewise
67899
67900 2006-09-10  Bruno Haible  <bruno@clisp.org>
67901
67902         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
67903         m4/inttypes_h.m4, m4/uintmax_t.m4.
67904
67905 2006-09-10  Bruno Haible  <bruno@clisp.org>
67906
67907         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
67908         gl_AC_TYPE_UINTMAX_T.
67909
67910 2006-09-10  Bruno Haible  <bruno@clisp.org>
67911
67912         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
67913
67914 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67915
67916         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
67917         convention.  Text proposed by Bruno Haible.
67918         (struct argp_option): Document the use of N_() wrappers.
67919
67920         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
67921         '\v', and translate the two parts separately, instead of feeding
67922         the whole string to gettext.  This allows to exclude
67923         '\v' from the strings visible to the translator by writing doc
67924         strings as N_("..") "\v" N_("..").
67925
67926 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
67927
67928         * config/srclist.txt: Undo latest change; the bug was fixed.
67929
67930 2006-09-09  Bruno Haible  <bruno@clisp.org>
67931
67932         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
67933         assignments if building a library without libtool.
67934         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
67935         in func_emit_lib_Makefile_am.
67936         (func_import): When building a static library libfoo.a, arrange to
67937         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
67938         (func_create_testdir): Likewise.
67939         * modules/gc (configure.ac, Makefile.am): If building statically,
67940         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
67941         * modules/iconvme (configure.ac, Makefile.am): Likewise.
67942         * modules/striconv (configure.ac, Makefile.am): Likewise.
67943         Based on a suggestion by Ralf Wildenhues.
67944
67945 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67946
67947         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67948         Check for unistd.h too, since Autoconf doesn't assume POSIX.
67949         Also:
67950
67951         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67952         Add year_2050_test to catch glibc bug 2821
67953         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67954
67955         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67956         Prefer #ifdef to #if.
67957
67958         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
67959         Return from 'main' instead of calling 'exit'.
67960
67961 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67962
67963         * lib/mktime.c (guess_time_tm): Fix bug where mktime
67964         returned the maximum time_t value rather than (time_t) -1.
67965         Problem originally reported by William Bardwell
67966         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67967
67968         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67969         Moved to here ...
67970         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67971         ... from here.
67972
67973 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67974
67975         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
67976         2821 is fixed.
67977
67978 2006-09-08  Jim Meyering  <jim@meyering.net>
67979
67980         Don't make generated files read-only.  That would bother too many
67981         people.  However, do retain the ability to work when targets are
67982         read-only: remove the destination and temporary files before writing
67983         them (when generated via sed or echo), or by using the -f option for
67984         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
67985         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67986         * modules/byteswap, modules/configmake, modules/fcntl:
67987         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67988         * modules/localcharset, modules/netinet_in, modules/poll:
67989         * modules/stdbool, modules/stdint, modules/sys_select:
67990         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67991
67992 2006-09-08  Jim Meyering  <jim@meyering.net>
67993
67994         Avoid new build failure on FreeBSD 6.0.
67995         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
67996         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
67997         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
67998
67999 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68000
68001         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
68002
68003 2006-09-07  Jim Meyering  <jim@meyering.net>
68004
68005         Fix global typo in last change: use chmod u-w, not chmod u-x.
68006         Spotted by Paul Eggert and Bruce Korb.
68007         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68008         * modules/byteswap, modules/configmake, modules/fcntl:
68009         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68010         * modules/localcharset, modules/netinet_in, modules/poll:
68011         * modules/stdbool, modules/stdint, modules/sys_select:
68012         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68013
68014 2006-09-06  Jim Meyering  <jim@meyering.net>
68015
68016         Make generated files be read-only.
68017         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
68018         Ensure that each generated file is now read-only.
68019         * modules/argz: Likewise.
68020         * modules/arpa_inet: Likewise.
68021         * modules/byteswap: Likewise.
68022         * modules/configmake: Likewise.
68023         * modules/fcntl: Likewise.
68024         * modules/fnmatch: Likewise.
68025         * modules/getopt: Likewise.
68026         * modules/glob: Likewise.
68027         * modules/inttypes: Likewise.
68028         * modules/netinet_in: Likewise.
68029         * modules/poll: Likewise.
68030         * modules/stdbool: Likewise.
68031         * modules/stdint: Likewise.
68032         * modules/sys_select: Likewise.
68033         * modules/sys_socket: Likewise.
68034         * modules/sys_stat: Likewise.
68035         * modules/sysexits: Likewise.
68036         * modules/localcharset: Same as above, but continue using temporary
68037         file named "t-$@" (why different?) rather than the "$@-t" used
68038         everywhere else.
68039
68040         * modules/sysexits (Makefile.am): Replace literal occurrences
68041         of "sysexit.h" more readable, and more consistent, "$@".
68042
68043 2006-09-06  Bruno Haible  <bruno@clisp.org>
68044
68045         * modules/striconv: New file.
68046         * modules/xstriconv: New file.
68047         * MODULES.html.sh (Internationalization functions): Add striconv,
68048         xstriconv.
68049
68050 2006-09-06  Bruno Haible  <bruno@clisp.org>
68051
68052         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
68053         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
68054         not using libtool correctly.
68055
68056 2006-09-06  Bruno Haible  <bruno@clisp.org>
68057
68058         * lib/striconv.h: New file.
68059         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
68060         iconvstring.c.
68061         * lib/xstriconv.h: New file.
68062         * lib/xstriconv.c: New file.
68063
68064 2006-09-06  Bruno Haible  <bruno@clisp.org>
68065
68066         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68067         lib_..._LDFLAGS.
68068
68069 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68070
68071         * lib/argz_.h: Sync from Libtool.
68072
68073         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
68074                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68075
68076         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
68077
68078 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68079
68080         * modules/trim: New file.
68081
68082 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68083
68084         * lib/trim.h: New file.
68085         * lib/trim.c: New file.
68086
68087 2006-09-05  Bruno Haible  <bruno@clisp.org>
68088
68089         * MODULES.html.sh (String handling): Add trim.
68090
68091 2006-09-04  Karl Berry  <karl@gnu.org>
68092
68093         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
68094         until next release.
68095
68096 2006-09-03  Bruno Haible  <bruno@clisp.org>
68097
68098         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
68099         correctly.
68100
68101 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68102
68103         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
68104         not gl_GETLOADAVG.  Omit unneeded semicolons.
68105         Problems reported by Ralf Wildenhues in
68106         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68107         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
68108         at the end, which is the usual gnulib style.
68109
68110         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
68111         of doing all the work ourselves.
68112         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
68113         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
68114
68115 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68116
68117         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
68118         Problem reported by Ralf Wildenhues in
68119         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68120
68121         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
68122         HAVE_STRUCT_STATFS_F_FSTYPENAME.
68123
68124 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68125
68126         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
68127         yesterday's patch by changing test -n to test -z.
68128
68129 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68130
68131         * modules/getloadavg (Files): Add m4/getloadavg.m4.
68132         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
68133         the former is now obsolescent.
68134
68135         * modules/chdir-long (Depends-on): Add fcntl.
68136
68137 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68138
68139         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
68140         obsolescent, and programs should use gnulib instead.
68141         * m4/getloadavg.m4: New file, with contents taken from Autoconf
68142         but with prefixes changed.
68143
68144 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68145
68146         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
68147         or stdbool.h, because they might not exist while configuring.
68148
68149         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
68150         Don't include unistd.h or limits.h; not needed, since chdir-long.h
68151         does that for us.
68152         (O_DIRECTORY): Remove.
68153
68154 2006-08-31  Eric Blake  <ebb9@byu.net>
68155
68156         * gnulib-tool: Don't let emacs change spaces to TAB.
68157
68158 2006-08-31  Bruno Haible  <bruno@clisp.org>
68159
68160         * gnulib-tool: When calling func_import more than once, do it in a
68161         subshell.
68162         Reported by Eric Blake <ebb9@byu.net>.
68163
68164 2006-08-31  Bruno Haible  <bruno@clisp.org>
68165
68166         * gnulib-tool (nl): Remove variable.
68167         (sed_transform_lib_file): Use more robust test for config-h module.
68168         (func_import): Fix typo in 2006-08-25 patch.
68169
68170 2006-08-31  Bruno Haible  <bruno@clisp.org>
68171
68172         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
68173         specified, augment Makefile.am variables instead of assigning them.
68174
68175 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68176
68177         Work around a bug in both the Linux and SunOS 64-bit kernels:
68178         nanosleep mishandles sleeps for longer than 2**31 seconds.
68179         Problem reported by Frank v Waveren in
68180         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68181         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
68182         Check for nanosleep bug.
68183         (LIB_NANOSLEEP): Append clock_gettime library if needed.
68184
68185 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68186
68187         Work around a bug in both the Linux and SunOS 64-bit kernels:
68188         nanosleep mishandles sleeps for longer than 2**31 seconds.
68189         Problem reported by Frank v Waveren in
68190         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68191         * lib/nanosleep.c (BILLION): New constant.
68192         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
68193         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
68194         implementation.
68195
68196 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68197
68198         * modules/nanosleep (Depends-on): Add gettime.
68199
68200 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68201         and Simon Josefsson  <jas@extundo.com>
68202         and Oskar Liljeblad  <oskar@osk.mine.nu>
68203
68204         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
68205         * gnulib-tool (func_import): New license type 'unmodifiable license
68206         text'.
68207         * modules/fdl: Use it.  Longer description.
68208         * module/gpl, module/lgpl: New files.
68209
68210 2006-08-30  Jim Meyering  <jim@meyering.net>
68211
68212         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
68213         shadowing the parameter.
68214
68215 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68216
68217         Sync from Libtool:
68218
68219         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68220
68221         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
68222         sharing with gnulib.  Report by Eric Blake.
68223
68224 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68225
68226         * modules/isapipe: New file.
68227         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
68228
68229 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68230
68231         * modules/configmake (Makefile.am): Add a comment, and omit
68232         the CONFIGMAKE_ prefix from generated macro names.  Suggested
68233         by Bruno Haible.
68234
68235 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68236
68237         * m4/isapipe.m4: New file.
68238
68239 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68240
68241         * lib/isapipe.c, lib/isapipe.h: New files.
68242
68243 2006-08-29  Jim Meyering  <jim@meyering.net>
68244
68245         * modules/configmake (Makefile.am): Make configmake.h depend on
68246         Makefile.  Otherwise, a stale configmake.h could hang around.
68247
68248 2006-08-29  Eric Blake  <ebb9@byu.net>
68249
68250         * lib/error.c (error_at_line, print_errno_message): Match libc, after
68251         resolution of upstream bug 3044.
68252
68253 2006-08-29  Bruno Haible  <bruno@clisp.org>
68254
68255         * modules/localcharset (Depends-on): Add configmake.
68256         (Makefile.am): Remove setting of LIBDIR through DEFS.
68257
68258 2006-08-29  Bruno Haible  <bruno@clisp.org>
68259
68260         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
68261         defined.
68262
68263 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68264
68265         * modules/fcntl: New file.
68266         * modules/chdir-safer (Depends-on): Add fcntl.
68267         * modules/fts: Likewise.
68268         * modules/mkdir-p: Likewise.
68269
68270         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
68271         This undoes the most recent change, since we're now addressing the
68272         problem in a different way.
68273
68274         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
68275         into output, since the output might be called Makefile.am even
68276         if $makefile_name is something different.
68277         (func_import): Use $makefile_am rather than
68278         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
68279         empty.
68280
68281         * modules/inttypes (Files): Add m4/inttypes-h.m4.
68282
68283 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68284
68285         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
68286         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
68287         recent change to stdint.m4, since we're now addressing the problem in a
68288         different way.
68289
68290 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68291
68292         * m4/fcntl_h.m4: New file.
68293
68294 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68295
68296         * lib/fcntl_.h: New file.
68297         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
68298         the fcntl module.
68299         * lib/dirchownmod.c: Likewise.
68300         * lib/fts.c: Likewise.
68301
68302         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
68303         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
68304         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
68305         just before including <inttypes.h>, to avoid circular inclusion.
68306
68307 2006-08-28  Jim Meyering  <jim@meyering.net>
68308
68309         * doc/visibility.texi: Actually read and correct the grammar of the
68310         sentence affected by yesterday's change.
68311
68312 2006-08-28  Eric Blake  <ebb9@byu.net>
68313
68314         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
68315         needs wrapper.
68316
68317 2006-08-28  Eric Blake  <ebb9@byu.net>
68318
68319         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
68320
68321 2006-08-28  Eric Blake  <ebb9@byu.net>
68322
68323         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
68324
68325 2006-08-28  Bruno Haible  <bruno@clisp.org>
68326
68327         * modules/c-strstr: New file, from GNU gettext.
68328         * MODULES.html.sh (String handling): Add c-strstr.
68329
68330 2006-08-28  Bruno Haible  <bruno@clisp.org>
68331
68332         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
68333         macros.
68334         Reported by Eric Blake.
68335
68336 2006-08-28  Bruno Haible  <bruno@clisp.org>
68337
68338         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
68339         (VASNPRINTF): Return a string of length > INT_MAX without failing.
68340         * lib/vasprintf.c: Include errno.h, limits.h.
68341         (EOVERFLOW): New fallback definition.
68342         (vasprintf): Test here whether the string length is > INT_MAX.
68343         * lib/vsnprintf.c: Include errno.h, limits.h.
68344         (EOVERFLOW): New fallback definition.
68345         (vsnprintf): Fix bug when generated string was too long for the buffer.
68346         Test here whether the string length is > INT_MAX.
68347
68348 2006-08-28  Bruno Haible  <bruno@clisp.org>
68349
68350         * lib/inttypes_.h (SCNX*): Remove definitions.
68351         Reported by Eric Blake.
68352
68353 2006-08-28  Bruno Haible  <bruno@clisp.org>
68354
68355         * lib/c-strstr.h: New file, from GNU gettext.
68356         * lib/c-strstr.c: New file, from GNU gettext.
68357
68358 2006-08-28  Bruno Haible  <bruno@clisp.org>
68359
68360         * gnulib-tool: Reorder some statements.
68361
68362 2006-08-28  Bruno Haible  <bruno@clisp.org>
68363
68364         * gnulib-tool: New option --makefile-name.
68365         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
68366         $makefile_name.
68367         (func_import): Write $makefile_name to the cache file, and read it from
68368         there unless explicitly specified. Use $makefile_name as file name
68369         instead of Makefile.am. Adjust the recommendations accordingly.
68370
68371 2006-08-28  Bruno Haible  <bruno@clisp.org>
68372
68373         * gnulib-tool (func_verify_module): Check against misapplying patch.
68374
68375 2006-08-28  Bruno Haible  <bruno@clisp.org>
68376
68377         * gnulib-tool (func_relativize, func_relconcat): New functions.
68378         Give an error if --local-dir is given with --update.
68379         Remove trailing slashes from $local_gnulib_dir.
68380         (func_import): Store the relativized $local_gnulib_dir in
68381         gnulib-cache.m4, and read it from there if not specified explicitly.
68382
68383 2006-08-28  Bruno Haible  <bruno@clisp.org>
68384
68385         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68386         is the current directory. Respect also $local_gnulib_dir.
68387
68388 2006-08-28  Bruno Haible  <bruno@clisp.org>
68389             Simon Josefsson  <jas@extundo.com>
68390
68391         BeOS portability.
68392         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68393
68394 2006-08-27  Jim Meyering  <jim@meyering.net>
68395
68396         * doc/visibility.texi: Remove duplicate word: "pointer".
68397
68398 2006-08-26  Bruno Haible  <bruno@clisp.org>
68399
68400         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68401         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68402         (Makefile.am): Create inttypes.h from inttypes_.h.
68403         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68404
68405         * modules/imaxabs: New file.
68406
68407         * modules/imaxdiv: New file.
68408
68409 2006-08-26  Bruno Haible  <bruno@clisp.org>
68410
68411         * m4/inttypes.m4: New file.
68412         * m4/_inttypes_h.m4: Remove file.
68413         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68414         PRI_MACROS_BROKEN.
68415         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68416
68417         * m4/imaxabs.m4: New file.
68418
68419         * m4/imaxdiv.m4: New file.
68420
68421 2006-08-26  Bruno Haible  <bruno@clisp.org>
68422
68423         * lib/inttypes_.h: New file.
68424         * lib/inttypes.h: Remove file.
68425         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68426
68427         * lib/imaxabs.c: New file.
68428
68429         * lib/imaxdiv.c: New file.
68430
68431 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68432
68433         New config-h module, so that "make" output needn't be cluttered
68434         by -DHAVE_CONFIG_H.
68435         * MODULES.html.sh (Support for building libraries and executables):
68436         Add config-h.
68437         * modules/config-h: New file.
68438         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68439         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68440         the config-h module is used.
68441
68442         New configmake module, so that "make" output needn't be cluttered
68443         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68444         * MODULES.html.sh (Support for building libraries and executables):
68445         Add configmake.
68446         * modules/configmake: New file.
68447
68448 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68449
68450         * m4/config-h.m4: New file.
68451
68452 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68453
68454         * config/srclist.txt: Add elisp-comp.
68455
68456 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68457
68458         * MODULES.html.sh (Support for building libraries and executables):
68459         Add elisp-comp.
68460         * build-aux/elisp-comp: New file.
68461         * modules/elisp-comp: New file.
68462
68463 2006-08-24  Bruno Haible  <bruno@clisp.org>
68464
68465         * gnulib-tool (func_create_testdir): Use non-default values of
68466         sourcebase and m4base.
68467
68468 2006-08-24  Bruno Haible  <bruno@clisp.org>
68469
68470         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68471         HTML structure.
68472
68473 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68474
68475         * modules/openat (Depends-on): Add lchown.
68476
68477 2006-08-23  Bruno Haible  <bruno@clisp.org>
68478
68479         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68480         of gl_LOCK_EARLY instead of gl_LOCK.
68481
68482 2006-08-23  Bruno Haible  <bruno@clisp.org>
68483
68484         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68485         on OSF/1 to no.
68486         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68487
68488 2006-08-23  Bruno Haible  <bruno@clisp.org>
68489
68490         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68491         as unusable.
68492
68493         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68494         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68495         (gl_LOCK): New macro.
68496
68497 2006-08-22  Simon Josefsson  <jas@extundo.com>
68498
68499         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68500         to md5 module.
68501
68502 2006-08-22  Simon Josefsson  <jas@extundo.com>
68503
68504         * MODULES.html.sh: Add "Support for maintaining and release
68505         projects".
68506
68507         * build-aux/gnupload: New file, from coreutils.
68508
68509 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68510
68511         Avoid the need for AC_LIBSOURCES in m4 macros.
68512         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68513         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68514         * modules/check-version (EXTRA_DIST): Add check-version.h.
68515         * modules/crc (EXTRA_DIST): Add crc.h.
68516         * modules/des (EXTRA_DIST): Add des.h.
68517         * modules/gc (EXTRA_DIST): Add gc.h.
68518         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68519         * modules/getline (EXTRA_DIST): Add getline.h.
68520         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68521         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68522         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68523         * modules/md2 (EXTRA_DIST): Add md2.h.
68524         * modules/md4 (EXTRA_DIST): Add md4.h.
68525         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68526         * modules/read-file (EXTRA_DIST): Add read-file.h.
68527         * modules/readline (EXTRA_DIST): Add readline.h.
68528         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68529         rijndael-api-fst.h.
68530
68531 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68532
68533         * m4/rijndael.m4 (gl_ARCFOUR):
68534         * m4/arctwo.m4 (gl_ARCTWO):
68535         * m4/check-version.m4 (gl_CHECK_VERSION):
68536         * m4/crc.m4 (gl_CRC):
68537         * m4/des.m4 (gl_DES):
68538         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68539         * m4/gc.m4 (gl_GC):
68540         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68541         * m4/getline.m4 (gl_FUNC_GETLINE):
68542         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68543         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68544         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68545         * m4/md2.m4 (gl_MD2):
68546         * m4/md4.m4 (gl_MD4):
68547         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68548         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68549         * m4/readline.m4 (gl_FUNC_READLINE):
68550         * m4/rijndael.m4 (gl_RIJNDAEL):
68551         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68552         to get the necessary .h files and whatnot.
68553
68554 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68555
68556         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68557         gnulib rather than the other way around.
68558         * config/srclistvars.sh (COREUTILS): Remove.
68559
68560 2006-08-22  Jim Meyering  <jim@meyering.net>
68561
68562         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68563
68564         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68565
68566 2006-08-22  Eric Blake  <ebb9@byu.net>
68567
68568         * modules/regexprops-generic: New file.
68569         * MODULES.html.sh (Support for building documentation): List it.
68570
68571 2006-08-22  Eric Blake  <ebb9@byu.net>
68572
68573         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68574         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68575         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68576         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68577
68578 2006-08-22  Bruno Haible  <bruno@clisp.org>
68579
68580         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68581         and lib_LTLIBRARIES like the other lib_* variables.
68582
68583 2006-08-22  Bruno Haible  <bruno@clisp.org>
68584
68585         * build-aux/x-to-1.in: New file, from GNU gettext.
68586
68587 2006-08-22  Bruno Haible  <bruno@clisp.org>
68588
68589         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68590         <utmpx.h> exists.
68591
68592 2006-08-22  Bruno Haible  <bruno@clisp.org>
68593
68594         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68595         <utmpx.h> exists.
68596
68597 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68598
68599         BeOS portability.
68600         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68601         exist.
68602         Problem reported by Bruno Haible.
68603
68604 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68605
68606         Avoid the need for AC_LIBSOURCES in m4 macros.
68607         * modules/acl (EXTRA_DIST): Add acl.h.
68608         * modules/argmatch (Files): Add m4/argmatch.m4.
68609         (configure.ac): Add gl_ARGMATCH.
68610         (EXTRA_DIST): Renamed from lib_SOURCES, for
68611         consistency with the other modules.  Remove argmatch.c.
68612         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68613         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68614         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68615         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68616         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68617         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68618         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68619         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68620         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68621         * modules/closeout (EXTRA_DIST): Add closeout.h.
68622         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68623         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68624         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68625         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68626         dirname.h; remove basename.c and stripslash.c.
68627         * modules/exclude (EXTRA_DIST): Add exclude.h.
68628         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68629         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68630         * modules/file-type (EXTRA_DIST): Add file-type.h.
68631         * modules/filemode (EXTRA_DIST): Add filemode.h.
68632         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68633         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68634         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68635         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68636         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68637         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68638         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68639         * modules/getdate (EXTRA_DIST): Add getdate.c.
68640         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68641         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68642         * modules/getpass (EXTRA_DIST): Add getpass.h.
68643         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68644         * modules/group-member (EXTRA_DIST): Add group-member.h.
68645         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68646         * modules/hash (EXTRA_DIST): Add hash.h.
68647         * modules/human (EXTRA_DIST): Add human.h.
68648         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68649         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68650         * modules/lchown (EXTRA_DIST): Add lchown.h.
68651         * modules/long-options (EXTRA_DIST): Add long-options.h.
68652         * modules/lstat (EXTRA_DIST): Add lstat.h.
68653         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68654         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68655         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68656         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68657         * modules/memxor (EXTRA_DIST): Add memxor.h.
68658         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68659         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68660         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68661         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68662         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68663         * modules/physmem (EXTRA_DIST): Add physmem.h.
68664         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68665         * modules/posixver (EXTRA_DIST): Add posixver.h.
68666         * modules/quote (EXTRA_DIST): Add quote.h.
68667         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68668         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68669         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68670         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68671         regex_internal.h regexec.c.
68672         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68673         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68674         * modules/same (EXTRA_DIST): Add same.h.
68675         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68676         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68677         * modules/savedir (EXTRA_DIST): Add savedir.h.
68678         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68679         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68680         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68681         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68682         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68683         * modules/strdup (EXTRA_DIST): Add strdup.h.
68684         * modules/strftime (EXTRA_DIST): Add strftime.h.
68685         * modules/strndup (EXTRA_DIST): Add strndup.h.
68686         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68687         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68688         * modules/time_r (EXTRA_DIST): Add time_r.h.
68689         * modules/timespec (EXTRA_DIST): Add timespec.h.
68690         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68691         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68692         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68693         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68694         * modules/userspec (EXTRA_DIST): Add userspec.h.
68695         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68696         * modules/utimens (EXTRA_DIST): Add utimens.h.
68697         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68698         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68699         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68700         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68701         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68702         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68703         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68704         * modules/yesno (EXTRA_DIST): Add yesno.h.
68705
68706 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68707
68708         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68709
68710         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68711         * m4/dev-ino.m4, same-inode.m4: Remove.
68712
68713         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68714         * m4/acl.m4 (AC_FUNC_ACL):
68715         * m4/backupfile.m4 (gl_BACKUPFILE):
68716         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68717         * m4/canon-host.m4 (gl_CANON_HOST):
68718         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68719         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68720         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68721         * m4/cloexec.m4 (gl_CLOEXEC):
68722         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68723         * m4/closeout.m4 (gl_CLOSEOUT):
68724         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68725         * m4/dirname.m4 (gl_DIRNAME):
68726         * m4/exclude.m4 (gl_EXCLUDE):
68727         * m4/exitfail.m4 (gl_EXITFAIL):
68728         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68729         * m4/file-type.m4 (gl_FILE_TYPE):
68730         * m4/filemode.m4 (gl_FILEMODE):
68731         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68732         * m4/fpending.m4 (gl_FUNC_FPENDING):
68733         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68734         * m4/fts.m4 (gl_FUNC_FTS):
68735         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68736         * m4/getdate.m4 (gl_GETDATE):
68737         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68738         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68739         * m4/getpass.m4 (gl_FUNC_GETPASS):
68740         * m4/gettime.m4 (gl_GETTIME):
68741         * m4/getugroups.m4 (gl_GETUGROUPS):
68742         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68743         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68744         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68745         * m4/hash.m4 (gl_HASH):
68746         * m4/idcache.m4 (gl_IDCACHE):
68747         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68748         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68749         * m4/long-options.m4 (gl_LONG_OPTIONS):
68750         * m4/lstat.m4 (gl_FUNC_LSTAT):
68751         * m4/md5.m4 (gl_MD5):
68752         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68753         * m4/memcoll.m4 (gl_MEMCOLL):
68754         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68755         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68756         * m4/memxor.m4 (gl_MEMXOR):
68757         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68758         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68759         * m4/modechange.m4 (gl_MODECHANGE):
68760         * m4/mountlist.m4 (gl_MOUNTLIST):
68761         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68762         * m4/openat.m4 (gl_FUNC_OPENAT):
68763         * m4/pathmax.m4 (gl_PATHMAX):
68764         * m4/physmem.m4 (gl_PHYSMEM):
68765         * m4/posixtm.m4 (gl_POSIXTM):
68766         * m4/posixver.m4 (gl_POSIXVER):
68767         * m4/quote.m4 (gl_QUOTE):
68768         * m4/quotearg.m4 (gl_QUOTEARG):
68769         * m4/readtokens.m4 (gl_READTOKENS):
68770         * m4/readutmp.m4 (gl_READUTMP):
68771         * m4/regex.m4 (gl_REGEX):
68772         * m4/safe-read.m4 (gl_SAFE_READ):
68773         * m4/safe-write.m4 (gl_SAFE_WRITE):
68774         * m4/same.m4 (gl_SAME):
68775         * m4/save-cwd.m4 (gl_SAVE_CWD):
68776         * m4/savedir.m4 (gl_SAVEDIR):
68777         * m4/settime.m4 (gl_SETTIME):
68778         * m4/sha1.m4 (gl_SHA1):
68779         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68780         * m4/stat-macros.m4 (gl_STAT_MACROS):
68781         * m4/stat-time.m4 (gl_STAT_TIME):
68782         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68783         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68784         * m4/strdup.m4 (gl_FUNC_STRDUP):
68785         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68786         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68787         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68788         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68789         * m4/time_r.m4 (gl_TIME_R):
68790         * m4/timespec.m4 (gl_TIMESPEC):
68791         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68792         * m4/unlinkdir.m4 (gl_UNLINKDIR):
68793         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
68794         * m4/userspec.m4 (gl_USERSPEC):
68795         * m4/utimecmp.m4 (gl_UTIMECMP):
68796         * m4/utimens.m4 (gl_UTIMENS):
68797         * m4/xalloc.m4 (gl_XALLOC):
68798         * m4/xgetcwd.m4 (gl_XGETCWD):
68799         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
68800         * m4/xreadlink.m4 (gl_XREADLINK):
68801         * m4/xstrtod.m4 (gl_XSTRTOD):
68802         * m4/yesno.m4 (gl_YESNO):
68803         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68804         to get the necessary .h files and whatnot.
68805
68806 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
68807             Bruno Haible  <bruno@clisp.org>
68808
68809         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
68810         /bin/sh understanding of '!' conditional negation.
68811
68812 2006-08-21  Jim Meyering  <jim@meyering.net>
68813
68814         * modules/openat (Depends-on): Really alphabetize.
68815
68816         * modules/acl (Depends-on): Add error and quote.
68817
68818         * check-module (find_included_lib_files): Add at-func.c to the
68819         ok-to-include-more-than-once white list.
68820
68821         * modules/openat (Depends-on): Add lstat.  Alphabetize.
68822
68823 2006-08-21  Bruno Haible  <bruno@clisp.org>
68824
68825         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68826         Emit a pkgdata_DATA variable only if some snippets add contents to it.
68827         Reported by Martin Lambers <marlam@marlam.de>.
68828
68829 2006-08-21  Bruno Haible  <bruno@clisp.org>
68830
68831         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
68832         specify an installation location, don't emit a noinst_LIBRARIES or
68833         noinst_LTLIBRARIES assignment.
68834
68835 2006-08-21  Bruno Haible  <bruno@clisp.org>
68836
68837         BeOS portability.
68838         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
68839         BeOS has mbrtowc() but no <wctype.h>.
68840
68841 2006-08-21  Bruno Haible  <bruno@clisp.org>
68842
68843         BeOS portability.
68844         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
68845         exist.
68846
68847 2006-08-21  Bruno Haible  <bruno@clisp.org>
68848
68849         BeOS portability.
68850         * lib/mbchar.h: Include <wctype.h> only if it exists.
68851
68852 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68853
68854         Remove files that are no longer needed by their respective modules.
68855         * m4/obstack.m4: Remove.
68856         * m4/strerror_r.m4: Remove.
68857         * m4/uint32_t.m4: Remove.
68858         * m4/uintptr_t.m4: Remove.
68859         * m4/ullong_max.m4: Remove.
68860         * m4/xstrtoimax.m4: Remove.
68861         * m4/xstrtoumax.m4: Remove.
68862
68863         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
68864         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
68865         dependencies now capture this.
68866
68867         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
68868         Do not use AC_LIBSOURCES, since gnulib modules now do this.
68869         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
68870         * m4/human.m4 (gl_HUMAN): Likewise.
68871         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
68872         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
68873
68874         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
68875
68876         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
68877         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
68878         stdint.
68879         * m4/human.m4 (gl_HUMAN): Likewise.
68880         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
68881         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
68882         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68883         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68884         * m4/xstrtol (gl_XSTRTOL): Likewise.
68885
68886         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
68887         AC_TYPE_LONG_LONG_INT.
68888         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68889         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
68890         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
68891         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68892
68893         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
68894         on stdbool.
68895
68896         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
68897         (gl_PREREQ_XSTRTOUL): Remove.
68898
68899         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
68900
68901         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
68902         mode.
68903
68904 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68905
68906         Add and change modules to make it easier for coreutils to use
68907         gnulib-tool.
68908         * modules/backupfile (Files): Remove m4/d-ino.m4.
68909         (Depends-on): Add d-ino.
68910         * modules/cycle-check (Depends-on): Add stdint.
68911         (lib_SOURCES): Add cycle-check.h.
68912         * modules/d-ino: New module.
68913         * modules/d-type: New module.
68914         * modules/error (Files): Remove m4/strerror_r.m4.
68915         * modules/filemode (Files): Add m4/st_dm_mode.m4.
68916         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68917         m4/inttypes_h.m4, m4/uintmax_t.m4.
68918         (Depends-on): Add stdint.
68919         (lib_SOURCES): Add fsusage.h.
68920         * modules/getcwd (Files): Remove d-ino.m4.
68921         (Depends-on): Add d-ino.
68922         * modules/getndelim2 (Depends-on): Add stdint.
68923         * modules/glob (Files): Remove m4/d-type.m4.
68924         (Depends-on): Add d-type.
68925         * modules/host-os: New module.
68926         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
68927         m4/inttypes_h.m4, m4/uintmax_t.m4.
68928         * Depends-on: Add stdint.
68929         (lib_SOURCES): Add human.h.
68930         * modules/inttostr (Files): Remove m4/intmax_t.m4,
68931         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
68932         m4/uintmax_t.m4, m4/ulonglong.m4.
68933         (Depends-on): Add stdint.
68934         (EXTRA_DIST): Add inttostr.h.
68935         * modules/lchmod: New module.
68936         * modules/link-follow: New module.
68937         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
68938         (Depends-on): Add lchmod.
68939         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
68940         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
68941         (Depends-on): Add stdint.
68942         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
68943         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
68944         (Depends-on): Add stdint.
68945         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
68946         * modules/perl: New module.
68947         * modules/regex (Depends-on): Add stdint.
68948         * modules/rmdir-errno: New module.
68949         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68950         m4/intmax_t.m4.
68951         (Depends-on): Add stdint.
68952         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68953         m4/uintmax_t.m4.
68954         (Depends-on): Add stdint.
68955         * modules/unlink-busy: New module.
68956         * modules/utimecmp (Depends-on): Add stdint.
68957         * modules/uptime: New module.
68958         * modules/winsz-ioctl: New module.
68959         * modules/winsz-termios: New module.
68960         * modules/xnanosleep (Depends-on): Add nanosleep.
68961         * modules/ullong_max: Remove.
68962         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
68963         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
68964         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
68965         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
68966         (Depends-on): Add inttypes.
68967         (lib_SOURCES): Add xstrtol.h.
68968         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
68969         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
68970         * MODULES.html.sh: Move 'assert' into the assert section.
68971         Move 'dummy' into the linking section.
68972         Remove ullong_max.
68973         Add section for compatibility checks for POSIX:2001 functions,
68974         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
68975         winsz-ioctl, and winsz-termios into it.
68976         Add lchmod.
68977         Add top-level Misc section and put host-os, perl, and uptime
68978         into it.
68979
68980 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68981
68982         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
68983         now assume the stdint module.  Do not include inttypes.h.
68984         * lib/fsusage.h: Likewise.
68985         * lib/getndelim2.c: Likewise.
68986         * lib/human.h: Likewise.
68987         * lib/inttostr.h: Likewise.
68988         * lib/obstack.c: Likewise.
68989         * lib/regex_internal.h: Likewise.
68990         * lib/tempname.c: Likewise.
68991         * lib/utimecmp.c: Likewise.
68992         * lib/xstrtol.h: Likewise.
68993
68994         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
68995
68996         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
68997         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
68998         * lib/xtime.h: Likewise.
68999
69000 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69001
69002         * modules/openat (Files): Add lib/fchmodat.c.
69003         Fixes problem reported by Jay Youngman.
69004
69005 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69006
69007         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
69008         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
69009
69010 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
69011             Bruno Haible  <bruno@clisp.org>
69012
69013         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
69014         and is a script that invokes bison. Tighten the code. Add comments.
69015
69016 2006-08-18  Jim Meyering  <jim@meyering.net>
69017
69018         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
69019         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
69020         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
69021         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
69022
69023 2006-08-18  Bruno Haible  <bruno@clisp.org>
69024
69025         * modules/bison-i18n: New file.
69026         * MODULES.html.sh (Internationalization functions): Add it.
69027
69028 2006-08-18  Bruno Haible  <bruno@clisp.org>
69029
69030         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
69031         sys/statvfs.h. When getmntinfo was found, check its declaration and
69032         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
69033
69034 2006-08-18  Bruno Haible  <bruno@clisp.org>
69035
69036         * m4/bison-i18n.m4: New file, from bison.
69037
69038 2006-08-18  Bruno Haible  <bruno@clisp.org>
69039
69040         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
69041         (ME_DUMMY): Treat "kernfs" as a dummy.
69042         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
69043
69044 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69045
69046         Update from coreutils.
69047
69048         2006-08-15  Jim Meyering  <jim@meyering.net>
69049
69050         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
69051
69052         2006-01-17  Jim Meyering  <jim@meyering.net>
69053
69054         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
69055
69056         2006-01-11  Jim Meyering  <jim@meyering.net>
69057
69058         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
69059         Check for the lchmod function.
69060
69061 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69062
69063         Update from coreutils.
69064
69065         * lib/__fpending.h: Add copyright notice.
69066         * lib/fprintftime.h: Likewise.
69067         * lib/savedir.c: Use (C) in copyright notice.
69068         * lib/savedir.h: Likewise.
69069
69070         2006-08-15  Jim Meyering  <jim@meyering.net>
69071
69072         * lib/at-func.c: New file, with the logic of all emulated at-functions.
69073         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
69074         in support of the EXPECTED_ERRNO macro.
69075         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
69076         definitions.  Instead, define the appropriate symbols and include
69077         "at-func.c".
69078         * lib/mkdirat.c (mkdirat): Likewise.
69079         * lib/fchmodat.c (fchmodat): Likewise.
69080         (ENOSYS): Remove definition.
69081         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
69082         it.  Don't include "unistd--.h" -- it wasn't ever used.
69083
69084         2006-01-17  Jim Meyering  <jim@meyering.net>
69085
69086         Rewrite fts.c not to change the current working directory,
69087         by using openat, fstatat, fdopendir, etc..
69088
69089         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
69090         (HAVE_OPENAT_SUPPORT): Define.
69091         [_LIBC] (fchdir): Don't undef or define; no longer used.
69092         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
69093         Now, this `function' always succeeds, and consumes its file descriptor
69094         parameter -- so callers must not close such FDs.  Update callers.
69095         (diropen_fd, opendirat, cwd_advance_fd): New functions.
69096         (diropen): Add parameter, SP.  Adjust all callers.
69097         Implement using diropen_fd, rather than open.
69098         (fts_open): Initialize new member, fts_cwd_fd.
69099         Remove fts_rft-setting code.
69100         (fts_close): Close fts_cwd_fd, if necessary.
69101         (__opendir2): Define in terms of opendir or opendirat,
69102         depending on whether the FST_NOCHDIR flag is set.
69103         (fts_build): Since fts_safe_changedir consumes its FD, and since
69104         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
69105         and close the dup'd file descriptor upon failure.
69106         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
69107         (fts_safe_changedir): Tweak semantics to reflect that this function
69108         now calls cwd_advance_fd and hence consumes its FD argument.
69109         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
69110         [struct FTS] (fts_rft): Remove now-unused member.
69111         [struct FTS] (fts_cycle.state): Improve comment.
69112
69113         * lib/openat.c (openat_needs_fchdir): New function.
69114         * lib/openat.h (openat_needs_fchdir): Declare it.
69115
69116 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69117
69118         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
69119         Problem and fix reported by Pádraig Brady in
69120         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
69121
69122 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69123
69124         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
69125
69126 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69127
69128         * lib/memcoll.c (memcoll): Optimize for the common case where the
69129         arguments are bytewise equal.
69130
69131 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69132
69133         * doc/regexprops-generic.texi: Add a copyright notice.
69134
69135 2006-08-15  Bruno Haible  <bruno@clisp.org>
69136
69137         * modules/tmpdir (License): Change to LGPL.
69138
69139 2006-08-15  Bruno Haible  <bruno@clisp.org>
69140
69141         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
69142         module.
69143
69144 2006-08-14  Simon Josefsson  <jas@extundo.com>
69145
69146         * config/srclist.txt: Add gnupload.
69147
69148 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69149
69150         Change copyright notice from LGPL 2 to GPL 2, since that's the
69151         standard form used in the gnulib repository.
69152         * tests/test-lock.c: Likewise.
69153         * tests/test-stdint.c: Likewise.
69154         * tests/test-tls.c: Likewise.
69155
69156         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
69157         prelude-manager.  User shorter URLs for GNU projects, without '?'.
69158         Add copyright notice.
69159
69160         * check-module: Add copyright notice.  Output a copyright
69161         notice if "--version" is specified.
69162         * modules/COPYING: New file.
69163         * tests/test-getaddrinfo.c: Add copyright notice.
69164         * tests/test-verify.c: Likewise.
69165
69166 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69167
69168         Change copyright notice from LGPL 2 to GPL 2, since that's the
69169         standard form used in the gnulib repository.
69170         * lib/lock.c: LGPL -> GPL.
69171         * lib/lock.h: Likewise.
69172         * lib/strnlen1.c: Likewise.
69173         * lib/strnlen1.h: Likewise.
69174         * lib/tls.c: Likewise.
69175         * lib/tls.h: Likewise.
69176         * lib/tmpdir.c: Likewise.
69177
69178         * lib/TODO: Remove; this belongs only in coreutils.
69179
69180 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69181
69182         Add copyright notices to long-enough files that lack them, since
69183         otherwise the files aren't clearly free.  Use the same notice that
69184         getdate.texi already uses.
69185         * doc/alloca-opt.texi: Add copyright notice.
69186         * doc/alloca.texi: Likewise.
69187         * doc/ctime.texi: Likewise.
69188         * doc/functions.texi: Likewise.
69189         * doc/gcd.texi: Likewise.
69190         * doc/gnulib-tool.texi: Likewise.
69191         * doc/inet_ntoa.texi: Likewise.
69192         * doc/visibility.texi: Likewise.
69193
69194         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
69195         * doc/quote.texi: Add copyright notice.
69196
69197         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
69198         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
69199         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
69200         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
69201         is now obsolete, and give a pointer to the Sun list.
69202         Add copyright notice.
69203
69204 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69205
69206         * config/srclistvars.sh: Add copyright notice.
69207
69208 2006-08-14  Eric Blake  <ebb9@byu.net>
69209
69210         Import the following change from libc:
69211
69212         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
69213
69214         Upstream bug 2997.
69215         * lib/misc/error.c: Add space between program name and message if file
69216         name is missing.
69217
69218 2006-08-12  Karl Berry  <karl@gnu.org>
69219
69220         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
69221         remove, these originate in gnulib now.
69222
69223 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69224
69225         * doc/Makefile (standards.info standards.html standards.dvi):
69226         Also depend on make-stds.texi.
69227
69228 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69229
69230         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
69231         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
69232
69233         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
69234         in wchar_t.  Problem reported by Eric Blake.
69235
69236         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
69237         LEN is smaller than SIZE.  Suggested by Bruno Haible.
69238         Also, help the compiler to keep LEN in a register.
69239
69240 2006-08-11  Eric Blake  <ebb9@byu.net>
69241
69242         * users.txt: Sort.  Add tar.
69243
69244 2006-08-11  Bruno Haible  <bruno@clisp.org>
69245
69246         * users.txt: New file.
69247
69248 2006-08-11  Bruno Haible  <bruno@clisp.org>
69249
69250         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
69251         before <wchar.h>. Needed for OSF/1 and BSD/OS.
69252
69253 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69254
69255         * modules/snprintf (Depends-on): Remove minmax.
69256         (Maintainer): Add self and Bruno.
69257
69258 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69259
69260         * lib/.cppi-disable: Add snprintf.h, socket_.h.
69261         * lib/snprintf.c: Include <errno.h> and <limits.h>.
69262         (EOVERFLOW): Define if the system does not.
69263         Do not include "minmax.h"; it wasn't used.
69264         (snprintf): Don't assume size_t promotes to an unsigned type.
69265         Fix bug when generated string was too long for the buffer: the
69266         buffer's contents are supposed to be the initial prefix of the
69267         output.  Don't assume vasnprintf returns EOVERFLOW if the size
69268         exceeds INT_MAX; do the check ourselves.
69269
69270         Import the following changes from libc:
69271
69272         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
69273
69274         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
69275         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
69276         set wc to the byte which couldn't be converted.
69277         (re_string_reconstruct): Don't clear valid_raw_len before calling
69278         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
69279         tip_context using re_string_context_at.
69280
69281         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
69282
69283         * lib/posix/regex.h: g++ still cannot handled [restrict].
69284
69285         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
69286
69287         * lib/posix/regex.h: Remove special handling for VMS.
69288
69289 2006-08-10  Jim Meyering  <jim@meyering.net>
69290
69291         * modules/same-inode: New module.
69292         * modules/dev-ino: New module.
69293         * modules/cycle-check: Depend on these modules, rather than simply
69294         including their .h files.
69295         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
69296         required via m4/cycle-check.m4.
69297         * modules/same: Depend on new same-inode module, rather than
69298         including same-inode.h.
69299         * modules/chdir-safer: New file.
69300
69301         * modules/chown (Depends-on): Add stat-macros.
69302
69303 2006-08-10  Jim Meyering  <jim@meyering.net>
69304
69305         * m4/cycle-check.m4: New file.
69306         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
69307         * m4/dev-ino.m4, m4/same-inode.m4: New files.
69308
69309 2006-08-10  Eric Blake  <ebb9@byu.net>
69310
69311         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
69312         in from original proposal.
69313
69314 2006-08-10  Eric Blake  <ebb9@byu.net>
69315         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69316
69317         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
69318         namespace.
69319
69320 2006-08-10  Bruno Haible  <bruno@clisp.org>
69321
69322         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
69323         as well.
69324
69325 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69326
69327         Sync from coreutils.
69328
69329         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
69330
69331         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
69332         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
69333
69334 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69335
69336         * modules/restrict: Remove; no longer needed now that we assume
69337         Autoconf 2.59 or later.
69338         * MODULES.html.sh: Remove 'restrict'.
69339         * modules/argp (Depends-on): Remove 'restrict'.
69340         * modules/base64 (Depends-on): Likewise.
69341         * modules/gc (Depends-on): Likewise.
69342         * modules/getaddrinfo (Depends-on): Likewise.
69343         * modules/glob (Depends-on): Likewise.
69344         * modules/inet_ntop (Depends-on): Likewise.
69345         * modules/inet_pton (Depends-on): Likewise.
69346         * modules/memxor (Depends-on): Likewise.
69347         * modules/regex (Depends-on): Likewise.
69348         * modules/strtok_r (Depends-on): Likewise.
69349         * modules/time_r (Depends-on): Likewise.
69350
69351 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69352
69353         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
69354         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
69355         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69356         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
69357         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
69358         * m4/memxor.m4 (gl_MEMXOR): Likewise.
69359         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
69360         gl_C_RESTRICT replaced by AC_C_RESTRICT.
69361
69362         Merge from coreutils.
69363         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
69364         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
69365         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69366         * m4/time_r.m4 (gl_TIME_R): Likewise.
69367
69368 2006-08-09  Karl Berry  <karl@gnu.org>
69369
69370         * config/srclist.txt: no more gettext-tools, per Bruno.
69371
69372 2006-08-08  Eric Blake  <ebb9@byu.net>
69373
69374         * modules/verror: New module.
69375         * MODULES.html.sh: Document it.
69376
69377 2006-08-08  Eric Blake  <ebb9@byu.net>
69378
69379         * lib/verror.h, lib/verror.c: New files.
69380
69381 2006-08-08  Eric Blake  <ebb9@byu.net>
69382
69383         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69384         verror_at_line output complies with GNU Coding Standards even when
69385         file is NULL.
69386
69387 2006-08-07  Bruno Haible  <bruno@clisp.org>
69388
69389         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69390         versions of AIX.
69391         Reported by Ralf Wildenhues.
69392
69393 2006-08-07  Bruno Haible  <bruno@clisp.org>
69394
69395         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69396         in an AC_DEFUN. Needed so that the autoconf snippets can use
69397         AC_REQUIRE.
69398
69399 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69400
69401         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69402         Initialize pkgdata_DATA.
69403         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69404         overriding it.
69405
69406 2006-08-06  Eric Blake  <ebb9@byu.net>
69407
69408         * lib/error.h: Fold in some upstream changes from glibc.
69409         * lib/error.c: Likewise.
69410
69411 2006-08-04  Bruno Haible  <bruno@clisp.org>
69412
69413         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69414         Make the mostlyclean-local rule depend on mostlyclean-generic.
69415         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69416
69417 2006-07-31  Bruno Haible  <bruno@clisp.org>
69418
69419         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69420         <stdlib.h>, <string.h>.
69421
69422 2006-07-30  Bruno Haible  <bruno@clisp.org>
69423
69424         * modules/readlink (License): Change to LGPL.
69425
69426 2006-07-30  Bruno Haible  <bruno@clisp.org>
69427
69428         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69429         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69430         set PKGDATADIR to point to it.
69431
69432 2006-07-30  Bruno Haible  <bruno@clisp.org>
69433
69434         * modules/csharpexec (configure.ac): Comment out macro invocation.
69435         * modules/javaexec (configure.ac): Likewise.
69436         * modules/javacomp-script (configure.ac): Likewise.
69437
69438         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69439
69440 2006-07-30  Bruno Haible  <bruno@clisp.org>
69441
69442         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69443         linked-list.
69444
69445 2006-07-30  Bruno Haible  <bruno@clisp.org>
69446
69447         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69448
69449 2006-07-30  Bruno Haible  <bruno@clisp.org>
69450
69451         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69452         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69453         get removed.
69454
69455 2006-07-29  Bruno Haible  <bruno@clisp.org>
69456
69457         Make it possible for gnulib-tool to work with locally modified or
69458         augmented gnulib repositories.
69459         * gnulib-tool (func_usage): Document --local-dir option.
69460         (local_gnulib_dir): New variable.
69461         Handle --local-dir option.
69462         (func_lookup_file): New function.
69463         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69464         (func_get_description, func_get_filelist, func_get_description,
69465         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69466         func_get_automake_snippet, func_get_include_directive,
69467         func_get_license, func_get_maintainer): Use func_lookup_file.
69468         (func_import, func_create_testdir): Use func_lookup_file.
69469
69470 2006-07-29  Bruno Haible  <bruno@clisp.org>
69471
69472         * modules/setenv (Depends-on): Add unistd.
69473
69474 2006-07-29  Bruno Haible  <bruno@clisp.org>
69475
69476         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69477
69478 2006-07-29  Bruno Haible  <bruno@clisp.org>
69479
69480         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69481
69482 2006-07-29  Bruno Haible  <bruno@clisp.org>
69483
69484         * gnulib-tool (import, update): If there is no Makefile.am, look at
69485         aclocal.m4, instead of bailing out.
69486
69487 2006-07-29  Bruno Haible  <bruno@clisp.org>
69488
69489         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69490         Categorize the options by when they are useful.
69491
69492 2006-07-29  Bruno Haible  <bruno@clisp.org>
69493
69494         * gnulib-tool (func_usage): Document option --no-libtool.
69495         Handle option --no-libtool.
69496         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69497         for changed semantics of $libtool variable.
69498         (func_import): Likewise. If libtool is not used, show this through
69499         an option --no-libtool.
69500         (func_create_testdir): Update.
69501
69502 2006-07-29  Bruno Haible  <bruno@clisp.org>
69503
69504         * gnulib-tool (func_import): Extend error message about missing
69505         --doc-base.
69506
69507 2006-07-29  Bruno Haible  <bruno@clisp.org>
69508
69509         * gnulib-tool (func_import): Don't create the $docbase directory if
69510         there is no file to store there.
69511
69512 2006-07-29  Bruno Haible  <bruno@clisp.org>
69513
69514         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69515         relevant, look for configure.ac there, not in the current directory.
69516         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69517
69518 2006-07-29  Bruno Haible  <bruno@clisp.org>
69519
69520         * gnulib-tool (SORT): New variable.
69521         (func_usage): Undocument --assume-autoconf option.
69522         Remove --assume-autoconf option handling.
69523         (autoconf_minversion): Determine from the contents of configure.ac.
69524         (func_import): Remove autoconf_minversion handling.
69525         Suggested by Eric Blake.
69526
69527 2006-07-29  Bruno Haible  <bruno@clisp.org>
69528
69529         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69530
69531 2006-07-29  Bruno Haible  <bruno@clisp.org>
69532
69533         * config/srclist.txt (*setenv.[ch]): Remove rules.
69534
69535 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69536
69537         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69538
69539 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69540
69541         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69542         arpa/inet.h.
69543
69544 2006-07-28  Simon Josefsson  <jas@extundo.com>
69545
69546         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69547         * modules/inet_pton (Depends-on): Likewise.
69548
69549 2006-07-28  Simon Josefsson  <jas@extundo.com>
69550
69551         * m4/netinet_in_h.m4: New file.
69552
69553 2006-07-28  Simon Josefsson  <jas@extundo.com>
69554
69555         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69556         #include's.
69557
69558 2006-07-28  Simon Josefsson  <jas@extundo.com>
69559
69560         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69561         #include's.
69562
69563 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69564
69565         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69566         setgid on directories only if they set these bits.
69567         * lib/modechange.h: Remove obsolete comment about masks.
69568
69569 2006-07-28  Eric Blake  <ebb9@byu.net>
69570
69571         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69572         macro expansion.
69573
69574 2006-07-28  Bruno Haible  <bruno@clisp.org>
69575
69576         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69577
69578 2006-07-28  Bruno Haible  <bruno@clisp.org>
69579
69580         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69581
69582 2006-07-28  Bruno Haible  <bruno@clisp.org>
69583
69584         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69585         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69586         Define fallbacks.
69587         Avoids link error on FreeBSD 4.x.
69588         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69589
69590         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69591         encoding.
69592         * lib/mbswidth.c (iswcntrl): Likewise.
69593
69594 2006-07-27  Bruno Haible  <bruno@clisp.org>
69595
69596         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69597         test.
69598
69599 2006-07-27  Bruno Haible  <bruno@clisp.org>
69600
69601         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69602         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69603         defined.
69604
69605 2006-07-26  Eric Blake  <ebb9@byu.net>
69606
69607         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69608
69609 2006-07-26  Eric Blake  <ebb9@byu.net>
69610
69611         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69612         like mingw that lack mkstemp.
69613         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69614         avoid compilation warning on mingw.
69615
69616 2006-07-26  Bruno Haible  <bruno@clisp.org>
69617
69618         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69619         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69620         INT_FAST*_MIN, INTPTR_MIN.
69621
69622 2006-07-25  Bruno Haible  <bruno@clisp.org>
69623
69624         * modules/version-etc (Depends-on): Add stdarg.
69625
69626 2006-07-25  Bruno Haible  <bruno@clisp.org>
69627
69628         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69629         complex commands.
69630
69631 2006-07-25  Bruno Haible  <bruno@clisp.org>
69632
69633         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69634         defined in <stdarg.h> or config.h.
69635
69636 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69637
69638         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69639         (gl_STDIO_SAFER): Remove.
69640
69641 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69642
69643         * MODULES.html.sh (File stream based Input/Output):
69644         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69645         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69646         * modules/fopen-safer, modules/tmpfile-safer: New files.
69647         * modules/stdio-safer: Remove.
69648
69649 2006-07-24  Bruno Haible  <bruno@clisp.org>
69650
69651         * modules/tmpdir: New file.
69652         * MODULES.html.sh (File system functions): Add it.
69653
69654 2006-07-24  Bruno Haible  <bruno@clisp.org>
69655
69656         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69657         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69658
69659 2006-07-24  Bruno Haible  <bruno@clisp.org>
69660
69661         * modules/clean-temp: New file.
69662
69663 2006-07-24  Bruno Haible  <bruno@clisp.org>
69664
69665         * m4/tmpdir.m4: New file, from GNU gettext.
69666
69667 2006-07-24  Bruno Haible  <bruno@clisp.org>
69668
69669         * lib/tmpdir.h: New file, from GNU gettext.
69670         * lib/tmpdir.c: New file, from GNU gettext.
69671
69672 2006-07-24  Bruno Haible  <bruno@clisp.org>
69673
69674         * lib/clean-temp.h: New file, from GNU gettext.
69675         * lib/clean-temp.c: New file, from GNU gettext.
69676
69677 2006-07-23  Eric Blake  <ebb9@byu.net>
69678
69679         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69680         (Depends-on): Add binary-io.
69681
69682 2006-07-23  Eric Blake  <ebb9@byu.net>
69683
69684         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69685
69686 2006-07-23  Eric Blake  <ebb9@byu.net>
69687
69688         * lib/tmpfile-safer.c: New file.
69689         * lib/stdio-safer.h (fopen_safer): Add prototype.
69690         * lib/stdio--.h (tmpfile): Make safer.
69691
69692 2006-07-23  Bruno Haible  <bruno@clisp.org>
69693
69694         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69695         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69696         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69697         gl_linked_remove_at): Use it.
69698
69699 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69700         and Simon Josefsson <jas@extundo.com>
69701
69702         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69703
69704         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69705
69706 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69707
69708         * modules/close-stream: New file.
69709         * modules/closeout (Description): Make it clear that it exits
69710         with a diagnostic on error.
69711         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69712         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69713
69714 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69715
69716         * m4/close-stream.m4: New file.
69717
69718 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69719
69720         * lib/close-stream.c, lib/close-stream.h: New files.
69721
69722 2006-07-22  Bruno Haible  <bruno@clisp.org>
69723
69724         Merge from GNU gettext 0.15.
69725
69726         2006-05-01  Bruno Haible  <bruno@clisp.org>
69727
69728                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69729
69730         2006-07-22  Bruno Haible  <bruno@clisp.org>
69731
69732                 * modules/javaversion: New file.
69733                 * MODULES.html.sh (Java): Add javaversion.
69734
69735         2006-03-12  Bruno Haible  <bruno@clisp.org>
69736
69737                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69738
69739         2005-12-04  Bruno Haible  <bruno@clisp.org>
69740
69741                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69742                 (untested).
69743
69744         2006-06-21  Bruno Haible  <bruno@clisp.org>
69745
69746                 Avoid warnings from recent versions of mcs.
69747                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69748                 -o, -L, -r any more. Use options documented since mcs-1.0
69749                 instead. Similarly for -g.
69750
69751         2005-12-04  Bruno Haible  <bruno@clisp.org>
69752
69753                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69754                 .resources, not .resource.
69755
69756         2005-07-09  Bruno Haible  <bruno@clisp.org>
69757
69758                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69759                 add a .dll suffix.
69760                 Reported by Mark Junker <mjscod@gmx.de>.
69761
69762         2006-07-22  Bruno Haible  <bruno@clisp.org>
69763
69764                 * modules/gettext: Upgrade to gettext-0.15.
69765                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69766                 m4/visibility.m4.
69767                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69768
69769 2006-07-22  Bruno Haible  <bruno@clisp.org>
69770
69771         Merge from GNU gettext 0.15.
69772
69773         2006-03-25  Bruno Haible  <bruno@clisp.org>
69774
69775                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69776
69777         2006-07-21  Bruno Haible  <bruno@clisp.org>
69778
69779                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69780                 "1.1".
69781
69782         2006-05-09  Bruno Haible  <bruno@clisp.org>
69783
69784                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69785                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69786                 for the conftestver execution.
69787
69788         2006-05-01  Bruno Haible  <bruno@clisp.org>
69789
69790                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69791                 optional target-version argument. Verify that the compiler
69792                 groks source of the specified source-version, or add -source
69793                 option as necessary. Verify that the compiler produces
69794                 bytecode in the specified target-version, or add -target and
69795                 -source options as necessary. Make the result of the test
69796                 available as variable CONF_JAVAC. Also log error output in
69797                 config.log.
69798
69799         2006-03-11  Bruno Haible  <bruno@clisp.org>
69800
69801                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
69802
69803         2006-05-09  Bruno Haible  <bruno@clisp.org>
69804
69805                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
69806                 CLASSPATH_SEPARATOR to a semicolon.
69807
69808         2006-03-12  Bruno Haible  <bruno@clisp.org>
69809
69810                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
69811                 available as variable CONF_JAVA, for subsequent autoconf
69812                 tests. Also log error output in config.log.
69813
69814         2006-07-19  Bruno Haible  <bruno@clisp.org>
69815
69816                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
69817                 that getline works on glibc2 systems. Needed to avoid trouble
69818                 in relocatable.c.
69819                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
69820
69821         2005-12-04  Bruno Haible  <bruno@clisp.org>
69822
69823                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
69824                 launcher (untested).
69825
69826         2005-12-04  Bruno Haible  <bruno@clisp.org>
69827
69828                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
69829
69830         2006-07-22  Bruno Haible  <bruno@clisp.org>
69831
69832                 * gettext.m4: Update from GNU gettext-0.15.
69833                 * nls.m4: Likewise.
69834                 * po.m4: Likewise.
69835                 * inttypes-pri.m4: Likewise.
69836                 * inttypes-h.m4: Renamed from inttypes.m4.
69837                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
69838
69839 2006-07-22  Bruno Haible  <bruno@clisp.org>
69840
69841         Merge from GNU gettext 0.15.
69842
69843         2005-07-05  Bruno Haible  <bruno@clisp.org>
69844
69845                 * printf-args.c (printf_fetchargs): Work around broken
69846                 definition of wint_t on mingw.
69847
69848         2005-02-12  Bruno Haible  <bruno@clisp.org>
69849
69850                 * xallocsa.h: Add extern "C" for C++.
69851
69852         2006-05-17  Bruno Haible  <bruno@clisp.org>
69853
69854                 Cygwin portability.
69855                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
69856
69857         2006-04-30  Bruno Haible  <bruno@clisp.org>
69858
69859                 * progreloc.c: Include <mach-o/dyld.h> if available.
69860                 (find_executable): Use _NSGetExecutablePath when possible.
69861
69862         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69863
69864                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
69865                 function.
69866
69867         2005-12-29  Bruno Haible  <bruno@clisp.org>
69868
69869                 * progreloc.c (set_program_name_and_installdir): Fix
69870                 compilation error.
69871
69872         2005-12-04  Bruno Haible  <bruno@clisp.org>
69873
69874                 Cygwin portability.
69875                 * progreloc.c: Include <windows.h> also on Cygwin.
69876                 (find_executable): Add support for Cygwin.
69877                 (set_program_name_and_installdir): Handle also platforms with
69878                 nonempty EXEEXT.
69879
69880         2006-07-11  Bruno Haible  <bruno@clisp.org>
69881
69882                 * javacomp.c: Fix a comment.
69883                 Reported by Jim Meyering.
69884
69885         2006-04-30  Bruno Haible  <bruno@clisp.org>
69886
69887                 * javacomp.h (compile_java_class): Add source_version,
69888                 target_version arguments.
69889                 * javacomp.c: Rewritten to choose only a compiler that
69890                 respects the specified source_version and target_version.
69891
69892         2006-06-27  Bruno Haible  <bruno@clisp.org>
69893
69894                 Assume correct S_ISDIR macro.
69895                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
69896
69897         2006-07-22  Bruno Haible  <bruno@clisp.org>
69898
69899                 * javaversion.h: New file, from GNU gettext.
69900                 * javaversion.c: New file, from GNU gettext.
69901                 * javaversion.java: New file, from GNU gettext.
69902                 * javaversion.class: New file, from GNU gettext.
69903
69904         2006-05-17  Bruno Haible  <bruno@clisp.org>
69905
69906                 Cygwin portability.
69907                 * javaexec.c (execute_java_class): Test for jview program
69908                 also on Cygwin.
69909
69910         2006-04-09  Bruno Haible  <bruno@clisp.org>
69911
69912                 * fatal-signal.c: Don't include string.h.
69913                 (at_fatal_signal): Use a copying loop instead of memcpy.
69914
69915         2005-12-04  Bruno Haible  <bruno@clisp.org>
69916
69917                 * csharpexec.c: Add support for 'clix' launcher (untested).
69918                 (execute_csharp_using_sscli): New function.
69919                 (execute_csharp_program): Call it.
69920
69921         2006-06-21  Bruno Haible  <bruno@clisp.org>
69922
69923                 Avoid warnings from recent versions of mcs.
69924                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
69925                 -o, -L, -r any more. Use options documented since mcs-1.0
69926                 instead. Similarly for -g.
69927
69928         2005-07-09  Bruno Haible  <bruno@clisp.org>
69929
69930                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
69931                 add a .dll suffix.
69932                 Reported by Mark Junker <mjscod@gmx.de>.
69933
69934         2006-06-17  Bruno Haible  <bruno@clisp.org>
69935
69936                 * config.charset: Update for NetBSD 3.0.
69937
69938         2006-05-17  Bruno Haible  <bruno@clisp.org>
69939
69940                 Cygwin portability.
69941                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
69942
69943         2006-05-16  Bruno Haible  <bruno@clisp.org>
69944
69945                 * localcharset.c [CYGWIN]: Include <windows.h>.
69946                 (get_charset_aliases): For Cygwin, return the same CPxxx
69947                 aliases list as under WIN32.
69948                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
69949                 the environment variables. Fall back to GetACP().
69950
69951         2006-04-05  Bruno Haible  <bruno@clisp.org>
69952
69953                 * config.charset: Update Juan Manuel Guerrero's address.
69954
69955         2005-02-12  Bruno Haible  <bruno@clisp.org>
69956
69957                 * allocsa.h: Add extern "C" for C++.
69958
69959         2005-02-10  Bruno Haible  <bruno@clisp.org>
69960
69961                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
69962                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
69963
69964         2006-07-22  Bruno Haible  <bruno@clisp.org>
69965
69966                 * gettext.h: Update to GNU gettext-0.15.
69967
69968 2006-07-22  Bruno Haible  <bruno@clisp.org>
69969
69970         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
69971         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
69972         lib-prefix.m4, longdouble.m4, ssize_t.m4.
69973
69974 2006-07-21  Eric Blake  <ebb9@byu.net>
69975
69976         * modules/stdlib-safer: New file.
69977         * MODULES.html.sh (File stream based Input/Output): Add
69978         stdlib-safer.
69979
69980 2006-07-21  Eric Blake  <ebb9@byu.net>
69981
69982         * lib/stdlib-safer.h: New file from coreutils, required by
69983         stdlib--.h.
69984
69985 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
69986
69987         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
69988
69989 2006-07-20  Bruno Haible  <bruno@clisp.org>
69990
69991         * gnulib-tool: Recognize new option --assume-autoconf.
69992         (autoconf_minversion): New variable.
69993         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
69994
69995 2006-07-20  Bruno Haible  <bruno@clisp.org>
69996
69997         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
69998
69999 2006-07-19  Derek R. Price  <derek@ximbiot.com>
70000
70001         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
70002         Reindent and repaginate.
70003
70004 2006-07-19  Derek Price  <derek@ximbiot.com>
70005
70006         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
70007         Correct grammar.
70008
70009 2006-07-17  Bruno Haible  <bruno@clisp.org>
70010
70011         * modules/list: New file.
70012         * modules/array-list: New file.
70013         * modules/carray-list, modules/carray-list-tests: New files.
70014         * modules/linked-list, modules/linked-list-tests: New files.
70015         * modules/avltree-list, modules/avltree-list-tests: New files.
70016         * modules/rbtree-list, modules/rbtree-list-tests: New files.
70017         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
70018         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
70019         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
70020         * modules/oset: New file.
70021         * modules/array-oset: New file.
70022         * modules/avltree-oset, modules/avltree-oset-tests: New files.
70023         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
70024         * tests/test-carray_list.c: New file.
70025         * tests/test-linked_list.c: New file.
70026         * tests/test-avltree_list.c: New file.
70027         * tests/test-rbtree_list.c: New file.
70028         * tests/test-linkedhash_list.c: New file.
70029         * tests/test-avltreehash_list.c: New file.
70030         * tests/test-rbtreehash_list.c: New file.
70031         * tests/test-avltree_oset.c: New file.
70032         * tests/test-rbtree_oset.c: New file.
70033         * MODULES.html.sh (Container data structures): New section.
70034
70035 2006-07-17  Bruno Haible  <bruno@clisp.org>
70036
70037         * m4/gl_list.m4: New file.
70038
70039 2006-07-17  Bruno Haible  <bruno@clisp.org>
70040
70041         * lib/gl_list.h: New file.
70042         * lib/gl_list.c: New file.
70043         * lib/gl_array_list.h: New file.
70044         * lib/gl_array_list.c: New file.
70045         * lib/gl_carray_list.h: New file.
70046         * lib/gl_carray_list.c: New file.
70047         * lib/gl_linked_list.h: New file.
70048         * lib/gl_linked_list.c: New file.
70049         * lib/gl_anylinked_list1.h: New file.
70050         * lib/gl_anylinked_list2.h: New file.
70051         * lib/gl_avltree_list.h: New file.
70052         * lib/gl_avltree_list.c: New file.
70053         * lib/gl_anyavltree_list1.h: New file.
70054         * lib/gl_anyavltree_list2.h: New file.
70055         * lib/gl_rbtree_list.h: New file.
70056         * lib/gl_rbtree_list.c: New file.
70057         * lib/gl_anyrbtree_list1.h: New file.
70058         * lib/gl_anyrbtree_list2.h: New file.
70059         * lib/gl_anytree_list1.h: New file.
70060         * lib/gl_anytree_list2.h: New file.
70061         * lib/gl_linkedhash_list.h: New file.
70062         * lib/gl_linkedhash_list.c: New file.
70063         * lib/gl_anyhash_list1.h: New file.
70064         * lib/gl_anyhash_list2.h: New file.
70065         * lib/gl_avltreehash_list.h: New file.
70066         * lib/gl_avltreehash_list.c: New file.
70067         * lib/gl_rbtreehash_list.h: New file.
70068         * lib/gl_rbtreehash_list.c: New file.
70069         * lib/gl_anytreehash_list1.h: New file.
70070         * lib/gl_anytreehash_list2.h: New file.
70071
70072         * lib/gl_oset.h: New file.
70073         * lib/gl_oset.c: New file.
70074         * lib/gl_array_oset.h: New file.
70075         * lib/gl_array_oset.c: New file.
70076         * lib/gl_avltree_oset.h: New file.
70077         * lib/gl_avltree_oset.c: New file.
70078         * lib/gl_rbtree_oset.h: New file.
70079         * lib/gl_rbtree_oset.c: New file.
70080         * lib/gl_anytree_oset.h: New file.
70081
70082 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70083
70084         * m4/mkancesdirs.m4: New file.
70085         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
70086         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
70087         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
70088         it.
70089
70090 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70091
70092         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
70093         * lib/mkancesdirs.h: New files.
70094         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
70095         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
70096         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
70097         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
70098         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
70099         callers changed.  Revamp internals significantly, by not
70100         attempting to create directories that are temporarily more
70101         permissive than the final results.  Do not attempt to use
70102         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
70103         This removes some race conditions, fixes some bugs, and simplifies
70104         things.  Use new dirchownmod function to do owner and mode changes.
70105         * lib/mkdir-p.h: Likewise.
70106         * lib/modechange.c (octal_to_mode): New function.
70107         (struct mode_change): New member mentioned.
70108         (make_node_op_equals): New arg mentioned.  All callers changed.
70109         (mode_compile): Keep track of which mode bits the user has explicitly
70110         mentioned.
70111         (mode_adjust): New arg DIR, so that we implement the X op correctly.
70112         New arg PMODE_BITS, to keep track of which mode bits the user
70113         mentioned; it treats S_ISUID and S_ISGID speciall.
70114         All callers changed.
70115         * lib/modechange.h: Likewise.
70116
70117 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70118
70119         * MODULES.html.sh: Add mkancestors.
70120         * modules/mkancesdirs: New module.
70121         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
70122         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
70123         The chdir-safer and afs files are now orphans; I'll remove them
70124         unless someone speaks up.
70125         Add lib/dirchownmod.c, lib/dirchownmod.h.
70126         (Depends-on): Remove alloca, chown, save-cwd, dirname.
70127         Add lchown, mkancesdirs.
70128         (Maintainer): Add self.
70129
70130 2006-07-15  Karl Berry  <karl@gnu.org>
70131
70132         * gnulib-tool: help message wording/arrangement.
70133
70134 2006-07-14  Simon Josefsson  <jas@extundo.com>
70135
70136         * doc/gnulib.texi (Libtool and Windows): New section.
70137
70138 2006-07-12  Simon Josefsson  <jas@extundo.com>
70139
70140         * modules/gendocs (License): Fix license, approved by Karl.
70141
70142 2006-07-12  Eric Blake  <ebb9@byu.net>
70143
70144         * MODULES.html.sh: Add gendocs.
70145
70146 2006-07-11  Eric Blake  <ebb9@byu.net>
70147
70148         * modules/fdl: New module, to install doc/fdl.texi.
70149         * MODULES.html.sh: Add new section for documentation modules.
70150         * gnulib-tool: Avoid space-tab.
70151         (--doc-base): New option, to manage files from doc.
70152
70153 2006-07-11  Eric Blake  <ebb9@byu.net>
70154
70155         * m4/absolute-header.m4: Fix comments to match recent change.
70156
70157 2006-07-11  Eric Blake  <ebb9@byu.net>
70158
70159         * gnulib-tool: List --doc-base before --tests-base.
70160
70161 2006-07-11  Derek R. Price  <derek@ximbiot.com>
70162
70163         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
70164
70165 2006-07-11  Bruno Haible  <bruno@clisp.org>
70166
70167         * README: Mention where to put documentation.
70168
70169 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70170
70171         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
70172
70173 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70174
70175         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
70176         to stdint.m4.
70177
70178 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70179
70180         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
70181         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
70182         "no/such/file/stdint.h" when there is no such file, so that
70183         the resulting C code can be parsed by dodgy compilers.
70184         Problems reported by Bob Proulx.
70185
70186 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70187
70188         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
70189         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70190         macros into the GNU _D_EXACT_NAMLEN.
70191         * lib/savedir.c:  Likewise.
70192         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
70193
70194 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70195         and Paul Eggert  <eggert@cs.ucla.edu>
70196
70197         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
70198         * m4/savedir.m4:
70199         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70200         macros into the GNU _D_EXACT_NAMLEN.
70201
70202 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70203
70204         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
70205         around the absolute name, to work around a problem with the HP-UX
70206         11.23 native C compiler, reported by Bob Proulx.
70207
70208 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70209
70210         * doc/maintain.texi, make-stds.texi: Sync from
70211         <http://savannah.gnu.org/projects/gnustandards>.
70212
70213 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70214
70215         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
70216
70217 2006-07-09  Jim Meyering  <jim@meyering.net>
70218
70219         * m4/glob.m4: Remove a doubled word in a comment.
70220
70221 2006-07-09  Jim Meyering  <jim@meyering.net>
70222
70223         * lib/argp-pv.c: Remove a doubled word in a comment.
70224         * lib/check-version.c (check_version): Likewise.
70225         * lib/javacomp.c (compile_java_class): Likewise.
70226
70227 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70228
70229         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
70230         for the benefit of people using Autoconf 2.60.  If you want to
70231         support older Autoconf versions you can copy m4/onceonly_2_57.m4
70232         (or m4/onceonly.m4, if pre-2.57) manually.
70233
70234 2006-07-08  Jim Meyering  <jim@meyering.net>
70235
70236         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
70237         comment.
70238         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
70239         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
70240         comment.
70241
70242 2006-07-08  Jim Meyering  <jim@meyering.net>
70243
70244         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
70245
70246 2006-07-07  Simon Josefsson  <jas@extundo.com>
70247
70248         * tests/test-crc.c: Change expected crc value, the test vector
70249         were probably computed using the old broken crc.c?
70250
70251 2006-07-06  Simon Josefsson  <jas@extundo.com>
70252
70253         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
70254         now the canonical place for the M4 file).
70255
70256         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
70257         from the sys_socket dependency now.
70258
70259         * modules/inet_pton (Files): Ditto.
70260
70261         * modules/inet_ntop (Files): Ditto.
70262
70263 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70264
70265         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
70266         not gl_PREREQ_GETUSERSHELL.
70267
70268 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70269
70270         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
70271         with only one argument, for Autoconf 2.60.
70272         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
70273         expand to nothing, so add a shell command to avoid syntax error.
70274         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
70275
70276 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70277
70278         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
70279
70280 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70281
70282         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
70283         no longer needed.  Check for isblank decl.
70284         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
70285         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
70286         of existence.
70287
70288 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70289
70290         * lib/getloadavg.c: Use __VMS, not VMS.
70291         * lib/getopt.c: Likewise.
70292         * lib/getpagesize.h: Likewise.
70293         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
70294         and probably does not work.
70295
70296 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70297
70298         * lib/.cppi-disable: Add wcwidth.
70299         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
70300         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
70301         (ISGRAPH): Remove.  All uses changed to isgraph.
70302         (FOLD) [!defined _LIBC]: Remove special case.
70303         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
70304         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
70305         HAVE_ISBLANK.
70306         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
70307         case.
70308
70309 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70310
70311         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
70312         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
70313         brackets.  Other minor changes to suppress some compiler
70314         warnings.
70315
70316 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70317         and Paul Eggert  <eggert@cs.ucla.edu>
70318
70319         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
70320         of invoking obsolescent AC_HEADER_DIRENT macro.
70321         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
70322         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
70323         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
70324         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
70325         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
70326         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70327         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
70328         * m4/readdir.m4: Remove; no longer needed.
70329
70330 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70331         and Paul Eggert  <eggert@cs.ucla.edu>
70332
70333         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
70334         Don't worry about this obsolete case any more.
70335         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
70336         directories.
70337         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
70338         worry about this obsolete case any more.
70339         * lib/fts.c: Likewise.
70340         * lib/getcwd.c: Likewise.
70341         * lib/glob.h: Likewise.
70342         * lib/savedir.c: Likewise.
70343
70344 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70345
70346         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
70347         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
70348         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
70349         needed.
70350         All uses removed.
70351         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70352         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70353         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
70354         needed.
70355         * m4/getdate.m4 (gl_GETDATE): Likewise.
70356         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70357         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70358         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70359         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70360         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70361         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70362         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
70363         needed.
70364
70365 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70366
70367         * lib/memcasecmp.c: Include <limits.h>.
70368         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
70369         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
70370         Don't assume isdigit succeeds only on '0' through '9'.
70371
70372 2006-07-05  Eric Blake  <ebb9@byu.net>
70373
70374         * modules/getaddrinfo (Depends-on): Add snprintf.
70375
70376 2006-07-05  Eric Blake  <ebb9@byu.net>
70377
70378         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
70379         to avoid 'header present but could not be compiled' on cygwin.
70380
70381 2006-07-05  Eric Blake  <ebb9@byu.net>
70382
70383         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70384         missing from netdb.h.
70385         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70386
70387 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70388
70389         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70390         no longer needed.
70391         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70392         * m4/getdate.m4 (gl_GETDATE): Likewise.
70393         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70394         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70395         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70396         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70397         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70398
70399 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70400
70401         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70402         All uses of is_space replaced by isspace.
70403         * lib/exit.h: Don't talk about STDC_HEADERS.
70404         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70405         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70406         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70407         replaced by isprint etc.
70408         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70409         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70410         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70411         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70412         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70413         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70414
70415 2006-07-05  Bruno Haible  <bruno@clisp.org>
70416
70417         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70418         the function exists, before testing against AIX.
70419         Reported by Martin Lambers <marlam@marlam.de>.
70420
70421 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70422
70423         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70424         From Mark D. Baushke.
70425
70426 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70427
70428         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70429         to the absolute name, not just one, to bypass Sun C 5.8's
70430         "warning: #include of /usr/include/... may be non-portable".
70431
70432 2006-07-04  Eric Blake  <ebb9@byu.net>
70433
70434         * modules/dirname-tests: New test module.
70435         * tests/test-dirname.c: New file, replacing dirname.c
70436         TEST_DIRNAME section that was recently deleted.
70437
70438 2006-07-04  Bruno Haible  <bruno@clisp.org>
70439
70440         Assume ANSI C header files and <ctype.h> functions.
70441         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70442         (mbsnwidth): Use isprint, iscntrl instead.
70443
70444 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70445
70446         Merge from coreutils.
70447         * MODULES.html.sh: Add xstrtold.
70448         * modules/xstrtold: New file.
70449         * modules/cycle-check (Files): Add lib/same-inode.h.
70450         * modules/dirname (Files): Add m4/double-slash-root.m4.
70451         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70452         * modules/mkdir-p (Files): Add lib/same-inode.h.
70453         * modules/same (Files): Add lib/same-inode.h.
70454
70455 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70456
70457         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70458         This is to keep the terminology clean; POSIX talks about
70459         "absolute pathnames", not "full pathnames", but the GNU
70460         Coding Standards say to use "path" for something else;
70461         so use "absolute" to keep both sides happy.
70462         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70463         Set gl_absolute_header, not gl_full_header_path.
70464         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70465         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70466         All uses changed.
70467
70468         Merge from coreutils.
70469
70470         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70471
70472         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70473         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70474         want to require the building of c-strtod.o.
70475         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70476         needs -lm directly.
70477         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70478
70479         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70480
70481         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70482         --as-needed option if available.  Problem reported by Albert Chin in
70483         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70484         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70485         cc merely issues a bunch of annoying warnings for --as-needed
70486         (this problem was reported by Bob Proulx).  Also, try linking with
70487         -lm to detect a bug in binutils 2.16 (this problem was reported
70488         by Ralf Wildenhues).
70489
70490         2006-06-18  Jim Meyering  <jim@meyering.net>
70491
70492         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70493         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70494         macro.
70495         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70496         also check for glibc-2.4's abort-inducing bug.
70497
70498         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70499         Low-probability clean-up should be to use rmdir to get rid of
70500         the just-created directory, not unlink.
70501
70502         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70503         configure fail, and request a bug report to inform us about it.
70504         Add a comment that, barring reports to the contrary, in 2007 we'll
70505         assume ftruncate is universally available.
70506
70507         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70508
70509         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70510
70511         2006-03-12  Jim Meyering  <jim@meyering.net>
70512
70513         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70514         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70515         * m4/same.m4 (gl_SAME): Likewise.
70516         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70517
70518         2006-03-11  Eric Blake  <ebb9@byu.net>
70519
70520         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70521         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70522         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70523         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70524
70525 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70526
70527         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70528         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70529         reported by Mark D. Baushke, one in
70530         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70531
70532         Merge from coreutils.
70533
70534         * lib/.cppi-disable: Add stdint_.h.
70535         * lib/.cvsignore: Add stdint.h.
70536
70537         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70538
70539         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70540         both double and long double versions.
70541         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70542         * lib/xstrtold.c: New file.
70543         * lib/xstrtod.h (xstrtold): New decl.
70544
70545         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70546
70547         * lib/filemode.c (setst): Remove.
70548         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70549         (arguably) clearer, and the generated code is a bit smaller on my
70550         Debian GNU/Linux stable x86 host.
70551
70552         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70553
70554         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70555         Assume that filemode.h includes sys/types.h and sys/stat.h.
70556         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70557         (ftypelet): Reorder to put common cases first, for efficiency.
70558         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70559         to do 'M'.
70560         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70561         of 10, for compatibility with FreeBSD.  All callers changed.
70562         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70563         types that can't be deduced solely from st_mode.  First arg is now a
70564         const pointer.
70565         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70566         (strmode): Renamed from mode_string.
70567         (filemodestring): New decl.
70568         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70569         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70570         needed.
70571         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70572
70573         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70574
70575         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70576         fsusage.h now does that.  Include fsusage.h first, to test interface.
70577         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70578         at most one method (the old code could have generated decls that
70579         didn't conform to C89, not that this was ever exercised).
70580         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70581
70582         2006-03-19  Jim Meyering  <jim@meyering.net>
70583
70584         Work even in a chroot where d_ino values for entries in "/"
70585         don't match the stat.st_ino values for the same names.
70586         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70587         number, iterate through all entries again, using lstat instead.
70588         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70589         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70590
70591         * lib/getcwd.c (__getcwd): Clarify a comment.
70592         Use memcpy in place of a call to strcpy.
70593
70594         2006-03-12  Jim Meyering  <jim@meyering.net>
70595
70596         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70597         matches that of the current directory (which we're about to chdir ".."
70598         out of), then save the dev-ino of the parent, instead.
70599
70600         * lib/same-inode.h (SAME_INODE): New file/macro.
70601         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70602         Include "same-inode.h", instead.
70603         * lib/same.c: Likewise.
70604         * lib/cycle-check.h: Include "same-inode.h".
70605         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70606         * lib/cycle-check.c (SAME_INODE): Remove definition.
70607         * lib/root-dev-ino.h: Include "same-inode.h".
70608
70609         2006-03-11  Eric Blake  <ebb9@byu.net>
70610
70611         * lib/same.c (same_name): s/base_name/last_component/
70612         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70613         * lib/filenamecat.c (file_name_concat): Likewise.
70614
70615         2006-03-11  Eric Blake  <ebb9@byu.net>,
70616                     Paul Eggert  <eggert@cs.ucla.edu>
70617
70618         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70619         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70620         drive prefix.
70621         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70622         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70623         (last_component): New method.
70624         * lib/dirname.c (dir_len): Determine when drive letters need a
70625         subsequent slash.  Preserve // when it is special.
70626         (dir_name): Don't append dot when drive letter is absolute.
70627         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70628         * lib/basename.c (base_name): New semantics - malloc the result.
70629         Preserve // when it is special.  Preserve relative files that look
70630         like drive letters.
70631         (base_len): Preserve // when it is special.
70632         (last_component): New method, similar to old base_name semantics.
70633         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70634         base_name.  Strip redundant slashes from ///.
70635
70636 2006-07-03  Jim Meyering  <jim@meyering.net>
70637
70638         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70639         macro is used before the first cycle_check call.
70640
70641 2006-07-03  Eric Blake  <ebb9@byu.net>
70642
70643         * modules/dirname (Depends-on): Add xstrndup.
70644
70645 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70646
70647         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70648         test cases, so that config.log is a bit easier to follow.
70649
70650 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70651
70652         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70653         both are 64 bits, since this seems to be the tradition, and this
70654         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70655         we ever run into a host that prefers long long to long in this
70656         case, we'll need another configure-time test.  Problem reported by
70657         Jim Meyering.
70658
70659 2006-07-02  Eric Blake  <ebb9@byu.net>
70660
70661         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70662
70663 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70664
70665         * modules/inttypes (Depends-on): No longer depends on stdint.
70666         * modules/stdint (Description): Say more about assumptions.
70667         Say that the fast types might differ.  Say macros are used.
70668         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70669         (Makefile.am): Revise list of substituted symbols to match
70670         new stdint.m4.
70671         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70672         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70673         * tests/test-stdint.c (verify_same_types)
70674         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70675         the code conforms to C99/C89.
70676         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70677         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70678
70679 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70680
70681         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70682         but fix a bug, by requiring at least 64 bits.
70683         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70684         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70685         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70686         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70687
70688         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70689         changes.  Make 2.59 a prerequisite.  Check and substitute for
70690         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70691         inttypes.h.  Do not use special include files; just use the
70692         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70693         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70694         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70695         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70696         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70697         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70698         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70699         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70700         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70701         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70702         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70703         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70704         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70705         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70706         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70707         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70708         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70709         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70710         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70711         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70712         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70713         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70714         not check for things that C99 does not require, e.g., int8_t.  If
70715         a test isn't needed unless <stdint.h> isn't working, and is
70716         unlikely to be needed for any other reason, then don't do it
70717         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70718         size_t, since we assume C89 freestanding at least.  Do not check
70719         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70720         the right thing even if the types are not defined.  Instead use:
70721         (gl_STDINT_TYPE_PROPERTIES): New macro.
70722         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70723         testing whether <sys/types.h> clashes, as Autoconf does this for
70724         us now.  All uses removed.
70725         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70726         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70727         (gl_CHECK_TYPE_SAME):
70728         Remove; no longer needed.
70729         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70730         exists, since we'll return 0 anyway in that case.
70731         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70732
70733 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70734
70735         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70736         possible collision with system files.
70737         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70738         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70739         WCHAR_MIN and WCHAR_MAX in this case.
70740         (<stddef.h>): Do not include; no longer needed.
70741         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70742         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70743         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70744         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70745         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70746         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70747         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70748         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70749         !defined(__c99))]: Include in this case too, since it's harmless
70750         now.
70751         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70752         dangerous to do so.
70753         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70754         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70755         (_STDINT_MIN, _STDINT_MAX): New macros.
70756         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70757         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70758         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70759         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70760         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70761         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70762         macros, not typedefs; this simplifies things quite a bit.
70763         Use long int for all types narrower than int64_t.
70764         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70765         Define in terms of long long int or int64_t or long int,
70766         not int64_t or int32_t.  This saves some compile-time testing.
70767         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70768         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70769         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70770         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70771         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70772         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70773         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70774         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70775         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70776         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70777         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70778         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70779         undef any previous version and define our own version, for
70780         simplicity and consistency with the new macros for types.
70781         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70782         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70783         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70784         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70785         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70786         @WINT_T_SUFFIX@ to keep things simple here.
70787         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70788         Simplify by assuming typical 8/16/32/64 host, since we're
70789         already doing that elsewhere anyway.
70790         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70791         and assume long long int is 64 bits if available.  This
70792         speeds up 'configure'.
70793
70794 2006-07-01  Eric Blake  <ebb9@byu.net>
70795
70796         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
70797         Reported by Andreas Buening.
70798
70799 2006-07-01  Eric Blake  <ebb9@byu.net>
70800
70801         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
70802
70803 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70804
70805         * lib/getaddrinfo.c: fixed typo
70806
70807 2006-06-29  Jim Meyering  <jim@meyering.net>
70808
70809         * modules/strftime (Maintainer): Add my name, since with the
70810         FPRINTFTIME changes strftime.c has forked from glibc.
70811
70812 2006-06-29  Eric Blake  <ebb9@byu.net>
70813
70814         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
70815
70816 2006-06-29  Eric Blake  <ebb9@byu.net>
70817
70818         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
70819
70820 2006-06-29  Eric Blake  <ebb9@byu.net>
70821
70822         * lib/stat_.h: New file.
70823
70824 2006-06-29  Eric Blake  <ebb9@byu.net>
70825
70826         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
70827         unused static function.
70828
70829 2006-06-29  Eric Blake  <ebb9@byu.net>
70830
70831         * doc/functions.texi (Function Portability): Document missing lstat
70832         on mingw.
70833
70834 2006-06-29  Eric Blake  <ebb9@byu.net>
70835
70836         * MODULES.html.sh: Add sys_stat.
70837         * modules/sys_stat: New module.
70838         * modules/mkstemp (Depends-on): Add sys_stat.
70839
70840 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70841
70842         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
70843
70844 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70845
70846         * m4/c-bs-a.m4: Removed.
70847
70848 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70849
70850         * lib/strftime.c: Assume strftime() exists.
70851
70852 2006-06-29  Derek Price  <derek@ximbiot.com>
70853
70854         * modules/c-bs-a: Removed - \a is C89.
70855         * MODULES.html.sh: Remove c-bs-a.
70856
70857 2006-06-29  Bruno Haible  <bruno@clisp.org>
70858
70859         * modules/wcwidth (License): Change to LGPL.
70860
70861 2006-06-28  Simon Josefsson  <jas@extundo.com>
70862
70863         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
70864         on _WIN32.
70865
70866         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
70867         getnameinfo.
70868
70869 2006-06-28  Simon Josefsson  <jas@extundo.com>
70870
70871         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
70872
70873 2006-06-28  Simon Josefsson  <jas@extundo.com>
70874
70875         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
70876         functions there.  It will succeed on Windows XP, but on Windows
70877         2000 and (presumably) earlier, it will fail, and use the internal
70878         re-implementation.
70879         (use_win32_p): New function.
70880         (getaddrinfo): Use strtoul on servname, to support numeric ports.
70881         Support AI_NUMERICSERV to disable getservbyname.
70882         (getnameinfo): New function, only supports
70883         NI_NUMERICHOST|NI_NUMERICSERV for now.
70884
70885         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
70886         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
70887         getnameinfo.
70888
70889 2006-06-28  Eric Blake  <ebb9@byu.net>
70890
70891         * modules/wcwidth: New file.
70892         * modules/mbchar (Depends-on): Add wcwidth.
70893         * modules/mbswidth (Depends-on): Add wcwidth.
70894         * MODULES.html.sh: Add wcwidth.
70895
70896 2006-06-28  Eric Blake  <ebb9@byu.net>
70897
70898         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
70899         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
70900
70901 2006-06-28  Eric Blake  <ebb9@byu.net>
70902
70903         * lib/xvasprintf.h: Fix comments.
70904
70905 2006-06-28  Eric Blake  <ebb9@byu.net>
70906
70907         * lib/mbchar.h (wcwidth): Include wcwidth.h.
70908         * lib/mbswidth.c (wcwidth): Move from here...
70909         * lib/wcwidth.h: ...to this new file.
70910
70911 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70912
70913         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
70914
70915         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
70916         it's obsolete.
70917         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
70918
70919 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70920
70921         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
70922         Autoconf 2.60 says this stuff was obsolete.
70923
70924 2006-06-28  Bruno Haible  <bruno@clisp.org>
70925
70926         * modules/wcwidth (Files): Add m4/wchar_t.m4.
70927
70928 2006-06-28  Bruno Haible  <bruno@clisp.org>
70929
70930         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
70931         gt_TYPE_WCHAR_T.
70932
70933 2006-06-28  Bruno Haible  <bruno@clisp.org>
70934
70935         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
70936         declaration for wcwidth.
70937         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
70938
70939 2006-06-28  Bruno Haible  <bruno@clisp.org>
70940
70941         * lib/mkdtemp.c [MINGW]: Include <io.h>.
70942         (mkdir): Define using _mkdir.
70943
70944 2006-06-28  Bruno Haible  <bruno@clisp.org>
70945
70946         * lib/getaddrinfo.h: Fix POSIX URL.
70947         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
70948         _WIN32.
70949         (use_win32_p): Make static.
70950         (getaddrinfo): Reject service name if it is empty or does not consist
70951         solely of decimal digits, or if its value is > 65535.
70952         (getnameinfo): Remove useless casts.
70953
70954 2006-06-27  Simon Josefsson  <jas@extundo.com>
70955
70956         * modules/sys_select: New file, suggested by Bruno Haible, Paul
70957         Eggert and Martin Lambers.
70958
70959 2006-06-27  Simon Josefsson  <jas@extundo.com>
70960
70961         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
70962         Eggert and Martin Lambers.
70963
70964 2006-06-27  Bruno Haible  <bruno@clisp.org>
70965
70966         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
70967         result to 0, not to empty.
70968         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
70969
70970 2006-06-27  Bruno Haible  <bruno@clisp.org>
70971
70972         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
70973
70974 2006-06-26  Simon Josefsson  <jas@extundo.com>
70975
70976         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
70977         present.
70978
70979 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
70980
70981         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
70982         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
70983         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
70984
70985 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
70986
70987         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
70988
70989 2006-06-26  Bruno Haible  <bruno@clisp.org>
70990
70991         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
70992
70993 2006-06-26  Bruno Haible  <bruno@clisp.org>
70994
70995         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
70996
70997 2006-06-26  Bruno Haible  <bruno@clisp.org>
70998
70999         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
71000         SGI C compiler in pre-C99 mode.
71001         Suggested by Mark D. Baushke and Larry Jones.
71002
71003 2006-06-26  Bruno Haible  <bruno@clisp.org>
71004
71005         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
71006         WCHAR_MAX.
71007         Reported by Mark D. Baushke and Larry Jones.
71008
71009 2006-06-26  Bruno Haible  <bruno@clisp.org>
71010
71011         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
71012         in pre-C99 mode.
71013         Suggested by Mark D. Baushke and Larry Jones.
71014
71015 2006-06-23  Simon Josefsson  <jas@extundo.com>
71016             Bruno Haible  <bruno@clisp.org>
71017
71018         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
71019         Emit mostlyclean-local rule.
71020         (func_emit_tests_Makefile_am): Likewise.
71021         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
71022
71023 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
71024
71025         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
71026
71027 2006-06-23  Bruno Haible  <bruno@clisp.org>
71028
71029         * tests/test-stdint.c: Update to match ISO C 99 Technical
71030         Corrigendum 1.
71031
71032 2006-06-23  Bruno Haible  <bruno@clisp.org>
71033
71034         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
71035
71036 2006-06-23  Bruno Haible  <bruno@clisp.org>
71037
71038         * lib/stdint_.h: Treat IRIX like OpenBSD.
71039
71040 2006-06-23  Bruno Haible  <bruno@clisp.org>
71041
71042         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
71043         ISO C 99 Technical Corrigendum 1.
71044
71045 2006-06-22  Simon Josefsson  <jas@extundo.com>
71046
71047         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
71048         MinGW.
71049
71050 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71051
71052         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
71053         needed.  Some compiler complained about some of them.  Problem reported
71054         by Larry Jones in
71055         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
71056
71057 2006-06-21  Simon Josefsson  <jas@extundo.com>
71058
71059         * tests/test-getaddrinfo.c: New file.
71060
71061         * modules/getaddrinfo-tests: New file.
71062
71063         * MODULES.html.sh: Add inet_pton.
71064
71065         * modules/inet_pton: New file.
71066
71067 2006-06-21  Simon Josefsson  <jas@extundo.com>
71068
71069         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
71070         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
71071         of using the (limited) gnulib implementation on Windows XP.
71072
71073         * m4/inet_pton.m4: New file.
71074
71075 2006-06-21  Simon Josefsson  <jas@extundo.com>
71076
71077         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
71078         variable.
71079
71080         * lib/socket_.h: Don't define WINVER.
71081
71082         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
71083         slightly modified to work in gnulib.
71084
71085 2006-06-21  Simon Josefsson  <jas@extundo.com>
71086
71087         * doc/gnulib.texi (Windows sockets): Add.
71088
71089 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
71090
71091         * lib/read-file.c (fread_file): Start with buffer allocation of
71092         0 bytes rather than 1 byte; this simplifies the code.
71093         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
71094         code to free buffer and save/restore errno.
71095         (internal_read_file): Remove unused local.
71096
71097 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
71098
71099         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
71100         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
71101         Problem reported by Denis Excoffier in
71102         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
71103
71104 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71105
71106         * modules/sys_socket, modules/socklen: Include sys/types since
71107         FreeBSD 4.x's sys/socket.h needs it.
71108
71109 2006-06-19  Simon Josefsson  <jas@extundo.com>
71110
71111         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
71112
71113 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71114
71115         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
71116
71117 2006-06-19  Bruno Haible  <bruno@clisp.org>
71118
71119         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
71120         and FULL_PATH_INTTYPES_H in angle brackets.
71121         Reported by Mark D. Baushke <mdb@gnu.org>.
71122
71123 2006-06-17  Eric Blake  <ebb9@byu.net>
71124
71125         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
71126         errno.
71127
71128 2006-06-17  Bruno Haible  <bruno@clisp.org>
71129
71130         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
71131         <sys/inttypes.h>.
71132
71133 2006-06-17  Bruno Haible  <bruno@clisp.org>
71134
71135         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
71136         whether errno is declared. Assume <errno.h> declares errno.
71137
71138 2006-06-17  Bruno Haible  <bruno@clisp.org>
71139
71140         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
71141
71142 2006-06-17  Bruno Haible  <bruno@clisp.org>
71143
71144         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
71145         problem on Solaris 2.5.1.
71146
71147 2006-06-16  Eric Blake  <ebb9@byu.net>
71148
71149         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
71150         * lib/unicodeio.c [!defined errno]: Likewise.
71151         * lib/strtol.c [!defined errno]: Likewise.
71152         * lib/strtod.c [!defined errno]: Likewise.
71153
71154 2006-06-15  Eric Blake  <ebb9@byu.net>
71155
71156         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
71157
71158 2006-06-15  Eric Blake  <ebb9@byu.net>
71159
71160         * config/srclist.txt (ssize_t.m4): Lose sync.
71161
71162 2006-06-15  Bruno Haible  <bruno@clisp.org>
71163
71164         * modules/stdint (Files): Include m4/full-header-path.m4,
71165         m4/size_max.m4, m4/wchar_t.m4.
71166         (Makefile.am): Many more substitutions.
71167         * modules/stdint-tests: New file.
71168         * tests/test-stdint.c: New file.
71169
71170 2006-06-15  Bruno Haible  <bruno@clisp.org>
71171
71172         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
71173         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
71174         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
71175         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
71176         gl_CHECK_TYPE_SAME): New macros.
71177
71178 2006-06-15  Bruno Haible  <bruno@clisp.org>
71179
71180         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
71181
71182 2006-06-15  Bruno Haible  <bruno@clisp.org>
71183
71184         * lib/stdint_.h: Rewritten to be fully auto-configured.
71185         Fixes bug on HP-UX/IA64.
71186
71187 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
71188
71189         * lib/getdate.y (__attribute__): Don't define if already defined.
71190         Problem reported by Larry Jones.
71191         * lib/utimens.c (__attribute__): Likewise.
71192
71193 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
71194
71195         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
71196         reported by Andreas Schwab.
71197
71198 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71199             Bruno Haible  <bruno@clisp.org>
71200
71201         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
71202         check for the declaration of strnlen and a run test that exposes the
71203         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
71204         rpl_strndup.
71205
71206 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71207             Bruno Haible  <bruno@clisp.org>
71208
71209         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
71210
71211 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71212
71213         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
71214         compile test, for Tru64 4.0D.
71215
71216 2006-05-28  Karl Berry  <karl@gnu.org>
71217
71218         * config/srclist.txt (printf-args.c): lose sync.
71219
71220 2006-05-26  Martin Lambers  <marlam@marlam.de>
71221
71222         * lib/getpass.c: Updates the test for the native W32 API, and adds
71223         missing includes, thus fixing compilation warnings.
71224
71225 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71226
71227         * lib/exclude.c (exclude_fnmatch): New function.
71228         (excluded_file_name): Call exclude_fnmatch.
71229         * lib/exclude.h (excluded_file_name): New prototype
71230
71231 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
71232
71233         * lib/tempname.c (small_open, large_open): New macros.
71234         (__open, __open64) [!_LIBC]: Remove.
71235         (__gen_tempname): Use small_open and large_open instead of __open
71236         and __open64.  This fixes a portability bug on HP-UX 11.11i
71237         reported by Simon Wing-Tang in
71238         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
71239
71240 2006-05-24  Bruno Haible  <bruno@clisp.org>
71241
71242         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
71243         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
71244         Reported by Thorsten Maerz <torte@netztorte.de> via
71245         Aaron Stone <aaron@serendipity.cx>.
71246
71247 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71248
71249         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
71250         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
71251         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
71252         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
71253         not really conditional on the cache.
71254         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
71255
71256 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71257
71258         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
71259         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
71260         (my_usleep): Don't mishandle maximum value.
71261
71262 2006-05-19  Jim Meyering  <jim@meyering.net>
71263
71264         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
71265
71266 2006-05-17  Bruno Haible  <bruno@clisp.org>
71267
71268         Cygwin portability.
71269         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
71270
71271 2006-05-17  Bruno Haible  <bruno@clisp.org>
71272
71273         * lib/stdint_.h: Fix recognition of Cygwin.
71274
71275 2006-05-15  Bruno Haible  <bruno@clisp.org>
71276
71277         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
71278         on libtool patch by Ralf Wildenhues.
71279
71280 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
71281
71282         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
71283         test for C99 conformance; (bool) 0.5 is an integer constant
71284         expression, but (bool) -0.5 is not.  Problem reported by Fedor
71285         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
71286
71287 2006-05-11  Simon Josefsson  <jas@extundo.com>
71288
71289         * m4/xvasprintf.m4: Fix obvious typo.
71290
71291 2006-05-11  Jim Meyering  <jim@meyering.net>
71292
71293         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
71294         James Lemley.
71295
71296 2006-05-10  Simon Josefsson  <jas@extundo.com>
71297
71298         * lib/md4.c: Typo fix, update copyright years.
71299         (K1, K2): Don't use L because it turn computations into 64-bit on
71300         64-bit platforms.
71301
71302 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
71303
71304         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
71305         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
71306         unwanted sign propagation, e.g., on hosts with 64-bit int.
71307         There still are some problems with reeelly weird theoretical hosts
71308         (e.g., 33-bit int) but it's not worth worrying about now.
71309         * lib/sha1.c (rol): Likewise.
71310         (K1, K2, K3, K4): Remove unnecessary L suffix.
71311
71312 2006-05-10  Bruno Haible  <bruno@clisp.org>
71313
71314         * lib/des.c: Cast to avoid warnings.
71315
71316 2006-05-09  Bruno Haible  <bruno@clisp.org>
71317
71318         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
71319         (Depends-on): Depend also on xsize, stdarg.
71320         (configure.ac): Add gl_XVASPRINTF.
71321
71322 2006-05-09  Bruno Haible  <bruno@clisp.org>
71323
71324         * m4/xvasprintf.m4: New file.
71325
71326 2006-05-09  Bruno Haible  <bruno@clisp.org>
71327
71328         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
71329         (EOVERFLOW): Define fallback value.
71330         (xstrcat): New function.
71331         (xvasprintf): Recognize the special case of a string concatenation.
71332
71333 2006-05-08  Eric Blake  <ebb9@byu.net>
71334
71335         * gnulib-tool (func_version): Base copyright year on CVS date.
71336         (func_emit_copyright_notice): New function.
71337         (func_emit_lib_Makefile_am): Use it.
71338         (func_emit_tests_Makefile_am): Likewise.
71339         (func_import): Likewise.
71340
71341 2006-05-08  Bruno Haible  <bruno@clisp.org>
71342
71343         * modules/stdarg: New file.
71344         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
71345
71346 2006-05-08  Bruno Haible  <bruno@clisp.org>
71347
71348         * m4/stdarg.m4: New file, from GNU gettext.
71349
71350 2006-05-08  Bruno Haible  <bruno@clisp.org>
71351
71352         * config/srclist.txt (build-aux/config.rpath): different from latest
71353         release.
71354
71355 2006-05-08  Bruno Haible  <bruno@clisp.org>
71356
71357         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
71358
71359 2006-05-05  Jim Meyering  <jim@meyering.net>
71360
71361         * m4/warning.m4: New file, derived from bison's file by the same name.
71362
71363 2006-05-03  Bruno Haible  <bruno@clisp.org>
71364
71365         * lib/stdint_.h: Shorter URL.
71366         * lib/inttypes.h: Likewise.
71367
71368 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71369
71370         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
71371
71372 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71373
71374         * lib/verify.h: Document the internals better.  Most of this change
71375         was written by Bruno Haible.
71376
71377 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71378
71379         * doc/verify.texi: New file, partly based on a proposal by
71380         Bruno Haible.
71381
71382 2006-05-02  Bruno Haible  <bruno@clisp.org>
71383
71384         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71385         test from here...
71386         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71387
71388 2006-04-29  Bruno Haible  <bruno@clisp.org>
71389
71390         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71391         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71392
71393 2006-04-29  Bruno Haible  <bruno@clisp.org>
71394
71395         * gnulib-tool: Make --update option actually work.
71396
71397 2006-04-29  Bruno Haible  <bruno@clisp.org>
71398
71399         * doc/gcd.texi: New file.
71400         * doc/gnulib.texi: Include it.
71401
71402 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71403
71404         * lib/getdate.y (get_date): When adding relative date, start with the
71405         initial time, not with the result of the first mktime call.
71406
71407 2006-04-25  Bruno Haible  <bruno@clisp.org>
71408
71409         * gnulib-tool (func_import): Output the include directives in three
71410         blocks, sorted separately.
71411         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71412
71413 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71414
71415         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71416         to define main with arguments, for C++.  Reported by Eric Blake.
71417         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71418         Prefer 'int main ()' to 'int main (void)', for C++.
71419         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71420         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71421         for 'main', for C99 and C++.
71422
71423 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71424
71425         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71426         Don't assume that exit status -1 is valid.
71427         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71428         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71429         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71430         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71431         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71432         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71433         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71434         functions can be used without declaring them, or that you can
71435         exit with status -1.
71436         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71437
71438 2006-04-24  Karl Berry  <karl@gnu.org>
71439
71440         * config/srclist.txt (longdouble.m4): sync lost.
71441
71442 2006-04-24  Eric Blake  <ebb9@byu.net>
71443
71444         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71445
71446 2006-04-24  Bruno Haible  <bruno@clisp.org>
71447
71448         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71449         poll() implementation in AIX.
71450         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71451
71452 2006-04-24  Bruno Haible  <bruno@clisp.org>
71453
71454         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71455         assigned exactly once.
71456
71457 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71458             Bruno Haible  <bruno@clisp.org>
71459
71460         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71461         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71462         for AM_CPPFLAGS.
71463
71464 2006-04-23  Bruno Haible  <bruno@clisp.org>
71465
71466         * modules/copy-file: Depend on unistd.
71467         * modules/execute: Likewise.
71468         * modules/fatal-signal: Likewise.
71469         * modules/findprog: Likewise.
71470         * modules/mkdtemp : Likewise.
71471         * modules/pipe: Likewise.
71472         * modules/wait-process: Likewise.
71473
71474 2006-04-23  Bruno Haible  <bruno@clisp.org>
71475
71476         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71477         condition was already detected.
71478         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71479
71480 2006-04-23  Bruno Haible  <bruno@clisp.org>
71481
71482         * lib/copy-file.c: Include <unistd.h> unconditionally.
71483         * lib/execute.c: Likewise.
71484         * lib/fatal-signal.c: Likewise.
71485         * lib/findprog.c: Likewise.
71486         * lib/mkdtemp.c: Likewise.
71487         * lib/pipe.h: Likewise.
71488         * lib/pipe.c: Likewise.
71489         * lib/wait-process.h: Likewise.
71490
71491 2006-04-23  Bruno Haible  <bruno@clisp.org>
71492
71493         * gnulib-tool (func_usage): Fix --import description. Document
71494         --update.
71495         (func_import): Create temporary file in a temporary directory, if
71496         --dry-run is specified. Silence errors from 'grep' when there are no
71497         m4 files in $m4dir.
71498         (func_create_testdir): Silence errors from 'grep' when there are no
71499         m4 files in $m4dir.
71500         Reported by Karl Berry <karl@freefriends.org>.
71501
71502 2006-04-20  Bruno Haible  <bruno@clisp.org>
71503
71504         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71505         one argument, so that the code will be portable to Autoconf 2.60.
71506         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71507         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71508         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71509
71510 2006-04-19  Derek Price  <derek@ximbiot.com>
71511             Eric Blake  <ebb9@byu.net>
71512
71513         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71514         rather than "/full/path.h".  Update comment to match.  Shorten &
71515         generalize m4_translit call via AS_TR_CPP.
71516
71517 2006-04-19  Derek Price  <derek@ximbiot.com>
71518             Eric Blake  <ebb9@byu.net>
71519
71520         * lib/inttypes.h: Correct grammar in comment.
71521
71522 2006-04-18  Derek Price  <derek@ximbiot.com>
71523             Paul Eggert  <eggert@cs.ucla.edu>
71524
71525         * modules/inttypes: New file.
71526         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71527
71528 2006-04-18  Derek Price  <derek@ximbiot.com>
71529             Paul Eggert  <eggert@cs.ucla.edu>
71530
71531         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71532         New files.
71533
71534 2006-04-18  Derek Price  <derek@ximbiot.com>
71535             Paul Eggert  <eggert@cs.ucla.edu>
71536
71537         * lib/inttypes.h: New file.
71538         * lib/strtoimax.c: Assume <inttypes.h>.
71539
71540 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71541
71542         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71543         isn't mounted.  Problem reported by Kir Kolyshkin.
71544
71545 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71546
71547         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71548         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71549         Derek R. Price.
71550         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71551         implementation.
71552
71553 2006-04-12  Eric Blake  <ebb9@byu.net>
71554
71555         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71556         is now done automatically by the corresponding Autoconf macro.
71557
71558 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71559
71560         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71561         time_r.h.
71562
71563 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71564
71565         Merge regex changes from libc, removing some of our
71566         POSIX-conformance changes that were rejected and redoing them in a
71567         less-intrusive way.
71568
71569         * lib/regcomp.c (re_compile_internal, init_dfa):
71570         Length arg is now size_t, not Idx.  All uses changed.
71571         (peek_token): Forward decl now says internal_function.
71572         (__re_error_msgid, __re_error_msgid_idx):
71573         Now static rather than extern with attribute_hidden.
71574         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71575         For some reason libc prefers K&R style defns for external functions.
71576         (regerror) [!defined _LIBC]: Likewise.
71577         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71578         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71579         (build_range_exp, build_collating_symbol):
71580         Use K&R-style defn.
71581         (re_compile_fastmap): Use '\0' to memset, not 0.
71582         (utf8_sb_map): Make the calculations more obvious.
71583         (init_dfa, parse_bracket_exp, build_charclass_op):
71584         Call calloc and cast result, as glibc does.
71585         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71586         (build_range_exp, build_collating_symbol):
71587         Now internal functions.
71588
71589         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71590
71591         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71592         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71593         Don't depend on VMS; depend on __VMS instead, for POSIX
71594         namespace cleanness.
71595         (regoff_t): Define to ssize_t, not long int.
71596
71597         Remove the REG_ macros named below.  Instead, make the old names
71598         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71599         __USE_GNU_REGEX.
71600         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71601         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71602         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71603         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71604         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71605         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71606         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71607         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71608         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71609         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71610         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71611         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71612         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71613         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71614         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71615         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71616         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71617         (REG_NREGS):
71618         Remove.  All uses replaced by the old RE_* names.
71619         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71620         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71621         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71622         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71623         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71624         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71625         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71626         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71627         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71628         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71629         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71630         Don't bother having these macros be independent of each others'
71631         values, since they no longer exist in the POSIX name space.
71632
71633         Rename the following member names back to their old names,
71634         unless !__USE_GNU_REGEX.  All uses changed back.
71635         (buffer): Renamed from re_buffer.
71636         (allocated): Renamed from re_allocated.
71637         (used): Renamed from re_used.
71638         (syntax): Renamed from re_syntax.
71639         (fastmap): Renamed from re_fastmap.
71640         (translate): Renamed from re_translate.
71641         (can_be_null): Renamed from re_can_be_null.
71642         (regs_allocated): Renamed from re_regs_allocated.
71643         (fastmap_accurate): Renamed from re_fastmap_accurate.
71644         (no_sub): Renamed from re_no_sub.
71645         (not_bol): Renamed from re_not_bol.
71646         (not_eol): Renamed from re_not_eol.
71647         (newline_anchor): Renamed from re_newline_anchor.
71648         (num_regs): Renamed from rm_num_regs.
71649         (start): Renamed from rm_start.
71650         (end): Renamed from rm_end.
71651
71652         (free_state): Move up a bit.
71653
71654         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71655         #define to be empty.
71656         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71657         when that is what is intended.
71658         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71659         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71660         (MAX): New macro.
71661         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71662         All uses changed back to re_malloc, etc.  It's now the caller's
71663         responsibility to check for overflow; all callers changed.
71664         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71665         (re_x2nrealloc): Remove.
71666         (free_state): Remove decl.
71667
71668         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71669         (re_set_registers, re_exec):
71670         Use K&R-style defn.
71671
71672         2006-01-31  Roland McGrath  <roland@redhat.com>
71673
71674         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71675         Reported by Mike Frysinger <vapier@gentoo.org>.
71676
71677         2006-01-15  Andreas Jaeger  <aj@suse.de>
71678
71679         [BZ #1950]
71680         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71681         build_wcs_upper_buffer change.
71682         (build_wcs_upper_buffer): Change return type.
71683
71684         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71685
71686         * lib/regex_internal.h: Include <stdint.h> if available.
71687
71688         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71689
71690         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71691
71692         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71693
71694         * lib/regcomp.c: Adjust for changed secondary hash function.
71695
71696         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71697
71698         * lib/regex.h: Pretty printing.
71699         Clean up namespace a bit.
71700
71701         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71702
71703         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71704         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71705
71706         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71707                     Ulrich Drepper  <drepper@redhat.com>
71708
71709         [BZ #1302]
71710         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71711         changed.
71712         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71713
71714         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71715
71716         [BZ #281]
71717         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71718         * lib/regcomp.c: Remove unnecessary uses of
71719         unsigned RE_TRANSLATE_TYPE.
71720         * lib/regex_internal.h: Likewise.
71721         * lib/regex_internal.c: Likewise.
71722         * lib/regexec.c: Likewise.
71723         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71724
71725         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71726
71727         * lib/regexec.c (find_recover_state): Remove unnecessary
71728         initialization.
71729         (transit_state_bkref): Make DFA a const pointer.
71730         (get_subexp): Likewise.
71731         (check_arrival): Likewise.
71732         (update_cur_sifted_state): Likewise.
71733         (re_search_internal): Likewise.
71734         (prune_impossible_nodes): Likewise.
71735         (acquire_init_state_context): Likewise.
71736         (proceed_next_node): Likewise.
71737         (set_regs): Likewise.
71738         (free_fail_stack_return): Likewise.
71739         (check_arrival_expand_ecl): Mark DFA parameter as const.
71740         (check_arrival_expand_ecl_sub): Likewise.
71741         (check_subexp_limits): Likewise.
71742         (sub_epsilon_src_nodes):  Likewise.
71743         (add_epsilon_src_nodes):  Likewise.
71744         (merge_state_array): Likewise.
71745         (update_regs): Likewise.
71746         (build_trtable): Likewise.
71747         (sift_states_backward): Mark MCTX parameter as const.
71748         (build_sifted_states): Likewise.
71749         (update_cur_sifted_state): Likewise.
71750         (sift_states_mkref): Likewise.
71751         (check_arrival_expand_ecl): Mark eclosure as const.
71752         (check_dst_limits_calc_pos_1): Likewise.
71753         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71754         pointer.
71755
71756         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71757
71758         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71759         (transit_state_sb): Likewise.
71760         (transit_state_mb): Likewise.
71761         (sift_states_iter_mb): Likewise.
71762         (check_arrival_add_next_nodes): Likewise.
71763         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71764         [_LIBC] (re_search_2_stub): Use mempcpy.
71765
71766         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71767         mbrtowc for very simple UTF-8 case.
71768
71769         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71770         a pointer-to-const.
71771         (re_acquire_state_context): Likewise.
71772         * lib/regex_internal.h: Adjust prototypes.
71773
71774         * lib/regex.c: Prevent using C++ compilers.
71775
71776         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71777         (re_acquire_state_context): Likewise.
71778
71779 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71780
71781         * modules/regex (Depends-on): Add ssize_t.
71782
71783 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71784
71785         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71786         translation table.
71787
71788 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71789
71790         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71791
71792 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
71793             Bruno Haible  <bruno@clisp.org>
71794
71795         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
71796         <sys/types.h> and <inttypes.h>.
71797
71798 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71799
71800         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
71801         `__error_t_defined', so argp.h will not typedef the former.
71802
71803 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
71804
71805         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
71806         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
71807         glibc names.  Even if glibc is changed to conform to POSIX, the
71808         traditional names will be available anyway, since regex depends on
71809         the extensions module.  Also, fix a longstanding typo in the
71810         implementation of Spencer ERE test #75 from grep 2.3.  Problems
71811         reported by Emanuele Giaquinta.  Also, change sense of cached
71812         variable, so that the message makes sense.
71813
71814 2006-03-24  Simon Josefsson  <jas@extundo.com>
71815
71816         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
71817         including some doc fixes.
71818         (base64_encode_alloc): Fix +1 bug on allocation failures.
71819
71820 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71821
71822         * lib/base64.c (base64_encode): Do not read past end of array with
71823         unsanitized input on systems with CHAR_BIT > 8.
71824
71825 2006-03-24  Eric Blake  <ebb9@byu.net>
71826
71827         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
71828
71829 2006-03-22  Karl Berry  <karl@gnu.org>
71830
71831         * config/srclist.txt (*setenv.[ch]): get from coreutils.
71832         * config/srclistvars.sh (COREUTILS): new var.
71833
71834 2006-03-17  Jim Meyering  <jim@meyering.net>
71835
71836         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
71837         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
71838
71839 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71840
71841         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
71842         no longer needs it.  Instead, check that regoff_t is as least
71843         as wide as ptrdiff_t.
71844
71845         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
71846         so that our regex.h stays compatible with the installed regex.
71847         This is helpful for installers who configure --without-included-regex.
71848         Problem reported by Emanuele Giaquinta.
71849
71850 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71851
71852         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
71853         Typedef to long int, not to off_, as POSIX will likely change
71854         in that direction.
71855
71856 2006-03-15  Eric Blake  <ebb9@byu.net>
71857
71858         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
71859
71860 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71861
71862         * lib/argp-help.c (validate_uparams): Fix typo
71863         * lib/argp-parse.c (argp_default_options): Consistently begin help
71864         messages with a lowercase letter.
71865
71866 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
71867
71868         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
71869         overrun buffers and shouldn't be used (much as gets shouldn't be
71870         used).
71871         * lib/time_r.c (asctime_r, ctime_r): Likewise.
71872
71873 2006-03-08  Simon Josefsson  <jas@extundo.com>
71874
71875         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
71876         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71877
71878 2006-03-08  Simon Josefsson  <jas@extundo.com>
71879
71880         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
71881         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71882
71883 2006-03-08  Simon Josefsson  <jas@extundo.com>
71884
71885         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
71886         signal that configure disabled the device.
71887
71888 2006-03-08  Simon Josefsson  <jas@extundo.com>
71889
71890         * build-aux/maint.mk: Fix refresh-po, to handle no translated
71891         languages.
71892
71893 2006-03-07  Simon Josefsson  <jas@extundo.com>
71894
71895         * modules/getopt (Depends-on): Add unistd.
71896
71897         * modules/unistd: New file.
71898
71899 2006-03-07  Simon Josefsson  <jas@extundo.com>
71900
71901         * modules/gc-random: New file.
71902
71903 2006-03-07  Simon Josefsson  <jas@extundo.com>
71904
71905         * m4/unistd_h.m4: New file.
71906
71907 2006-03-07  Simon Josefsson  <jas@extundo.com>
71908
71909         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
71910         test to be side-effect free by storing the result in the cache
71911         variable gl_cv_lib_readline, and moving the assignment of
71912         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
71913         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71914
71915 2006-03-07  Simon Josefsson  <jas@extundo.com>
71916
71917         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
71918         error on missing devices (the functions will return an error).
71919
71920         * m4/gc.m4: Move random stuff to gc-random.m4
71921
71922 2006-03-07  Simon Josefsson  <jas@extundo.com>
71923
71924         * lib/unistd_.h: New file.
71925
71926 2006-03-07  Simon Josefsson  <jas@extundo.com>
71927
71928         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
71929
71930 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71931
71932         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
71933         Problem reported by Juan Manuel Guerrero.
71934
71935 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71936
71937         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
71938         the unistd module.
71939         * lib/getlogin_r.c: Likewise.
71940         * lib/getlogin_r.h: Likewise.
71941         * lib/glob.c: Likewise.
71942         * lib/pagealign_alloc.c: Likewise.
71943         * lib/unistd_.h: Remove; no longer needed.
71944
71945 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71946
71947         * MODULES.html.sh (Support for systems lacking POSIX:2001):
71948         Add unistd.
71949         * modules/c-stack (Depends-on): Add unistd.
71950         * modules/getlogin_r: Likewise.
71951         * modules/glob: Likewise.
71952         * modules/pagealign_alloc: Likewise.
71953         * modules/unistd (Files): Remove lib/unistd_.h.
71954         (EXTRA_DIST): Remove.
71955         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
71956         need unistd_.h.
71957         (MOSTLYCLEANFILES): Remove unistd.h-t.
71958
71959 2006-03-03  Simon Josefsson  <jas@extundo.com>
71960
71961         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
71962
71963 2006-03-03  Simon Josefsson  <jas@extundo.com>
71964
71965         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
71966         libidn and bison.
71967
71968 2006-03-03  Simon Josefsson  <jas@extundo.com>
71969
71970         * build-aux/maint.mk: Add indent target.
71971
71972 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
71973
71974         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
71975         our replacement poll.h in any case, to avoid a differing
71976         declaration from a system header.  Seen on AIX.
71977
71978 2006-03-01  Simon Josefsson  <jas@extundo.com>
71979
71980         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
71981         <kasal@ucw.cz>.
71982
71983 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71984
71985         * modules/gettime (Depends-on): Add extensions module.
71986         * modules/nanosleep (Depends-on): Likewise.
71987         * modules/settime (Depends-on): Likewise.
71988
71989 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71990
71991         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
71992         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
71993         pedantically.
71994         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71995         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
71996
71997         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
71998         not "==".  Reported by Ralf Wildenhues.
71999
72000 2006-03-01  Karl Berry  <karl@gnu.org>
72001
72002         * doc/Copyright/request-*: new files, synced from gnuorg.
72003
72004 2006-03-01  Karl Berry  <karl@gnu.org>
72005
72006         * config/srclist.txt (Copyright/*): new entries.
72007
72008 2006-02-28  Simon Josefsson  <jas@extundo.com>
72009
72010         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
72011
72012 2006-02-27  Simon Josefsson  <jas@extundo.com>
72013
72014         * lib/base64.h: Indent #define's.  From Jim Meyering
72015         <jim@meyering.net>.
72016
72017 2006-02-27  Jim Meyering  <jim@meyering.net>
72018
72019         Revert the change of 2006-02-24, so these files can continue
72020         to be sync'd from gettext.
72021         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
72022         of `config.h'.
72023
72024 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72025
72026         * modules/intprops: New file.
72027         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72028         Add intprops.
72029         * modules/getloadavg (Files): Remove lib/intprops.h.
72030         (Depends-on): Add intprops.
72031         * modules/human: Likewise.
72032         * modules/inttostr: Likewise.
72033         * modules/openat: Likewise.
72034         * modules/sig2str: Likewise.
72035         * modules/userspec: Likewise.
72036         * modules/utimecmp: Likewise.
72037         * modules/xnanosleep: Likewise.
72038         * modules/xstrtol: Likewise.
72039
72040 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
72041
72042         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
72043         * modules/lock-tests (TESTS): Use $(EXEEXT).
72044         * modules/tls-tests: Likewise.
72045         * modules/argp-tests: Likewise.
72046         (check_PROGRAMS): New var, replacing...
72047         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
72048
72049 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72050
72051         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
72052         `config.h'.
72053
72054 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72055
72056         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
72057
72058 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72059
72060         Sync from coreutils.
72061         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
72062         gl_CHDIR_SAFER.
72063
72064 2006-02-22  Jim Meyering  <jim@meyering.net>
72065
72066         Sync from coreutils.
72067         * m4/chdir-safer.m4: New file.
72068
72069 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72070
72071         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
72072         AT_FDCWD exceeds INT_MAX.
72073         * lib/openat.h (AT_FDCWD): Likewise.
72074
72075 2006-02-17  Eric Blake  <address@hidden>
72076
72077         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
72078
72079 2006-02-16  Simon Josefsson  <jas@extundo.com>
72080
72081         * modules/getaddrinfo (Depends-on): Add sys_socket.
72082
72083 2006-02-15  Simon Josefsson  <jas@extundo.com>
72084
72085         * build-aux/maint.mk: Add dsyntax-check rule.
72086
72087 2006-02-15  Eric Blake  <ebb9@byu.net>
72088
72089         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
72090         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
72091         'present but cannot compile' warnings on cygwin.
72092         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
72093         use ws2tcpip.h if sys/socket.h works.
72094         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
72095         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
72096
72097 2006-02-14  Simon Josefsson  <jas@extundo.com>
72098
72099         * modules/maintainer-makefile (Files): Rename.
72100
72101         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
72102         and (the local) Makefile.cfg to maint-cfg.mk.
72103
72104         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
72105         to the latter.
72106
72107         * modules/maintainer-makefile: New module.
72108
72109         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
72110         severaly stripped to make it possible to build it up from scratch
72111         with reliable tests.
72112
72113         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
72114         fixes to permit overriding the default actions when configure and
72115         makefile are not available.
72116
72117 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72118
72119         Sync from coreutils.
72120         * modules/lstat (Depends-on): Don't depend on xalloc.
72121         (License): Change from GPL to LGPL, since this is now simply a
72122         replacement for a libc function.
72123
72124 2006-02-14  Jim Meyering  <jim@meyering.net>
72125
72126         Sync from coreutils.
72127
72128         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
72129         failure on deficient systems, and simplify gnulib lgpl dependencies.
72130         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
72131         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
72132
72133         * lib/xalloc-die.c: Remove unused definition of N_.
72134
72135 2006-02-14  Jim Meyering  <jim@meyering.net>
72136
72137         Sync from coreutils.
72138         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
72139         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
72140         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
72141         double-quote uses of that variable, to accommodate the rare case in
72142         which getmntent is available in none of the libraries checked.  This
72143         happens at least on FreeBSD 5.0.
72144
72145 2006-02-13  Simon Josefsson  <jas@extundo.com>
72146
72147         * gnulib-tool (Usage): Fix --import, from
72148         karl@freefriends.org (Karl Berry).
72149
72150 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72151
72152         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
72153
72154 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
72155
72156         * lib/argp-namefrob.h: Restore changes accidentally lost during the
72157         "autoupdate" on 2005-12-12.
72158
72159 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72160
72161         * modules/closeout (Depends-on): Remove atexit.
72162
72163 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72164
72165         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
72166         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
72167
72168 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72169
72170         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
72171         __EXTENSIONS__ if this causes compilation to fail.  Problem
72172         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
72173         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
72174
72175 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
72176
72177         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
72178         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
72179         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
72180         All uses changed.
72181
72182 2006-01-26  Simon Josefsson  <jas@extundo.com>
72183
72184         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
72185         prototype is visible on mingw32.
72186
72187         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
72188         for mingw32.
72189
72190         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
72191         mingw32).
72192
72193 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72194
72195         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
72196         attempt to open for write; this always fails, at least on POSIX
72197         hosts.  This reinstates the 2006-01-09 change, which was
72198         inadvertently removed.
72199
72200 2006-01-26  Bruno Haible  <bruno@clisp.org>
72201
72202         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
72203         Reported by Paul Eggert.
72204
72205 2006-01-26  Bruno Haible  <bruno@clisp.org>
72206             Paul Eggert  <eggert@cs.ucla.edu>
72207
72208         * lib/stdbool_.h (_Bool)
72209         [(! (defined __cplusplus || defined __BEOS__)
72210           && !defined __GNUC__
72211           && !(defined __HP_cc || defined __xlc__
72212                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
72213                || defined __sgi))]:
72214         #define to signed char in these cases too; this simplifies
72215         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
72216         etc., separately) and makes it more conservative.
72217
72218 2006-01-25  Simon Josefsson  <jas@extundo.com>
72219
72220         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
72221         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
72222         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
72223
72224 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72225
72226         * lib/argp-namefrob.h: Bugfix. Remove stray #
72227
72228 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
72229
72230         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
72231         so that we test the test.
72232         Check for yet another HP-UX cc bug involving *bool |= bool.
72233
72234 2006-01-25  Karl Berry  <karl@gnu.org>
72235
72236         * config/srclist.txt (vasnprintf.c): sync lost.
72237
72238 2006-01-25  Jim Meyering  <jim@meyering.net>
72239
72240         Sync from the stable (b5) branch of coreutils:
72241
72242         * lib/fts.c (fts_children): Don't let close() clobber errno from
72243         failed fchdir().
72244
72245         * lib/fts.c (fts_stat): When following a symlink-to-directory,
72246         don't necessarily interpret stat-fails+lstat-succeeds as indicating
72247         a dangling symlink.  That can also happen at least for ELOOP.
72248         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
72249         FYI, this bug predates the inclusion of fts.c in coreutils.
72250
72251         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
72252         in their own block, so pre-c99 compilers don't object.
72253
72254         Avoid the double-free (first in fts_read, second in fts_close) that
72255         would occur when an `active' directory is made inaccessible (e.g.,
72256         via chmod a-x) during a traversal.
72257         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72258         before returning.  Reproduce this failure by
72259         mkdir -p a/b; cd a; chmod a-x . b
72260         Reported by Stavros Passas.
72261
72262 2006-01-25  Jim Meyering  <jim@meyering.net>
72263
72264         * lib/fileblocks.c: Remove more useless parentheses.
72265         * lib/readutmp.h: Likewise.
72266
72267 2006-01-25  Bruno Haible  <bruno@clisp.org>
72268
72269         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
72270         warnings.
72271         Reported by Paul Eggert.
72272
72273 2006-01-25  Bruno Haible  <bruno@clisp.org>
72274
72275         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
72276         rid of a trap command. For Solaris sh.
72277         Reported by Mark D. Baushke <mdb@gnu.org>.
72278
72279 2006-01-24  Simon Josefsson  <jas@extundo.com>
72280
72281         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
72282         Bruno.
72283
72284 2006-01-24  Karl Berry  <karl@gnu.org>
72285
72286         * config/srclist.txt (argp-namefrob.h): sync lost.
72287
72288 2006-01-24  Jim Meyering  <jim@meyering.net>
72289
72290         * modules/openat (Files): Add lib/intprops.h.
72291         From Mark D. Baushke.
72292
72293 2006-01-24  Jim Meyering  <jim@meyering.net>
72294
72295         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
72296         Reported by Mark D. Baushke.
72297
72298 2006-01-24  Jim Meyering  <jim@meyering.net>
72299
72300         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
72301
72302 2006-01-24  Bruno Haible  <bruno@clisp.org>
72303
72304         * modules/strnlen (Maintainer): Change from glibc to all.
72305
72306 2006-01-24  Bruno Haible  <bruno@clisp.org>
72307
72308         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
72309         Patch by Paul Eggert.
72310
72311 2006-01-24  Bruno Haible  <bruno@clisp.org>
72312
72313         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
72314         already has it.
72315         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
72316         2005-11-26.
72317
72318         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
72319         'signed char' to avoid problems with the built-in _Bool type.
72320         Reported by Paul Eggert on 2005-11-26.
72321
72322 2006-01-24  Bruno Haible  <bruno@clisp.org>
72323
72324         * gnulib-tool (func_import): Avoid constructing complicated sed
72325         expressions inside backquote.
72326         Report and solution by Mark D. Baushke <mdb@gnu.org>.
72327
72328 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
72329
72330         These changes imported from libc.
72331         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
72332         test and two separate function calls.
72333         * lib/strndup.c (__strndup): Add libc_hidden_def.
72334
72335 2006-01-23  Simon Josefsson  <jas@extundo.com>
72336
72337         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
72338         Remove the test_*_SOURCES variable: automake infers it by default.
72339         * modules/tls-tests: Likewise.
72340
72341 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72342
72343         Work around porting bugs reported by Dieter in
72344         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
72345         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
72346         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
72347         Include "getopt.h" first, to check interface.
72348         (getenv): Declare only if defined HAVE_DECL_GETENV &&
72349         !HAVE_DECL_GETENV.
72350         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
72351         (__strndup): Revert to K&R-style function dfns, the glibc style.
72352         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
72353         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
72354         Include strnlen.h first, to get prototype properly.
72355         (strnlen): Renamed from __strnlen.
72356         Remove weak alias.
72357
72358 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72359
72360         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
72361
72362 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72363
72364         * config/srclist.txt: Adjust to reflect glibc reorganization.
72365         This affects only comments.
72366
72367 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72368
72369          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
72370          Reported by Bruce Korb <bkorb@gnu.org>.
72371
72372 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72373
72374         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
72375         to pacify gcc -Wswitch-default.
72376
72377 2006-01-22  Bruno Haible  <bruno@clisp.org>
72378
72379         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
72380         temporary buffer for sprintf, take into account the precision also
72381         for 'd', 'i', 'u', 'o', 'x', 'X'.
72382
72383 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72384
72385         * modules/argp-tests: New module
72386         * tests/test-argp.c: New file
72387         * tests/test-argp-2.sh: New file
72388
72389 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72390
72391         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72392         (__argp_base_name): Removed
72393         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72394         typo.
72395         (__argp_base_name): Provide macro definition or extern declaration
72396         depending on the configuration
72397
72398 2006-01-20  Simon Josefsson  <jas@extundo.com>
72399
72400         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72401
72402 2006-01-20  Simon Josefsson  <jas@extundo.com>
72403
72404         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72405
72406 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72407
72408         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72409         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72410         Suggested by Bruno Haible.
72411
72412 2006-01-20  Karl Berry  <karl@gnu.org>
72413
72414         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72415         until changes propagate, I guess.
72416
72417 2006-01-19  Simon Josefsson  <jas@extundo.com>
72418
72419         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72420
72421 2006-01-19  Simon Josefsson  <jas@extundo.com>
72422
72423         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72424
72425 2006-01-19  Simon Josefsson  <jas@extundo.com>
72426
72427         * gnulib-tool: Set check_PROGRAMS.
72428
72429         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72430         modules/des-tests, modules/gc-arcfour-tests,
72431         modules/gc-arctwo-tests, modules/gc-des-tests,
72432         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72433         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72434         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72435         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72436         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72437         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72438         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72439         test_*_SOURCES.
72440
72441 2006-01-18  Simon Josefsson  <jas@extundo.com>
72442
72443         * modules/socklen (Depends-on): Depend on sys_socket.
72444
72445 2006-01-18  Simon Josefsson  <jas@extundo.com>
72446
72447         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72448         modules/des-tests, modules/gc-arcfour-tests,
72449         modules/gc-arctwo-tests, modules/gc-des-tests,
72450         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72451         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72452         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72453         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72454         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72455         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72456         $(EXEEXT) to automake TESTS variable, for mingw32.
72457
72458 2006-01-17  Simon Josefsson  <jas@extundo.com>
72459
72460         * modules/socklen (Include): Need sys/socket.h.
72461
72462 2006-01-17  Bruno Haible  <bruno@clisp.org>
72463
72464         * modules/ssize_t (Include): Add <sys/types.h>.
72465
72466 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72467
72468         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72469         it's not portable and it doesn't work with cross-compiles.
72470         Problem reported by Bruno Haible.  Fix missing-$ typo in
72471         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72472         -zignore from being used with Sun's C compiler.
72473
72474 2006-01-12  Simon Josefsson  <jas@extundo.com>
72475
72476         * lib/base64.c: Fix warning, reported by Bruno Haible
72477         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72478
72479 2006-01-12  Bruno Haible  <bruno@clisp.org>
72480
72481         * modules/ldd: New file.
72482         * build-aux/ldd.sh.in: New file.
72483         * MODULES.html.sh (Support for building libraries and executables): Add
72484         ldd.
72485
72486 2006-01-12  Bruno Haible  <bruno@clisp.org>
72487
72488         * m4/ldd.m4: New file.
72489
72490 2006-01-12  Bruno Haible  <bruno@clisp.org>
72491
72492         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72493         endless loop while replacing $auxdir with build-aux.
72494
72495 2006-01-11  Simon Josefsson  <jas@extundo.com>
72496
72497         * lib/stdint_.h (SIZE_MAX): Add missing (.
72498
72499 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72500
72501         Sync from coreutils.
72502         * lib/md5.c: Fix commentary typos.
72503         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72504         * lib/md5.h (__attribute__): Remove; unused.
72505         * lib/sha1.c: Fix commentary to match md5 better.
72506         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72507         so that we don't need to worry about alignment.  All uses changed.
72508         This merges the 2005-10-28 md5 change into sha1.
72509
72510 2006-01-11  Jim Meyering  <jim@meyering.net>
72511
72512         Sync from coreutils.
72513         * lib/md5.c (OP): Fix spacing.
72514
72515 2006-01-11  Bruno Haible  <bruno@clisp.org>
72516
72517         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72518         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72519         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72520
72521 2006-01-11  Bruno Haible  <bruno@clisp.org>
72522
72523         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72524         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72525         the "early" section as well.
72526
72527 2006-01-11  Bruno Haible  <bruno@clisp.org>
72528
72529         Avoid "ar: no archive members specified" error on MacOS X.
72530         * gnulib-tool (func_modules_add_dummy): New function.
72531         (func_import, func_create_testdir): Invoke it.
72532
72533 2006-01-11  Bruno Haible  <bruno@clisp.org>
72534
72535         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72536         with $auxdir in AC_CONFIG_FILES statements.
72537
72538 2006-01-11  Bruno Haible  <bruno@clisp.org>
72539
72540         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72541         Initialize also noinst_HEADERS to empty.
72542
72543 2006-01-11  Bruno Haible  <bruno@clisp.org>
72544
72545         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72546         variables.
72547         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72548         autoreconf.
72549
72550 2006-01-11  Bruno Haible  <bruno@clisp.org>
72551
72552         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72553         overridable by the user.
72554         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72555
72556 2006-01-10  Simon Josefsson  <jas@extundo.com>
72557
72558         * modules/sys_socket: New file.
72559
72560 2006-01-10  Simon Josefsson  <jas@extundo.com>
72561
72562         * m4/sys_socket_h.m4: New file.
72563
72564 2006-01-10  Simon Josefsson  <jas@extundo.com>
72565
72566         * lib/socket_.h: New file.
72567
72568 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72569
72570         * modules/readutmp (Maintainer): Add myself.
72571
72572 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72573
72574         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72575         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72576         People who are still concerned with buggy memcmp implementations
72577         can invoke gl_FUNC_MEMCMP themselves.
72578
72579 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72580
72581         * lib/regex_internal.h (BITSET_WORD_BITS):
72582         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72583         preprocessor mishandles large unsigned values as if they were signed.
72584         Problem reported by Claudio Fontana in
72585         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72586
72587 2006-01-10  Jim Meyering  <jim@meyering.net>
72588
72589         Avoid the double-free (first in fts_read, second in fts_close) that
72590         would occur when an `active' directory is made inaccessible (e.g.,
72591         via chmod a-x) during a traversal.
72592         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72593         before returning.  Reproduce this failure by
72594         mkdir -p a/b; cd a; chmod a-x . b
72595         Reported by Stavros Passas.
72596
72597         Sync from coreutils.
72598         * lib/sha1.c: Tweak grammar in a comment.
72599
72600 2006-01-10  Jim Meyering  <jim@meyering.net>
72601
72602         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72603         Patch by Joerg Sonnenberger.
72604
72605 2006-01-10  Bruno Haible  <bruno@clisp.org>
72606
72607         * modules/readutmp: Depend on module free.
72608         * modules/strtok_r: Depend on module restrict.
72609
72610 2006-01-10  Bruno Haible  <bruno@clisp.org>
72611
72612         * modules/gettext (configure.ac): Add an invocation of
72613         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72614
72615 2006-01-10  Bruno Haible  <bruno@clisp.org>
72616
72617         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72618         Reported by Werner Lemberg <wl@gnu.org>.
72619
72620 2006-01-10  Bruno Haible  <bruno@clisp.org>
72621
72622         * lib/localcharset.c: Update from GNU gettext.
72623
72624 2006-01-10  Bruno Haible  <bruno@clisp.org>
72625
72626         * lib/argp.h (__const): Remove macro. Use const instead.
72627         * lib/argp-fmtstream.h (__const): Likewise.
72628         * lib/glob_.h (__const): Remove macro.
72629         * lib/glob-libc.h: Use const instead of __const.
72630
72631 2006-01-10  Bruno Haible  <bruno@clisp.org>
72632
72633         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72634         variable.
72635         Needed to avoid an automake error regarding the 'gettext' module.
72636
72637 2006-01-09  Simon Josefsson  <jas@extundo.com>
72638
72639         * modules/inet_ntop (Depends-on): Add restrict.
72640
72641 2006-01-09  Simon Josefsson  <jas@extundo.com>
72642
72643         * modules/gc-rijndael-tests (License): Put under LGPL.
72644
72645         * modules/gc-des-tests (License): Likewise.
72646
72647         * modules/gc-arcfour-tests (License): Likewise.
72648
72649         * modules/gc-arctwo-tests (License): Likewise.
72650
72651         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72652
72653         * modules/gc-hmac-sha1-tests (Files): Likewise.
72654
72655         * modules/gc-hmac-md5-tests (License): Likewise.
72656
72657         * modules/gc-sha1-tests (License): Likewise.
72658
72659         * modules/gc-md5-tests (License): Likewise.
72660
72661         * modules/gc-md4-tests (License): Likewise.
72662
72663         * modules/gc-md2-tests (License): Likewise.
72664
72665         * modules/gc-tests (License): Likewise.
72666
72667         * modules/des-tests (License): Likewise.
72668
72669         * modules/md4-tests (License): Likewise.
72670
72671         * modules/md2-tests (License): Likewise.
72672
72673 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72674
72675         Sync from coreutils:
72676
72677         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72678         * modules/lib-ignore: New file.
72679         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72680         chdir-safer.m4, lchmod.m4.
72681         * modules/openat: Add mkdirat.c, openat-priv.h.
72682
72683 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72684
72685         Sync from coreutils.
72686         * m4/lib-ignore.m4: New file.
72687         * m4/lchmod.m4: New file.
72688
72689 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72690
72691         Sync from coreutils.
72692         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72693         for write access: POSIX says that must fail.
72694         * lib/fts.c (diropen): Likewise.
72695         * lib/save-cwd.c (save_cwd): Likewise.
72696         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72697         well, for minor improvements on hosts that lack O_DIRECTORY.
72698         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72699         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72700         Fall back on chown if open failed with EACCES.
72701
72702         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72703         Report an error at compile-time if only a 1-second nominal clock
72704         resolution is found.
72705
72706         * lib/lchmod.h: New file.
72707         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72708         (make_dir_parents): Use lchown rather than chown, and
72709         lchmod rather than chmod.
72710
72711         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72712         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72713         "proc" reported by n0dalus.
72714
72715         * lib/mountlist.c: Include <limits.h>.
72716         (dev_from_mount_options)
72717         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72718         New function.  It no longer assumes "dev=" has the System V meaning
72719         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72720         (read_file_system_list)
72721         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72722         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72723         dev= in that case.
72724
72725         * lib/posixtm.h (PDS_PRE_2000): New macro.
72726         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72727         allow_century.  All usages changed.  Reject dates outside the range
72728         1969-1999 if PDS_PRE_2000 is used.
72729
72730 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72731
72732         Sync from coreutils.
72733         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72734         (Time of day items): Mention the possibility of leap seconds.
72735         Problem reported by Dr. David Alan Gilbert.
72736
72737 2006-01-09  Jim Meyering  <jim@meyering.net>
72738
72739         Sync from coreutils.
72740
72741         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72742
72743         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72744
72745         * lib/modechange.c (mode_compile): Reject an invalid mode string
72746         that starts with an octal digit.  From Andreas Gruenbacher.
72747
72748         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72749         and dup to open_safer and dup_safer, respectively.
72750         (openat_permissive): Fix typo in comment.
72751
72752         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72753         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72754         (_): Remove; no longer needed.
72755         (openat): Renamed from rpl_openat; no need for rpl_openat
72756         since openat.h renames openat for us.
72757         Replace most of the body with a call to openat_permissive,
72758         to avoid duplicate code.
72759         Port to (probably hypothetical) environments were mode_t is
72760         wider than int.
72761         (openat_permissive): Require mode arg, so that we can check
72762         types better.  Put it just after flags.  Change cwd failure
72763         indicator from pointer-to-bool to pointer-to-errno-value.
72764         All callers changed.
72765         Invoke openat_save_fail and/or openat_restore_fail if
72766         cwd_errno is null, so that openat can call us.
72767         (openat_permissive, fdopendir, fstatat, unlinkat):
72768         Simplify errno handling to avoid some duplicate code,
72769         as it's OK to set errno on success.
72770         * lib/openat.h: Revamp code so that function macros depend on
72771         __OPENAT_PREFIX only, not also on AT_FDCWD.
72772         (openat_ro): Remove.  Caller changed to use openat_permissive.
72773         (openat_permissive): Now a macro, if not a function.
72774         (openat_restore_fail, openat_save_fail): Now always functions,
72775         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72776
72777         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72778         and openat.c.
72779         * lib/mkdirat.c: Include openat-priv.h.
72780         Remove definitions of macros defined therein.
72781         * lib/openat.c: Likewise.
72782
72783         * lib/mkdirat.c (mkdirat): New file and function.
72784         * lib/openat.h (mkdirat): Declare.
72785
72786         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72787
72788         * lib/openat.h (openat_permissive): Declare.
72789         (openat_ro): Define.
72790
72791         * lib/openat.c (EXPECTED_ERRNO): New macro.
72792         (openat_permissive): New function -- used in remove.c rewrite.
72793         (all functions): Set errno just before returning, only if there
72794         was an actual failure.
72795         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
72796
72797         Emulate openat-family functions using Linux's procfs, if possible.
72798         Idea and some code based on Ulrich Drepper's glibc changes.
72799
72800         * lib/openat.c: (BUILD_PROC_NAME): New macro.
72801         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
72802         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
72803         before falling back on save_cwd and restore_cwd.
72804         (fdopendir, fstatat, unlinkat): Likewise.
72805
72806         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
72807         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
72808
72809         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
72810         as second argument to va_arg.  Otherwise, some versions of gcc
72811         warn that `if this code is reached, the program will abort'.
72812
72813 2006-01-09  Jim Meyering  <jim@meyering.net>
72814
72815         Sync from coreutils.
72816         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
72817         Require openat-priv.h.
72818
72819 2006-01-09  Bruno Haible  <bruno@clisp.org>
72820
72821         * modules/strnlen (Include): Use strnlen.h.
72822
72823 2006-01-09  Bruno Haible  <bruno@clisp.org>
72824
72825         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
72826
72827 2006-01-09  Bruno Haible  <bruno@clisp.org>
72828
72829         * lib/sysexit_.h (EX_OK): New macro.
72830         Suggested by Martin Lambers <marlam@marlam.de>.
72831
72832 2006-01-09  Bruno Haible  <bruno@clisp.org>
72833
72834         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
72835         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
72836
72837 2006-01-09  Bruno Haible  <bruno@clisp.org>
72838
72839         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
72840         numbers.
72841
72842 2006-01-09  Bruno Haible  <bruno@clisp.org>
72843
72844         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
72845         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
72846         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
72847         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
72848
72849 2006-01-09  Bruno Haible  <bruno@clisp.org>
72850
72851         * build-aux/javacomp.sh.in: New file, moved from lib/.
72852         * modules/javacomp-script (Files): Update.
72853         (configure.ac): Add AC_CONFIG_FILES invocation.
72854         (EXTRA_DIST): Remove variable.
72855
72856         * build-aux/javaexec.sh.in: New file, moved from lib/.
72857         * modules/javaexec (Files): Update.
72858         (configure.ac): Add AC_CONFIG_FILES invocation.
72859         (EXTRA_DIST): Remove javaexec.sh.in.
72860
72861         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
72862         * modules/csharpcomp-script (Files): Update.
72863         (configure.ac): Add AC_CONFIG_FILES invocation.
72864         (EXTRA_DIST): Remove variable.
72865
72866         * build-aux/csharpexec.sh.in: New file, moved from lib/.
72867         * modules/csharpexec (Files): Update.
72868         (configure.ac): Add AC_CONFIG_FILES invocation.
72869         (EXTRA_DIST): Remove csharpexec.sh.in.
72870
72871 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72872
72873         Sync from coreutils.
72874
72875         Add POSIX ACL support
72876         * lib/acl.h (copy_acl, set_acl): Add declarations.
72877         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
72878         systems other than Linux.
72879         (chmod_or_fchmod): New function: use fchmod when possible,
72880         and chmod otherwise.
72881         (file_has_acl): Add a POSIX ACL implementation, with a
72882         Linux-specific subcase.
72883         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
72884         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
72885         acls are unsupported.
72886         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
72887         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
72888         are unsupported.
72889
72890 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72891
72892         Sync from coreutils.
72893         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
72894
72895 2006-01-07  Bruno Haible  <bruno@clisp.org>
72896
72897         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
72898         gl_EARLY.
72899
72900 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72901
72902         * lib/strftime.c (tzname): Don't declare if it is already #defined.
72903         Problem reported for Mingw by Mark Junker.
72904
72905 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72906
72907         * README: Gnulib normally doesn't generate a tarball.
72908
72909 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
72910
72911         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
72912         long int, not int, for nanosecond counts, so that people who are
72913         used to POSIX struct timespec won't be surprised.  Reported by Jim
72914         Meyering.
72915
72916 2005-12-28  Bruno Haible  <bruno@clisp.org>
72917
72918         * build-aux/config.rpath: Update from GNU gettext.
72919
72920 2005-12-16  Jim Meyering  <jim@meyering.net>
72921
72922         * modules/fprintftime: New module.
72923         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
72924
72925 2005-12-16  Jim Meyering  <jim@meyering.net>
72926
72927         * m4/fprintftime.m4: New file.
72928
72929 2005-12-16  Jim Meyering  <jim@meyering.net>
72930
72931         * lib/fprintftime.c, lib/fprintftime.h: New files.
72932
72933 2005-12-15  Simon Josefsson  <jas@extundo.com>
72934
72935         * modules/socklen (configure.ac): Fix M4 macro name, to align with
72936         new m4/socklen.m4.
72937
72938 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72939
72940         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
72941         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
72942
72943 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72944
72945         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
72946         * lib/argp-help.c (fill_in_uparams): Check if the constructed
72947         struct uparams is valid. Fall back to the default values if it is
72948         not.
72949
72950 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72951
72952         * modules/argp (Files): Add argp-pin.c
72953         (Depends-on): dirname
72954         (lib_SOURCES): Add argp-pin.c
72955
72956 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72957
72958         * m4/argp.m4:  Check if program_invocation_name and
72959         program_invocation_short_name are declared and define appropriate
72960         macros if they are not.
72961
72962 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72963
72964         * lib/argp-help.c (__argp_base_name): New function
72965         (__argp_short_program_name): Rewrite using __argp_base_name
72966         * lib/argp-namefrob.h: Define program_invocation_name and
72967         program_invocation_short_name if requested
72968         (__argp_base_name): Add prototype
72969         * lib/argp-parse.c (argp_def): Use gettext wrappers
72970         (argp_default_parser): Use __argp_base_name
72971         * lib/argp-pin.c: New file. Defines program_invocation_name and
72972         program_invocation_short_name on systems that lack them.
72973
72974 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72975
72976         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
72977         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72978         porting problem reported by Georg Schwarz in
72979         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72980
72981 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72982
72983         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
72984         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72985         porting problem reported by Georg Schwarz in
72986         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72987
72988 2005-12-05  Bruno Haible  <bruno@clisp.org>
72989
72990         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
72991         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
72992         Reported by Mark Junker <mjscod@gmx.de>.
72993
72994 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
72995
72996         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
72997         Use implementation from Albert Chin, with some
72998         comments/corrections by Stepan Kasal and myself.
72999
73000 2005-12-02  Bruno Haible  <bruno@clisp.org>
73001
73002         * gnulib-tool (func_import): Accept GPLed build tool modules when
73003         --lgpl is given.
73004         * modules/csharpcomp-script: New file.
73005         * modules/csharpcomp: Depend on it.
73006         * modules/javacomp-script: New file.
73007         * modules/javacomp: Depend on it.
73008         Suggested by Simon Josefsson.
73009
73010 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
73011
73012         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
73013         statement, to work around an HP-UX 10.20 compiler bug reported by
73014         Peter O'Gorman.
73015
73016 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73017
73018         * modules/savedir (Depends-on): Add openat.
73019
73020 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73021
73022         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
73023         (uintmax_t) [defined uintmax_t]: Do not declare.
73024         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
73025         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
73026         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
73027         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
73028         sake of portability to weird hosts that C allows (though we don't
73029         know of any practical examples).
73030
73031         * lib/savedir.h (fdsavedir): New decl.
73032         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
73033         contains most of the former guts of savedir.
73034         (savedir): Use savedirstream.
73035         Include "openat.h".
73036
73037 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73038
73039         * modules/obstack (Files): Add m4/ulonglong.m4.
73040         Problem reported by Davide Angelocola.
73041
73042 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
73043
73044         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
73045         coreutils no longer futzes with rounding modes.
73046
73047 2005-11-14  Jim Meyering  <jim@meyering.net>
73048
73049         * lib/mkstemp-safer.c: Include <config.h>, required for possible
73050         replacement of mkstemp.
73051
73052 2005-11-10  Simon Josefsson  <jas@extundo.com>
73053
73054         * lib/readline.c: Remove EOL.
73055
73056 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73057
73058         * modules/gethrxtime (Depends-on): Add gettime.
73059
73060 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73061
73062         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
73063         or gettimeofday; no longer needed.
73064
73065 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73066
73067         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
73068         time business.
73069         (gethrxtime) [! (HAVE_NANOUPTIME
73070         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
73071         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
73072         our own approximation.
73073
73074 2005-11-08  Eric Blake  <ebb9@byu.net>
73075
73076         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73077
73078 2005-11-08  Eric Blake  <ebb9@byu.net>
73079
73080         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73081
73082 2005-11-04  Bruno Haible  <bruno@clisp.org>
73083
73084         * gnulib-tool: Implement --update mode.
73085
73086 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73087
73088         Fix porting problem reported by Theodoros V. Kalamatianos.
73089         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
73090         Don't assume that futimes failing means we must fail.
73091
73092 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73093
73094         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
73095         variables to suggest the intended function of the PATH_MAX check.
73096
73097 2005-10-30  Kean Johnston  <jkj@sco.com>
73098
73099         Trivial changes to support SCO systems.
73100         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
73101         as PATH_MAX.
73102         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
73103         where __ptr is null when no I/O is pending.
73104
73105 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73106
73107         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
73108         leave errno alone.  Problem reported by Dmitry V. Levin.
73109
73110 2005-10-28  Simon Josefsson  <jas@extundo.com>
73111
73112         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
73113         Test more.
73114
73115         * tests/test-gc-md2.c, tests/test-md2.c: New files.
73116
73117         * modules/md2, modules/md2-tests: New files.
73118
73119 2005-10-28  Simon Josefsson  <jas@extundo.com>
73120
73121         * m4/inet_ntop.m4: More tests.
73122
73123         * m4/gc-md2.m4, md2.m4: New file.
73124
73125 2005-10-28  Simon Josefsson  <jas@extundo.com>
73126
73127         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
73128         "restrict" keywords, as per POSIX.  Protect the function
73129         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
73130         Don't use K&R prototypes.  Check the sprintf return values.
73131         Re-define EAFNOSUPPORT if not present.  Indent.
73132
73133         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
73134         suggested by Bruno Haible <bruno@clisp.org>.
73135
73136         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
73137
73138         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
73139
73140         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
73141         libgcrypt).
73142
73143         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
73144
73145         * lib/md2.h, lib/md2.c: New files.
73146
73147 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
73148
73149         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
73150         errno alone.  Problem reported by Frederic Jolliton.
73151
73152 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73153
73154         * modules/verify (License): Change from GPL to LGPL.  This is a
73155         tiny module and there are apparently near-equivalents that are
73156         under the BSD license.
73157
73158 2005-10-24  Simon Josefsson  <jas@extundo.com>
73159
73160         * modules/sha1: Relicense to LGPL.
73161
73162 2005-10-24  Simon Josefsson  <jas@extundo.com>
73163
73164         * lib/md4.h: Shrink buffer size, now that we changed the type.
73165
73166 2005-10-23  Simon Josefsson  <jas@extundo.com>
73167
73168         * gnulib-tool (func_import): Fix --tests-base.
73169
73170 2005-10-22  Simon Josefsson  <jas@extundo.com>
73171
73172         * modules/arcfour (Depends-on): Need stdint.
73173
73174 2005-10-22  Simon Josefsson  <jas@extundo.com>
73175
73176         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
73177         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
73178
73179 2005-10-22  Simon Josefsson  <jas@extundo.com>
73180
73181         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
73182         suggested by Bruno Haible <bruno@clisp.org>.
73183
73184 2005-10-22  Simon Josefsson  <jas@extundo.com>
73185
73186         * lib/crc.h: Include stddef.h, for size_t.
73187
73188 2005-10-22  Simon Josefsson  <jas@extundo.com>
73189
73190         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
73191         arcfour_context struct (simplify test vector testing in GNU
73192         Shishi).
73193
73194 2005-10-21  Simon Josefsson  <jas@extundo.com>
73195
73196         * modules/des, modules/des-tests: New files.
73197
73198         * modules/gc-des, modules/gc-des-tests: New files.
73199
73200         * tests/test-des.c, tests/test-gc-des.c: New file.
73201
73202 2005-10-21  Simon Josefsson  <jas@extundo.com>
73203
73204         * modules/arctwo, modules/arctwo-tests: New files.
73205
73206         * tests/test-arctwo.c: New file.
73207
73208         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
73209
73210         * tests/test-gc-arctwo.c: New file.
73211
73212 2005-10-21  Simon Josefsson  <jas@extundo.com>
73213
73214         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
73215         Bruno Haible <bruno@clisp.org>.
73216
73217         * m4/gc-des.m4: New file.
73218
73219 2005-10-21  Simon Josefsson  <jas@extundo.com>
73220
73221         * m4/arctwo.m4: New file.
73222
73223         * m4/gc-arctwo.m4: New file.
73224
73225 2005-10-21  Simon Josefsson  <jas@extundo.com>
73226
73227         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
73228         block.
73229
73230 2005-10-21  Simon Josefsson  <jas@extundo.com>
73231
73232         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
73233         <bruno@clisp.org>.
73234
73235         * lib/hmac-sha1.c (hmac_sha1): Likewise.
73236
73237         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
73238         Bruno Haible <bruno@clisp.org>.
73239
73240         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
73241         <bruno@clisp.org>.
73242
73243 2005-10-21  Simon Josefsson  <jas@extundo.com>
73244
73245         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
73246
73247 2005-10-21  Simon Josefsson  <jas@extundo.com>
73248
73249         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
73250
73251 2005-10-21  Simon Josefsson  <jas@extundo.com>
73252
73253         * lib/des.h, lib/des.c: New files.
73254
73255         * lib/gc-gnulib.c: Support DES.c
73256
73257 2005-10-21  Simon Josefsson  <jas@extundo.com>
73258
73259         * lib/arctwo.h, lib/arctwo.c: New files.
73260
73261         * lib/gc-gnulib.c: Support ARCTWO.
73262
73263 2005-10-21  Simon Josefsson  <jas@extundo.com>
73264
73265         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
73266         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73267
73268 2005-10-21  Simon Josefsson  <jas@extundo.com>
73269
73270         * gnulib-tool (func_import, func_create_testdir): Define automake
73271         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
73272         Makefile.am snippet),
73273         suggested by Bruno Haible <bruno@clisp.org>.
73274
73275         * modules/gc (Makefile.am): Use it.
73276
73277 2005-10-21  Bruno Haible  <bruno@clisp.org>
73278
73279         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
73280         patch.
73281
73282 2005-10-19  Simon Josefsson  <jas@extundo.com>
73283
73284         * tests/test-gc-rijndael.c: New file.
73285
73286         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
73287
73288 2005-10-19  Simon Josefsson  <jas@extundo.com>
73289
73290         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
73291         interface too.
73292
73293 2005-10-19  Simon Josefsson  <jas@extundo.com>
73294
73295         * tests/test-gc-arcfour.c: New file.
73296
73297         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
73298
73299 2005-10-19  Simon Josefsson  <jas@extundo.com>
73300
73301         * modules/gc-md4, modules/gc-md4-tests: New file.
73302
73303         * tests/test-gc-md4.c: New file.
73304
73305 2005-10-19  Simon Josefsson  <jas@extundo.com>
73306
73307         * m4/gc-md4.m4: New file.
73308
73309 2005-10-19  Simon Josefsson  <jas@extundo.com>
73310
73311         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
73312         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
73313         <kasal@ucw.cz>.
73314
73315 2005-10-19  Simon Josefsson  <jas@extundo.com>
73316
73317         * m4/gc-arcfour.m4: New file.
73318
73319         * m4/gc-rijndael.m4: New file.
73320
73321 2005-10-19  Simon Josefsson  <jas@extundo.com>
73322
73323         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
73324
73325 2005-10-19  Simon Josefsson  <jas@extundo.com>
73326
73327         * lib/gc-gnulib.c: Support ARCFOUR.
73328
73329 2005-10-19  Simon Josefsson  <jas@extundo.com>
73330
73331         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
73332         support.
73333
73334         * lib/gc.h: Add ECB enum type.
73335
73336         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
73337
73338 2005-10-18  Simon Josefsson  <jas@extundo.com>
73339
73340         * tests/test-md5.c: New file.
73341
73342         * modules/md5-tests: New file.
73343
73344 2005-10-18  Simon Josefsson  <jas@extundo.com>
73345
73346         * tests/test-md4.c: New file.
73347
73348         * modules/md4, modules/md4-tests: New files.
73349
73350 2005-10-18  Simon Josefsson  <jas@extundo.com>
73351
73352         * m4/md4.m4: New file.
73353
73354 2005-10-18  Simon Josefsson  <jas@extundo.com>
73355
73356         * lib/md4.h, lib/md4.c: New files, based on md5.?.
73357
73358 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
73359
73360         * gnulib-tool (func_create_testdir): Omit the second check whether
73361         BUILT_SOURCES in nonempty.
73362
73363 2005-10-17  Simon Josefsson  <jas@extundo.com>
73364
73365         * tests/test-rijndael.c: New file.
73366
73367 2005-10-17  Simon Josefsson  <jas@extundo.com>
73368
73369         * modules/sha1: Depend on stdint instead of md5.
73370
73371         * modules/md5: Depend on stdint, remove uint32_t.
73372
73373 2005-10-17  Simon Josefsson  <jas@extundo.com>
73374
73375         * modules/gc-sha1-tests: New file.
73376
73377         * tests/test-gc-sha1.c: New file.
73378
73379 2005-10-17  Simon Josefsson  <jas@extundo.com>
73380
73381         * m4/md5.m4: Remove call to uint32_t.m4.
73382
73383 2005-10-17  Simon Josefsson  <jas@extundo.com>
73384
73385         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73386
73387         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73388         md5.h.
73389
73390         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73391
73392         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73393
73394 2005-10-17  Simon Josefsson  <jas@extundo.com>
73395
73396         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73397
73398 2005-10-17  Simon Josefsson  <jas@extundo.com>
73399
73400         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73401
73402 2005-10-17  Simon Josefsson  <jas@extundo.com>
73403
73404         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73405
73406         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73407
73408 2005-10-17  Bruno Haible  <bruno@clisp.org>
73409
73410         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73411         that it can also be used in a test.
73412
73413 2005-10-16  Bruno Haible  <bruno@clisp.org>
73414
73415         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73416         TESTS_ENVIRONMENT, so that individual tests can augment it.
73417
73418         * gnulib-tool (func_create_testdir): Use an intermediate target for
73419         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73420         macros, like $(ALLOCA_H), which cannot be passed through the command
73421         line.
73422
73423 2005-10-15  Simon Josefsson  <jas@extundo.com>
73424
73425         * modules/rijndael-tests: New file.
73426
73427         * modules/rijndael: New file.
73428
73429 2005-10-15  Simon Josefsson  <jas@extundo.com>
73430
73431         * m4/rijndael.m4: New file.
73432
73433 2005-10-15  Simon Josefsson  <jas@extundo.com>
73434
73435         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73436
73437         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73438
73439 2005-10-14  Simon Josefsson  <jas@extundo.com>
73440
73441         * tests/test-arcfour.c: New file.
73442
73443         * modules/arcfour, modules/arcfour-tests: New files.
73444
73445 2005-10-14  Simon Josefsson  <jas@extundo.com>
73446
73447         * m4/arcfour.m4: New file.
73448
73449 2005-10-14  Simon Josefsson  <jas@extundo.com>
73450
73451         * lib/arcfour.h, lib/arcfour.c: New files.
73452
73453 2005-10-14  Roland McGrath  <roland@redhat.com>
73454
73455         Import from libc.  [BZ #1331]
73456         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73457         macro argument.
73458         Reported by Matej Vela <vela@debian.org>.
73459
73460 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73461
73462         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73463         include <wchar.h>; no longer needed.
73464
73465 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73466
73467         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73468
73469 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73470         and  Ulrich Drepper  <drepper@redhat.com>
73471
73472         Import from libc.
73473         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73474         instead of inline stream orientation test and two separate
73475         function calls.  Pay no attention to USE_IN_LIBIO.
73476
73477 2005-10-13  Simon Josefsson  <jas@extundo.com>
73478
73479         * modules/gc-hmac-md5-tests: New file.
73480
73481         * tests/test-gc-hmac-sha1.c: New file.
73482
73483         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73484
73485         * modules/gc-hmac-md5-tests: New file.
73486
73487         * tests/test-gc-md5.c: New file.
73488
73489         * modules/gc-md5-tests: New file.
73490
73491 2005-10-13  Simon Josefsson  <jas@extundo.com>
73492
73493         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73494         Move memory allocation outside of loop.
73495
73496 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73497
73498         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73499         intermediate directory is in a read-only file system.  Problem
73500         reported by Eric Blake.
73501
73502 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73503
73504         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73505
73506 2005-10-12  Simon Josefsson  <jas@extundo.com>
73507
73508         * tests/test-hmac-sha1.c: New file.
73509
73510         * modules/hmac-sha1-tests: New file.
73511
73512         * modules/hmac-sha1: New file.
73513
73514 2005-10-12  Simon Josefsson  <jas@extundo.com>
73515
73516         * modules/gc-sha1: New file.
73517
73518 2005-10-12  Simon Josefsson  <jas@extundo.com>
73519
73520         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73521
73522         * tests/test-gc-pbkdf2-sha1.c: New file.
73523
73524 2005-10-12  Simon Josefsson  <jas@extundo.com>
73525
73526         * modules/gc-md5, modules/gc-hmac-md5: New files.
73527
73528         * modules/gc (Files): Remove md5, memxor and hmac files.
73529
73530 2005-10-12  Simon Josefsson  <jas@extundo.com>
73531
73532         * m4/gc-pbkdf2-sha1.m4: New file.
73533
73534         * m4/gc-hmac-sha1.m4: New file.
73535
73536         * m4/gc-sha1: New file.
73537
73538         * m4/hmac-sha1.m4: New file.
73539
73540 2005-10-12  Simon Josefsson  <jas@extundo.com>
73541
73542         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73543
73544         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73545
73546 2005-10-12  Simon Josefsson  <jas@extundo.com>
73547
73548         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73549         suggested by Bruno Haible <bruno@clisp.org>.
73550
73551 2005-10-12  Simon Josefsson  <jas@extundo.com>
73552
73553         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73554
73555 2005-10-12  Simon Josefsson  <jas@extundo.com>
73556
73557         * lib/gc-pbkdf2-sha1.c: New file.
73558
73559         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73560
73561 2005-10-12  Simon Josefsson  <jas@extundo.com>
73562
73563         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73564
73565         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73566
73567 2005-10-12  Simon Josefsson  <jas@extundo.com>
73568
73569         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73570         GC_USE_HMAC_MD5, respectively.
73571
73572         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73573         (gc_md5): Fix typo.
73574
73575         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73576
73577         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73578
73579         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73580
73581 2005-10-12  Bruno Haible  <bruno@clisp.org>
73582
73583         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73584         Reported by Stepan Kasal <kasal@ucw.cz>.
73585
73586 2005-10-11  Simon Josefsson  <jas@extundo.com>
73587
73588         * tests/test-crc.c: New file.
73589
73590         * modules/crc, modules/crc-tests: New files.
73591
73592 2005-10-11  Simon Josefsson  <jas@extundo.com>
73593
73594         * m4/crc.m4: New file.
73595
73596 2005-10-11  Simon Josefsson  <jas@extundo.com>
73597
73598         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73599
73600         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73601
73602         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73603
73604 2005-10-11  Simon Josefsson  <jas@extundo.com>
73605
73606         * lib/crc.h, lib/crc.c: New files.
73607
73608         * lib/gc.h (gc_hash_buffer): Add doc.
73609
73610 2005-10-11  Bruno Haible  <bruno@clisp.org>
73611
73612         * modules/c-strcasestr: New file.
73613         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73614
73615 2005-10-11  Bruno Haible  <bruno@clisp.org>
73616
73617         * modules/c-strcase: New file.
73618         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73619
73620 2005-10-11  Bruno Haible  <bruno@clisp.org>
73621
73622         * lib/strcasecmp.c: Include limits.h.
73623         (strcasecmp): Avoid integer overflow on exotic platforms.
73624         * lib/strncasecmp.c: Include limits.h.
73625         (strncasecmp): Avoid integer overflow on exotic platforms.
73626         Reported by Paul Eggert.
73627
73628 2005-10-11  Bruno Haible  <bruno@clisp.org>
73629
73630         * lib/c-strcasestr.h: New file, from GNU gettext.
73631         * lib/c-strcasestr.c: New file, from GNU gettext.
73632
73633 2005-10-11  Bruno Haible  <bruno@clisp.org>
73634
73635         * lib/c-strcase.h: New file, from GNU gettext.
73636         * lib/c-strcasecmp.c: New file, from GNU gettext.
73637         * lib/c-strncasecmp.c: New file, from GNU gettext.
73638
73639 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73640
73641         * modules/mempcpy (License): GPL -> LGPL.
73642         * modules/strchrnul (License): Likewise.
73643         * modules/sysexits (License): Likewise.
73644
73645 2005-10-08  Simon Josefsson  <jas@extundo.com>
73646
73647         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73648
73649 2005-10-07  Simon Josefsson  <jas@extundo.com>
73650
73651         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73652
73653 2005-10-06  Simon Josefsson  <jas@extundo.com>
73654
73655         * tests/test-hmac-md5.c: New file.
73656
73657         * modules/hmac-md5-tests: New file.
73658
73659         * modules/hmac-md5: New file.
73660
73661 2005-10-06  Simon Josefsson  <jas@extundo.com>
73662
73663         * m4/hmac-md5.m4: New file.
73664
73665         * m4/memxor.m4: Require gl_C_RESTRICT.
73666
73667 2005-10-06  Simon Josefsson  <jas@extundo.com>
73668
73669         * lib/memxor.c (memxor): Avoid casts and warnings.
73670
73671 2005-10-06  Simon Josefsson  <jas@extundo.com>
73672
73673         * lib/hmac-md5.c: New file.
73674
73675         * lib/hmac.h: New file.
73676
73677 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73678
73679         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73680         promotes to int, not unsigned int, to catch the AIX 5.3
73681         compiler bug.
73682
73683 2005-10-05  Simon Josefsson  <jas@extundo.com>
73684
73685         * modules/memxor: New file.
73686
73687         * modules/iconv (Files): Move config.rpath to havelib, it is used
73688         there.
73689
73690         * modules/havelib (Files): Add config.rpath.
73691
73692 2005-10-05  Simon Josefsson  <jas@extundo.com>
73693
73694         * m4/memxor.m4: New file.
73695
73696 2005-10-05  Simon Josefsson  <jas@extundo.com>
73697
73698         * lib/memxor.c (memxor): Fix compiler error.
73699
73700         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73701         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73702
73703         * lib/memxor.h, lib/memxor.c: New files.
73704
73705         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73706         we assume all systems have it, suggested by Jim Meyering
73707         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73708         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73709         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73710         same reasons.
73711
73712 2005-10-05  Simon Josefsson  <jas@extundo.com>
73713
73714         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73715
73716 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73717
73718         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73719         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73720         needed, since the source code now assumes these .h files.
73721
73722 2005-10-05  Derek Price  <derek@ximbiot.com>
73723
73724         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73725
73726 2005-10-05  Bruno Haible  <bruno@clisp.org>
73727
73728         * modules/stdint (License): Change to LGPL.
73729
73730 2005-10-04  Simon Josefsson  <jas@extundo.com>
73731
73732         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73733         D. Baushke" <mdb@gnu.org>.
73734
73735 2005-10-04  Bruno Haible  <bruno@clisp.org>
73736
73737         * lib/verify.h (verify_true): Provide alternative definition for C++.
73738
73739 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73740
73741         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73742         (SSIZE_MAX): New macro, if not already defined.
73743         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73744         than 2 GiB.
73745
73746 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73747
73748         Sync from coreutils.
73749         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73750         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73751         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73752         ULLONG_MAX doesn't work with 2.7.2.1.
73753
73754 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73755
73756         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73757         From Ben Pfaff.
73758
73759         * modules/exclude (Depends-on): Depend on verify.
73760         * modules/strtoimax (Depends-on): Likewise.
73761         * modules/utimecmp (Depends-on): Likewise.
73762
73763 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73764
73765         * lib/exclude.c: Include verify.h.
73766         (verify): Remove.  All callers changed to use verify.h's version.
73767         * lib/strtoimax.c: Likewise.
73768         * lib/utimecmp.c: Likewis.e
73769
73770         Sync from coreutils.
73771         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73772         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73773         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73774         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73775         bother returning ENOSYS if settimeofday or stime fails; just let
73776         them return whatever errno they want to return.
73777         * lib/utimens.c: Include unistd.h, for dup2.
73778         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73779         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73780
73781 2005-10-02  Jim Meyering  <jim@meyering.net>
73782
73783         Sync from coreutils.
73784         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73785         from glibc-2.2.5 that fails for read-only files.
73786
73787 2005-10-02  Jim Meyering  <jim@meyering.net>
73788
73789         Sync from coreutils.
73790         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73791         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73792         `#if HAVE_CONFIG_H'.
73793         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
73794         Remove AT_FDCWD test.
73795         Do not consume the fd unless successful.
73796         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
73797         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
73798         block, so that we don't even try to compile it if settimeofday is
73799         available.  This works around a compilation failure on OSF1 V5.1,
73800         due to stime requiring a `long int*' while tv_sec is `int'.
73801
73802 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
73803
73804         Sync from coreutils.
73805         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
73806         against `yes', rather than just testing for nonempty.
73807
73808 2005-10-01  Simon Josefsson  <jas@extundo.com>
73809
73810         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
73811         and Darwin.
73812
73813         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
73814         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
73815         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
73816         freeaddrinfo and gai_strerror are declared by the POSIX headers.
73817         Check if struct addrinfo is declared.
73818
73819 2005-10-01  Simon Josefsson  <jas@extundo.com>
73820
73821         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
73822         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
73823         AI_* and EAI_* definitions.  Protect function declarations.
73824
73825 2005-10-01  Jim Meyering  <jim@meyering.net>
73826
73827         Sync from coreutils.
73828
73829         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
73830         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
73831         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
73832         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73833         in the inet and nsl libraries.  Required on Solaris 5.7.
73834
73835 2005-10-01  Jim Meyering  <jim@meyering.net>
73836
73837         Sync from coreutils.
73838         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73839         in the inet and nsl libraries.  Required on Solaris 5.7.
73840
73841 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
73842
73843         * lib/getdelim.c (getdelim): Remove unused variables.
73844
73845 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73846
73847         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
73848         so that the code works even with ancient cpp.  Portability problem
73849         with GCC 2.7.2.1 reported by Thomas M.Ott.
73850
73851 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73852
73853         * modules/regex (Depends-on): Add strcase.
73854
73855         * modules/gethostname (Licence): Change from GPL to LGPL, since
73856         gethostname.c is a trivial implementation of a standard library
73857         function.
73858         * modules/poll (License): Change from GPL to LGPL, since it's
73859         derived from LGPL code.
73860
73861 2005-09-27  Jim Meyering  <jim@meyering.net>
73862
73863         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
73864         HAVE_CONFIG_H.
73865
73866         * lib/intprops.h (signed_type_or_expr__): Define.
73867         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
73868         for unsigned types.
73869
73870 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73871
73872         * lib/verify.h (verify_expr): Remove, replacing with:
73873         (verify_true): New macro that returns true instead of void.
73874         (verify_type__): Remove.
73875         (verify): Use verify_true rather than verify_type__.
73876
73877 2005-09-26  Bruno Haible  <bruno@clisp.org>
73878
73879         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
73880         is necessary.
73881         (lib_SOURCES): Remove mbchar.c.
73882         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
73883         (Files): Add m4/mbrtowc.m4.
73884         * modules/mbiter: Likewise.
73885         * modules/mbuiter: Likewise.
73886
73887 2005-09-26  Bruno Haible  <bruno@clisp.org>
73888
73889         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
73890         compile mbchar.c if they are not both present.
73891         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
73892         * m4/mbiter.m4 (gl_MBITER): Likewise.
73893         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
73894         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
73895         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
73896
73897 2005-09-25  Jim Meyering  <jim@meyering.net>
73898
73899         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
73900         also uses socklen_t.
73901
73902 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
73903
73904         * lib/utimens.c (ENOSYS): Define if not already defined.
73905         (futimens): Support having a null PATH if the file descriptor
73906         is nonnegative.
73907
73908         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
73909         Remove.
73910         (__attribute): Define to empty unless GCC 3.1 or later.
73911         This works around a core dump on OpenBSD 3.4, which has GCC
73912         2.95.3, which dumps core when given __attribute__(()).  It also
73913         simplifies other tests, since we really don't want to bother with
73914         worrying about which ancient version of GCC supported what.
73915         Original problem reported by Yoann Vandoorselaere, with part of
73916         the fix suggested by Derek Price.
73917
73918 2005-09-24  Jim Meyering  <jim@meyering.net>
73919
73920         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
73921         so we can once again use a positive bitfield width of 1 -- now we
73922         don't have to explain why we were using a bitfield width of 2.
73923
73924 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73925
73926         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
73927         and similarly for the other external symbols.  Problem reported
73928         by James Gallager.
73929
73930         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
73931         bug reported by Jim Meyering.
73932
73933         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
73934         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
73935         not needed, since socklen is a prerequisite module.
73936
73937 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73938
73939         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
73940         Problem reported by Eric Blake.
73941         (getaddrinfo): Initialize se so that it's not garbage.
73942         Redo internal storage allocation so that it doesn't make unportable
73943         assumptions about alignment.
73944         Fix a memory leak.
73945
73946         * lib/utimens.c (futimens): Use futimesat if available.
73947         Prefer it to futimes since it doesn't have the futimes bug.
73948
73949         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
73950         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
73951         Instead, declare a function that returns a pointer to an array,
73952         and use verify_type__ to declare the size of the array.
73953         Problem and germ of a solution reported by Bruno Haible.
73954         (verify_type__): Use 2, not 1, for bitfield size, to avoid
73955         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
73956
73957 2005-09-23  Jim Meyering  <jim@meyering.net>
73958
73959         Sync from coreutils.
73960         Correct build failure (socklen_t not defined) on at least
73961         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
73962         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
73963
73964 2005-09-23  Jim Meyering  <jim@meyering.net>
73965
73966         * modules/getaddrinfo (Depends-on): Add socklen.
73967
73968 2005-09-23  Bruno Haible  <bruno@clisp.org>
73969
73970         * tests/test-verify.c: New file.
73971
73972 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73973
73974         Sync from coreutils.
73975
73976         * modules/argmatch (Depends-on): Add verify.
73977         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
73978         unistd-safer.
73979         * modules/save-cwd (Depends-on): Likewise.
73980
73981         * modules/openat (Files): Add lib/openat-die.c.
73982         (Depends-on): Remove error, exitfail.
73983         Add dirname.
73984
73985         * modules/verify: New file.
73986         * MODULES.html.sh (Diagnostics <assert.h>): New section,
73987         with "verify" module.
73988
73989 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73990
73991         Sync from coreutils.
73992
73993         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
73994         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
73995         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
73996         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
73997         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
73998         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
73999         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
74000         Don't bother checking for string.h, stdlib.h, unistd.h.
74001         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
74002         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
74003         module's job.
74004         * m4/jm-macros.m4 (gl_MACROS): Likewise.
74005         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
74006
74007         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
74008         (gl_GETDATE): Use it.
74009
74010         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
74011
74012 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74013
74014         Sync from coreutils.
74015
74016         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
74017         stat-time.h.
74018         * lib/argmatch.h: Include verify.h
74019         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
74020         (ARGMATCH_ASSERT): Remove; unused.
74021         * lib/canonicalize.c: Assume STDC_HEADERS.
74022         * lib/exclude.c: Include "strcase.h".
74023         * lib/regex_internal.h [!defined _LIBC]: Likewise.
74024         * lib/getusershell.c: Include stdio--.h rather than stdio.h
74025         and stdio-safer.h.
74026         (getusershell): Call fopen, not fopen_safer.
74027         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
74028         Do not include unistd-safer.h.
74029         (save_cwd): Don't call fd_safer; no longer needed
74030         now that we include fcntl--.h.
74031
74032         * lib/getdate.y (relative_time): New type.
74033         (RELATIVE_TIME_0): New constant.
74034         (parser_control): Use relative_time instead of doing it ourselves.
74035         (%union): Add new relative_time rel member.
74036         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
74037         Now typeless.
74038         (relunit, relunit_snumber): Now of type rel.
74039         (zone, rel, relunit, get_date): Adjust to above changes.
74040
74041         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
74042         Do not include unistd-safer.h.
74043         (getloadavg): Don't call fd_safer; no longer needed
74044         now that we include fcntl--.h.
74045
74046         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
74047         (make_dir_parents): Treat ENOSYS like EEXIST.
74048
74049         Improve quality of diagnostics on restore_cwd failure.
74050         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
74051         (make_dir_parents): Last arg is now int * (for errno), not bool *.
74052         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
74053         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
74054         each time through the loop.  Do not diagnose restore_cwd failure;
74055         that is the caller's job (and perhaps the caller does not care).
74056
74057         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
74058         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
74059         If the file already exists but is not a directory, don't bother
74060         to try to make its parents.
74061         Close potential file descriptor leak if we can't chdir("/") (!).
74062         Don't always return true if chdir($PWD) fails; return true only
74063         if the requested action was done successfully (except for the
74064         chdir($PWD)).
74065         Don't log final directory unless we actually made it.
74066         Refactor to avoid duplicate code to fix up permissions.
74067         Don't attempt to fix up parent permissions if chdir($PWD) fails.
74068
74069         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
74070         to make it a bit faster and (I hope) clearer.
74071         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
74072         Fix bug in formats like %2N.
74073
74074         * lib/verify.h: New file.
74075
74076 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74077
74078         Sync from coreutils.
74079         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
74080
74081 2005-09-22  Jim Meyering  <jim@meyering.net>
74082
74083         Sync from coreutils.
74084
74085         * m4/lstat.m4 (gl_FUNC_LSTAT):
74086         Use AC_LIBSOURCES to require lstat.c and lstat.h.
74087         Remove obsolete comment.
74088         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
74089         * m4/xstrtod.m4: Likewise.
74090
74091         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
74092
74093 2005-09-22  Jim Meyering  <jim@meyering.net>
74094
74095         Sync from coreutils.
74096
74097         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
74098
74099         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
74100         the .tm_year member, since otherwise gcc-4.0 would now warn about
74101         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
74102
74103         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
74104         order to avoid an unsuppressible warning from gcc on 64-bit systems.
74105
74106         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
74107         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
74108         when run in a time zone for which daylight savings time is in effect
74109         for the starting date.
74110
74111         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
74112         stop us from restricting permissions of just-created absolute-named
74113         directories.
74114         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
74115         to restore initial working directory.
74116         * lib/mkdir-p.c (make_dir_parents): New parameter:
74117         different_working_dir, to tell caller if/when we change the working
74118         directory and are unable to return to the initial one.
74119         * lib/mkdir-p.h (make_dir_parents): Update prototype.
74120         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
74121         `return false'.  This fixes a bug introduced on 2004-07-30.
74122
74123         * lib/openat.c (fdopendir): Be sure to close the supplied
74124         file descriptor before returning.  This makes our replacement
74125         implementation a little closer to Solaris's, where fdopendir
74126         ties the file descriptor to the returned DIR* pointer.
74127         * lib/openat.c (unlinkat): New function.
74128         * lib/openat.h (unlinkat): Add prototype.
74129         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
74130         (openat_restore_fail): Rename from openat_restore_die.
74131         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
74132
74133         Provide an alternative to exiting immediately upon save_cwd or
74134         restore_cwd failure.  Now, an application can arrange e.g.,
74135         to perform a longjump in that case.
74136         * lib/openat.c: Include dirname.h.
74137         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
74138         (rpl_openat, fdopendir, fstatat): Call openat_save_die
74139         and openat_restore_die rather than calling error directly.
74140         Don't include "error.h" or "exitfail.h"; they're no longer needed.
74141
74142         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
74143         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
74144         define.
74145
74146         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
74147         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
74148                             int utc, int nanoseconds);
74149         Background:
74150         date should not have to allocate a megabyte of virtual memory to
74151         handle a format argument like +%1048575T.  When implemented with
74152         strftime, it must allocate such a buffer, use strftime to fill it
74153         in, print it, then free it.
74154         With fprintftime, it simply prints everything and exits.
74155         With no need for memory allocation, that's one fewer way to fail.
74156         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
74157         optional field width, not before, so we accept %9:z, not %:9z.
74158         (my_strftime): Be sure to use L_('x') for literals.
74159
74160         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
74161         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
74162         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
74163         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
74164         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
74165         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
74166         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
74167         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
74168         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
74169         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
74170         * lib/xgethostname.c, lib/xreadlink.c:
74171         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
74172
74173         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
74174         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
74175         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
74176         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74177         and don't include <sys/file.h>).
74178
74179 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
74180
74181         Sync from coreutils.
74182
74183         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
74184         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
74185         [!LDAV_DONE]: Avoid unused variable warning.
74186
74187 2005-09-21  Bruno Haible  <bruno@clisp.org>
74188
74189         * lib/unicodeio.h (unicode_to_mb): New declaration.
74190
74191 2005-09-20  Derek Price  <derek@ximbiot.com>
74192
74193         * lib/getaddrinfo.c: Don't include <netdb.h> included from
74194         getaddrinfo.h.
74195
74196 2005-09-20  Bruno Haible  <bruno@clisp.org>
74197
74198         * gnulib-tool: Remove trailing slashes from the values specified for
74199         --source-base, --m4-base, --tests-base, --aux-dir.
74200         Suggested by Simon Josefsson <jas@extundo.com>.
74201
74202 2005-09-20  Bruno Haible  <bruno@clisp.org>
74203
74204         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
74205         func_modules_to_filelist, func_import, func_create_testdir): Make all
74206         sorting results locale-independent, so that gnulib-cache.m4 doesn't
74207         change when gnulib-tool is invoked in a different locale.
74208
74209 2005-09-19  Simon Josefsson  <jas@extundo.com>
74210
74211         * m4/socklen.m4: Fix typo.
74212
74213 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74214
74215         Use a consistent style for including <config.h>.
74216         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
74217         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
74218         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
74219         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
74220         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
74221         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
74222         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
74223         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
74224         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
74225         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
74226         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
74227         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
74228         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
74229         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
74230         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
74231         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
74232         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
74233         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
74234         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
74235         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
74236         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
74237         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
74238         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
74239         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
74240         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
74241         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
74242         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
74243         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
74244         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
74245         lib/xstrtoumax.c, lib/yesno.c:
74246         Standardize inclusion of config.h.
74247         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
74248         lib/inttostr.h:  Removed inclusion of config.h from header files.
74249         * lib/inttostr.c:  Adjusted in-tree users.
74250         * lib/timespec.h: Remove superfluous warning to include config.h.
74251         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
74252         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
74253         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
74254         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
74255         config.h with HAVE_CONFIG_H.
74256
74257 2005-09-19  Jim Meyering  <jim@meyering.net>
74258
74259         * modules/pathmax (License): Change to LGPL.
74260
74261 2005-09-19  Derek Price  <derek@ximbiot.com>
74262
74263         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
74264
74265 2005-09-19  Bruno Haible  <bruno@clisp.org>
74266
74267         * gnulib-tool (import): Provide default for --tests-base.
74268
74269 2005-09-19  Bruno Haible  <bruno@clisp.org>
74270
74271         * doc/quote.texi: New file, extracted from gnulib.texi.
74272         * doc/ctime.texi: New file, extracted from gnulib.texi.
74273         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
74274         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
74275         * doc/gnulib.texi: Include them.
74276
74277 2005-09-18  Bruno Haible  <bruno@clisp.org>
74278
74279         Portability fix.
74280         * gnulib-tool (func_readlink): New function.
74281         (func_ln_if_changed): Use it.
74282
74283 2005-09-18  Bruno Haible  <bruno@clisp.org>
74284
74285         * gnulib-tool: Support --with-tests also with --import.
74286         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
74287         (func_import): Use variables $testsbase and $inctests. Emit a
74288         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
74289         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
74290         SUBDIRS += $testsdir.
74291         (func_create_testdir): Update.
74292
74293 2005-09-18  Bruno Haible  <bruno@clisp.org>
74294
74295         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
74296         instead of $dry_run.
74297         (func_cp_if_changed, func_mv_if_changed): Remove functions.
74298         (func_ln_if_changed): Don't handle dry-run here.
74299         (func_import): In dry-run mode, detect more precisely which actions
74300         would be performed, and don't use "...ing" verbs.
74301
74302 2005-09-18  Bruno Haible  <bruno@clisp.org>
74303
74304         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
74305         (func_import): Use join on two temporary files instead of three nested
74306         loops, in order to determine which files are new or old.
74307
74308 2005-09-18  Bruno Haible  <bruno@clisp.org>
74309
74310         * gnulib-tool (func_import): Comment out code that spits out the
74311         new files with --dry-run.
74312
74313 2005-09-18  Bruno Haible  <bruno@clisp.org>
74314
74315         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
74316
74317 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74318
74319         * lib/stat-time.h: New file.
74320         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
74321         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
74322         in a different way.
74323         (timespec_cmp): New function.
74324         * lib/utimecmp.c: Include stat-time.h.
74325         (SYSCALL_RESOLUTION): Depend on whether various struct stat
74326         members exist, not on the obsolescent ST_MTIM_NSEC.
74327         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
74328
74329 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74330
74331         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
74332
74333 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74334
74335         * MODULES.html.sh (File system functions): Add stat-time.
74336         * modules/stat-time: New file.
74337         * modules/timespec (Files): Remove m4/st_mtim.m4; this
74338         is now done in a different way, by the stat-time module.
74339         * modules/utimecmp (Depends-on): Add stat-time.
74340
74341 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74342
74343         * m4/st_mtim.m4: Remove.  Superseded by...
74344         * m4/stat-time.m4: New file.
74345         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
74346         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
74347
74348 2005-09-15  Derek Price  <derek@ximbiot.com>
74349
74350         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
74351
74352 2005-09-15  Derek Price  <derek@ximbiot.com>
74353
74354         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
74355         * lib/regex_internal.c: Ditto, using this...
74356         (__GNUC_PREREQ): ...new macro.
74357         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
74358         using...
74359         (__GNUC_PREREQ): ...this new macro.
74360
74361         * lib/strstr.h: Include string.h. Define strstr as a macro here.
74362
74363 2005-09-15  Derek Price  <derek@ximbiot.com>
74364             Paul Eggert  <eggert@cs.ucla.edu>
74365
74366         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
74367         changes, consolidating in...
74368         * lib/regex_internal.h: ...this file.
74369
74370 2005-09-13  Jim Meyering  <jim@meyering.net>
74371
74372         * lib/canon-host.c: Filter through gnu indent and reword comments
74373         slightly.
74374         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
74375
74376 2005-09-13  Derek Price  <derek@ximbiot.com>
74377
74378         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
74379         failure.
74380         Reported by Jim Meyering  <jim@meyering.net>.
74381
74382 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74383
74384         * lib/base64.c: Typo.
74385         (base64_encode): Put b64str in initialized data section.
74386
74387 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74388
74389         Merge glibc and coreutils changes into gnulib, plus a few
74390         extra fixes.
74391         * lib/md5.c: Use #error rather than a string.
74392         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74393         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74394         (__attribute__): Define to empty for non recent-GCC.
74395         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74396         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74397         Renamed from their non-__ counterparts, with new macros replacing
74398         them if not _LIBC.  Add __THROW attribute.
74399         (rol): Remove.
74400         (struct md5_ctx): Align buffer if using GCC.
74401         * lib/sha1.h (struct sha1_ctx): Likewise.
74402         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74403         The old name was backwards.
74404         (NOTSWAP): Remove; not used.
74405         (rol): New macro, moved here from md5.h.
74406         (sha1_process_block): Remove a FIXME that doesn't make sense.
74407
74408 2005-09-12  Derek Price  <derek@ximbiot.com>
74409
74410         Return usable errors from canon-host.
74411         * lib/canon-host.h: New file.
74412         * lib/canon-host.c (canon_host): Wrap...
74413         (canon_host_r): ...this new function, which now relies exclusively on
74414         getaddrinfo.
74415         (ch_strerror): New function.
74416         (last_cherror): New global.
74417         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74418         interface.
74419         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74420         void *.
74421         (freeaddrinfo): Free ai->ai_canonname when set.
74422
74423 2005-09-12  Derek Price  <derek@ximbiot.com>
74424
74425         Make canon-host require getaddrinfo.
74426         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74427         AC_LIBSOURCE canon-host.h.  Call...
74428         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74429         gl_GETADDRINFO.
74430         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74431
74432 2005-09-12  Derek Price  <derek@ximbiot.com>
74433
74434         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74435         LGPL.
74436         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74437
74438 2005-09-12  Derek Price  <derek@ximbiot.com>
74439
74440         * lib/gai_strerror.c: Include config.h when available.  Include
74441         getaddrinfo.h before other headers to test interface.
74442         Reported by Larry Jones <lawrence.jones@ugs.com>.
74443
74444 2005-09-12  Derek Price  <derek@ximbiot.com>
74445             Paul Eggert  <eggert@cs.ucla.edu>
74446
74447         * modules/glob (Files): Add glob-libc.h.
74448
74449 2005-09-12  Derek Price  <derek@ximbiot.com>
74450             Paul Eggert  <eggert@cs.ucla.edu>
74451
74452         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74453         glob_.h, glob-libc.h.
74454         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74455
74456 2005-09-12  Derek Price  <derek@ximbiot.com>
74457             Paul Eggert  <eggert@cs.ucla.edu>
74458
74459         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74460         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74461         protecting things that should be done only in gnulib contexts.
74462         * lib/glob_.h: New file, containing only the glob things needed for
74463         gnulib.
74464         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74465         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74466         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74467         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74468         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74469         and to respect the namespace rules better.
74470
74471 2005-09-08  Simon Josefsson  <jas@extundo.com>
74472
74473         * modules/socklen: New file.
74474
74475 2005-09-08  Simon Josefsson  <jas@extundo.com>
74476
74477         * m4/socklen.m4: New file.
74478
74479 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74480
74481         * modules/utimens (Files): Add m4/utimbuf.m4, since
74482         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74483         Reported by Sergey Poznyakoff.
74484
74485 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74486
74487         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74488         definitions, since that's the preferred style in glibc.
74489         Fix a minor spacing issue, and update copyright notice to match
74490         glibc's.
74491
74492 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74493
74494         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74495
74496 2005-09-06  Simon Josefsson  <jas@extundo.com>
74497
74498         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74499         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74500
74501 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74502
74503         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74504         warning.
74505
74506 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74507
74508         * config/srclist.txt: Add glibc bug 1302.
74509
74510 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74511
74512         Change bitset word type from unsigned int to unsigned long int,
74513         as this has better performance on typical 64-bit hosts.
74514         Port bitset code to hosts with unusual word sizes.
74515         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74516         (build_collating_symbol):
74517         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74518         argument is a bitset.  This is merely a style issue, but it makes
74519         it clearer that an entire array is expected.
74520         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74521         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74522         Port to the case where bitset_word is not the same as unsigned int.
74523         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74524         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74525         Likewise.
74526         * lib/regexec.c (check_dst_limits_calc_pos_1,
74527         check_subexp_matching_top):
74528         (build_trtable, group_nodes_into_DFAstates):
74529         Likewise.
74530         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74531         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74532         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74533         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74534         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74535         * lib/regcomp.c (optimize_subexps, lower_subexp):
74536         Work even if bitset_word has holes in its bitwise representation.
74537         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74538         * lib/regexec.c (check_dst_limits_calc_pos_1,
74539         check_subexp_matching_top):
74540         Likewise.
74541         * lib/regex_internal.c (re_string_reconstruct):
74542         Don't assume UCHAR_MAX == 255.
74543         * lib/regex_internal.h (bitset_set_all): Likewise.
74544         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74545         All uses changed.
74546         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74547         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74548         All uses changed.
74549         (BITSET_WORD_MAX): New macro.
74550         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74551         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74552         (bitset_empty, bitset_copy):
74553         Prefer sizeof (bitset) to multiplying it out ourselves.
74554         (bitset_not_merge): Remove; unused.
74555         (bitset_contain): Return bool, not unsigned int with one bit on.
74556         All callers changed.
74557         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74558         alignment than re_node_set; do this by defining a new internal
74559         type struct dests_alloc and using it to allocate memory.
74560
74561 2005-09-05  Bruno Haible  <bruno@clisp.org>
74562
74563         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74564         links.
74565
74566 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74567
74568         * modules/size_max (Makefile.am): Add size_max.h
74569
74570 2005-09-04  Derek Price  <derek@ximbiot.com>
74571
74572         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74573
74574 2005-09-03  Simon Josefsson  <jas@extundo.com>
74575
74576         * gnulib-tool: Fix typo.
74577
74578 2005-09-03  Simon Josefsson  <jas@extundo.com>
74579
74580         * config/srclist.txt: Add glibc bug 1293.
74581
74582 2005-09-03  Derek Price  <derek@ximbiot.com>
74583
74584         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74585         From Larry Jones <lawrence.jones@ugs.com>.
74586
74587 2005-09-02  Simon Josefsson  <jas@extundo.com>
74588
74589         * modules/socklen: New file.
74590
74591 2005-09-02  Simon Josefsson  <jas@extundo.com>
74592
74593         * modules/havelib: New module.
74594
74595         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74596         Use havelib.
74597
74598 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74599
74600         Check for arithmetic overflow when calculating sizes, to prevent
74601         some buffer-overflow issues.  These patches are conservative, in the
74602         sense that when I couldn't determine whether an overflow was possible,
74603         I inserted a run-time check.
74604         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74605         macros.
74606         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74607         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74608         (re_xnrealloc, re_x2nrealloc): New inline functions.
74609         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74610         parse_bracket_exp):
74611         (build_equiv_class, build_charclass): Check for arithmetic overflow
74612         in size expression calculations.
74613         * lib/regex_internal.c (re_string_realloc_buffers):
74614         (build_wcs_upper_buffer, re_node_set_add_intersect):
74615         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74616         (re_dfa_add_node, register_state): Likewise.
74617         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74618         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74619         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74620         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74621
74622 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74623
74624         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74625         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74626
74627 2005-09-02  Bruno Haible  <bruno@clisp.org>
74628
74629         Support for lib vs. lib64 distinction on biarch platforms.
74630         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74631         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74632         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74633
74634 2005-09-02  Bruno Haible  <bruno@clisp.org>
74635
74636         * gnulib-tool (import): In the other first-use case, provide defaults
74637         as well.
74638
74639 2005-09-02  Bruno Haible  <bruno@clisp.org>
74640
74641         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74642         patches not yet found in the latest gettext release.
74643
74644 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74645
74646         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74647         to avoid a collision with bits/local_lim.h in glibc.
74648         All uses changed.  Problem reported by Dmitry V. Levin in
74649         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74650
74651         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74652         bugs in int versus size_t comparisons.
74653         (re_string_context_at): Fix bug where the code assumed that
74654         Idx is signed.
74655
74656         Use bool where appropriate.
74657         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74658         All callers changed.
74659         (calc_eclosure_iter): Likewise, for ROOT arg.
74660         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74661         (build_charclass_op): Likewise, for NON_MATCH arg.
74662         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74663         (re_string_construct_common): Likewise, for ICASE arg.
74664         * lib/regexec.c (re_search_2_stub, re_search_stub):
74665         Likewise, for RET_LEN arg.
74666         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74667         (set_regs): Likewise, for FL_BACKTRACK arg.
74668         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74669         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74670         (calc_eclosure_iter, parse_bracket_exp):
74671         Use bool for internal variables that are booleans.
74672         * lib/regexec.c (re_search_internal, check_matching,
74673         proceed_next_node):
74674         (set_regs, build_sifted_states, sift_states_bkref):
74675         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74676         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74677         (find_collation_sequence_value):
74678         Likewise.
74679         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74680         (re_node_set_compare):
74681         Return bool, not int. All callers changed.
74682         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74683         (build_trtable, check_node_accept): Likewise.
74684         * lib/regex_internal.h: Include stdbool.h.
74685
74686         Fix bugs uncovered when converting to bool.
74687         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74688         failure instead of charging ahead blindly.
74689         * lib/regex_internal.c (register_state): Likewise.
74690         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74691         for freeing internal storage.
74692         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74693         bitset pieces used as boolean, to avoid undefined behavior
74694         on hosts that do int overflow checking.
74695
74696 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74697
74698         * config/srclist.txt: Add glibc bugs 1285-1287.
74699
74700 2005-09-01  Jim Meyering  <jim@meyering.net>
74701
74702         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74703         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74704         Require gl_STAT_MACROS, too.
74705
74706 2005-09-01  Bruno Haible  <bruno@clisp.org>
74707
74708         * gnulib-tool (import): In the first-use case, provide defaults.
74709
74710 2005-09-01  Bruno Haible  <bruno@clisp.org>
74711
74712         * gnulib-tool (func_import): Remove the .tmp files.
74713
74714 2005-09-01  Bruno Haible  <bruno@clisp.org>
74715
74716         * gnulib-tool (func_import): Fix handling of symbolic links.
74717
74718 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74719
74720         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74721         old glibc regex code mishandles strings longer than 2**31 bytes.
74722         This patch fixes this when the regex code is used in gnulib
74723         (i.e., outside glibc).
74724
74725         This patch should not affect the use of the regex code inside
74726         glibc.  No doubt this problem also needs to be handled for glibc
74727         as well, but the result will be an incompatible change to the
74728         glibc ABI, and the old ABI will have to be supported too.  That
74729         can be the the subject for another patch.
74730
74731         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74732         governing whether the rest of this patch is active.  By default,
74733         the macro is disabled and the patch has no effect.
74734         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74735         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74736         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74737         (re_match_2, re_set_registers): Use the new types.
74738         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74739         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74740         New macros.
74741         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74742         (re_string_context_at, bin_tree_t, re_dfastate_t):
74743         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74744         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74745         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74746         (re_string_char_size_at, re_string_wchar_at):
74747         (re_string_elem_size_at):
74748         Use the new types and macros to port to 64-bit hosts.
74749         Use unsigned types for internal values, so that the code
74750         mostly works even for arrays larger than SSIZE_MAX.
74751         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74752         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74753         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74754         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74755         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74756         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74757         (calc_inveclosure, parse_dup_op, build_range_exp):
74758         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74759         (fetch_number, create_token_tree, mark_opt_subexp):
74760         Likewise.
74761         * lib/regex_internal.c (re_string_construct_common,
74762         create_ci_newstate):
74763         (create_cd_newstate, re_string_allocate, re_string_construct):
74764         (re_string_realloc_buffers, build_wcs_upper_buffer):
74765         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74766         (re_string_reconstruct, re_string_peek_byte_case):
74767         (re_string_fetch_byte_case, re_string_context_at):
74768         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74769         (re_node_set_init_copy, re_node_set_add_intersect):
74770         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74771         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74772         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74773         (re_acquire_state, re_acquire_state_context, register_state):
74774         Likewise.
74775         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74776         search_cur_bkref_entry):
74777         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74778         (re_search_internal, re_search_2_stub, re_search_stub)
74779         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74780         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74781         (update_cur_sifted_state, check_dst_limits):
74782         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74783         (check_subexp_limits, sift_states_bkref, merge_state_array):
74784         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74785         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74786         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74787         (expand_bkref_cache, check_node_accept_bytes):
74788         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74789         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74790         (acquire_init_state_context, check_halt_node_context):
74791         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74792         (sift_states_backward, clean_state_log_if_needed):
74793         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
74794         (find_recover_state, transit_state_sb, transit_state_mb):
74795         (transit_state_bkref, build_trtable, match_ctx_clean):
74796         Likewise.
74797         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
74798         to work around an assumption that REG_MISSING is negative.
74799
74800         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
74801         (seek_collating_symbol_entry) [defined _LIBC]:
74802         (lookup_collation_sequence_value) [defined _LIBC]:
74803         (build_range_exp, build_collating_symbol) [defined _LIBC]:
74804         Use prototypes rather than old-style function definitions.
74805         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
74806         (transit_state_sb) [0]:
74807         (find_collation_sequence_value) [defined _LIBC]: Likewise.
74808
74809         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
74810         rm_eo.
74811
74812         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
74813         (optimize_subexps, lower_subexp):
74814         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
74815         since the signed shift might overflow.  Use 1u<<31 instead.
74816         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74817         Likewise.
74818         * lib/regexec.c (check_dst_limits_calc_pos_1,
74819         check_subexp_matching_top): Likewise.
74820
74821         * lib/regcomp.c (optimize_subexps, lower_subexp):
74822         Use CHAR_BIT rather than 8, for clarity.
74823         * lib/regexec.c (check_dst_limits_calc_pos_1):
74824         (check_subexp_matching_top): Likewise.
74825         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
74826         have to worry about portability issues when shifting it left.
74827         Remove no-longer-needed test for table_size > 0.
74828         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
74829         in a word, as the resulting behavior is undefined.
74830         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
74831         in one case, a <= should have been an <, and in another case the
74832         whole test was missing.
74833         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
74834         the standard name CHAR_BIT.
74835         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
74836         this is not true on one's complement and signed-magnitude hosts.
74837
74838         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
74839         next_last_offset.
74840         (struct re_dfa_t): Remove unused member states_alloc.
74841         * lib/regcomp.c (init_dfa): Don't initialize unused members.
74842
74843 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74844
74845         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
74846         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
74847         and large-file glibc and in 32-bit large-file Solaris.
74848
74849 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74850
74851         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
74852         lengths fit in regoff_t; this isn't true if regoff_t is the same
74853         width as size_t.
74854         * lib/regex.c (re_search_internal): 5th arg is LAST_START
74855         (= START + RANGE) instead of RANGE.  This avoids overflow
74856         problems when regoff_t is the same width as size_t.
74857         All callers changed.
74858         (re_search_2_stub): Check for overflow when adding the
74859         sizes of the two strings.
74860         (re_search_stub): Check for overflow when adding START
74861         to RANGE; if it occurs, substitute the extreme value.
74862
74863 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74864
74865         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
74866
74867 2005-08-31  Jim Meyering  <jim@meyering.net>
74868
74869         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
74870         a pointer-to-const.
74871         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
74872         (register_state): Likewise.
74873         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
74874         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74875         (group_nodes_into_DFAstates): Likewise.
74876
74877 2005-08-31  Jim Meyering  <jim@meyering.net>
74878
74879         * check-module: Add a FIXME comment.
74880
74881 2005-08-31  Eric Blake  <ebb9@byu.net>
74882
74883         * modules/unistd-safer (Files): Add unistd--.h.
74884         * modules/stdio-safer (Files): Add stdio--.h.
74885
74886 2005-08-31  Derek Price  <derek@ximbiot.com>
74887
74888         * lib/getdelim.c (getdelim): Return EOF on EOF.
74889         Reported by Larry Jones <lawrence.jones@ugs.com>.
74890
74891 2005-08-31  Bruno Haible  <bruno@clisp.org>
74892
74893         Avoid unnecessary diffs in the generated lib/Makefile.am.
74894         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
74895         the generated files.
74896         (func_import): Don't set cmd.
74897
74898 2005-08-31  Bruno Haible  <bruno@clisp.org>
74899
74900         * lib/strstr.c: Include <stddef.h>, for NULL.
74901         * lib/strcasestr.c: Likewise.
74902         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74903
74904 2005-08-31  Bruno Haible  <bruno@clisp.org>
74905
74906         * gnulib-tool: New option --macro-prefix.
74907         (func_import): Use macro_prefix.
74908         (import): Handle option --macro-prefix.
74909
74910 2005-08-31  Bruno Haible  <bruno@clisp.org>
74911
74912         * gnulib-tool (import): Rename most ac_* variables to cached_*.
74913         Also use new variables cached_lgpl, cached_libtool.
74914
74915 2005-08-31  Bruno Haible  <bruno@clisp.org>
74916
74917         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
74918         always instantiating them.
74919
74920 2005-08-31  Bruno Haible  <bruno@clisp.org>
74921
74922         * gnulib-tool (func_import): Read the previous cached settings
74923         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
74924         earlier added by gnulib but are now dropped. Warn when a gnulib file
74925         overwrites a non-gnulib file.
74926
74927 2005-08-31  Bruno Haible  <bruno@clisp.org>
74928
74929         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
74930         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
74931         projects that don't keep autogenerated files in CVS. Put into
74932         actioncmd only the specified modules, not the transitive closure.
74933
74934 2005-08-31  Bruno Haible  <bruno@clisp.org>
74935
74936         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
74937         Create directories that shall be filled.
74938         (import): Don't look for gl_* macros in configure.ac. Recurse across
74939         all directories containing a gnulib-cache.m4 files, if meaningful.
74940
74941 2005-08-31  Bruno Haible  <bruno@clisp.org>
74942
74943         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
74944         (import): Set seen_libtool when we see gl_LIBTOOL.
74945
74946 2005-08-31  Bruno Haible  <bruno@clisp.org>
74947
74948         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
74949         declaration macro definitions from generated gnulib.m4.
74950
74951 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
74952
74953         * lib/iconvme.h: Add prototype for iconv_alloc.
74954
74955 2005-08-29  Simon Josefsson  <jas@extundo.com>
74956
74957         * lib/iconvme.c: Fix errno.
74958
74959 2005-08-29  Bruno Haible  <bruno@clisp.org>
74960
74961         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
74962         that it works when the directory contains spaces.
74963
74964 2005-08-29  Bruno Haible  <bruno@clisp.org>
74965
74966         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
74967
74968 2005-08-29  Bruno Haible  <bruno@clisp.org>
74969
74970         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
74971         Emit more advice.
74972
74973 2005-08-29  Bruno Haible  <bruno@clisp.org>
74974         and Stepan Kasal  <kasal@ucw.cz>
74975
74976         * check-module: If more parameters are given, check each of them
74977         separately; add more exceptions, as noted by Jim Meyering.
74978         (check_module): New procedure.
74979         (%exempt_header): Now contains all exceptions.
74980
74981 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
74982
74983         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
74984
74985 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74986
74987         * lib/iconvme.c: Split iconv_string into iconv_alloc.
74988
74989 2005-08-28  Bruno Haible  <bruno@clisp.org>
74990
74991         * m4/gnulib-tool.m4: New file.
74992
74993 2005-08-27  Jim Meyering  <jim@meyering.net>
74994
74995         * modules/unistd-safer (Files): Add pipe-safer.c.
74996         * modules/fcntl-safer (Files): Add creat-safer.c.
74997
74998 2005-08-27  Jim Meyering  <jim@meyering.net>
74999
75000         * m4/stdlib-safer.m4: New file.  From coreutils.
75001         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
75002         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
75003         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
75004         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
75005         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
75006
75007 2005-08-27  Jim Meyering  <jim@meyering.net>
75008
75009         * lib/fopen-safer.c: Merge minor changes from coreutils.
75010         * lib/dup-safer.c: Likewise.
75011         * lib/fd-safer.c: Likewise.
75012
75013         Merge from coreutils.
75014         * lib/stdio--.h: New file.
75015         * lib/stdlib--.h: New file.
75016         * lib/mkstemp-safer.c: New file.
75017
75018         GNU tar needs these.
75019         * lib/pipe-safer.c: New file.
75020         * lib/creat-safer.c: New file.
75021         * lib/fcntl--.h (creat): Define to creat_safer.
75022         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
75023         * lib/unistd--.h (pipe): Define to pipe_safer.
75024         * lib/unistd-safer.h: Declare pipe_safer.
75025
75026 2005-08-26  Simon Josefsson  <jas@extundo.com>
75027
75028         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
75029         Haible <bruno@clisp.org>.
75030
75031 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
75032
75033         * lib/regex_internal.h: Remove all references to
75034         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
75035         or better.
75036         (bitset_not, bitset_merge, bitset_not_merge):
75037         (bitset_mask, re_string_allocate, re_string_construct):
75038         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
75039         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
75040         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
75041         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
75042         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75043         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75044         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
75045         (re_acquire_state_context):
75046         Remove unnecessary forward decls.
75047         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
75048         Put __attribute at function definition,
75049         now that the function decl has been removed.
75050         * lib/regex_internal.c (re_string_peek_byte_case):
75051         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
75052         Likewise.
75053
75054 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
75055
75056         * m4/regex.m4: Add AC_PREREQ(2.50).
75057         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
75058
75059 2005-08-25  Simon Josefsson  <jas@extundo.com>
75060
75061         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
75062         __fsetlocking.
75063
75064 2005-08-25  Simon Josefsson  <jas@extundo.com>
75065
75066         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
75067         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
75068         GLIBC specific code.
75069
75070 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75071
75072         Make regex safe for g++.  This fixes one real bug (an "err"
75073         that should have been "*err").  g++ problem reported by
75074         Sam Steingold.
75075         * lib/regex_internal.h (re_calloc): New macro, consistent with
75076         re_malloc etc.  All callers of calloc changed to use re_calloc.
75077         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
75078         not int.  All callers changed.
75079         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
75080         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
75081         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
75082         (find_recover_state): Change "err" to "*err"; this fixes what
75083         appears to be a real bug.
75084         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
75085         versus int.
75086
75087 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75088
75089         * modules/regex (Depends-on): Add malloc, since the code
75090         assumes that !malloc(0) means failure.
75091
75092 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75093
75094         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
75095
75096         alloca modernization/simplification for regex.
75097         * lib/regex.c: Remove portability cruft for alloca.  This no longer
75098         needs to be at the start of the file, and can be moved into
75099         regex_internal.h and simplified.
75100         * lib/regex_internal.h: Include <alloca.h>.
75101         (__libc_use_alloca) [!defined _LIBC]: New macro.
75102         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
75103         now works outside glibc.
75104
75105 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75106
75107         * config/srclist.txt: Add glibc bugs 1241, 1245.
75108
75109 2005-08-25  Jim Meyering  <jim@meyering.net>
75110
75111         * lib/open-safer.c: Include <config.h>.
75112         Otherwise, we'd lose LARGEFILE support in any file using
75113         e.g. "fcntl--.h"
75114
75115 2005-08-25  Bruno Haible  <bruno@clisp.org>
75116
75117         * m4/minmax.m4: Require autoconf 2.52.
75118         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
75119         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
75120         alternatives of translit over the alphabet.
75121         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
75122
75123 2005-08-24  Simon Josefsson  <jas@extundo.com>
75124
75125         * tests/test-getpass.c: New file.
75126
75127 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75128
75129         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
75130         for GNU regex features.
75131
75132 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75133
75134         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
75135         * lib/regex.h (regerror): Likewise.
75136
75137         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
75138         requires this.  (The code never needed it.)
75139
75140         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
75141         All uses of recently-renamed identifiers changed to use the new,
75142         POSIX-compliant names.  The code will build and run just fine
75143         without these changes, but it's better to eat our own dog food
75144         and use the standard-conforming names.
75145
75146         * lib/regex.h: Fix a multitude of POSIX name space violations.
75147         These changes have an effect only for programs that define
75148         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
75149         do not change anything for programs compiled in the normal way.
75150         Also, there is no effect on the ABI.
75151
75152         (_REGEX_SOURCE): New macro.
75153         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
75154         defined and _GNU_SOURCE is not; this fixes a name space violation.
75155
75156         Rename the following macros to obey POSIX requirements.
75157         The old names are still visible as macros if _REGEX_SOURCE is defined.
75158         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
75159         RE_BACKSLASH_ESCAPE_IN_LISTS.
75160         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
75161         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
75162         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
75163         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
75164         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
75165         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
75166         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
75167         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
75168         (REG_INTERVALS): renamed from RE_INTERVALS.
75169         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
75170         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
75171         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
75172         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
75173         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
75174         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
75175         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
75176         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
75177         RE_UNMATCHED_RIGHT_PAREN_ORD.
75178         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
75179         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
75180         (REG_DEBUG): renamed from RE_DEBUG.
75181         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
75182         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
75183         unusual, since we can't clash with the POSIX REG_ICASE.
75184         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
75185         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
75186         (REG_NO_SUB): renamed from RE_NO_SUB.
75187         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
75188         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
75189         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
75190         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
75191         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
75192         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
75193         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
75194         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
75195         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
75196         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
75197         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
75198         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
75199         RE_SYNTAX_POSIX_MINIMAL_BASIC.
75200         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
75201         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
75202         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
75203         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
75204         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
75205         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
75206         (REG_FIXED): Renamed from REGS_FIXED.
75207         (REG_NREGS): Renamed from RE_NREGS.
75208
75209         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
75210         of other REG_* macros, since POSIX says the user is allowed to
75211         #undef these macros selectively.
75212
75213         (reg_errcode_t): Update comment stating what other tables need
75214         to be consistent.
75215
75216         Rename the following enum values to obey POSIX requirements.
75217         The old names are still visible as macros.
75218         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
75219         is not defined, since GNU is supposed to be a superset of POSIX as
75220         much as possible, and since we want reg_errcode_t to be a signed
75221         type for implementation consistency.
75222         (_REG_NOERROR): Renamed from REG_NOERROR.
75223         (_REG_NOMATCH): Renamed from REG_NOMATCH.
75224         (_REG_BADPAT): Renamed from REG_BADPAT.
75225         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
75226         (_REG_ECTYPE): Renamed from REG_ECTYPE.
75227         (_REG_EESCAPE): Renamed from REG_EESCAPE.
75228         (_REG_ESUBREG): Renamed from REG_ESUBREG.
75229         (_REG_EBRACK): Renamed from REG_EBRACK.
75230         (_REG_EPAREN): Renamed from REG_EPAREN.
75231         (_REG_EBRACE): Renamed from REG_EBRACE.
75232         (_REG_BADBR): Renamed from REG_BADBR.
75233         (_REG_ERANGE): Renamed from REG_ERANGE.
75234         (_REG_ESPACE): Renamed from REG_ESPACE.
75235         (_REG_BADRPT): Renamed from REG_BADRPT.
75236         (_REG_EEND): Renamed from REG_EEND.
75237         (_REG_ESIZE): Renamed from REG_ESIZE.
75238         (_REG_ERPAREN): Renamed from REG_ERPAREN.
75239         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
75240         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
75241         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
75242         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
75243
75244         (_REG_RE_NAME, _REG_RM_NAME): New macros.
75245         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
75246         changed.  But support the old name if the new one is not defined
75247         and if _REGEX_SOURCE.
75248
75249         Change the following member names in struct re_pattern_buffer.
75250         The old names are still supported if !_REGEX_SOURCE.
75251         The new names are always supported, regardless of _REGEX_SOURCE.
75252         (re_buffer): Renamed from buffer.
75253         (re_allocated): Renamed from allocated.
75254         (re_used): Renamed from used.
75255         (re_syntax): Renamed from syntax.
75256         (re_fastmap): Renamed from fastmap.
75257         (re_translate): Renamed from translate.
75258         (re_can_be_null): Renamed from can_be_null.
75259         (re_regs_allocated): Renamed from regs_allocated.
75260         (re_fastmap_accurate): Renamed from fastmap_accurate.
75261         (re_no_sub): Renamed from no_sub.
75262         (re_not_bol): Renamed from not_bol.
75263         (re_not_eol): Renamed from not_eol.
75264         (re_newline_anchor): Renamed from newline_anchor.
75265
75266         Change the following member names in struct re_registers.
75267         The old names are still supported if !_REGEX_SOURCE.
75268         The new names are always supported, regardless of _REGEX_SOURCE.
75269         (rm_num_regs): Renamed from num_regs.
75270         (rm_start): Renamed from start.
75271         (rm_end): Renamed from end.
75272
75273         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
75274         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
75275         Prepend __ to parameter names.
75276
75277         Undo yesterday's changes.
75278
75279 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75280
75281         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
75282         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
75283         lib/regex.c.
75284
75285 2005-08-24  Jim Meyering  <jim@meyering.net>
75286
75287         Sync from coreutils.
75288         * m4/fcntl-safer.m4: New file.
75289
75290         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
75291         and object files for this module.
75292
75293 2005-08-24  Jim Meyering  <jim@meyering.net>
75294
75295         Sync from coreutils.
75296         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
75297
75298 2005-08-24  Jim Meyering  <jim@meyering.net>
75299
75300         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
75301         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
75302
75303 2005-08-24  Jim Meyering  <jim@meyering.net>
75304
75305         * modules/fcntl-safer: New module.
75306         * modules/fts (Depends-on): Add fcntl-safer.
75307         * MODULES.html.sh (File descriptor based Input/Output):
75308         Add fcntl-safer.
75309
75310 2005-08-24  Bruno Haible  <bruno@clisp.org>
75311
75312         Support for unit test modules.
75313         * modules/README: Mention tests modules.
75314         * modules/TEMPLATE-TESTS: New file.
75315         * gnulib-tool: New options --extract-tests-module, --with-tests and
75316         --tests-base (unused for the moment).
75317         (testsbase, inctests): New variables.
75318         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
75319         (func_verify_module): Exclude TEMPLATE-TESTS.
75320         (func_verify_nontests_module, func_verify_tests_module): New functions.
75321         (func_get_dependencies): Add implicit dependency for tests modules.
75322         (func_get_tests_module): New function.
75323         (func_modules_transitive_closure): When --with-tests was specified,
75324         include the unit tests as well, unless explicitly avoided.
75325         (func_emit_lib_Makefile_am): Ignore the tests modules here.
75326         (func_emit_tests_Makefile_am): New function.
75327         (func_create_testdir): When --with-tests was specified, emit a
75328         tests/ directory.
75329         * MODULES.html.sh (Future developments): Update.
75330
75331 2005-08-24  Bruno Haible  <bruno@clisp.org>
75332
75333         * modules/tls-tests: New file.
75334         * tests/test-tls.c: New file, from GNU gettext.
75335
75336 2005-08-24  Bruno Haible  <bruno@clisp.org>
75337
75338         * modules/lock-tests: New file.
75339         * tests/test-lock.c: New file, from GNU gettext.
75340
75341 2005-08-24  Bruno Haible  <bruno@clisp.org>
75342
75343         * lib/lock.h: Add multiple inclusion guard.
75344         * lib/tls.h: Add multiple inclusion guard.
75345
75346 2005-08-24  Bruno Haible  <bruno@clisp.org>
75347
75348         * gnulib-tool: Add support for the --aux-dir option to
75349         --create-testdir, --create-megatestdir, --test, --megatest.
75350         (func_create_testdir, func_create_megatestdir): Optionally emit a
75351         AC_CONFIG_AUX_DIR directive.
75352         (create-testdir, create-megatestdir, test, megatest): Provide a
75353         default value for $auxdir.
75354
75355 2005-08-24  Bruno Haible  <bruno@clisp.org>
75356
75357         * gnulib-tool (import): Use compound statement instead of subshell
75358         where possible.
75359
75360 2005-08-24  Bruno Haible  <bruno@clisp.org>
75361
75362         * gnulib-tool (import): Change --aux-dir default to "build-aux".
75363
75364 2005-08-24  Bruno Haible  <bruno@clisp.org>
75365
75366         * gnulib-tool (func_version): Update.
75367
75368 2005-08-24  Bruno Haible  <bruno@clisp.org>
75369
75370         * gnulib-tool (func_import, func_create_testdir,
75371         func_create_megatestdir): Quote all autoconf macro arguments.
75372
75373 2005-08-24  Bruno Haible  <bruno@clisp.org>
75374
75375         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
75376         option --force, because --force causes the aclocal.m4 of each
75377         subdirectory to be newer than the corresponding config.h.in.
75378
75379 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75380
75381         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75382         All contents moved to gl_REGEX.
75383         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75384         assume that it does.
75385
75386 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75387
75388         * lib/regex.h (REG_NOSYS)
75389         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75390         Define, since POSIX requires it as of 2001.
75391         (_REG_ENOSYS)
75392         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75393         New private symbol, used to keep the enum signed in all cases.
75394         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75395         Youngman in
75396         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75397
75398         * lib/regex_internal.c (re_string_skip_chars, register_state):
75399         (calc_state_hash):
75400         Remove forward decls; no longer needed now that we use prototypes.
75401         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75402         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75403         (clean_state_log_if_needed): Likewise.
75404
75405 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75406
75407         * config/srclist.txt: Add glibc bugs 1231-1233.
75408
75409 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75410
75411         Fix problems reported by Sam Steingold in
75412         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75413         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75414         assumed that reg_errcode_t is a signed type, which is not
75415         necessarily true if _XOPEN_SOURCE is not defined.
75416         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75417         since some compilers warn about it otherwise.
75418
75419 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75420
75421         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75422         (init_word_char, create_initial_state, duplicate_node_closure):
75423         (fetch_token, peek_token_bracket, build_range_exp):
75424         (build_collating_symbol): Remove forward decls; no longer needed
75425         now that we use prototypes.
75426
75427         * lib/regcomp.c:
75428         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75429         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75430         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75431         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75432         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75433         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75434         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75435         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75436         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75437         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75438         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75439         (build_charclass, build_charclass_op, fetch_number, create_tree):
75440         (create_token_tree, mark_opt_subexp, duplicate_tree):
75441         Use prototypes rather than old-style definitions.
75442
75443         * lib/regex_internal.c:
75444         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75445         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75446         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75447         (re_string_reconstruct, re_string_peek_byte_case):
75448         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75449         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75450         (re_node_set_init_copy, re_node_set_add_intersect):
75451         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75452         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75453         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75454         (re_acquire_state, re_acquire_state_context, register_state):
75455         (create_ci_newstate, create_cd_newstate, free_state):
75456         Likewise.
75457         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75458         re_search_2):
75459         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75460         (re_search_internal, prune_impossible_nodes):
75461         (acquire_init_state_context, check_matching, static):
75462         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75463         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75464         (update_regs, sift_states_backward, build_sifted_states):
75465         (clean_state_log_if_needed, merge_state_array):
75466         (update_cur_sifted_state, add_epsilon_src_nodes):
75467         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75468         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75469         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75470         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75471         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75472         (check_arrival, check_arrival_add_next_nodes):
75473         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75474         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75475         (check_node_accept_bytes, check_node_accept, extend_buffers):
75476         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75477         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75478         (sift_ctx_init):
75479         Likewise.
75480
75481         * lib/regex_internal.h:
75482         (re_string_allocate, re_string_construct, re_string_reconstruct):
75483         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75484         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75485         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75486         (re_string_context_at, re_string_peek_byte_case):
75487         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75488         is defined, since we now use prototypes always.
75489
75490         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75491         C89 or better.  All uses removed.
75492
75493 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75494
75495         * config/srclist.txt: Add glibc bugs 1220-1227.
75496
75497 2005-08-20  Jim Meyering  <jim@meyering.net>
75498
75499         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75500         of unused local, dfa.
75501
75502 2005-08-20  Bruno Haible  <bruno@clisp.org>
75503
75504         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75505
75506 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75507
75508         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75509         (re_node_set_insert_last, re_dfa_add_node):
75510         Rename local variables to avoid GCC shadowing warnings.
75511
75512 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75513
75514         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75515         [defined lint]: Suppress bogus uninitialized-variable warnings.
75516
75517         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75518         and let the caller return REG_ESPACE if out of space.  This
75519         removes an uninitialied-variable warning with GCC 4.0.1, and also
75520         avoids taking the address of a local variable.  All callers
75521         changed.
75522
75523 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75524
75525         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75526         $LIBCSRC/posix/regexec.c.
75527         Add glibc bug 1217 for regcomp.c.
75528
75529 2005-08-19  Jim Meyering  <jim@meyering.net>
75530
75531         * lib/regexec.c (proceed_next_node): Redo local variables to
75532         avoid GCC shadowing warnings.
75533
75534 2005-08-18  Bruno Haible  <bruno@clisp.org>
75535
75536         * lib/strstr.c (strstr): Fix return value in multibyte case.
75537         * lib/strcasestr.c (strcasestr): Likewise.
75538
75539 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75540
75541         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75542
75543 2005-08-17  Jim Meyering  <jim@meyering.net>
75544
75545         Make the %s format (seconds since the epoch) work for a negative
75546         number and when used with a zero-padded field width, e.g. %015s.
75547
75548         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75549         label so that it precedes the code to set `digits'.  Otherwise,
75550         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75551         print `00-22'.  Now, it prints `-0022', as it should.
75552
75553 2005-08-17  Bruno Haible  <bruno@clisp.org>
75554
75555         * modules/strstr (Files): Add m4/mbrtowc.m4.
75556         (Depends-on): Add mbuiter.
75557
75558 2005-08-17  Bruno Haible  <bruno@clisp.org>
75559
75560         * modules/strcasestr: New file.
75561         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75562         strcasestr.
75563
75564 2005-08-17  Bruno Haible  <bruno@clisp.org>
75565
75566         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75567
75568 2005-08-17  Bruno Haible  <bruno@clisp.org>
75569
75570         * modules/mbuiter: New file.
75571         * MODULES.html.sh (Extended multibyte and wide character utilities):
75572         Add mbuiter.
75573
75574 2005-08-17  Bruno Haible  <bruno@clisp.org>
75575
75576         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75577         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75578
75579 2005-08-17  Bruno Haible  <bruno@clisp.org>
75580
75581         * m4/strcasestr.m4: New file.
75582
75583 2005-08-17  Bruno Haible  <bruno@clisp.org>
75584
75585         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75586         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75587
75588 2005-08-17  Bruno Haible  <bruno@clisp.org>
75589
75590         * lib/strcasestr.h: New file.
75591         * lib/strcasestr.c: New file.
75592
75593 2005-08-17  Bruno Haible  <bruno@clisp.org>
75594
75595         * lib/strcasecmp.c: Use mbuiter.h.
75596
75597 2005-08-17  Bruno Haible  <bruno@clisp.org>
75598
75599         * lib/mbuiter.h: New file.
75600
75601 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75602
75603         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75604         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75605         and gl_GETOPT are both invoked via different paths (as happens
75606         with GNU tar CVS because it uses both argp and getopt), the former
75607         wins.
75608
75609 2005-08-16  Bruno Haible  <bruno@clisp.org>
75610
75611         * modules/tls: New file.
75612         * MODULES.html.sh (Multithreading): Add tls.
75613
75614 2005-08-16  Bruno Haible  <bruno@clisp.org>
75615
75616         * modules/strnlen1: New file.
75617         * MODULES.html.sh (String handling): Add strnlen1.
75618
75619 2005-08-16  Bruno Haible  <bruno@clisp.org>
75620
75621         * modules/strcase (Files): Add m4/mbrtowc.m4.
75622         (Depends-on): Add strnlen1, mbchar.
75623
75624 2005-08-16  Bruno Haible  <bruno@clisp.org>
75625
75626         * modules/mbiter: New file.
75627         * MODULES.html.sh (Extended multibyte and wide character utilities):
75628         Add mbiter.
75629
75630 2005-08-16  Bruno Haible  <bruno@clisp.org>
75631
75632         * modules/mbfile: New file.
75633         * MODULES.html.sh (Extended multibyte and wide character utilities):
75634         Add mbfile.
75635
75636 2005-08-16  Bruno Haible  <bruno@clisp.org>
75637
75638         * modules/mbchar: New file.
75639         * MODULES.html.sh (Extended multibyte and wide character utilities):
75640         New section.
75641
75642 2005-08-16  Bruno Haible  <bruno@clisp.org>
75643
75644         * m4/tls.m4: New file, from GNU gettext.
75645
75646 2005-08-16  Bruno Haible  <bruno@clisp.org>
75647
75648         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75649         always.
75650         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75651
75652 2005-08-16  Bruno Haible  <bruno@clisp.org>
75653
75654         * m4/mbiter.m4: New file.
75655
75656 2005-08-16  Bruno Haible  <bruno@clisp.org>
75657
75658         * m4/mbfile.m4: New file.
75659
75660 2005-08-16  Bruno Haible  <bruno@clisp.org>
75661
75662         * m4/mbchar.m4: New file.
75663
75664 2005-08-16  Bruno Haible  <bruno@clisp.org>
75665
75666         * lib/tls.h: New file, from GNU gettext.
75667         * lib/tls.c: New file, from GNU gettext.
75668
75669 2005-08-16  Bruno Haible  <bruno@clisp.org>
75670
75671         * lib/strnlen1.h: New file.
75672         * lib/strnlen1.c: New file.
75673
75674 2005-08-16  Bruno Haible  <bruno@clisp.org>
75675
75676         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75677         (mbi_init): Update.
75678         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75679         NUL byte, not after it.
75680
75681 2005-08-16  Bruno Haible  <bruno@clisp.org>
75682
75683         * lib/strcase.h (strcasecmp): Add note in comments.
75684         * lib/strncasecmp.c: Use code from strcasecmp.c.
75685         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75686         (strcasecmp): Work correctly in multibyte locales.
75687
75688 2005-08-16  Bruno Haible  <bruno@clisp.org>
75689
75690         * lib/mbiter.h: New file.
75691
75692 2005-08-16  Bruno Haible  <bruno@clisp.org>
75693
75694         * lib/mbfile.h: New file.
75695
75696 2005-08-16  Bruno Haible  <bruno@clisp.org>
75697
75698         * lib/mbchar.h: New file.
75699         * lib/mbchar.c: New file.
75700
75701 2005-08-16  Bruno Haible  <bruno@clisp.org>
75702
75703         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75704         the valid ones. Makes the comparison operations transitive:
75705         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75706         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75707
75708 2005-08-15  Simon Josefsson  <jas@extundo.com>
75709
75710         * modules/ssize_t (License): Change to 'unlimited'.
75711
75712         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75713
75714 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75715
75716         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75717         Add comments for each pending glibc patch.
75718
75719 2005-08-15  Bruno Haible  <bruno@clisp.org>
75720
75721         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75722         __cplusplus is defined.
75723
75724 2005-08-14  Jim Meyering  <jim@meyering.net>
75725
75726         Sync from coreutils.
75727
75728         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75729         Use the hash-table-based cycle-detection code not just when
75730         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75731         Reported by James Youngman in
75732         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75733         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75734         FTS_TIGHT_CYCLE_CHECK.
75735         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75736         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75737         once again.
75738         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75739         * lib/fts.c (fd_safer): Remove decl.
75740         Include fcntl--.h rather than unistd-safer.h
75741         (fts_safe_changedir): Don't call fd_safer; no longer needed
75742         now that we include fcntl--.h.
75743
75744 2005-08-12  Simon Josefsson  <jas@extundo.com>
75745
75746         * modules/getndelim2: Use ssize_t module.
75747         * modules/getnline: Likewise.
75748         * modules/safe-read: Likewise.
75749         * modules/xreadlink: Likewise.
75750
75751         * modules/ssize_t: New file.
75752
75753 2005-08-12  Simon Josefsson  <jas@extundo.com>
75754
75755         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75756
75757 2005-08-12  Simon Josefsson  <jas@extundo.com>
75758
75759         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75760         ssize_t.
75761
75762 2005-08-12  Simon Josefsson  <jas@extundo.com>
75763
75764         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75765         readline, getdelim and check_version.
75766         (Support for systems lacking ISO C 99: Sizes of integer types):
75767         Add size_max.
75768
75769 2005-08-12  Bruno Haible  <bruno@clisp.org>
75770
75771         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75772
75773 2005-08-11  Simon Josefsson  <jas@extundo.com>
75774
75775         * modules/readline: New file.
75776
75777         * modules/strnlen (Files): Add strnlen.h.
75778
75779 2005-08-11  Simon Josefsson  <jas@extundo.com>
75780
75781         * m4/readline.m4: New file.
75782
75783 2005-08-11  Simon Josefsson  <jas@extundo.com>
75784
75785         * lib/readline.h, readline.c: New file.
75786
75787 2005-08-11  Simon Josefsson  <jas@extundo.com>
75788
75789         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75790         gl_AVOID.
75791
75792 2005-08-11  Bruno Haible  <bruno@clisp.org>
75793
75794         * lib/strnlen.h (strnlen): Change parameter name to match comment.
75795
75796 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
75797
75798         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
75799
75800 2005-08-10  Simon Josefsson  <jas@extundo.com>
75801
75802         * tests/test-iconvme.c: New file.
75803
75804 2005-08-10  Simon Josefsson  <jas@extundo.com>
75805
75806         * m4/strnlen.m4: New file.
75807
75808         * m4/strndup.m4: Don't check for strnlen declaration, done in
75809         strnlen.m4.
75810
75811 2005-08-10  Simon Josefsson  <jas@extundo.com>
75812
75813         * lib/strndup.c: Use strnlen.h.
75814
75815         * lib/strnlen.h: New file.
75816
75817 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75818
75819         * README: Typos.
75820
75821 2005-08-02  Simon Josefsson  <jas@extundo.com>
75822
75823         * modules/readline: New file.
75824
75825 2005-08-02  Simon Josefsson  <jas@extundo.com>
75826
75827         * modules/getdelim: New file.
75828
75829         * modules/getline: Rewrite, don't use getndelim2.
75830
75831 2005-08-02  Simon Josefsson  <jas@extundo.com>
75832
75833         * m4/getline.m4: Separate out getdelim stuff into separate module.
75834
75835         * m4/getdelim.m4: New file.
75836
75837 2005-08-02  Simon Josefsson  <jas@extundo.com>
75838
75839         * lib/getline.h, getline.c: Rewrite.
75840
75841         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
75842
75843 2005-07-31  Bruno Haible  <bruno@clisp.org>
75844
75845         * lib/lock.h (gl_lock_initializer): New macro.
75846         (gl_lock_define_initialized): Use it.
75847         (gl_rwlock_initializer): New macro.
75848         (gl_rwlock_define_initialized): Use it.
75849         (gl_recursive_lock_initializer): New macro.
75850         (gl_recursive_lock_define_initialized): Use it.
75851
75852 2005-07-30  Karl Berry  <karl@gnu.org>
75853
75854         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
75855         Report from Ben Pfaff, regarding getopt.
75856
75857 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
75858
75859         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
75860         normal way.
75861         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
75862         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
75863         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
75864         (gl_GETOPT): Use the new macros.  Most of the implementation
75865         is moved to the new macros.  This is for programs like Emacs
75866         that don't want all the functionality of gl_GETOPT.
75867
75868 2005-07-26  Bruno Haible  <bruno@clisp.org>
75869
75870         * m4/lock.m4: Update from GNU gettext.
75871
75872 2005-07-26  Bruno Haible  <bruno@clisp.org>
75873
75874         * lib/lock.h: Update from GNU gettext.
75875         * lib/lock.c: Update from GNU gettext.
75876
75877 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
75878
75879         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
75880         obsolescent AC_TRY_RUN.  Include the default includes files, for
75881         'exit'.
75882
75883 2005-07-24  Bruno Haible  <bruno@clisp.org>
75884
75885         * modules/visibility: New file.
75886         * MODULES.html.sh (Misc): Add visibility.
75887
75888 2005-07-24  Bruno Haible  <bruno@clisp.org>
75889
75890         * m4/visibility.m4: New file.
75891
75892 2005-07-24  Bruno Haible  <bruno@clisp.org>
75893
75894         * doc/visibility.texi: New file.
75895
75896 2005-07-22  Bruno Haible  <bruno@clisp.org>
75897
75898         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
75899         $(ALLOCA_H), redundant through BUILT_SOURCES.
75900         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
75901         redundant through BUILT_SOURCES.
75902         * modules/byteswap (Makefile.am): Remove explicit dependency on
75903         $(BYTESWAP_H), redundant through BUILT_SOURCES.
75904         * modules/fnmatch (Makefile.am): Remove explicit dependency on
75905         $(FNMATCH_H), redundant through BUILT_SOURCES.
75906         * modules/getopt (Makefile.am): Remove explicit dependency on
75907         $(GETOPT_H), redundant through BUILT_SOURCES.
75908         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
75909         redundant through BUILT_SOURCES.
75910         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
75911         redundant through BUILT_SOURCES.
75912         * modules/stdbool (Makefile.am): Remove explicit dependency on
75913         $(STDBOOL_H), redundant through BUILT_SOURCES.
75914         * modules/stdint (Makefile.am): Remove explicit dependency on
75915         $(STDINT_H), redundant through BUILT_SOURCES.
75916         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
75917         Remove explicit dependency on $(SYSEXITS_H).
75918         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
75919
75920 2005-07-18  Simon Josefsson  <jas@extundo.com>
75921
75922         * lib/check-version.c (check_version): Accept identical versions too.
75923
75924 2005-07-18  Bruno Haible  <bruno@clisp.org>
75925
75926         * modules/lock: New file.
75927         * MODULES.html.sh (Multithreading): New section.
75928
75929 2005-07-18  Bruno Haible  <bruno@clisp.org>
75930
75931         * m4/lock.m4: New file, from GNU gettext.
75932
75933 2005-07-18  Bruno Haible  <bruno@clisp.org>
75934
75935         * lib/lock.h: New file, from GNU gettext.
75936         * lib/lock.c: New file, from GNU gettext.
75937
75938 2005-07-18  Bruno Haible  <bruno@clisp.org>
75939
75940         * lib/lock.h (gl_once_t): New type.
75941         (gl_once_define, gl_once): New macros.
75942         * lib/lock.c (fresh_once): New variable.
75943         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
75944         functions.
75945
75946 2005-07-16  Simon Josefsson  <jas@extundo.com>
75947
75948         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
75949         workaround, suggested by Bruno.
75950
75951 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75952
75953         * modules/xalloc (Depends-on): Add xalloc-die.
75954         * modules/xvasprintf (Depends-on): Add xalloc-die.
75955
75956 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75957
75958         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
75959         with a minor change.
75960
75961 2005-07-15  Bruno Haible  <bruno@clisp.org>
75962
75963         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
75964         When using lib/poll.c, define poll as rpl_poll.
75965
75966 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
75967
75968         * modules/argp (Depends-on): Remove unlocked-io.
75969
75970 2005-07-14  Derek Price  <derek@ximbiot.com>
75971
75972         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
75973         for glob symlink bug.
75974
75975 2005-07-14  Bruno Haible  <bruno@clisp.org>
75976
75977         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
75978         Instead, test for *_unlocked function declarations directly.
75979
75980 2005-07-11  Simon Josefsson  <jas@extundo.com>
75981
75982         * modules/size_max: New file.
75983
75984         * modules/xsize: Depend on size_max module for size_max.m4.
75985
75986 2005-07-11  Simon Josefsson  <jas@extundo.com>
75987
75988         * lib/size_max.h: New file.
75989
75990 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
75991
75992         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
75993         copyright symbol and the year.
75994         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
75995         (version_etc_va): Use parameterized copyright notice.
75996         Reword to conform to the current GNU coding standards.
75997
75998 2005-07-11  Karl Berry  <karl@gnu.org>
75999
76000         * doc/gnulib.texi (Quoting): new node.
76001         (Initial import): more info, from Patrice.
76002
76003 2005-07-11  Bruno Haible  <bruno@clisp.org>
76004
76005         * gnulib-tool (func_usage): Document option --avoid.
76006         (Command line options): Handle --avoid.
76007         (func_acceptable): New function.
76008         (func_modules_transitive_closure): Use it.
76009
76010 2005-07-11  Bruno Haible  <bruno@clisp.org>
76011
76012         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
76013         Reported by Jim Meyering.
76014
76015 2005-07-10  Bruno Haible  <bruno@clisp.org>
76016
76017         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
76018         Needed when size_t is smaller than 'unsigned int'.
76019         Reported by Paul Eggert.
76020
76021 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76022
76023         * modules/argp (Depends-on): Add unlocked-io
76024
76025 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76026
76027         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
76028         block of defines.
76029
76030 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76031
76032         * config/srclist.txt: Comment out regcomp.c, since we have a porting
76033         fix now.
76034
76035 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
76036         and Paul Eggert  <eggert@cs.ucla.edu>
76037
76038         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
76039         in wint_t, not wchar_t.  Remove now-unnecessary cast.
76040
76041 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76042
76043         * modules/regex (Files): Add lib/regex_internal.c,
76044         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
76045         (Depends-on): Add extensions.
76046         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
76047
76048 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76049
76050         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
76051         pathconf.
76052         * m4/same.m4 (gl_SAME): Likewise.
76053         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
76054
76055         * m4/regex.m4: Adjust to new libc regex implementation.
76056         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
76057         all the .c and .h parts of (the new) regex.
76058         Quote the m4 stuff better.
76059         Check for RE_ICASE bug of old gnulib.
76060         Check for REG_STARTEND of recent libc.
76061         Rename local variables from jm_* to gl_*.
76062         Quote operand of "test -f".
76063         Say "recent enough" version of libc, not "version 2".
76064         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
76065         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
76066         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
76067         Remove check for btowc, isascii.
76068         Require AM_LANGINFO_CODESET.
76069
76070 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76071
76072         * lib/regex.c, regex.h: Sync from libc.
76073         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
76074         * lib/regexec.c:
76075         New files, synced from libc, except that regex_internal.h
76076         currently has a small porting fix.
76077
76078 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76079
76080         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
76081         regex_internal.c, regexec.c.
76082         Add regex_internal.h too, but as a comment, since the libc version
76083         is currently broken in gnulib mode.
76084
76085 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76086
76087         Support programs like Emacs that use gnulib but not gettext.
76088         * MODULES.html.sh (Internationalization functions): Add gettext-h.
76089         * modules/gettext-h: New file.
76090         * modules/gettext (Files): Remove lib/gettext.h.
76091         (Depends-on): Add gettext-h.
76092         (Makefile.am): Remove lib_SOURCES.
76093         * modules/argmatch, modules/c-stack, modules/closeout:
76094         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
76095         * modules/execute, modules/file-type, modules/getaddrinfo:
76096         * modules/getopt, modules/human, modules/javacomp:
76097         * modules/javaexec, modules/mkdir-p, modules/obstack:
76098         * modules/openat, modules/pagealign_alloc, modules/pipe:
76099         * modules/quotearg, modules/regex, modules/rpmatch:
76100         * modules/unicodeio, modules/userspec, modules/version-etc:
76101         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
76102         * modules/xsetenv:
76103         Depend on gettext-h, not gettext.
76104
76105 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76106
76107         * gnulib-tool (func_import): Add support for 'public domain' license.
76108         * modules/alloca, modules/atexit, modules/memmove:
76109         Now public domain, not GPL.
76110         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
76111         * modules/realloc, modules/strerror, modules/strtod:
76112         Now LGPL, not GPL.
76113
76114 2005-07-05  Bruno Haible  <bruno@clisp.org>
76115
76116         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
76117         autoconf CVS. Needed for mingw.
76118
76119 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76120
76121         Remove the dependency of the strftime module on the tzset module.
76122         * modules/strftime (Depends-on): Remove dependency on tzset.
76123
76124 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76125
76126         Remove the dependency of the strftime module on the tzset module.
76127         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
76128         gl_FUNC_TZSET_CLOBBER.
76129
76130 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76131
76132         Remove the dependency of the strftime module on the tzset module.
76133         * lib/strftime.c (my_strftime)
76134         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
76135         Copy the input structure, to work around some of the bug with
76136         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
76137         Solaris releases, you should also use the tzset module, but we won't
76138         require it as a dependency any more since we don't want LGPLed code
76139         to depend on GPLed code.
76140
76141 2005-07-02  Jim Meyering  <jim@meyering.net>
76142
76143         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
76144         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
76145         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
76146         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
76147
76148 2005-07-02  Jim Meyering  <jim@meyering.net>
76149
76150         * lib/backupfile.c (backup_args): Change a `0' to NULL.
76151
76152 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76153
76154         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
76155         declares only 'struct timespec;' (!).
76156
76157 2005-07-01  Jim Meyering  <jim@meyering.net>
76158
76159         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
76160         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
76161         * lib/save-cwd.c, tempname.c:
76162         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76163         and don't include <sys/file.h>).
76164
76165 2005-06-29  Jim Meyering  <jim@meyering.net>
76166
76167         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
76168         type name.  Use the variable name instead.
76169         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
76170         Likewise.
76171
76172 2005-06-28  Simon Josefsson  <jas@extundo.com>
76173
76174         * modules/check-version (Files): Add check-version.m4.
76175
76176 2005-06-28  Simon Josefsson  <jas@extundo.com>
76177
76178         * m4/check-version.m4: New file, suggested by Jim Meyering
76179         <jim@meyering.net>.
76180
76181 2005-06-28  Simon Josefsson  <jas@extundo.com>
76182
76183         * lib/check-version.h, lib/check-version.c: New files.
76184
76185 2005-06-28  Simon Josefsson  <jas@extundo.com>
76186
76187         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
76188         collision with global variable.  Better indentation.  Don't
76189         increment buffer pointer beyond buffer end.  Based on comments
76190         from Paul Eggert <eggert@cs.ucla.edu>.
76191
76192         * lib/base64.h: Indent.
76193
76194 2005-06-28  Simon Josefsson  <jas@extundo.com>
76195
76196         * doc/gnulib.texi (Library version handling): New section.
76197
76198 2005-06-28  Jim Meyering  <jim@meyering.net>
76199
76200         * check-module (find_included_lib_files): Hard-code another
76201         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
76202         but modules/fts-lgpl (correctly) does not list those files.
76203
76204         * modules/canonicalize (Files): Add lib/pathmax.h.
76205
76206 2005-06-25  Simon Josefsson  <jas@extundo.com>
76207
76208         * modules/check-version: New file.
76209
76210 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
76211
76212         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
76213         initializer of struct addrinfo, as an indication that we don't
76214         care how many members the structure has.
76215
76216 2005-06-24  Derek Price  <derek@ximbiot.com>
76217         and Bruno Haible  <bruno@clisp.org>
76218
76219         Remove stat module & update lstat.
76220         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
76221         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76222         * m4/stat.m4: Remove this file.
76223
76224 2005-06-24  Derek Price  <derek@ximbiot.com>
76225         and Bruno Haible  <bruno@clisp.org>
76226
76227         Remove stat module & update lstat.
76228         * lib/stat.c: Remove this file...
76229         (slash_aware_lstat): ...moving this content and its support...
76230         * lib/lstat.c (rpl_lstat): ...into here.
76231         * lib/lstat.h: New file.
76232
76233 2005-06-24  Derek Price  <derek@ximbiot.com>
76234         and Bruno Haible  <bruno@clisp.org>
76235
76236         Remove stat module & update lstat.
76237         * config/srclist.txt (libc sources): Remove stat.
76238
76239 2005-06-24  Derek Price  <derek@ximbiot.com>
76240         and Bruno Haible  <bruno@clisp.org>
76241
76242         Remove stat module & update lstat.
76243         * MODULES.html.sh (stat): Remove.
76244         * MODULES.html: Regenerated.
76245         * modules/lstat (Description): Correct function name.
76246         (Files): Add "lstat.h".
76247         (Depends-on): Remove stat, add xalloc, stat-macros.
76248         * modules/stat: Remove this file.
76249         (Include): Add "lstat.h", remove <sys/stat.h>.
76250
76251 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76252
76253         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
76254         (ranged_convert): Don't save conversion in a temporary struct.
76255         This causes a warning with GCC 4.0.0, and anyway in the typical
76256         case it's not worth the extra 100 bytes or so of code.
76257         (ranged_convert, __mktime_internal): When calling a function via a
76258         pointer P, use P () rather than (*P) (), as we now assume C89 or
76259         better.
76260
76261 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76262
76263         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
76264         "who -r" failed to give output.  Problem reported by Tim Waugh.
76265
76266         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
76267         (xcalloc): Use it to avoid needless tests.
76268         Problem reported by Jim Meyering.
76269
76270 2005-06-20  Derek Price  <derek@ximbiot.com>
76271
76272         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
76273         unnecessary for Autoconfs > 2.59c.
76274
76275 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76276
76277         * lib/argp.h (__option_is_short): Check upper limit of
76278         __key. Isprint() requires its argument to have the value
76279         of an unsigned char or EOF.
76280
76281 2005-06-16  Jim Meyering  <jim@meyering.net>
76282
76283         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
76284         when either N or S is zero.
76285
76286 2005-06-16  Derek Price  <derek@ximbiot.com>
76287
76288         * m4/bison.m4: Declare YACC & YFLAGS precious.
76289
76290 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
76291
76292         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
76293         multibyte string or pattern, fall back on unibyte matching.
76294         Problem reported by James Youngman.
76295
76296 2005-06-08  Bruno Haible  <bruno@clisp.org>
76297
76298         * modules/csharpcomp: New file.
76299         * MODULES.html.sh (C#): Add csharpcomp.
76300
76301 2005-06-08  Bruno Haible  <bruno@clisp.org>
76302
76303         * m4/csharpcomp.m4: New file, from GNU gettext.
76304
76305 2005-06-08  Bruno Haible  <bruno@clisp.org>
76306
76307         * lib/csharpcomp.h: New file, from GNU gettext.
76308         * lib/csharpcomp.c: New file, from GNU gettext.
76309         * lib/csharpcomp.sh.in: New file, from GNU gettext.
76310
76311 2005-06-08  Bruno Haible  <bruno@clisp.org>
76312
76313         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
76314         warning on mingw.
76315
76316 2005-06-07  Derek Price  <derek@ximbiot.com>
76317
76318         Sync from CVS.
76319         * lib/glob_.h: Indent nested #ifdef.
76320
76321 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76322
76323         Sync from coreutils.
76324         Use "file name" when talking about file names, instead of "filename"
76325         or "path", as per the GNU coding standards.
76326         * lib/mkdir-p.c: Renamed from makepath.c.
76327         (make_dir_parents): Renamed from make_path.  All callers changed.
76328         * lib/mkdir-p.h: Likewise.  All includers changed.
76329         * lib/filenamecat.c: Renamed from path-concat.c.
76330         (file_name_concat): Renamed from path_concat.  All callers changed.
76331         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
76332         * lib/filenamecat.h: Likewise.  All includers changed.
76333         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
76334         in comments or local variable names.
76335         * lib/basename.c: Likewise.
76336         * lib/canonicalize.c, canonicalize.h: Likewise.
76337         * lib/dirname.c, dirname.h: Likewise.
76338         * lib/euidaccess.c: Likewise.
76339         * lib/exclude.c: Likewise
76340         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
76341         * lib/fsusage.c, fsuage.h: Likewise.
76342         * lib/fts.c, fts_.h: Likewise.
76343         * lib/getcwd.c: Likewise.
76344         * lib/getloadavg.c: Likewise.
76345         * lib/mkstemp.c: Likewise.
76346         * lib/mountlist.c, mountlist.h: Likewise.
76347         * lib/openat.c, openat.h: Likewise.
76348         * lib/readlink-stub.c: Likewise.
76349         * lib/readutmp.c, readutmp.h: Likewise.
76350         * lib/rename.c: Likewise.
76351         * lib/rmdir.c: Likewise.
76352         * lib/same.c: Likewise.
76353         * lib/savedir.c: Likewise.
76354         * lib/stripslash.c: Likewise.
76355         * lib/tempname.c: Likewise.
76356         * lib/xreadlink.c: Likewise.
76357         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
76358         All uses changed.
76359         * lib/exclude.h: Likewise.
76360
76361         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
76362         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76363         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
76364         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76365         * lib/pathmax.h: Include <limits.h> unconditionally, since other
76366         files have been getting away with it for years (MORE/BSD 4.3
76367         is extinct now).
76368         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
76369         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76370
76371         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
76372         Define to 256, not 255, as per modern POSIX.
76373
76374 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76375
76376         Sync from coreutils.
76377         Use "file name" when talking about file names, instead of "filename"
76378         or "path", as per the GNU coding standards.
76379         * MODULES.html.sh: mkdir-p renamed from makepath.
76380         filenamecat renamed from path-concat.
76381         * modules/filenamecat: Renamed from modules/path-concat.
76382         (Files): filenamecat.h and filenamecat.c renamed from
76383         path-concat.h and path-concat.c.
76384         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76385         (Include): filenamecat.h, not path-concat.h.
76386         * modules/mkdir-p: Renamed from modules/makepath.
76387         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76388         makepath.c.
76389         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76390         (Include): mkdir-p.h, not makepath.h.
76391
76392 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76393
76394         Sync from coreutils.
76395         * m4/mkdir-p.m4: Renamed from makepath.m4.
76396         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76397         Rename files from makepath.c to mkdir-p.c, and from
76398         makepath.h to mkdir-p.h.
76399         * m4/filenamecat.m4: Renamed from path-concat.m4.
76400         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76401         Rename files from path-concat.c to filenamecat.c,
76402         and from path-concat.h to filenamecat.h.
76403         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76404         "file name" in local variables or comments.
76405         * m4/rename.m4: Likewise.
76406
76407 2005-06-01  Bruno Haible  <bruno@clisp.org>
76408
76409         * modules/csharpexec: New file.
76410         * MODULES.html.sh (C#): New section.
76411
76412 2005-06-01  Bruno Haible  <bruno@clisp.org>
76413
76414         * m4/csharp.m4: New file, from GNU gettext.
76415         * m4/csharpexec.m4: New file, from GNU gettext.
76416
76417 2005-06-01  Bruno Haible  <bruno@clisp.org>
76418
76419         * lib/csharpexec.h: New file, from GNU gettext.
76420         * lib/csharpexec.c: New file, from GNU gettext.
76421         * lib/csharpexec.sh.in: New file, from GNU gettext.
76422
76423 2005-05-31  Derek Price  <derek@ximbiot.com>
76424             Paul Eggert  <eggert@cs.ucla.edu>
76425
76426         Sync from cvs.
76427         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76428
76429 2005-05-31  Derek Price  <derek@ximbiot.com>
76430             Paul Eggert  <eggert@cs.ucla.edu>
76431
76432         Sync from cvs.
76433         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76434
76435 2005-05-29  Derek Price  <derek@ximbiot.com>
76436
76437         * config/srclist.txt (glob_.h, glob.c): Add these files.
76438
76439 2005-05-29  Derek Price  <derek@ximbiot.com>
76440
76441         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76442         * modules/glob: New file.
76443         * modules/getlogin_r: Add link to POSIX spec in description.
76444
76445 2005-05-29  Derek Price  <derek@ximbiot.com>
76446             Paul Eggert  <eggert@cs.ucla.edu>
76447
76448         * m4/glob.m4: New file.
76449
76450 2005-05-29  Derek Price  <derek@ximbiot.com>
76451             Paul Eggert  <eggert@cs.ucla.edu>
76452
76453         * lib/glob_.h, lib/glob.c: New files.
76454
76455 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76456
76457         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76458         * modules/fts-lgpl (Depends-on): Remove gettext.
76459
76460 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76461
76462         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76463         and don't require gt_INTTYPES_PRI.
76464
76465 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76466
76467         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76468
76469         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76470         the configuration hassle isn't worth it.
76471         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76472         (LONGEST_MODIFIER, PRIuMAX): Remove.
76473
76474 2005-05-27  Bruno Haible  <bruno@clisp.org>
76475
76476         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76477
76478 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76479
76480         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76481         _POSIX_PTHREAD_SEMANTICS for Solaris.
76482
76483 2005-05-25  Derek Price  <derek@ximbiot.com>
76484
76485         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76486
76487 2005-05-25  Derek Price  <derek@ximbiot.com>
76488             Paul Eggert  <eggert@cs.ucla.edu>
76489
76490         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76491         * lib/getlogin_r.c, getlogin_r.h: New files.
76492
76493 2005-05-25  Bruno Haible  <bruno@clisp.org>
76494             Derek Price  <derek@ximbiot.com>
76495
76496         * lib/getlogin_r.h: Simplify API documentation.
76497
76498 2005-05-23  Derek Price  <derek@ximbiot.com>
76499
76500         * modules/minmax (Files): Add m4/minmax.m4.
76501         (configure.ac): Add gl_MINMAX.
76502
76503 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76504
76505         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76506         so that unistd-safer.h (GPL'ed code) need not be included.
76507
76508 2005-05-22  Bruno Haible  <bruno@clisp.org>
76509
76510         * m4/minmax.m4: New file.
76511         Based on a patch by Derek Price <derek@ximbiot.com>.
76512
76513 2005-05-22  Bruno Haible  <bruno@clisp.org>
76514
76515         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76516         (INT64_MIN): Fix definition.
76517         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76518
76519         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76520         NEED_SIGNED_INT_TYPES.
76521
76522         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76523         HAVE_SYSTEM_INTTYPES.
76524
76525 2005-05-22  Bruno Haible  <bruno@clisp.org>
76526
76527         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76528         Also include <sys/param.h> if it defines MIN, MAX.
76529         Based on a patch by Derek Price <derek@ximbiot.com>.
76530
76531 2005-05-21  Jim Meyering  <jim@meyering.net>
76532
76533         * modules/fts (Files): Add m4/inttypes-pri.m4.
76534         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76535
76536 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76537
76538         New fts module.
76539         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76540         (setup_dir, free_dir): New functions.
76541         (enter_dir, leave_dir): Define trivial
76542         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76543         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76544         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76545         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76546         Move to fts-cycle.c.
76547         (fts_open): Use setup_dir.
76548         (fts_close): Use free_dir.
76549         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76550         This adds a label and some gotos, but the alternatives were messier.
76551         Check for memory allocation failure when entering a dir.
76552         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76553         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76554         (FTS): New member fts_cycle, that is a union that contains the
76555         old active_dir_ht and cycle_state.  All uses changed to mention
76556         fts_cycle.ht and fts_cycle.state.
76557         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76558         fts.c, with the following changes:
76559         (setup_dir, free_dir): New functions.
76560         (enter_dir): Now returns bool.  Return true if successful, false
76561         if memory exhausted.  All callers changed.
76562         Do not bother partly cleaning up on
76563         memory allocation failure; that is free_dir's job.
76564         However, free ad if hash_insert fails, to avoid memory leak.
76565         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76566         fts->fts_options to see which union member to use.
76567
76568 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76569
76570         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76571         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76572
76573 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76574
76575         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76576
76577 2005-05-20  Jim Meyering  <jim@meyering.net>
76578
76579         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76580         Now a macro, to pacify GCC.
76581
76582 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76583
76584         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76585         of -1.
76586
76587 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76588
76589         * lib/chown.c (rpl_chown): Return -1 on failure.
76590
76591 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76592
76593         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76594         Don't check for stddef.h.
76595         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76596         don't use its results.
76597         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76598         since we include them unconditionally.  Don't require
76599         AM_STDBOOL_H, since stdbool is a prerequisite.
76600         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76601         since we assume C89 or better.
76602         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76603         as we don't use their results.
76604         Don't check for fchdir, memmove, memset, strrchr, as we use
76605         them unconditionally.
76606         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76607         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76608
76609 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76610
76611         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76612         Include <stddef.h> unconditionally, since we assume C89 now.
76613         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76614         * lib/fts.c: Include fts_.h first, to check interface.
76615         Do not include intprops.h; no longer needed.
76616         Include cycle-check.h and hash.h, since fts_.h no longer does.
76617         Remove unnecessary casts of closedir to void.
76618         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76619         decide whether to decrement nlinks.
76620         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76621         (FTS): Use struct hash_table * instead of Hash_table, so that
76622         we no longer need to include hash.h here.
76623
76624 2005-05-18  Jim Meyering  <jim@meyering.net>
76625
76626         * modules/dirfd (License): Change to LGPL.  Most of the code
76627         is already in the public domain.
76628
76629 2005-05-18  Jim Meyering  <jim@meyering.net>
76630
76631         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76632         Reported by Yoann Vandoorselaere.
76633
76634 2005-05-17  Jim Meyering  <jim@meyering.net>
76635
76636         * m4/fts.m4: New file, from coreutils.
76637
76638 2005-05-17  Jim Meyering  <jim@meyering.net>
76639
76640         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76641
76642 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76643
76644         Sync from coreutils.
76645         * m4/unlinkdir.m4: New file.
76646
76647 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76648
76649         Sync from coreutils.
76650         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76651         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76652         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76653         White space changes only.
76654         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76655         special.
76656         * lib/yesno.c: Include getline.h, not ctype.h.
76657         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76658         Use getline to remove arbitrary restriction on response length.
76659
76660 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76661
76662         * config/srclist-update: Spell out "Street" in FSF postal
76663         mail address; this is the style the FSF seems to prefer.
76664
76665         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76666         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76667         this updates FSF postal mail address.
76668
76669         Sync from coreutils.
76670         * modules/unlinkdir: New file.
76671         * modules/yesno (Depends-on): Add getline.
76672         * MODULES.html.sh (File system functions): Add unlinkdir.
76673
76674 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76675
76676         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76677         lib/strsep.h:
76678         Change the initial comment to refer to GPL, not LGPL.
76679         gnulib-tool will change it to LGPL as needed.
76680
76681         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76682         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76683         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76684         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76685         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76686         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76687         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76688         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76689         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76690         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76691         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76692         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76693         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76694         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76695         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76696         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76697         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76698         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76699         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76700         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76701         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76702         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76703         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76704         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76705         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76706         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76707         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76708         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76709         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76710         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76711         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76712         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76713         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76714         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76715         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76716         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76717         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76718         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76719         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76720         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76721         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76722         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76723         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76724         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76725         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76726         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76727         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76728         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76729         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76730         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76731         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76732         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76733         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76734         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76735         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76736         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76737         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76738         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76739         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76740         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76741         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76742         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76743         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76744         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76745         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76746         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76747         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76748         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76749         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76750         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76751         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76752         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76753         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76754         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76755         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76756         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76757         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76758         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76759         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76760         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76761         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76762         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76763         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76764         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76765         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76766         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76767         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76768         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76769         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76770         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76771         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76772         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76773         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76774         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76775         lib/yesno.c, lib/yesno.h:
76776         Update FSF postal mail address.
76777
76778 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76779
76780         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76781         tests/test-memmem.c, tests/test-stpncpy.c:
76782         Update FSF postal mail address.
76783
76784 2005-05-13  Bruno Haible  <bruno@clisp.org>
76785
76786         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76787         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76788         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76789         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76790         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76791         Add support for 64-bit integers in the MSVC compiler.
76792
76793 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76794
76795         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
76796
76797 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
76798
76799         * gnulib-tool (func_import): Sort and uniquify recommended includes.
76800
76801 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
76802
76803         * doc/getdate.texi (General date syntax): Don't say that date
76804         date --iso-8601=ns generates acceptable dates; it doesn't yet.
76805         Problem reported by Nic Ferrier.
76806
76807 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76808
76809         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
76810         specified in ai_socktype. Fix invalid ai_protocol
76811         check. ai_protocol is usually set to 0 or depending on
76812         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
76813         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
76814         ai_socktype / ai_protocol in the returned addrinfo structure.
76815
76816 2005-05-10  Simon Josefsson  <jas@extundo.com>
76817
76818         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
76819         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76820
76821 2005-05-10  Karl Berry  <karl@gnu.org>
76822
76823         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
76824         (from http://www.gnu.org/licenses).
76825         * doc/COPYING.LIB: also rename to COPYING.LESSER.
76826         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
76827         fdl.texi suffices.
76828
76829 2005-05-10  Karl Berry  <karl@gnu.org>
76830
76831         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
76832         (COPYING.DOC): remove.
76833
76834         * config/srclist-update: new FSF address.
76835
76836 2005-05-10  Derek Price  <derek@ximbiot.com>
76837
76838         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
76839         possible.
76840
76841 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76842             Bruno Haible  <bruno@clisp.org>
76843
76844         * modules/inet_ntop: New file.
76845         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76846         inet_ntop.
76847
76848 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76849             Bruno Haible  <bruno@clisp.org>
76850
76851         * m4/inet_ntop.m4: New file.
76852
76853 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76854             Bruno Haible  <bruno@clisp.org>
76855
76856         * lib/inet_ntop.h: New file.
76857         * lib/inet_ntop.c: New file, from glibc with modifications.
76858
76859 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
76860
76861         * modules/time_r (License): Change to LGPL.
76862         * modules/extensions (License): Change to LGPL.  Actually,
76863         the license is more permissive than that, but currently gnulib-tool
76864         doesn't know how to handle more-permissive licenses.
76865
76866         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
76867         Problem reported by Dave Love.
76868
76869 2005-05-08  Jim Meyering  <jim@meyering.net>
76870
76871         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
76872         blank.
76873
76874 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76875
76876         * modules/argmatch (Depends-on): Add stdbool.
76877         * modules/backupfile (Depends-on): Likewise.
76878         * modules/chdir-long (Depends-on): Likewise.
76879         * modules/closeout (Depends-on): Likewise.
76880         * modules/cycle-check (Depends-on): Likewise.
76881         * modules/dirname (Depends-on): Likewise.
76882         * modules/fnmatch (Depends-on): Likewise.
76883         * modules/fsusage (Depends-on): Likewise.
76884         * modules/fwriteerror (Depends-on): Likewise.
76885         * modules/getcwd (Depends-on): Likewise.
76886         * modules/getloadavg (Depends-on): Likewise.
76887         * modules/hard-locale (Depends-on): Likewise.
76888         * modules/makepath (Depends-on): Likewise.
76889         * modules/mountlist (Depends-on): Likewise.
76890         * modules/nanosleep (Depends-on): Likewise.
76891         * modules/posixtm (Depends-on): Likewise.
76892         * modules/quotearg (Depends-on): Likewise.
76893         * modules/readtokens (Depends-on): Likewise.
76894         * modules/readtokens0 (Depends-on): Likewise.
76895         * modules/readutmp (Depends-on): Likewise.
76896         * modules/save-cwd (Depends-on): Likewise.
76897         * modules/strftime (Depends-on): Likewise.
76898         * modules/userspec (Depends-on): Likewise.
76899         * modules/utimecmp (Depends-on): Likewise.
76900         * modules/xgetcwd (Depends-on): Likewise.
76901         * modules/xnanosleep (Depends-on): Likewise.
76902         * modules/xstrtod (Depends-on): Likewise.
76903         * modules/yesno (Depends-on): Likewise.
76904
76905 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
76906
76907         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
76908         needless checks.
76909
76910 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76911
76912         Merge from coreutils.  Among other things,
76913         add bulletproofing for cases where stdin, stdout, or stderr are closed.
76914         * lib/fd-safer.c: New file.
76915         * lib/fcntl-safer.h, open-safer.c: Remove.
76916         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
76917         * lib/dup-safer.c: Include unistd-safer.h first.
76918         Don't include errno.h.
76919         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
76920         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
76921         * lib/file-type.c: Rely on file-type.h change.
76922         * lib/getloadavg.c: Include unistd-safer.h.
76923         (getloadavg): Use safer open.
76924         * lib/getusershell.c: Include "stdio-safer.h".
76925         (getusershell): Use safer fopen.
76926         * lib/long-options.c (long_options): Use NULL rather than 0.
76927         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
76928         'free'.
76929         * lib/modechange.c: Likewise.
76930         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
76931         (MODE_DONE): New constant.
76932         (struct mode_change): Remove 'next' member.
76933         (make_node_op_equals): New function; like the old one of the
76934         same name, except it allocates an array.
76935         (mode_compile, mode_create_from_ref): Use it.
76936         (mode_compile): Allocate result as an array, not a linked list.
76937         Parse octal string ourself, so that we catch mistakes like "+0".
76938         (mode_adjust): Arg is an array, not a linked list.
76939         * lib/modechange.c: Include stat-macros.h, xalloc.h.
76940         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
76941         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
76942         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
76943         Remove.  This is now stat-macros.h's job.
76944         (talloc): Remove.  All callers replaced by xalloc, so that
76945         our invokers don't have to worry about reporting memory failures.
76946         (make_node_op_equals): Remove.
76947         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76948         New constants.
76949         (struct mode_change): Moved here from modechange.h.
76950         (mode_append_entry): Remove.
76951         (mode_compile): Remove MASKED_OPS arg, since it encouraged
76952         apps to have incorrect behavior.  Use simpler algorithm for head
76953         and tail.  Don't futz with umask; that's now the job of mode_adjust.
76954         Detect more invalid usages rather than having somewhat-random behavior.
76955         Don't insert an "a=" action, as that leads to incorrect behavior.
76956         (mode_compile, mode_create_from_ref): Return NULL on error instead
76957         of an enum, since now there's only one way to have an error.  All
76958         callers changed.
76959         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
76960         at the correct time.  Simplify calculation of "+u" and its ilk.
76961         Don't mishandle "+X".
76962         (mode_free): Remove "register" and localize decls.
76963         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76964         (struct mode_change): Move to modechange.c; callers don't
76965         need to see this stuff.
76966         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
76967         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
76968         (mode_change, mode_adjust): Reflect the new signatures noted above.
76969         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
76970         that might redefine system include files.
76971         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
76972         (my_usleep): Use NULL rather than (void *) 0.
76973         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
76974         Use siginterrupt to specify that system calls should be interrupted.
76975         (rpl_nanosleep): Move initialization of suspended closer to call of
76976         my_usleep.
76977         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
76978         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
76979         (desirable_utmp_entry): New function.
76980         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
76981         using x2nrealloc, to simplify logic.
76982         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
76983         size calculation.  Do not assume utmp file is a regular file.
76984         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
76985         (READ_UTMP_CHECK_PIDS): New constant.
76986         * lib/save-cwd.c: Include unistd-safer.h.
76987         (save_cwd): Use fd_safer.
76988         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
76989         [!_LIBC] Include "stat-macros.h" instead.
76990         * lib/unistd-safer.h (fd_safer): New decl.
76991
76992 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76993
76994         * modules/getloadavg (Depends-on): Add unistd-safer.
76995         * modules/getusershell (Depends-on): Add stdio-safer.
76996         * modules/lstat (Depends-on): Remove xalloc.
76997         * modules/mkstemp (Depends-on): Add stat-macros.
76998         * modules/modechange (Depends-on): Remove xstrtol.
76999         Add stat-macros, xalloc.
77000         * modules/save-cwd (Depends-on): Add unistd-safer.
77001         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
77002         * modules/unistd-safer (Files): Add lib/fd-safer.c
77003         (Makefile.am): Remove lib_SOURCES.
77004
77005         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
77006         Remove fcntl-safer; unistd-safer supersedes it.
77007
77008 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77009
77010         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
77011         AC_HEADER_STAT.
77012         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
77013         (gl_PREREQ_CHOWN): Remove.
77014         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
77015         it.  Don't require AC_HEADER_STAT.
77016         (gl_PREREQ_LSTAT): Remove.
77017         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
77018         Don't require AC_HEADER_STAT.
77019         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
77020         (gl_PREREQ_RMDIR): Remove.
77021         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
77022         mention stat-macros.h or AC_HEADER_STAT, since we'll make
77023         the stat-macros module a prerequisite.
77024         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
77025         * m4/filemode.m4 (gl_FILEMODE): Likewise.
77026         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
77027         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
77028         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
77029         variable names.
77030         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
77031         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
77032         variable prefixes.
77033         * m4/fcntl-safer.m4: Remove.
77034         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
77035         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
77036         Invoke gl_PREREQ_FD_SAFER.
77037         (gl_PREREQ_FD_SAFER): New macro.
77038         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
77039         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
77040         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
77041         Remove duplicate call to AC_LIBOBJ(readutmp).
77042         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
77043
77044         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
77045         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
77046
77047 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77048
77049         * MODULES.html.sh (Misc): Add byteswap.
77050
77051 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77052
77053         * modules/getcwd (Depends-on): Add extensions.
77054         * modules/openat (Depends-on): Likewise.
77055
77056 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77057
77058         * modules/byteswap: New file.
77059
77060 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77061
77062         * m4/byteswap.m4: New file.
77063
77064 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77065
77066         * lib/byteswap_.h: New file.
77067
77068 2005-04-25  Karl Berry  <karl@gnu.org>
77069
77070         * m4/gettext.m4: Update from GNU gettext 0.14.4.
77071
77072 2005-04-25  Albert Chin  <china@thewrittenword.com>
77073
77074         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
77075         Toolkit C bug.
77076
77077 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
77078
77079         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
77080         (func_ln_if_changed): Remove forcibly for no error message
77081         in case file does not exist.
77082
77083 2005-04-19  Simon Josefsson  <jas@extundo.com>
77084
77085         * gnulib-tool (Options): Make --symlink mean --symbolic.
77086
77087 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
77088
77089         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
77090
77091 2005-04-16  Simon Josefsson  <jas@extundo.com>
77092
77093         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
77094
77095 2005-04-15  Simon Josefsson  <jas@extundo.com>
77096
77097         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
77098
77099 2005-04-15  Simon Josefsson  <jas@extundo.com>
77100
77101         * gnulib-tool: Rename --symlink to --symbolic.
77102
77103 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
77104
77105         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
77106         symbolic links to files instead of copying/moving.  Add --aux-dir,
77107         specifying directory relative --dir where auxiliary build tools
77108         are placed.
77109
77110 2005-04-14  Bruno Haible  <bruno@clisp.org>
77111
77112         * modules/allocsa (License): Change to LGPL.
77113         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77114
77115 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77116
77117         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
77118         that "UTC +1 second" continues to work.  Problem reported
77119         by Dmitry V. Levin.
77120         (relunit_snumber): New rule.
77121         (relunit): Use it.
77122
77123 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77124
77125         * lib/getdate.y (universal_time_zone_table): New constant.
77126         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
77127         universal_time_zone_table.
77128         (lookup_zone): Prefer universal_time_zone_table to
77129         local_time_zone_table, so that "GMT" time stamps are allowed in
77130         London during the summer.  Problem reported by Ian Abbott.
77131
77132 2005-04-12  Jim Meyering  <jim@meyering.net>
77133
77134         * lib/human.c (humblock): Set *options even when returning due to
77135         xstrtoumax conversion failure.  Thanks to a used-uninitialized
77136         warning from gcc-4.
77137
77138 2005-04-09  Jim Meyering  <jim@meyering.net>
77139
77140         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
77141         -Wuninitialized: initialize tm0.tm_year.
77142
77143 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
77144
77145         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
77146         count, since there's no maximum.  All uses changed.
77147         Add member dsts_seen.
77148         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
77149         not being INT_MAX.
77150         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
77151         Use pc_rels_seen to decide whther a date is absolute.
77152
77153         * lib/getdate.y (number): Don't overwrite year.
77154         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
77155         check.
77156
77157 2005-04-02  Simon Josefsson  <jas@extundo.com>
77158
77159         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
77160         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
77161
77162 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
77163
77164         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
77165         where no absolute path name can be longer than PATH_MAX.
77166
77167 2005-03-27  Jim Meyering  <jim@meyering.net>
77168
77169         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
77170
77171 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
77172
77173         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
77174         "one's complement" -> "ones' complement" in comment, as per Knuth.
77175         "value of type" -> "type or expression" in comment.
77176         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
77177
77178 2005-03-26  Jim Meyering  <jim@meyering.net>
77179
77180         Comment nits.
77181         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
77182         Correct typos: s/or/of/.
77183
77184 2005-03-26  Jim Meyering  <jim@meyering.net>
77185
77186         * modules/check-include-files: Move to ../ and rename to...
77187         * check-module: ...this.
77188
77189 2005-03-25  Jim Meyering  <jim@meyering.net>
77190
77191         * modules/xvasprintf (Files): Add xalloc.h.
77192
77193 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
77194
77195         * modules/gettext (Files): config/config.rpath ->
77196         build-aux/config.rpath
77197         * modules/iconv (Files): Likewise.
77198         Problem reported by Oskar Liljeblad.
77199
77200 2005-03-23  Jim Meyering  <jim@meyering.net>
77201
77202         * modules/check-include-files: New script to check for
77203         missing dependencies, multiple includes, etc.
77204
77205         * modules/c-strtold (Depends-on): Add xalloc.
77206         * modules/c-strtod (Depends-on): Add xalloc.
77207         * modules/hash (Depends-on): Add xalloc.
77208         (Files): Remove lib/xalloc.h.
77209
77210         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
77211         * modules/userspec (Files): Add lib/inttostr.h.
77212
77213 2005-03-23  Jim Meyering  <jim@meyering.net>
77214
77215         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
77216
77217 2005-03-22  Jim Meyering  <jim@meyering.net>
77218
77219         * modules/stat-macros: New module.
77220         * modules/canonicalize, modules/euidaccess, modules/file-type,
77221         * modules/filemode, modules/lchown, modules/makepath,
77222         * modules/rmdir, modules/stat: Depend on new stat-macros module
77223         rather than listing lib/stat-macros.h manually.
77224         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
77225
77226 2005-03-22  Jim Meyering  <jim@meyering.net>
77227
77228         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
77229
77230 2005-03-22  Bruno Haible  <bruno@clisp.org>
77231
77232         * config/srclist.txt: Replace target directory 'config' with
77233         'build-aux'.
77234         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
77235         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
77236         ../build-aux/.
77237
77238 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
77239
77240         * modules/chdir-long (Depends-on): Add mempcpy.
77241
77242         * modules/acl, modules/backupfile, modules/c-strtod,
77243         modules/c-strtold, modules/canon-host, modules/canonicalize,
77244         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
77245         modules/exclude, modules/exitfail, modules/file-type,
77246         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
77247         modules/getdate, modules/getline, modules/getpagesize,
77248         modules/getpass, modules/getugroups, modules/group-member,
77249         modules/hard-locale, modules/hash, modules/human, modules/idcache,
77250         modules/inttostr, modules/long-options, modules/makepath,
77251         modules/md5, modules/memcasecmp, modules/memcoll,
77252         modules/modechange, modules/mountlist, modules/path-concat,
77253         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
77254         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
77255         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
77256         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
77257         modules/strftime, modules/strndup, modules/strverscmp,
77258         modules/timespec, modules/unlocked-io, modules/userspec,
77259         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
77260         modules/yesno:
77261         Remove lib_SOURCES line from Makefile.am section, as this is now
77262         done automatically by the corresponding Autoconf macro.
77263
77264 2005-03-21  Jim Meyering  <jim@meyering.net>
77265
77266         Changes imported from coreutils.
77267
77268         * lib/cycle-check.c: Don't include xalloc.h.
77269
77270         * lib/path-concat.c: Don't include assert.h.
77271         (path_concat): Remove assertion that would have triggered
77272         for ABASE starting with more than one slash.
77273         Reported by Andreas Schwab.
77274
77275         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
77276         properly when ABASE is an absolute file name.
77277         Correct the description of this function.
77278         Include <assert.h>.
77279         Add an assertion and a test driver.
77280         This fixes a bug introduced on 2004-07-02.
77281         Andreas Schwab reported the resulting failure of cp --parents:
77282         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
77283
77284 2005-03-21  Jim Meyering  <jim@meyering.net>
77285
77286         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
77287         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
77288
77289 2005-03-21  Jim Meyering  <jim@meyering.net>
77290         and  Paul Eggert  <eggert@cs.ucla.edu>
77291
77292         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
77293         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
77294         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
77295         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
77296         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
77297         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
77298         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
77299         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
77300         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
77301         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
77302         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
77303         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
77304         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
77305         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
77306         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
77307         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
77308         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
77309         for these modules.
77310
77311 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
77312
77313         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
77314         (which shouldn't happen), generate nothing instead of returning 0
77315         immediately, so that nstrftime (NULL, ...) doesn't return 0.
77316
77317 2005-03-16  Bruno Haible  <bruno@clisp.org>
77318
77319         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
77320         HAVE_LONGLONG_64BIT.
77321
77322 2005-03-16  Bruno Haible  <bruno@clisp.org>
77323
77324         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
77325         HAVE_LONGLONG_64BIT.
77326
77327 2005-03-16  Bruno Haible  <bruno@clisp.org>
77328
77329         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
77330         HAVE_LONGLONG_64BIT.
77331
77332 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77333
77334         * lib/strftime.c (my_strftime): Prepend space to format so that we can
77335         reliably distinguish strftime failure from empty output on POSIX
77336         hosts.
77337
77338 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77339
77340         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
77341         (iconv_string): Don't guess a size-zero buffer, as that might cause
77342         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
77343         result would be 'too large', where 'too large' is (heuristically)
77344         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
77345         overflow concerns.  This will prevent some unwanted malloc failures
77346         when the inputs are very large.
77347
77348 2005-03-15  Karl Berry  <karl@gnu.org>
77349
77350         * config/srclist.txt (config.rpath): from gettext.
77351         * config/config.rpath: update.
77352
77353 2005-03-15  Bruno Haible  <bruno@clisp.org>
77354
77355         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
77356         to 'negate'.
77357
77358         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
77359         variable.
77360
77361         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
77362         results.
77363
77364 2005-03-14  Simon Josefsson  <jas@extundo.com>
77365
77366         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
77367         <fx@gnu.org>.
77368
77369 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
77370
77371         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
77372         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
77373         intprops.h.
77374         * lib/strtol.c: Likewise.
77375
77376 2005-03-14  Jim Meyering  <jim@meyering.net>
77377
77378         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
77379         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
77380         to be nonzero so that we (and caller) can detect the difference
77381         between a valid zero-length expansion and an error return, even
77382         when the underlying strftime fails before writing anything into
77383         that location.
77384
77385 2005-03-14  Bruno Haible  <bruno@clisp.org>
77386
77387         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77388         Update from GNU gettext 0.14.3.
77389
77390 2005-03-10  Jim Meyering  <jim@meyering.net>
77391
77392         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77393
77394 2005-03-10  Jim Meyering  <jim@meyering.net>
77395
77396         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77397         so that this module works on systems without fchdir.
77398
77399 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77400
77401         Factor int-properties macros into a single file, except for
77402         glibc-related files.
77403         * lib/intprops.h: New file.
77404         * lib/getloadavg.c: Include it instead of limits.h.
77405         (INT_STRLEN_BOUND): Remove.
77406         * lib/human.c: Include intprops.h.
77407         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77408         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77409         302/1000.
77410         * lib/inttostr.h: Include intprops.h instead of limits.h.
77411         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77412         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77413         for consistency with intprops.h.
77414         (time_t_is_integer, twos_complement_arithmetic): Use them.
77415         * lib/sig2str.h: Include <signal.h>, intprops.h.
77416         (INT_STRLEN_BOUND): Remove.
77417         * lib/strftime.c (TYPE_SIGNED): Remove.
77418         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77419         * lib/strtol.c: Adjust comments to match intprops.h.
77420         * lib/userspec.c: Include intprops.h.
77421         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77422         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77423         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77424         instead of rolling our own expressions.
77425         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77426
77427         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77428         instead of int.
77429         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77430         the right thing even if adding 1900 would overflow.  Similarly
77431         for tm_mon + 1 and tm_yday + 1.
77432         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77433         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77434         (DO_SIGNED_NUMBER): New macro.
77435         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77436
77437 2005-03-07  Bruno Haible  <bruno@clisp.org>
77438
77439         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77440
77441 2005-03-07  Bruno Haible  <bruno@clisp.org>
77442
77443         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77444
77445 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77446
77447         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77448         (func_import): Only replace files via --import when they have actually
77449         changed.
77450
77451 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77452
77453         * m4/mmap-anon.m4: New file.
77454         * m4/pagealign_alloc.m4: New file.
77455
77456 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77457             Bruno Haible  <bruno@clisp.org>
77458
77459         * modules/pagealign_alloc: New file.
77460         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77461
77462 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77463             Bruno Haible  <bruno@clisp.org>
77464
77465         * lib/pagealign_alloc.h: New file.
77466         * lib/pagealign_alloc.c: New file.
77467
77468 2005-03-03  Bruno Haible  <bruno@clisp.org>
77469
77470         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77471         Use an all-permissive copyright notice, recommended by RMS.
77472
77473 2005-03-02  Bruno Haible  <bruno@clisp.org>
77474
77475         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77476         of AIX, the replacement has to be done only after <string.h> is
77477         included, therefore not in config.h. stpncpy.h does the replacement,
77478         and stpncpy.c uses it.
77479
77480 2005-03-02  Bruno Haible  <bruno@clisp.org>
77481
77482         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77483         stpncpy.c uses it.
77484
77485 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77486
77487         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77488         The workaround isn't strictly needed for POSIX conformance, and
77489         it's too much of a pain to configure and maintain.  We'll ask
77490         people to fix their kernels instead.
77491         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77492         (NANOSLEEP_BUG_WORKAROUND): Remove.
77493         (xnanosleep): Remove the workaround.
77494
77495 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77496
77497         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77498         Reported by Derek Price.
77499         (Include): Add "timespec.h".
77500
77501         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77502
77503 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77504
77505         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77506         to detect nanosleep bug.
77507
77508 2005-03-01  Bruno Haible  <bruno@clisp.org>
77509
77510         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77511
77512 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77513
77514         * modules/gethrxtime: New file.
77515         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77516         (Depends-on): Add gethrxtime.
77517         (configure.ac): Add gl_XNANOSLEEP.
77518         (Makefile.am): Remove lib_SOURCES line.
77519
77520 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77521
77522         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77523         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77524
77525 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77526
77527         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77528         * lib/timespec.h (gettime): Return void, since it always
77529         succeeds now.  All uses changed.
77530         * lib/gettime.c (gettime): Likewise.
77531         [HAVE_NANOTIME]: Prefer nanotime.
77532         Assume gettimeofday succeeds, as POSIX requires.
77533         Assime time () succeeds, since other code already does.
77534         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77535         (timespec_subtract): Remove.
77536         (NANOSLEEP_BUG_WORKAROUND): New constant.
77537         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77538         things considerably.  Use it only on GNU/Linux hosts, since the
77539         workaround shouldn't be needed elsewhere.
77540
77541 2005-02-24  Bruno Haible  <bruno@clisp.org>
77542
77543         * modules/gettext (Files): Add m4/glibc2.m4.
77544
77545 2005-02-24  Bruno Haible  <bruno@clisp.org>
77546
77547         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77548         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77549         * m4/progtest.m4:
77550         Update from GNU gettext 0.14.2.
77551         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77552
77553 2005-02-24  Bruno Haible  <bruno@clisp.org>
77554
77555         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77556         * lib/config.charset: Update from GNU gettext 0.14.2.
77557
77558 2005-02-24  Bruno Haible  <bruno@clisp.org>
77559
77560         * lib/gettext.h: Update from GNU gettext 0.14.2.
77561
77562 2005-02-23  Simon Josefsson  <jas@extundo.com>
77563
77564         * m4/iconvme.m4: New file.
77565
77566 2005-02-23  Jim Meyering  <jim@meyering.net>
77567
77568         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77569         change.
77570         Thanks to Bruno Haible for catching it.
77571
77572 2005-02-22  Simon Josefsson  <jas@extundo.com>
77573
77574         * modules/iconvme: New file.
77575
77576         * MODULES.html.sh: Add iconvme.
77577
77578 2005-02-22  Simon Josefsson  <jas@extundo.com>
77579
77580         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77581
77582 2005-02-22  Simon Josefsson  <jas@extundo.com>
77583
77584         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77585
77586 2005-02-22  Jim Meyering  <jim@meyering.net>
77587
77588         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77589         s/ifndef/ifdef/.
77590
77591 2005-02-20  Neil Conway  <neilc@samurai.com>
77592
77593         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77594         returned by OSX/Darwin if the specified buffer is not large
77595         enough for the hostname.
77596
77597 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77598
77599         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77600         pass it to _help, otherwise the latter coredumps trying to
77601         dereference state.root_argp.
77602
77603 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77604
77605         * modules/chdir-long (Depends-on): Add memrchr.
77606         * modules/memrchr (Files): Add lib/memrchr.h.
77607         (Include): "memrchr.h".
77608
77609 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77610
77611         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77612
77613 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77614
77615         * lib/memrchr.h: New file.
77616         * lib/chdir-long.c: Include it.
77617         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77618         Don't bother including stddef.h.
77619
77620 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77621
77622         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77623         inclusion.
77624         Include <sys/types.h>, for dev_t.
77625         (ME_DUMMY, ME_REMOTE): Move from here....
77626         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77627         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77628         Dmitry V. Levin.
77629         Include mountlist.h first, to test the interface.
77630
77631 2005-01-29  Bruno Haible  <bruno@clisp.org>
77632
77633         * lib/progname.c (program_name): Initialize.
77634         Needed when linking statically on MacOS X.
77635
77636 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77637
77638         Sync from coreutils.
77639         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77640         (Depends-on): Add c-strtod.
77641         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77642
77643 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77644
77645         Sync from coreutils.
77646         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77647
77648         Remove files that are specific to coreutils.
77649         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77650
77651 2005-01-28  Bruno Haible  <bruno@clisp.org>
77652
77653         * modules/javacomp: New file.
77654         * MODULES.html.sh (Java): Add javacomp.
77655
77656 2005-01-28  Bruno Haible  <bruno@clisp.org>
77657
77658         * m4/javacomp.m4: New file, from GNU gettext.
77659
77660 2005-01-28  Bruno Haible  <bruno@clisp.org>
77661
77662         * lib/javacomp.sh.in: New file, from GNU gettext.
77663         * lib/javacomp.h: New file, from GNU gettext.
77664         * lib/javacomp.c: New file, from GNU gettext.
77665
77666 2005-01-26  Simon Josefsson  <jas@extundo.com>
77667
77668         * lib/gai_strerror.c: Use GPL in header.
77669
77670 2005-01-26  Bruno Haible  <bruno@clisp.org>
77671
77672         * modules/javaexec: New file.
77673         * MODULES.html.sh (Java): Add javaexec.
77674
77675 2005-01-26  Bruno Haible  <bruno@clisp.org>
77676
77677         * m4/javaexec.m4: New file, from GNU gettext.
77678
77679 2005-01-26  Bruno Haible  <bruno@clisp.org>
77680
77681         * lib/javaexec.sh.in: New file, from GNU gettext.
77682         * lib/javaexec.h: New file, from GNU gettext.
77683         * lib/javaexec.c: New file, from GNU gettext.
77684
77685 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77686
77687         * modules/lchown (Depends-on): Remove lchown.h
77688
77689 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77690
77691         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77692         must be defined if the header file was not found, in order
77693         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77694
77695 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77696
77697         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77698         initializers for struct pentry_state.
77699         (__argp_error): Check return value of __asprintf
77700         (__argp_failure): Translate error message
77701
77702         * lib/argp-parse.c: Removed braces around the expansion of N_()
77703
77704 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77705
77706         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77707         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77708         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77709         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77710         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77711         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77712         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77713         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77714         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77715         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77716         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77717         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77718         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77719         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77720         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77721         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77722         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77723         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77724         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77725         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77726         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77727         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77728         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77729         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77730         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77731         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77732         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77733         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77734         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77735         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77736         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77737         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77738         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77739         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77740         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77741         Use an all-permissive copyright notice, recommended by RMS.
77742
77743 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77744
77745         * modules/chdir-long (Depends-on): Remove mempcpy.
77746
77747 2005-01-21  Jim Meyering  <jim@meyering.net>
77748
77749         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77750         same value as for Solaris 9.
77751
77752         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77753         component length.  This included changing the parameter to be
77754         of type `char *' rather than `char const *'.
77755         * lib/chdir-long.h (chdir_long): Update prototype.
77756
77757         * lib/openat.c (fdopendir, fstatat): New functions.
77758         * lib/openat.h: Include headers required for use of DIR and struct
77759         stat.
77760         [AT_SYMLINK_NOFOLLOW]: Define.
77761         (fdopendir, fstatat): Add prototypes.
77762
77763 2005-01-21  Bruno Haible  <bruno@clisp.org>
77764
77765         * modules/classpath: New file.
77766         * MODULES.html.sh (Java): Add classpath.
77767
77768 2005-01-21  Bruno Haible  <bruno@clisp.org>
77769
77770         * lib/classpath.h: New file, from GNU gettext.
77771         * lib/classpath.c: New file, from GNU gettext.
77772
77773 2005-01-20  Simon Josefsson  <jas@extundo.com>
77774
77775         * modules/version-etc-fsf: New file.
77776
77777 2005-01-20  Simon Josefsson  <jas@extundo.com>
77778
77779         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77780         * lib/version-etc.c: Remove version_etc_copyright.
77781         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77782         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77783
77784 2005-01-20  Simon Josefsson  <jas@extundo.com>
77785
77786         * lib/base64.h (isbase64): Add.
77787
77788         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77789         using a unsigned prototype, don't inline.
77790         (base64_decode): Use it.
77791
77792 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77793
77794         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
77795         it.
77796
77797 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77798
77799         * lib/save-cwd.c (save_cwd): Remove code to support the case
77800         where fchdir is missing or flaky.
77801
77802 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77803
77804         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
77805
77806 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
77807
77808         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
77809         AC_LIBSOURCES now does this.
77810         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
77811         with new ullong_max module.
77812
77813 2005-01-19  Bruno Haible  <bruno@clisp.org>
77814
77815         * modules/sh-quote: New file.
77816         * MODULES.html.sh (Executing programs): Add sh-quote.
77817
77818 2005-01-19  Bruno Haible  <bruno@clisp.org>
77819
77820         * lib/sh-quote.h: New file, from GNU gettext.
77821         * lib/sh-quote.c: New file, from GNU gettext.
77822
77823 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77824
77825         Merge from coreutils.
77826         * m4/ullong_max.m4: New file.
77827         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
77828         (gl_MACROS): Assume localeconv exists.
77829
77830 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77831
77832         Merge changes from coreutils, as described below in several
77833         changelogs dated today.
77834
77835         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
77836         (O_DIRECTORY): Remove; not needed here, since "." must be
77837         a directory.  All uses removed.
77838         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
77839         universal on Suns, and we also need to test for IRIX.
77840         Revamp code to use 'if' rather than '#if'.
77841         Avoid unnecessary comparison of cwd->desc to 0.
77842
77843         * lib/utimens.c (futimens): Robustify the previous patch, by checking
77844         for known valid error numbers rather than observed invalid ones.
77845
77846 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77847
77848         * modules/ullong_max: New file.
77849
77850         * modules/chdir-long, modules/openat: New files.
77851         * modules/save-cwd (Depends-on): Depend on chdir-long.
77852         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
77853
77854 2005-01-18  Jim Meyering  <jim@meyering.net>
77855
77856         Merge from coreutils.
77857         * m4/chdir-long.m4, m4/openat.m4: New files.
77858         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
77859         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
77860         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
77861         is sane and DOES follow symlinks.  Besides, testing 20 different
77862         systems found no broken chown implementations.
77863         Prompted by a change in rsync's copy of this macro.
77864         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
77865
77866         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
77867
77868         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
77869         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
77870         NULL-means-set-to-current-time semantics.
77871         Remove temporary file immediately, rather than waiting
77872         for configure's at-exit trap code to do it.
77873
77874 2005-01-18  Jim Meyering  <jim@meyering.net>
77875
77876         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77877
77878         * lib/utimens.c (futimens): Account for the fact that futimes
77879         can also fail with errno == ENOSYS or errno == ENOENT.
77880         Patch from Dmitry V. Levin.
77881
77882         Change the name of the robust chdir function from chdir to chdir_long.
77883         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
77884         (restore_cwd): Use chdir_long, not chdir.
77885         * lib/chdir-long.c: Renamed from chdir.c.
77886         * lib/chdir-long.h: Renamed from chdir.h.
77887         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
77888         Hurd.
77889
77890 2005-01-18  Bruno Haible  <bruno@clisp.org>
77891
77892         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
77893         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
77894         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
77895         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
77896         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
77897         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
77898         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
77899         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
77900         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
77901         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
77902         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
77903         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
77904         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
77905         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
77906         Use an all-permissive copyright notice, recommended by RMS.
77907
77908 2005-01-18  Bob Proulx  <bob@proulx.com>
77909
77910         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
77911         simplify offsetof() macro construct to avoid compile failure with
77912         native HP-UX 11.0 ANSI C compiler.
77913
77914 2005-01-17  Bruno Haible  <bruno@clisp.org>
77915
77916         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
77917         redundant because stpncpy.m4 takes care of it.
77918
77919 2005-01-17  Bruno Haible  <bruno@clisp.org>
77920
77921         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
77922
77923 2005-01-17  Bruno Haible  <bruno@clisp.org>
77924
77925         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
77926         used.
77927
77928 2005-01-17  Bruno Haible  <bruno@clisp.org>
77929
77930         * lib/fwriteerror.h (fwriteerror): Change specification to include
77931         fclose.
77932         * lib/fwriteerror.c: Include <stdbool.h>.
77933         (fwriteerror): At the end, close the file stream. Record whether
77934         stdout was already closed.
77935
77936 2005-01-17  Bruno Haible  <bruno@clisp.org>
77937
77938         * lib/execute.c (environ): Declare if needed.
77939         * lib/pipe.c (environ): Likewise.
77940         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
77941
77942 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77943
77944         * modules/argp: Depend on vsnprintf
77945
77946 2005-01-10  Jim Meyering  <jim@meyering.net>
77947
77948         * modules/closeout (Depends-on): Add atexit.
77949
77950 2005-01-06  Bruno Haible  <bruno@clisp.org>
77951
77952         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
77953
77954 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77955
77956         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
77957         definitions to be after all include files, to avoid collisions.
77958         Problem reported by Bob Proulx.
77959
77960 2005-01-04  Jim Meyering  <jim@meyering.net>
77961
77962         Changes imported from coreutils.
77963         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
77964         as the mkstemp template, use a temporary directory and an
77965         8.3-friendly template to avoid trouble on systems like DJGPP.
77966         Reported by Juan M. Guerrero via Stepan Kasal.
77967         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
77968         close. Remove the temporary directory right away, rather than waiting
77969         for configure's at-exit trap code to do it.
77970         Suggestion from Stepan Kasal.
77971
77972 2005-01-01  Simon Josefsson  <jas@extundo.com>
77973
77974         * gnulib-tool: Print #include directives when --import'ing.
77975
77976 2004-12-28  Simon Josefsson  <jas@extundo.com>
77977
77978         * tests/test-base64.c: Include required header files.  Remove
77979         unused variables.
77980
77981 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77982
77983         * modules/error (Depends-on): Remove gettext.
77984
77985 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77986
77987         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
77988         not needed.  This removes a dependency on the gettext module.
77989         [defined _LIBC]: Do not include <libintl.h>; not needed.
77990
77991 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77992
77993         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
77994         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
77995
77996 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77997
77998         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
77999         HAVE_DECL_STRTOLD.
78000
78001 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78002
78003         * modules/getdate (Depends-on): Remove alloca-opt.
78004
78005 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78006
78007         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
78008
78009 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78010
78011         * lib/argp-parse.c: Include <stddef.h>.
78012         (alignof, alignto): New macros.
78013         (parser_init): Don't assume that void * is aligned sufficiently
78014         for struct option.
78015
78016         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
78017         need to extend the stack.
78018         (YYINITDEPTH): New macro, so that the initial stack isn't overly
78019         large.
78020
78021 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78022
78023         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
78024
78025 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78026
78027         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
78028         (2004-10-24) change.  Apparently this was a false alarm.
78029
78030         * modules/getdate: Depend on alloca-opt, not alloca.
78031
78032 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78033
78034         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
78035         Remove now-obsolete comment about AIX.
78036         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
78037         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
78038         (YYMAXDEPTH): New macro.
78039
78040 2004-12-18  Simon Josefsson  <jas@extundo.com>
78041
78042         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
78043
78044 2004-12-18  Bruno Haible  <bruno@clisp.org>
78045
78046         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
78047
78048 2004-12-18  Bruno Haible  <bruno@clisp.org>
78049
78050         * lib/fatal-signal.c (fatal_signals): Make non-const.
78051         (init_fatal_signals): New function.
78052         (uninstall_handlers, install_handlers): Ignore signals that were set to
78053         SIG_IGN.
78054         (at_fatal_signal): Call init_fatal_signals.
78055         (init_fatal_signal_set): Likewise. Ignore signals that were set to
78056         SIG_IGN.
78057         Reported by Paul Eggert.
78058
78059 2004-12-18  Bruno Haible  <bruno@clisp.org>
78060
78061         * doc/alloca.texi: New file.
78062         * doc/alloca-opt.texi: New file.
78063
78064 2004-12-17  Jim Meyering  <jim@meyering.net>
78065
78066         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
78067         Otherwise, install-sh could exit with improper exit status when
78068         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
78069
78070 2004-12-16  Simon Josefsson  <jas@extundo.com>
78071
78072         * tests/test-base64.c: Add license.
78073
78074 2004-12-15  Stepan Kasal  <address@hidden>
78075
78076         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
78077
78078 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
78079
78080         * modules/getcwd (Files): Add m4/d-ino.m4.
78081         Suggested by Mark D. Baushke.
78082
78083 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78084
78085         * lib/getdate.y (textint): New member "negative".
78086         (time_zone_hhmm): New function.
78087         Expect 14 shift-reduce conflicts, not 13.
78088         (o_colon_minutes): New rule.
78089         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
78090         (yylex): Set the "negative" member of signed numbers.
78091
78092 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78093
78094         * doc/getdate.texi (Time of day items, Time zone items):
78095         Describe new formats +00:00, UTC+00:00.
78096
78097 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78098
78099         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
78100         spurious "-l"s.  Problem reported by Stepan Kasal.
78101
78102 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
78103
78104         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
78105         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
78106
78107 2004-12-04  Simon Josefsson  <jas@extundo.com>
78108
78109         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
78110         Vandoorselaere <yoann@prelude-ids.org>.
78111
78112 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78113
78114         Changes imported from coreutils.
78115         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
78116         exist.
78117         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
78118
78119 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78120
78121         Changes imported from coreutils.
78122         * lib/hard-locale.c: Assume <locale.h> exists.
78123         Include "strdup.h".
78124         (GLIBC_VERSION): New macro.
78125         (hard_locale): Assume setlocale exists.
78126         Rewrite to avoid #ifdef.
78127         Use strdup rather than malloc + strcpy.
78128         * lib/human.c: Assume <locale.h> exists.
78129         (human_readable): Assume localeconv exists.
78130
78131 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78132
78133         * modules/hard-locale (Depends-on): Add strdup.
78134
78135 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
78136
78137         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
78138         convert T2, not T.  (Imported from libc.)
78139
78140 2004-11-30  Simon Josefsson  <jas@extundo.com>
78141
78142         * modules/restrict (License): Change to LGPL.
78143
78144 2004-11-30  Simon Josefsson  <jas@extundo.com>
78145
78146         * m4/restrict.m4: Add copyright and copying conditions.
78147
78148 2004-11-30  Simon Josefsson  <jas@extundo.com>
78149
78150         * m4/base64.m4: New file.
78151
78152 2004-11-30  Simon Josefsson  <jas@extundo.com>
78153
78154         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
78155         base64.
78156
78157         * tests/test-base64.c: New file.
78158
78159         * modules/base64: New file.
78160
78161 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78162
78163         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
78164         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
78165
78166         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
78167
78168 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78169
78170         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
78171         (__getcwd.c): Don't restore errno; glibc doesn't.
78172         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
78173         first, falling back to our code only if its results look suspicious.
78174         Ensure that the resulting buffer is only as large as necessary.
78175
78176         * lib/readutmp.c: Include readutmp.h first.
78177         Include <errno.h>, since readutmp.h no longer does that.
78178         * lib/readutmp.h: Don't include <errno.h>,
78179         <sys/param.h>, <time.h>; not needed to establish interface.
78180         (errno): Remove decl.
78181         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
78182         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
78183         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
78184
78185 2004-11-28  Simon Josefsson  <jas@extundo.com>
78186
78187         * lib/base64.h, base64.c: New file.
78188
78189 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
78190
78191         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
78192
78193 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
78194
78195         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
78196         (Depends-on): Remove pathmax, same.  Add mempcpy.
78197         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
78198         (Makefile.am): Append getcwd.h to lib_SOURCES.
78199         (Include): Add getcwd.h.
78200         (Maintainer): Change from Jim Meyering to "all, glibc",
78201         since getdate now uses intended-for-glibc code.
78202         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
78203         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
78204
78205 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78206
78207         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
78208         HP's ANSI C compiler.
78209         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
78210         Declaring int functions causes warnings on some modern systems and
78211         shouldn't be needed to compile on ancient ones.
78212         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
78213         defined.
78214
78215         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
78216         with the following changes.
78217         (__set_errno): Parenthesize properly.
78218         Include <stdbool.h>.
78219         (MIN, MAX, MATCHING_INO): New macros.
78220         (__getcwd): Define with prototype, not K&R form.
78221         Use heuristics to allocate default buffer on stack if possible.
78222         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
78223         behavior, and to avoid the PATH_MAX limit when computing
78224         ../../../../...
78225         Use MATCHING_INO to compare inode number to file.
78226         Check for arithmetic overflow in size calculations.
78227         Fix bug in reallocation of dot array that caused getcwd to fail
78228         on directories nested deeper than 75.
78229         Be more careful about saving errno on error.
78230         Do not use realloc; use only free+malloc, as this is a bit
78231         more flexible and avoids a needless copy operation.
78232         Do not inspect st_dev and st_ino for symbolic links; POSIX
78233         doesn't specify the latter.
78234         Check for closedir errors.
78235         Avoid needless casts.
78236         Use "#ifdef weak_alias" around weak_alias, to be like other
78237         glibc code.
78238         The following changes to getcwd.c have effect only when used in
78239         gnulib; they have no effect inside glibc proper.
78240         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
78241         as alloca isn't used.
78242         (alloca, __alloca): Likewise.
78243         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
78244         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78245         unconditionally, as gnulib assumes C89 or better.
78246         Do not include <sys/param.h>.
78247         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
78248         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
78249         better.
78250         (NULL) [!defined NULL]: Remove; we assume C89 or better.
78251         Include <dirent.h> in a way that is compatible with modern Autoconf.
78252         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
78253         New macros, if not already defined.
78254         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
78255         Use "_LIBC", not "defined _LIBC", for consistency.
78256         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
78257         a mempcpy module.
78258         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
78259         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
78260         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
78261         credit only to Jim Meyering and adjust the copyright dates.
78262         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
78263         <stdlib.h>, <unistd.h>, "pathmax.h".
78264         Instead, include "xgetcwd.h" (first) and "getcwd.h".
78265         (INITIAL_BUFFER_SIZE): Remove.
78266         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
78267
78268 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78269
78270         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
78271         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
78272         Use the _ONCE methods, for efficiency.
78273         Check for fcntl.h.  In test program, include <errno.h>
78274         and <fcntl.h> if available.  Remove old K&R cruft from
78275         test program.  Check for common errors in GNU/Linux,
78276         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
78277         don't do AC_LIBOBJ, as that's getcwd.m4's job.
78278         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
78279         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
78280         name accordingly.
78281         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
78282         accommodate new getcwd.c.
78283         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
78284         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
78285         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
78286         that's all we need now.
78287
78288 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78289
78290         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
78291         argp-parse.c depends on getopt internals, that means we should
78292         always use our getopt, to be on the safe side.
78293         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
78294         order not to spoil the result of an eventual previous invocation
78295         of gl_GETOPT_SUBSTITUTE.
78296
78297 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78298
78299         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
78300         redefinition warnings. To avoid them, include the defines
78301         in `#if !defined __need_getopt ... #endif'. The only place
78302         where __getopt_argv_const is used is in definitions
78303         of getopt_long and getopt_long_only below, which are as well
78304         protected by `#ifndef __need_getopt'.
78305         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
78306         __need_getopt after including <stdio.h> and <unistd.h> These
78307         headers might have defined it.
78308
78309 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78310
78311         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
78312
78313 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78314
78315         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
78316         (futimens): New function, which uses futimes if available.
78317         (futimens, utimens): Support timespec==NULL, with same semantics
78318         as utime and utimens.
78319         * lib/utimens.h (futimens): New decl.
78320
78321 2004-11-23  Jim Meyering  <jim@meyering.net>
78322
78323         * lib/getopt_.h: Remove trailing blanks.
78324
78325 2004-11-23  Jim Meyering  <jim@meyering.net>
78326
78327         * lib/__fpending.c: Add comment.
78328
78329 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
78330
78331         * modules/canonicalize (Depends-on): Add xreadlink.
78332         Problem reported by James Youngman.
78333
78334 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
78335
78336         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
78337         New macros.
78338         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
78339         optopt): Use them instead of invoking ## directly; otherwise, the
78340         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
78341
78342 2004-11-19  Bruno Haible  <bruno@clisp.org>
78343
78344         * lib/strtok_r.c: Move comments from here...
78345         * lib/strtok_r.h: ... to here.
78346
78347 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78348
78349         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
78350         implementations that mishandle size_t overflow.
78351
78352 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78353
78354         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
78355         might fail.  Problem reported by Yoann Vandoorselaere.
78356         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
78357         implementations that mishandle size_t overflow.
78358
78359 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78360
78361         * modules/canon-host (Depends-on): Add strdup.
78362
78363 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78364
78365         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
78366
78367 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78368
78369         * lib/canon-host.c: Include "strdup.h".
78370         (canon_host): Use getaddrinfo if available, so that IPv6 works.
78371         Use strdup instead of malloc/strcpy to duplicate strings.
78372
78373         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
78374         (human_space_before_unit): New constant.
78375         * lib/human.c (human_readable): Support it.
78376
78377         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
78378         (xgetcwd): Set errno correctly when failing.
78379         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
78380         the failure is actually due to a PATH_MAX problem.
78381
78382         Further getopt changes to make it more likely that glibc will
78383         buy the changes back.
78384         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78385         (getopt): Use it, so to preserve glibc semantic
78386         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78387         when compiling for libc.
78388         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78389         (getopt_long, getopt_long_only): Use it.
78390
78391         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78392         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78393         (getopt): Argv is now char * const *, as per standard.
78394         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78395         not char *__getopt_argv_const *.
78396         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78397         _getopt_long_only_r): Likewise.
78398         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78399         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78400         _getopt_long_r, _getopt_long_only_r): Likewise.
78401         * lib/getopt_.h (__getopt_argv_const): Remove.
78402         (getopt): Argv is now char * const *, as per standard.
78403
78404         * lib/getdate.y (tORDINAL): New token.
78405         (day, relunit): Allow it for relative times.
78406         (relative_time_table): Use tORDINAL for ordinals.
78407
78408 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78409
78410         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78411         Document that "second" isn't allowed as an ordinal number.
78412
78413 2004-11-16  Jim Meyering  <jim@meyering.net>
78414
78415         * modules/closeout (Depends-on): Add fpending.
78416
78417 2004-11-15  Jim Meyering  <jim@meyering.net>
78418
78419         * lib/closeout.c: Include "__fpending.h" once again.
78420         Include <stdbool.h>.
78421         (close_stdout): Don't fail just because stdout was closed initially,
78422         since some programs don't write to stdout in the normal course of
78423         operation (other than --version and --help), and we don't want this
78424         function to make e.g. `touch file >&-' fail.
78425         But do fail if it was closed and someone has tried to write to it.
78426         E.g., `printf foo >&-' must fail.
78427
78428 2004-11-13  Jim Meyering  <jim@meyering.net>
78429
78430         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78431
78432 2004-11-12  Simon Josefsson  <jas@extundo.com>
78433
78434         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78435         small doc fix is still pending.
78436
78437 2004-11-11  Simon Josefsson  <jas@extundo.com>
78438
78439         * modules/strtok_r: New file.
78440
78441         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78442         strtok_r.
78443
78444 2004-11-11  Simon Josefsson  <jas@extundo.com>
78445
78446         * m4/strtok_r.m4: New file.
78447
78448         * m4/getopt.m4: Replace opterr.
78449
78450 2004-11-11  Simon Josefsson  <jas@extundo.com>
78451
78452         * lib/strtok_r.h, strtok_r.c: New file.
78453
78454 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78455
78456         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78457         of replacing opterr, getopt, etc.  This should handle the
78458         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78459
78460 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78461
78462         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78463         we can stop lying to compilers about the constness of argv when we
78464         are compiled outside glibc.
78465         (getopt, getopt_long, getopt_long_only): Use it.
78466         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78467         _getopt_internal, getopt): Likewise.
78468         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78469         _getopt_long_only_r): Likewise.
78470         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78471         _getopt_long_r, _getopt_long_only_r): Likewise.
78472
78473         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78474         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78475         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78476         the other external symbols.
78477         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78478         declaration, since the above renaming now works around collisions.
78479
78480 2004-11-11  Jim Meyering  <jim@meyering.net>
78481
78482         * lib/linebreak.c: Remove trailing blanks.
78483         * lib/alloca_.h: Likewise.
78484         * lib/acosl.c: Likewise.
78485         * lib/euidaccess.c: Likewise.
78486         * lib/allocsa.h: Likewise.
78487
78488 2004-11-10  Simon Josefsson  <jas@extundo.com>
78489
78490         * m4/getaddrinfo.m4: New file.
78491
78492 2004-11-10  Simon Josefsson  <jas@extundo.com>
78493
78494         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78495
78496 2004-11-10  Simon Josefsson  <jas@extundo.com>
78497
78498         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78499         getaddrinfo.
78500
78501         * modules/getaddrinfo: New file.
78502
78503 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78504
78505         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78506
78507 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78508
78509         * lib/mktime.c (SHR): New macro, which is a portable
78510         substitute for >> that should work even on Crays.
78511         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78512         Problem reported by Mark D. Baushke in
78513         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78514         * lib/getdate.y (SHR): Likewise.
78515         (tm_diff): Use it.
78516         * lib/strftime.c (SHR): Likewise.
78517         (tm_diff): Use it.
78518         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78519         quote_these_too, so that right shifts are well defined.  All uses
78520         changed.
78521
78522 2004-11-10  Jim Meyering  <jim@meyering.net>
78523
78524         Ensure that no close failure goes unreported.
78525         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78526         return early when it seems there's nothing to flush.
78527         Don't include __fpending.h.
78528
78529 2004-11-10  Jim Meyering  <jim@meyering.net>
78530
78531         * modules/closeout (Depends-on): Remove fpending.
78532
78533 2004-11-10  Jim Meyering  <jim@meyering.net>
78534
78535         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78536
78537 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78538
78539         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78540         gl_FUNC_STRFTIME.
78541         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78542         and AC_REQUIRE when possible, to avoid duplicate checks.
78543         Check for <wchar.h>.
78544
78545 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78546
78547         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78548
78549 2004-11-09  Bruno Haible  <bruno@clisp.org>
78550
78551         * m4/sockpfaf.m4: New file.
78552
78553 2004-11-05  Bruno Haible  <bruno@clisp.org>
78554
78555         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78556         Reported by Mark D. Baushke <mdb@cvshome.org>.
78557
78558 2004-11-04  Bruno Haible  <bruno@clisp.org>
78559
78560         2004-09-11  Bruno Haible  <bruno@clisp.org>
78561                 * allocsa.valgrind: New file.
78562         2004-02-06  Bruno Haible  <bruno@clisp.org>
78563                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78564                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78565                 Reported by Christopher Seip <chris.seip@hp.com>.
78566
78567 2004-11-04  Bruno Haible  <bruno@clisp.org>
78568
78569         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78570         (Makefile.am): Distribute it.
78571
78572 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78573
78574         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78575         with errno == ERANGE if the buffer is too small.
78576         Problem reported by Mark D. Baushke.
78577
78578 2004-11-03  Albert Chin  <china@thewrittenword.com>
78579             Paul Eggert  <eggert@cs.ucla.edu>
78580
78581         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78582         equivalent, substitute $ac_type for equivalent type rather than
78583         blindly using uint32_t *always* which won't work if uint32_t is not
78584         available.  Define _UINT32_T to work around typedef of uint32_t if
78585         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78586         2.5.1.
78587
78588 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78589
78590         * m4/jm-macros.m4: Sync from coreutils.
78591         (gl_MACROS): Check for mbrlen, for pathchk.
78592         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78593
78594 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78595
78596         * lib/xreadlink.c (MAXSIZE): New macro.
78597         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78598         size does not exceed MAXSIZE.  Avoid cast.
78599         As suggested by Mark D. Baushke in
78600         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78601         if readlink fails with buffer size just under MAXSIZE, try again
78602         with MAXSIZE.
78603
78604 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78605
78606         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78607
78608 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78609         and  Paul Eggert  <eggert@cs.ucla.edu>
78610
78611         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78612         (get_date): Overparenthesize to avoid GCC warning.
78613
78614 2004-11-02  Bruno Haible  <bruno@clisp.org>
78615
78616         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78617         returns void.
78618
78619 2004-11-02  Bruno Haible  <bruno@clisp.org>
78620
78621         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78622         function returns void.
78623
78624 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78625
78626         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78627         fflush_unlocked, flockfile, funlockfile, funlockfile,
78628         fputs_unlocked, putc_unlocked.
78629
78630 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78631
78632         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78633         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78634         already declared.
78635
78636 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78637
78638         * modules/getdate (Files): Add doc/getdate.texi.
78639         (Depends-on): Add setenv, xalloc.
78640
78641 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78642
78643         * lib/getdate.y: Add support for TZ="foo" within a date string.
78644         Fix some bugs near time_t boundaries.  Reject dates with
78645         out-of-range components, e.g., "Sept 31".
78646         Include <stdlib.h>, "setenv.h", "xalloc.h".
78647         (ISDIGIT_LOCALE): Remove; unused.
78648         Note that the TZ and time functions used here are not reentrant.
78649         (mktime_ok, get_tz): New functions.
78650         (TZBUFSIZE): New constant.
78651         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78652         This requires that we sometimes generate our own TZ="XXX..." setting.
78653
78654 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78655
78656         * doc/getdate.texi: New file, from coreutils with modifications for
78657         the new TZ parsing.
78658
78659 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78660
78661         * lib/mktime.c (not_equal_tm): Remove redundant check.
78662
78663 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78664
78665         * modules/regex (lib_SOURCES): Add regex.c.
78666         Reported by James Youngman in
78667         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78668
78669 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78670
78671         * lib/getdate.y: Use Bison 1.875 features, and some minor
78672         code cleanups.  This change does not affect semantics.
78673         Don't include <stdlib.h>; no longer needed.
78674         Don't include unlocked-io.h; only the "#if TEST" code uses
78675         stdio, and performance isn't crucial there.
78676         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78677         Bison 1.875 features as described below.
78678         All uses of "PC." replaced by "pc->".
78679         (YYSTYPE): Add a forward declaration.
78680         (yylex, yyerror): Use full prototypes in forward decls.
78681         Use "%pure-parser" rather than obsolescent "%pure_parser".
78682         Use %parse-param and %lex-param instead of obsolescent
78683         YYPARSE_PARAM and YYLEX_PARAM.
78684         (meridian_table, month_and_day_table, time_units_table,
78685         relative_time_table, time_zone_table, military_table,
78686         lookup_zone, lookup_word, get_date):
78687         Use NULL instead of 0 where appropriate.
78688         (to_hour): Avoid abort (), to avoid a dependency on
78689         stdlib.h.
78690         (yyerror, yylex): Now accepts parser_control * arg.
78691         (main) [TEST]: Use '\0' rather than 0 for char.
78692
78693 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78694
78695         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78696
78697 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78698
78699         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78700         It's now the caller's responsibility to handle the case where
78701         !HAVE_GETPAGESIZE && !defined getpagesize.
78702
78703         * lib/mktime.c (leapyear): Arg is long int, not int.
78704
78705 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78706
78707         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78708
78709 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78710
78711         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78712         missing.  Problem reported by James Youngman.
78713
78714 2004-10-16  Simon Josefsson  <jas@extundo.com>
78715
78716         * gnulib-tool: Fix comments.  Fix parse problem.
78717         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78718
78719 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78720
78721         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78722         implementation of getopt_long.  Problem reported by Alexander Taler in:
78723         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78724
78725 2004-10-15  Bruno Haible  <bruno@clisp.org>
78726
78727         * gnulib-tool: Untabify. Initialize supplied_libname.
78728         (func_usage): More homogenous output.
78729         (func_modules_transitive_closure, func_modules_to_filelist,
78730         func_emit_lib_Makefile_am): New functions.
78731         (func_import): New function, extracted from big case statement. Use
78732         func_get_license, func_modules_transitive_closure,
78733         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78734         opt_lgpl. Don't use test -a, as it's not portable.
78735         (func_create_testdir): Use func_modules_transitive_closure,
78736         func_modules_to_filelist, func_emit_lib_Makefile_am.
78737
78738 2004-10-15  Bruno Haible  <bruno@clisp.org>
78739
78740         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78741
78742 2004-10-15  Bruno Haible  <bruno@clisp.org>
78743
78744         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78745         the portions belonging to each module.
78746         Suggested by Derek Robert Price <derek@ximbiot.com>.
78747
78748 2004-10-12  Simon Josefsson  <jas@extundo.com>
78749
78750         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78751         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78752         to real functions.
78753
78754 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78755
78756         * modules/vsnprintf: New file.
78757
78758 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78759
78760         * m4/vsnprintf.m4: New file.
78761
78762 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78763
78764         * lib/vsnprintf.h: New file.
78765         * lib/vsnprintf.c: New file.
78766
78767 2004-10-11  Bruno Haible  <bruno@clisp.org>
78768
78769         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78770         vsnprintf.
78771
78772 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78773
78774         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78775
78776 2004-10-07  Bruno Haible  <bruno@clisp.org>
78777
78778         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78779         fits into the provided buffer.
78780
78781 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78782
78783         * lib/diacrit.c, diacrit.h: Add GPL notice.
78784
78785         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78786         notice.
78787         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78788         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78789         This avoids a potential constant-folding bug.
78790
78791 2004-10-05  Bruno Haible  <bruno@clisp.org>
78792
78793         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
78794         for the declaration of strsep.
78795
78796 2004-10-05  Bruno Haible  <bruno@clisp.org>
78797
78798         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
78799
78800 2004-10-04  Simon Josefsson  <jas@extundo.com>
78801
78802         * modules/memmem: New file.
78803         * tests/test-memmem.c: New file.
78804         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
78805
78806 2004-10-04  Simon Josefsson  <jas@extundo.com>
78807
78808         * m4/memmem.m4: New file.
78809
78810 2004-10-04  Simon Josefsson  <jas@extundo.com>
78811
78812         * lib/memmem.h: New file.
78813         * lib/memmem.c: New file, taken from glibc.
78814
78815 2004-10-04  Simon Josefsson  <jas@extundo.com>
78816
78817         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
78818         '#ifdef USE_UNLOCKED_IO'.
78819
78820 2004-10-04  Simon Josefsson  <jas@extundo.com>
78821
78822         * config/srclist.txt: Add memmem from glibc.
78823
78824 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78825
78826         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
78827
78828         * modules/argmatch, modules/argp, modules/closeout, modules/error,
78829         modules/exclude, modules/getdate, modules/getline,
78830         modules/getndelim2, modules/getpass, modules/getpass-gnu,
78831         modules/getusershell, modules/linebuffer, modules/md5,
78832         modules/mountlist, modules/posixtm, modules/readtokens,
78833         modules/readutmp, modules/regex, modules/sha1,
78834         modules/version-etc, modules/yesno:
78835         Remove dependency on unlocked-io.
78836
78837 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78838
78839         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
78840
78841         * m4/unlocked-io.m4: Add copyright notice.
78842         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
78843
78844 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78845
78846         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
78847         * lib/xmalloc.c (xmemdup): Likewise.
78848         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
78849         XFREE): Remove these long-obsolescent macros.
78850         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
78851         * lib/xstrdup.c: Remove.
78852
78853         * lib/regex.c (re_comp): Cast gettext return value to char *,
78854         Problem reported by Martin Neitzel via Mark D. Baushke.
78855
78856 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78857
78858         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
78859         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
78860         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
78861         regex.c, sha1.c, version-etc.c, yesno.c:
78862         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
78863         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
78864         the includer's responsibility.
78865
78866         Sync from coreutils.
78867
78868         * lib/modechange.c (mode_compile): Don't decrement a pointer that
78869         points to the start of a string, as the C Standard says the
78870         resulting behavior is undefined.
78871
78872         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
78873         simple -> simple_backups, numbered_existing ->
78874         numbered_existing_backups, numbered -> numbered_backups
78875         to avoid shadowing problems.  All uses changed.
78876         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
78877         * lib/backupfile.c (check_extension, numbered_backup):
78878         Rename locals to avoid shadowing 'basename'.
78879         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
78880         once.
78881
78882         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
78883         * lib/.cvsignore: Add getopt.h.
78884
78885 2004-10-04  Bruno Haible  <bruno@clisp.org>
78886
78887         * modules/README: New file.
78888         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
78889         not a module.
78890
78891 2004-10-02  Jim Meyering  <jim@meyering.net>
78892
78893         * lib/dirfd.h, getpagesize.h: Add copyright notice.
78894
78895 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78896
78897         * modules/strsep: New file.
78898
78899 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78900
78901         * m4/strsep.m4: New file.
78902
78903 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78904
78905         * lib/strsep.h: New file.
78906         * lib/strsep.c: New file.
78907
78908 2004-10-01  Simon Josefsson  <jas@extundo.com>
78909
78910         * lib/snprintf.c (snprintf): Handle size==0.
78911
78912 2004-10-01  Simon Josefsson  <jas@extundo.com>
78913             Bruno Haible  <bruno@clisp.org>
78914
78915         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
78916         (snprintf): Declare 'args'.
78917
78918 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
78919
78920         * lib/snprintf.c: Remove comments as to why each header is needed.
78921
78922 2004-10-01  Bruno Haible  <bruno@clisp.org>
78923
78924         * MODULES.html.sh: Add strsep.
78925
78926 2004-09-30  Simon Josefsson  <jas@extundo.com>
78927
78928         * modules/snprintf: New file.
78929
78930 2004-09-30  Simon Josefsson  <jas@extundo.com>
78931
78932         * m4/snprintf.m4: New file.
78933
78934 2004-09-30  Simon Josefsson  <jas@extundo.com>
78935
78936         * lib/snprintf.h, lib/snprintf.c: New files.
78937
78938 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78939
78940         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
78941         (hol_entry_help): Never translate an empty string.
78942         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
78943         * lib/argp.h (OPTION_NO_TRANS): New option.
78944
78945 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78946
78947         * modules/argp (Maintainer): Replace Simon Josefsson
78948         by Sergey Poznyakoff.
78949
78950 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78951
78952         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
78953         changes merged back into glibc.
78954
78955 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78956
78957         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
78958
78959 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78960
78961         * lib/xvasprintf.c: Include xalloc.h.
78962         (xvasprintf): Use xalloc_die, not xmalloc_die.
78963
78964 2004-09-29  Bruno Haible  <bruno@clisp.org>
78965
78966         * modules/alloca-opt: New file, derived from modules/alloca.
78967         * modules/allocsa: Depend on alloca-opt instead of alloca.
78968         * modules/setenv: Likewise.
78969         * modules/vasnprintf: Likewise.
78970         * MODULES.html.sh: Add alloca-opt.
78971
78972 2004-09-28  Simon Josefsson  <jas@extundo.com>
78973
78974         * gnulib-tool: New parameter --lgpl, to asseert that modules are
78975         LGPL, and to replace license template from GPL to LGPL.
78976
78977 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78978
78979         * modules/dummy: Change license to LGPL.
78980
78981 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78982
78983         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
78984
78985 2004-09-24  Simon Josefsson  <jas@extundo.com>
78986
78987         * modules/minmax (License): Change from GPL to LGPL.
78988
78989 2004-09-23  Simon Josefsson  <jas@extundo.com>
78990
78991         * gnulib-tool (--import): Typo.
78992
78993 2004-09-23  Simon Josefsson  <jas@extundo.com>
78994
78995         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
78996
78997 2004-09-22  Bruno Haible  <bruno@clisp.org>
78998
78999         * modules/*: Add 'License' field.
79000         * gnulib-tool: Accept --extract-license option.
79001         (func_get_license): New function.
79002
79003 2004-09-21  Bruno Haible  <bruno@clisp.org>
79004
79005         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
79006         Reported by Simon Josefsson.
79007
79008 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79009
79010         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
79011         gl_AC_TYPE_LONG_LONG.
79012
79013 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79014
79015         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
79016
79017 2004-09-18  Simon Josefsson  <jas@extundo.com>
79018         and  Paul Eggert  <eggert@cs.ucla.edu>
79019
79020         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
79021         calls with autoreconf.  Define GL_LIB.
79022
79023 2004-09-14  Karl Berry  <karl@gnu.org>
79024
79025         * config/srclist.txt: unsync setenv.c, sigh.
79026
79027 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79028
79029         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
79030         Problem reported by Bruno Haible in:
79031         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
79032
79033 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79034
79035         * config/srclist.txt: Comment out argp-pvh.c.
79036
79037 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
79038
79039         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
79040         in case some system header has #define'd it.  Problem reported by
79041         Soeren D. Schulze in
79042         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
79043
79044 2004-09-09  Karl Berry  <karl@gnu.org>
79045
79046         * regex.[ch]: delete from the root.  These were supposed to be
79047                 synced with emacs cvs, but this has not happened for about
79048                 a year, and anyway nothing else uses emacs regex.[ch].
79049                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
79050                 lib/regex[.ch] is untouched.
79051
79052 2004-09-09  Bruno Haible  <bruno@clisp.org>
79053
79054         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
79055
79056 2004-09-09  Bruno Haible  <bruno@clisp.org>
79057
79058         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
79059         modifications.
79060         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
79061
79062 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79063
79064         * modules/xvasprintf: New file.
79065         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
79066
79067 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79068
79069         * lib/xvasprintf.h: New file.
79070         * lib/xvasprintf.c: New file.
79071         * lib/xasprintf.c: New file.
79072
79073 2004-09-08  Bruno Haible  <bruno@clisp.org>
79074
79075         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
79076
79077 2004-09-08  Bruno Haible  <bruno@clisp.org>
79078
79079         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
79080         length is > INT_MAX.
79081         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
79082         more.
79083
79084 2004-09-08  Bruno Haible  <bruno@clisp.org>
79085
79086         * lib/stdint_.h: New file, taken from GNU clisp.
79087
79088 2004-09-08  Bruno Haible  <bruno@clisp.org>
79089             Oskar Liljeblad  <oskar@osk.mine.nu>
79090
79091         * modules/stdint: New file.
79092         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
79093
79094 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79095
79096         Import from coreutils.
79097         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
79098         strings on unbounded length.  alloca's performance benefits aren't
79099         that important here.
79100         (V_STRDUP): Remove.
79101         (parse_with_separator): New function, with most of the internals
79102         of the old parse_user_spec.  Allow user to omit both user and group,
79103         for compatibility with FreeBSD.
79104         Clone only the user name, not the entire spec.
79105         Do not set *uid, *gid unless entirely successful.
79106         Avoid memory leak in some failing cases.
79107         Fix regression for USER.GROUP reported by Dmitry V. Levin in
79108         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
79109         (parse_user_spec): Rewrite to use parse_with_separator.
79110
79111 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79112
79113         * modules/userspec: Don't depend on alloca.
79114
79115 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79116
79117         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
79118
79119 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79120
79121         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
79122         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
79123         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
79124
79125 2004-08-16  Simon Josefsson  <jas@extundo.com>
79126
79127         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
79128         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
79129         Add --dry-run for --import.
79130         Let user provided command line parameters override configure.ac
79131         settings.
79132
79133 2004-08-12  Simon Josefsson  <jas@extundo.com>
79134
79135         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
79136         as discussed with Paul Eggert in threads rooted at
79137         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
79138         and
79139         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
79140         Before, the test was empty, and relied on ELIDE_CODE in source
79141         code.)
79142         (gl_PREREQ_GETOPT): New macro.
79143         (gl_GETOPT): Use them.
79144
79145 2004-08-12  Simon Josefsson  <jas@extundo.com>
79146
79147         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
79148         * lib/getopt_.h: Renamed from getopt.h.
79149
79150 2004-08-12  Simon Josefsson  <jas@extundo.com>
79151
79152         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
79153         Change default library name from libfoo to libgnu.
79154         Now, if you have a configure.ac that says:
79155                 gl_SOURCE_BASE(gl)
79156                 gl_M4_BASE(gl/m4)
79157                 gl_MODULES(error getopt etcetera)
79158                 gl_INIT
79159         you can import all you need by running:
79160                 ../gnulib/gnulib-tool --import
79161
79162         * modules/getopt (Files): Rename getopt.h to getopt_.h.
79163         (Makefile.am): Rewrite, use logic from argz.
79164         (Include): Use <getopt.h> instead of "getopt.h".
79165
79166 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79167
79168         * modules/argp (Files): Add m4/unlocked-io.m4.
79169         (Depends-on): Add extensions.
79170
79171 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79172
79173         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
79174         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
79175         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
79176         Check for program_invocation_name, program_invocation_short_name,
79177         flockfile, funlockfile, features.h, _getopt_long_only_r.
79178
79179 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79180
79181         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
79182         its complicated substitute.
79183         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
79184         and program_invocation_name.
79185         (__argp_basename) [!_LIBC]: Remove; the only use was
79186         replaced by its body.
79187         (__argp_short_program_name): Change condition from
79188         !defined __argp_short_program_name to
79189         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
79190         to match argp-namefrob.h.
79191         (__argp_failure): Don't assume strerror_r returns char *.
79192         * lib/argp-parse.c (N_): Define unconditionally.
79193         (argp_default_options): Fill out initializers with 0 to avoid
79194         gcc warnings.
79195
79196 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79197
79198         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
79199         getopt1.c.
79200
79201 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79202
79203         Merge from coreutils.
79204
79205         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
79206
79207         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
79208         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
79209
79210 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79211
79212         Merge from coreutils.
79213
79214         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
79215         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
79216         for Reliant Unix 5.43.
79217
79218         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
79219         (union fooround): Use uintmax_t, not long int.
79220         The rest is a merge from libc:
79221         [defined _LIBC]: Include <shlib-compat.h>.
79222         (_obstack) [defined _LIBC]: Remove after 2.3.4.
79223
79224         * lib/settime.c (settime): Recode to avoid warning with
79225         Sun Forte C 6U2.
79226
79227         * lib/strverscmp.c: Convert to UTF-8.
79228
79229 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79230
79231         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79232         m4/uintmax_t.m4.
79233
79234 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79235
79236         * modules/xalloc-die: New file.
79237         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
79238
79239         * modules/md5 (Files): Add m4/uint32_t.m4.
79240         * modules/sha1: Renamed from modules/sha.
79241         (Files):
79242         Rename lib/sha.h to lib/sha1.h.
79243         Rename lib/sha.c to lib/sha1.c.
79244         Rename m4/sha.m4 to m4/sha1.m4.
79245         (lib_SOURCES): Likewise.
79246         (configure.ac): Rename gl_SHA to gl_SHA1.
79247         (Include): sha.h -> sha1.h.
79248
79249 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79250
79251         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
79252         * m4/sha1.m4: Renamed from sha.m4.
79253         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
79254
79255 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79256
79257         * lib/obstack.h (obstack_empty_p):
79258         Don't assume that chunk->contents is suitably aligned.
79259         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
79260         Likewise. Problem reported by Benno in
79261         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
79262
79263         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
79264         readable.  This could be improved further but it'd take some work.
79265
79266 2004-08-08  Simon Josefsson  <jas@extundo.com>
79267
79268         * modules/xgethostname (Depends-on): Remove exit and error (not
79269         used).
79270
79271         * modules/getpass-gnu: Add getpass.h.
79272         (Depends-on): Add stdbool.
79273         * modules/getpass: Add getpass.h.
79274
79275 2004-08-08  Simon Josefsson  <jas@extundo.com>
79276
79277         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
79278         Check getpass declaration.
79279
79280 2004-08-08  Simon Josefsson  <jas@extundo.com>
79281
79282         * lib/xgethostname.c: Don't include error.h (not used).
79283
79284         * lib/getpass.h: Add.
79285         * lib/getpass.c: Include getpass.h first.
79286
79287 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
79288
79289         * lib/xalloc-die.c: New file.
79290         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
79291         All uses removed.
79292         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
79293         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
79294         xalloc-die.c.
79295         (_, N_, xalloc_die): Move to xalloc-die.c.
79296         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
79297         so that we needn't mess with xalloc_msg_memory_exhausted.
79298
79299         * lib/sha1.h: Renamed from sha.h.
79300         (SHA1_H): Renamed from _SHA_H.
79301         (sha1_ctx): Renamed from sha_ctx.
79302         (sha1_init_ctx): Renamed from sha_init_ctx.
79303         (sha1_process_block): Renamed from sha_process_block.
79304         (sha1_process_bytes): Renamed from sha_process_bytes.
79305         (sha1_finish_ctx): Renamed from sha_finish_ctx.
79306         (sha1_read_ctx): Renamed from sha_read_ctx.
79307         (sha1_stream): Renamed from sha_stream.
79308         (sha1_buffer): Renamed from sha_buffer.
79309         * lib/sha1.c: Likewise; renamed from sha.c.
79310         Do not include <sys/types.h>.
79311         Include <stddef.h> rather than <stdlib.h>.
79312
79313 2004-08-08  Bruno Haible  <bruno@clisp.org>
79314
79315         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
79316         FILESYSTEM_PREFIX_LEN.
79317         * lib/progreloc.c: Likewise.
79318         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
79319
79320 2004-08-06  Simon Josefsson  <jas@extundo.com>
79321
79322         * modules/progname (Depends-on): Don't depend on stdbool.
79323
79324 2004-08-06  Simon Josefsson  <jas@extundo.com>
79325
79326         * modules/getsubopt: New file.
79327         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79328         getsubopt.
79329
79330 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79331
79332         More merge from coreutils.
79333
79334         * m4/utimens.m4, m4/utimecmp.m4: New files.
79335         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
79336         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
79337         prereq.m4, sha.m4: Import changes from coreutils.
79338
79339 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79340
79341         More merge from coreutils.
79342         * modules/raise, modules/readtokens0, modules/utimens:
79343         * modules/utimecmp, module/xnanosleep: New files.
79344         * modules/strftime: Add lib/strftime.h.
79345         Change include from <time.h> to "strftime.h".
79346         * modules/yesno: Add lib/yesno.h.
79347         * modules/backupfile: Remove lib/addext.c.
79348         * modules/euidaccess: Add stat-macros.h.
79349         * modules/canonicalize, modules/euidaccess,
79350         modules/filemode, modules/lchown, modules/makepath,
79351         modules/rmdir, modules/stat: Likewise.
79352
79353 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79354
79355         Merge from tar.
79356         * lib/argp-help.c (make_hol, hol_append): Don't assume that
79357         SIZE_MAX is a valid preprocessor constant.
79358         (__argp_basename): Change from "#ifndef _LIBC"
79359         to "#ifndef __argp_short_program_name", so that
79360         we don't compile these functions for tar.
79361
79362         More merges from coreutils.
79363         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
79364         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
79365         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
79366         * lib/addext.c: Remove; no longer needed.
79367         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
79368         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
79369         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
79370         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
79371         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
79372         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
79373         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
79374         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
79375         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
79376         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79377         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
79378         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
79379         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
79380         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79381         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79382         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79383         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79384         Import changes from coreutils.
79385
79386 2004-08-05  Simon Josefsson  <jas@extundo.com>
79387
79388         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79389
79390 2004-08-05  Simon Josefsson  <jas@extundo.com>
79391
79392         * m4/getsubopt.m4: New file.
79393
79394 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79395
79396         Merge from coreutils.
79397
79398         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79399         * m4/getcwd-path-max.m4: New files.
79400
79401         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79402         FILESYSTEM_PREFIX_LEN ->
79403         FILE_SYSTEM_PREFIX_LEN.
79404         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79405         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79406         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79407         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79408
79409         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79410         prerequisite modules now handle the DOS stuff.
79411         Don't check for unistd.h.
79412
79413 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79414
79415         Merge from coreutils.
79416
79417         * lib/.gdb-history: Remove; this doesn't belong here.
79418
79419         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79420         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79421         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79422         * lib/getcwd.c: New files.
79423
79424         * lib/dirname.h: Include <stdbool.h>.
79425         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79426         for consistency with POSIX terminology.  All uses changed.
79427         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79428         (strip_trailing_slashes): Use bool for booleans.
79429         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79430
79431         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79432         sometimes returns a positive errno value even when it succeeds.
79433         (print_errno_message) [!LIBC]: Fall back on strerror if
79434         __strerror_r fails.
79435
79436         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79437         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79438         (longest_relative_suffix): New function.
79439         (path_concat): Use it.  Assume first argument is not NULL.
79440         Port to DOS.  Omit redundant separators.
79441         Report an error instead of returning NULL.
79442         Use mempcpy instead of memcpy.
79443         (xpath_concat): Remove: not declared or used.
79444
79445         * lib/same.h: Include <stdbool.h>
79446         (same_name): Return bool, not int.
79447         * lib/same.c (same_name): Likewise.
79448         (errno): Don't declare; we assume C89 or better now.
79449
79450         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79451         if not already defined.
79452
79453         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79454         * lib/dup-safer.c (errno): Likewise.
79455
79456 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79457
79458         Merge from coreutils.
79459         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79460         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79461         * modules/path-concat: Don't depend on strdup.
79462
79463 2004-08-03  Simon Josefsson  <jas@extundo.com>
79464
79465         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79466         * lib/progname.h: Don't include stdbool.h.
79467
79468 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79469
79470         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79471         * MODULES.html.sh (func_all_modules): Remove fatal.
79472
79473 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79474
79475         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79476
79477 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79478
79479         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79480         working.
79481
79482 2004-08-02  Simon Josefsson  <jas@extundo.com>
79483
79484         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79485         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79486         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79487
79488 2004-08-01  Simon Josefsson  <jas@extundo.com>
79489
79490         * lib/xgetdomainname.c: Include stdlib.h, for free().
79491
79492 2004-07-19  Bruno Haible  <bruno@clisp.org>
79493
79494         * MODULES.html.sh (func_all_modules): Add dummy.
79495
79496 2004-07-16  Simon Josefsson  <jas@extundo.com>
79497
79498         * modules/dummy: New file.
79499
79500 2004-07-16  Simon Josefsson  <jas@extundo.com>
79501
79502         * lib/dummy.c: New file.
79503
79504 2004-07-16  Bruno Haible  <bruno@clisp.org>
79505
79506         * lib/backupfile.h: Add extern "C" for C++.
79507         * lib/closeout.h: Likewise.
79508         * lib/copy-file.h: Likewise.
79509         * lib/findprog.h: Likewise.
79510         * lib/full-write.h: Likewise.
79511         * lib/pathname.h: Likewise.
79512         * lib/progname.h: Likewise.
79513         * lib/stpcpy.h: Likewise.
79514         * lib/stpncpy.h: Likewise.
79515         * lib/strcase.h: Likewise.
79516         * lib/strstr.h: Likewise.
79517         * lib/xalloc.h: Likewise.
79518
79519         * lib/mbswidth.h: Add extern "C" for C++.
79520         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79521
79522 2004-07-13  Robert Millan  <robertmh@gnu.org>
79523
79524         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79525
79526 2004-07-09  Simon Josefsson  <jas@extundo.com>
79527
79528         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79529         failed without this.)
79530
79531 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79532
79533         * modules/chown (Files): Add lib/fchown-stub.c, since
79534         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79535
79536 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79537
79538         * lib/fchown-stub.c: New file.
79539
79540 2004-06-24  Jim Meyering  <jim@meyering.net>
79541
79542         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79543
79544 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79545
79546         * modules/argz: Omit "#include".
79547
79548         * MODULES.html.sh (func_all_modules): Add calloc, to match
79549         2004-06-01 addition of calloc module.
79550
79551 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79552
79553         * m4/argz.m4: New file, which is autoupdated from libtool.
79554
79555 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79556
79557         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79558         libtool.
79559
79560 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79561
79562         * config/srclist-update: Don't insist on "USA." before the
79563         close-comment, as libtool omits the period and puts the */ on a
79564         separate line.
79565         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79566         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79567
79568 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79569
79570         * modules/argz: New file.
79571         * MODULES.html.sh (func_all_modules): Add argz.
79572
79573 2004-06-12  Jim Meyering  <jim@meyering.net>
79574         and  Paul Eggert  <eggert@cs.ucla.edu>
79575
79576         * modules/hash (Files): Add lib/xalloc.h.
79577         * modules/pipe (Depends-on): Add wait-process.
79578         * modules/stat (Depends-on): Add xalloc.
79579         * modules/userspec (Files): Add lib/userspec.h.
79580         * modules/xstrto
79581
79582         Upgrade from gettext-0.13.
79583         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79584         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79585         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79586
79587 2004-06-10  Jim Meyering  <jim@meyering.net>
79588
79589         * lib/calloc.c: New file.
79590
79591 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79592
79593         * lib/getdate.y (yylex): Allow space between sign and number.
79594         Problem reported by Dan Jacobson.
79595
79596 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79597
79598         Merge from coreutils CVS.
79599
79600         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79601         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79602         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79603         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79604         xstrtol.m4: Fix copyright date and/or serial number.
79605
79606         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79607         See if we need an fchown replacement.
79608         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79609         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79610         and use the replacement function if we detect either defect.
79611
79612         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79613         gl_UTIMECMP.
79614
79615 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79616         and  Jim Meyering  <jim@meyering.net>
79617
79618         Merge from coreutils CVS.
79619
79620         * lib/stat-macros.h: New file, with contents from file-type.h
79621         and coreutils' system.h.
79622         * lib/file-type.c: Include "stat-macros.h".
79623         * lib/file-type.h (file_type): Move all macro definitions to new file,
79624         stat-macros.h.
79625
79626         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79627         Wrap old code with this conditional.
79628         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79629         function that does not dereference symlinks.
79630         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79631
79632         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79633         dependency problems.
79634         (xreadlink): Accept new arg SIZE, for efficiency.
79635         All decls and uses changed.
79636         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79637
79638         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79639         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79640
79641         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79642         sysexits.h.
79643
79644 2004-06-01  Jim Meyering  <jim@meyering.net>
79645
79646         * m4/calloc.m4: New file.
79647
79648 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79649
79650         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79651         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79652         Also, fix a typo in a diagnostic.
79653
79654 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79655
79656         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79657         or AC_FUNC_REALLOC.
79658
79659 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79660
79661         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79662         macros to be defined.
79663         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79664         the allocator returns NULL because the requested size is zero.
79665
79666 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79667
79668         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79669         var.  Add comment explaining why libc still defines it.  This
79670         merges the following patch from glibc:
79671         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79672
79673 2004-05-20  Andreas Schwab  <schwab@suse.de>
79674
79675         * m4/free.m4: Replace free if it not known to work, not the other
79676         way round.
79677
79678 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79679
79680         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79681         present in glibc since revision 1.1 of this file.
79682         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79683         obstack_alignment_mask, obstack_alloc, obstack_base,
79684         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79685         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79686         obstack_grow0, obstack_init, obstack_int_grow,
79687         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79688         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79689         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79690         nonexistent functions.
79691
79692 2004-05-18  Karl Berry  <karl@gnu.org>
79693
79694         * config/srclist.txt: break link for vasnprintf.c.
79695
79696 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79697
79698         Port obstack to the AS/400, where pointers are 16 bytes wide and
79699         you cannot cast an integer to a valid pointer.  This patch is
79700         currently waiting to be integrated into glibc; see
79701         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79702
79703         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79704         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79705         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79706         (struct obstack): temp member is now a union of a pointer and
79707         an integer, instead of an integer.  All integer uses changed.
79708         This does not affect the physical layout of struct obstack,
79709         except on hosts (like the AS/400) where the size or alignment of
79710         void * is greater than that of ptrdiff_t.
79711         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79712         __STDC__)]: Store temporary in pointer member of union, not
79713         integer member.
79714         * lib/obstack.c: Include <stddef.h>, for offsetof.
79715         (struct fooalign): Remove; it doesn't need a name.
79716         (union fooround): Change double to long double, and add void *.
79717         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79718         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79719         not a macro.  Hence the values are always int; so remove all
79720         casts-to-int in uses.
79721
79722 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79723
79724         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79725         we can get this patch merged into glibc.
79726
79727 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79728             Paul Eggert  <eggert@cs.ucla.edu>
79729
79730         * m4/argp: Depend on alloca.
79731
79732 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79733             Paul Eggert  <eggert@cs.ucla.edu>
79734
79735         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79736         freecoding.
79737
79738 2004-05-17  Bruno Haible  <bruno@clisp.org>
79739
79740         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79741         precision that consists of a '.' followed by an empty digit string.
79742         Patch by Tor Lillqvist <tml@iki.fi>.
79743
79744 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79745
79746         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79747         for backward compatibility with older code.  We need our own
79748         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79749         it under some other name, and our alloca.h will define it.
79750
79751 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79752             Derek Price  <derek@ximbiot.com>
79753
79754         * lib/alloca.c: Include <alloca.h>, to get our interface.
79755         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79756         include <alloca.h> first.  Use C89 prototype for alloca; this
79757         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79758         Use #elif for simplicity, since we can assume C89 now.
79759         Don't try to source the system alloca.h since it will not be found
79760         and to prevent recursively including its replacement.
79761         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79762         * lib/regex.c: Likewise.
79763
79764 2004-05-16  Derek Price  <derek@ximbiot.com>
79765             Paul Eggert  <eggert@cs.ucla.edu>
79766
79767         getline cleanup.  This changes the getndelim2 API: both order of
79768         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79769         no delimiter).
79770
79771         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79772         interface does that.
79773         (getline): Always use getdelim, so that we don't have two
79774         copies of this code.
79775         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79776         if available.
79777         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79778         (GETNDELIM2_MAXIMUM): New macro.
79779         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79780         instead of the old practice of delim2==0.  All callers changed.
79781         Return -1 on overflow, instead of returning junk.
79782         Do not set *linesize unless allocation succeeds.
79783         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79784         that we include sys/types.h.
79785         * lib/getnline.h: Likewise.
79786         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79787         (getndelim2): Reorder arguments.
79788         * lib/getnline.c (getnline, getndelim):
79789         Don't discard the NMAX argument.
79790         (getnline): Invoke getndelim, to avoid code duplication.
79791         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79792         of (size_t) -1 by callers of the getnline family.
79793
79794 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79795
79796         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
79797         Check for gettimeofday.
79798         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
79799         Check for settimeofday, stime.
79800
79801 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79802
79803         * lib/nanosleep.c (suspended): Change its type from int to
79804         sig_atomic_t volatile.
79805         (first_call): Make it private to rpl_nanosleep, and have it
79806         be zero initially as that's a bit faster.
79807         (my_usleep): Round up fractional times instead of truncating them,
79808         as this is the usual meaning for 'sleep'.
79809
79810         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
79811         doesn't work.
79812         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
79813         (ENOSYS): Define if not defined.
79814         (settime): Fall back on stime if it exists and settimeofday fails.
79815         But don't bother with fallbacks if a method fails with errno == EPERM.
79816
79817 2004-05-11  Jim Meyering  <jim@meyering.net>
79818
79819         Prior to this change, the save_cwd caller required read access to the
79820         current directory on most systems (ones with the fchdir function).
79821
79822         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
79823         fails, try write-only, and finally, resort to using xgetcwd.
79824
79825 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79826
79827         * lib/obstack.c, obstack.h: Import changes from libc.
79828
79829 2004-04-28  Bruno Haible  <bruno@clisp.org>
79830
79831         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
79832         also implicitly appends .exe to executables.
79833         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
79834         accepts Windows pathnames.
79835         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79836         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79837         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79838         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79839         Reported by Derek Robert Price <derek@ximbiot.com>.
79840
79841 2004-04-21  Karl Berry  <karl@gnu.org>
79842
79843         * config/srclist.txt (localcharset.c): break sync.
79844
79845 2004-04-20  Paul Eggert  <eggert@twinsun.com>
79846
79847         * m4/host-os.m4: Add a copyright notice.
79848
79849 2004-04-20  Jim Meyering  <jim@meyering.net>
79850
79851         Change UTILS_ to gl_ in AC_DEFINE'd names.
79852         Change utils_- and jm_-prefixed variables, too.
79853         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
79854         UTILS_FUNC_MKDIR_TRAILING_SLASH.
79855         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
79856
79857         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
79858         Don't emit trailing blanks.
79859         Also rename jm_-prefixed variables to have gl_ prefix.
79860
79861         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
79862         Also rename jm_-prefixed variables to have gl_ prefix.
79863
79864         * m4/jm-macros.m4: Reflect the renamings.
79865         * m4/prereq.m4: Likewise.
79866
79867 2004-04-20  Jim Meyering  <jim@meyering.net>
79868
79869         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
79870         memory.
79871
79872 2004-04-20  Jim Meyering  <jim@meyering.net>
79873             Bruno Haible  <bruno@clisp.org>
79874
79875         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
79876         memory when realloc fails.
79877
79878 2004-04-19  Jim Meyering  <jim@meyering.net>
79879
79880         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
79881         now that readutmp.c may call `free (0)'.
79882
79883 2004-04-19  Bruno Haible  <bruno@clisp.org>
79884
79885         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
79886         * m4/inttypes_h.m4: Likewise.
79887         * m4/stdint_h.m4: Likewise.
79888         * m4/intmax_t.m4: Likewise.
79889         * m4/uintmax_t.m4: Likewise.
79890
79891 2004-04-18  Jim Meyering  <jim@meyering.net>
79892
79893         * m4/prereq.m4: Don't forbid jm_ prefix.
79894
79895         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
79896         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
79897         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
79898         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
79899         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
79900         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
79901         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
79902         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
79903         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
79904         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
79905         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
79906         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
79907         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
79908         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
79909         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
79910         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
79911         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
79912         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
79913         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
79914
79915 2004-04-18  Jim Meyering  <jim@meyering.net>
79916
79917         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
79918         failure, don't leak memory and do call END_UTMP_ENT.
79919
79920 2004-04-16  Jim Meyering  <jim@meyering.net>
79921
79922         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
79923         coreutils' stat program.
79924         (gl_PREREQ): Don't require jm_PREREQ_STAT.
79925
79926 2004-04-11  Paul Eggert  <eggert@twinsun.com>
79927
79928         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
79929         C89.
79930         (CHAR_BIT): Remove, since we assume C89.
79931         Include <stdint.h> if available, as per current Autoconf CVS advice.
79932
79933 2004-03-31  Jim Meyering  <jim@meyering.net>
79934
79935         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
79936         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
79937         * m4/xalloc.m4: Likewise.
79938
79939 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79940
79941         Merge from coreutils.
79942
79943         * m4/inttostr.m4: New file.
79944         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
79945         Require AM_STDBOOL_H and gl_TIMESPEC instead.
79946         Require gl_CLOCK_TIME.
79947         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
79948
79949 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79950
79951         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
79952         not bool, to be more consistent with Unix conventions.
79953         Suggested by Bruno Haible.
79954
79955         Merge from coreutils.
79956
79957         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
79958         * lib/umaxtostr.c: New files.
79959
79960         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
79961         the usual <time.h> dance.
79962         (get_date): Change signature to support fractional time stamps.
79963         All callers changed.
79964         * lib/getdate.y: Include "getdate.h" first, as we can now
79965         assume C89 and don't need to worry about 'const'.
79966         Similarly, include "unlocked-io.h" near start, not in middle.
79967         Include <limits.h>.
79968         (textint.value): Use long int rather than int.
79969         (textint.digits): Use size_t rather than int.
79970         (BILLION, LOG10_BILLION): New constants.
79971         (parser_control): New member rel_ns.  Members day_ordinal,
79972         time_zone, month, day, hour, minutes, rel_year, rel_month,
79973         rel_day, rel_hour, rel_minutes, rel_seconds
79974         are now long int, not int.  Member seconds is now struct timespec,
79975         not int.  New member timespec_seen.  Members dates_seen, days_seen,
79976         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
79977         not int.
79978         (%union.intval): Now long int, not int.
79979         New member timespec.
79980         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
79981         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
79982         (spec): Now is a timespec or an item list.
79983         (timespec, items): New nonterminals.
79984         (time, rel, relunit, number, get_date):
79985         Add support for fractional seconds.
79986         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
79987         (gmtime, localtime, mktime): Remove decls; not needed with C89.
79988         (to_hour): First arg is now long int, not int.
79989         (to_year): Returns long int, not int.
79990         Don't treat year -70 like 70.
79991         (tm_diff): Returns long int, not int.
79992         (lookup_word): Use bool instead of int when appropriate.
79993         (yylex): Use size_t for count, not int.
79994         Detect overflow when parsing large integer constants.
79995         Add support for fractions.
79996         (get_date): Make pointers 'const' if possible.
79997         Use more-portable code to detect integer overflow.
79998         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
79999         Don't use ctime; it's not reliable if the year has >4 digits.
80000
80001         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
80002         This is for compatibility with BSD.
80003
80004         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
80005         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
80006         From coreutils' system.h.
80007
80008         * lib/userspec.c: Don't include "posixver.h".
80009         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
80010         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
80011         compatible extension.  Simplify code by removing a boolean int
80012         that was always nonzero if a string was nonnull.
80013
80014 2004-03-30  Jim Meyering  <jim@meyering.net>
80015
80016         Merge from coreutils.
80017
80018         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
80019         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
80020         on some systems one must include <grp.h> before it.
80021         Reported by Christian Krackowizer.
80022
80023 2004-03-30  Jim Meyering  <jim@meyering.net>
80024
80025         Merge from coreutils.
80026
80027         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
80028
80029         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
80030         an empty input stream.
80031
80032         * lib/readtokens.c: Include <stdbool.h>.
80033         (readtoken): Use `size_t' rather than int/long.
80034         All callers adjusted.
80035         Use `bool' rather than `int' where appropriate.
80036         Use memset rather than an explicit loop.
80037         Use x2nrealloc rather than xrealloc.
80038         Allow the use of `\0' as a delimiter.
80039         (readtokens): Likewise.
80040         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
80041
80042 2004-03-30  Jim Meyering  <jim@meyering.net>
80043
80044         * m4/realloc.m4: Remove file, since now it does no more than
80045         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
80046         the `configure.ac' section of module/realloc.
80047         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
80048
80049 2004-03-30  Bruno Haible  <bruno@clisp.org>
80050
80051         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
80052         nonnull.
80053
80054 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80055
80056         Merge changes to getloadavg.c from coreutils and Emacs.
80057
80058         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
80059         Define to an expression, not to the empty string.
80060         Include cloexec.h and xalloc.h.
80061         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
80062         Use set_cloexec_flag rather than rolling our own.
80063         * lib/cloexec.c, lib/cloexec.h: New files.
80064
80065 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80066
80067         * m4/cloexec.m4: New file.
80068
80069 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80070
80071         * lib/getopt.h: Sync with libc CVS.
80072
80073 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80074             Bruno Haible  <bruno@clisp.org>
80075
80076         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
80077         mbswidth.
80078
80079 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80080             Bruno Haible  <bruno@clisp.org>
80081
80082         * lib/mbswidth.h: Include <wchar.h> only if
80083         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
80084         <wchar.h>.
80085         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
80086
80087 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80088
80089         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
80090         Sync with libc CVS.
80091         * lib/getopt_int.h: New file, also synced from libc.
80092
80093 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80094
80095         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
80096         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
80097         Bring back getopt.c, getopt.h, getopt1.c.
80098
80099 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80100
80101         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
80102         All uses changed.  Check for sa_sigaction member; this fixes
80103         a bug first reported by Jason Andrade in
80104         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80105
80106 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80107
80108         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
80109         '#if' expressions.  Unlike the code it replaces, it does not
80110         depend on (defined _SC_PAGESIZE).  However, it does depend on
80111         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
80112         first reported by Jason Andrade in
80113         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80114
80115 2004-02-25  Simon Josefsson  <jas@extundo.com>
80116
80117         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
80118
80119 2004-02-25  Simon Josefsson  <jas@extundo.com>
80120
80121         * lib/strdup.h: New file.
80122         * lib/strdup.c: Include it.
80123         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
80124         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
80125
80126 2004-02-23  Karl Berry  <karl@gnu.org>
80127
80128         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
80129         (from fencepost.gnu.org:/gd/gnuorg).
80130
80131 2004-02-23  Karl Berry  <karl@gnu.org>
80132
80133         * config/srclistvars.sh (GNUORG) [karl]: redefine.
80134         * config/srclist.txt: add maintain/standards documents.
80135
80136 2004-02-18  Bruno Haible  <bruno@clisp.org>
80137
80138         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
80139         Reported by Derek Robert Price <derek@ximbiot.com>.
80140
80141 2004-02-16  Karl Berry  <karl@gnu.org>
80142
80143         * config/mkinstalldirs, install-sh: update from automake.
80144
80145 2004-02-06  Karl Berry  <karl@gnu.org>
80146
80147         * m4/po.m4: update from gettext 0.14.1.
80148
80149 2004-02-06  Karl Berry  <karl@gnu.org>
80150
80151         * lib/config.charset: update from gettext 0.14.1.
80152
80153 2004-02-05  Paul Eggert  <eggert@twinsun.com>
80154
80155         Add comments and code, prompted by suggestions from Bruno Haible
80156         for sh-quote.
80157         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
80158         describing the enum quoting_style values.
80159         * lib/quotearg.c (quotearg_alloc): New function.
80160         (quotearg_buffer_restyled): Treat lone { and } as special.
80161         Treat = as special.  Work around bug with older shells
80162         that "see" a '\' that is really the 2nd byte of a multibyte char.
80163         Quote empty string with shell_quoting_style.
80164
80165 2004-02-03  Bruno Haible  <bruno@clisp.org>
80166
80167         * m4/pipe.m4: New file, from GNU gettext.
80168
80169 2004-02-03  Bruno Haible  <bruno@clisp.org>
80170
80171         * lib/pipe.h: New file, from GNU gettext.
80172         * lib/pipe.c: New file, from GNU gettext.
80173
80174 2004-01-27  Bruno Haible  <bruno@clisp.org>
80175
80176         * m4/execute.m4: New file, from GNU gettext.
80177
80178 2004-01-27  Bruno Haible  <bruno@clisp.org>
80179
80180         * lib/execute.h: New file, from GNU gettext.
80181         * lib/execute.c: New file, from GNU gettext.
80182         * lib/w32spawn.h: New file, from GNU gettext.
80183
80184 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80185
80186         Merge from diffutils.
80187
80188         * lib/file-type.c (file_type): Add typed memory objects.
80189         * lib/file-type.h (S_TYPEISTMO): New macro.
80190
80191         * lib/c-stack.h (c_stack_action): Remove argv argument.
80192         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
80193         (die): Don't calculate message unless segv_action returns.
80194         (get_stack_location, min_address_from_argv, max_address_from_argv,
80195         volatile stack_base, volatile_stack_size): Remove.
80196         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
80197         that every segmentation violation is a stack overflow.  (Ouch!)
80198         See Debian bug 136249 (still outstanding) for more info about why
80199         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
80200
80201 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80202
80203         Exit-status fix from coreutils.
80204
80205         Use exit_failure consistently in place of EXIT_FAILURE,
80206         so that program exit statuses are consistent on failure.
80207
80208         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
80209         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
80210         * lib/argmatch.h: Comment fix to match the above.
80211         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
80212         Now a macro referring to exit_failure, instead of a separate
80213         variable.  Include "exitfail.h" to get it.
80214         * lib/xstrtol.h: Include "exitfail.h".
80215         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
80216
80217         * lib/long-options.c (parse_long_options): Use prototype
80218         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
80219         for clarity.
80220
80221 2004-01-21  Jim Meyering  <jim@meyering.net>
80222
80223         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
80224         so as not to conflict with a different-sized __mktime_internal
80225         function in GNU libc.
80226         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
80227         Problem building statically-linked `ls' reported by Michael Brunnbauer.
80228
80229 2004-01-20  Karl Berry  <karl@gnu.org>
80230
80231         * config/config.guess: update from config.
80232
80233         * config/srclistvars.sh: GNUWWWLICENSES for karl.
80234
80235 2004-01-20  Bruno Haible  <bruno@clisp.org>
80236
80237         Safer stack allocation.
80238         * lib/setenv.c: Include allocsa.h.
80239         (alloca): Remove fallback definition.
80240         (freea): Remove macro.
80241         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
80242         instead of freea.
80243
80244 2004-01-20  Bruno Haible  <bruno@clisp.org>
80245
80246         * m4/eealloc.m4: New file, from GNU gettext.
80247
80248 2004-01-20  Bruno Haible  <bruno@clisp.org>
80249
80250         * m4/allocsa.m4: New file, from GNU gettext.
80251
80252 2004-01-20  Bruno Haible  <bruno@clisp.org>
80253
80254         * lib/xallocsa.h: New file, from GNU gettext.
80255         * lib/xallocsa.c: New file, from GNU gettext.
80256
80257 2004-01-20  Bruno Haible  <bruno@clisp.org>
80258
80259         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
80260
80261 2004-01-20  Bruno Haible  <bruno@clisp.org>
80262
80263         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
80264         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
80265         specially.
80266
80267 2004-01-20  Bruno Haible  <bruno@clisp.org>
80268
80269         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
80270         patch.
80271
80272 2004-01-20  Bruno Haible  <bruno@clisp.org>
80273
80274         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
80275
80276 2004-01-20  Bruno Haible  <bruno@clisp.org>
80277
80278         * lib/eealloc.h: New file.
80279
80280 2004-01-20  Bruno Haible  <bruno@clisp.org>
80281
80282         * lib/binary-io.h: Avoid warnings on Cygwin.
80283
80284 2004-01-20  Bruno Haible  <bruno@clisp.org>
80285
80286         * lib/allocsa.h: New file, from GNU gettext.
80287         * lib/allocsa.c: New file, from GNU gettext.
80288
80289 2004-01-18  Karl Berry  <karl@gnu.org>
80290
80291         * doc/gpl.texi, doc/lgpl.texi: new files.
80292
80293 2004-01-18  Karl Berry  <karl@gnu.org>
80294
80295         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
80296         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
80297
80298 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80299
80300         Merge from coreutils.
80301
80302         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
80303         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
80304         (gl_DEFAULT_POSIX2_VERSION): Move
80305         the documentation from 'configure' into 'config.hin',
80306         so that 'configure --help' isn't burdened by it and
80307         we don't have to worry about its formatting there.
80308         Reword the documentation so that it's more succinct
80309         and can be run together into a single paragraph.
80310         * m4/same.m4 (gl_SAME): Check for pathconf.
80311
80312 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80313
80314         Merge from coreutils.
80315
80316         * lib/posixver.c: Include posixver.h.
80317
80318         * lib/same.c: Include <stdbool.h>, <limits.h>.
80319         (_POSIX_NAME_MAX): Define if not defined.
80320         (MIN): New macro.
80321         (same_name): If file names are silently truncated, report
80322         that the file names are the same if they are the same after
80323         the silent truncation.
80324
80325         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
80326         conversion function.
80327         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
80328         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
80329         longer needed.
80330
80331 2004-01-15  Jim Meyering  <jim@meyering.net>
80332
80333         Merge from coreutils.
80334
80335         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
80336         if no library is required.
80337         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
80338         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
80339         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
80340         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
80341         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
80342         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
80343         value, $ac_cv_search_crypt, if it's "none required".
80344         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
80345         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
80346         not gl_FUNC_GETLOADAVG.
80347         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
80348         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
80349
80350 2004-01-15  Jim Meyering  <jim@meyering.net>
80351
80352         Merge from coreutils.
80353
80354         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
80355         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
80356         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
80357
80358         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
80359         optional configure-time default.
80360
80361         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80362
80363         * lib/xreadlink.c (xreadlink): Correct outdated comment.
80364
80365 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
80366
80367         Merge from coreutils.
80368
80369         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
80370         value, $ac_cv_search_nanosleep, if it's "none required".
80371
80372 2004-01-14  Paul Eggert  <eggert@twinsun.com>
80373
80374         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
80375         with like-named macro in fnmatch.c.
80376         (EXT): Use an internal constant instead.
80377
80378         Merge fnmatch patches from glibc.
80379         * lib/fnmatch.c (mbsinit): Remove define.
80380         Add libc_hidden_ver (__fnmatch, fnmatch).
80381         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80382         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80383
80384 2004-01-14  Karl Berry  <karl@gnu.org>
80385
80386         * config/install-sh: update from automake.
80387
80388 2004-01-13  Karl Berry  <karl@gnu.org>
80389
80390         * config/install-sh: update from automake.
80391
80392 2004-01-09  Karl Berry  <karl@gnu.org>
80393
80394         * config/install-sh: update from automake.
80395
80396 2004-01-05  Karl Berry  <karl@gnu.org>
80397
80398         * config/config.{sub,guess}: update from config.
80399
80400 2003-12-31  Karl Berry  <karl@gnu.org>
80401
80402         * config/depcomp: update from automake.
80403
80404 2003-12-14  Karl Berry  <karl@gnu.org>
80405
80406         * lib/config.charset: update from gettext-runtime.
80407
80408 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80409
80410         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80411         Bug reported by Alfred M. Szmidt.
80412
80413 2003-12-03  Bruno Haible  <bruno@clisp.org>
80414
80415         * m4/gettext.m4: Upgrade from gettext-0.13.
80416         * m4/po.m4: Upgrade from gettext-0.13.
80417         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80418         * m4/intmax.m4: New file, from gettext-0.13.
80419         * m4/printf-posix.m4: New file, from gettext-0.13.
80420
80421 2003-11-29  Karl Berry  <karl@gnu.org>
80422
80423         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80424
80425 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80426             Bruno Haible  <bruno@clisp.org>
80427
80428         * lib/printf-parse.h: Don't include sys/types.h.
80429         (ARG_NONE): New macro.
80430         (char_directive): Change type of *arg_index fields to size_t.
80431         * lib/printf-parse.c: Don't include sys/types.h.
80432         (SSIZE_MAX): Remove macro.
80433         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80434         Remove unnecessary overflow check.
80435         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80436         fields.
80437
80438 2003-11-25  Bruno Haible  <bruno@clisp.org>
80439
80440         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80441
80442 2003-11-25  Bruno Haible  <bruno@clisp.org>
80443
80444         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80445         gt_TYPE_SSIZE_T.
80446
80447 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80448
80449         * modules/alloca: Remove dependency on xalloc.
80450
80451 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80452
80453         * lib/alloca.c: Remove dependency on xalloc module.
80454         (xalloc_die): Remove.
80455         (memory_full) [!defined emacs]: New macro.
80456         [!defined emacs]: Don't include xalloc.h.
80457         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80458         address arithmetic overflows.  Change datatypes a bit to avoid
80459         unnecessary casts.
80460
80461 2003-11-22  Jim Meyering  <jim@meyering.net>
80462
80463         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80464         s/size/size_t/.
80465
80466 2003-11-21  Karl Berry  <karl@gnu.org>
80467
80468         * config/config.{sub,guess}: update from config.
80469
80470 2003-11-18  Karl Berry  <karl@gnu.org>
80471
80472         * config/config.{sub,guess}: update from config.
80473
80474         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80475
80476 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80477
80478         * README: Mention that S+T cannot overflow if S is the size of
80479         an existing object and T is sufficiently small.
80480
80481 2003-11-17  Jim Meyering  <jim@meyering.net>
80482
80483         On systems without utime and without a utimes function capable of
80484         dealing with a NULL struct utimbuf* argument, this utime replacement
80485         could -- in unusual circumstances -- leak a file descriptor.
80486         * lib/utime.c: Include <unistd.h> and <errno.h>.
80487         (utime_null): Be sure to close `fd' and to preserve errno.
80488         Reported by Geoff Collyer via Arnold Robbins.
80489
80490 2003-11-17  Bruno Haible  <bruno@clisp.org>
80491
80492         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80493         (Depends-on): Add xsize.
80494
80495 2003-11-17  Bruno Haible  <bruno@clisp.org>
80496
80497         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80498
80499 2003-11-17  Bruno Haible  <bruno@clisp.org>
80500
80501         * lib/vasnprintf.c (alloca): Remove fallback definition.
80502         (freea): Remove definition.
80503         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80504         Reported by Paul Eggert.
80505
80506 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80507             Bruno Haible  <bruno@clisp.org>
80508
80509         Protect against address arithmetic overflow.
80510         * lib/printf-args.h: Include stddef.h.
80511         (arguments): Change type of field 'count' to size_t.
80512         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80513         'unsigned int' where appropriate.
80514         * lib/printf-parse.h: Include sys/types.h.
80515         (char_directive): Change type of *arg_index fields to ssize_t.
80516         (char_directives): Change type of fields 'count', max_*_length to
80517         size_t.
80518         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80519         (SSIZE_MAX): Define fallback value.
80520         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80521         instead of 'int' where appropriate. Check a_allocated, d_allocated
80522         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80523         * lib/vasnprintf.c: Include xsize.h.
80524         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80525         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80526         overflow. Avoid wraparound when converting a width or precision from
80527         decimal to binary.
80528
80529 2003-11-16  Bruno Haible  <bruno@clisp.org>
80530
80531         Update from GNU gettext.
80532         * lib/printf-parse.c: Generalize to it can be compiled for wide
80533         strings.
80534         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80535         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80536         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80537         SNPRINTF): New macros.
80538         Don't include <alloca.h> if the file is used inside libintl.
80539         (local_wcslen): New function, for Solaris 2.5.1.
80540         (VASNPRINTF): Use it instead of wcslen.
80541
80542 2003-11-16  Bruno Haible  <bruno@clisp.org>
80543
80544         * lib/xsize.h (xmax): New function.
80545         (xsum, xsum3, xsum4): Declare as "pure" functions.
80546
80547 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80548
80549         * modules/xalloc (Files): Undo latest change, since xalloc.h
80550         no longer needs SIZE_MAX or PTRDIFF_MAX.
80551
80552 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80553
80554         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80555         gl_PTRDIFF_MAX.
80556
80557 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80558
80559         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80560         "return", to pacify some unknown compiler.  Problem reported
80561         by Joerg Schilling.
80562
80563 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80564
80565         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80566         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80567         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80568         heuristic is just as accurate as far as we know, and it removes a
80569         dependency on size_max.m4 and ptrdiff_max.m4.
80570
80571 2003-11-11  Bruno Haible  <bruno@clisp.org>
80572
80573         * modules/xsize (Files): Add m4/size_max.m4.
80574         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80575
80576 2003-11-11  Bruno Haible  <bruno@clisp.org>
80577
80578         * m4/size_max.m4: New file.
80579         * m4/ptrdiff_max.m4: New file.
80580         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80581         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80582         (gl_XALLOC): Invoke it.
80583
80584 2003-11-11  Bruno Haible  <bruno@clisp.org>
80585
80586         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80587         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80588         defined.
80589
80590 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80591
80592         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80593         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80594         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80595         From Bruno Haible.
80596         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80597         not (size_t) -1, since it's defined here.
80598
80599 2003-11-09  Karl Berry  <karl@gnu.org>
80600
80601         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80602
80603 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80604
80605         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80606         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80607         Reject sizes of exactly SIZE_MAX bytes.
80608         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80609         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80610
80611 2003-11-05  Bruno Haible  <bruno@clisp.org>
80612
80613         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80614         SIZE_MAX defined in <limits.h> on Solaris.
80615
80616 2003-11-04  Jim Meyering  <jim@meyering.net>
80617
80618         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80619         variable names, rather than @VAR@.
80620         * modules/poll: Likewise.
80621
80622 2003-11-04  Bruno Haible  <bruno@clisp.org>
80623
80624         * modules/xsize: New file.
80625         * modules/linebreak: Depend on xsize.
80626         * MODULES.html.sh (func_all_modules): Add xsize.
80627
80628 2003-11-04  Bruno Haible  <bruno@clisp.org>
80629
80630         * m4/xsize.m4: New file.
80631
80632 2003-11-04  Bruno Haible  <bruno@clisp.org>
80633
80634         * lib/xsize.h: New file.
80635         * lib/linebreak.c: Include xsize.h.
80636         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80637         argument for overflow.
80638         Suggested by Paul Eggert.
80639
80640 2003-11-03  Karl Berry  <karl@gnu.org>
80641
80642         * config/config.{guess,sub}: update from config.
80643
80644 2003-11-03  Jim Meyering  <jim@meyering.net>
80645
80646         * modules/userspec (lib_SOURCES): Add userspec.h.
80647         (Include): Add "userspec.h".
80648         Improve description.
80649
80650 2003-11-03  Jim Meyering  <jim@meyering.net>
80651
80652         * lib/userspec.c: Include "userspec.h".
80653         * lib/userspec.h: New file.
80654
80655 2003-11-03  Bruno Haible  <bruno@clisp.org>
80656
80657         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80658
80659 2003-11-03  Bruno Haible  <bruno@clisp.org>
80660
80661         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80662         available, to avoid (extremely rare) race condition.
80663         Suggested by Paul Eggert.
80664
80665 2003-11-02  Karl Berry  <karl@gnu.org>
80666
80667         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80668
80669 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80670
80671         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80672         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80673         (read_filesystem_list): Set and use me_type_malloced.
80674         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80675         whatever the type happens to be), for brevity and consistency.
80676         Check for size calculation overflow on Alphas running OSF/1.
80677
80678 2003-10-31  Jim Meyering  <jim@meyering.net>
80679
80680         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80681
80682         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80683
80684 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80685             Bruno Haible  <bruno@clisp.org>
80686
80687         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80688         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80689
80690 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80691
80692         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80693         netbsd*-gnu*.  Suggested by Robert Millan.
80694
80695 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80696
80697         * modules/group-member: Depend on stdbool.
80698
80699 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80700
80701         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80702
80703 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80704
80705         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80706         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80707         after the 'gnu' in these cases.  This fixes some bugs in the
80708         previous change, and is based on suggestions by Robert Millan.
80709
80710 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80711
80712         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80713         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80714         no longer needed.
80715         * lib/quotearg.c (quotearg_n_options): Use it.
80716         * lib/group-member.c: Include <stdbool.h>.
80717         (free_group_info): Arg is now const *; don't free arg.
80718         (get_group_info): Now returns bool and accepts struct group_info *,
80719         rather than returning a malloc'ed struct group_info *.
80720         All uses changed.  Check for overflow in internal size calculation.
80721
80722         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80723         rather than xmalloc/xrealloc.
80724         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80725         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80726         conformance bug: the old code used a pointer after freeing the
80727         storage that it addressed.
80728         * lib/hash.c (hash_initialize): Simplify the code by using
80729         xalloc_oversized rather than doing it by hand.
80730         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80731         the buffer preserved.  Use free and xmalloc instead.
80732         * lib/quotearg.c (quotearg_n_options): Likewise.
80733         Use a simpler test for size overflow.  Don't use xalloc_oversized
80734         because unsigned int might be wider than size_t (!); this suggests
80735         that we should switch from unsigned int to size_t for slot numbers.
80736
80737 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80738
80739         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80740         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80741         NetBSD kernels.  Requested by Richard Stallman.
80742
80743 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80744
80745         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80746         to allocate the returned structure.  Do not allocate a subarray,
80747         as x2nrealloc will do that.
80748         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80749         instead of xnrealloc.
80750         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80751
80752 2003-10-27  Bruno Haible  <bruno@clisp.org>
80753
80754         * lib/stdbool_.h: Better support for BeOS.
80755
80756 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80757
80758         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80759         now uses inline.
80760
80761 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80762
80763         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80764         callers that want to do their own size-overflow checking.  Include
80765         <stdbool.h>, since xalloc_oversized returns bool.
80766         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80767         to use xalloc_oversized.
80768
80769         Add two functions x2realloc, x2nrealloc, for programs that grow
80770         arrays dynamically by doubling their sizes.
80771         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80772         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80773         New functions.
80774
80775         Port to C99 semantics for 'inline' of external functions.
80776         Bug reported by Bruno Haible.
80777         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80778         with the old contents of xnmalloc.
80779         (xnmalloc, xmalloc): Use it.
80780         (xnrealloc_inline): New static inline function,
80781         with the old contents of xnrealloc.
80782         (xnrealloc, xrealloc): Use it.
80783
80784         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80785         that.
80786
80787 2003-10-26  Karl Berry  <karl@gnu.org>
80788
80789         * config/srclist.txt (COPYING.DOC): no longer available from
80790         /gd/gnuorg; don't know where the ultimate source is.
80791
80792 2003-10-25  Paul Eggert  <eggert@twinsun.com>
80793
80794         Fix several address-calculation bugs in the hash modules,
80795         plus some minor code cleanup.
80796
80797         * lib/hash.h: Include <stdbool.h>, for bool.
80798         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
80799         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
80800         hash_get_n_entries, hash_get_max_bucket_length,
80801         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
80802         hash_rehash): Use size_t rather than unsigned.
80803         * lib/hash.c (struct hash_table, hash_get_n_buckets,
80804         hash_get_n_buckets_used, hash_get_n_entries,
80805         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
80806         hash_get_entries, hash_do_for_each, hash_string, is_prime,
80807         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
80808         Likewise.
80809         (SIZE_MAX): Define if not defined.
80810         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
80811         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
80812         hash_print):
80813         Use const * when possible.
80814         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
80815         (check_tuning): Fix bug: if tuning parameters were very close to
80816         0 or 1, rounding errors could have caused subscript violations.
80817         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
80818         (hash_initialize): Add 'fail:' label
80819         to free table and return NULL, and use it to simplify code.
80820         Use calloc rather than clearing the storage ourself.
80821         (hash_initialize, hash_rehash): Check for arithmetic overflow in
80822         buffer size calculations.
80823         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
80824         Include <stddef.h>, for size_t.
80825         * lib/hash-pjw.c (hash_pjw): Likewise.
80826         Switch to method described by Bruno Haible.
80827         Include <limits.h>, for CHAR_BIT.
80828         (SIZE_BITS): New macro.
80829
80830 2003-10-23  Paul Eggert  <eggert@twinsun.com>
80831
80832         * m4/getline.m4 (AM_FUNC_GETLINE):
80833         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
80834         hosts.  Problem reported by Derek Robert Price in
80835         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
80836         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
80837         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
80838
80839 2003-10-21  Paul Eggert  <eggert@twinsun.com>
80840
80841         * lib/getndelim2.c (getndelim2): When size calculation overflows,
80842         ceiling the allocation at NMAX bytes rather than silently
80843         discarding input bytes before NMAX is reached.  This makes
80844         a difference only if NMAX exceeds SIZE_MAX / 2.
80845
80846         * lib/obstack.c: Merge from glibc.
80847         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
80848         Add libc_hidden_def (_obstack_newchunk).
80849         (_obstack_free) [! defined _LIBC]: Remove.
80850         [defined _LIBC]: Make a strong alias from obstack_free, rather than
80851         a clone of the function body.
80852         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
80853         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
80854
80855         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
80856         glibc.
80857         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
80858         arg to memcpy.
80859
80860         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
80861         (obstack_ptr_grow_fast, obstack_int_grow_fast):
80862         Don't use lvalue casts, as GCC plans to remove support for them
80863         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
80864         was also present in the non-GCC version, indicating that this
80865         code had always been buggy and had never been widely used.
80866         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
80867         Use the fast variant of each macro, rather than copying the
80868         definiens of the fast variant; that way, we'll be more likely to
80869         catch future bugs in the fast variants.
80870
80871 2003-10-20  Bruno Haible  <bruno@clisp.org>
80872
80873         * modules/wait-process: New file.
80874         * MODULES.html.sh (func_all_modules): Add wait-process.
80875
80876 2003-10-20  Bruno Haible  <bruno@clisp.org>
80877
80878         * m4/wait-process.m4: New file.
80879
80880 2003-10-20  Bruno Haible  <bruno@clisp.org>
80881
80882         * lib/wait-process.h: New file, from GNU gettext.
80883         * lib/wait-process.c: New file, from GNU gettext.
80884
80885 2003-10-19  Jim Meyering  <jim@meyering.net>
80886
80887         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
80888         HPUX 10.20.
80889
80890 2003-10-18  Karl Berry  <karl@gnu.org>
80891
80892         * config/config.guess: update from config.
80893
80894 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80895
80896         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
80897         (getgroups): First arg is int, not size_t.
80898         Don't let 'free' mangle errno.
80899
80900 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80901
80902         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
80903
80904 2003-10-16  Karl Berry  <karl@gnu.org>
80905
80906         * config/config.{guess,sub}: update from config.
80907
80908 2003-10-16  Jim Meyering  <jim@meyering.net>
80909
80910         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
80911         memcpy.
80912
80913 2003-10-15  Paul Eggert  <eggert@twinsun.com>
80914
80915         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
80916         (SIZE_MAX): Remove.
80917         (new_exclude, add_exclude_file): Initial size no longer needs to
80918         be a power of 2.
80919         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
80920         our own address arithmetic overflow checking.
80921
80922         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
80923         (fnmatch): Do not alloca more than 2000 wide characters;
80924         instead, use malloc for large buffers.
80925         Check for address arithmetic overflow, and return -1
80926         with errno set to ENOMEM in that case.
80927         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
80928         (NEW_PATTERN): Do not alloca more than 8000 bytes;
80929         instead, return -1.  Check for address arithmetic overflow.
80930
80931 2003-10-14  Paul Eggert  <eggert@twinsun.com>
80932
80933         Handle invalid suffixes and overflow independently, so that
80934         callers can treat them independently as needed.  Fix some bugs in
80935         suffix handling, e.g., "100k@" was not diagnosed as an invalid
80936         suffix for a human-readable blocksize.  The major caller-visible
80937         change is the addition of a new
80938         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
80939         that both overflow and suffix chars were found.
80940
80941         * lib/human.c (humblock): Don't check separately for invalid suffix
80942         char; that is xstrtoumax's job (now that its bug is fixed).
80943         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
80944         INTMAX_MAX]: New macros.
80945         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
80946         TYPE_MAXIMUM): New macros.
80947         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
80948         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
80949         if overflow occurs, as it's what __strtol does and it's more useful
80950         in practice.
80951         (__xstrtol): If __strtol reports some error other than ERANGE,
80952         reflect it to the caller as LONGINT_INVALID.  If it reports
80953         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
80954         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
80955         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
80956         value.
80957         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
80958         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
80959         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
80960         [defined UINTMAX_MAX]: New macros.
80961
80962 2003-10-14  Bruno Haible  <bruno@clisp.org>
80963
80964         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
80965
80966 2003-10-14  Bruno Haible  <bruno@clisp.org>
80967
80968         * m4/sig_atomic_t: New file, from GNU gettext.
80969         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
80970
80971 2003-10-14  Bruno Haible  <bruno@clisp.org>
80972
80973         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
80974         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
80975         Also use volatile where needed.
80976
80977 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80978
80979         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
80980         Change maintainer from Bruno Haible to 'all'.
80981
80982 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80983
80984         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
80985
80986 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80987
80988         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
80989         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
80990         and define in terms of the other primitives.
80991         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
80992         (SIZE_MAX): Define if not already defined.
80993         (array_size_overflow): New function.
80994         (xalloc_die): Abort instead of exiting if 'error' returns.
80995         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
80996         (xmalloc, xrealloc): Use them.
80997         (xcalloc): Check for address arithmetic overflow.
80998         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
80999         a bit faster than strcpy.
81000
81001 2003-10-10  Simon Josefsson  <jas@extundo.com>
81002
81003         * modules/argp (Depends-on): Add restrict and strcase.
81004
81005 2003-10-10  Simon Josefsson  <jas@extundo.com>
81006
81007         * m4/argp.m4: Add AC_C_INLINE.
81008
81009 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81010
81011         Merge getpass from libc, plus a few fixes.
81012
81013         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
81014         Include <stdbool.h>.
81015         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
81016         __fsetlocking to empty.
81017         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
81018         do include <bits/libc-lock.h>.
81019         Do not include <fcntl.h>; not needed.
81020         [_LIBC]: Include <wchar.h>.
81021         (NOTCANCEL_MODE): New macro.
81022         (flockfile, funlockfile) [_LIBC]: New macros.
81023         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
81024         [!_LIBC]: New macros.
81025         (call_fclose): New function.
81026         (getpass): Use it.  Save tty stream separately; this simplifies the
81027         code and makes it more reliable if stdin happens to equal stdout.
81028         Invoke __fsetlocking on tty.
81029         Handle thread cancellation if needed.
81030         Namespace cleanup (use __tcgetattr, __getline).
81031         Use bool for Booleans.
81032         [USE_IN_LIBIO]: Handle wide streams.
81033         [!_LIBC]: Unconditionally do the fseek, since we don't know what
81034         stream might go where.
81035
81036         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
81037         doesn't have to include <stdio.h> before us.
81038         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
81039         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
81040         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
81041         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
81042         if not declared, so that we can use getpass.c code from libc without
81043         rewriting it.
81044         (flockfile, ftrylockfile, funlockfile): New macros.
81045
81046 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81047
81048         * modules/getpass: Depend on stdbool.
81049
81050 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81051
81052         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
81053
81054 2003-10-07  Karl Berry  <karl@gnu.org>
81055
81056         * config/config.{guess,sub}: update from config.
81057
81058 2003-10-06  Jim Meyering  <jim@meyering.net>
81059             Bruno Haible  <bruno@clisp.org>
81060
81061         This lets translators provide better translations for the
81062         "Written by ..." part of --version output.
81063         * lib/version-etc.h: Include stdarg.h.
81064         (version_etc_copyright): Declare as readonly.
81065         (version_etc): Make this function variadic with a NULL-terminated list
81066         of author name strings.
81067         (version_etc_va): New declaration.
81068         * lib/version-etc.c: Include stdarg.h, stdlib.h.
81069         (version_etc_copyright): Declare as readonly.
81070         (version_etc_va): New function. Provide a different translatable string
81071         for each possible number of authors < 10. Abbreviate when there are 10
81072         authors or more.
81073         (version_etc): Make this function variadic. Call version_etc_va.
81074         Suggestion from Gary V. Vaughan.
81075
81076         * lib/long-options.h (parse_long_options): Change prototype: the
81077         authors string is moved to the end and becomes variadic.
81078         * lib/long-options.c: Include stdarg.h.
81079         (parse_long_options): Make this function variadic, too.
81080         Call version_etc_va, not version_etc.
81081
81082 2003-10-06  Bruno Haible  <bruno@clisp.org>
81083
81084         * modules/version-etc-2: Remove file.
81085         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
81086
81087 2003-10-06  Bruno Haible  <bruno@clisp.org>
81088
81089         * modules/fatal-signal: New file.
81090         * MODULES.html.sh (func_all_modules): Add fatal-signal.
81091
81092 2003-10-06  Bruno Haible  <bruno@clisp.org>
81093
81094         * m4/fatal-signal.m4: New file.
81095         * m4/signalblocking.m4: New file, from GNU gettext.
81096
81097 2003-10-06  Bruno Haible  <bruno@clisp.org>
81098
81099         * lib/version-etc-2.h: Remove file.
81100         * lib/version-etc-2.c: Remove file.
81101
81102 2003-10-06  Bruno Haible  <bruno@clisp.org>
81103
81104         * lib/fatal-signal.h: New file, from GNU gettext.
81105         * lib/fatal-signal.c: New file, from GNU gettext.
81106
81107 2003-10-05  Paul Eggert  <eggert@twinsun.com>
81108
81109         * README: Rework advice for preventing empty .o files.
81110         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
81111         not <sys/types.h>.
81112
81113 2003-10-04  Karl Berry  <karl@gnu.org>
81114
81115         * lib/argp*: update from libc.
81116
81117 2003-10-04  Karl Berry  <karl@gnu.org>
81118
81119         * config/config.{guess,sub}: update from config.
81120
81121 2003-10-02  Bruno Haible  <bruno@clisp.org>
81122
81123         * modules/lchown (Include): Add lchown.h.
81124         * modules/time_r (Include): Use "..." syntax.
81125         * modules/xgetdomainname (Include): Add xgetdomainname.h.
81126
81127 2003-10-01  Simon Josefsson  <jas@extundo.com>
81128
81129         * MODULES.html.sh (func_all_modules): Move gethostname from section
81130         'based on' to section 'lacking' POSIX:2001.
81131
81132 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
81133
81134         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
81135         to output mode on the same stream.
81136
81137 2003-09-29  Paul Eggert  <eggert@twinsun.com>
81138
81139         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
81140         Fix arg typo in previous patch.
81141
81142 2003-09-28  Jim Meyering  <jim@meyering.net>
81143
81144         * lib/error.c: Correct cpp indentation.
81145
81146 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81147
81148         * modules/free: New file.
81149
81150 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81151
81152         * m4/free.m4: New file.
81153
81154 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81155
81156         * lib/minmax.h (MIN, MAX)
81157         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
81158         Omit the special code that used __typeof__, since we worry that
81159         it could be more trouble than it's worth.  See:
81160         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
81161         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
81162
81163         * lib/free.c: New file.
81164
81165 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
81166
81167         Trivial fixes to Makefile.am parts of module listings.
81168         * modules/strstr: Append strstr.h to lib_SOURCES.
81169         * modules/strcase: Likewise, for strcase.h.
81170
81171 2003-09-27  Karl Berry  <karl@gnu.org>
81172
81173         * config/mkinstalldirs: update from automake.
81174
81175 2003-09-26  Paul Eggert  <eggert@twinsun.com>
81176
81177         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
81178         (error_tail): Do not loop, reallocating temporary buffer, since
81179         the output cannot contain more wide characters than the input
81180         contains bytes, the size must be big enough already.  This avoids
81181         one potential size overflow calculation.  Check for size overflow
81182         when calculating temporary buffer size.  Free temporary buffer
81183         when done, if it was allocated with malloc; this plugs a memory
81184         leak.  Remove casts from void * to pointers, that are no longer
81185         needed now that we're assuming C89 or better.
81186
81187         Merge error changes from glibc.
81188
81189         * lib/error.c, error.h: Update copyright notice header to match glibc.
81190         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
81191         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
81192         Disable cancellation while printing error.
81193         * lib/error.h: Prepend __ to parameter names.
81194
81195 2003-09-26  Jim Meyering  <jim@meyering.net>
81196
81197         * lib/error.c (error_tail): Move some declarations
81198         into inner scope where the local variables are used.
81199
81200 2003-09-26  Bruno Haible  <bruno@clisp.org>
81201
81202         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
81203         stpncpy().
81204         Don't define stpncpy through config.h; it's now done through stpncpy.h.
81205
81206 2003-09-26  Bruno Haible  <bruno@clisp.org>
81207
81208         * lib/stpncpy.h (gnu_stpncpy): New declaration.
81209         (stpncpy): Define as alias for gnu_stpncpy.
81210         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
81211
81212 2003-09-25  Simon Josefsson  <jas@extundo.com>
81213
81214         * lib/xgetdomainname.h: New file.
81215         * lib/xgetdomainname.c: New file.
81216
81217 2003-09-25  Simon Josefsson  <jas@extundo.com>
81218             Bruno Haible  <bruno@clisp.org>
81219
81220         * modules/getdomainname: New file.
81221         * modules/xgetdomainname: New file.
81222         * MODULES.html.sh (func_all_modules): Add getdomainname,
81223         xgetdomainname.
81224
81225 2003-09-25  Simon Josefsson  <jas@extundo.com>
81226             Bruno Haible  <bruno@clisp.org>
81227
81228         * m4/getdomainname.m4: New file.
81229
81230 2003-09-25  Simon Josefsson  <jas@extundo.com>
81231             Bruno Haible  <bruno@clisp.org>
81232
81233         * lib/getdomainname.h: New file.
81234         * lib/getdomainname.c: New file.
81235
81236 2003-09-25  Karl Berry  <karl@gnu.org>
81237
81238         * lib/argp-fmtstream.c, argp-help.c: update from libc.
81239
81240 2003-09-25  Karl Berry  <karl@gnu.org>
81241
81242         * config/install-sh: update from automake.
81243
81244 2003-09-25  Bruno Haible  <bruno@clisp.org>
81245
81246         * modules/version-etc-2: New file, from modules/version-etc with
81247         modifications.
81248         * MODULES.html.sh (func_all_modules): Add version-etc-2.
81249
81250 2003-09-25  Bruno Haible  <bruno@clisp.org>
81251
81252         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
81253         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
81254
81255 2003-09-24  Simon Josefsson  <jas@extundo.com>
81256
81257         * modules/xgethostname: Add xgethostname.h.
81258
81259 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81260
81261         * lib/linebuffer.c (freebuffer): Don't free the argument, just
81262         the buffer associated with the argument.  Bug reported by
81263         Simon Josefsson.
81264
81265 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81266
81267         * README: Document assumptions that 'int' is at least 32 bits
81268         wide, that integer arithmetic is 2's complement without overflow,
81269         that there are no holes in integer values, that adding sizes of
81270         two nonoverlapping objects can't overflow, and that all-bits-zero
81271         yields scalar zero.  Fix spelling and capitalization typos.
81272
81273 2003-09-19  Karl Berry  <karl@gnu.org>
81274
81275         * lib/argp.h: update from libc.
81276
81277 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81278
81279         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
81280         to avoid spurious warnings like "AC_RUN_IFELSE was called before
81281         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
81282
81283 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81284
81285         * gnulib-tool: Use "test -h", not "test -L", for portability
81286         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
81287         (tags_regexp): Remove, since \| doesn't conform to POSIX.
81288         (sed_extract_prog): Issue s commands one-by-one, rather than
81289         using \| in one s command.
81290
81291 2003-09-16  Paul Eggert  <eggert@twinsun.com>
81292
81293         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
81294         input error, instead of returning NULL the next time we are called
81295         (and therefore losing track of errno).
81296
81297 2003-09-16  Bruno Haible  <bruno@clisp.org>
81298
81299         * gnulib-tool (func_create_testdir): Warn about duplicated
81300         dependencies.
81301
81302 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81303
81304         * modules/argmatch, modules/fatal, modules/obstack,
81305         modules/xalloc, modules/xgethostname: Sort dependencies by
81306         importance, not alphabetically.
81307
81308 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81309
81310         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
81311         fails, so that the caller gets the proper errno.
81312
81313         * lib/readutmp.c (read_utmp): Likewise.
81314         Check for fstat error.  Close stream and free storage
81315         when failing.
81316
81317 2003-09-14  Karl Berry  <karl@gnu.org>
81318
81319         * config/srclist.txt (strdup.c): disable for c89 changes.
81320
81321 2003-09-14  Jim Meyering  <jim@meyering.net>
81322
81323         * lib/getloadavg.c: Correct cpp indentation.
81324         * lib/strdup.c: Likewise.
81325         * lib/vasnprintf.c: Likewise.
81326
81327 2003-09-14  Bruno Haible  <bruno@clisp.org>
81328
81329         * modules/fwriteerror: New file.
81330         * MODULES.html.sh (func_all_modules): Add fwriteerror.
81331
81332 2003-09-14  Bruno Haible  <bruno@clisp.org>
81333
81334         * lib/fwriteerror.h: New file.
81335         * lib/fwriteerror.c: New file.
81336
81337 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81338
81339         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
81340         modules/xgethostname, modules/xalloc: Depend on exit.
81341
81342 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81343
81344         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
81345
81346         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
81347         and AC_MINIX, too, so that their extensions are available.
81348
81349         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
81350         This macro has been superseded by gl_BACKUPFILE.
81351
81352         More patches to assume C89 or better.
81353
81354         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
81355
81356         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
81357         unconditionally.
81358         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
81359         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
81360         Include <string.h>, <stdlib.h> unconditionally.
81361         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
81362         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
81363         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
81364         headers or for string.h.
81365         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
81366         or strtoul.
81367
81368         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
81369         headers.
81370         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
81371         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81372         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
81373         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
81374         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81375         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
81376         memcpy, memset.
81377         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
81378         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
81379         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
81380         strtol.
81381         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81382         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81383         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81384         strtoul.
81385
81386 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81387
81388         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81389         * lib/obstack.c [!defined _LIBC]: Likewise.
81390         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81391         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81392         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81393
81394         More changes to assume C89 or better.
81395
81396         * lib/error.c (error_tail): Assume vprintf.
81397
81398         * lib/argmatch.c (getenv): Remove decl.
81399         * lib/progreloc.c (get_full_program_name): Define via prototype.
81400         * lib/setenv.c (clearenv): Likewise.
81401         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81402         needed.
81403         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81404         (malloc, memcpy): Remove decls.
81405         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81406         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81407         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81408         (memcpy): Remove macro.
81409         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81410         (__P): Remove.  All uses removed.
81411         (PTR): Remove.  All uses changed to void *.
81412         (CHAR_BIT, NULL): Remove.
81413         (spaces, zeros, memset_space, memset_zero)
81414         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81415         Remove.
81416         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81417         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81418         Define with prototype.
81419         Remove now-unnecessary prototype decl.
81420         (extra_args_spec): Assume ANSI C.  All uses changed.
81421         (extra_args_spec_iso): Remove.
81422         (my_strftime, emacs_strftimeu): Define via prototype.
81423         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81424         unconditionally.
81425         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81426         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81427         (strtoul, strtol): Remove decls.
81428         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81429         LONG_MAX): Remove.
81430         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81431         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81432         (LOCALE_PARAM_PROTO): New macro.
81433         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81434         (INTERNAL (strtol), strtol): Define with a prototype.
81435         (PARAMS): Remove.  All uses removed.
81436         * lib/tempname.c: Include <string.h> unconditionally.
81437         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81438         * lib/xgethostname.c (main): Define with a prototype.
81439         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81440         Include <stdlib.h> unconditionally.
81441         (calloc, malloc, realloc, free): Remove decls.
81442         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81443         Include <stdlib.h> unconditionally.  Sort include file names.
81444         (strtod): Remove.
81445         (xstrtod): Define with a prototype.
81446         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81447         (strtol, strtoul): Remove decls.
81448
81449 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81450
81451         More patches to assume C89 or better.
81452         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81453         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81454         string.h, memchr, STDC_HEADERS.
81455
81456 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81457
81458         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81459         Include <stdlib.h>, <string.h> unconditionally.
81460         Remove now-unnecessary cast to char *.
81461         * lib/strnlen.c: Include <string.h> unconditionally.
81462         * lib/yesno.c (yesno): Define with a prototype.
81463
81464 2003-09-11  Bruno Haible  <bruno@clisp.org>
81465
81466         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81467
81468 2003-09-10  Jim Meyering  <jim@meyering.net>
81469
81470         * lib/error.c: Correct indentation of cpp directives.
81471
81472 2003-09-10  Bruno Haible  <bruno@clisp.org>
81473
81474         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81475         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81476         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81477         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81478         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81479         <stdlib.h> and <string.h> checks.
81480         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81481         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81482
81483 2003-09-10  Bruno Haible  <bruno@clisp.org>
81484
81485         * lib/strcspn.c: Include <string.h> unconditionally.
81486         * lib/strpbrk.c: Include <string.h> unconditionally.
81487         * lib/strstr.c: Include <string.h> unconditionally.
81488         * lib/unicodeio.c: Include <string.h> unconditionally.
81489         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81490         * lib/unsetenv.c: Likewise.
81491         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81492         * lib/yesno.c: Include <stdlib.h> unconditionally.
81493         (rpmatch): Add prototype.
81494
81495 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81496
81497         More patches to assume C89 or better.
81498         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81499         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81500         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81501         or for string.h.
81502         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81503         stdlib.h.
81504         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81505         C headers.
81506         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81507         string.h.
81508         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81509         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81510         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81511         or for string.h.
81512         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81513         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81514         C headers.
81515         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81516         memcpy.
81517         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81518         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81519         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81520         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81521         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81522         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81523         string.h, free.
81524         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81525         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81526         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81527         C headers, or for string.h.
81528         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81529         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81530         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81531         headers, memory.h, stdlib.h, string.h, strings.h.
81532         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81533         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81534         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81535         strchr.
81536         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81537         headers, memory.h, string.h.
81538         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81539         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81540         free.
81541         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81542         headers.
81543         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81544         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81545         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81546         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81547         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81548
81549 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81550
81551         More K&R removal.
81552
81553         * lib/acosl.c (main): Use a prototype.
81554         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81555         tanl.c: Likewise.
81556
81557         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81558
81559         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81560         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81561         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81562         with a prototype.
81563         * lib/getopt.c (const): Remove macro.
81564         Include <string.h> unconditionally.
81565         (my_index): Remove; all uses changed to strchr.
81566         (strlen): Remove decl.
81567         (exchange): Remove forward decl; no longer needed.
81568         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81569         Define with prototype.
81570         * lib/getopt1.c (const): Remove macro.
81571         (getopt_long, getopt_long_only, main): Define with prototype.
81572
81573         * lib/getugroups.c: Include <string.h> unconditionally.
81574
81575         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81576         (getusershell, setusershell, endusershell, readname, main):
81577         Define with prototypes.
81578
81579         * lib/group-member.c: Include group-member.h first.
81580         Include <stdlib.h> unconditionally.
81581
81582         * lib/hard-locale.c: Include hard-locale.h first.
81583         Include <stdlib.h>, <string.h> unconditionally.
81584
81585         * lib/hash.c (free, malloc): Remove decls.
81586         Include <stdlib.h> unconditionally.
81587
81588         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81589         (getenv): Do not declare.
81590
81591         * lib/idcache.c: Include <string.h> unconditionally.
81592
81593         * lib/long-options.c: Include long-options.h first, to test interface.
81594         Include <stdlib.h> unconditionally.
81595
81596         * lib/makepath.c: Include makepath.h first, to test interface.
81597         Include <stdlib.h> and <string.h> unconditionally.
81598
81599         * lib/linebuffer.c: Include <stdlib.h>.
81600         (free): Remove decl.
81601
81602         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81603         stddef.h. rpl_malloc returns void *, not char *.
81604         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81605         prototype.
81606
81607         * lib/md5.h: Include <limits.h> unconditionally.
81608         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81609         (__P): Remove; all uses removed.
81610         * lib/md5.c: Include "md5.h" first.
81611         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81612         md5_buffer, md5_process_bytes, md5_process_block):
81613         Define with prototypes.
81614         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81615         * lib/sha.c: Include "sha.h" first.
81616         Include <stdlib.h>, <string.h> unconditionally.
81617
81618         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81619         * lib/memcmp.c (__ptr_t): Likewise.
81620         * lib/memrchr.c (__ptr_t): Likewise.
81621         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81622         Include <string.h> unconditionally.
81623         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81624         * lib/memchr.c: Include <stdlib.h> unconditionally.
81625         * lib/memchr.c (LONG_MAX): Remove.
81626         * lib/memrchr.c (LONG_MAX): Likewise.
81627         * lib/memchr.c (__memchr): Define via a prototype.
81628         * lib/memrchr.c (__memrchr): Likewise.
81629         * lib/memcmp.c (__P): Remove, and remove all uses.
81630         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81631         Remove forward decls; no longer needed.
81632         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81633         Use types required by C89 in prototype.
81634
81635         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81636         * lib/savedir.c: Likewise.
81637         * lib/mkdir.c (free): Remove decl.
81638         * lib/rmdir.c (rmdir): Define with a prototype.
81639         * lib/savedir.c: Include savedir.h first, to test interface.
81640
81641         * lib/mktime.c (STDC_HEADERS): Remove.
81642         Include <stdlib.h>, <string.h> unconditionally.
81643
81644         * lib/modechange.c: Include <stdlib.h> unconditionally.
81645         (malloc): Remove decl.
81646
81647         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81648         (free): Remove decl.
81649
81650         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81651         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81652         (This type really should be intptr_t, but that's a C99ism.)
81653         (_obstack_memcpy): Remove: all uses changed to memcpy.
81654         Include <string.h> unconditionally.
81655         (struct obstack): Assume __STDC__ for types of members
81656         chunkfun, freefun, extra_arg.
81657         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81658         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81659         obstack_begin, obstack_specify_allocation,
81660         obstack_specify_allocation_with_arg, obstack_chunkfun,
81661         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81662         Remove unprototyped decls and the macros that use them.
81663         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81664         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81665         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81666         (defined __STDC__ && __STDC__)]:
81667         Remove nonprototyped code.
81668         Include <stdlib.h> unconditionally.
81669         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81670         _obstack_allocated_p, _obstack_free, obstack_free,
81671         _obstack_memory_used, print_and_abort):
81672         Define using prototypes.
81673         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81674         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81675         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81676         obstack_next_free, obstack_object_size, obstack_room) [0]:
81677         Remove unused, unprototyped code.
81678
81679         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81680
81681         * lib/physmem.c (physmem_total, physmem_available, main): Define
81682         with prototypes.
81683
81684         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81685         (main): Define with a prototype.
81686
81687         * lib/posixver.c (getenv): Remove decl.
81688
81689         * lib/putenv.c (malloc): Returns void *, not char *.
81690         Include <string.h> unconditionally.
81691         (strchr, memcpy, NULL): Do not define.
81692
81693         * lib/readtokens.c: Include readtokens.h first, to test interface.
81694         Include <stdlib.h>, <string.h> unconditionally.
81695         (init_tokenbuffer): Define with a prototype.
81696
81697         * lib/regex.c (PARAMS): Remove.  All uses removed.
81698         All uses of _RE_ARGS removed, too.
81699         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81700         unconditionally.
81701         (bzero): Assume memset exists.
81702         (memcmp, memcpy, NULL): Remove.
81703         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81704         char, or assignments to local vars of type signed char.
81705         (init_syntax_once, PREFIX(extract_number_and_incr),
81706         PREFIX(print_partial_compiled_pattern),
81707         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81708         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81709         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81710         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81711         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81712         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81713         wcs_compile_range, byte_compile_range, truncate_wchar,
81714         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81715         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81716         count_mbs_length, wcs_re_match_2_internal,
81717         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81718         PREFIX(alt_match_null_string_p),
81719         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81720         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81721         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81722         now-unnecessary declaration, if any.
81723         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81724         regcomp, regexec):
81725         Remove now-unnecessary casts among pointer types.
81726         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81727
81728         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81729         (free): Remove decl.
81730
81731         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81732
81733         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81734         (free): Remove decl.
81735
81736         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81737         * lib/xgetcwd.c: Likewise.
81738
81739         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81740         (free): Remove decl.
81741
81742         * lib/strchrnul.c (strchrnul): Define with a prototype.
81743         Fix bug: c_in was not converted to char before searching.
81744
81745         The following changes are not K&R related:
81746
81747         * lib/group-member.h: Include <sys/types.h>, so that this file is
81748         self-contained.
81749         * lib/makepath.h: Likewise.
81750
81751         * lib/getusershell.c (readname, default_index, line_size, readname):
81752         Use size_t, not int, for sizes.
81753         (readname): If the size overflows, report an error instead of
81754         looping forever.
81755
81756 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81757
81758         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81759         libc.
81760
81761 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81762
81763         * README: New section: portability guidelines.
81764
81765 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81766
81767         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81768         C89 spec.
81769
81770 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81771
81772         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81773
81774 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81775
81776         Assume C89 or better; remove K&R cruft.
81777         A few of these changes were first proposed by Derek Robert Price
81778         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81779
81780         * lib/addext.c: Include <string.h> unconditionally.
81781         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81782         Don't declare getenv or malloc.
81783
81784         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81785         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81786         (NULL): Remove.
81787         (find_stack_direction, alloca): Use prototypes.
81788
81789         * lib/atexit.c (atexit): Define using a prototype.
81790
81791         * lib/basename.c, dirname.c, stripslash.c:
81792         Include <string.h> unconditionally.
81793
81794         * lib/bcopy.c: Include <stddef.h>.
81795         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
81796
81797         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
81798
81799         * lib/error.h (error, error_at_line, error_print_progname)
81800         [! (defined (__STDC__) && __STDC__)]: Remove decls.
81801         * lib/error.c: Include error.h first, to check interface.
81802         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81803         (VA_START): Remove; all uses changeed to va_start.
81804         (exit, strerror): Remove decls.
81805         (error_print_progname): Prototype uncondionally.
81806         Don't include <errno.h>; no longer needed.
81807         (private_strerror): Remove.
81808         (error_tail): Always define.
81809         (error, error_at_line): Assume C89 or better; always use prototypes.
81810         * lib/fatal.c: Include "fatal.h" first, to test interface.
81811         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81812         (VA_START): Remove; all uses changed to va_start.
81813         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
81814         this case.
81815         (exit): Remove decl.
81816         (fatal): Prototype unconditionally.  Assume va_start works.
81817         Abort at end, to pacify gcc.
81818
81819         * lib/euidaccess.c (main): Define with a prototype.
81820
81821         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
81822
81823         * lib/exitfail.c: Include <stdlib.h> unconditionally.
81824
81825         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
81826         prototypes.
81827         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
81828         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
81829         (getenv): Remove decl.
81830         (fnmatch): Define using a prototype.
81831         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
81832         (FCT): Define using a prototype.
81833
81834         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
81835
81836         * lib/gethostname.c: Include <stddef.h>.
81837         (gethostname): Define with prototype.  Length is size_t, not int.
81838
81839 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81840
81841         Assume C89 or better; remove K&R cruft.
81842         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
81843         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
81844         string.h, getenv, malloc.
81845         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
81846         headers.
81847         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
81848         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
81849         do not check for strerror.
81850         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
81851         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
81852         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
81853         do not check for doprnt or vprintf.
81854         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
81855         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
81856
81857 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81858
81859         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
81860         getversion.c should have been removed then, but was accidentally
81861         preserved.
81862
81863         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
81864         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
81865
81866 2003-09-08  Karl Berry  <karl@gnu.org>
81867
81868         * config/config.sub, config.guess, srclistvars.sh: update from savannah
81869                 config, forget about prep.
81870
81871         * config/depcomp, missing: update from automake.
81872
81873 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81874
81875         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
81876         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81877
81878 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81879
81880         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
81881         copy_tm_result.  Bug reported by Simon Josefsson in
81882         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81883
81884 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81885
81886         * m4/time_r.m4: New file.
81887         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
81888         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
81889         is. Check for timegm declaration.
81890         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
81891         Do not check for gmtime_r.
81892         Replace mktime if __mktime_internal does not exist and if mktime
81893         hasn't been replaced already.
81894
81895 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81896
81897         * lib/time_r.c, lib/time_r.h: New files.
81898
81899         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
81900         __localtime_r.
81901         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
81902         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
81903
81904         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
81905         __gmtime_r.
81906         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
81907         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
81908         Include <time_r.h>.
81909
81910         * lib/timegm.c: Switch to glibc implementation, with the following
81911         changes:
81912         [defined HAVE_CONFIG_H]: Include <config.h>.
81913         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
81914         (__mktime_internal) [!defined _LIBC]: New decl.
81915         (__gmtime_r) [!defined _LIBC]: New macro and function.
81916         (timegm): Use a prototype, since gnulib assumes C89.
81917         Do not bother declaring tmp to be const, as it's not really usefu.
81918         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
81919         (timegm): Declare only if HAVE_DECL_TIMEGM.
81920
81921 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81922
81923         * MODULES.html.sh (func_all_modules): Add time_r.
81924         * modules/time_r: New file.
81925         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
81926         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
81927
81928 2003-09-03  Paul Eggert  <eggert@twinsun.com>
81929
81930         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
81931         Bug reported by Lute Kamstra in
81932         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
81933
81934         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
81935         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
81936         course with correspondingly smaller numbers for tomorrow and
81937         yesterday.  From Tadayoshi Funaba.  Originally installed into
81938         sh-utils on 1999-08-07, but the patch got lost (I guess during the
81939         coreutils merge?).
81940
81941 2003-08-31  Simon Josefsson  <jas@extundo.com>
81942
81943         * modules/timegm: New file.
81944         * MODULES.html.sh (func_all_modules): Add timegm.
81945
81946 2003-08-31  Simon Josefsson  <jas@extundo.com>
81947
81948         * m4/timegm.m4: New file.
81949
81950 2003-08-31  Simon Josefsson  <jas@extundo.com>
81951
81952         * lib/timegm.h: New file.
81953         * lib/timegm.c: New file.  Based on
81954         wget-1.8.2/src/http.c:mktime_from_utc.
81955
81956 2003-08-31  Karl Berry  <karl@gnu.org>
81957
81958         * lib/argp.h: update from libc.
81959
81960 2003-08-28  Bruno Haible  <bruno@clisp.org>
81961
81962         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
81963         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
81964         followed by '#define fnmatch fnmatch_posix' gives an error.
81965
81966 2003-08-28  Bruno Haible  <bruno@clisp.org>
81967
81968         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
81969         warning on QNX, which defines O_BINARY to 000000.
81970
81971 2003-08-27  Jim Meyering  <jim@meyering.net>
81972
81973         * m4/mkstemp.m4: Require that the system mkstemp be able to create
81974         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
81975         would fail after 32.  Reported by Danny Levinson.  Details here:
81976         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
81977
81978 2003-08-24  Bruno Haible  <bruno@clisp.org>
81979
81980         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
81981         MSVC7 <stdio.h> is included later.
81982
81983 2003-08-22  Simon Josefsson  <jas@extundo.com>
81984
81985         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
81986
81987 2003-08-20  Karl Berry  <karl@gnu.org>
81988
81989         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
81990
81991 2003-08-20  Bruno Haible  <bruno@clisp.org>
81992
81993         * modules/progname: New file.
81994         * MODULES.html.sh (func_all_modules): Add progname.
81995
81996 2003-08-20  Bruno Haible  <bruno@clisp.org>
81997
81998         * lib/progname.h: New file, from GNU gettext.
81999         * lib/progname.c: New file, from GNU gettext.
82000         * lib/progreloc.c: New file, from GNU gettext.
82001
82002 2003-08-19  Jim Meyering  <jim@meyering.net>
82003
82004         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
82005         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
82006
82007 2003-08-19  Bruno Haible  <bruno@clisp.org>
82008
82009         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
82010         more.
82011
82012 2003-08-19  Bruno Haible  <bruno@clisp.org>
82013
82014         * lib/xstrdup.c: Assume <string.h> exists.
82015
82016 2003-08-18  Paul Eggert  <eggert@twinsun.com>
82017
82018         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
82019         in makefile rules.
82020
82021 2003-08-18  Jim Meyering  <jim@meyering.net>
82022
82023         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
82024         * m4/lib-ld.m4: Likewise.
82025
82026 2003-08-18  Jim Meyering  <jim@meyering.net>
82027
82028         * lib/setenv.h: Indent nested cpp directive.
82029         * lib/vasnprintf.c: Remove trailing blanks.
82030
82031 2003-08-17  Simon Josefsson  <jas@extundo.com>
82032
82033         * modules/xstrndup: New file.
82034         * MODULES.html.sh (func_all_modules): Add xstrndup.
82035
82036 2003-08-17  Simon Josefsson  <jas@extundo.com>
82037
82038         * modules/argp: Fix autoconf macro name. Add more dependencies.
82039
82040 2003-08-17  Simon Josefsson  <jas@extundo.com>
82041
82042         * m4/xstrndup.m4: New file.
82043
82044 2003-08-17  Simon Josefsson  <jas@extundo.com>
82045
82046         * m4/argp.m4: New file.
82047
82048 2003-08-17  Simon Josefsson  <jas@extundo.com>
82049             Bruno Haible  <bruno@clisp.org>
82050
82051         * lib/xstrndup.h: New file.
82052         * lib/xstrndup.c: New file.
82053
82054 2003-08-17  Bruno Haible  <bruno@clisp.org>
82055
82056         * modules/strndup (Files, Include): Add lib/strndup.h.
82057
82058 2003-08-17  Bruno Haible  <bruno@clisp.org>
82059
82060         * modules/euidaccess (Files): Add lib/euidaccess.h.
82061
82062 2003-08-17  Bruno Haible  <bruno@clisp.org>
82063
82064         * lib/strndup.h: New file.
82065
82066 2003-08-17  Bruno Haible  <bruno@clisp.org>
82067
82068         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
82069         like AC_GNU_SOURCE.
82070         * modules/extensions (configure.ac): Comment out the invocation of
82071         gl_USE_SYSTEM_EXTENSIONS.
82072
82073 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82074
82075         Merges from coreutils, etc.
82076         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
82077         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
82078         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
82079         fixing a typo.
82080         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
82081         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
82082
82083 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82084
82085         Document merge from coreutils.
82086         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
82087         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
82088         * modules/utime: Add m4/utimes-null.m4.
82089
82090 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82091
82092         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
82093         space, undoing this 2003-08-12 change:
82094         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82095
82096 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82097
82098         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
82099         strtoul.c from libc, undoing this 2003-08-12 change:
82100         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82101
82102 2003-08-16  Jim Meyering  <jim@meyering.net>
82103
82104         Merges from coreutils.
82105         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
82106         prefix.  Adjust cache variables similarly.  Create 500 rather than
82107         just 300 files, to exercise bug on Darwin6.5, too.
82108         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
82109         $missing_dir.
82110         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
82111         AM_SYS_POSIX_TERMIOS.
82112         Reported by mkc@mathdogs.com.
82113         Also change use of $am_cv_sys_posix_termios
82114         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
82115         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
82116         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
82117         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
82118         in /proc/mounts until it finds one with matching device number.  This
82119         is unnecessary when the FILE argument *is* a mount point.  No stat call
82120         is necessary in that case.  So, disable the statvfs-testing code on
82121         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
82122         as RedHat bug# 84846.
82123         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82124         to 1MB, so as not to render systems with no stack size limit (e.g.,
82125         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82126         Include <unistd.h>.  On some systems,
82127         it is required for the definition of _SC_PAGESIZE.
82128
82129 2003-08-16  Jim Meyering  <jim@meyering.net>
82130
82131         Merge from coreutils.
82132         * lib/xstrtoimax.c: #else #if -> #elif.
82133         * lib/xstrtoumax.c: Likewise.
82134
82135 2003-08-16  Jim Meyering  <jim@meyering.net>
82136
82137         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
82138         * m4/utimes.m4: Removed.
82139         * m4/utimes-null.m4: Renamed from utimes.m4.
82140
82141         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82142         to 1MB, so as not to render systems with no stack size limit (e.g.,
82143         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82144         Include <unistd.h>.  On some systems,
82145         it is required for the definition of _SC_PAGESIZE.
82146
82147 2003-08-16  Jim Meyering  <jim@meyering.net>
82148         and Paul Eggert  <eggert@cs.ucla.edu>
82149
82150         Merges from coreutils, etc.
82151
82152         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
82153         using the latest version from cvs.  This avoids problems with #line
82154         directives using a vendor (Sun) compiler.
82155         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
82156         Don't set GETGROUPS_LIB here; now it's
82157         done via getgroups.m4's wrapper function.
82158         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
82159         rather than just in sh-util/configure.in, so that the
82160         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
82161         same.
82162         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
82163         AC_FUNC_GETLOADAVG where to find getloadavg.c.
82164         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
82165         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
82166         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
82167         Remove code that is now done by the newly-required macros.
82168         Append $(EXEEXT) to DF_PROG.
82169         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
82170         Do not invoke or require the following here,
82171         since prereq.m4 or some gnulib .m4 now does this for us:
82172         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
82173         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
82174         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
82175         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
82176         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
82177         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
82178         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
82179         AC_FUNC_OBSTACK.
82180         Do not replace the following functions, as this is now the job
82181         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
82182         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
82183         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
82184         atexit getpass, strdup, getpagesize.
82185         Replace 'raise'.
82186         Do not check for the following functions, as this is now the job
82187         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
82188         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
82189         setregid.
82190         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
82191         Check for sys/sysctl.h.
82192         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
82193         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
82194         of checking for ssize_t ourselves.
82195
82196         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
82197         Require every macro that gnulib/modules/* suggests for us.
82198         (jm_PREREQ_ADDEXT): New macro.
82199         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
82200         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
82201
82202         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
82203         (gl_PHYSMEM): Use it.
82204         Also check for `table' function.
82205         Check for new headers and functions.
82206         Add check for sys/sysmp.h.
82207         With suggestions from Kaveh Ghazi.
82208         Ignore headers that are present but cannot be compiled.  This
82209         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
82210         C 5.4.
82211
82212 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82213
82214         Document merge from coreutils.
82215         * modules/userspec: Depend on posixver.
82216         * modules/strftime: Depend on tzset.
82217
82218 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82219
82220         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
82221         rather than tab, after '#' in shell-script copyright notices.
82222         Suggested by Bruno Haible.
82223
82224 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82225
82226         * config/srclist-update: Use three spaces, rather than tab, after '#'
82227         in shell-script copyright notices.  Suggested by Bruno Haible.
82228         Remove unnecessary parenthesization in regular expression.
82229
82230 2003-08-15  Jim Meyering  <jim@meyering.net>
82231
82232         Merge from coreutils.
82233         * lib/xgethostname.c: Include <stdlib.h>.
82234         (xghostname): Don't exit for anything other than memory-related
82235         failure; just return NULL.
82236         * lib/userspec.c: Include "posixver.h".
82237         (parse_user_spec): Accept `.' as a separator only
82238         in pre-POSIX-200112 mode.
82239         * lib/strtoimax.c: Use #elif rather than #else #if.
82240         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
82241         Remove function, now that we can rely on a working tzset function.
82242         [!_LIBC]: Ensure that the required autoconf test has been run.
82243         [!defined _NL_CURRENT && HAVE_STRFTIME]:
82244         Use underlying_strftime for %r.
82245         * lib/sha.c: Merge in some clean-up and optimization changes from
82246         glibc.
82247         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
82248         Ensure that it is a multiple of 64.
82249         Rearrange loop exit tests so as to avoid performing an
82250         additional fread after encountering an error or EOF.
82251         * lib/realloc.c: Update copyright date.
82252
82253 2003-08-15  Jim Meyering  <jim@meyering.net>
82254         and Paul Eggert  <eggert@twinsun.com>
82255
82256         Merge from coreutils.
82257         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
82258         member but strut utmpx does not.  Needed for AIX 4.3.3.
82259         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
82260
82261 2003-08-15  Jim Meyering  <jim@meyering.net>
82262         and Paul Eggert  <eggert@cs.ucla.edu>
82263
82264         Merges from coreutils, etc.
82265         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
82266         Require gl_FUNC_TZSET_CLOBBER.
82267         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
82268         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
82269         members.
82270
82271 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82272
82273         Help the merge from coreutils.
82274         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
82275         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
82276         * m4/tzset.m4: Use it too.
82277
82278 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82279
82280         * modules/tzset: New file.
82281
82282 2003-08-14  Jim Meyering  <jim@meyering.net>
82283
82284         Merges from coreutils.
82285         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
82286         variable names, rather than @FNMATCH_H@.
82287         * modules/alloca: Likewise for $(ALLOCA_H).
82288
82289         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
82290         the three copies of the literal target, `fnmatch.h'.
82291         * modules/alloca (alloca.h): Likewise.
82292
82293 2003-08-14  Jim Meyering  <jim@meyering.net>
82294
82295         Merge from coreutils.
82296         * m4/tzset.m4: New file.
82297         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
82298         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
82299         otherwise, AIX 5.1 systems would end up using the latter.
82300         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
82301         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
82302         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
82303         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
82304
82305 2003-08-14  Jim Meyering  <jim@meyering.net>
82306
82307         Merge from coreutils.
82308         * lib/obstack.h: Whitespace changes.
82309         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
82310         and xcalloc return values.
82311         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
82312         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
82313         hang on OSF/1 5.1 for DIR on both local and remote file systems.
82314         Reported by (and fix confirmed by) Nelson H. F. Beebe.
82315         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82316         error from mntctl.
82317         Use mntctl's return value to drive the entry-processing loop, since
82318         we can't rely on the value of the vmt_length member in the last
82319         entry.  On some systems doing so could result in exhausting
82320         virtual memory.  Based in part on a patch from Mike Jetzer.
82321
82322 2003-08-14  Jim Meyering  <jim@meyering.net>
82323         and Paul Eggert  <eggert@twinsun.com>
82324
82325         Merges from coreutils, plus other fixes.
82326         * lib/physmem.c: Merge in portability changes from gcc/libiberty
82327         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
82328         for credits and details.  Thanks to Kaveh Ghazi for helping
82329         to keep these files in sync.
82330         (ARRAY_SIZE): Define it.
82331         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
82332         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
82333         (memcasecmp): Don't assume size_t fits in unsigned int.
82334         Remove casts and duplicate code.
82335         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
82336         (memcpy): Remove definition.
82337         Merge in some clean-up and optimization changes from glibc.
82338         [BLOCKSIZE]: Move definition to top of file.
82339         Ensure that it is a multiple of 64.
82340         Rearrange loop exit tests so as to avoid performing an
82341         additional fread after encountering an error or EOF.
82342         * lib/md5.h (md5_uintptr): Define.
82343         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
82344         return to the initial working directory.  Preserve errno
82345         for caller.
82346         * lib/idcache.c: Include "xalloc.h".
82347         (xmalloc, xrealloc): Remove decls.
82348         (getuser): Remove casts no longer required in C89.
82349         * lib/human.c: Include stdio.h, for sprintf.
82350         * lib/group-member.c: Include "xalloc.h".
82351         (xmalloc, xrealloc): Remove decls.
82352         (get_group_info): Remove casts no longer required in C89.
82353         * lib/getusershell.c (readname): Remove casts no longer required in
82354         C89.
82355         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
82356         * lib/getline.c: Whitespace fix, from coreutils.
82357
82358 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82359
82360         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
82361         Check for isascii.
82362
82363         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82364         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82365         Undo previous (whitespace-only) change.
82366
82367 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82368
82369         * lib/exclude.c: Include <ctype.h>
82370         (IN_CTYPE_DOMAIN): New macro.
82371         (is_space): New fn.
82372         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
82373         and empty lines.
82374
82375         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82376         Undo previous (whitespace-only) change.
82377
82378 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82379
82380         * config/srclist-update: Change update back to the old behavior,
82381         leaving whitespace alone.  Use one 'sed' command rather than a
82382         pipeline.
82383         (fixlicense): Now a variable, not a function.
82384         (remove_trailing_blanks): Remove.
82385         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82386         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82387         Undo previous (whitespace-only) change.
82388
82389 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82390
82391         Merge from coreutils.
82392         * modules/euidaccess: Add lib_SOURCES, include for new
82393         file euidaccess.h
82394
82395 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82396
82397         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82398         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82399         Normalize leading white space and remove trailing white space.
82400
82401         Merge from coreutils
82402         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82403
82404         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82405         0.12.1.  These files are now being upgraded automatically by
82406         ../config/srclist-update.
82407
82408 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82409
82410         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82411         Normalize leading white space and remove trailing white space.
82412         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82413         notice, as per ../config/srclist-update.
82414
82415         Merge from coreutils.
82416         * lib/euidaccess.h: New file.
82417         * lib/euidaccess.c: Include it.
82418         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82419         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82420         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82421
82422 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82423
82424         * config/srclist-update: Add copyright notice.
82425         (remove_id_lines, remove_trailing_blanks): New constants.
82426         (fixfile): Use them to normalize spacing a bit in copied files.
82427         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82428         Normalize leading white space and remove trailing white space.
82429
82430         * config/texinfo.tex: Sync with texinfo.
82431
82432         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82433         strtoul.c from libc, to merge coreutils whitespace changes.
82434
82435         * config/srclist.txt: Get the following m4 files from gettext:
82436         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82437         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82438         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82439         wint_t.m4.
82440
82441 2003-08-12  Karl Berry  <karl@gnu.org>
82442
82443         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82444         been made.
82445
82446 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82447
82448         * modules/gnu-source, m4/gnu-source.m4:
82449         Remove; we're assuming Autoconf 2.54 or later now.
82450         Suggested by Bruno Haible.
82451         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82452
82453 2003-08-11  Bruno Haible  <bruno@clisp.org>
82454
82455         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82456
82457 2003-08-11  Bruno Haible  <bruno@clisp.org>
82458
82459         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82460         (vasnprintf): Use it instead of wcslen.
82461
82462 2003-08-11  Bruno Haible  <bruno@clisp.org>
82463
82464         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82465         value to ensure that _Bool promotes to int. Use #define for _Bool when
82466         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82467
82468 2003-08-10  Karl Berry  <karl@gnu.org>
82469
82470         * lib/regex.h: update from libc (whitespace fix).
82471
82472 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82473
82474         Merge some files from coreutils.  These changes were
82475         originally made by Jim Meyering.
82476         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82477         many older Unixes require this.
82478         * lib/alloca.c (alloca): Remove cast to argument of free;
82479         no longer needed in C89.
82480         * lib/alloca_.h, regex.h: Fix white space to match
82481         what GNU indent does.
82482
82483 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82484
82485         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82486         apparently Emacs's Unicode mode got confused before my 2003-08-05
82487         checkin.
82488
82489 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82490
82491         * m4/extensions.m4: New file.
82492         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82493         Require gl_USE_SYSTEM_EXTENSIONS.
82494         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82495         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82496
82497 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82498
82499         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82500         * modules/extensions, modules/gnu-source: New files.
82501         * modules/timespec, modules/unlocked-io: Depend on extensions.
82502
82503 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82504
82505         * modules/restrict: New file.
82506         * MODULES.html.sh (func_all_modules): Add restrict.
82507         * modules/regex: Depend on restrict.
82508
82509 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82510
82511         * m4/restrict.m4: New file.
82512         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82513
82514 2003-08-07  Bruno Haible  <bruno@clisp.org>
82515
82516         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82517         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82518
82519 2003-08-07  Bruno Haible  <bruno@clisp.org>
82520
82521         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82522         makes the module 'getndelim2' compatible with the module 'getline'.
82523
82524 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82525
82526         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82527         byte with "\201" to avoid glitches when editing that source file
82528         with multi-gnome-terminal.
82529
82530 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82531
82532         * lib/bumpalloc.h: Remove.
82533
82534 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82535
82536         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82537         * modules/bumpalloc: Remove.
82538
82539 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82540
82541         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82542         GNU coding style.
82543
82544         Merge from coreutils.
82545         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82546         1. From glibc.
82547         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82548         from Karl Berry, implemented by Jim Meyering.
82549         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82550         from Dmitry V. Levin.
82551         Remove anachronistic cast of xrealloc.
82552         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82553         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82554         type. Otherwise, it wouldn't compile with at least /bin/cc on
82555         ymp-cray-unicos9.0.2.X.
82556         Combine two mostly-identical uses of alloca into one.
82557         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82558
82559 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82560
82561         [From Emacs.]
82562
82563         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82564         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82565         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82566         obsolete NLIST_NAME_UNION.
82567         [__GNU__]: Undef BSD and FSCALE.
82568         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82569
82570 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82571
82572         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82573         an enum type, so that it's guaranteed to promote to int.  See:
82574         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82575
82576 2003-08-03  Karl Berry  <karl@gnu.org>
82577
82578         * config/depcomp: update from automake.
82579
82580 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82581
82582         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82583         (strerror): Don't assume that a printable int fits in 14 bytes.
82584
82585 2003-07-31  Bruno Haible  <bruno@clisp.org>
82586
82587         * modules/getpass-gnu: New file.
82588         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82589
82590 2003-07-31  Bruno Haible  <bruno@clisp.org>
82591
82592         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82593
82594 2003-07-24  Karl Berry  <karl@gnu.org>
82595
82596         * config/missing: update from automake.
82597
82598 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82599             Bruno Haible  <bruno@clisp.org>
82600
82601         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82602         * lib/getline.c (getline, getdelim): Likewise.
82603         Remove _GNU_SOURCE define; now it's defined in config.h through
82604         m4/getline.m4.
82605
82606 2003-07-23  Karl Berry  <karl@gnu.org>
82607
82608         * config/config.sub: update from prep.
82609
82610 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82611
82612         * modules/xalloc (Depends-on): Add exitfail.
82613         * modules/xmemcoll: Likewise.
82614
82615 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82616
82617         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82618         over-parenthesization in macros.
82619
82620         Sync with coreutils.
82621
82622         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82623         required by C99.
82624
82625         Use `exit_failure' for xalloc and xmemcoll instead of their own
82626         private exit-failure variables.
82627         * lib/xalloc.h (xalloc_exit_failure): Remove.
82628         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82629         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82630         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82631         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82632         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82633
82634 2003-07-20  Jim Meyering  <jim@meyering.net>
82635
82636         * modules/closeout (Depends-on): Add exitfail.
82637         Suggestion from Bruno Haible.
82638
82639 2003-07-19  Karl Berry  <karl@gnu.org>
82640
82641         * config/config.sub: update from prep.
82642
82643 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82644
82645         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82646         Remove.
82647         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82648         to test that it can stand by itself.  Include "exitfail.h".
82649         Clients should set exit_failure instead.
82650         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82651
82652 2003-07-18  Bruno Haible  <bruno@clisp.org>
82653
82654         * modules/getndelim2: New file.
82655         * modules/getline: Share files with module getndelim2.
82656         * modules/getnline: Depend on getndelim2 instead of sharing files with
82657         it. Add getnline.c to lib_SOURCES.
82658         * MODULES.html.sh (func_all_modules): Add getndelim2.
82659
82660 2003-07-18  Bruno Haible  <bruno@clisp.org>
82661
82662         * m4/getndelim2.m4: New file.
82663         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82664         invoke gl_PREREQ_GETNDELIM2.
82665         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82666         gl_PREREQ_GETNDELIM2.
82667         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82668         gl_GETNDELIM2.
82669
82670 2003-07-18  Bruno Haible  <bruno@clisp.org>
82671
82672         * lib/getndelim2.h: New file.
82673         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82674         getndelim2.h.
82675         (getndelim2): Make non-static. Change return type to ssize_t.
82676         * lib/getline.h: Change argument names.
82677         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82678         * lib/getnline.c: Include getndelim2.h.
82679
82680 2003-07-18  Andreas Schwab  <schwab@suse.de>
82681
82682         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82683
82684 2003-07-17  Karl Berry  <karl@gnu.org>
82685
82686         * config/config.sub: update from prep.
82687
82688 2003-07-17  Bruno Haible  <bruno@clisp.org>
82689
82690         * modules/getnline: New file.
82691         * modules/getline: Add lib/getndelim2.c to source file list.
82692         * MODULES.html.sh (func_all_modules): Add getnline.
82693
82694 2003-07-17  Bruno Haible  <bruno@clisp.org>
82695
82696         * m4/getnline.m4: New file.
82697
82698 2003-07-17  Bruno Haible  <bruno@clisp.org>
82699
82700         * m4/Makefile.am.in: Remove file.
82701         * m4/Makefile.am: Remove file.
82702         * m4/Makefile.in: Remove file.
82703
82704 2003-07-17  Bruno Haible  <bruno@clisp.org>
82705
82706         * lib/getnline.h: New file.
82707         * lib/getnline.c: New file.
82708         * lib/getndelim2.c: New file, extracted from getline.c.
82709         (getndelim2): Renamed from getdelim2, with added nmax argument.
82710         * lib/getline.c: Include getndelim2.c.
82711         (getdelim2): Moved out to getndelim2.c.
82712         (getline, getdelim): Update.
82713
82714 2003-07-17  Bruno Haible  <bruno@clisp.org>
82715
82716         * lib/Makefile.am: Remove file.
82717         * lib/Makefile.in: Remove file.
82718
82719 2003-07-17  Bruno Haible  <bruno@clisp.org>
82720
82721         * configure.in: Remove file.
82722         * Makefile.in: Remove file.
82723
82724 2003-07-17  Bruno Haible  <bruno@clisp.org>
82725
82726         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82727
82728 2003-07-16  Karl Berry  <karl@gnu.org>
82729
82730         * config/srclist-update: was running fixlicense twice, which caused
82731                 texinfo.tex to be nullified for some reason.  Simplify,
82732                 $gplsrc is no longer needed as far as I can see?
82733
82734 2003-07-16  Jim Meyering  <jim@meyering.net>
82735
82736         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82737
82738 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82739
82740         * config/srclist.txt: Get the following files from gettext-runtime/intl
82741         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82742         ref-del.sin.  From Bruno Haible.
82743         * config/srclist-update (fixfile): Change grep pattern again, since the
82744         previous fix didn't work (there was another trailing $).  Use
82745         '[$]' to escape the $s.
82746
82747 2003-07-15  Karl Berry  <karl@gnu.org>
82748
82749         * lib/vasnprintf.c: update from gettext.
82750
82751 2003-07-15  Karl Berry  <karl@gnu.org>
82752
82753         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82754         gets expanded when surrounded by '$'.
82755
82756 2003-07-15  Jim Meyering  <jim@meyering.net>
82757
82758         * modules/save-cwd: Don't depend on error.  From Derek Price.
82759
82760 2003-07-15  Jim Meyering  <jim@meyering.net>
82761
82762         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82763
82764 2003-07-14  Simon Josefsson  <jas@extundo.com>
82765
82766         * modules/mempcpy: New file.
82767         * MODULES.html.sh (func_all_modules): Add mempcpy.
82768
82769 2003-07-14  Simon Josefsson  <jas@extundo.com>
82770
82771         * m4/mempcpy.m4: New file.
82772
82773 2003-07-14  Simon Josefsson  <jas@extundo.com>
82774
82775         * lib/mempcpy.h: New file.
82776         * lib/mempcpy.c: New file.
82777
82778 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82779
82780         * modules/getdate, modules/posixtm: Depend on mktime.
82781
82782 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82783
82784         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82785         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82786         unicodeio.c, unicodeio.h, unlocked-io.h:
82787         Switch from LGPL to GPL.
82788
82789 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82790
82791         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82792         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
82793         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
82794         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
82795         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
82796         updated automatically by ../config/srclist-update.  This changes
82797         their license from LPGL to GPL.
82798
82799 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82800
82801         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
82802         assumed to refer to the root of the most recent stable gettext version.
82803         * config/srclistvars.sh: Add defaults for eggert.
82804         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
82805         Match "This program" as well as "The program".  This is needed
82806         for gettext.
82807
82808 2003-07-14  Jim Meyering  <jim@meyering.net>
82809
82810         Don't emit diagnostics.  Let callers do that.
82811         * lib/save-cwd.c: Don't include "error.h".
82812         (save_cwd): Don't call error.  Ensure that errno is valid
82813         when returning nonzero.
82814
82815         * lib/save-cwd.h (restore_cwd): Update prototype.
82816         * lib/save-cwd.c (restore_cwd): Remove two parameters.
82817         Simplify.  Don't call error upon failure.  Let callers do that.
82818         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
82819         when auditing is enabled.  But don't bother updating the #if.
82820
82821 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
82822
82823         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
82824         it breaks C++ compilation.
82825         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
82826
82827 2003-07-10  Simon Josefsson  <jas@extundo.com>
82828
82829         * modules/strchrnul (Makefile.am): Add strchrnul.h.
82830
82831 2003-07-10  Jim Meyering  <jim@meyering.net>
82832
82833         * m4/clock_time.m4: Remove trailing blank.
82834         * m4/intmax_t.m4: Likewise.
82835
82836 2003-07-10  Jim Meyering  <jim@meyering.net>
82837
82838         * lib/vasnprintf.c: Remove trailing blanks.
82839         Make cpp indentation consistent.
82840
82841 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82842
82843         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
82844         posixver.c, strftime.c, strnlen.c, strverscmp.c:
82845         Switch from LGPL to GPL.
82846
82847 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82848
82849         * config/srclist.txt: Sort sublists.  Add
82850         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
82851         that differ from gnulib for one reason or another; we'd like this list
82852         to be smaller but for now let's document what we have.
82853
82854 2003-07-08  Paul Eggert  <eggert@twinsun.com>
82855
82856         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
82857         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
82858         and sweeter "eval x=$x".
82859         * config/srclist.txt: Get lib/argp* from glibc.
82860
82861 2003-07-07  Paul Eggert  <eggert@twinsun.com>
82862
82863         * lib/mktime.c: Fix some boundary cases and remove need for floating
82864         point.
82865
82866         Issue a compile-time diagnostic if time_t is floating point, or if
82867         two's complement arithmetic is not in effect, or if arithmetic
82868         right shift does not propagate the sign.  These assumptions were
82869         all in the original code but they weren't checked.
82870
82871         (TIME_T_MIDPOINT, verify): New macros.
82872         (__isleap): Remove; it has integer overflow problems.
82873         (leapyear): New function, without those problems.
82874         (ydhms_tm_diff): Remove; splitting into two parts.
82875         (ydhms_diff): New function, containing the arithmetic part of
82876         the old ydhms_tm_diff function.  Issue a compile-time
82877         diagnostic if we are not using C99 integer division.
82878         Avoid casts when possible.
82879         (guess_time_tm): New function, containing the checking part of
82880         the old ydhms_tm_diff function.  Return the new value, rather than
82881         the difference between it and the old.  Accept a new argument T
82882         so that *T specifies the old value.  Check for overflow in the result.
82883
82884         (__mktime_internal): Use a time_t offset, not a long int offset.
82885         This undoes the 2003-06-04 change, which is no longer needed now
82886         that we have better overflow checking.
82887         (localtime_offset): Likewise.
82888
82889         (__mktime_internal): Avoid harmful overflow on hosts where time_t
82890         and long are 64-bit but int is only 32-bit.
82891         (ydhms_diff): Use long int to store year1 and yday1.
82892         Issue a compile-time diagnostic if long int is not wide enough.
82893
82894         (__mktime_internal): Use long int to store adjusted year and yday.
82895         Use plain C rather than preprocessor commands, if that doesn't
82896         affect efficiency.
82897         Check for overflow (and try to repair) after each probe
82898         rather than checking only at the very end.  This avoids some bugs
82899         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
82900         does not equal GMT offset at maximum time).
82901         Use integer to check for overflow rather than floating point; this
82902         is more portable to non-IEEE hosts, and is a tad faster.
82903         When we detect that we are oscillating between two values,
82904         don't check whether tm_isdst has the requested value, since
82905         we already know the answer.  When tm_isdst has the wrong value,
82906         use a different heuristic to find the right one, based on the
82907         extreme values actually observed in practice in tz2003a,
82908         rather than the (overly optimistic) "previous 3 calendar quarters".
82909
82910         (not_equal_tm, print_tm, check_result): Use "const T" rather than
82911         "T const" to accommodate glibc style.
82912         (check_result): Use less-confusing report format.  "long" -> "long int.
82913         (main): Likewise.
82914         Don't loop if the iteration overflows time_t.
82915         Allow a negative step in the iteration.
82916
82917 2003-07-06  Karl Berry  <karl@gnu.org>
82918
82919         * config/depcomp: update from automake.
82920         * config/config.sub: update from prep.
82921
82922 2003-07-03  Karl Berry  <karl@gnu.org>
82923
82924         * config/config.guess: update from prep.
82925
82926 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82927
82928         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
82929         xreadlink.c now includes it unconditionally.
82930
82931 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82932
82933         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
82934         having it depend on HAVE_SYS_TYPES_H.
82935
82936 2003-07-01  Bruno Haible  <bruno@clisp.org>
82937
82938         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
82939         <sys/types.h> should be sufficient.
82940         Reported by Paul Eggert.
82941
82942 2003-06-26  Karl Berry  <karl@gnu.org>
82943
82944         * config/depcomp: update from automake.
82945
82946 2003-06-26  Bruno Haible  <bruno@clisp.org>
82947
82948         * modules/human: Depend on module stdbool.
82949
82950 2003-06-25  Bruno Haible  <bruno@clisp.org>
82951
82952         * modules/readlink: New file.
82953         * modules/xreadlink: Depend on it.
82954         * MODULES.html.sh (func_all_modules): Add readlink.
82955
82956 2003-06-25  Bruno Haible  <bruno@clisp.org>
82957
82958         * m4/readlink.m4: New file.
82959
82960 2003-06-25  Bruno Haible  <bruno@clisp.org>
82961
82962         * lib/readlink.c: New file.
82963
82964 2003-06-22  Karl Berry  <karl@gnu.org>
82965
82966         * config/srclist.txt: update mkinstalldirs from automake.
82967         * config/mkinstalldirs: update.
82968
82969 2003-06-22  Bruno Haible  <bruno@clisp.org>
82970
82971         Portability to mingw32.
82972         * m4/ssize_t.m4: New file, from GNU gettext.
82973         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
82974         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
82975
82976 2003-06-22  Bruno Haible  <bruno@clisp.org>
82977
82978         * modules/safe-read: Add m4/ssize_t.m4.
82979         * modules/xreadlink: Add m4/ssize_t.m4.
82980
82981 2003-06-20  Bruno Haible  <bruno@clisp.org>
82982
82983         Assume C89, so PARAMS isn't needed.
82984         * lib/unicodeio.h (PARAMS): Remove.
82985         * lib/unicodeio.c: Don't use PARAMS.
82986
82987 2003-06-18  Karl Berry  <karl@gnu.org>
82988
82989         * config/config.{guess,sub}: update from prep.
82990
82991 2003-06-18  Jim Meyering  <jim@meyering.net>
82992
82993         Merge changes from coreutils.
82994         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
82995         Remove explicit declarations of xmalloc and realloc.
82996         Include xalloc.h.
82997         (read_utmp): Remove anachronistic cast of xmalloc.
82998
82999 2003-06-17  Paul Eggert  <eggert@twinsun.com>
83000
83001         Assume C89, so PARAMS isn't needed.
83002         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
83003         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
83004         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
83005         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
83006         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
83007         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
83008         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
83009         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
83010         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
83011         lib/xstrtod.h, lib/xstrtol.h: Likewise.
83012         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
83013         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
83014         no longer needed. Anyway, config.h should always be included before any
83015         other file.
83016
83017 2003-06-11  Simon Josefsson  <jas@extundo.com>
83018
83019         * modules/sysexits: New file.
83020         * MODULES.html.sh (func_all_modules): Add sysexits.
83021
83022 2003-06-11  Simon Josefsson  <jas@extundo.com>
83023
83024         * lib/sysexit_.h: New file.
83025
83026 2003-06-11  Derek Price  <derek@ximbiot.com>
83027
83028         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
83029         necessary.
83030
83031 2003-06-11  Bruno Haible  <bruno@clisp.org>
83032
83033         * m4/sysexits.m4: New file.
83034
83035 2003-06-10  Simon Josefsson  <jas@extundo.com>
83036
83037         * lib/argp.h: New file, from glibc.
83038         * lib/argp-ba.c: New file, from glibc.
83039         * lib/argp-eexst.c: New file, from glibc.
83040         * lib/argp-fmtstream.c: New file, from glibc.
83041         * lib/argp-fmtstream.h: New file, from glibc.
83042         * lib/argp-fs-xinl.c: New file, from glibc.
83043         * lib/argp-help.c: New file, from glibc.
83044         * lib/argp-namefrob.h: New file, from glibc.
83045         * lib/argp-parse.c: New file, from glibc.
83046         * lib/argp-pv.c: New file, from glibc.
83047         * lib/argp-pvh.c: New file, from glibc.
83048         * lib/argp-xinl.c: New file, from glibc.
83049
83050 2003-06-10  Simon Josefsson  <jas@extundo.com>
83051
83052         * modules/strchrnul: New file.
83053
83054 2003-06-10  Simon Josefsson  <jas@extundo.com>
83055
83056         * modules/argp: New file.
83057
83058 2003-06-10  Simon Josefsson  <jas@extundo.com>
83059
83060         * m4/strchrnul.m4: New file.
83061
83062 2003-06-10  Simon Josefsson  <jas@extundo.com>
83063
83064         * lib/strchrnul.h: New file.
83065         * lib/strchrnul.c: New file.
83066
83067 2003-06-10  Bruno Haible  <bruno@clisp.org>
83068
83069         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
83070
83071 2003-06-07  Karl Berry  <karl@gnu.org>
83072
83073         * config/config.{guess,sub}: update from prep.
83074
83075 2003-06-07  Jim Meyering  <jim@meyering.net>
83076
83077         * modules/strtod: Use $(...) notation, not @...@ for
83078         AC_REPLACE'd variables.
83079         * modules/localcharset: Likewise.
83080
83081 2003-06-07  Jim Meyering  <jim@meyering.net>
83082
83083         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
83084         in place of my name in the copyright comment.
83085         Remove definition and uses of __P.
83086
83087         From coreutils.
83088         * lib/stat.c: Don't declare xmalloc explicitly.
83089         Instead, include "xalloc.h".
83090         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
83091         xrealloc, and xcalloc return values.
83092         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
83093         Improve comment.
83094         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
83095
83096 2003-06-07  Bruno Haible  <bruno@clisp.org>
83097
83098         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
83099         avoid AC_CONFIG_LINKS.
83100         * modules/fnmatch (Makefile.am): Use explicit creation rule for
83101         fnmatch.h, to avoid AC_CONFIG_LINKS.
83102         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
83103
83104 2003-06-07  Bruno Haible  <bruno@clisp.org>
83105
83106         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
83107         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
83108         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83109         directory.
83110         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
83111         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83112         directory.
83113
83114 2003-06-06  Jim Meyering  <jim@meyering.net>
83115
83116         Merge from coreutils.
83117         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
83118         Consolidate declarations and initializations of *_base* locals.
83119
83120         Merge from coreutils.
83121         This avoids a core dump on systems without GNU putenv,
83122         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
83123         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
83124         (unsetenv): New static function, from GNU libc.
83125         (rpl_putenv): Use it.
83126
83127         * lib/modechange.c: Remove trailing blanks.
83128
83129         Merge from coreutils.
83130         * lib/fsusage.c: Remove declaration of statfs.
83131         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
83132
83133         * lib/posixtm.c: Include <stdbool.h> unconditionally.
83134
83135 2003-06-06  Jim Meyering  <jim@meyering.net>
83136
83137         * lib/stdbool_.h: Renamed from stdbool.h.in.
83138
83139 2003-06-06  Jim Meyering  <jim@meyering.net>
83140             Bruno Haible  <bruno@clisp.org>
83141
83142         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
83143         Adjust Makefile.am snippet not to redirect directly to target.
83144         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
83145
83146 2003-06-05  Paul Eggert  <eggert@twinsun.com>
83147
83148         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
83149         mismatch, look in future quarters as well as past.  This fixes a
83150         bug when processing fall-backwards gaps immediately after a long
83151         period of daylight-saving time.
83152
83153         * lib/mktime.c: Assume freestanding C89 or better.
83154         (HAVE_LIMITS_H): Remove.  Assume it's 1.
83155         (__P): Remove; not used.
83156         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
83157         (mktime, not_equal_tm, print_tm, check_result,
83158         main): Use prototypes.  Use const * where appropriate.
83159         (main): Fix typo in testing code that uncovered by above changes.
83160         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
83161
83162 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83163
83164         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
83165         locale.h, localeconv.  This merges changes from coreutils.
83166
83167         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
83168         It can be removed after the next Autoconf is released.
83169         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
83170         needed.
83171
83172 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83173
83174         * lib/mktime.c: Fix Debian bug 177940
83175         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
83176         (localtime_offset): Now long int, not time_t, because we want it
83177         to be guaranteed to be signed.  All uses changed.
83178         (__mktime_internal): If overflow would occur when adding offset,
83179         don't add it.
83180
83181         Merge 'human' changes from coreutils.  Rewrite to support
83182         locale-specific notations like thousands separators.
83183         * lib/human.c: Simplify authorship notice.
83184         Include human.h immediately after config.h.
83185         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
83186         <limits.h>: Do not include, since human.h does.
83187         (SIZE_MAX, UINTMAX_MAX): New macros.
83188         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
83189         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
83190         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
83191         (power_letter): Renamed from suffixes.
83192         (generate_suffix_backwards): Remove.
83193         (adjust_value): Now takes int style (because of human.h changes)
83194         and long double value (for greater precision on some platforms).
83195         (group_number): New function.
83196         (human_readable): Use it.  Use integer options, not enum.
83197         Put the options before the sizes in the arg list.
83198         Support all the new options.
83199         The old human_readable function has been removed;
83200         use inttostr.h instead.
83201         (human_readable, default_block_size, humblock):
83202         Use uintmax_t, not int, for block sizes.
83203         (human_readable_inexact, block_size_types): Remove.
83204         (block_size_opts): New constant.
83205         (human_options): Renamed from human_block_size, with new signature
83206         that allows block sizes up to UINTMAX_MAX.  All callers changed.
83207         * lib/human.h: Add copyright and authorship notice.
83208         Include <limits.h> and <stdbool.h> unconditionally.
83209         (PARAMS): Remove.  All uses removed.
83210         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
83211         (enum human_inexact_style): Remove tag; now a nameless enum.
83212         (human_floor, human_ceiling, human_round_to_even): Now have
83213         values 2, 0, 1 rather than -1, 1, 0.
83214         (human_group_digits, human_suppress_point_zero, human_autoscale,
83215         human_base_1024, human_SI, human_B): New constants.
83216         (human_readable_inexact, human_block_size): Remove.
83217         (human_readable): Size args are now uintmax_t, not int.
83218         (human_options): New decl.
83219
83220         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
83221         unnecessary now that we assume C89 or better.  This change
83222         imported from coreutils.
83223
83224         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83225         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
83226         in the 2003-05-30 sync from glibc.
83227
83228         .h files should stand alone, but we shouldn't include <sys/types.h>
83229         if we can get away with just <stddef.h>.
83230
83231         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
83232         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
83233         rather than <sys/types.h>, as we merely need size_t.
83234         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
83235         to get size_t.
83236         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
83237         Include <stdio.h>, to get FILE.
83238         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
83239         memcasecmp.h has included <stddef.h> and all we need is size_t.
83240         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
83241         our interface, instead of including <sys/types.h>
83242
83243 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83244
83245         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
83246         now, as glibc mktime is buggy on non-glibc systems.
83247
83248 2003-06-03  Karl Berry  <karl@gnu.org>
83249
83250         * config/config.sub: update from prep.
83251
83252 2003-06-02  Paul Eggert  <eggert@twinsun.com>
83253
83254         [from coreutils]
83255         Fix some minor time-related bugs with POSIX time arguments.
83256         Some valid time stamps were being rejected (notably -1, and
83257         time stamps before 1900 on 64-bit hosts).  And some invalid
83258         time stamps were being accepted, e.g. September 31.
83259
83260         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
83261         that we can return (time_t) -1 successfully.
83262         * lib/posixtm.c: Likewise.
83263         [HAVE_STDBOOL_H]: Include <stdbool.h>.
83264         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
83265         (t): Remove static var.
83266         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
83267         of static var.  All uses changed.
83268         (year): Do not reject years before 1900; they can occur with
83269         64-bit time_t.
83270         (posix_time_parse): Do not check for out-of-range components;
83271         that is now the caller's responsibility, since our checks were
83272         only approximations.
83273         (posixtime): Use mktime to check for out-of-range components,
83274         since it knows them exactly.
83275         If mktime returns (time_t) -1, check whether an error actually occurred
83276         by invoking localtime on -1.
83277         (main) [TEST_POSIXTIME]: Check for input data errors, and report
83278         posixtime failures better.
83279         Improve the test data (in comments only).
83280
83281 2003-06-02  Karl Berry  <karl@gnu.org>
83282
83283         * config/mkinstalldirs (version): new variable.
83284         (--version): new option.
83285         (usage): improve message.
83286
83287 2003-05-30  Karl Berry  <karl@gnu.org>
83288
83289         * lib/mktime.c: update from libc.
83290
83291 2003-05-30  Bruno Haible  <bruno@clisp.org>
83292
83293         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
83294         * config/config.rpath: Upgrade to gettext-0.12.1.
83295
83296 2003-05-30  Bruno Haible  <bruno@clisp.org>
83297
83298         * m4/gettext.m4: Upgrade to gettext-0.12.1.
83299         * m4/nls.m4: New file, from gettext-0.12.1.
83300         * m4/po.m4: New file, from gettext-0.12.1.
83301         * m4/progtest.m4: Upgrade to gettext-0.12.1.
83302
83303 2003-05-30  Bruno Haible  <bruno@clisp.org>
83304
83305         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
83306         * lib/localcharset.h: Likewise.
83307         * lib/localcharset.c: Likewise.
83308
83309 2003-05-29  Karl Berry  <karl@gnu.org>
83310
83311         * config/config.rpath: update from gettext.
83312
83313 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83314
83315         Assume the headers required for C89 freestanding compilers.
83316         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
83317         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
83318         * m4/human.m4 (gl_HUMAN): Likewise.
83319         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
83320         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
83321         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83322         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
83323         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83324         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
83325
83326 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83327
83328         Assume the headers required for C89 freestanding compilers.
83329         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
83330         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
83331         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
83332         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
83333         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
83334         define, since <limits.h> is guaranteed to do that.
83335         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
83336         * lib/exclude.c: Include <stdbool.h> unconditionally.
83337         * lib/tempname.c: Include <stddef.h> unconditionally.
83338         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
83339         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
83340         <stddef.h> does that.
83341         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
83342         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
83343         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
83344         needed.
83345         * lib/xstrtol.c: Likewise.
83346         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
83347         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
83348
83349         * lib/addext.c (addext): Use assignment rather than cast, to avoid
83350         warnings on some platforms.
83351
83352         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83353         arbitrarily.
83354
83355 2003-05-26  Jim Meyering  <jim@meyering.net>
83356
83357         Merge in a change from coreutils:
83358         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
83359         that is guaranteed to be `no'.  Use `no_such_member' to indicate
83360         that condition, rather than `-1' which is slightly misleading.
83361         Change the name of the cache variable to have the gl_ prefix.
83362         Prompted by a patch from Richard Dawe for DJGPP.
83363
83364 2003-05-24  Karl Berry  <karl@gnu.org>
83365
83366         * config/config.guess: update from prep.
83367
83368 2003-05-22  Karl Berry  <karl@gnu.org>
83369
83370         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
83371
83372 2003-05-20  Karl Berry  <karl@gnu.org>
83373
83374         * config/config.guess: update from prep.
83375
83376 2003-05-18  Karl Berry  <karl@gnu.org>
83377
83378         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
83379         might actually be set by the user.
83380
83381         * config/depcomp, install-sh, mdate-sh: update from automake.
83382
83383 2003-05-17  Bruno Haible  <bruno@clisp.org>
83384
83385         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83386         invalid expansion for AC_EGREP_CPP.
83387         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83388         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83389         Suggested by Akim Demaille <akim@epita.fr> in
83390         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83391
83392 2003-05-12  Jim Meyering  <jim@meyering.net>
83393
83394         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83395         the space-padded-by-default conversion specifiers, %e, %k, %l.
83396
83397 2003-05-12  Bruno Haible  <bruno@clisp.org>
83398
83399         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83400         the string is longer than 4 KB.
83401
83402 2003-05-11  Karl Berry  <karl@gnu.org>
83403
83404         * config/config.{guess,sub}: update from prep.
83405
83406 2003-05-09  Bruno Haible  <bruno@clisp.org>
83407
83408         * modules/error: Add m4/strerror_r.m4 to file list.
83409
83410 2003-05-03  Bruno Haible  <bruno@clisp.org>
83411
83412         Upgrade to Unicode-4.0.
83413         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83414         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83415         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83416         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83417         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83418         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83419         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83420         Change width of U+E0100..U+E01EF from 1 to 0.
83421
83422 2003-04-25  Jim Meyering  <jim@meyering.net>
83423
83424         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83425         of type size_t, not int.
83426
83427 2003-04-25  Bruno Haible  <bruno@clisp.org>
83428
83429         * lib/copy-file.c: Include <stddef.h>, for size_t.
83430
83431 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83432
83433         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83434         code which expansion is under static control.  Patch imported from
83435         Akim Demaille's patch to Bison; see
83436         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83437
83438 2003-04-14  Bruno Haible  <bruno@clisp.org>
83439
83440         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83441
83442 2003-04-11  Jim Meyering  <jim@meyering.net>
83443
83444         Merge changes from Coreutils.
83445
83446         2003-03-22  Jim Meyering  <jim@meyering.net>
83447
83448         * lib/strftime.c (widen): Cast alloca return value to proper type.
83449
83450         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83451
83452         From GNU libc.
83453         * lib/strftime.c (my_strftime): Handle very large width
83454         specifications for numeric values correctly.  Improve checks for
83455         overflow.
83456
83457         2003-01-19  Jim Meyering  <jim@meyering.net>
83458
83459         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83460         definitions.
83461         (nl_get_alt_digit) [! defined my_strftime]: Define.
83462         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83463         _nl_get_alt_digit and _nl_get_walt_digit.
83464
83465         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83466         libc. These changes have no effect outside of _LIBC.
83467
83468 2003-04-10  Bruno Haible  <bruno@clisp.org>
83469
83470         * modules/findprog: New file.
83471         * MODULES.html.sh (func_all_modules): Add it.
83472
83473 2003-04-10  Bruno Haible  <bruno@clisp.org>
83474
83475         * m4/findprog.m4: New file.
83476         * m4/eaccess.m4: New file.
83477
83478 2003-04-10  Bruno Haible  <bruno@clisp.org>
83479
83480         * lib/findprog.h: New file, from GNU gettext.
83481         * lib/findprog.c: New file, from GNU gettext.
83482
83483 2003-04-05  Jim Meyering  <jim@meyering.net>
83484
83485         Merge changes from Coreutils.
83486
83487         * lib/exclude.h (PARAMS): Remove definition and uses.
83488         * lib/exclude.c: Remove uses of `PARAMS'.
83489
83490         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83491         Add test-cases for DOS filenames. Declare program_name.
83492         (main): Set up program_name.  Patch by Rich Dawe.
83493
83494         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83495         error from mntctl.
83496         Use mntctl's return value to drive the entry-processing loop, since
83497         we can't rely on the value of the vmt_length member in the last
83498         entry.  On some systems doing so could result in exhausting
83499         virtual memory.  Based in part on a patch from Mike Jetzer.
83500
83501 2003-04-04  Bruno Haible  <bruno@clisp.org>
83502
83503         * modules/linebreak: New file.
83504         * MODULES.html.sh (func_all_modules): Add it.
83505
83506 2003-04-04  Bruno Haible  <bruno@clisp.org>
83507
83508         * m4/linebreak.m4: New file.
83509
83510 2003-04-04  Bruno Haible  <bruno@clisp.org>
83511
83512         * lib/linebreak.h: New file, from GNU gettext.
83513         * lib/linebreak.c: New file, from GNU gettext with slight
83514         modifications.
83515         * lib/lbrkprop.h: New file, from GNU gettext.
83516
83517 2003-04-03  Bruno Haible  <bruno@clisp.org>
83518
83519         * modules/utf8-ucs4: New file.
83520         * modules/utf16-ucs4: New file.
83521         * modules/ucs4-utf8: New file.
83522         * modules/ucs4-utf16: New file.
83523         * MODULES.html.sh (func_all_modules): Add them.
83524
83525 2003-04-03  Bruno Haible  <bruno@clisp.org>
83526
83527         * m4/utf-ucs4.m4: New file.
83528         * m4/ucs4-utf.m4: New file.
83529
83530 2003-04-03  Bruno Haible  <bruno@clisp.org>
83531
83532         * lib/utf8-ucs4.h: New file, from GNU gettext.
83533         * lib/utf16-ucs4.h: New file, from GNU gettext.
83534         * lib/ucs4-utf8.h: New file, from GNU gettext.
83535         * lib/ucs4-utf16.h: New file, from GNU gettext.
83536
83537 2003-04-02  Bruno Haible  <bruno@clisp.org>
83538
83539         * modules/binary-io: New file.
83540         * MODULES.html.sh (func_all_modules): Add it.
83541
83542 2003-04-02  Bruno Haible  <bruno@clisp.org>
83543
83544         * lib/binary-io.h: New file, from GNU gettext.
83545
83546 2003-04-01  Bruno Haible  <bruno@clisp.org>
83547
83548         * modules/pathname: New file.
83549         * MODULES.html.sh (func_all_modules): Add it.
83550
83551 2003-04-01  Bruno Haible  <bruno@clisp.org>
83552
83553         * lib/pathname.h: New file, from GNU gettext.
83554         * lib/concatpath.c: New file, from GNU gettext.
83555
83556 2003-03-30  Bruno Haible  <bruno@clisp.org>
83557
83558         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83559
83560 2003-03-30  Bruno Haible  <bruno@clisp.org>
83561
83562         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83563         function chown() doesn't exist.
83564
83565 2003-03-28  Bruno Haible  <bruno@clisp.org>
83566
83567         * modules/copy-file: New file.
83568         * MODULES.html.sh (func_all_modules): Add it.
83569
83570 2003-03-28  Bruno Haible  <bruno@clisp.org>
83571
83572         * m4/copy-file.m4: New file.
83573
83574 2003-03-28  Bruno Haible  <bruno@clisp.org>
83575
83576         * lib/copy-file.h: New file, from GNU gettext.
83577         * lib/copy-file.c: New file, from GNU gettext.
83578
83579 2003-03-18  Jim Meyering  <jim@meyering.net>
83580
83581         * lib/quote.c (quote_n): Fix typo in comment.
83582
83583 2003-03-18  Bruno Haible  <bruno@clisp.org>
83584
83585         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83586         checking.
83587         * m4/onceonly_2_57.m4: Likewise.
83588
83589 2003-03-17  Bruno Haible  <bruno@clisp.org>
83590
83591         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83592         (m4_quote): Remove macro.
83593         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83594
83595 2003-03-14  Jim Meyering  <jim@meyering.net>
83596
83597         Merge changes from Coreutils.
83598         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83599         to be const, in order to avoid warnings.
83600         (obstack_room): Likewise.
83601         (obstack_empty_p): Likewise.
83602
83603 2003-03-14  Bruno Haible  <bruno@clisp.org>
83604
83605         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83606         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83607
83608 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83609
83610         Merge changes from Bison.
83611         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83612         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83613         when compiling Bison 1.875's `bitset bset = obstack_alloc
83614         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83615         * lib/hash.c: Include <stdbool.h> unconditionally.
83616
83617 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83618
83619         * m4/onceonly.m4 (m4_quote): New macro.
83620         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83621         Quote AC_FOREACH variable-expansions properly.
83622
83623 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83624
83625         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83626
83627 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83628
83629         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83630         Reported by Bruce Becker; see:
83631         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83632
83633 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83634             Bruno Haible  <bruno@clisp.org>
83635
83636         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83637         Reported by John Hughes, see
83638         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83639
83640 2003-02-20  Bruno Haible  <bruno@clisp.org>
83641
83642         * MODULES.html.sh (func_all_modules): Add poll.
83643
83644 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83645
83646         * modules/poll: New file.
83647
83648 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83649
83650         * lib/poll_.h: New file.
83651         * lib/poll.c: New file.
83652
83653 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83654
83655         * m4/poll.m4: New file.
83656
83657 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83658
83659         * modules/mathl: New file.
83660
83661 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83662
83663         * lib/mathl.h: New file.
83664         * lib/acosl.c: New file.
83665         * lib/asinl.c: New file.
83666         * lib/atanl.c: New file.
83667         * lib/ceill.c: New file.
83668         * lib/cosl.c: New file.
83669         * lib/expl.c: New file.
83670         * lib/floorl.c: New file.
83671         * lib/frexpl.c: New file.
83672         * lib/ldexpl.c: New file.
83673         * lib/logl.c: New file.
83674         * lib/sincosl.c: New file.
83675         * lib/sinl.c: New file.
83676         * lib/sqrtl.c: New file.
83677         * lib/tanl.c: New file.
83678         * lib/trigl.c: New file.
83679         * lib/trigl.h: New file.
83680
83681 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83682
83683         * m4/mathl.m4: New file.
83684
83685 2003-02-18  Bruno Haible  <bruno@clisp.org>
83686
83687         * MODULES.html.sh (func_all_modules): Add mathl.
83688
83689 2003-02-17  Bruno Haible  <bruno@clisp.org>
83690
83691         * modules/mkdtemp: New module.
83692         * MODULES.html.sh (func_all_modules): Add it.
83693
83694 2003-02-17  Bruno Haible  <bruno@clisp.org>
83695
83696         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83697
83698 2003-02-17  Bruno Haible  <bruno@clisp.org>
83699
83700         * lib/mkdtemp.h: New file, from GNU gettext.
83701         * lib/mkdtemp.c: New file, from GNU gettext.
83702
83703 2003-02-02  Jim Meyering  <jim@meyering.net>
83704
83705         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83706         e.g. glibc-2.2.93.
83707
83708 2003-01-31  Bruno Haible  <bruno@clisp.org>
83709
83710         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83711         'rpl_rename'.
83712         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83713         'rpl_strnlen'.
83714         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83715         'rpl_strtod'.
83716         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83717         'rpl_utime'.
83718
83719 2003-01-31  Bruno Haible  <bruno@clisp.org>
83720
83721         * lib/rename.c: #undef rename before defining rpl_rename.
83722         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83723
83724 2003-01-30  Bruno Haible  <bruno@clisp.org>
83725
83726         * modules/vasnprintf, modules/vasprintf: New modules.
83727         * MODULES.html.sh (func_all_modules): Add them.
83728
83729 2003-01-30  Bruno Haible  <bruno@clisp.org>
83730
83731         * m4/signed.m4: New file, from GNU gettext.
83732         * m4/longdouble.m4: New file, from GNU gettext.
83733         * m4/wchar_t.m4: New file, from GNU gettext.
83734         * m4/wint_t.m4: New file, from GNU gettext.
83735         * m4/vasnprintf.m4: New file.
83736         * m4/vasprintf.m4: New file.
83737
83738 2003-01-30  Bruno Haible  <bruno@clisp.org>
83739
83740         * lib/printf-args.h: New file, from GNU gettext.
83741         * lib/printf-args.c: New file, from GNU gettext.
83742         * lib/printf-parse.h: New file, from GNU gettext.
83743         * lib/printf-parse.c: New file, from GNU gettext.
83744         * lib/vasnprintf.h: New file, from GNU gettext.
83745         * lib/vasnprintf.c: New file, from GNU gettext.
83746         * lib/asnprintf.c: New file, from GNU gettext.
83747         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83748         * lib/vasprintf.c: New file, from GNU gettext.
83749         * lib/asprintf.c: New file, from GNU gettext.
83750
83751 2003-01-29  Bruno Haible  <bruno@clisp.org>
83752
83753         * modules/stpncpy: New module.
83754         * MODULES.html.sh (func_all_modules): Add it.
83755
83756 2003-01-29  Bruno Haible  <bruno@clisp.org>
83757
83758         * m4/stpncpy.m4: New file.
83759
83760 2003-01-29  Bruno Haible  <bruno@clisp.org>
83761
83762         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83763         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83764
83765 2003-01-28  Bruno Haible  <bruno@clisp.org>
83766
83767         * modules/c-ctype: New module.
83768         * MODULES.html.sh (func_all_modules): Add it.
83769
83770 2003-01-28  Bruno Haible  <bruno@clisp.org>
83771
83772         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83773         Paul Eggert.
83774         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83775         Paul Eggert.
83776
83777 2003-01-27  Bruno Haible  <bruno@clisp.org>
83778
83779         * modules/xsetenv: New module.
83780         * MODULES.html.sh (func_all_modules): Add it.
83781
83782 2003-01-27  Bruno Haible  <bruno@clisp.org>
83783
83784         * lib/xsetenv.h: New file, from GNU gettext.
83785         * lib/xsetenv.c: New file, from GNU gettext.
83786
83787 2003-01-23  Jim Meyering  <jim@meyering.net>
83788
83789         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83790         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83791
83792 2003-01-23  Bruno Haible  <bruno@clisp.org>
83793
83794         * modules/minmax: New module.
83795         * MODULES.html.sh (func_all_modules): Add it.
83796
83797 2003-01-23  Bruno Haible  <bruno@clisp.org>
83798
83799         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
83800         Eggert.
83801
83802 2003-01-22  Bruno Haible  <bruno@clisp.org>
83803
83804         * modules/exit: New module.
83805         * MODULES.html.sh (func_all_modules): Add it.
83806
83807 2003-01-22  Bruno Haible  <bruno@clisp.org>
83808
83809         * lib/exit.h: New file, from GNU gettext.
83810
83811 2003-01-19  Bruno Haible  <bruno@clisp.org>
83812
83813         * gnulib-tool: Recognize option --extract-maintainer.
83814         (func_get_maintainer): New function.
83815         * modules/*: Add Maintainer entry.
83816
83817 2003-01-16  Jim Meyering  <jim@meyering.net>
83818
83819         * m4/regex.m4: The `regex' struct is both input and output.
83820         Initialize it before each use.  Patch by Tim Waugh.
83821
83822 2003-01-16  Bruno Haible  <bruno@clisp.org>
83823
83824         * MODULES.html.sh: Add a table of contents. Add the module name as
83825         leftmost column. Add hyperlinks.
83826
83827 2003-01-15  Bruno Haible  <bruno@clisp.org>
83828
83829         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
83830
83831 2003-01-15  Bruno Haible  <bruno@clisp.org>
83832
83833         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
83834         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
83835         suffix.
83836
83837 2003-01-15  Bruno Haible  <bruno@clisp.org>
83838
83839         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
83840
83841 2003-01-15  Bruno Haible  <bruno@clisp.org>
83842
83843         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
83844         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
83845
83846 2003-01-14  Jim Meyering  <jim@meyering.net>
83847
83848         * lib/same.c (same_name): Tweak a comment.
83849
83850 2003-01-14  Bruno Haible  <bruno@clisp.org>
83851
83852         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
83853         when a string comparison is sufficient.
83854
83855 2003-01-14  Bruno Haible  <bruno@clisp.org>
83856
83857         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
83858         'unsigned int'.
83859
83860 2003-01-14  Bruno Haible  <bruno@clisp.org>
83861
83862         * lib/hash-pjw.c: Add comment about low quality of this function.
83863
83864 2003-01-13  Bruno Haible  <bruno@clisp.org>
83865
83866         * modules/stpcpy: Distribute lib/stpcpy.h.
83867         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
83868
83869 2003-01-13  Bruno Haible  <bruno@clisp.org>
83870
83871         * modules/*: Add a description.
83872         * modules/strpbrk: Fix Makefile.am snippet.
83873         * modules/strtoimax: Fix dependencies.
83874         * modules/strtoumax: Likewise.
83875
83876 2003-01-13  Bruno Haible  <bruno@clisp.org>
83877
83878         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
83879         * modules/alloca (Makefile.am): All object files depend on alloca.h.
83880         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
83881
83882 2003-01-13  Bruno Haible  <bruno@clisp.org>
83883
83884         * gnulib-tool (func_create_testdir): Store config/* files in the main
83885         directory.
83886         * config.rpath: Move to ...
83887         * config/config.rpath: ... here.
83888         * modules/gettext: Contains config/config.rpath, not config.rpath.
83889         * modules/iconv: Likewise.
83890
83891 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83892
83893         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83894         to avoid collisions with libcurses and libreadline.
83895
83896         * m4/getstr.m4: Remove.
83897         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
83898
83899 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83900
83901         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83902         to avoid collisions with libcurses and libreadline.
83903
83904         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
83905         * lib/getstr.h, getstr.c: Remove.
83906         * lib/getline.c: Include "getline.h", to check interface.
83907         Move body of old getstr.c here: this defines MIN_CHUNK and
83908         declares getdelim2, which is renamed from getstr.
83909         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
83910
83911         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
83912         All uses changed.
83913         * lib/linebuffer.h: Likewise.
83914         (readline): Remove backward-compatibility macro.
83915
83916 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83917
83918         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83919         to avoid collisions with libcurses and libreadline.
83920         * getstr: Remove.
83921         * MODULES.html.sh: Remove getstr.
83922         * modules/getline: Depend on unlocked-io, not getstr.
83923
83924 2003-01-12  Jim Meyering  <jim@meyering.net>
83925
83926         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
83927
83928 2003-01-10  Bruno Haible  <bruno@clisp.org>
83929
83930         * modules/alloca: Change Makefile.am requirements. Simplify Include
83931         requirements. Add lib/alloca_.h to file list.
83932
83933 2003-01-10  Bruno Haible  <bruno@clisp.org>
83934
83935         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
83936
83937 2003-01-10  Bruno Haible  <bruno@clisp.org>
83938
83939         * lib/alloca_.h: New file.
83940         * lib/getdate.y: Unconditionally include alloca.h.
83941         * lib/makepath.c: Likewise.
83942         * lib/setenv.c: Likewise.
83943         * lib/userspec.c: Likewise.
83944
83945 2003-01-09  Karl Berry  <karl@gnu.org>
83946
83947         * MODULES.html.sh: include `dirname $0` in PATH, to find
83948         gnulib-tool.
83949
83950 2003-01-09  Bruno Haible  <bruno@clisp.org>
83951
83952         * modules/stdbool: Change configure.ac, Makefile.am requirements.
83953         Simplify Include requirements. Add lib/stdbool.h.in to file list.
83954
83955 2003-01-09  Bruno Haible  <bruno@clisp.org>
83956
83957         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
83958
83959 2003-01-09  Bruno Haible  <bruno@clisp.org>
83960
83961         * lib/stdbool.h.in: New file.
83962
83963 2003-01-09  Bruno Haible  <bruno@clisp.org>
83964
83965         * gnulib-tool (func_all_modules): Ignore files ending in ~.
83966         * MODULES.html.sh: Likewise.
83967
83968 2003-01-08  Jim Meyering  <jim@meyering.net>
83969
83970         * lib/full-write.c: Undefine and define-away `const' after inclusion
83971         of errno.h, not before.  Suggestion from Bruno Haible.
83972
83973 2003-01-08  Bruno Haible  <bruno@clisp.org>
83974
83975         * modules/full-read: Depend on full-write.
83976
83977 2003-01-08  Bruno Haible  <bruno@clisp.org>
83978
83979         * lib/safe-read.c: Include specification header first, to ensure its
83980         selfcontainedness.
83981         * lib/full-write.c: Likewise.
83982
83983 2003-01-07  Jim Meyering  <jim@meyering.net>
83984
83985         * lib/full-write.c: Rework so that it may serve to define full_read,
83986         too.
83987         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
83988
83989 2003-01-07  Bruno Haible  <bruno@clisp.org>
83990
83991         * lib/strtoimax.c: Include <stdint.h> as an alternative to
83992         <inttypes.h>.
83993         * lib/xstrtol.h: Likewise.
83994         * lib/xstrtoimax.c: Likewise.
83995         * lib/xstrtoumax.c: Likewise.
83996         * lib/human.h: Likewise.
83997
83998         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
83999         on systems that have <inttypes.h> but not <stdint.h>.
84000
84001 2003-01-07  Bruno Haible  <bruno@clisp.org>
84002
84003         * MODULES.html.sh: Add copyright notice.
84004         (missed_files): Omit CVS directory entries.
84005         (func_module): Make it work with sed-3.02.
84006         * MODULES.txt: Remove file.
84007
84008 2003-01-06  Jim Meyering  <jim@meyering.net>
84009
84010         * lib/version-etc.c: Update year in translatable copyright string.
84011
84012 2003-01-03  Karl Berry  <karl@gnu.org>
84013
84014         * config/config.{guess,sub}: update from prep.
84015
84016 2003-01-02  Karl Berry  <karl@gnu.org>
84017
84018         * doc/COPYING.DOC: belatedly updated to 1.2.
84019
84020 2003-01-01  Karl Berry  <karl@gnu.org>
84021
84022         * gnulib-tool (func_verify_module): report module name $module in
84023         error message, not $1.
84024         * gnulib-tool (create-testdir): don't complain if destdir couldn't
84025         be created, only if it doesn't exist.
84026         * gnulib-tool (last_checkin_date): don't expand the $Date here.
84027
84028 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84029
84030         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
84031
84032 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84033
84034         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
84035         memcmp if strcoll doesn't work.
84036
84037 2002-12-31  Bruno Haible  <bruno@clisp.org>
84038
84039         * lib/utime.c (utime_null): No need to call ftruncate if the file was
84040         nonempty.
84041
84042 2002-12-31  Bruno Haible  <bruno@clisp.org>
84043
84044         * lib/memcoll.c (STRCOLL): New macro.
84045         (memcoll): Use it.
84046
84047 2002-12-31  Bruno Haible  <bruno@clisp.org>
84048
84049         * lib/localcharset.h: New file.
84050         * lib/localcharset.c: Include it.
84051         * lib/unicodeio.c: Likewise.
84052
84053 2002-12-31  Bruno Haible  <bruno@clisp.org>
84054
84055         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
84056         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
84057
84058 2002-12-31  Bruno Haible  <bruno@clisp.org>
84059
84060         * lib/getline.h: Include <stddef.h>, for size_t.
84061
84062         * lib/unicodeio.h: Include <stddef.h>, for size_t.
84063         * lib/unicodeio.c: Don't include <stddef.h>.
84064
84065 2002-12-31  Bruno Haible  <bruno@clisp.org>
84066
84067         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
84068         HAVE_TM_ZONE.
84069
84070 2002-12-24  Karl Berry  <karl@gnu.org>
84071
84072         * config/config.guess: update from prep.
84073
84074 2002-12-24  Bruno Haible  <bruno@clisp.org>
84075
84076         General infrasructure.
84077         * m4/README: Rewritten.
84078         * m4/onceonly.m4: New file.
84079         * m4/onceonly_2_57.m4: New file.
84080
84081         Module atexit.
84082         * m4/atexit.m4: New file.
84083
84084         Module strtod.
84085         * m4/strtod.m4: New file.
84086
84087         Module strtol.
84088         * m4/strtol.m4: New file.
84089
84090         Module strtoul.
84091         * m4/strtoul.m4: New file.
84092
84093         Module memchr.
84094         * m4/memchr.m4: New file.
84095
84096         Module memcmp.
84097         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
84098         (jm_FUNC_MEMCMP): Invoke it.
84099
84100         Module memcpy.
84101         * m4/memcpy.m4: New file.
84102
84103         Module memmove.
84104         * m4/memmove.m4: New file.
84105
84106         Module memset.
84107         * m4/memset.m4: New file.
84108
84109         Module strcspn.
84110         * m4/strcspn.m4: New file.
84111
84112         Module strpbrk.
84113         * m4/strpbrk.m4: New file.
84114
84115         Module strstr.
84116         * m4/strstr.m4: New file.
84117
84118         Module strerror.
84119         * m4/strerror.m4: New file.
84120
84121         Module mktime.
84122         * m4/mktime.m4: Renamed from jm-mktime.m4.
84123         (gl_PREREQ_MKTIME): New macro.
84124         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
84125
84126         Module malloc.
84127         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
84128         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
84129         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
84130
84131         Module realloc.
84132         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
84133         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
84134         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
84135
84136         Module strftime.
84137         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
84138         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
84139         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
84140         gl_TM_GMTOFF.
84141         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
84142
84143         Module xalloc.
84144         * m4/xalloc.m4: New file.
84145
84146         Module alloca.
84147         * m4/alloca.m4: New file.
84148
84149         Module putenv.
84150         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
84151         (jm_FUNC_PUTENV): Invoke it.
84152
84153         Module setenv.
84154         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
84155         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
84156         when invoked twice.
84157         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
84158         gt_FUNC_SETENV.
84159
84160         Module memrchr.
84161         * m4/memrchr.m4: New file.
84162
84163         Module stpcpy.
84164         * m4/stpcpy.m4: New file.
84165
84166         Module strcase.
84167         * m4/strcase.m4: New file.
84168
84169         Module strdup.
84170         * m4/strdup.m4: New file.
84171
84172         Module strnlen.
84173         * m4/strnlen.m4: New file.
84174
84175         Module strndup.
84176         * m4/strndup.m4: New file.
84177
84178         Module xstrtod.
84179         * m4/xstrtod.m4: New file.
84180
84181         Module xstrtol.
84182         * m4/xstrtol.m4: New file.
84183
84184         Module getdate.
84185         * m4/getdate.m4: New file.
84186
84187         Module unlocked-io.
84188         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
84189         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
84190         * m4/jm-glibc-io.m4n: Remove file.
84191
84192         Module long-options.
84193         * m4/long-options.m4: New file.
84194
84195         Module md5.
84196         * m4/md5.m4: New file.
84197
84198         Module sha.
84199         * m4/sha.m4: New file.
84200
84201         Module getstr.
84202         * m4/getstr.m4: New file.
84203
84204         Module getline.
84205         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
84206         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
84207         <sys/types.h>, for size_t. Use the function name gnu_getline, not
84208         simply getline. Infoke gl_PREREQ_GETLINE.
84209
84210         Module obstack.
84211         * m4/obstack.m4: New file.
84212
84213         Module hash.
84214         * m4/hash.m4: New file.
84215
84216         Module readtokens.
84217         * m4/readtokens.m4: New file.
84218
84219         Module strverscmp.
84220         * m4/strverscmp.m4: New file.
84221
84222         Module stdbool.
84223         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
84224         OSF/1.
84225
84226         Module strtoll.
84227         * m4/strtoll.m4: New file.
84228
84229         Module strtoull.
84230         * m4/strtoull.m4: New file.
84231
84232         Module strtoimax.
84233         * m4/strtoimax.m4: New file.
84234
84235         Module strtoumax.
84236         * m4/strtoumax.m4: New file.
84237
84238         Module xstrtoimax.
84239         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
84240         jm_AC_PREREQ_XSTRTOIMAX.
84241         Moved the strtol prerequisites to strtol.m4.
84242         Moved the strtoll prerequisites to strtoll.m4.
84243         Moved the strtoimax prerequisites to strtoimax.m4.
84244
84245         Module xstrtoumax.
84246         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
84247         jm_AC_PREREQ_XSTRTOUMAX.
84248         Moved the strtoul prerequisites to strtoul.m4.
84249         Moved the strtoull prerequisites to strtoull.m4.
84250         Moved the strtoumax prerequisites to strtoumax.m4.
84251
84252         Module chown.
84253         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
84254         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
84255
84256         Module dup2.
84257         * m4/dup2.m4: New file.
84258
84259         Module ftruncate.
84260         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
84261         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
84262
84263         Module getgroups.
84264         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
84265         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
84266
84267         Module gettimeofday.
84268         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
84269         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
84270         gl_PREREQ_GETTIMEOFDAY.
84271
84272         Module mkdir.
84273         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
84274         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
84275
84276         Module mkstemp.
84277         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
84278         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
84279         jm_AC_TYPE_UINTMAX_T.
84280         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
84281
84282         Module stat.
84283         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
84284         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
84285
84286         Module lstat.
84287         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
84288         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
84289
84290         Module timespec.
84291         * m4/timespec.m4 (gl_TIMESPEC): New macro.
84292         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
84293         * m4/st_mtim.m4: Indentation.
84294
84295         Module nanosleep.
84296         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
84297         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
84298         gl_PREREQ_NANOSLEEP.
84299
84300         Module regex.
84301         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
84302         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
84303         (gl_REGEX): New macro.
84304
84305         Module rename.
84306         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
84307         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
84308
84309         Module rmdir.
84310         * m4/rmdir.m4: New file.
84311
84312         Module utime.
84313         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
84314         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
84315         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
84316
84317         Module dirname.
84318         * m4/dirname.m4: New file.
84319
84320         Module getopt.
84321         * m4/getopt.m4: New file.
84322
84323         Module unistd-safer.
84324         * m4/unistd-safer.m4: New file.
84325
84326         Module fnmatch.
84327         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
84328         declaration.
84329         (gl_PREREQ_FNMATCH_EXTRA): New macro.
84330         (gl_FUNC_FNMATCH_POSIX): New macro.
84331         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
84332         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
84333         simply fnmatch.
84334
84335         Module exclude.
84336         * m4/exclude.m4: New file.
84337
84338         Module human.
84339         * m4/human.m4: New file.
84340
84341         Module acl.
84342         * m4/acl.m4: Nop.
84343
84344         Module backupfile.
84345         * m4/backupfile.m4: New file.
84346         * m4/d-ino.m4: Indentation.
84347
84348         Module fsusage.
84349         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
84350         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
84351         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
84352
84353         Module dirfd.
84354         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
84355         requirements.
84356
84357         Module euidaccess.
84358         * m4/euidaccess.m4: New file.
84359
84360         Module file-type.
84361         * m4/file-type.m4: New file.
84362
84363         Module fileblocks.
84364         * m4/fileblocks.m4: New file.
84365
84366         Module filemode.
84367         * m4/filemode.m4: New file.
84368
84369         Module isdir.
84370         * m4/isdir.m4: New file.
84371
84372         Module lchown.
84373         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
84374         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
84375
84376         Module makepath.
84377         * m4/makepath.m4: New file.
84378
84379         Module modechange.
84380         * m4/modechange.m4: New file.
84381
84382         Module mountlist.
84383         * m4/mountlist.m4: New file.
84384         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84385         Indentation.
84386
84387         Module path-concat.
84388         * m4/path-concat.m4: New file.
84389
84390         Module pathmax.
84391         * m4/pathmax.m4: New file.
84392
84393         Module same.
84394         * m4/same.m4: New file.
84395
84396         Module save-cwd.
84397         * m4/save-cwd.m4: New file.
84398
84399         Module savedir.
84400         * m4/savedir.m4: New file.
84401
84402         Module xgetcwd.
84403         * m4/xgetcwd.m4: New file.
84404         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84405
84406         Module xreadlink.
84407         * m4/xreadlink.m4: New file.
84408
84409         Module safe-read.
84410         * m4/safe-read.m4: New file.
84411
84412         Module safe-write.
84413         * m4/safe-write.m4: New file.
84414
84415         Module closeout.
84416         * m4/closeout.m4: New file.
84417
84418         Module stdio-safer.
84419         * m4/stdio-safer.m4: New file.
84420
84421         Module getpass.
84422         * m4/getpass.m4: New file.
84423
84424         Module getugroups.
84425         * m4/getugroups.m4: New file.
84426
84427         Module group-member.
84428         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84429         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84430
84431         Module idcache.
84432         * m4/idcache.m4: New file.
84433
84434         Module userspec.
84435         * m4/userspec.m4: New file.
84436
84437         Module gettime.
84438         * m4/clock_time.m4: New file.
84439         * m4/gettime.m4: New file.
84440
84441         Module settime.
84442         * m4/settime.m4: New file.
84443
84444         Module posixtm.
84445         * m4/posixtm.m4: New file.
84446
84447         Module gethostname.
84448         * m4/gethostname.m4: New file.
84449
84450         Module canon-host.
84451         * m4/canon-host.m4: New file.
84452
84453         Module gettext.
84454         * m4/codeset.m4: New file, from gettext-0.11.5.
84455         * m4/gettext.m4: New file, from gettext-0.11.5.
84456         * m4/glibc21.m4: New file, from gettext-0.11.5.
84457         * m4/iconv.m4: New file, from gettext-0.11.5.
84458         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84459         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84460         * m4/inttypes.m4: New file, from gettext-0.11.5.
84461         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84462         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84463         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84464         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84465         * m4/lib-link.m4: New file, from gettext-0.11.5.
84466         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84467         * m4/progtest.m4: New file, from gettext-0.11.5.
84468         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84469         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84470         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84471
84472         Module localcharset.
84473         * m4/localcharset.m4: New file.
84474
84475         Module hard-locale.
84476         * m4/hard-locale.m4: New file.
84477
84478         Module mbswidth.
84479         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84480         onceonly macros.
84481         * m4/mbrtowc.m4: Add comment.
84482
84483         Module memcasecmp.
84484         * m4/memcasecmp.m4: New file.
84485
84486         Module memcoll.
84487         * m4/memcoll.m4: New file.
84488
84489         Module unicodeio.
84490         * m4/unicodeio.m4: New file.
84491
84492         Module rpmatch.
84493         * m4/rpmatch.m4: New file.
84494
84495         Module yesno.
84496         * m4/yesno.m4: New file.
84497
84498         Module exitfail.
84499         * m4/exitfail.m4: New file.
84500
84501         Module c-stack.
84502         * m4/c-stack.m4 (gl_C_STACK): New macro.
84503         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84504
84505         Module error.
84506         * m4/error.m4 (gl_ERROR): New macro.
84507         (jm_PREREQ_ERROR): Use onceonly macros.
84508
84509         Module fatal.
84510         * m4/fatal.m4: New file.
84511
84512         Module getloadavg.
84513         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84514         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84515
84516         Module getpagesize.
84517         * m4/getpagesize.m4: New file.
84518
84519         Module getusershell.
84520         * m4/getusershell.m4: New file.
84521
84522         Module physmem.
84523         * m4/physmem.m4: New file.
84524
84525         Module posixver.
84526         * m4/posixver.m4: New file.
84527
84528         Module quotearg.
84529         * m4/quotearg.m4: New file.
84530
84531         Module quote.
84532         * m4/quote.m4: New file.
84533
84534         Module readutmp.
84535         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84536
84537         Module sig2str.
84538         * m4/sig2str.m4: New file.
84539
84540         Other.
84541         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84542         ulonglong.m4.
84543         * m4/intmax_t.m4: New file.
84544         * m4/d-type.m4: Indentation.
84545         * m4/jm-macros.m4: Update.
84546         * m4/prereq.m4 (jm_PREREQ): Update.
84547         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84548         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84549         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84550         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84551         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84552         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84553         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84554         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84555         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84556         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84557         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84558         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84559         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84560         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84561         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84562         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84563         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84564         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84565         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84566
84567 2002-12-24  Bruno Haible  <bruno@clisp.org>
84568
84569         * MODULES.txt: Update according to m4/ changes.
84570
84571         Module gettext.
84572         * config.rpath: New file, from gettext-0.11.5.
84573
84574         * modules/*: New module descriptions.
84575         * gnulib-tool: New file.
84576         * MODULES.html.sh: New file.
84577
84578 2002-12-21  Karl Berry  <karl@gnu.org>
84579
84580         * doc/fdl.texi: update to version 1.2.
84581
84582 2002-12-19  Karl Berry  <karl@gnu.org>
84583
84584         * config/config.guess: update from prep.
84585
84586 2002-12-18  Bruno Haible  <bruno@clisp.org>
84587
84588         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84589         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84590
84591 2002-12-17  Bruno Haible  <bruno@clisp.org>
84592
84593         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84594         stdlib.h, string.h.
84595
84596 2002-12-17  Bruno Haible  <bruno@clisp.org>
84597
84598         * lib/canon-host.c (strdup): Remove unused declaration.
84599
84600         * lib/fsusage.c: Include full_read.h.
84601         (get_fs_usage): Use full_read instead of safe_read.
84602
84603         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84604
84605 2002-12-12  Karl Berry  <karl@gnu.org>
84606
84607         * config/config.guess: update from prep.
84608
84609 2002-12-11  Bruno Haible  <bruno@clisp.org>
84610
84611         * m4/setenv.m4: New file, from gettext-0.11.5.
84612
84613 2002-12-11  Bruno Haible  <bruno@clisp.org>
84614
84615         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84616         not unsetenv().
84617         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84618         modifications:
84619
84620         2002-12-11  Bruno Haible  <bruno@clisp.org>
84621
84622                 * setenv.c (alloca): Fall back to malloc.
84623                 (freea): New macro.
84624                 (setenv): Use freea() to free memory allocated with alloca().
84625
84626         2002-11-13  Bruno Haible  <bruno@clisp.org>
84627
84628                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84629                 function declarations.
84630                 * unsetenv.c (unsetenv): Likewise.
84631
84632         2002-03-04  Bruno Haible  <bruno@clisp.org>
84633
84634                 Portability to AIX 4.3.3.
84635                 * unsetenv.c: New file, extracted from setenv.c.
84636                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84637
84638         2001-12-20  Bruno Haible  <bruno@clisp.org>
84639
84640                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84641                 use malloc instead. For SunOS 4.
84642
84643         2001-12-11  Bruno Haible  <bruno@clisp.org>
84644
84645                 * setenv.c: Declare alloca.
84646                 (compar_fn_t): New typedef.
84647                 (KNOWN_VALUE, STORE_VALUE): Use it.
84648
84649         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84650         setenv.h.
84651
84652 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84653
84654         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84655         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84656         Choose values that are less likely to collide with system fnmatch
84657         options.
84658         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84659         defined (e.g., a pure POSIX system).
84660         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84661         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84662
84663 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84664
84665         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84666         a pain in practice to deal with generated m4 files.  This change
84667         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84668
84669         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84670         and jm-glibc-io.m4, as they are no longer a special case.
84671         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84672         kludge and the auto-generation stuff.  Check only whether the
84673         functions are declared, not whether they exist, since older hosts
84674         that don't declare the functions can't use the optimization anyway.
84675
84676 2002-12-06  Jim Meyering  <jim@meyering.net>
84677
84678         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84679
84680         Merge in changes from libc's misc/error.c, in preparation
84681         for the merge of gnulib's changes back into libc.
84682
84683         * lib/error.c (_): Define only if not already defined.
84684         Move definition to follow all #include directives.
84685         Include unlocked-io.h only if !_LIBC.
84686         [_LIBC]: Include <libio/libioP.h>.
84687         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84688         (fflush): Tweak definition to use INTUSE.
84689         (putc): Define.
84690
84691 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84692
84693         * lib/alloca.c [defined emacs]: Include "lisp.h".
84694         (xalloc_die) [defined emacs]: New macro.
84695         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84696         [! defined emacs]: Include <xalloc.h>.
84697         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84698         (pointer): Typedef to POINTER_TYPE *.
84699         (malloc): Remove decl; we now always use xmalloc.
84700         (alloca): Use old-style definition, since Emacs needs this.
84701         Check for arithmetic overflow when computing combined size.
84702
84703 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84704
84705         Do not generate unlocked-io.h automatically, since it's easier to
84706         maintain it by hand.
84707
84708         * lib/unlocked-io.h: New file, from GNU diffutils,
84709         but with proper copyright notice and attribution.
84710         * lib/gen-uio: Remove.
84711         * lib/Makefile.am: Add copyright notice.
84712         (libfetish_a_SOURCES): Add unlocked-io.h.
84713         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84714         (DISTCLEANFILES, io_functions): Remove macros.
84715         (EXTRA_DIST): Remove gen_uio.
84716         (unlocked-io.h): Remove rule.
84717
84718 2002-12-04  Jim Meyering  <jim@meyering.net>
84719
84720         Reflect the fact that stat.c and lstat.c are no longer generated.
84721         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84722         (DISTCLEANFILES): Likewise.
84723         (EXTRA_DIST): Likewise.
84724         (all_local): Don't depend on stat.c or lstat.c.
84725         (stat.c, lstat.c): Remove rules.
84726         (EXTRA_DIST): Remove xstat.in.
84727
84728         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84729         * lib/stat.c: New file.  Contents mostly from xstat.in.
84730         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84731         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84732
84733         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84734         too.
84735         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84736
84737 2002-12-03  Jim Meyering  <jim@meyering.net>
84738
84739         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84740         but not semantics, to minimize the differences between these two files.
84741         (safe_read): Change comment to mention SAFE_READ_ERROR.
84742
84743         * lib/safe-read.c (IS_EINTR): Define.
84744         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84745
84746 2002-12-02  Jim Meyering  <jim@meyering.net>
84747
84748         * lib/safe-read.c (EINTR): Define.
84749         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84750         (INT_MAX): Provide fallback.
84751         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84752
84753         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84754
84755 2002-12-02  Bruno Haible  <bruno@clisp.org>
84756
84757         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84758         Define, taken from safe-read.c.
84759         (INT_MAX): Provide fallback.
84760         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84761         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84762
84763         * lib/safe-read.c (EINTR): Remove definition.
84764         (safe_read): Don't use EINTR if it is absent.
84765
84766 2002-12-01  Jim Meyering  <jim@meyering.net>
84767
84768         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84769         zero.
84770         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84771
84772 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84773
84774         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84775         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84776         with `if (! (value < limit)) abort ();', for readability.
84777
84778 2002-11-26  Karl Berry  <karl@gnu.org>
84779
84780         * lib/strdup.c: copy from libc again, with jim's ok.
84781         * lib/.cppi-disable: re-add strdup.c
84782
84783 2002-11-25  Karl Berry  <karl@gnu.org>
84784
84785         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84786         instead of "strtol.c".
84787
84788 2002-11-25  Karl Berry  <karl@gnu.org>
84789
84790         * config/install-sh: update from automake for variable quoting, $0 in
84791         error msgs, etc.
84792
84793         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
84794         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
84795         entry.
84796
84797 2002-11-25  Jim Meyering  <jim@meyering.net>
84798
84799         * lib/mktime.c: Sync from libc, now that it has the latest fix.
84800
84801 2002-11-24  Karl Berry  <karl@gnu.org>
84802
84803         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
84804         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
84805
84806 2002-11-24  Jim Meyering  <jim@meyering.net>
84807
84808         Update from coreutils:
84809
84810         * lib/mktime.c: Merge in changes from libc.
84811
84812         Avoid a link-time failure on some Linux systems.
84813         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
84814         (otherwise).
84815         (__mon_yday): Declare with the STATIC attribute.
84816         (__mktime_internal): Likewise.
84817         Based on a report from Greg Schafer.
84818
84819 2002-11-23  Jim Meyering  <jim@meyering.net>
84820
84821         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
84822         Use `unsigned', not `int', as type of index.
84823
84824         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
84825
84826         * lib/fsusage.c: Remove unneeded parentheses around operands of
84827         `defined'.
84828
84829 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84830
84831         * lib/quotearg.h: Allow multiple inclusion by surrounding with
84832         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
84833         so that we can be included first.
84834         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
84835         * lib/quotearg.c: Include quotearg.h immediately after config.h.
84836         No need to include stddef.h or sys/types.h any more.
84837         Surround local include files with "", not "<>".
84838         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
84839         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
84840         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
84841         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
84842         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
84843         (ISPRINT): Remove; no longer needed now that we assume C89.
84844
84845         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
84846         Preserve errno.
84847
84848         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
84849         quotearg_char): Use SIZE_MAX rather than
84850         (size_t) -1 when we are talking about "infinity".
84851
84852         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
84853
84854 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84855
84856         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
84857         hint that one should use `if (! x) abort ();' rather than `assert
84858         (x);', and anyway it's one less thing to worry about configuring.
84859         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
84860         hash_rehash, hash_insert): Use abort rather than assert.
84861
84862 2002-11-22  Bruno Haible  <bruno@clisp.org>
84863
84864         * lib/safe-read.h: Assume C89. Add comments.
84865         (safe_read): Change return type to size_t.
84866         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
84867         byte counts > SSIZE_MAX correctly.
84868         * lib/safe-write.h: New file.
84869         * lib/safe-write.c: New file.
84870         * lib/full-read.h: New file.
84871         * lib/full-read.c: New file.
84872         * lib/full-write.h: Assume C89. Add comments.
84873         * lib/full-write.c: Include safe-write.h.
84874         (full_write): Rewritten to use safe_write.
84875         Suggested by Jim Meyering and Paul Eggert.
84876
84877 2002-11-21  Jim Meyering  <jim@meyering.net>
84878
84879         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
84880
84881         Merge in changes from the coreutils.
84882
84883         2002-09-25  Paul Eggert  <eggert@twinsun.com>
84884         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
84885         <stdint.h>.
84886         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
84887         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
84888         int.  Work more efficiently if X is the same width as uintmax_t.
84889         Do not compare X to -1, to avoid bogus compiler warning.
84890         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
84891         Don't assume that f_frsize and f_bsize are the same type.
84892
84893         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
84894         warning on FreeBSD.
84895
84896         * lib/makepath.c (make_path): Restore umask *before* creating the final
84897         component.
84898         (make_path): Minor reformatting.
84899
84900         * lib/xmalloc.c: Adjust to work with new autoconf macros,
84901         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
84902         HAVE_MALLOC/HAVE_REALLOC.
84903
84904         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
84905         dummy ones.  At least on GNU/Linux systems, `auto' means something
84906         else.
84907         From Michael Stone.
84908
84909 2002-11-21  Bruno Haible  <bruno@clisp.org>
84910
84911         Remove case insensitive option matching.
84912         * lib/argmatch.h (argcasematch): Remove declaration.
84913         (ARGCASEMATCH): Remove macro.
84914         (__xargmatch_internal): Remove case_sensitive argument.
84915         (XARGMATCH): Update.
84916         (XARGCASEMATCH): Remove macro.
84917         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
84918         case_sensitive argument.
84919         (argcasematch): Remove function.
84920         (__xargmatch_internal): Remove case_sensitive argument.
84921         (main): Use XARGMATCH instead of XARGCASEMATCH.
84922
84923         * lib/xmalloc.c: Change compile-time error message. Add comment about
84924         required autoconf version.
84925
84926 2002-11-20  Paul Eggert  <eggert@twinsun.com>
84927
84928         Merge argmatch cleanups from Bison.  Assume C89.
84929
84930         * lib/argmatch.c: Include config.h here, not in argmatch.h.
84931         Include stdlib.h, for EXIT_FAILURE.
84932         Always include <string.h>, since we assume C89.
84933         (EXIT_FAILURE): Remove pre-C89 bug workaround.
84934         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
84935         Include <stddef.h> instead, since it's all we need for size_t.
84936         (PARAMS): Remove.  All uses removed.
84937         (ARRAY_CARDINALITY): Do not bother to #undef.
84938         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
84939         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84940         Remove unnecessary parentheses.
84941         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84942         Insert necessary parentheses.
84943         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
84944         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
84945
84946 2002-11-19  Bruno Haible  <bruno@clisp.org>
84947
84948         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
84949         * lib/mbswidth.h: Include <stddef.h>, for size_t.
84950
84951         * lib/mbswidth.h (PARAMS): Remove macro.
84952         (mbswidth, mbsnwidth): Use ANSI C function declarations.
84953         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
84954
84955         * lib/gcd.h (PARAMS): Remove macro.
84956         (gcd): Use ANSI C function declarations.
84957         * lib/gcd.c (gcd): Likewise.
84958
84959 2002-11-15  Bruno Haible  <bruno@clisp.org>
84960
84961         * lib/strcspn.c: Include <stddef.h>.
84962         (strcspn): Use ANSI C function declaration. Change return type to
84963         size_t. Use NULL.
84964         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
84965         (strpbrk): Use NULL.
84966         * lib/strpbrk.h (PARAMS): Remove macro.
84967         (strpbrk): Use ANSI C function declaration.
84968         * lib/strstr.c: Don't include <sys/types.h>.
84969         * lib/strstr.h (PARAMS): Remove macro.
84970         (strstr): Use ANSI C function declarations.
84971
84972 2002-11-14  Karl Berry  <karl@gnu.org>
84973
84974         * config/mkinstalldirs: `do' on separate line, instead of
84975         `for var; do'.
84976
84977 2002-11-06  Bruno Haible  <bruno@clisp.org>
84978
84979         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
84980         * lib/gcd.c (gcd): Likewise.
84981
84982 2002-11-05  Bruno Haible  <bruno@clisp.org>
84983
84984         * lib/gcd.h: New file, from gettext-0.11.5.
84985         * lib/gcd.c: New file, from gettext-0.11.5.
84986
84987 2002-11-05  Bruno Haible  <bruno@clisp.org>
84988
84989         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84990         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84991         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84992         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84993
84994         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
84995         <libintl.h>.
84996         * lib/makepath.c: Include gettext.h instead of <locale.h> and
84997         <libintl.h>.
84998
84999         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
85000         * lib/human.c: Include gettext.h instead of <libintl.h>.
85001         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
85002         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
85003         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
85004         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
85005         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
85006         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
85007         (textdomain): Remove definition.
85008         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
85009
85010         * lib/long-options.c: Remove include of <libintl.h> and definition of
85011         _.
85012         * lib/same.c: Remove include of <libintl.h> and definition of _.
85013
85014 2002-11-04  Owen Taylor  <otaylor@redhat.com>
85015
85016         * lib/config.charset: A few additions for Solaris.
85017
85018 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85019
85020         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
85021         * lib/localcharset.c (locale_charset): Declare as extern "C".
85022
85023 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85024
85025         * lib/config.charset: msdos in uk_UA uses CP1125.
85026
85027 2002-11-04  Bruno Haible  <bruno@clisp.org>
85028
85029         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
85030         * lib/strcase.h: New file, from GNU gettext-0.11.5.
85031         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
85032         * lib/strstr.h: New file, from GNU gettext-0.11.5.
85033         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
85034
85035 2002-11-04  Bruno Haible  <bruno@clisp.org>
85036
85037         * lib/localcharset.c (locale_charset): Don't return an empty string.
85038
85039 2002-11-04  Bruno Haible  <bruno@clisp.org>
85040
85041         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
85042         aliases.
85043
85044 2002-11-04  Bruno Haible  <bruno@clisp.org>
85045
85046         * lib/config.charset: Update for newest glibc. Add canonical names
85047         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
85048
85049 2002-11-04  Bruno Haible  <bruno@clisp.org>
85050
85051         * lib/config.charset: Add support for NetBSD.
85052
85053 2002-11-04  Bruno Haible  <bruno@clisp.org>
85054
85055         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
85056
85057 2002-11-01  Bruno Haible  <bruno@clisp.org>
85058
85059         * configure.in: Add AC_CONFIG_AUX_DIR call.
85060         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
85061         test/Makefile.
85062         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
85063
85064 2002-09-28  Karl Berry  <karl@gnu.org>
85065
85066         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
85067         installed automake until the next release, since changes have been
85068         made.
85069
85070 2002-09-25  Karl Berry  <karl@gnu.org>
85071
85072         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
85073         * lib/getopt*: copy from libc/posix.
85074         * lib/gettext.h: copy from gettext.
85075         * lib/.cppi-disable: add strdup.c, gettext.h.
85076
85077 2002-09-25  Karl Berry  <karl@gnu.org>
85078
85079         * config/srclist.txt: enable gettext.h check.
85080         * config/config.{guess,sub}: update from prep.
85081         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
85082                 from automake 1.6.3.
85083         See srclist*.
85084
85085 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
85086
85087         * regex.c (PATFETCH): Remove the translating fetch.
85088         (PATFETCH_RAW): Rename to PATFETCH.
85089         (set_image_of_range): New fun.
85090         (SET_RANGE_TABLE_WORK_AREA): Use it.
85091         (regex_compile): Don't translate the pattern chars so eagerly.
85092         Only do it when inserting an `exactn' bytecode or when handling
85093         a char-range.
85094         (mutually_exclusive_p): Avoid empty statement.
85095
85096 2002-07-06  Jim Meyering  <meyering@lucent.com>
85097
85098         * m4/README: Don't mention Makefile.am.in.
85099         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
85100
85101 2002-07-01  Jim Meyering  <meyering@lucent.com>
85102
85103         * lib/c-stack.c: Include sys/time.h.
85104         From Volker Borchert.
85105
85106 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85107
85108         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
85109
85110 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85111
85112         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
85113         New macro.  Use it uniformly instead of
85114         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
85115         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
85116         reported by Vin Shelton.
85117
85118 2002-06-22  Paul Eggert  <eggert@twinsun.com>
85119
85120         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
85121         Do not assume SA_SIGINFO behavior.
85122         Bug reported by Jim Meyering on NetBSD 1.5.2.
85123
85124 2002-06-22  Jim Meyering  <meyering@lucent.com>
85125
85126         * m4/c-stack.m4: New file, from diffutils-2.8.2.
85127         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
85128
85129         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
85130         now that configure.ac uses AC_GNU_SOURCE.
85131         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
85132         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
85133
85134         Update to latest tools.  Suggestions from Paul Eggert.
85135         * m4/stdbool.m4: New file, from diffutils-2.8.2.
85136         * m4/gnu-source.m4: Update from diffutils-2.8.2.
85137         * m4/fnmatch.m4: Likewise.
85138         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
85139         to AC_HEADER_STDBOOL
85140
85141 2002-06-22  Jim Meyering  <meyering@lucent.com>
85142
85143         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
85144         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
85145
85146 2002-06-22  Jim Meyering  <meyering@lucent.com>
85147
85148         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
85149
85150         * lib/exitfail.c, exitfail.h: Likewise.
85151         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
85152
85153         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
85154         of fnmatch.h.
85155         (EXTRA_DIST): Add fnmatch_loop.c.
85156         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
85157
85158         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
85159         * lib/fnmatch.c: Update from diffutils-2.8.2.
85160         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
85161         * lib/fnmatch.h: Remove file.
85162
85163 2002-06-21  Jim Meyering  <meyering@lucent.com>
85164
85165         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
85166         * m4/mbrtowc.m4: Likewise.
85167
85168         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
85169         * m4/mbswidth.m4: Reflect name change:
85170         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
85171         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85172
85173         * m4/lib-link.m4: Update from gettext-0.11.2.
85174         * m4/gettext.m4: Likewise.
85175
85176         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
85177         From Alfred M. Szmidt.
85178
85179 2002-06-18  Paul Eggert  <eggert@twinsun.com>
85180
85181         * lib/file-type.h: Report an error if neither S_ISREG nor
85182         S_IFREG is defined, instead of using a test specific to glibc
85183         2.2.  This should be safe, since POSIX requires S_ISREG and
85184         Unix Version 7 had S_IFREG.  We don't need to check for
85185         <sys/types.h> since we don't use any symbols that it defines.
85186
85187 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
85188
85189         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
85190         $@-t, so that each temporary file name is unique and valid in the first
85191         8 characters, for operation under DOS.
85192
85193 2002-06-15  Paul Eggert  <eggert@twinsun.com>
85194
85195         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
85196
85197 2002-06-15  Jim Meyering  <meyering@lucent.com>
85198
85199         Work even with DJGPP 2.03, which lacks support for symlinks.
85200         From Richard Dawe.
85201         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
85202         is defined.
85203         * lib/lchown.c (S_ISLNK): Likewise.
85204
85205 2002-06-15  Jim Meyering  <meyering@lucent.com>
85206
85207         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
85208         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
85209         have been included before this file.
85210
85211 2002-06-14  Jim Meyering  <meyering@lucent.com>
85212
85213         * lib/file-type.h: Use the version from diffutils-2.8.2.
85214         * lib/file-type.c: Likewise.
85215
85216 2002-06-07  Jim Meyering  <meyering@lucent.com>
85217
85218         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
85219         They're needed at least for NetBSD 1.5.2.
85220         ($statxfs_includes): Include those same headers.
85221         ($statxfs_includes): Include sys/vfs.h if available.
85222         ($statxfs_includes): Likewise for sys/statvfs.h.
85223         Check for the following members in both structs statfs and statvfs:
85224         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
85225
85226 2002-06-01  Jim Meyering  <meyering@lucent.com>
85227
85228         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
85229         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
85230
85231 2002-05-28  Jim Meyering  <meyering@lucent.com>
85232
85233         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
85234         Reported by Volker Borchert.
85235
85236 2002-05-27  Jim Meyering  <meyering@lucent.com>
85237
85238         Fix a problem seen only on nonconforming systems whereby ls.c's
85239         use of localtime, and then of gettimeofday would cause trouble:
85240         the localtime call used to initialize rpl_gettimeofday's save
85241         mechanism would clobber ls's current local time information so
85242         that in any long listing the first file would always be listed
85243         with date 1970-01-01.  Analysis by Volker Borchert.
85244
85245         * lib/gettimeofday.c (localtime): Undefine.
85246         (rpl_localtime): New function.
85247
85248 2002-05-27  Jim Meyering  <meyering@lucent.com>
85249
85250         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
85251         localtime.
85252
85253         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
85254         use the replacement function; it wouldn't resolve at link time.
85255         Reported by Volker Borchert.
85256
85257 2002-05-22  Jim Meyering  <meyering@lucent.com>
85258
85259         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
85260         file-type.h.
85261         * lib/file-type.h: New file.
85262         * lib/file-type.c (file_type): New file/function.  Extracted from
85263         diffutils.
85264
85265 2002-04-30  Jim Meyering  <meyering@lucent.com>
85266
85267         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
85268
85269 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85270
85271         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
85272
85273 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85274
85275         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
85276         Do not check for alloca.h (no longer used) or stdbool.h (was never
85277         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
85278
85279 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85280
85281         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
85282
85283 2002-04-29  Jim Meyering  <meyering@lucent.com>
85284
85285         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
85286         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
85287         Use AC_FUNC_STRNLEN here instead.
85288
85289         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
85290         With autoconf-2.53a, it's part of AC_PROG_CC.
85291
85292 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85293
85294         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
85295         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
85296
85297 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85298
85299         * lib/sig2str.h, lib/sig2str.c: New files.
85300         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
85301
85302 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85303
85304         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
85305         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
85306         of 127, since 64 is the largest conceivable number for ancient
85307         nonstandard hosts.
85308         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
85309
85310 2002-04-28  Jim Meyering  <meyering@lucent.com>
85311
85312         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
85313
85314 2002-04-24  Jim Meyering  <meyering@lucent.com>
85315
85316         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
85317         (jm_PREREQ): Use it.
85318
85319         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
85320         mach/mach.h fcntl.h.
85321         Check for this function: setlocale.
85322
85323 2002-04-24  Jim Meyering  <meyering@lucent.com>
85324
85325         * lib/gettext.h: New file, from Gettext.
85326         * lib/Makefile.am (INCLUDES): Remove -I../intl.
85327         (libfetish_a_SOURCES): Add gettext.h.
85328
85329 2002-04-16  Jim Meyering  <meyering@lucent.com>
85330
85331         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
85332         ut_pid, ut_id, ut_exit.
85333
85334 2002-04-16  Jim Meyering  <meyering@lucent.com>
85335
85336         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
85337         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
85338         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
85339
85340 2002-04-12  Jim Meyering  <meyering@lucent.com>
85341
85342         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
85343         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
85344         existence of the getmntinfo function.  Needed for Darwin 5.3.
85345
85346         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
85347         This is necessary at least on Darwin 5.3.
85348
85349         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
85350         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
85351         strnlen.o in the library, and that makes some versions of ranlib
85352         object.
85353
85354 2002-04-12  Jim Meyering  <meyering@lucent.com>
85355
85356         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
85357
85358 2002-04-09  Jim Meyering  <meyering@lucent.com>
85359
85360         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
85361         to be more precise.  Rather than saying we're checking whether the
85362         function `works', say what we're testing.
85363         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
85364         Reported by Bruno Haible.
85365
85366 2002-03-10  Jim Meyering  <meyering@lucent.com>
85367
85368         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
85369         Suggestion from Santiago Vila.
85370
85371 2002-03-08  Jim Meyering  <meyering@lucent.com>
85372
85373         * lib/rename.c: Mention that this wrapper is needed also on
85374         mips-dec-ultrix4.4 systems.
85375
85376 2002-03-02  Jim Meyering  <meyering@lucent.com>
85377
85378         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
85379         not HAVE_CLOCK_SETTIME.
85380
85381 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85382
85383         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85384         Check for clock_settime.
85385
85386 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85387
85388         * lib/nanosleep.h: Rename to....
85389         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85390
85391         * lib/gettime.c: New file.
85392         * lib/settime.c: New file.
85393         * lib/stime.c: Remove.
85394
85395         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85396         timespec.h.  Remove nanosleep.h.
85397
85398 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85399
85400         * m4/acl.m4: New file.
85401         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85402         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85403
85404 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85405
85406         * lib/acl.c, lib/acl.h: New files.
85407         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85408
85409 2002-02-24  Jim Meyering  <meyering@lucent.com>
85410
85411         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85412         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85413         cause trouble.  Reported by Nelson Beebe.
85414
85415 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85416
85417         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85418         compilers that don't know that xalloc_die never returns.
85419
85420 2002-02-20  Jim Meyering  <meyering@lucent.com>
85421
85422         * lib/getdate.c: Regenerate using bison-1.33.
85423
85424 2002-02-17  Jim Meyering  <meyering@lucent.com>
85425
85426         * config/config.guess (main): Don't use `head -1'; it's no longer
85427         portable. Use `sed 1q' instead.
85428
85429 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85430
85431         * m4/codeset.m4: Upgrade to gettext-0.11.
85432         * m4/gettext.m4: Upgrade to gettext-0.11.
85433         * m4/glibc21.m4: Upgrade to gettext-0.11.
85434         * m4/iconv.m4: Upgrade to gettext-0.11.
85435         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85436         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85437         * m4/lib-ld.m4: New file, from gettext-0.11.
85438         * m4/lib-link.m4: New file, from gettext-0.11.
85439         * m4/lib-prefix.m4: New file, from gettext-0.11.
85440         * m4/progtest.m4: Upgrade to gettext-0.11.
85441
85442 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85443
85444         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85445         (jm_PREREQ): Use it.
85446
85447 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85448
85449         * lib/posixver.c, lib/posixver.h: New files.
85450         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85451
85452 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85453             Bruno Haible  <bruno@clisp.org>
85454
85455         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85456         (fwrite_success_callback): New declaration.
85457         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85458         print_unicode_char. Call failure callback instead of error.
85459         (fwrite_success_callback): New function.
85460         (exit_failure_callback): New function.
85461         (fallback_failure_callback): New function.
85462         (print_unicode_char): Call unicode_to_mb.
85463
85464 2002-01-26  Jim Meyering  <meyering@lucent.com>
85465
85466         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85467         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85468
85469 2002-01-26  Jim Meyering  <meyering@lucent.com>
85470
85471         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85472
85473 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85474
85475         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85476
85477 2002-01-22  Jim Meyering  <meyering@lucent.com>
85478
85479         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85480         Otherwise, some versions of automake would omit the rule that makes
85481         Makefile from Makefile.in.
85482
85483 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85484
85485         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85486         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85487         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85488         (memcoll): Set errno to zero if there is no error.
85489
85490         * lib/quotearg.c (quotearg_buffer_restyled):
85491         Fix bug with quoting buffers containing NUL when backslashing escapes.
85492         This bug was exposed by the other changes in this patch.
85493         (quotearg_n_options): New arg ARGSIZE.
85494         All callers changed.
85495         (quoting_options_from_style): New function.
85496         (quotearg_n_style): Use it.
85497         (quotearg_n_style_mem): New function.
85498
85499         * lib/quotearg.h (quotearg_n_style_mem): New function.
85500
85501 2002-01-19  Jim Meyering  <meyering@lucent.com>
85502
85503         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85504         Remove useless quotes: DF_PROG="df".
85505         * m4/strnlen.m4: New file.
85506
85507 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85508
85509         * lib/backupfile.c (ISDIGIT): Comment fix.
85510         * lib/getdate.y (ISDIGIT): Likewise.
85511         * lib/posixtm.c (ISDIGIT, year): Likewise.
85512         * lib/strverscmp.c (ISDIGIT): Likewise.
85513         * lib/userspec.c (ISDIGIT): Likewise.
85514
85515 2002-01-16  Jim Meyering  <meyering@lucent.com>
85516
85517         * lib/getdate.y: Add three semicolons, each just before a closing
85518         brace. Bison (as of version 1.31) no longer papers over that mistake.
85519
85520 2002-01-05  Jim Meyering  <meyering@lucent.com>
85521
85522         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85523
85524 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85525
85526         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85527         not silently exit merely because the output buffer happens to
85528         have nothing pending.
85529
85530 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85531
85532         See the big note in ../ChangeLog.
85533         * lib/human.c (suffixes): Prefer K to k for 1024.
85534         (generate_suffix_backwards): New function.
85535         (human_readable_inexact): Use it.
85536         * lib/xstrtol.c (__xstrtol): If there is no number but there
85537         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85538         Accept 'K' as well as 'k'.
85539
85540 2001-12-15  Jim Meyering  <meyering@lucent.com>
85541
85542         * lib/regex.h (__restrict_arr): Update from libc.
85543
85544         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85545         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85546         (STREQ): Define.
85547
85548 2001-12-14  Jim Meyering  <meyering@lucent.com>
85549
85550         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85551         Suggestion from Bruno Haible.
85552
85553 2001-12-10  Jim Meyering  <meyering@lucent.com>
85554
85555         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85556         xrealloc, Instead, include "xalloc.h".
85557         (initbuffer): Don't cast xmalloc return value to char*.
85558         (readline): Reword comment.
85559         Don't cast xrealloc return value to char*
85560         Return NULL, not 0.
85561
85562 2001-12-09  Jim Meyering  <meyering@lucent.com>
85563
85564         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85565         about `signed and unsigned type in conditional expression'.
85566         * lib/posixtm.c (posix_time_parse): Likewise.
85567
85568         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85569
85570         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85571         to avoid a pedantic warning.
85572
85573         * lib/getstr.c: Don't include assert.h.
85574         (getstr): Remove warning-evoking assertions.
85575         Return -1 if offset parameter is out of bounds.
85576         Change the type of a local from int to size_t.
85577
85578         * lib/strftime.c (my_strftime_localtime_r): Include this function
85579         definition in the `#if ! HAVE_TM_GMTOFF' block.
85580
85581         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85582         Include xalloc.h instead.
85583
85584 2001-12-02  Jim Meyering  <meyering@lucent.com>
85585
85586         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85587         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85588         included.
85589
85590         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85591         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85592
85593 2001-11-30  Akim Demaille  <akim@epita.fr>
85594
85595         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85596         before being defined.
85597
85598 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85599
85600         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85601         First arg is int, not unsigned.
85602         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85603         (SIZE_MAX, UINT_MAX): New macros.
85604         (quotearg_n_options): Abort if N is negative.
85605         Avoid overflow check on hosts where size_t is 64 bits and int
85606         is 32 bits, as overflow is impossible there.
85607         Fix off-by-one typo that caused unnecessary reallocation.
85608
85609 2001-11-27  Jim Meyering  <meyering@lucent.com>
85610
85611         * lib/tempname.c: Merge with version from libc.
85612         * lib/regex.c: Likewise.
85613
85614         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85615         systems for which STDC_HEADERS is 0, it was not included, resulting in
85616         a warning about an integer-to-pointer conversion problem with getenv.
85617         Reported by Volker Borchert.
85618
85619 2001-11-26  Jim Meyering  <meyering@lucent.com>
85620
85621         * lib/gtod.h: Remove file.
85622         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85623         * lib/gettimeofday.c: Don't include gtod.h.
85624         (GTOD_init): Remove function.
85625         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85626         Suggestion from Volker Borchert.
85627
85628 2001-11-23  Jim Meyering  <meyering@lucent.com>
85629
85630         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85631         it.
85632         * lib/hash.c (struct hash_table): Define it here instead.
85633
85634 2001-11-22  Jim Meyering  <meyering@lucent.com>
85635
85636         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85637
85638 2001-11-20  Jim Meyering  <meyering@lucent.com>
85639
85640         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85641         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85642
85643 2001-11-19  Jim Meyering  <meyering@lucent.com>
85644
85645         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85646         directory.  Use "conftestXXXXXX" as the template.
85647         Suggestion from Paul Eggert.
85648
85649         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85650         immediately, so the test doesn't mistakenly hit the max-open-files
85651         limit.
85652
85653 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85654
85655         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85656         (TEMPORARIES): New macro.
85657         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85658         removes an artificial limitation (e.g. HP-UX 10.20, where
85659         TMP_MAX is 17576).
85660
85661 2001-11-18  Jim Meyering  <meyering@lucent.com>
85662
85663         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85664
85665 2001-11-18  Jim Meyering  <meyering@lucent.com>
85666
85667         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85668         on SunOS 4.
85669
85670         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85671         files will be created before anything else.
85672
85673 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85674
85675         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85676         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85677
85678 2001-11-17  Jim Meyering  <meyering@lucent.com>
85679
85680         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85681         Prompted by a report from Bob Proulx.
85682
85683         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85684         Instead, require UTILS_FUNC_MKSTEMP.
85685
85686 2001-11-17  Jim Meyering  <meyering@lucent.com>
85687
85688         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85689         Now, that's done as part of AC_FUNC_STRTOD.
85690
85691 2001-11-17  Jim Meyering  <meyering@lucent.com>
85692
85693         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85694         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85695         rather than group writable.  Patch by Juan F. Codagnone.
85696
85697         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85698         xrealloc, Instead, include "xalloc.h".
85699
85700         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85701         Remove explicit declarations of xmalloc, xrealloc,
85702         and xstrdup.  Instead, include "xalloc.h".
85703
85704         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85705         unlocked-io.h.
85706         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85707         Likewise.
85708         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85709
85710         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85711         Reported by Padraig Brady.
85712
85713         * lib/mkstemp.c: #undef mkstemp.
85714         Include config.h.
85715         (rpl_mkstemp): Rename from mkstemp.
85716         Protoize.
85717
85718 2001-11-16  Jim Meyering  <meyering@lucent.com>
85719
85720         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85721         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85722         determine the amount of total physical memory, use pstat_getstatic.
85723         HPUX-11 doesn't define _SC_PHYS_PAGES.
85724         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85725         If sysconf couldn't be used to determine the amount of available
85726         physical memory, use both pstat_getstatic and pstat_getdynamic.
85727         Based on a patch from Bob Proulx.
85728
85729 2001-11-10  Jim Meyering  <meyering@lucent.com>
85730
85731         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85732         (jm_PREREQ): Use it.
85733
85734 2001-11-09  Jim Meyering  <meyering@lucent.com>
85735
85736         * m4/jm-macros.m4: Require autoconf-2.52f.
85737         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85738         Use these AC_-prefixed names, not the AM_-prefixed ones.
85739
85740         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85741
85742 2001-11-05  Jim Meyering  <meyering@lucent.com>
85743
85744         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85745
85746 2001-11-04  Jim Meyering  <meyering@lucent.com>
85747
85748         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85749         $DEFS.
85750
85751 2001-11-03  Jim Meyering  <meyering@lucent.com>
85752
85753         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85754         of AC_DEFUN.
85755
85756         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85757         know the name of the variable in the macro definition.
85758
85759 2001-11-03  Jim Meyering  <meyering@lucent.com>
85760
85761         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85762         in argmatch_to_argument call.
85763
85764         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85765         argument.
85766
85767         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85768         e.g., a fault due to an attempt to free a NULL pointer.
85769
85770 2001-11-01  Jim Meyering  <meyering@lucent.com>
85771
85772         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85773         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85774
85775 2001-11-01  Jim Meyering  <meyering@lucent.com>
85776
85777         * lib/dirfd.c, lib/dirfd.h: New files.
85778         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85779
85780         * lib/hash.c (hash_print) [TESTING]: Clean up.
85781
85782 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85783
85784         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85785         to avoid a warning if -Wall.
85786
85787 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85788
85789         * README: New file
85790         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85791         (per RMS's instructions, this is now the canonical source)
85792         * lgpl/, gpl/: New directories.
85793
85794 2001-10-21  Paul Eggert  <eggert@twinsun.com>
85795
85796         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
85797
85798 2001-10-21  Jim Meyering  <meyering@lucent.com>
85799
85800         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
85801         this code would end up calling gettext even in packages built
85802         with --disable-nls.
85803         * lib/getopt.c (_): Likewise.
85804         * lib/regex.c (_): Likewise.
85805
85806 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85807
85808         * m4/error.m4 (jm_PREREQ_ERROR):
85809         Do not invoke AC_CHECK_FUNCS with strerror_r, as
85810         AC_FUNC_STRERROR_R does that.
85811         Check for strerror declaration.
85812
85813         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
85814         are supposed to have them these days.
85815         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
85816         Merge changes from latest Autoconf CVS.
85817         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
85818         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
85819         POSIX decided to standardize on the int flavor of strerror_r.
85820
85821 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85822
85823         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
85824         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
85825         Use strerror_r that is only a macro, even if it is not a function.
85826         (strerror): Check for HAVE_DECL_STRERROR before declaring.
85827         (private_strerror): Use prototypes, not old-style function definition.
85828         (print_errno_message): New function.
85829         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
85830         char*-flavored one.
85831         (error_tail, error, error_at_line): Use it.
85832
85833 2001-10-11  Jim Meyering  <meyering@lucent.com>
85834
85835         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
85836         and quote_n (1, ... to avoid clobbering a buffer.
85837
85838 2001-10-05  Jim Meyering  <meyering@lucent.com>
85839
85840         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
85841         hash-pjw.h.
85842         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
85843         * lib/hash-pjw.h: New file.
85844
85845 2001-09-30  Jim Meyering  <meyering@lucent.com>
85846
85847         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
85848         `struct fsstat' has the `f_fstypename' member.
85849         Use that to define FS_TYPE, which is now used to make
85850         the getfsstat link test tighter.
85851
85852 2001-09-30  Jim Meyering  <meyering@lucent.com>
85853
85854         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
85855         Include <sys/ucred.h>, for Apple Darwin.
85856         Include sys/mount.h and sys/fs_types.h only if available.
85857         (FS_TYPE): Define.
85858         (read_filesystem_list): Use FS_TYPE.
85859
85860 2001-09-29  Paul Eggert  <eggert@twinsun.com>
85861
85862         * lib/exclude.c (excluded_filename): 0 -> false, since it's
85863         a boolean context.
85864
85865 2001-09-29  Jim Meyering  <meyering@lucent.com>
85866
85867         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85868         [one-argument getmntent function]): Include stdio.h before mntent.h.
85869         SunOS 4.1.x needs it for the declaration of `FILE'.
85870         Patch by Volker Borchert.
85871
85872         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85873         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
85874         sys/fs_types.h, and make the link-test for getfsstat guard #include
85875         directives with appropriate #if HAVE_*_H tests so that we can
85876         detect getfsstat on Apple Darwin1.3.7 systems.
85877         Reported by Nelson Beebe.
85878         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
85879
85880 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85881
85882         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85883         #defines strtoimax.  Also treat the other strto* functions
85884         like strtoimax.
85885
85886         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85887         Check for strtoul and strtoumax,
85888         as those declarations are made even in the signed case.
85889         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
85890         Likewise, for strtol and strtoimax.
85891
85892 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85893
85894         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85895         #defines strtoimax.  Also treat the other strto* functions
85896         like strtoimax.
85897
85898         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
85899         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
85900         (strtoimax, strtoumax): Do not declare if already defined as a macro.
85901
85902 2001-09-26  Jim Meyering  <meyering@lucent.com>
85903
85904         Most macros in unlocked-io.h had the wrong number of arguments.
85905         * lib/gen-uio: New script.
85906         (USE_UNLOCKED_IO): Define to 1 if not already defined.
85907         * lib/unlocked-io.hin: Remove file.
85908         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
85909         rather than trying to embed it here.
85910         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
85911         Reported by Padraig Brady.
85912
85913 2001-09-25  Volker Borchert  <bt@teknon.de>
85914
85915         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
85916         `result'.
85917
85918 2001-09-24  Jim Meyering  <meyering@lucent.com>
85919
85920         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
85921
85922 2001-09-23  Jim Meyering  <meyering@lucent.com>
85923
85924         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
85925         instead of the mere test for existence of mntent.h.  The latter
85926         would get a false-positive on AIX 3.4 systems.
85927         In the outer getmntent if-block, don't die if neither of the getmntent
85928         tests succeeds.  Instead, just fall through and continue with the
85929         remaining tests.
85930
85931 2001-09-23  Jim Meyering  <meyering@lucent.com>
85932
85933         * lib/mountlist.c: Remove useless parentheses in #if directives.
85934         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
85935         the deprecated MOUNTED symbol is no longer defined in mntent.h.
85936
85937 2001-09-22  Jim Meyering  <meyering@lucent.com>
85938
85939         * m4/gettext.m4: New file.  From gettext.
85940         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
85941         * m4/progtest.m4: Likewise
85942         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
85943         * m4/glibc21.m4: Likewise.
85944
85945         * m4/libintl.m4: Remove.  No longer used.
85946
85947 2001-09-22  Jim Meyering  <meyering@lucent.com>
85948
85949         * lib/localcharset.c: Update from latest gettext.
85950         * lib/config.charset: Likewise.
85951
85952 2001-09-20  Jim Meyering  <meyering@lucent.com>
85953
85954         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
85955         strtoimax.
85956         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
85957         strtoumax.
85958
85959 2001-09-20  Jim Meyering  <meyering@lucent.com>
85960
85961         * lib/xstrtol.c (strtoimax): Guard declaration with
85962         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
85963         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
85964         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
85965         (strtoumax): Likewise, for completeness (it wasn't necessary).
85966
85967 2001-09-17  Paul Eggert  <eggert@twinsun.com>
85968
85969         * lib/strtoimax.c (HAVE_LONG_LONG):
85970         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
85971         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
85972         to work around bug in IBM C compiler.
85973
85974 2001-09-17  Jim Meyering  <meyering@lucent.com>
85975
85976         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
85977         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
85978         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
85979         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
85980         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
85981         whenever the right hand side need not be expanded by the shell.
85982
85983 2001-09-16  Paul Eggert  <eggert@twinsun.com>
85984
85985         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
85986         library.  It's not correct, as some older glibcs are buggy.
85987         fnmatch wasn't fixed until glibc 2.2.
85988
85989         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
85990         special shell magic here.
85991
85992 2001-09-16  Jim Meyering  <meyering@lucent.com>
85993
85994         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
85995         * m4/jm-macros.m4: Require it.
85996
85997 2001-09-16  Jim Meyering  <meyering@lucent.com>
85998
85999         * lib/mkdir.c: New file.
86000
86001 2001-09-15  Jim Meyering  <meyering@lucent.com>
86002
86003         * m4/jm-macros.m4: Check for help2man.
86004
86005 2001-09-11  Jim Meyering  <meyering@lucent.com>
86006
86007         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
86008         The body, by Paul Eggert, was moved here from configure.in.
86009         * m4/jm-macros.m4: Require UTILS_HOST_OS.
86010
86011 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86012
86013         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
86014         (jm_PREREQ): Use it.
86015
86016 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86017
86018         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
86019         Use ssize_t, not int, to store result of readlink.
86020         Check for ssize_t overflow as well as size_t overflow,
86021         as POSIX says the result of readlink is implementation-defined
86022         when ssize_t overflows.
86023         Remove unnecessary cast to char*.
86024         Use free+malloc instead of realloc, as the storage doesn't need
86025         to be preserved and it's clearer and can be more efficient that way.
86026         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
86027         * lib/xreadlink.h (xreadlink): Update prototype.
86028
86029 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86030
86031         * lib/xgetcwd.c: Revert some of the previous change; intead,
86032         fix the HAVE_GETCWD_NULL code to behave more like the
86033         !HAVE_GETCWD_NULL code used to.
86034
86035         Include "xalloc.h".
86036         (xgetcwd): Do not return NULL when memory is exhausted; instead,
86037         invoke xalloc_die.
86038
86039 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86040
86041         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
86042         sys/param.h, as pathmax.h includes them.
86043
86044 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86045
86046         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
86047         (jm_PREREQ_XGETCWD): New macro.
86048
86049         * m4/getcwd.m4: New file.
86050
86051 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86052
86053         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
86054         like the HAVE_GETCWD_NULL code.
86055         Include pathmax.h if not HAVE_GETCWD.
86056         Do not include xalloc.h.
86057         (INITIAL_BUFFER_SIZE): New symbol.
86058         Do not use xmalloc / xrealloc, since the caller is responsible for
86059         handling errors.  Preserve errno around `free' during failure.
86060         Do not overrun buffer when using getwd.
86061
86062 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86063
86064         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
86065         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
86066         getcwd (NULL, 0).
86067
86068 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86069
86070         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
86071         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
86072         spotted by Jim Meyering.
86073
86074 2001-09-03  Jim Meyering  <meyering@lucent.com>
86075
86076         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
86077         failure.
86078
86079 2001-09-02  Jim Meyering  <meyering@lucent.com>
86080
86081         * lib/error.c: Update from GNU libc.
86082
86083 2001-09-01  Jim Meyering  <meyering@lucent.com>
86084
86085         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
86086         Used by df.
86087
86088 2001-09-01  Jim Meyering  <meyering@lucent.com>
86089
86090         * lib/xreadlink.c: New file.
86091         * lib/xreadlink.h: New file.
86092         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
86093         xreadlink.h.
86094
86095         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
86096         doesn't conflict with sparc Solaris 7's definition in
86097         /usr/include/sys/int_types.h.
86098
86099         * lib/exclude.c: Use `""', not `<>' to #include non-system header
86100         files.
86101         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
86102         and strncasecmp as r-values.  Unixware didn't have declarations.
86103
86104 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86105
86106         * lib/xstrtol.h: Add copyright notice.
86107         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
86108         LONGINT_INVALID_SUFFIX_CHAR.
86109
86110 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86111
86112         * lib/xstrtol.c (strtoimax): New decl.
86113
86114 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86115
86116         * lib/xgetcwd.c: Don't include pathmax.h.
86117         Include stdlib.h and unistd.h if available.
86118         Include xalloc.h.
86119         (xmalloc, xstrdup, free): Remove decls.
86120         (xgetcwd): Don't assume sizes fit in unsigned.
86121         Check for overflow when computing sizes.
86122         Simplify reallocation code.
86123
86124 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86125
86126         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
86127         a directory's st_size can have an arbitrary value, so the old
86128         usage could waste an arbitrary amount of memory.  All uses
86129         changed.
86130         * lib/savedir.h: Update prototype.
86131
86132 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86133
86134         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
86135
86136         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
86137         old strtoimax.c.
86138
86139         Also, make the following further changes to make this file's
86140         configuration more similar to that of strtol.c:
86141         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
86142         (strtoumax, uintmax_t, strtoull, strtol): Remove.
86143         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
86144         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
86145         changed to signed values.
86146
86147         And make the following changes as well:
86148         Fix copyright notice, as 1999 was missing.
86149         (verify): New macro.
86150         (strtoimax): Check sizes at compile-time, not run-time.
86151         Prefer strtol to strtoll if both work.
86152         (main): Remove; it was not that useful and was a pain to maintain.
86153
86154         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
86155
86156 2001-08-31  Jim Meyering  <meyering@lucent.com>
86157
86158         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
86159         Use an initial, malloc'd, buffer of length 128 rather than
86160         a statically allocated one of length 1024.
86161
86162 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86163
86164         Simplify code, partly by assuming autoconf 2.52 semantics.
86165
86166         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
86167
86168         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
86169         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
86170         All uses removed.
86171         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
86172         Move AC_REQUIRE to next-to-top level, to avoid confusion.
86173         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
86174         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
86175         jm_AC_HEADER_INTTYPES_H.
86176         * m4/jm-macros.m4 (jm_MACROS): Likewise.
86177
86178         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
86179
86180         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86181         Quote first arg of AC_DEFUN.
86182         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
86183         since they are needed to parse the include file even if we need
86184         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
86185         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
86186         but with opposite signedness.
86187
86188 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86189
86190         Merge 'exclude' changes from tar 1.13.22.
86191         This fixes one or two unlikely storage allocation overflow bugs,
86192         but doesn't change user-visible behavior otherwise.
86193
86194 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86195
86196         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
86197         (jm_PREREQ_EXCLUDE): New macro.
86198
86199 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86200
86201         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
86202         tm to be declared.
86203
86204 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86205
86206         * lib/hash.c: Remove '2001' from copyright notice.
86207
86208 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86209
86210         * lib/full-write.h: New file.
86211         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86212         * lib/full-write.c: Correct credits, as cccp.c no longer
86213         exists and anyway it was so heavily changed from the old cccp
86214         code as to be unrecognizable.  Include full-write.h.
86215         (full_write): Return size_t, with short writes meaning failure.
86216         All callers changed.  This fixes a bug with large buffers
86217         on 64-bit hosts.
86218         * lib/utime.c: Include full-write.h.
86219
86220 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86221
86222         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
86223         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
86224         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
86225         Include if available.
86226         (<xalloc.h>): Include
86227         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
86228         (verify): New macro.  Use it to verify that EXCLUDE macros do not
86229         collide with FNM macros.
86230         (struct patopts): New struct.
86231         (struct exclude): Use it, as exclude patterns now come with options.
86232         (new_exclude): Support above changes.
86233         (new_exclude, add_exclude_file):
86234         Initial size must now be a power of two to simplify overflow checking.
86235         (free_exclude, fnmatch_no_wildcards): New function.
86236         (excluded_filename): No longer requires options arg, as the options
86237         are determined by add_exclude.  Now returns bool, not int.
86238         (excluded_filename, add_exclude):
86239         Add support for the fancy new exclusion options.
86240         (add_exclude, add_exclude_file): Now takes int options arg.
86241         Check for arithmetic overflow when computing sizes.
86242         (add_exclude_file): xrealloc might modify errno, so don't
86243         realloc until after errno might be used.
86244
86245         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
86246         New macros.
86247         (free_exclude): New decl.
86248         (add_exclude, add_exclude_file): Now takes int options arg.
86249         (excluded_filename): No longer requires options arg, as the options
86250         are determined by add_exclude.  Now returns bool, not int.
86251
86252 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86253
86254         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
86255
86256 2001-08-27  Jim Meyering  <meyering@lucent.com>
86257
86258         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
86259
86260         * lib/version-etc.c (N_): Remove definition.
86261         Revert most of last change.
86262         Instead, simply don't mark the `Copyright...' string for translation.
86263         Based on advice from Paul Eggert.
86264
86265         * lib/strtoxmax.c: Tweak comment.
86266
86267 2001-08-26  Jim Meyering  <meyering@lucent.com>
86268
86269         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
86270
86271         * m4/xstrtoimax.m4: New file.
86272         * m4/xstrtoumax.m4: Add comments explaining why we
86273         AC_REPLACE_FUNCS(strtol).
86274
86275 2001-08-26  Jim Meyering  <meyering@lucent.com>
86276
86277         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
86278         of copyright with `%s' so translators don't get an untranslated
86279         message in 2002.
86280         (COPYRIGHT_YEAR): Define.
86281         (version_etc): Use fprintf rather than fputs.
86282         Suggestion from Ulrich Drepper.
86283
86284         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
86285
86286         * lib/strtoll.c: New file, from GNU libc.
86287         * lib/xstrtoimax.c: New file.
86288
86289         * lib/xstrtol.h: Add xstrtoimax.
86290         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
86291         * lib/strtoimax.c: New file.  Likewise, but first define
86292         STRTOUXMAX_SIGNED.
86293
86294         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
86295         ...
86296         * lib/strtoxmax.c: ... then renamed to this.
86297
86298 2001-08-18  Paul Eggert  <eggert@twinsun.com>
86299
86300         * m4/inttypes.m4: Add AC_PREREQ(2.13).
86301         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
86302         (jm_AC_TYPE_INTMAX_T): New macro.
86303         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
86304
86305         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
86306
86307         * m4/longlong.m4: Renamed from ulonglong.m4.
86308         * m4/inttypes.m4: Renamed from inttypes_h.m4.
86309         * m4/uintmax_t.m4: Removed.
86310
86311 2001-08-13  Paul Eggert  <eggert@twinsun.com>
86312
86313         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
86314         Port to Solaris 8, where 'sed' requires a space after the 'r'
86315         command, and where sh dislikes "$/".  Clean up the spacing a bit.
86316         Redirect output to $tmp just once.
86317
86318 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
86319
86320         * lib/addext.c (<errno.h>): Include.
86321         (errno): Declare if not defined.
86322         (addext): Work correctly when pathconf returns -1 and leaves
86323         errno alone because there is no limit.  Also, work even if
86324         pathconf returns a value greater than SIZE_MAX.
86325
86326 2001-08-12  Jim Meyering  <meyering@lucent.com>
86327
86328         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
86329         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
86330         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
86331         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
86332         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
86333         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
86334         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
86335         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
86336         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
86337         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
86338         utime.m4, utimes.m4, xstrtoumax.m4:
86339         Quote the first argument in each use of AC_DEFUN.
86340
86341 2001-08-12  Jim Meyering  <meyering@lucent.com>
86342
86343         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
86344         Simply `return getcwd (NULL, 0);'.
86345         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
86346         Use 1300 as initial value for length, not PATH_MAX.
86347
86348         * lib/pathmax.h: Clean up cpp syntax.
86349
86350 2001-08-12  Jim Meyering  <meyering@lucent.com>
86351
86352         * lib/gettimeofday.c: New file.
86353         * lib/gtod.h: New file.
86354         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
86355
86356 2001-08-05  Jim Meyering  <meyering@lucent.com>
86357
86358         * m4/jm-macros.m4: Require autoconf-2.52.
86359
86360 2001-08-04  Jim Meyering  <meyering@lucent.com>
86361
86362         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
86363         stmt, to get in sync with glibc.
86364
86365 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86366
86367         The following changes are from gettext 0.10.39 as maintained by
86368         Bruno Haible.
86369
86370         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
86371         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
86372         with inverted sense.  All uses changed.
86373
86374         * lib/mbswidth.c: Don't include <limits.h>.
86375         Include <stdlib.h> and <string.h> unconditionally.
86376         (iswcntrl, mbsinit, ISCNTRL): New macros.
86377         (mbsnwidth): Use K&R style function declarations.
86378         Don't bother checking for MB_LEN_MAX == 1, since the compiler
86379         can optimize it when MB_CUR_MAX == 1.
86380         The width of control characters is zero, not 1.
86381
86382 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86383
86384         The following changes are from gettext 0.10.39 as maintained by
86385         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86386
86387         * m4/codeset.m4: Upgrade to serial AM1.
86388         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86389         all uses changed.  Quote first arg of AC_DEFUN.
86390         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86391
86392         * m4/iconv.m4: Upgrade to serial AM2.
86393         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86394         Add --with-libconv-prefix.
86395         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86396         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86397         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86398         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86399         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86400
86401         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86402         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86403         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86404         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86405         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86406         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86407         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86408         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86409         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86410
86411         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86412         string.h any more.
86413
86414         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86415         not the default value.
86416
86417         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86418         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86419         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86420         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86421         Also check for iswcntrl, used for wcwidth fallback.
86422         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86423         to Autoconf 2.13.
86424
86425 2001-08-03  Jim Meyering  <meyering@lucent.com>
86426
86427         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86428         as it was in the original.  Reported by Paul Eggert.
86429
86430 2001-07-16  Jim Meyering  <meyering@lucent.com>
86431
86432         * m4/gettimeofday.m4: New file.
86433         Prompted by a report from Bernhard Baehr.
86434
86435 2001-07-15  Jim Meyering  <meyering@lucent.com>
86436
86437         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86438         stuff. Now it's in ../Makefile.cfg.
86439
86440 2001-07-15  Jim Meyering  <meyering@lucent.com>
86441
86442         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86443         (BUILT_SOURCES): Add unlocked-io.h.
86444         (io_functions): Define.
86445         (unlocked-io.h): New rule.
86446         (DISTCLEANFILES): Add unlocked-io.h.
86447         (all-local): Depend on unlocked-io.h, to ensure it is created.
86448
86449         * lib/unlocked-io.hin: New file
86450
86451         * lib/regex.c: Update from glibc.
86452
86453 2001-07-05  Jim Meyering  <meyering@lucent.com>
86454
86455         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86456         recommendation.
86457         (libfetish_a_SOURCES): Put all .h files here instead.
86458         Remove a thus-exposed (better checks in automake) duplicate and
86459         two unnecessary .h files.
86460
86461 2001-07-04  Jim Meyering  <meyering@lucent.com>
86462
86463         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86464         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86465         distcheck failure.
86466
86467 2001-07-02  Jim Meyering  <meyering@lucent.com>
86468
86469         The following changes were prompted by suggestions from Bruno Haible.
86470
86471         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86472         is now generated.
86473         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86474         definition of EXTRA_DIST.
86475         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86476         ensure that the generated file is created/updated whenever the list
86477         of $(unlocked_functions) is changed.
86478         (jm-glibc-io.m4): New rule.
86479         (unlocked-io.h): New rule -- currently unused.
86480
86481 2001-06-24  Jim Meyering  <meyering@lucent.com>
86482
86483         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86484         unmatched right bracket, rather than kludging it with an extra,
86485         falsely-matching quote in a comment.  Patch by Akim Demaille.
86486
86487 2001-06-11  Jim Meyering  <meyering@lucent.com>
86488
86489         * lib/regex.c: Update from GNU libc.
86490
86491 2001-05-27  Jim Meyering  <meyering@lucent.com>
86492
86493         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86494         Check for ut_type in struct utmp.
86495
86496 2001-05-27  Jim Meyering  <meyering@lucent.com>
86497
86498         * lib/readutmp.h (UT_TYPE): Define.
86499
86500 2001-05-24  Jim Meyering  <meyering@lucent.com>
86501
86502         * lib/argmatch.c: Include "quote.h".
86503         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86504         quote function.  Reported by Göran Uddeborg.
86505
86506 2001-05-22  Jim Meyering  <meyering@lucent.com>
86507
86508         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86509         now that we use the package-supplied version unconditionally.
86510         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86511
86512 2001-05-21  Jim Meyering  <meyering@lucent.com>
86513
86514         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86515         shell syntax errors.
86516
86517 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86518
86519         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86520
86521 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86522
86523         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86524         Don't bother to check library strftime, since
86525         we'll be using our own my_strftime function anyway.
86526         Define my_strftime instead of strftime.
86527
86528 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86529
86530         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86531         which is not yet declared.
86532
86533 2001-05-15  Jim Meyering  <meyering@lucent.com>
86534
86535         * m4/regex.m4: Use proper quoting so brackets appear in the test
86536         program.
86537         Reported by, and with help from, Bruno Haible.
86538
86539 2001-05-13  Jim Meyering  <meyering@lucent.com>
86540
86541         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86542         undefined.
86543
86544 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86545
86546         dirname code cleanup.  base_name now behaves more compatibly
86547         with POSIX basename when given file names that have trailing
86548         slashes, and similarly for dir_name.  Add new primitives
86549         base_len and dir_len.  Put the directory-name-related decls
86550         into dirname.h.
86551
86552         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86553         * lib/backupfile.c (base_name): Likewise.
86554         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86555         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86556         * lib/makepath.c (strip_trailing_slashes): Likewise.
86557         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86558         ISSLASH): Likewise.
86559         * lib/rename.c (strip_trailing_slashes): Likewise.
86560         * lib/same.c (base_name): Likewise.
86561         * lib/stripslash.c (ISSLASH): Likewise.
86562
86563         * lib/addext.c: Include <dirname.h> after size_t is defined.
86564         * lib/backupfile.c: Likewise.
86565
86566         * lib/addext.c (addext): Use base_len to trim redundant
86567         trailing slashes instead of doing it ourselves.
86568         But do not trim the last slash if it is not redundant.
86569
86570         * lib/backupfile.c (find_backup_file_name,
86571         max_backup_version): Use base_len instead of rolling it ourselves.
86572         Handle the case of "" and (on DOS) "C:" correctly.
86573
86574         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86575         needed. Include <string.h>, <dirname.h>.
86576         (base_name): Allow file names ending in slashes, other than names
86577         that are all slashes.  In this case, return the basename followed
86578         by the slashes.  This is more general, and can be used in places
86579         where the original base_name purposely had an assertion failure.
86580         (base_len): New function.
86581
86582         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86583         Do not include <assert.h>; no longer needed.
86584         Include xalloc.h.
86585         (memrchr): Remove decl.
86586         (dir_name_r): Remove.
86587         (dir_len): Renamed from dirlen.  All callers changed.
86588         Rewrite in terms of base_name, for simplicity and consistency.
86589         (dir_name): Never return NULL.  All callers changed.
86590         Do not include <stdlib.h> in test program; no longer needed.
86591         return 0; is fine for test program.
86592
86593         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86594         New macros.
86595         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86596
86597         * lib/path-concat.c (path_concat): Use base_len to compute
86598         base length, not strlen; this means we cannot rely on memcpy
86599         to null-terminate.
86600
86601         * lib/same.c (STREQ): Remove.
86602         (same_name): Handle the case where the basename ends in trailing '/'.
86603
86604         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86605         a slash was stripped.  Do not strip the last slash after a
86606         file system prefix.
86607
86608 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86609
86610         * lib/Makefile.am (libfetish_a_SOURCES):
86611         Add strftime.c, since we now compile it on all hosts.
86612
86613         * lib/strftime.c (my_strftime):
86614         Define to nstrftime if emacs, but only if my_strftime is not defined.
86615         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86616         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86617         Add one more extra argument: a nanoseconds value.
86618         All uses changed.
86619         (ns): New macro.
86620         (my_strftime function): Add %N format.
86621         (emacs_strftimeu): Renamed from emacs_strftime,
86622         with extra ut argument.
86623
86624 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86625
86626         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86627
86628 2001-04-21  Jim Meyering  <meyering@lucent.com>
86629
86630         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86631         doesn't interfere.
86632
86633 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86634
86635         * m4/ftruncate.m4: Check for chsize.
86636         Link with ftruncate.o unconditionally if ftruncate is missing.
86637         This was required when cross-compiling to i586-mingw32msvc.
86638
86639 2001-04-08  Jim Meyering  <meyering@lucent.com>
86640
86641         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86642         recomputed; that's necessary when the offset spans a DST transition.
86643         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86644
86645 2001-04-02  Jim Meyering  <meyering@lucent.com>
86646
86647         * lib/regex.h, regex.c: Update from GNU libc.
86648
86649 2001-03-24  Jim Meyering  <meyering@lucent.com>
86650
86651         * m4/jm-macros.m4: Require autoconf-2.49d.
86652
86653 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86654
86655         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86656
86657 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86658
86659         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86660
86661 2001-03-17  Jim Meyering  <meyering@lucent.com>
86662
86663         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86664         now that the version in autoconf is equivalent.
86665         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86666
86667         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86668         Suggestion from Akim Demaille.
86669
86670         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86671         (jm_PREREQ_TEMPNAME): New function.
86672
86673 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86674
86675         * lib/tempname.c (uint64_t): Define to uintmax_t if
86676         not defined, and if UINT64_MAX is not defined.
86677         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86678         Reported by John David Anglin.
86679
86680 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86681
86682         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86683         resolve alias if codeset is empty.
86684         * lib/config.charset (BeOS): Use wildcard syntax.
86685
86686 2001-03-13  Jim Meyering  <meyering@lucent.com>
86687
86688         * lib/path-concat.c (path_concat)
86689         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86690         concatenating e.g., `C:' and `foo'.
86691         From Bruno Haible.
86692
86693 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86694
86695         * lib/localcharset.c (locale_charset): Don't use
86696         setlocale(LC_CTYPE,NULL). Don't return NULL.
86697         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86698
86699 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86700
86701         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86702         support for DOS/DJGPP.
86703
86704 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86705
86706         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86707         lacks mkstemp.  Compile our own tempname.c if we compile our own
86708         mkstemp.c, as mkstemp relies on tempname.
86709
86710 2001-03-01  Jim Meyering  <meyering@lucent.com>
86711
86712         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86713         AH_VERBATIM really does output its argument verbatim.
86714
86715 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86716
86717         * lib/Makefile.am (libfetish_a_SOURCES):
86718         Add dup-safer.c, fopen-safer.c.
86719         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86720
86721         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86722         * lib/unistd-safer.h: New files.
86723
86724 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86725
86726         The mkstemp replacement is taken from glibc 2.2.2, with some
86727         portability fixes for use outside glibc, as follows:
86728
86729         * lib/tempname.c (struct_stat64): New macro.
86730         (direxists, __gen_tempname): Use it.
86731         This avoids a portability problem with Solaris 8.
86732
86733         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86734         (<stddef.h>, <stdint.h>, <string.h>):
86735         Include only if STDC_HEADERS || _LIBC.
86736         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86737         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86738         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86739         (__set_errno): Define this macro if <errno.h> doesn't.
86740         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86741         Define these macros if <stdio.h> doesn't.
86742         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86743         Define these macros if <sys/stat.h>
86744         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86745         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86746         __xstat64): Define if not _LIBC.
86747         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86748         (__gen_tempname): Invoke gettimeofday only if
86749         HAVE_GETTIMEOFDAY || _LIBC;
86750         otherwise, fall back on plain "time".
86751         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86752
86753         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86754
86755         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86756
86757 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86758
86759         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86760
86761 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86762
86763         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86764         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86765         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86766         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86767
86768 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86769
86770         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86771         Remove workaround macros for hosts that have mbrtowc but not
86772         mbstate_t, as we now insist on proper declarations for both
86773         before using mbrtowc.
86774
86775 2001-02-17  Jim Meyering  <meyering@lucent.com>
86776
86777         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86778         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86779         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86780         UnixWare 7.1.1.
86781
86782         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86783         rather than AC_CACHE_VAL.
86784
86785 2001-02-17  Jim Meyering  <meyering@lucent.com>
86786
86787         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86788         around included file name.
86789
86790         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86791
86792         * lib/strftime.c: Update from GNU libc (the only changes were to
86793         comments).
86794
86795 2001-02-17  Jim Meyering  <meyering@lucent.com>
86796
86797         * lib/regex.c: Update from libc.
86798
86799 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
86800
86801         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
86802         clash.
86803
86804 2001-02-16  Paul Eggert  <eggert@twinsun.com>
86805
86806         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
86807         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
86808         Reported by Mark Hounschell via Paul Eggert.
86809
86810 2001-02-07  Jim Meyering  <meyering@lucent.com>
86811
86812         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
86813
86814 2001-02-05  Jim Meyering  <meyering@lucent.com>
86815
86816         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
86817         it includes the patch required for `large file' support with at least
86818         HP-UX's 10.20 /bin/cc.
86819
86820 2001-02-03  Jim Meyering  <meyering@lucent.com>
86821
86822         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
86823         AS_IF, now that it works once again (mysteriously).
86824         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86825
86826 2001-01-30  Jim Meyering  <meyering@lucent.com>
86827
86828         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
86829         * m4/chown.m4: Rename conftestchown to conftest.chown.
86830         * m4/rename.m4: s/conftestdir/conftest.d1/ and
86831         s/conftestdir2/conftest.d2/.
86832         * m4/utimes.m4: s/conftestdata/conftest.data/
86833         Inspired by Pavel Roskin's change in autoconf.
86834
86835 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
86836
86837         * lib/config.charset: Update for FreeBSD 4.2.
86838
86839 2001-01-27  Jim Meyering  <meyering@lucent.com>
86840
86841         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
86842         a use of AS_IF.
86843         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86844
86845 2001-01-26  Jim Meyering  <meyering@lucent.com>
86846
86847         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
86848         quotearg.c includes it.
86849
86850 2001-01-26  Jim Meyering  <meyering@lucent.com>
86851
86852         * lib/quotearg.c: Include stddef.h.
86853         * lib/quote.c: Include stddef.h.
86854         Reported by Axel Kittenberger.
86855
86856         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
86857         line in double quotes so that it evokes a better diagnostic.
86858         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
86859         Reported by Axel Kittenberger.
86860
86861 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
86862
86863         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
86864         as if it was a `charset'.
86865
86866 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86867
86868         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
86869         has const.
86870
86871 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86872
86873         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
86874         to avoid a warning.  Add back 'const' to inptr.
86875
86876 2001-01-20  Jim Meyering  <meyering@lucent.com>
86877
86878         Be sure that headers are checked before used in code compiled
86879         for the type checks.
86880         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
86881         In place of that, invoke jm_CHECK_ALL_TYPES.
86882         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
86883         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
86884         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
86885         The check for ssize_t was mistakenly run before the test for unistd.h.
86886
86887         The configure-time check for stdbool.h was missing.
86888         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
86889         (jm_PREREQ_HASH): New function.
86890
86891 2001-01-17  Jim Meyering  <meyering@lucent.com>
86892
86893         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
86894         for autoconf-2.49c.
86895         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
86896
86897 2001-01-16  Jim Meyering  <meyering@lucent.com>
86898
86899         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
86900         From Bruno Haible.
86901
86902 2001-01-14  Jim Meyering  <meyering@lucent.com>
86903
86904         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
86905         foo and bar.  Create conftestdir/ in the script, not in the C code.
86906         Remove directories in the script, not in the C code.
86907         Remove conftestdir{,2} before trying to create the directory.
86908         Make the entire configure script fail if the mkdir fails.
86909
86910 2001-01-14  Jim Meyering  <meyering@lucent.com>
86911
86912         * lib/rename.c: New file.  From Volker Borchert.
86913         Include stdlib.h, string.h or strings.h, and xalloc.h.
86914         Use strip_trailing_slashes rather than open-coding it.
86915
86916 2001-01-03  Paul Eggert  <eggert@twinsun.com>
86917
86918         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
86919
86920 2001-01-03  Jim Meyering  <meyering@lucent.com>
86921
86922         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
86923         of local `inptr' to avoid warning with some system declarations of
86924         iconv.
86925
86926 2001-01-02  Volker Borchert  <bt@teknon.de>
86927
86928         * m4/rename.m4: New file.
86929         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
86930
86931 2001-01-01  Jim Meyering  <meyering@lucent.com>
86932
86933         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
86934         even on systems with utmpx.h.  It's necessary for the declaration of
86935         utmp's ut_user member.  Reported by Andreas Jaeger.
86936
86937         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
86938         available. They are required for the declarations of getgrgid and
86939         getpwuid resp.
86940         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
86941         Reported by Andreas Jaeger.
86942
86943 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
86944
86945         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
86946         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
86947         so `make install' also works in VPATH builds.
86948
86949 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
86950
86951         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
86952         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
86953         can be used in subdirectories.
86954
86955 2000-12-29  Paul Eggert  <eggert@twinsun.com>
86956
86957         * lib/modechange.c: Do not assume that mode_t uses the
86958         traditional octal encoding.  E.g. "chmod 1 FOO" should set
86959         the other-execute bit of FOO even if S_IXOTH != 1.
86960
86961         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
86962         WOTH, XOTH, ALLM): New macros.
86963         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
86964          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
86965         Use them.
86966         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
86967         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
86968         (mode_compile):
86969         No need to use uintmax_t; unsigned long is long enough.
86970         Don't bother to get suffix since we don't use it.
86971
86972 2000-12-26  Jim Meyering  <meyering@lucent.com>
86973
86974         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
86975         better with autoheader.
86976
86977 2000-12-24  Jim Meyering  <meyering@lucent.com>
86978
86979         * lib/hash.c (is_prime): Return explicit boolean values.
86980         (hash_get_first): Return NULL to appease Irix5.6's 89.
86981         Reported by Nelson Beebe.
86982
86983 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
86984
86985         * lib/localcharset.c (locale_charset): Add support for Win32.
86986
86987 2000-12-18  Paul Eggert  <eggert@twinsun.com>
86988
86989         * lib/physmem.h, lib/physmem.c: New files.
86990
86991         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
86992         (noinst_HEADERS): Add physmem.h.
86993
86994         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
86995         't' for compatibility with Solaris 8 sort.
86996
86997 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
86998
86999         * lib/config.charset: Add support for BeOS.
87000
87001 2000-12-17  Jim Meyering  <meyering@lucent.com>
87002
87003         * m4/dos.m4 (jm_AC_DOS): New file and macro.
87004         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
87005
87006 2000-12-16  Jim Meyering  <meyering@lucent.com>
87007
87008         This bug had a serious impact on chown: `chown N:M FILE' (for integer
87009         N and M) would have treated it like `chown N:N FILE'.
87010
87011         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
87012
87013 2000-12-16  Jim Meyering  <meyering@lucent.com>
87014
87015         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
87016         SHELLS_FILE to a file name that's useful on djgpp systems.
87017         Include stdlib.h.
87018         (ADDITIONAL_DEFAULT_SHELLS): Define.
87019         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
87020         Based mostly on a patch from Prashant TR.
87021
87022 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
87023
87024         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
87025         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
87026         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
87027
87028 2000-12-08  Andreas Schwab  <schwab@suse.de>
87029
87030         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
87031         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
87032
87033 2000-12-07  Jim Meyering  <meyering@lucent.com>
87034
87035         * lib/stripslash.c (ISSLASH): Define.
87036         (strip_trailing_slashes): Use ISSLASH rather than comparing against
87037         `/'.
87038         From Prashant TR.
87039
87040         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
87041         (dir_name_r): Declare this function as static.
87042         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
87043         manifest itself on a name containing a mix of slashes and
87044         backslashes.
87045         Make this function work with names starting with a DOS-style
87046         drive letter and colon prefix.
87047         (dir_name): Append `.' if necessary.
87048         Based mostly on patches from Prashant TR and Eli Zaretskii.
87049
87050         * lib/dirname.h (dir_name_r): Remove prototype.
87051
87052 2000-12-06  Paul Eggert  <eggert@twinsun.com>
87053
87054         * m4/off_t-format.m4: Remove this file.
87055         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
87056
87057 2000-12-06  Jim Meyering  <meyering@lucent.com>
87058
87059         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
87060         replacement strtoull, we may well need the replacement strtoul, too.
87061         Check for declarations of strtoul and strtoull.
87062         Check for strtol.  Mainly as a cue to cause automake to include
87063         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
87064         Check for limits.h -- strtol.c needs it.
87065
87066 2000-12-05  Jim Meyering  <meyering@lucent.com>
87067
87068         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
87069
87070 2000-12-04  Jim Meyering  <meyering@lucent.com>
87071
87072         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
87073         Also include memory.h, stdlib.h, unistd.h if appropriate.
87074         Reported by Andreas Jaeger (conflicting declaration of malloc).
87075
87076 2000-12-02  Jim Meyering  <meyering@lucent.com>
87077
87078         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
87079         * m4/jm-macros.m4 (jm_MACROS): require it.
87080
87081 2000-12-02  Jim Meyering  <meyering@lucent.com>
87082
87083         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
87084
87085 2000-12-01  Paul Eggert  <eggert@twinsun.com>
87086
87087         * lib/memrchr.c: Include <config.h> before any system include file.
87088
87089 2000-11-30  Jim Meyering  <meyering@lucent.com>
87090
87091         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
87092
87093 2000-11-30  Jim Meyering  <meyering@lucent.com>
87094
87095         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
87096
87097 2000-11-29  Paul Eggert  <eggert@twinsun.com>
87098
87099         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
87100
87101 2000-11-26  Jim Meyering  <meyering@lucent.com>
87102
87103         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
87104
87105 2000-11-22  Paul Eggert  <eggert@twinsun.com>
87106
87107         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
87108         size of (size_t) -1; it's not portable.
87109
87110 2000-11-17  Jim Meyering  <meyering@lucent.com>
87111
87112         * lib/strstr.c: Update from GNU libc.
87113
87114 2000-11-17  Akim Demaille  <akim@epita.fr>
87115
87116         * lib/obstack.h: Formatting changes.
87117         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
87118         prevent type checking.
87119         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
87120         cast the value to (void *): assigning a `foo *' to a `void *'
87121         variable is valid.
87122         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
87123
87124 2000-11-16  Jim Meyering  <meyering@lucent.com>
87125
87126         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
87127
87128 2000-11-11  Jim Meyering  <meyering@lucent.com>
87129
87130         * lib/error.c: Add a couple #includes, merging from GNU libc version.
87131
87132 2000-11-10  Jim Meyering  <meyering@lucent.com>
87133
87134         * lib/obstack.h: Update from GNU libc.
87135         * lib/obstack.c: Likewise.
87136
87137 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
87138
87139         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
87140
87141 2000-11-06  Paul Eggert  <eggert@twinsun.com>
87142
87143         * lib/getusershell.c (setusershell): Use rewind rather than
87144         fseek/fseeko, to avoid configuration hassles with fseeko.
87145         Don't bother opening SHELLS_FILE if shellstream is NULL;
87146         it's not necessary.
87147
87148 2000-11-05  Jim Meyering  <meyering@lucent.com>
87149
87150         * lib/makepath.h (make_dir): Declare.
87151         * lib/makepath.c (make_dir): Remove `static' attribute.
87152         Tweak a comment.
87153
87154 2000-11-04  Jim Meyering  <meyering@lucent.com>
87155
87156         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
87157
87158 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
87159
87160         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
87161         last one in a bucket, advance to the next bucket.
87162
87163 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
87164
87165         * lib/fnmatch.c: Do not comment out all the code if we are using
87166         the GNU C library, because in some cases we are replacing buggy
87167         code in the GNU C library itself.
87168
87169 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
87170
87171         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
87172         (regex_compile): Catch bogus \(\1\).
87173
87174 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87175
87176         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
87177         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
87178         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
87179
87180 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87181
87182         * lib/error.h, getline.h, modechange.h:
87183         Remove "2000" from Copyright line, as the file hasn't been
87184         changed this year other than in the copyright notice.
87185
87186         * lib/xalloc.h: Add "2000" to Copyright line, as this file
87187         was changed this year.
87188
87189 2000-10-29  Jim Meyering  <meyering@lucent.com>
87190
87191         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
87192         renaming.
87193         * m4/ls-mntd-fs.m4: Likewise
87194
87195 2000-10-29  Jim Meyering  <meyering@lucent.com>
87196
87197         * lib/xstat.in: Fix grammar in comment.
87198
87199 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
87200
87201         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
87202         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
87203         doesn't define __restrict_arr.
87204
87205 2000-10-28  Jim Meyering  <meyering@lucent.com>
87206
87207         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
87208         (jm_PREREQ_MEMCHR): New function.
87209
87210 2000-10-28  Jim Meyering  <meyering@lucent.com>
87211
87212         * lib/memchr.c: Update from libc.
87213         Adjust for portability:
87214         [HAVE_STDLIB_H]: Include stdlib.h.
87215         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
87216         Undef __memchr, too.
87217         [!weak_alias]: Define __memchr to memchr.
87218
87219         * lib/regex.c: Update from libc.
87220         * lib/regex.h: Likewise.
87221         * lib/getopt1.c: Likewise.
87222         * lib/memcmp.c: Likewise.
87223
87224         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
87225         Avoid using fseek, when possible -- it's broken by design.
87226         Patch by Ulrich Drepper.
87227
87228 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
87229
87230         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
87231         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
87232         Giving in to popular pressure to shut up the compiler with casts.
87233
87234 2000-10-26  Jim Meyering  <meyering@lucent.com>
87235
87236         * lib/strftime.c: Update from libc.
87237
87238 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
87239
87240         * regex.c: More `unsigned char' -> `re_char' changes.
87241         Also change several `int' into `re_wchar_t'.
87242         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
87243         (PUSH_FAILURE_POINTER): Don't cast any more.
87244         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
87245         We want GCC to complain, since this piece of code makes
87246         re_match non-reentrant, which *should* be fixed.
87247         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
87248         (EXTEND_BUFFER): Use RETALLOC.
87249         (SET_LIST_BIT): Don't cast.
87250         (re_wchar_t): New type.
87251         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
87252         that those two functions will always properly return.
87253         (IMMEDIATE_QUIT_CHECK): Cast to void.
87254         (analyse_first): Use recursion rather than an explicit stack.
87255         (re_compile_fastmap): Can't fail anymore.
87256         (re_search_2): Don't check re_compile_fastmap for failure.
87257         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
87258         Now also sets the new value (passed in a new argument).
87259         (re_match_2_internal): Use it.
87260         Also, use a new var `reg' of type size_t when looping through regs
87261         rather than reuse the inappropriate `mcnt'.
87262
87263 2000-10-25  Jim Meyering  <meyering@lucent.com>
87264
87265         * lib/obstack.c: Update from libc.
87266
87267 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
87268
87269         * regex.c (regex_compile): Change the way of handling a range from
87270         a char less than 256 to a char not less than 256.
87271
87272 2000-10-24  Andrew Innes  <andrewi@gnu.org>
87273
87274         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
87275         NT-Emacs only.
87276         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
87277         so that re_search functions only quit when callers expect them to.
87278
87279 2000-10-23  Jim Meyering  <meyering@lucent.com>
87280
87281         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
87282         wrong.  That set_locale call must not have any side effects.
87283         From Paul Eggert.
87284
87285 2000-10-22  Jim Meyering  <meyering@lucent.com>
87286
87287         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
87288         [CYCLIC]: Remove now-unused definition.
87289
87290         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
87291         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
87292         Suggestion from Ulrich Drepper.
87293
87294 2000-10-21  Jim Meyering  <meyering@lucent.com>
87295
87296         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
87297         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
87298         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
87299
87300 2000-10-21  Jim Meyering  <meyering@lucent.com>
87301
87302         * lib/dirname.c (memrchr): Declare if necessary.
87303         (dir_name): Remove the restriction that there be no
87304         trailing slashes.  Now, this code skips past them, effectively
87305         ignoring them.
87306         [TEST_DIRNAME] (main): New unit tests.
87307
87308         * lib/memrchr.c: New file from GNU libc.
87309         Undef __memrchr, too.
87310         [!weak_alias]: Define __memrchr to memrchr.
87311         Guard weak_alias use with `#ifdef weak_alias'.
87312
87313 2000-10-21  Jim Meyering  <meyering@lucent.com>
87314
87315         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
87316         (dir_name): Use dir_name_r.
87317         * lib/dirname.h (dir_name_r): Declare it.
87318
87319 2000-10-17  Jim Meyering  <meyering@lucent.com>
87320
87321         * lib/quote.h (PARAMS): Define and use.
87322         Reported by Akim Demaille.
87323
87324         * lib/getopt.c: Update from libc.
87325
87326 2000-10-16  Jim Meyering  <meyering@lucent.com>
87327
87328         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
87329         setlocale.
87330         From Jan Fedak.
87331
87332 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
87333
87334         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
87335
87336 2000-09-25  Jim Meyering  <meyering@lucent.com>
87337
87338         * lib/md5.h (rol): Define (from GnuPG).
87339
87340         * lib/sha.c: Give credit (GnuPG) where due.
87341         (M): Use rol rather than open-coding it.
87342         Add a FIXME comment.
87343
87344 2000-09-21  Jim Meyering  <meyering@lucent.com>
87345
87346         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
87347         Reported by Michael Stone.
87348
87349 2000-09-20  Jim Meyering  <meyering@lucent.com>
87350
87351         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
87352         (noinst_HEADERS): Add sha.h.
87353         Based on code from Scott G. Miller and from GnuPG.
87354
87355 2000-09-18  Jim Meyering  <meyering@lucent.com>
87356
87357         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
87358         LIBS. Otherwise, everyone ends up linking with -lelf for some
87359         configurations.
87360         Reported by Mike Stone.
87361
87362 2000-09-15  Jim Meyering  <meyering@lucent.com>
87363
87364         * lib/regex.c: Update from libc.
87365
87366 2000-09-10  Jim Meyering  <meyering@lucent.com>
87367
87368         * lib/getopt.c (_getopt_internal): Update from glibc.
87369
87370 2000-09-09  Jim Meyering  <meyering@lucent.com>
87371
87372         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
87373         think it should be used as a general replacement for isascii.
87374         * lib/fnmatch.c: Likewise.
87375         * lib/mbswidth.c: Likewise
87376         * lib/regex.c: Likewise.
87377
87378         Don't use atoi.
87379         * lib/userspec.c: Include sys/param.h and limits.h.
87380         Include xstrtol.h.
87381         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87382         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87383         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87384         UID, GID.  Check range.
87385
87386 2000-09-06  Jim Meyering  <meyering@lucent.com>
87387
87388         * lib/getopt.c (_getopt_internal): Update from glibc.
87389
87390 2000-08-30  Jim Meyering  <meyering@lucent.com>
87391
87392         * lib/strftime.c: Merge in changes from GNU libc.
87393
87394 2000-08-26  Jim Meyering  <meyering@lucent.com>
87395
87396         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87397         * m4/fpending.m4: New file.
87398
87399 2000-08-26  Jim Meyering  <meyering@lucent.com>
87400
87401         * lib/closeout.c: Include "__fpending.h".
87402         (close_stdout_status): Return right away if there's nothing to flush.
87403
87404         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87405         * lib/__fpending.c: New file.
87406         * lib/__fpending.h: New file.
87407
87408 2000-08-20  Jim Meyering  <meyering@lucent.com>
87409
87410         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87411         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87412         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87413
87414 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87415
87416         Improve fileutils installation on systems where running
87417         programs (like install) can't be unlinked.
87418         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87419         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87420
87421 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87422
87423         Standardize on "memory exhausted" instead of "Memory exhausted"
87424         or "virtual memory exhausted".
87425         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87426         "virtual memory exhausted".
87427         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87428         our own message.
87429         * lib/userspec.c (parse_user_spec): Likewise.
87430         * lib/bumpalloc.h: comment fix
87431         * lib/same.c, userspec.c: Include xalloc.h.
87432
87433         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87434         not char *const and pointing to a constant array.
87435         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87436         (xrealloc): Comment fix.
87437
87438         * lib/userspec.c (parse_user_spec):
87439         Don't translate a message until just before returning,
87440         to avoid unnecessary translation.
87441
87442 2000-08-07  Jim Meyering  <meyering@lucent.com>
87443
87444         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87445         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87446         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87447         getgroups.c, gethostname.c, getopt.h, group-member.c,
87448         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87449         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87450         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87451         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87452         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87453         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87454         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87455         yesno.c: Back out Copyright date changes for each file with no change
87456         this year.  This eases coordination with other programs using the same
87457         source code modules.  From Paul Eggert.
87458
87459 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87460
87461         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87462         not char, for compatibility with glibc 2.1.3 strftime.c.
87463
87464 2000-08-03  Greg McGary  <greg@mcgary.org>
87465
87466         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87467         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87468         (EXTEND_BUFFER): Use them.
87469
87470 2000-08-01  Jim Meyering  <meyering@lucent.com>
87471
87472         * lib/dirname.c (ISSLASH): Define.
87473         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87474         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87475         both `\' and `/' may be use as path separators.
87476         Based on a patch from Prashant TR.
87477
87478 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87479
87480         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87481         slot vector a constant, since it might get modified.
87482
87483 2000-07-31  Jim Meyering  <meyering@lucent.com>
87484
87485         * lib/xmalloc.c: Use `virtual memory exhausted', not
87486         `Memory exhausted'.
87487         * lib/obstack.c (print_and_abort): Likewise.
87488
87489 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87490
87491         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87492         buffer, so that the caller can always quote one small
87493         component of a "memory exhausted" message in slot 0.
87494         From a suggestion by Jim Meyering.
87495
87496 2000-07-30  Jim Meyering  <meyering@lucent.com>
87497
87498         * lib/makepath.c (make_path): Quote the other instance, too.
87499
87500         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87501         (STATIC_BUF_SIZE): Define.
87502         (quotearg_n_options): Use only statically allocated storage when
87503         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87504         than STATIC_BUF_SIZE.
87505
87506 2000-07-29  Jim Meyering  <meyering@lucent.com>
87507
87508         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87509         * lib/dirname.c (dir_name): Likewise.
87510
87511         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87512         `/'.
87513
87514         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87515         (dir_name): Assert that there are no trailing slashes.
87516
87517 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87518
87519         * lib/mbswidth.h (mbswidth): Add a flags argument.
87520         (mbswidth): New declaration.
87521         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87522         * lib/mbswidth.c (mbswidth): Add a flags argument.
87523         (mbsnwidth): New function.
87524
87525 2000-07-24  Jim Meyering  <meyering@lucent.com>
87526
87527         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87528
87529 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87530
87531         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87532
87533 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87534
87535         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87536         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87537         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87538         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87539         invoke multibyte primitives.
87540
87541 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87542
87543         * lib/quotearg.c:
87544         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87545         so that mbstate_t is always defined.
87546
87547         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87548         be 1 in at least one GCC installation, and this configuration
87549         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87550         performance on hosts that have mbrtowc but have only unibyte
87551         locales, but I assume these hosts are rare.
87552
87553 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87554
87555         * lib/mbswidth.c (_XOPEN_SOURCE):
87556         Don't define; this causes problems on Solaris 7.
87557         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87558
87559 2000-07-23  Jim Meyering  <meyering@lucent.com>
87560
87561         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87562         too: getgrgid, getpwuid, getuid.
87563
87564 2000-07-23  Jim Meyering  <meyering@lucent.com>
87565
87566         * lib/basename.c (base_name): Add an assertion.
87567
87568 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87569
87570         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87571         shadow its mbsinit function.
87572
87573 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87574
87575         * lib/mbswidth.h: New file.
87576         * lib/mbswidth.c: New file.
87577         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87578         (noinst_HEADERS): Add mbswidth.h.
87579
87580 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87581
87582         * lib/config.charset: Add support for FreeBSD. Improve support for
87583         HP-UX and IRIX 6.
87584
87585 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87586
87587         * m4/mbswidth.m4: New file.
87588         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87589
87590 2000-07-15  Jim Meyering  <meyering@lucent.com>
87591
87592         * lib/makepath.c: Include quote.h.
87593         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87594         corresponding argument in a `quote (...)' call.
87595         Give better diagnostics.
87596
87597         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87598         (noinst_HEADERS): Add quote.h.
87599
87600         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87601         from tar's src/misc.c.
87602         * lib/quote.h: New file.  Prototypes for same.
87603
87604 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87605
87606         From a suggestion by Bruno Haible.
87607         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87608         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87609         to decide whether to define the BeOS workaround macro;
87610         this adjusts to the change to AC_MBSTATE_T.
87611
87612 2000-07-14  Jim Meyering  <meyering@lucent.com>
87613
87614         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87615         jm_AC_TYPE_UINTMAX_T.
87616
87617 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87618
87619         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87620
87621         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87622         quotearg_buffer_restyled): Add support for
87623         clocale_quoting_style.  Undo previous change to
87624         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87625         and "{RIGHT QUOTATION MARK}" msgids.
87626
87627 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87628
87629         From a suggestion by Bruno Haible.
87630         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87631         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87632         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87633         and mbstate_t, to a single-part test that simply defines mbstate_t.
87634         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87635         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87636
87637 2000-07-10  Jim Meyering  <meyering@lucent.com>
87638
87639         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87640
87641         * m4/gnu-source.m4: Output to confdefs.h directly.
87642         Suggestion from Akim Demaille.
87643
87644 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87645
87646         The old behavior of quoting `like this' doesn't look good with
87647         newer, ISO-style fonts.  See:
87648         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87649
87650         Instead, quote "like this" by default.  Let the translator
87651         tailor the locale-specific quoting behavior by providing
87652         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87653
87654         * lib/quotearg.c (N_): New macro.
87655         (gettext_default): New function.
87656         (quotearg_buffer_restyled): Use
87657         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87658         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87659
87660 2000-07-09  Jim Meyering  <meyering@lucent.com>
87661
87662         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87663         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87664
87665         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87666         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87667
87668 2000-07-09  Jim Meyering  <meyering@lucent.com>
87669
87670         * lib/Most files: Update copyright dates to include 2000.
87671
87672 2000-07-08  Jim Meyering  <meyering@lucent.com>
87673
87674         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87675         if not defined.
87676         (xgethostname): Remove now-unnecessary #ifdef.
87677         Move declaration of `err' into loop where it's used.
87678
87679 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87680         and Bruno Haible  <haible@clisp.cons.org>
87681
87682         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87683         only if the test for an object-type mbstate_t fails.  This
87684         prevents us from mistakenly reporting that mbstate_t is a
87685         system object type after we "#define mbstate_t int" to work
87686         around its lack.
87687
87688 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87689         and Bruno Haible  <haible@clisp.cons.org>
87690
87691         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87692
87693 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87694
87695         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87696         to strerror_r.
87697         Include <ctype.h> for use of isalpha.
87698
87699 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87700
87701         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87702         by allocating a larger buffer. Test the gethostname return value for
87703         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87704         returns an error and ENAMETOOLONG isn't defined.
87705
87706 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87707
87708         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87709         dimension.
87710
87711 2000-07-04  Jim Meyering  <meyering@lucent.com>
87712
87713         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87714         of the deprecated AC_CHECKING.
87715
87716 2000-07-04  Jim Meyering  <meyering@lucent.com>
87717
87718         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87719         Reported by Bruno Haible.
87720
87721 2000-07-04  Jim Meyering  <meyering@lucent.com>
87722
87723         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87724         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87725         lacks mbrtowc.
87726
87727 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87728
87729         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87730         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87731
87732 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87733         and Bruno Haible  <haible@clisp.cons.org>
87734
87735         * lib/quotearg.c (mbrtowc):
87736         Assign to *pwc, and return 1 only if result is nonzero.
87737         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87738
87739 2000-07-03  Jim Meyering  <meyering@lucent.com>
87740
87741         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87742
87743 2000-07-03  Jim Meyering  <meyering@lucent.com>
87744
87745         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87746         This is necessary to get a definition of e.g., UTMP_FILE on
87747         HP-UX 10.20.
87748         From Bob Proulx.
87749
87750 2000-07-02  Jim Meyering  <meyering@lucent.com>
87751
87752         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87753
87754         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87755         AC_LIBOBJ(function_name).
87756         * m4/chown.m4: Likewise.
87757         * m4/fnmatch.m4: Likewise.
87758         * m4/ftruncate.m4: Likewise.
87759         * m4/getgroups.m4: Likewise.
87760         * m4/getline.m4: Likewise.
87761         * m4/group-member.m4: Likewise.
87762         * m4/jm-macros.m4: Likewise.
87763         * m4/lstat.m4: Likewise.
87764         * m4/malloc.m4: Likewise.
87765         * m4/memcmp.m4: Likewise.
87766         * m4/nanosleep.m4: Likewise.
87767         * m4/putenv.m4: Likewise.
87768         * m4/realloc.m4: Likewise.
87769         * m4/regex.m4: Likewise.
87770         * m4/stat.m4: Likewise.
87771         * m4/strftime.m4: Likewise.
87772
87773 2000-07-02  Jim Meyering  <meyering@lucent.com>
87774
87775         * lib/quotearg.c (mbstate_t): Don't define here.
87776
87777 2000-07-02  Jim Meyering  <meyering@lucent.com>
87778
87779         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87780
87781 2000-07-01  Jim Meyering  <meyering@lucent.com>
87782
87783         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87784
87785 2000-07-01  Jim Meyering  <meyering@lucent.com>
87786
87787         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87788         problem.
87789
87790 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87791
87792         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
87793         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
87794
87795 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87796
87797         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
87798         per change in ../m4/ls-mntd-fs.m4.
87799         (read_filesystem_list): Ignore symbolic links.
87800
87801 2000-06-29  Jim Meyering  <meyering@lucent.com>
87802
87803         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
87804         for declaration of strcmp.
87805
87806         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
87807
87808         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
87809         Avoid warning by casting result to `char *' to remove `const'.
87810
87811 2000-06-28  Jim Meyering  <meyering@lucent.com>
87812
87813         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
87814         included by quotearg.c, for which we perform this test.  From
87815         Bruno Haible.
87816
87817 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87818
87819         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
87820         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
87821         <utmpx.h> exists, put readutmp.o into LIBOBJS.
87822
87823 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87824
87825         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
87826
87827 2000-06-26  Paul Eggert  <eggert@twinsun.com>
87828
87829         savedir now sets errno on failure and invokes xmalloc to get memory.
87830         Fix a couple of other minor bugs while we're at it.
87831
87832         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
87833         (NAMLEN): Remove macro.
87834         (malloc, realloc): Remove decls.
87835         (stpcpy): Likewise.
87836         ("xalloc.h"): Include.
87837         (NAME_SIZE_DEFAULT): New macro.
87838         (savedir): Use xmalloc / xrealloc to allocate memory.
87839         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
87840         Skip "" directory entries.
87841         Use strlen to calculate directory entry length, since the old method
87842         is rarely used these days and isn't worth supporting.
87843         Don't use a pointer after freeing it.
87844         Check for integer overflow when calculating allocation size.
87845         Use memcpy to copy entries, instead of stpcpy.
87846         Set errno properly when returning NULL.
87847         Check for readdir error.
87848
87849 2000-06-26  Jim Meyering  <meyering@lucent.com>
87850
87851         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
87852
87853 2000-06-25  Jim Meyering  <meyering@lucent.com>
87854
87855         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
87856         Linux header bug when _XOPEN_SOURCE is defined to 500.
87857
87858 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87859
87860         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
87861         deficiency.
87862
87863 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87864
87865         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
87866         Include xalloc.h.
87867         Don't include <stdlib.h>.  Don't declare malloc, realloc.
87868
87869 2000-06-24  Jim Meyering  <meyering@lucent.com>
87870
87871         * m4/strerror_r.m4: Revive this file -- to try out an experimental
87872         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
87873         for which strerror does return char*, but which lacks a conveniently
87874         accessible declaration of the function.  If the compile-test says
87875         strerror_r doesn't work, then resort to a `run'-test that works on
87876         BeOS and segfaults on DEC Unix.
87877
87878 2000-06-24  Jim Meyering  <meyering@lucent.com>
87879
87880         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
87881
87882 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87883
87884         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
87885         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
87886
87887 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87888
87889         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
87890         (mbrtowc, mbstate_t): Define substitutes if
87891         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
87892         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
87893         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
87894
87895 2000-06-23  Jim Meyering  <meyering@lucent.com>
87896
87897         * m4/afs.m4: Add missing AC_MSG_RESULT.
87898         Reported by Bruno Haible.
87899
87900         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
87901         Suggestion from Bruno Haible.
87902
87903 2000-06-23  Jim Meyering  <meyering@lucent.com>
87904
87905         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
87906
87907 2000-06-21  Jim Meyering  <meyering@lucent.com>
87908
87909         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
87910
87911 2000-06-21  Jim Meyering  <meyering@lucent.com>
87912
87913         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
87914         (noinst_HEADERS): Add getstr.h.
87915
87916         * lib/getline.c (getstr): Move into a separate file.
87917         * lib/getstr.c (getstr): New file, extracted from getline.c, with
87918         the following changes: new parameter, delim2; both delim[12]
87919         parameters have type `int', not `char'.  The latter would lose
87920         with 8-bit delimiters.
87921         * lib/getstr.h: New file.
87922
87923 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87924
87925         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
87926         than 1024, return a memory chunk of least possible size, instead
87927         of size PATH_MAX + 2. In the loop, increment the size proportionally.
87928         Use free/xmalloc instead of xrealloc to avoid copying for very long
87929         paths.
87930
87931 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87932
87933         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
87934         the empty string.
87935
87936 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87937
87938         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
87939         address, not strdup.  Include <stdlib.h> and don't declare free().
87940
87941 2000-06-19  Jim Meyering  <meyering@lucent.com>
87942
87943         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
87944
87945 2000-06-18  Jim Meyering  <meyering@lucent.com>
87946
87947         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
87948
87949         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
87950         `checking whether...' message to be consistent with that of the
87951         lstat test.
87952
87953 2000-06-18  Jim Meyering  <meyering@lucent.com>
87954
87955         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
87956         Besides, these days every porting target provides a mkdir function.
87957
87958         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
87959         needed. (this snippet comes from src/system.h).
87960
87961 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
87962
87963         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
87964
87965 2000-06-15  Paul Eggert  <eggert@twinsun.com>
87966
87967         * lib/human.c (adjust_value): New function.
87968         (human_readable_inexact): Apply rounding style even when
87969         printing approximate values.
87970
87971 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87972
87973         * lib/human.c (human_readable_inexact): Allow an input block
87974         size that is not a multiple of the output block size, and vice versa.
87975         Reported by Piergiorgio Sartor.
87976
87977 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87978
87979         * lib/getdate.y (get_date): Apply relative times after time
87980         zone indicator, not before.  Reported by Todd A. Jacobs.
87981
87982 2000-06-13  Jim Meyering  <meyering@lucent.com>
87983
87984         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
87985
87986         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
87987
87988 2000-06-12  Paul Eggert  <eggert@twinsun.com>
87989
87990         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
87991
87992 2000-06-12  Jim Meyering  <meyering@lucent.com>
87993
87994         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
87995         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
87996         optional argument.
87997         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
87998         the optional argument, `lib'.
87999
88000 2000-06-08  Jim Meyering  <meyering@lucent.com>
88001
88002         * m4/largefile.m4: Remove file (now that it's part of autoconf).
88003
88004 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88005
88006         Rewrite largefile configuration so that we don't need to run
88007         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
88008         AC_CANONICAL_HOST in configure.in -- jmm]
88009
88010         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
88011         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
88012         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
88013         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
88014         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
88015         All uses changed.
88016         Instead of inspecting the output of getconf, try to compile the
88017         test program without and with the macro definition.
88018         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
88019         for getconf.  Instead, check for the needed flags by compiling
88020         test programs.
88021
88022 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88023
88024         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
88025
88026 2000-06-04  Jim Meyering  <meyering@lucent.com>
88027
88028         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
88029         SunOS 4.1.4 for which gid_t is an unsigned type.
88030
88031 2000-06-03  Jim Meyering  <meyering@lucent.com>
88032
88033         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
88034         now that autoconf requires that.
88035
88036         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
88037         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
88038         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
88039
88040 2000-06-03  Jim Meyering  <meyering@lucent.com>
88041
88042         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
88043
88044 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88045
88046         * m4/glibc21.m4: New file.
88047         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
88048
88049 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88050
88051         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
88052         newer, don't install charset.alias.
88053         * lib/config.charset: Change the Linux/glibc rules so they become empty
88054         on glibc-2.1 or newer.
88055
88056 2000-06-02  Jim Meyering  <meyering@lucent.com>
88057
88058         * lib/mountlist.c: Back out last change.  Instead, do this...
88059         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
88060         me_dummy member using the same `ignore'-testing code.
88061         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
88062         fs_type strings.
88063         From Mark D. Roth.
88064
88065 2000-05-29  Jim Meyering  <meyering@lucent.com>
88066
88067         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
88068         mounts with the `ignore' attribute.  Based on a patch from
88069         Mark D. Roth.
88070
88071 2000-05-28  Jim Meyering  <meyering@lucent.com>
88072
88073         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
88074         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88075         * m4/stat.m4: Likewise.
88076         * m4/lstat.m4: Likewise.
88077         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
88078
88079         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
88080         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
88081
88082 2000-05-26  Jim Meyering  <meyering@lucent.com>
88083
88084         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
88085
88086 2000-05-24  Jim Meyering  <meyering@lucent.com>
88087
88088         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
88089         autoconf requires that.
88090         * m4/lib-check.m4: Likewise.
88091         * m4/jm-macros.m4: Likewise.
88092         * m4/strftime.m4: Likewise.
88093
88094         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
88095         AC_CHECK_DECLS, now that autoconf requires that.
88096
88097 2000-05-22  Jim Meyering  <meyering@lucent.com>
88098
88099         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88100         * m4/lstat.m4: Likewise.
88101
88102 2000-05-22  Jim Meyering  <meyering@lucent.com>
88103
88104         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
88105
88106 2000-05-20  Jim Meyering  <meyering@lucent.com>
88107
88108         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
88109         (jm_PREREQ): Use it.
88110
88111 2000-05-18  Jim Meyering  <meyering@lucent.com>
88112
88113         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
88114         back, too, since it may have been modified by allocate_entry.
88115         (hash_delete): Rewrite to use neither the assignment operator
88116         nor the comma operator in an if-expression.
88117
88118 2000-05-15  Paul Eggert  <eggert@twinsun.com>
88119
88120         * lib/closeout.c:
88121         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
88122         Remove; no longer needed.
88123         "quotearg.h": Add include.
88124         (file_name): Do not bother to explicitly initialize to NULL; it's less
88125         efficient on some hosts.
88126         (close_stdout_status): Remove test as to whether stdout was already
88127         closed; it breaks for the case "echo x | sort >&-".
88128         Quote file name colons.
88129         Do not assume that _("write error") lacks format strings.
88130
88131 2000-05-15  Jim Meyering  <meyering@lucent.com>
88132
88133         * lib/version-etc.c (version_etc_copyright): Update the copyright
88134         string used in all --version output.
88135
88136 2000-05-14  Jim Meyering  <meyering@lucent.com>
88137
88138         * lib/closeout.c (close_stdout_set_file_name): New function.
88139         (close_stdout_status): Use new file-scoped global.
88140         Return right away if fstat says the stdout file descriptor is invalid.
88141         * lib/closeout.h (close_stdout_set_file_name): Declare.
88142
88143 2000-05-10  Jim Meyering  <meyering@lucent.com>
88144
88145         * lib/closeout.c [default_exit_status]: New file-scoped variable.
88146         (close_stdout_set_status): New function.
88147         * lib/closeout.h (close_stdout_set_status): Declare.
88148
88149 2000-05-09  Jim Meyering  <meyering@lucent.com>
88150
88151         * m4/gettext.m4: Rename this...
88152         * m4/libintl.m4: ...to this.
88153
88154 2000-05-08  Jim Meyering  <meyering@lucent.com>
88155
88156         * lib/long-options.c: Don't include closeout.h.
88157         (parse_long_options): Don't call close_stdout for --version.
88158
88159 2000-05-06  Paul Eggert  <eggert@twinsun.com>
88160
88161         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
88162         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
88163         2.1.3 bug.  This avoids a clash when files like regex.c define
88164         _GNU_SOURCE.
88165
88166 2000-05-06  Jim Meyering  <meyering@lucent.com>
88167
88168         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
88169         (AC_REPLACE_FUNCS): Add strnlen.
88170
88171         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
88172         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
88173
88174         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
88175         AC_SEARCH_LIBS call for nanosleep.
88176         (LIB_NANOSLEEP): Set and AC_SUBST.
88177
88178 2000-05-06  Jim Meyering  <meyering@lucent.com>
88179
88180         * lib/strnlen.c: Undefine __strnlen and strnlen.
88181         [!weak_alias]: Define __strnlen to strnlen.
88182
88183         * lib/atexit.c: New file, from libiberty.
88184
88185 2000-05-06  Jim Meyering  <meyering@lucent.com>
88186
88187         * lib/closeout.c (close_stdout_status): Also check for errors on the
88188         stderr stream.
88189
88190 2000-05-05  Jim Meyering  <meyering@lucent.com>
88191
88192         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
88193         AC_SEARCH_LIBS call for clock_gettime.
88194         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
88195
88196         * m4/search-libs.m4: Update from autoconf.
88197
88198         su doesn't work on Solaris 2.6.
88199         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
88200         <shadow.h>.  Reported by Dragos Harabor.
88201
88202 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
88203
88204         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
88205         memcpy instead of xmalloc, xrealloc, path_concat.
88206         (locale_charset): Treat empty environment variables as absent.
88207         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
88208
88209 2000-05-04  Jim Meyering  <meyering@lucent.com>
88210
88211         * lib/getopt.c: Update from glibc.
88212         * lib/obstack.c: Likewise.
88213         * lib/obstack.h: Likewise.
88214         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
88215         file
88216
88217         * lib/regex.h: Likewise.
88218         * lib/strndup.c: Likewise.
88219         * lib/strnlen.c: New file, from glibc.
88220
88221 2000-05-03  Jim Meyering  <meyering@lucent.com>
88222
88223         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
88224
88225 2000-05-02  Paul Eggert  <eggert@twinsun.com>
88226
88227         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
88228         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
88229         compile-time test, rather than inspecting host and OS, to
88230         decide whether to define _LARGEFILE_SOURCE.
88231
88232 2000-05-01  Jim Meyering  <meyering@lucent.com>
88233
88234         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
88235
88236         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
88237         Based on a patch from Bruno Haible.
88238
88239 2000-05-01  Jim Meyering  <meyering@lucent.com>
88240
88241         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
88242
88243 2000-04-29  Jim Meyering  <meyering@lucent.com>
88244
88245         * lib/path-concat.c: Declare strdup only if it's not defined.
88246         * lib/canon-host.c: Likewise.
88247
88248 2000-04-28  Jim Meyering  <meyering@lucent.com>
88249
88250         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
88251         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
88252         is included first, then limits.h is included by locale.h by libintl.h.
88253         From John David Anglin.
88254
88255 2000-04-25  Jim Meyering  <meyering@lucent.com>
88256
88257         * lib/makepath.c (S_IRWXUGO): Define.
88258         (make_path): Always perform explicit chmod if MODE specifies any
88259         of the `special' permission bits.  Prompted by a bug report against
88260         install from Mate Wierdl and Joost van Baal.
88261
88262 2000-04-18  Jim Meyering  <meyering@lucent.com>
88263
88264         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
88265         (jm_PREREQ): Use it.
88266
88267 2000-04-18  Jim Meyering  <meyering@lucent.com>
88268
88269         * lib/README: New file.
88270
88271         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
88272         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
88273
88274 2000-04-17  Jim Meyering  <meyering@lucent.com>
88275
88276         Get it right :-)
88277         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
88278         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
88279         Suggestion from Akim Demaille.
88280
88281 2000-04-17  Jim Meyering  <meyering@lucent.com>
88282
88283         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
88284         the definition of it to rpl_strftime also defined-away the system's
88285         declaration.
88286
88287 2000-04-15  Jim Meyering  <meyering@lucent.com>
88288
88289         Use `C' to denote so-called `contiguous' files, the same way
88290         that tar does.
88291         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
88292         (ftypelet): Use S_ISCTG.
88293         From Michael Deutschmann.
88294
88295 2000-04-14  Jim Meyering  <meyering@lucent.com>
88296
88297         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
88298         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
88299         clobbered.
88300
88301 2000-04-14  Jim Meyering  <meyering@lucent.com>
88302
88303         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
88304
88305 2000-04-13  Jim Meyering  <meyering@lucent.com>
88306
88307         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
88308         AH_VERBATIM to insert required #ifndef into config.h.in.
88309         Suggestion from Akim Demaille.
88310
88311 2000-04-12  Jim Meyering  <meyering@lucent.com>
88312
88313         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
88314         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
88315         Christian Krackowizer.
88316
88317         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
88318         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
88319         (AC_SYS_LARGEFILE): Require.
88320         (AM_C_PROTOTYPES): Require.
88321
88322 2000-04-08  Jim Meyering  <meyering@lucent.com>
88323
88324         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
88325         names don't conflict.  Reported by Eli Zaretskii.
88326
88327 2000-04-07  Jim Meyering  <meyering@lucent.com>
88328
88329         * lib/putenv.c: Move inclusion of errno.h so it follows that of
88330         sys/types.h, to work around system header problems on AIX 3.2.5.
88331         From Bruno Haible.
88332
88333 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
88334
88335         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
88336         bug.  Deal with the different error behavior of Irix iconv.
88337
88338 2000-04-05  Paul Eggert  <eggert@twinsun.com>
88339
88340         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
88341         IRIX if the installer said otherwise.
88342
88343 2000-04-05  Jim Meyering  <meyering@lucent.com>
88344
88345         Portability tweaks required for ultrix4.3.
88346         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
88347         (jm_CHECK_DECLS): Add getutent to the list of functions.
88348         (_jm_DECL_HEADERS): Add utmpx.h.
88349         From John David Anglin.
88350
88351         * m4/strftime.m4: Back out the 2000-04-02 change.
88352         Instead of that change, simply undefine putenv in the test program.
88353
88354 2000-04-05  Jim Meyering  <meyering@lucent.com>
88355
88356         Portability tweaks required for ultrix4.3.
88357         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
88358         getutent.
88359         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
88360         * lib/canon-host.c: Declare strdup.
88361         * lib/path-concat.c: Likewise.
88362         From John David Anglin.
88363
88364 2000-04-04  Jim Meyering  <meyering@lucent.com>
88365
88366         Be more DOS 8.3-friendly.
88367         * lib/ref-add.sin: Renamed from ref-add.sed.in.
88368         * lib/ref-del.sin: Renamed from ref-del.sed.in.
88369         * lib/Makefile.am: Reflect renaming.
88370         Reported by Eli Zaretskii.
88371
88372         Use a temporary file name that won't clash with `charset.alias'
88373         in the DOS 8.3 name space.
88374         * lib/Makefile.am (charset_tmp): Define.
88375         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
88376         (uninstall-local): Likewise.
88377         Reported by Eli Zaretskii.
88378
88379 2000-04-03  Jim Meyering  <meyering@lucent.com>
88380
88381         * m4/gettext.m4: Fix typo in comment.
88382
88383         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88384         textutils/configure.in).  Suggestion from Paul Eggert.
88385         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88386
88387 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88388
88389         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88390         variable in the shell rather than using putenv, which isn't
88391         portable.  This avoids the configure-time inter-test dependency
88392         on the potentially-renamed putenv function.
88393
88394 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88395
88396         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88397         before checking struct stat.st_blksize, so that
88398         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88399
88400 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88401
88402         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88403         since strftime.c uses HAVE_STRFTIME to decide whether to use
88404         the underlying strftime.
88405
88406 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88407
88408         * lib/time/strftime.c (my_strftime): Make sure we call the system
88409         strftime, not ourselves, when invoking the underlying strftime.
88410
88411 2000-03-24  Jim Meyering  <meyering@lucent.com>
88412
88413         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88414         (charset_alias): Define.
88415         (install-exec-local): Factor out common code.
88416         (uninstall-local): Split lines longer than 80.
88417         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88418         (SUFFIXES): Define.
88419         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88420         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88421
88422 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88423
88424         * lib/config.charset: Output a line containing "Packages using this
88425         file".
88426         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88427         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88428         ref-del.sed): New rules.
88429
88430 2000-03-17  Jim Meyering  <meyering@lucent.com>
88431
88432         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88433         Otherwise, include <strings.h>
88434
88435 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88436
88437         * lib/unicodeio.c (utf8_wctomb): New function.
88438         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88439         format instead of in UCS-4 with platform dependent endianness.
88440
88441 2000-03-10  Jim Meyering  <meyering@lucent.com>
88442
88443         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88444         From Marco Franzen.
88445
88446 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88447
88448         * lib/savedir.c (savedir): Work even if directory size is
88449         negative; this can happen with some screwy NFS configurations.
88450
88451 2000-03-06  Jim Meyering  <meyering@lucent.com>
88452
88453         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88454         if it's NULL (because we ran out of memory).  From Bruno Haible.
88455
88456 2000-03-05  Jim Meyering  <meyering@lucent.com>
88457
88458         * lib/localcharset.c ("path-concat.h"): Include.
88459         (get_charset_aliases): Use path_concat instead of ANSI string
88460         concatenation.
88461
88462         * lib/unicodeio.h (PARAMS): Define.
88463         Use it to guard prototype.
88464
88465 2000-03-04  Jim Meyering  <meyering@lucent.com>
88466
88467         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88468         for lib/localcharset.c.
88469
88470 2000-03-04  Jim Meyering  <meyering@lucent.com>
88471
88472         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88473         installing into it.
88474         (uninstall-local): Uncomment this rule so `make distcheck' works
88475         once again.
88476
88477         * lib/unicodeio.c (<errno.h>): Include it.
88478         (errno): Declare if not defined.
88479
88480         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88481
88482         * lib/config.charset: New version, incorporating remarks from a linux
88483         i18n mailing list.  From Bruno Haible.
88484
88485 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88486
88487         * m4/codeset.m4: New file.
88488         * m4/iconv.m4: New file.
88489         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88490
88491 2000-03-03  Jim Meyering  <meyering@lucent.com>
88492
88493         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88494
88495 2000-03-02  Jim Meyering  <meyering@lucent.com>
88496
88497         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88498         the messages come out on separate lines.
88499
88500         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88501         rather than jm_CHECK_DECLARATIONS.
88502         * m4/decl.m4: Remove now-unused file.
88503
88504         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88505         geteuid.
88506
88507 2000-03-02  Jim Meyering  <meyering@lucent.com>
88508
88509         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88510
88511 2000-03-01  Jim Meyering  <meyering@lucent.com>
88512
88513         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88514         * lib/unicodeio.c: Likewise.
88515
88516 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88517
88518         * lib/config.charset: New file.
88519         * lib/localcharset.c: New file.
88520         * lib/unicodeio.h, lib/unicodeio.c: New files.
88521         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88522         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88523         (noinst_HEADERS): Add unicodeio.h.
88524         (all-local, install-exec-local, charset.alias): New targets.
88525
88526 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88527
88528         * lib/quotearg.c (ALERT_CHAR): New macro.
88529         (quotearg_buffer_restyled): Use it.
88530
88531 2000-02-27  Jim Meyering  <meyering@lucent.com>
88532
88533         * m4/check-decl.m4: Add getenv to the list.
88534
88535 2000-02-27  Jim Meyering  <meyering@lucent.com>
88536
88537         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88538         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88539
88540         * lib/backupfile.c: Guard inclusion of stdlib.h with
88541         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88542         Declare malloc if needed.
88543
88544         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88545         `#ifndef HAVE_DECL..'
88546         now that autoconf always defines the HAVE_DECL_ symbols.
88547         * lib/human.c: Likewise.
88548         * lib/same.c: Likewise.
88549         * lib/strtoumax.c: Likewise.
88550
88551         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88552         declaration check was not run.
88553         * lib/hash.c: Likewise.
88554         * lib/human.c: Likewise.
88555         * lib/same.c: Likewise.
88556         * lib/strtoumax.c: Likewise.
88557
88558         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88559         `.', then first look up the entire `.'-containing string as a login
88560         name.
88561
88562 2000-02-23  Jim Meyering  <meyering@lucent.com>
88563
88564         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88565         in place of my hack.
88566
88567 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88568
88569         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88570         (textint): New typedef.
88571         (parser_control): Member year changed from int to textint.
88572         All uses changed.
88573         (YYSTYPE): Removed; replaced by %union with int and textint members.
88574         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88575         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88576         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88577         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88578         (date, number, to_year): Use width of number in digits, not its value,
88579         to determine whether it's a 2-digit year, or a 2-digit time.
88580         (yylex): Store number of digits of numeric tokens.
88581         Reported by John Kendall.
88582
88583         (parser_control): Changed from struct parser_control to typedef (for
88584         consistency).  All uses changed.
88585
88586         (tID): Removed; not used.
88587         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88588
88589 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88590
88591         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88592         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88593
88594 2000-02-12  Jim Meyering  <meyering@lucent.com>
88595
88596         * lib/userspec.c (ISDIGIT): Define it.
88597         (isdigit): Remove definition.
88598         (is_number): Use ISDIGIT, not isdigit.
88599         <libintl.h>: Include.
88600         (_ and N_): Define.
88601         (parse_user_spec): Mark translatable strings.
88602
88603 2000-02-10  Jim Meyering  <meyering@lucent.com>
88604
88605         With these changes, nanosleep.[ch] are finally enough like the other
88606         lib/* replacement files to compile on a few more losing systems.
88607
88608         * lib/nanosleep.h: Don't include config.h.
88609         Remove prototype from declaration of nanosleep.
88610         (PARAMS): Remove now-unneeded definition.
88611         * lib/nanosleep.c: #undef nanosleep.
88612         (rpl_nanosleep): Rename from nanosleep.
88613
88614 2000-02-10  Jim Meyering  <meyering@lucent.com>
88615
88616         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88617         gnu_nanosleep to rpl_nanosleep.
88618
88619 2000-02-09  Jim Meyering  <meyering@lucent.com>
88620
88621         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88622         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88623
88624 2000-02-08  Akim Demaille  <akim@epita.fr>
88625
88626         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88627         `[' and `]' and remove uses of `changequote'.
88628         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88629         (AC_SYS_LARGEFILE): Likewise.
88630         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88631         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88632         of changequote.
88633         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88634         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88635         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88636         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88637
88638 2000-02-05  Jim Meyering  <meyering@lucent.com>
88639
88640         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88641         Remove explicit use of AC_HEADER_TIME.  It is required by
88642         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88643         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88644         in autoconf whereby the expansion of the latter ended up preceding
88645         the expansion of its prerequisite, AC_HEADER_TIME.
88646         Reported by Volker Borchert.
88647
88648 2000-02-03  Jim Meyering  <meyering@lucent.com>
88649
88650         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88651
88652 2000-02-03  Jim Meyering  <meyering@lucent.com>
88653
88654         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88655         rather than with `#if HAVE_UTMPNAME'.
88656
88657 2000-02-02  Jim Meyering  <meyering@lucent.com>
88658
88659         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88660         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88661         Reported by Eli Zaretskii.
88662
88663 2000-02-01  Jim Meyering  <meyering@lucent.com>
88664
88665         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88666
88667 2000-01-31  Jim Meyering  <meyering@lucent.com>
88668
88669         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88670         functions.  Add the time.h and sys/time.h headers along with the
88671         AC_REQUIRE'ment of AC_HEADER_TIME.
88672
88673 2000-01-31  Jim Meyering  <meyering@lucent.com>
88674
88675         * lib/nanosleep.h (nanosleep): Guard declaration with
88676         `#if ! HAVE_DECL_NANOSLEEP'.
88677         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88678         the declaration in that vendor's sys/timers.h.
88679         Reported by Christian Krackowizer.
88680
88681         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88682         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88683         (ISPRINT): Likewise.
88684         Reported by Tom Tromey.
88685
88686 2000-01-30  Jim Meyering  <meyering@lucent.com>
88687
88688         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88689
88690         * m4/prereq.m4 (utmp_includes): Define.
88691         Check for ut_user and ut_name members in both struct utmpx
88692         and struct utmp.
88693
88694 2000-01-30  Jim Meyering  <meyering@lucent.com>
88695
88696         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88697         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88698         header files where only utmpx.ut_user is declared.
88699
88700         * lib/readutmp.h (UT_USER): Define.
88701
88702 2000-01-29  Jim Meyering  <meyering@lucent.com>
88703
88704         * m4/lib-check.m4: New file containing library-related checks from
88705         fileutils and sh-utils (textutils had none).
88706
88707 2000-01-28  Jim Meyering  <meyering@lucent.com>
88708
88709         * m4/perl.m4: Change format of warning message to look more like that
88710         from the missing script.  Suggestion from François Pinard.
88711
88712 2000-01-25  Jim Meyering  <meyering@lucent.com>
88713
88714         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88715         well as time.h in the compile check.
88716         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88717         Fix typo in cross-compiling case: s/yes/no/.
88718
88719 2000-01-23  Jim Meyering  <meyering@lucent.com>
88720
88721         * m4/jm-macros.m4: Move df-related tests here from
88722         fileutils/configure.in
88723
88724         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88725         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88726
88727         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88728         s/space/ac_fsusage_space/.
88729         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88730
88731         * m4/ftruncate.m4: New file (derived from part of
88732         fileutils/configure.in).
88733         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88734         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88735
88736         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88737         AC_SUBST these here, rather than just in sh-util/configure.in, so
88738         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88739         all the same.
88740         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88741         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88742         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88743         (AC_SUBST(POW_LIBM)): Likewise.
88744         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88745
88746 2000-01-23  Jim Meyering  <meyering@lucent.com>
88747
88748         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88749         obstack.c.
88750
88751 2000-01-22  Jim Meyering  <meyering@lucent.com>
88752
88753         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88754
88755         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88756
88757         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88758         configure.in
88759         (AC_CHECK_HEADERS): Likewise for sh-utils.
88760         (AC_CHECK_HEADERS): Likewise for textutils.
88761         Merge the three lists of headers.
88762
88763         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88764         from fileutils' configure.in.
88765
88766         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88767         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88768         check-decl.m4.
88769
88770         * m4/check-decl.m4: Use #if rather than #ifdef.
88771         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88772         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88773         (_jm_DECL_HEADERS): Define new function.
88774         (jm_CHECK_DECLARATIONS): Require it.
88775
88776 2000-01-22  Jim Meyering  <meyering@lucent.com>
88777
88778         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88779         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88780         Required for some AIX systems.  Reported by Christian Krackowizer.
88781         [TESTING] (main): New function.
88782
88783         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88784         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88785         letters.
88786
88787         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88788         iswprint.
88789
88790         * lib/strverscmp.c (ISDIGIT): Define.
88791         (strverscmp): Use ISDIGIT, not isdigit.
88792
88793 2000-01-19  Jim Meyering  <meyering@lucent.com>
88794
88795         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
88796         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
88797         defines `struct timespec' in <sys/time.h>
88798
88799         * m4/c-bs-a.m4: Remove uses of changequote altogether.
88800         Thanks to Akim for explaining.
88801
88802 2000-01-17  Paul Eggert  <eggert@twinsun.com>
88803
88804         * lib/nanosleep.c (nanosleep):
88805         Don't use SA_INTERRUPT to decide whether to call sigaction, as
88806         POSIX.1 doesn't require SA_INTERRUPT and some systems
88807         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
88808         it's been part of POSIX.1 since day 1 (in 1988).
88809
88810 2000-01-17  Jim Meyering  <meyering@lucent.com>
88811
88812         * lib/interlock: Remove unused file.  Reported by François Pinard.
88813
88814 2000-01-16  Paul Eggert  <eggert@twinsun.com>
88815
88816         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
88817         alert, backslash, formfeed, and vertical tab unnecessarily in
88818         shell quoting style.
88819
88820 2000-01-16  Jim Meyering  <meyering@lucent.com>
88821
88822         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
88823         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
88824         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
88825         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
88826
88827 2000-01-16  Jim Meyering  <meyering@lucent.com>
88828
88829         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
88830         because the latter didn't work.
88831
88832 2000-01-15  Jim Meyering  <meyering@lucent.com>
88833
88834         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
88835         (AC_REPLACE_FUNCS): Add memcpy and memset.
88836         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
88837         Add strpbrk.
88838         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
88839
88840 2000-01-12  Jim Meyering  <meyering@lucent.com>
88841
88842         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
88843         (jm_PREREQ): Use it.
88844         (jm_PREREQ_READUTMP): New macro.
88845         (jm_PREREQ): Use it.
88846
88847 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88848
88849         Quote multibyte characters correctly.
88850         * m4/c-bs-a.m4: New file.
88851         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
88852         (jm_PREREQ): Use it.
88853
88854 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88855
88856         * m4/uintmax_t.m4: Port to autoconf 2.13.
88857
88858 2000-01-08  Jim Meyering  <meyering@ascend.com>
88859
88860         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
88861         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
88862
88863 2000-01-04  Jim Meyering  <meyering@ascend.com>
88864
88865         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
88866         jm_STRUCT_DIRENT_D_TYPE.
88867         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
88868         jm_STRUCT_DIRENT_D_INO.
88869         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
88870         jm_STRUCT_UTIMBUF.
88871         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
88872         renamings.
88873         * m4/utime.m4: Likewise.
88874
88875         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
88876         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
88877
88878 2000-01-03  Paul Eggert  <eggert@twinsun.com>
88879
88880         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
88881         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
88882
88883 2000-01-02  Jim Meyering  <meyering@ascend.com>
88884
88885         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
88886         remember if this is necessary.
88887
88888 1999-12-26  Jim Meyering  <meyering@ascend.com>
88889
88890         * m4/jm-macros.m4: Use it here.
88891         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
88892
88893 1999-12-23  Jim Meyering  <meyering@ascend.com>
88894
88895         * m4/jm-macros.m4: Check for clock_gettime (moved from
88896         fileutils/configure.in)
88897         Check for gettimeofday.
88898
88899 1999-12-20  Jim Meyering  <meyering@ascend.com>
88900
88901         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
88902         autoconf-2.14a-1999-12-20.
88903
88904 1999-12-19  Jim Meyering  <meyering@ascend.com>
88905
88906         * m4/lstat-slash.m4: New file.
88907         * m4/jm-macros.m4: Use the new macro:
88908         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88909
88910 1999-12-07  Jim Meyering  <meyering@ascend.com>
88911
88912         * m4/perl.m4: Require that File::Compare be available, too.
88913         Too many systems seem to lack it.
88914
88915         * m4/strftime.m4: Add checks for most of the cpp macros tested in
88916         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
88917
88918 1999-11-18  Paul Eggert  <eggert@twinsun.com>
88919
88920         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
88921         problem with the QNX 4.25 shell, which doesn't propagate exit
88922         status of failed commands inside shell assignments.
88923
88924 1999-11-17  Jim Meyering  <meyering@ascend.com>
88925
88926         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
88927
88928 1999-11-07  Jim Meyering  <meyering@ascend.com>
88929
88930         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
88931
88932 1999-11-06  Jim Meyering  <meyering@ascend.com>
88933
88934         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
88935         * m4/jm-macros.m4 (jm_MACROS): Use it here.
88936
88937 1999-11-05  Jim Meyering  <meyering@ascend.com>
88938
88939         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
88940         configure.in of textutils, fileutils, and sh-utils into this one
88941         (shared between those packages) file.
88942         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
88943         AC_STRUCT_ST_BLKSIZE.
88944
88945 1999-11-03  Jim Meyering  <meyering@ascend.com>
88946
88947         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
88948         of AC_CHECK_TYPE checks includes unistd.h.
88949         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
88950         Suggestion from Akim Demaille.
88951
88952 1999-10-30  Jim Meyering  <meyering@ascend.com>
88953
88954         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
88955         m4-quoted string.
88956         * m4/ls-mntd-fs.m4: Likewise.
88957         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
88958         * m4/jm-winsz1.m4: Likewise.
88959
88960         * m4/const.m4: Remove file, since the fix made it into the experimental
88961         version of autoconf.
88962         * m4/mktime.m4: Likewise.
88963
88964         * m4/check-type.m4: Remove file, now that the latest version of
88965         AC_CHECK_TYPE takes a third arg to specify additional #includes.
88966
88967         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
88968         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
88969         AC_CHECK_TYPE.
88970
88971 1999-10-04  Jim Meyering  <meyering@ascend.com>
88972
88973         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
88974
88975 1999-09-22  Paul Eggert  <eggert@twinsun.com>
88976
88977         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
88978         2.95.1 bug with HP-UX 10.20.
88979
88980 1999-09-17  Jim Meyering  <meyering@ascend.com>
88981
88982         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
88983         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
88984         due to missing strdup (against sh-utils-2.0).
88985
88986 1999-08-29  Jim Meyering  <meyering@ascend.com>
88987
88988         * m4/jm-macros.m4: Require jm_BISON.
88989         * m4/bison.m4: New file.
88990
88991 1999-08-17  Paul Eggert  <eggert@twinsun.com>
88992
88993         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
88994         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
88995
88996 1999-08-05  Jim Meyering  <meyering@ascend.com>
88997
88998         * m4/getline.m4: Rename test file from conftestdata to conftest.data
88999         to avoid conflicts with `conftest' on 8+3 filesystems.
89000         Suggestion from Eli Zaretskii.
89001
89002 1999-08-04  Jim Meyering  <meyering@ascend.com>
89003
89004         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
89005         fileutils and sh-utils (textutils's getline test was inadequate).
89006         (AM_FUNC_GETLINE): Run this test.
89007         (AC_CHECK_FUNCS): Check for getdelim.
89008         Reported by Bob Proulx.
89009
89010 1999-08-02  Jim Meyering  <meyering@ascend.com>
89011
89012         * m4/jm-macros.m4: Add a comment.
89013
89014 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89015
89016         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
89017         <inttypes.h> defines strtoumax as a macro (and not as a
89018         function).
89019
89020 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89021
89022         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
89023         that we can shift, multiply and divide unsigned long long
89024         values; Ultrix cc can't do it.
89025
89026 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89027
89028         * m4/mktime.m4: New file, which is a preview of what should appear
89029         in the next public autoconf release.
89030
89031 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89032
89033         * m4/lfs.m4: Remove this file.
89034         * m4/largefile.m4: New file.  It contains the old contents of
89035         lfs.m4, except that all names with prefix AC_LFS have been
89036         changed to use the prefix AC_SYS_LARGEFILE instead, to be
89037         compatible with future autoconf versions.  Also, some minor m4
89038         quoting problems have been fixed.
89039
89040 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89041
89042         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
89043         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
89044         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
89045         and simplify the shell code.
89046
89047 1999-08-01  Jim Meyering  <meyering@ascend.com>
89048
89049         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
89050         m4.
89051
89052 1999-07-20  Jim Meyering  <meyering@ascend.com>
89053
89054         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
89055
89056 1999-07-15  Jim Meyering  <meyering@ascend.com>
89057
89058         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
89059
89060 1999-05-22  Jim Meyering  <meyering@ascend.com>
89061
89062         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
89063
89064 1999-05-20  Jim Meyering  <meyering@ascend.com>
89065
89066         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
89067         Add a colon after each `then' in case $4 is empty.
89068
89069 1999-05-16  Jim Meyering  <meyering@ascend.com>
89070
89071         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
89072
89073 1999-05-10  Jim Meyering  <meyering@ascend.com>
89074
89075         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
89076
89077         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
89078         AC_FUNC_MKTIME.
89079
89080 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
89081
89082         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
89083
89084 1999-05-04  Paul Eggert  <eggert@twinsun.com>
89085
89086         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
89087         not CPPFLAGS, so that linking works correctly in IRIX.
89088
89089 1999-04-30  Paul Eggert  <eggert@twinsun.com>
89090
89091         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
89092
89093 1999-04-20  Paul Eggert  <eggert@twinsun.com>
89094
89095         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
89096         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
89097         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
89098         jm_AC_TYPE_UNSIGNED_LONG_LONG.
89099         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
89100
89101         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
89102
89103 1999-04-20  Jim Meyering  <meyering@ascend.com>
89104
89105         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
89106         AC_REPLACE xstroull if necessary.  From Paul Eggert.
89107         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
89108
89109 1999-04-18  Jim Meyering  <meyering@ascend.com>
89110
89111         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
89112         * m4/jm-macros.m4: Use it.
89113
89114 1999-04-06  Jim Meyering  <meyering@ascend.com>
89115
89116         * m4/strftime.m4: Remove test for %f.
89117
89118 1999-03-29  Jim Meyering  <meyering@ascend.com>
89119
89120         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
89121         superset of the AC_TYPE_* checks in the textutils, fileutils,
89122         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
89123         AC_TYPE_PID_T.
89124
89125 1999-03-28  Jim Meyering  <meyering@ascend.com>
89126
89127         * m4/jm-macros.m4: Define GNU_PACKAGE here.
89128         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
89129         replaced e.g., in the *.sh files of the sh-utils.
89130
89131 1999-03-20  Jim Meyering  <meyering@ascend.com>
89132
89133         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
89134         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
89135         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
89136
89137 1999-03-19  Jim Meyering  <meyering@ascend.com>
89138
89139         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
89140
89141 1999-03-12  Jim Meyering  <meyering@ascend.com>
89142
89143         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
89144
89145 1999-03-07  Jim Meyering  <meyering@ascend.com>
89146
89147         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
89148         declared.
89149
89150 1999-02-17  Jim Meyering  <meyering@ascend.com>
89151
89152         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
89153         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
89154
89155 1999-02-07  Jim Meyering  <meyering@ascend.com>
89156
89157         * m4/group-member.m4: New file -- extracted from sh-utils'
89158         configure.in.
89159
89160         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
89161         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
89162
89163 1999-02-06  Jim Meyering  <meyering@ascend.com>
89164
89165         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
89166         * m4/fnmatch.m4: Likewise.
89167         * m4/getgroups.m4: Likewise.
89168         * m4/lstat.m4: Likewise.
89169         * m4/malloc.m4: Likewise.
89170         * m4/putenv.m4: Likewise.
89171         * m4/realloc.m4: Likewise.
89172         * m4/regex.m4: Likewise.
89173         * m4/stat.m4: Likewise.
89174         * m4/strftime.m4: Likewise.
89175         Suggestion from Alain Magloire.
89176
89177         * m4/chown.m4: Use `.$ac_objext', not `.o'.
89178         * m4/fnmatch.m4: Likewise.
89179         * m4/getgroups.m4: Likewise.
89180         * m4/getline.m4: Likewise.
89181         * m4/lstat.m4: Likewise.
89182         * m4/malloc.m4: Likewise.
89183         * m4/memcmp.m4: Likewise.
89184         * m4/putenv.m4: Likewise.
89185         * m4/realloc.m4: Likewise.
89186         * m4/regex.m4: Likewise.
89187         * m4/stat.m4: Likewise.
89188         * m4/strftime.m4: Likewise.
89189         Suggestion from Alain Magloire.
89190
89191         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
89192         an argument.
89193
89194         * m4/regex.m4: Add a run-time Test for proper operation of
89195         re_compile_pattern.
89196
89197 1999-01-31  Jim Meyering  <meyering@ascend.com>
89198
89199         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
89200
89201 1999-01-30  Jim Meyering  <meyering@ascend.com>
89202
89203         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
89204
89205         * m4/jm-mktime.m4: Make this a wrapper around the official
89206         AM_FUNC_MKTIME rather than my private copy, now that the official one
89207         is up to date.
89208         * m4/mktime.m4: Remove file.
89209
89210         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
89211         * m4/uptime.m4: Likewise.
89212         * m4/uintmax_t.m4: Likewise.
89213
89214 1999-01-28  Jim Meyering  <meyering@ascend.com>
89215
89216         * m4/jm-macros.m4: Use jm_AFS.
89217         * m4/afs.m4: New file (from fileutils' configure.in).
89218
89219         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
89220         * m4/chown.m4: Likewise.
89221         * m4/d-ino.m4: Likewise.
89222         * m4/d-type.m4: Likewise.
89223         * m4/fnmatch.m4: Likewise.
89224         * m4/getgroups.m4: Likewise.
89225         * m4/gettext.m4: Likewise.
89226         * m4/jm-mktime.m4: Likewise.
89227         * m4/jm-winsz2.m4: Likewise.
89228         * m4/lcmessage.m4: Likewise.
89229         * m4/ls-mntd-fs.m4: Likewise.
89230         * m4/malloc.m4: Likewise.
89231         * m4/memcmp.m4: Likewise.
89232         * m4/putenv.m4: Likewise.
89233         * m4/realloc.m4: Likewise.
89234         * m4/st_mtim.m4: Likewise.
89235         * m4/strftime.m4: Likewise.
89236
89237 1999-01-16  Jim Meyering  <meyering@ascend.com>
89238
89239         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
89240         (ARGMATCH_DIE_DECL): Define.
89241
89242 1999-01-12  Jim Meyering  <meyering@ascend.com>
89243
89244         * m4/Makefile.am.in: Rewrite to avoid using fmt.
89245         Reported by Lars Hecking.
89246
89247 1999-01-10  Jim Meyering  <meyering@ascend.com>
89248
89249         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
89250         gross kludge.
89251         * m4/inttypes_h.m4: Likewise.
89252         * m4/lstat.m4: Likewise.
89253         * m4/malloc.m4: Likewise.
89254         * m4/readdir.m4: Likewise.
89255         * m4/realloc.m4: Likewise.
89256         * m4/st_dm_mode.m4: Likewise.
89257         * m4/stat.m4: Likewise.
89258         * m4/utimbuf.m4: Likewise.
89259         * m4/utimes.m4: Likewise.
89260
89261         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
89262         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
89263         comments in config.h.in are meaningful.
89264
89265         * m4/jm-macros.m4: Require autoconf-2.13 here.
89266
89267         * m4/regex.m4: By default, don't use the included regex.c on systems
89268         with glibc 2.  Suggestion from Uli Drepper.
89269
89270 1999-01-02  Jim Meyering  <meyering@ascend.com>
89271
89272         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
89273
89274 1998-12-18  Jim Meyering  <meyering@ascend.com>
89275
89276         * m4/Makefile.am.in (Makefile.am): Simplify rule.
89277         Based on a suggestion from Lars Hecking.
89278
89279 1998-11-16  Paul Eggert  <eggert@twinsun.com>
89280
89281         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
89282
89283 1998-11-16  Jim Meyering  <meyering@ascend.com>
89284
89285         * m4/lfs.m4: Double-quote the `uname...` expression.
89286
89287 1998-11-14  Jim Meyering  <meyering@ascend.com>
89288
89289         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
89290         * m4/stat.m4: Likewise.
89291
89292 1998-11-03  Jim Meyering  <meyering@ascend.com>
89293
89294         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
89295         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
89296
89297 1998-10-18  Jim Meyering  <meyering@ascend.com>
89298
89299         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
89300
89301 1998-10-17  Jim Meyering  <meyering@ascend.com>
89302
89303         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
89304         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
89305         calls for those previously hard-coded headers.  Instead, take a new
89306         parameter.
89307         (jm_CHECK_DECLARATIONS): Reflect interface change.
89308         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
89309         (jm_CHECK_DECL_LOCALTIME_R): New macro.
89310
89311         * m4/mktime.m4: Test for spring-forward gap before long-running test.
89312
89313 1998-10-14  Jim Meyering  <meyering@ascend.com>
89314
89315         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
89316         instead of "TZ=America/Vancouver".  From Paul Eggert.
89317
89318 1998-10-11  Jim Meyering  <meyering@ascend.com>
89319
89320         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
89321         This adds a test for a recently added compatibility fix for mktime.c.
89322         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
89323
89324 1998-09-27  Jim Meyering  <meyering@ascend.com>
89325
89326         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
89327
89328         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
89329         ../configure.in, including a change from Gordon Matzigkeit to allow
89330         cross-compiling for the Hurd.
89331
89332         * m4/glibc.m4: New file/macro to test for the GNU C Library
89333         versions 1 and 2.  From Gordon Matzigkeit.
89334         Indent.
89335
89336 1998-09-21  Jim Meyering  <meyering@ascend.com>
89337
89338         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
89339
89340 1998-08-18  Paul Eggert  <eggert@twinsun.com>
89341
89342         Port nanosecond-resolution times to UnixWare 2.1.2 and
89343         pedantic Solaris 2.6.
89344
89345         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
89346         AC_STRUCT_ST_MTIM.
89347         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
89348         Generate name of ns member, instead of just 1 or undef.
89349         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
89350
89351 1998-08-15  Jim Meyering  <meyering@ascend.com>
89352
89353         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
89354         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
89355         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
89356         instead of jm_TYPE_SSIZE_T.
89357
89358 1998-08-12  Jim Meyering  <meyering@ascend.com>
89359
89360         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
89361
89362 1998-08-02  Jim Meyering  <meyering@ascend.com>
89363
89364         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
89365         in acconfig.h manually.
89366
89367 1998-07-31  Paul Eggert  <eggert@twinsun.com>
89368
89369         * m4/st_mtim.m4: New file.
89370
89371 1998-07-28  Jim Meyering  <meyering@ascend.com>
89372
89373         * m4/utimes.m4: Undef stat.
89374
89375 1998-07-25  Jim Meyering  <meyering@ascend.com>
89376
89377         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
89378         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
89379
89380 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89381
89382         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89383         uid and gid actually remain unchanged.
89384
89385 1998-07-07  Jim Meyering  <meyering@ascend.com>
89386
89387         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89388
89389 1998-07-04  Jim Meyering  <meyering@ascend.com>
89390
89391         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89392         to prove that this macro can be used in packages without regex.c.
89393
89394 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89395
89396         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89397         is to be used.
89398
89399 1998-07-03  Jim Meyering  <meyering@ascend.com>
89400
89401         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89402
89403         * m4/gettext.m4: New file -- from gettext-0.10.35.
89404         * m4/lcmessage.m4: Likewise.
89405         * m4/progtest.m4: Likewise.
89406
89407         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89408         * m4/jm-macros.m4: Require the new macro.
89409
89410 1998-06-29  Jim Meyering  <meyering@ascend.com>
89411
89412         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89413         for the definition of NGROUPS (used in a system header included
89414         by sys/mount.h).
89415
89416 1998-06-28  Jim Meyering  <meyering@ascend.com>
89417
89418         * m4/ls-mntd-fs.m4: New file.
89419         * m4/fstypename.m4: New file.
89420
89421         * m4/jm-macros.m4: Require the new macro.
89422         * m4/jm-glibc-io.m4: New file.
89423
89424 1998-05-19  Jim Meyering  <meyering@ascend.com>
89425
89426         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89427         * m4/lchown.m4: New file.
89428
89429         * m4/Makefile.am.in: New file.
89430         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89431
89432 1998-05-14  Jim Meyering  <meyering@ascend.com>
89433
89434         * m4/Makefile.am (EXTRA_DIST): Add them.
89435         * m4/jm-macros.m4: New file.
89436         * m4/utimbuf.m4: New file.
89437
89438 1998-05-12  Jim Meyering  <meyering@ascend.com>
89439
89440         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89441
89442 1998-05-11  Jim Meyering  <meyering@ascend.com>
89443
89444         * m4/isc-posix.m4: New file.
89445
89446 1998-05-10  Jim Meyering  <meyering@ascend.com>
89447
89448         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89449
89450 1998-05-09  Jim Meyering  <meyering@ascend.com>
89451
89452         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89453         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89454         with automake.
89455
89456         * m4/ssize_t.m4: New file.
89457         * m4/mktime.m4: Remove file -- the new automake has this now.
89458
89459 1998-04-26  Jim Meyering  <meyering@ascend.com>
89460
89461         * m4/assert.m4: New file.
89462         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89463
89464 1998-04-05  Jim Meyering  <meyering@ascend.com>
89465
89466         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89467         (jm_PREREQ): Use it here.
89468
89469 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89470
89471         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89472         in acconfig.h.
89473
89474 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89475
89476         * m4/prereq.m4: New file.
89477         * m4/error.m4: New file.
89478         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89479
89480 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89481
89482         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89483         cache-check for the same variable -- that defeated the purpose of
89484         the test; the test program was never run.  This was a problem only
89485         on systems with losing getline functions -- HP-UX 10.20 is one.
89486         Reported by Bjorn Helgaas.
89487
89488 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89489
89490         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89491
89492 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89493
89494         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89495
89496         * m4/const.m4: New file.  Use an initializer in this declaration
89497         typedef int charset[2]; const charset x;
89498         Reported by Bob Glickstein.
89499
89500 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89501
89502         * m4/chown.m4: Fix reversed types on -1 args to chown.
89503         From Kaveh Ghazi.
89504
89505 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89506
89507         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89508         Add lseek and memchr.
89509
89510         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89511         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89512         have a 20-character limit on names.
89513
89514 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89515
89516         * m4/inttypes_h.m4: New file.
89517         * m4/uintmax_t.m4: New file.
89518         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89519
89520
89521         -----
89522
89523         Local Variables:
89524         coding: utf-8
89525         End:
89526
89527         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89528
89529         Copying and distribution of this file, with or without
89530         modification, are permitted provided the copyright notice
89531         and this notice are preserved.